@alexkroman1/aai-ui 0.14.0 → 0.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{a as e,i as t,t as n}from"./index-DPfmSFmc.js";var r={echoCancellation:!0,noiseSuppression:!1,autoGainControl:!1,voiceIsolation:!1};function i(e,t,n){if(e!==t)throw Error(`Browser refused the ${n} sample rate: asked for ${t} Hz, got ${e} Hz`)}function a(e){let t=Error(`Audio ${e} worklet crashed`);return console.error(`[aai-ui]`,t.message),t}function o(e){e.then(e=>{for(let t of e.getTracks())t.stop()}).catch(()=>{})}function s(e,t,n){let r=new AudioWorkletNode(e,`capture-processor`,{channelCount:1,channelCountMode:`explicit`}),i=null;return r.port.onmessage=e=>{let r=e.data;r.event===`chunk`&&r.buffer?t(r.buffer):r.event===`silent`?n?.():r.event===`stopped`&&(i?.(),i=null)},{node:r,start(){r.port.postMessage({event:`start`})},stop(){let{promise:e,resolve:t}=Promise.withResolvers(),n=setTimeout(t,250);return i=()=>{clearTimeout(n),t()},r.port.postMessage({event:`stop`}),e}}}async function c(e){let{sampleRate:t,captureWorkletSrc:n,maxSeconds:a}=e,c=new AudioContext({sampleRate:t,latencyHint:`interactive`}),l=navigator.mediaDevices.getUserMedia({audio:{deviceId:{ideal:`default`},...r}}),u;try{[u]=await Promise.all([l,c.resume(),c.audioWorklet.addModule(n)]),i(c.sampleRate,t,`capture`)}catch(e){throw o(l),await c.close().catch(()=>{}),e}let d=Math.round(t*a)*2,f=[],p=0,m=!1,h=null,g=c.createMediaStreamSource(u),_=s(c,e=>{if(h){h.onChunk(e);return}for(f.push(e),p+=e.byteLength;p>d&&f.length>1;)p-=f.shift()?.byteLength??0},()=>{h?h.onSilent?.():m=!0});g.connect(_.node),_.start();let v=()=>{let e=f;return f=[],p=0,e},y=!1,b=async()=>{y||(y=!0,g.disconnect(),_.node.disconnect(),await c.close().catch(e=>{console.warn(`AudioContext close failed:`,e)}))};return{sampleRate:t,stream:u,ctx:c,handOff(e){h=e;let t=v();return t.length>0&&e.onBuffered(t),m&&e.onSilent?.(),{mic:g,capture:_}},async detach(){return await _.stop(),await b(),{chunks:v(),sampleRate:t}},async close(){y||await _.stop();for(let e of u.getTracks())e.stop();await b()}}}function l(e){let t=new Int16Array(e.length);for(let n=0;n<e.length;n++){let r=Math.max(-1,Math.min(1,e[n]??0));t[n]=r<0?r*32768:r*32767}return t.buffer}async function u(e,t,r){let i=e.reduce((e,t)=>e+t.byteLength/2,0);if(i===0)return[];if(t===r)return e;try{let a=Math.round(i*r/t),o=new OfflineAudioContext(1,a,r),s=o.createBuffer(1,i,t),c=s.getChannelData(0),u=0;for(let t of e)for(let e of new Int16Array(t))c[u++]=e/32768;let d=o.createBufferSource();d.buffer=s,d.connect(o.destination),d.start();let f=(await o.startRendering()).getChannelData(0),p=Math.max(1,Math.round(r*n)),m=[];for(let e=0;e<f.length;e+=p)m.push(l(f.subarray(e,e+p)));return m}catch(e){return console.warn(`[aai-ui] pre-connect audio dropped: resample failed`,e),[]}}async function d(e,t,n){let r=e.createMediaStreamSource(t),i=s(e,n.onMicData,n.onMicSilent);if(r.connect(i.node),n.buffered){let{chunks:t,sampleRate:r}=n.buffered,i=await u(t,r,e.sampleRate);i.length>0&&n.onBuffered(i)}return i.start(),{mic:r,capture:i}}async function f(n){let{sttSampleRate:s,ttsSampleRate:c,captureWorkletSrc:l,playbackWorkletSrc:u,onMicData:f,onError:p,onPlaybackStats:m,onPlaybackProgress:h,onMicSilent:g,preConnect:_}=n,v=n.onPreConnectAudio??(e=>{for(let t of e)f(t)}),y=_?.sampleRate===s?_:null,b=_&&!y?await _.detach():null,x=new AudioContext({sampleRate:c,latencyHint:`playback`}),S=!y&&s===c,C=y?.ctx??(S?x:new AudioContext({sampleRate:s,latencyHint:`interactive`}));async function w(){let e=S?[x]:[x,C];await Promise.all(e.map(e=>e.close().catch(e=>{console.warn(`AudioContext close failed:`,e)})))}let T=_?Promise.resolve(_.stream):navigator.mediaDevices.getUserMedia({audio:{deviceId:{ideal:`default`},...r}}),E;try{[E]=await Promise.all([T,x.resume(),C.resume(),y?void 0:C.audioWorklet.addModule(l),x.audioWorklet.addModule(u)]),i(C.sampleRate,s,`capture`),i(x.sampleRate,c,`playback`)}catch(e){throw o(T),await w(),e}let{mic:D,capture:O}=y?y.handOff({onBuffered:v,onChunk:f,onSilent:g}):await d(C,E,{onMicData:f,onMicSilent:g,buffered:b,onBuffered:v});O.node.onprocessorerror=()=>p?.(a(`capture`));let k=null,A=0,j=null,M=new AbortController;function N(){let e=j;j=null,e?.settle()}function P(e){e.stats&&e.stats.concealedSamples>0&&m?.(e.stats),e.reason!==`interrupt`&&(j===null||e.turn===j.turn)&&N()}function F(){if(k)return k;let e=new AudioWorkletNode(x,`playback-processor`);return e.connect(x.destination),e.port.onmessage=e=>{e.data.event===`stop`?P(e.data):e.data.event===`progress`&&h?.(e.data.bufferedMs)},e.onprocessorerror=()=>{let e=a(`playback`);N(),p?.(e)},k=e,e}let I={enqueue(e){M.signal.aborted||e.byteLength!==0&&F().port.postMessage({event:`write`,buffer:new Uint8Array(e)},[e])},done(){if(!k)return Promise.resolve();let n=++A;if(k.port.postMessage({event:`done`,turn:n}),x.state!==`running`)return N(),Promise.resolve();let{promise:r,resolve:i}=Promise.withResolvers();N();let a=()=>{clearInterval(o),clearTimeout(s),j?.settle===a&&(j=null),i()},o=setInterval(()=>{x.state!==`running`&&a()},e),s=setTimeout(a,t);return j={turn:n,settle:a},r},flush(){k&&(N(),k.port.postMessage({event:`interrupt`}))},async close(){if(!M.signal.aborted){M.abort(),await O.stop(),D.disconnect(),O.node.disconnect(),k&&k.disconnect();for(let e of E.getTracks())e.stop();await w()}},async[Symbol.asyncDispose](){await I.close()}};return I}export{f as createVoiceIO,c as openPreConnectCapture};
1
+ import{a as e,i as t,t as n}from"./index-DdRGAZxZ.js";var r={echoCancellation:!0,noiseSuppression:!1,autoGainControl:!1,voiceIsolation:!1};function i(e,t,n){if(e!==t)throw Error(`Browser refused the ${n} sample rate: asked for ${t} Hz, got ${e} Hz`)}function a(e){let t=Error(`Audio ${e} worklet crashed`);return console.error(`[aai-ui]`,t.message),t}function o(e){e.then(e=>{for(let t of e.getTracks())t.stop()}).catch(()=>{})}function s(e,t,n){let r=new AudioWorkletNode(e,`capture-processor`,{channelCount:1,channelCountMode:`explicit`}),i=null;return r.port.onmessage=e=>{let r=e.data;r.event===`chunk`&&r.buffer?t(r.buffer):r.event===`silent`?n?.():r.event===`stopped`&&(i?.(),i=null)},{node:r,start(){r.port.postMessage({event:`start`})},stop(){let{promise:e,resolve:t}=Promise.withResolvers(),n=setTimeout(t,250);return i=()=>{clearTimeout(n),t()},r.port.postMessage({event:`stop`}),e}}}async function c(e){let{sampleRate:t,captureWorkletSrc:n,maxSeconds:a}=e,c=new AudioContext({sampleRate:t,latencyHint:`interactive`}),l=navigator.mediaDevices.getUserMedia({audio:{deviceId:{ideal:`default`},...r}}),u;try{[u]=await Promise.all([l,c.resume(),c.audioWorklet.addModule(n)]),i(c.sampleRate,t,`capture`)}catch(e){throw o(l),await c.close().catch(()=>{}),e}let d=Math.round(t*a)*2,f=[],p=0,m=!1,h=null,g=c.createMediaStreamSource(u),_=s(c,e=>{if(h){h.onChunk(e);return}for(f.push(e),p+=e.byteLength;p>d&&f.length>1;)p-=f.shift()?.byteLength??0},()=>{h?h.onSilent?.():m=!0});g.connect(_.node),_.start();let v=()=>{let e=f;return f=[],p=0,e},y=!1,b=async()=>{y||(y=!0,g.disconnect(),_.node.disconnect(),await c.close().catch(e=>{console.warn(`AudioContext close failed:`,e)}))};return{sampleRate:t,stream:u,ctx:c,handOff(e){h=e;let t=v();return t.length>0&&e.onBuffered(t),m&&e.onSilent?.(),{mic:g,capture:_}},async detach(){return await _.stop(),await b(),{chunks:v(),sampleRate:t}},async close(){y||await _.stop();for(let e of u.getTracks())e.stop();await b()}}}function l(e){let t=new Int16Array(e.length);for(let n=0;n<e.length;n++){let r=Math.max(-1,Math.min(1,e[n]??0));t[n]=r<0?r*32768:r*32767}return t.buffer}async function u(e,t,r){let i=e.reduce((e,t)=>e+t.byteLength/2,0);if(i===0)return[];if(t===r)return e;try{let a=Math.round(i*r/t),o=new OfflineAudioContext(1,a,r),s=o.createBuffer(1,i,t),c=s.getChannelData(0),u=0;for(let t of e)for(let e of new Int16Array(t))c[u++]=e/32768;let d=o.createBufferSource();d.buffer=s,d.connect(o.destination),d.start();let f=(await o.startRendering()).getChannelData(0),p=Math.max(1,Math.round(r*n)),m=[];for(let e=0;e<f.length;e+=p)m.push(l(f.subarray(e,e+p)));return m}catch(e){return console.warn(`[aai-ui] pre-connect audio dropped: resample failed`,e),[]}}async function d(e,t,n){let r=e.createMediaStreamSource(t),i=s(e,n.onMicData,n.onMicSilent);if(r.connect(i.node),n.buffered){let{chunks:t,sampleRate:r}=n.buffered,i=await u(t,r,e.sampleRate);i.length>0&&n.onBuffered(i)}return i.start(),{mic:r,capture:i}}async function f(n){let{sttSampleRate:s,ttsSampleRate:c,captureWorkletSrc:l,playbackWorkletSrc:u,onMicData:f,onError:p,onPlaybackStats:m,onPlaybackProgress:h,onMicSilent:g,preConnect:_}=n,v=n.onPreConnectAudio??(e=>{for(let t of e)f(t)}),y=_?.sampleRate===s?_:null,b=_&&!y?await _.detach():null,x=new AudioContext({sampleRate:c,latencyHint:`playback`}),S=!y&&s===c,C=y?.ctx??(S?x:new AudioContext({sampleRate:s,latencyHint:`interactive`}));async function w(){let e=S?[x]:[x,C];await Promise.all(e.map(e=>e.close().catch(e=>{console.warn(`AudioContext close failed:`,e)})))}let T=_?Promise.resolve(_.stream):navigator.mediaDevices.getUserMedia({audio:{deviceId:{ideal:`default`},...r}}),E;try{[E]=await Promise.all([T,x.resume(),C.resume(),y?void 0:C.audioWorklet.addModule(l),x.audioWorklet.addModule(u)]),i(C.sampleRate,s,`capture`),i(x.sampleRate,c,`playback`)}catch(e){throw o(T),await w(),e}let{mic:D,capture:O}=y?y.handOff({onBuffered:v,onChunk:f,onSilent:g}):await d(C,E,{onMicData:f,onMicSilent:g,buffered:b,onBuffered:v});O.node.onprocessorerror=()=>p?.(a(`capture`));let k=null,A=0,j=null,M=new AbortController;function N(){let e=j;j=null,e?.settle()}function P(e){e.stats&&e.stats.concealedSamples>0&&m?.(e.stats),e.reason!==`interrupt`&&(j===null||e.turn===j.turn)&&N()}function F(){if(k)return k;let e=new AudioWorkletNode(x,`playback-processor`);return e.connect(x.destination),e.port.onmessage=e=>{e.data.event===`stop`?P(e.data):e.data.event===`progress`&&h?.(e.data.bufferedMs)},e.onprocessorerror=()=>{let e=a(`playback`);N(),p?.(e)},k=e,e}let I={enqueue(e){M.signal.aborted||e.byteLength!==0&&F().port.postMessage({event:`write`,buffer:new Uint8Array(e)},[e])},done(){if(!k)return Promise.resolve();let n=++A;if(k.port.postMessage({event:`done`,turn:n}),x.state!==`running`)return N(),Promise.resolve();let{promise:r,resolve:i}=Promise.withResolvers();N();let a=()=>{clearInterval(o),clearTimeout(s),j?.settle===a&&(j=null),i()},o=setInterval(()=>{x.state!==`running`&&a()},e),s=setTimeout(a,t);return j={turn:n,settle:a},r},flush(){k&&(N(),k.port.postMessage({event:`interrupt`}))},async close(){if(!M.signal.aborted){M.abort(),await O.stop(),D.disconnect(),O.node.disconnect(),k&&k.disconnect();for(let e of E.getTracks())e.stop();await w()}},async[Symbol.asyncDispose](){await I.close()}};return I}export{f as createVoiceIO,c as openPreConnectCapture};
@@ -1,4 +1,4 @@
1
- import{n as e,t}from"./index-DPfmSFmc.js";import{t as n}from"./_module-url-BX0RuRU2.js";var r=`
1
+ import{n as e,t}from"./index-DdRGAZxZ.js";import{t as n}from"./_module-url-BX0RuRU2.js";var r=`
2
2
  class CaptureProcessor extends AudioWorkletProcessor {
3
3
  constructor(options) {
4
4
  super();
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./capture-processor-D0q7Qrdd.js","./_module-url-BX0RuRU2.js","./playback-processor-CjDbc9iH.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./capture-processor-X_vJUkv4.js","./_module-url-BX0RuRU2.js","./playback-processor-DdO-2G6m.js"])))=>i.map(i=>d[i]);
2
2
  var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,o)=>(o=n==null?{}:e(i(n)),c(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var u=.1,d=1500,f=.001,p=1e3,m=65e3,h=1048576,g=1e4,_=2e3,v=15e3,y=/^[A-Za-z0-9_-]{1,64}$/,b=16e3,x=1e5,ee=1e4,S=192e3;function C(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function w(e){let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=r);return t}function T(e){try{return JSON.parse(e)}catch{}}var te=200,E=`…`;function ne(e){return e.length<=te?e:`${e.slice(0,te)}${E}`}function re(e,t,n){let r=n===void 0?`${e}`:`${n} ${e}`;return t?`${r}: ${ne(t)}`:r}async function ie(e,t){let n=await e.text().catch(()=>``),r=T(n);if(r===void 0)throw Error(re(e.status,n,t));return r}var ae={brands:{clientTool:`@alexkroman1/aai.clientTool`,clientToolCall:`@alexkroman1/aai.clientTool.call`,routeResponse:`@alexkroman1/aai.routeResponse`,routeError:`@alexkroman1/aai.routeError`,stepError:`@alexkroman1/aai.stepError`,keylessSynthesizer:`@alexkroman1/aai.speechSynthesizer.keyless`},slots:{channelOutbox:`@alexkroman1/aai.channelOutbox`,clientEventFeed:`@alexkroman1/aai-runtime.clientEventFeed`,clientInboxDefaults:`@alexkroman1/aai.clientInboxDefaults`,clientTranscriptReader:`@alexkroman1/aai.clientTranscriptReader`,metricsSinks:`@alexkroman1/aai-runtime.metricsSinks`,runtimeInstances:`@alexkroman1/aai-runtime.instances`,sessionCalls:`@alexkroman1/aai.sessionCalls`,sessionClients:`@alexkroman1/aai.sessionClients`,sessionEnders:`@alexkroman1/aai.sessionEnders`,sessionLocations:`@alexkroman1/aai.sessionLocations`,sessionPhones:`@alexkroman1/aai.sessionPhones`,speechSynthesizer:`@alexkroman1/aai.speechSynthesizer`,stepDelegate:`@alexkroman1/aai.stepDelegate`,stepEnv:`@alexkroman1/aai.stepEnv`,stepFetch:`@alexkroman1/aai.stepFetch`,stepInfoReader:`@alexkroman1/aai.stepInfoReader`,stepMcp:`@alexkroman1/aai.stepMcp`,stepNotifyClient:`@alexkroman1/aai.stepNotifyClient`,stepReporter:`@alexkroman1/aai.stepReporter`,stepWebhookUrl:`@alexkroman1/aai.stepWebhookUrl`,uploadReader:`@alexkroman1/aai.uploadReader`}};function oe(e){let t=Symbol.for(ae.slots[e]);return{get:()=>Reflect.get(globalThis,t),set:e=>{e===void 0?Reflect.deleteProperty(globalThis,t):Reflect.set(globalThis,t,e)}}}function se(e){return typeof e.get==`function`}function ce(e){let t=(se(e)?e:e.headers).get(`retry-after`)?.trim();if(!t)return;if(/^\d+$/.test(t)){let e=Number(t);return Number.isFinite(e)?new Date(Date.now()+e*1e3):void 0}let n=Date.parse(t);if(!Number.isNaN(n))return n>Date.now()?new Date(n):void 0}var le=4;function ue(e){return de(e,[],0)}function de(e,t,n){return e.map(e=>fe(e,t,n)).join(`; `)}function fe(e,t,n){let r=[...t,...e.path??[]],i=r.map(e=>String(C(e)?e.key:e)).join(`.`);if(n<le){let t=pe(e);if(t)return[...new Set(t.map(e=>de(e,r,n+1)))].join(` or `);let a=me(e);if(a){let t=de(a,[],n+1),r=t?`${e.message} — ${t}`:e.message;return i?`${i}: ${r}`:r}}return i?`${i}: ${e.message}`:e.message}function pe(e){if(!Array.isArray(e.errors))return;let t=e.errors,n=[];for(let e of t){if(!Array.isArray(e))continue;let t=e.filter(he);t.length>0&&n.push(t)}return n.length>0?n:void 0}function me(e){if(!Array.isArray(e.issues))return;let t=e.issues.filter(he);return t.length>0?t:void 0}function he(e){return C(e)&&typeof e.message==`string`}var ge=[`B`,`KB`,`MB`,`GB`,`TB`],_e=1024;function ve(e){let t=Number.isFinite(e)?Math.max(0,e):0,n=0;for(;t>=_e&&n<ge.length-1;)t/=_e,n+=1;let r=ye(t,n);return Number.parseFloat(r)>=_e&&n<ge.length-1&&(n+=1,r=ye(t/_e,n)),`${r} ${ge[n]}`}function ye(e,t){return t<=1?String(Math.round(e)):e.toFixed(1)}function be(e){return xe(e,new Set)??De(e)}var D=new Set([`fetch failed`,`failed to fetch`]),O=`Unknown error`;function xe(e,t){if(C(e)){if(t.has(e))return;t.add(e)}let n=ke(e);if(n!==void 0)return ue(n);let r=Ce(e,t);if(r!==void 0)return r;let i=Se(e);if(i!==void 0&&!D.has(i.toLowerCase()))return i;let a=Te(e,t);return a===void 0?i:i===void 0||a.includes(i)?a:`${i}: ${a}`}function Se(e){if(!C(e)||typeof e.message!=`string`)return;let t=e.message.trim();return t===``?void 0:t}function Ce(e,t){if(!C(e)||typeof e.statusCode!=`number`||!Number.isFinite(e.statusCode))return;let n=Ee(e.url),r=`HTTP ${e.statusCode}${n===void 0?``:` from ${n}`}`,i=Se(e)??we(e.responseBody)??we(e.data)??Te(e,t);return i===void 0?r:`${i} (${r})`}function we(e){if(typeof e==`string`){let t=e.trim();return t===``?void 0:we(T(t))??ne(t)}if(C(e))for(let t of[e.error,e.message,e.detail]){let e=typeof t==`string`?t.trim():Se(t)??``;if(e!==``)return e}}function Te(e,t){if(!C(e))return;if(e.cause!==void 0&&e.cause!==null){let n=xe(e.cause,t);if(n!==void 0)return n}if(!Array.isArray(e.errors))return;let n=e.errors.map(e=>xe(e,t)).filter(e=>e!==void 0);return n.length===0?void 0:n.join(`; `)}function Ee(e){if(typeof e==`string`&&e!==``)try{return new URL(e).host||void 0}catch{return}}function De(e){if(C(e)&&typeof e.name==`string`&&e.name.trim()!==``)return`${e.name.trim()} (no message)`;let t=Oe(e);return t===``||t===`[object Object]`?O:t}function Oe(e){try{return String(e).trim()}catch{return``}}function ke(e){if(!(C(e)&&Array.isArray(e.issues))||e.issues.length===0)return;let t=e.issues;return t.every(e=>C(e)&&typeof e.message==`string`)?t:void 0}async function Ae(e,t){let n=await e.text().catch(()=>``),r=T(n);if(C(r)){let{error:e}=r;if(typeof e==`string`&&e!==``)return e}return re(e.status,n,t)}function je(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function Me(e,t=`|`){return e.map(e=>rt(e)).join(t)}function Ne(e,t){return typeof t==`bigint`?t.toString():t}var Pe=class{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;return e!==void 0&&(this._value=e(),this._getter=void 0),this._value}};function Fe(e){return new Pe(e)}function Ie(e){return e==null}function Le(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function Re(e,t){let n=e/t,r=Math.round(n),i=4*2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}function ze(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Be(e){let t=Object.getOwnPropertyDescriptor(e,`shape`);return t?.get?t.get.raw:t?.value}function Ve(e){return Be(e._zod.def)??e._zod.def.shape}function He(e,t,n){Object.defineProperty(e,t,{get(){let e=n();return ze(this,t,e),e},enumerable:!0,configurable:!0})}function Ue(e,t,n){t in e?ze(e,t,n):e[t]=n}function We(e,t,n,r){let i=Ve(t);for(let a of n){let n=Object.getOwnPropertyDescriptor(i,a);n.enumerable&&(n.get?He(e,a,()=>{let e=t._zod.def.shape[a];return r?r(e,a):e}):Ue(e,a,r?r(n.value,a):n.value))}}function Ge(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?He(e,n,()=>t[n]):Ue(e,n,r.value))}}function Ke(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function qe(e){return JSON.stringify(e)}function Je(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var Ye=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function Xe(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var Ze=Fe(()=>{if(Wt.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function Qe(e){if(Xe(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return Xe(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function $e(e){return Qe(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var et=new Set([`string`,`number`,`symbol`]);function tt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function nt(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function k(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function rt(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function it(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}var at={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},ot={int64:[BigInt(`-9223372036854775808`),BigInt(`9223372036854775807`)],uint64:[BigInt(0),BigInt(`18446744073709551615`)]};function st(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);let i={};return We(i,e,ct(e,t)),nt(e,Ke(n,{shape:i,checks:[]}))}function ct(e,t){let n=Ve(e),r=[];for(let e of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(n,e)?.enumerable)throw Error(`Unrecognized key: "${String(e)}"`);t[e]&&r.push(e)}return r}function lt(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);let i=new Set(ct(e,t)),a={};return We(a,e,Reflect.ownKeys(Ve(e)).filter(e=>!i.has(e))),nt(e,Ke(n,{shape:a,checks:[]}))}function ut(e,t){if(!Qe(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=Ve(e);for(let e of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return nt(e,Ke(e._zod.def,{shape:dt(e,t)}))}function dt(e,t){let n={};return We(n,e,Reflect.ownKeys(Ve(e))),Ge(n,t),n}function ft(e,t){if(!Qe(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return nt(e,Ke(e._zod.def,{shape:dt(e,t)}))}function pt(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);let n={};return We(n,e,Reflect.ownKeys(Ve(e))),We(n,t,Reflect.ownKeys(Ve(t))),nt(e,Ke(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function mt(e,t,n,r=`partial`){let i=t._zod.def.checks;if(i&&i.length>0)throw Error(`.${r}() cannot be used on object schemas containing refinements`);let a=n?new Set(ct(t,n)):void 0,o={};return We(o,t,Reflect.ownKeys(Ve(t)),e&&((t,n)=>a&&!a.has(n)?t:new e({type:`optional`,innerType:t}))),nt(t,Ke(t._zod.def,{shape:o,checks:[]}))}function ht(e,t,n){let r=n?new Set(ct(t,n)):void 0,i={};return We(i,t,Reflect.ownKeys(Ve(t)),(t,n)=>r&&!r.has(n)?t:new e({type:`nonoptional`,innerType:t})),nt(t,Ke(t._zod.def,{shape:i}))}function gt(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function _t(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function vt(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function yt(e){return typeof e==`string`?e:e?.message}function bt(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function xt(e,t,n){var r;let i=e.inst?._zod?.traits;i?.has(`$ZodType`)&&(i.has(`$ZodCheck`)?(r=e).schema??(r.schema=e.inst):e.schema=e.inst);let a=e.schema===e.inst?void 0:e.schema?._zod.def?.error,o=e.message?e.message:yt(e.inst?._zod.def?.error?.(e))??yt(a?.(e))??yt(t?.error?.(e))??yt(n.customError?.(e))??yt(n.localeError?.(e))??`Invalid input`,s={};for(let t of Object.keys(e))t!==`inst`&&t!==`schema`&&t!==`continue`&&t!==`input`&&t!==`__proto__`&&(s[t]=e[t]);return s.path??=[],s.message=o,t?.reportInput&&(s.input=e.input),s}var St=/[\uD800-\uDBFF]/;function Ct(e){let t=e.length;if(!St.test(e))return t;let n=t;for(let r=0;r<t-1;r++)(e.charCodeAt(r)&64512)==55296&&(e.charCodeAt(r+1)&64512)==56320&&(n--,r++);return n}function wt(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function Tt(e){let t=typeof e;switch(t){case`number`:return Number.isNaN(e)?`nan`:`number`;case`object`:{if(e===null)return`null`;if(Array.isArray(e))return`array`;let t=e;if(t&&Object.getPrototypeOf(t)!==Object.prototype&&`constructor`in t&&t.constructor)return t.constructor.name}}return t}function Et(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}function Dt(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):At(e,n,r.value)}}function A(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function Ot(e,t,n){return A(e,t,n,!1)}function kt(e,t){for(let n in e){let r=e[n];Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get(){return A(this,n,r(this))},set(e){A(this,n,e)}})}return t}function At(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:A(this,t,n.bind(this))},set(e){A(this,t,e)}})}function jt(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}var Mt,Nt=!1,Pt={configurable:!0,get(){Nt=!0}};function j(e,t,n){let r=Object.getPrototypeOf(e._zod);if(t in r&&Mt!==e._zod){Mt=void 0;return}Mt=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,Pt);let e=Nt;Nt=!1;try{let r=n(this);return Nt?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),Nt||=e,r}catch(n){throw delete this[t],Nt||=e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})}function Ft(e,t,n,r){let i=jt(e,t);i&&Object.defineProperty(i,t,{configurable:!0,get(){let e={configurable:!0,writable:!0,enumerable:r,value:void 0};return Object.defineProperty(this,t,e),e.value=n(this),Object.defineProperty(this,t,e),e.value},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:r,value:e})}})}var It=`~constantCatch`;function Lt(e){let t=()=>e;return t[It]=!0,t}var Rt,zt={value:void 0,enumerable:!1},Bt=`captureStackTrace`in Error?Error:null;function Vt(e){let t=Bt;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return Bt=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function M(e,t,n,r){let i={};function a(e){this.def=e,this.constr=d,this.traits=new Set}a.prototype=i;let o=n,s=o&&new WeakSet;function c(n,r){if(!n._zod){zt.value=new a(r);try{Object.defineProperty(n,"_zod",zt)}finally{zt.value=void 0}}else if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,r),s){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;s.has(i)||(s.add(i),Dt(i,o))}let i=d.prototype;for(let e in i)Object.prototype.hasOwnProperty.call(i,e)&&(e in n||(n[e]=i[e].bind(n)))}let l=r?.Parent??Object;class u extends l{}Object.defineProperty(u,"name",{value:e});function d(e){let t=r?.Parent?Vt(u):this;c(t,e);let n=t._zod.deferred;if(n){for(let e of n)e();t._zod.deferred=void 0}let i=globalThis.__zod_globalConfig?.postProcessor;return i&&i(t),t}return Object.defineProperty(d,"init",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:t=>r?.Parent&&t instanceof r.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(d,"name",{value:e}),d}var Ht=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},Ut=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(Rt=globalThis).__zod_globalConfig??(Rt.__zod_globalConfig={});var Wt=globalThis.__zod_globalConfig;function Gt(e){return e&&Object.assign(Wt,e),Wt}function Kt(){let e=this._zod;return e.message??=JSON.stringify(e.def,Ne,2),e.message}function qt(e){this._zod.message=e}var Jt={get:Kt,set:qt,enumerable:!0,configurable:!0},N={value:void 0,enumerable:!1},Yt=new WeakSet([Object.prototype,Error.prototype]),Xt=(e,t)=>{e.name=`$ZodError`,N.value=t,Object.defineProperty(e,"issues",N),N.value=void 0,Object.defineProperty(e,"message",Jt);let n=Object.getPrototypeOf(e);Yt.has(n)||(Yt.add(n),Object.defineProperty(n,"toString",{configurable:!0,enumerable:!1,get(){let e=()=>this.message;return Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0})}}))},Zt=M(`$ZodError`,Xt);M(`$ZodError`,Xt,void 0,{Parent:Error});function Qt(e,t,n){return Object.prototype.hasOwnProperty.call(e,t)||(t===`__proto__`?Object.defineProperty(e,t,{value:n(),writable:!0,enumerable:!0,configurable:!0}):e[t]=n()),e[t]}function $t(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?Qt(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function en(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i<e.length;){let n=e[i],o=i===e.length-1;if(n===`_errors`){o&&r._errors.push(t(a)),i++;continue}Object.prototype.hasOwnProperty.call(r,n)||Object.defineProperty(r,n,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let s=r[n];o&&s._errors.push(t(a)),r=s,i++}}}};return r(e),n}function tn(e,t){return{callee:t?.callee??e,Err:t?.Err}}var nn=e=>{let t=(n,r,i,a)=>{let o=i?{...i,async:!1}:{async:!1},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new Ht;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>xt(e,o,Gt())));throw Ye(n,a?.callee??t),n}return s.value};return t},rn=e=>{let t=async(n,r,i,a)=>{let o=i?{...i,async:!0}:{async:!0},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>xt(e,o,Gt())));throw Ye(n,a?.callee??t),n}return s.value};return t},an=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new Ht;return a.issues.length?on(e,a.issues,i):{success:!0,data:a.value}};function on(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(e=>xt(e,n,Gt()))),t=void 0,n=void 0),r},set error(e){r=e,t=void 0,n=void 0}}}var sn=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?on(e,a.issues,i):{success:!0,data:a.value}},cn=Symbol.for(`zod.compile.invalid`),ln=Symbol.for(`zod.compile.fallback`),un=((e,t,n)=>{let r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==cn)return!0;if(r.definite===!0&&n===void 0)return!1}return dn(e,t,n)});function dn(e,t,n){let r=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},i=e._zod.bag.fallbackRun,a;if(i?(r[ln]=!0,a=i({value:t,issues:[]},r)):a=e._zod.run({value:t,issues:[]},r),a instanceof Promise)throw new Ht;return a.issues.length===0}var fn=async(e,t,n)=>{let r=n?{...n,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},i=e._zod.run({value:t,issues:[]},r);return i instanceof Promise&&(i=await i),i.issues.length===0},pn=e=>{let t=nn(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,tn(n,a))};return n},mn=e=>{let t=nn(e),n=(e,r,i,a)=>t(e,r,i,tn(n,a));return n},hn=e=>{let t=rn(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,tn(n,a))};return n},gn=e=>{let t=rn(e),n=async(e,r,i,a)=>await t(e,r,i,tn(n,a));return n},_n=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return an(e)(t,n,i)},vn=e=>(t,n,r)=>an(e)(t,n,r),yn=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return sn(e)(t,n,i)},bn=e=>async(t,n,r)=>sn(e)(t,n,r),xn=/^[cC][0-9a-z]{6,}$/,Sn=/^[0-9a-z]+$/,Cn=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,wn=/^[0-9a-vA-V]{20}$/,Tn=/^[A-Za-z0-9]{27}$/,En=/^[a-zA-Z0-9_-]{21}$/;function Dn(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var On=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,kn=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,An=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,jn=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Mn=`^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`;function Nn(){return new RegExp(Mn,`u`)}var Pn=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Fn=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,In=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Ln=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Rn=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,zn=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,Bn=/^https?$/,Vn=/^\+[1-9]\d{6,14}$/,Hn=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`;function Un(e){return RegExp(`^${e}$`)}var Wn=Un(Hn);function Gn(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Kn(e){return RegExp(`^${Gn(e)}$`)}function qn(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let n=`${Gn({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${Gn({precision:e.precision})}`:n;return RegExp(`^${Hn}T(?:${r})$`)}var Jn=/^[\s\S]{0,}$/,Yn=/^-?\d+$/,Xn=/^-?\d+(?:\.\d+)?$/,Zn=/^(?:true|false)$/i,Qn=/^null$/i,$n=/^[^A-Z]*$/,er=/^[^a-z]*$/,tr=M(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),nr=e=>{let t=e.value;return!Ie(t)&&t.length!==void 0},rr={number:`number`,bigint:`bigint`,object:`date`},ir=M(`$ZodCheckLessThan`,(e,t)=>{tr.init(e,t);let n=rr[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:rr[typeof r.value]??n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),ar=M(`$ZodCheckGreaterThan`,(e,t)=>{tr.init(e,t);let n=rr[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:rr[typeof r.value]??n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),or=M(`$ZodCheckMultipleOf`,(e,t)=>{tr.init(e,t),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?t.value!==BigInt(0)&&n.value%t.value===BigInt(0):Re(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),sr=M(`$ZodCheckNumberFormat`,(e,t)=>{tr.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=at[t.format];e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),cr=M(`$ZodCheckMaxLength`,(e,t)=>{var n;tr.init(e,t),(n=e._zod.def).when??(n.when=nr),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?Ct(r):i)<=t.maximum)return;let a=wt(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),lr=M(`$ZodCheckMinLength`,(e,t)=>{var n;tr.init(e,t),(n=e._zod.def).when??(n.when=nr),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i<t.minimum*2?Ct(r):i)>=t.minimum)return;let a=wt(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),ur=M(`$ZodCheckLengthEquals`,(e,t)=>{var n;tr.init(e,t),(n=e._zod.def).when??(n.when=nr),e._zod.check=n=>{let r=n.value,i=r.length,a=typeof r==`string`&&i>=t.length&&i<=t.length*2?Ct(r):i;if(a===t.length)return;let o=wt(r),s=a>t.length;n.issues.push({origin:o,...s?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),dr=M(`$ZodCheckStringFormat`,(e,t)=>{var n,r;tr.init(e,t),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),fr=M(`$ZodCheckRegex`,(e,t)=>{dr.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),pr=M(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=$n,dr.init(e,t)}),mr=M(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=er,dr.init(e,t)}),hr=M(`$ZodCheckIncludes`,(e,t)=>{tr.init(e,t);let n=tt(t.includes);t.pattern=new RegExp(typeof t.position==`number`?`^.{${t.position},}${n}`:n),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),gr=M(`$ZodCheckStartsWith`,(e,t)=>{tr.init(e,t);let n=RegExp(`^${tt(t.prefix)}.*`);t.pattern??=n,e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),_r=M(`$ZodCheckEndsWith`,(e,t)=>{tr.init(e,t);let n=RegExp(`.*${tt(t.suffix)}$`);t.pattern??=n,e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),vr=M(`$ZodCheckOverwrite`,(e,t)=>{tr.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),yr=class{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1;try{e(this)}finally{--this.indent}}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
3
3
  `).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.content??[``];return new e(...Object.keys(this.closed),`return function (${this.args.join(`, `)}) {\n${t.join(`
4
4
  `)}\n};`)(...Object.values(this.closed))}},br={major:4,minor:6,patch:5},xr=M(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=br;let r=e._zod.def.checks,i=e._zod.traits.has(`$ZodCheck`)?[e,...r??[]]:r?.length?[...r]:[];for(let t of i)for(let n of t._zod.onattach)n(e);if(i.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(t,n,r)=>{if(t.memo)return t;let i=gt(t),a;for(let o of n){if(o._zod.def.when){if(_t(t)||!o._zod.def.when(t))continue}else if(i)continue;let n=t.issues.length,s=o._zod.check(t);if(s instanceof Promise&&r?.async===!1)throw new Ht;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&(bt(t.issues,n,e),i||=gt(t,n))});else{if(t.issues.length===n)continue;bt(t.issues,n,e),i||=gt(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if(gt(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new Ht;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(r,a)=>{if(a.skipChecks)return e._zod.parse(r,a);if(a.direction===`backward`){let t=e._zod.parse({value:r.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,r,a)):n(t,r,a)}let o=e._zod.parse(r,a);if(o instanceof Promise){if(a.async===!1)throw new Ht;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get"~standard"(){return Ot(this,`~standard`,wr(this))},set"~standard"(e){A(this,`~standard`,e)}}),Sr=(e,t)=>e.issues.length?{issues:e.issues.map(e=>xt(e,t,Gt()))}:{value:e.value};async function Cr(e,t){let n={async:!0};return Sr(await e._zod.run({value:t,issues:[]},n),n)}function wr(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return Sr(r,n)}catch{}return Cr(e,t)},vendor:`zod`,version:1}}var Tr=M(`$ZodString`,(e,t)=>{xr.init(e,t),e._zod.pattern=t.pattern??Jn,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),Er=M(`$ZodStringFormat`,(e,t)=>{dr.init(e,t),Tr.init(e,t)}),Dr=M(`$ZodGUID`,(e,t)=>{t.pattern??=kn,Er.init(e,t)}),Or=M(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=An(e)}else t.pattern??=An();Er.init(e,t)}),kr=M(`$ZodEmail`,(e,t)=>{t.pattern??=jn,Er.init(e,t)});function Ar(e){try{return typeof URL<`u`&&typeof URL.canParse==`function`?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function jr(e,t){return!(`normalize`in t)&&!(`hostname`in t)&&!(`protocol`in t)?Ar(e)||2:Mr(e,t)}function Mr(e,t){if(!t.normalize&&t.protocol?.source===Bn.source&&!/^https?:\/\//i.test(e))return 1;try{if(typeof URL<`u`){let t=URL;if(typeof t.parse==`function`)return t.parse(e)??2}return new URL(e)}catch{return 2}}var Nr=/[\t\n\r]/g;function Pr(e){return e.replace(Nr,``)}function Fr(e,t){return t.lastIndex=0,t.test(e.hostname)}function Ir(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(`:`)?e.protocol.slice(0,-1):e.protocol)}var Lr=M(`$ZodURL`,(e,t)=>{Er.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=jr(r,t);if(i===1){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}if(i===2){n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort});return}if(i===!0){n.value=Pr(r);return}t.hostname&&!Fr(i,t.hostname)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort}),t.protocol&&!Ir(i,t.protocol)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort}),n.value=t.normalize?i.href:Pr(r);return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),Rr=M(`$ZodEmoji`,(e,t)=>{t.pattern??=Nn(),Er.init(e,t)}),zr=M(`$ZodNanoID`,(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw Error(`Invalid nanoid length: ${t.length}`);t.pattern??=t.length===void 0?En:Dn(t.length),Er.init(e,t)}),Br=M(`$ZodCUID`,(e,t)=>{t.pattern??=xn,Er.init(e,t)}),Vr=M(`$ZodCUID2`,(e,t)=>{t.pattern??=Sn,Er.init(e,t)}),Hr=M(`$ZodULID`,(e,t)=>{t.pattern??=Cn,Er.init(e,t)}),Ur=M(`$ZodXID`,(e,t)=>{t.pattern??=wn,Er.init(e,t)}),Wr=M(`$ZodKSUID`,(e,t)=>{t.pattern??=Tn,Er.init(e,t)}),Gr=M(`$ZodISODateTime`,(e,t)=>{t.pattern??=qn(t),Er.init(e,t)}),Kr=M(`$ZodISODate`,(e,t)=>{t.pattern??=Wn,Er.init(e,t)}),qr=M(`$ZodISOTime`,(e,t)=>{t.pattern??=Kn(t),Er.init(e,t)}),Jr=M(`$ZodISODuration`,(e,t)=>{t.pattern??=On,Er.init(e,t)}),Yr=M(`$ZodIPv4`,(e,t)=>{t.pattern??=Pn,Er.init(e,t)}),Xr=/^[0-9a-fA-F:.]+$/;function Zr(e){return Xr.test(e)?Ar(`http://[${e}]`):!1}var Qr=M(`$ZodIPv6`,(e,t)=>{t.pattern??=Fn,Er.init(e,t),e._zod.check=n=>{Zr(n.value)||n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}),$r=M(`$ZodCIDRv4`,(e,t)=>{t.pattern??=In,Er.init(e,t)});function ei(e){let t=e.split(`/`);if(t.length!==2)return!1;let[n,r]=t;if(!r)return!1;let i=Number(r);return`${i}`!==r||i<0||i>128?!1:Zr(n)}var ti=M(`$ZodCIDRv6`,(e,t)=>{t.pattern??=Ln,Er.init(e,t),e._zod.check=n=>{ei(n.value)||n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}});function ni(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var ri=/^[0-9a-zA-Z+/]*={0,2}$/,ii=M(`$ZodBase64`,(e,t)=>{t.pattern??=ri,Er.init(e,t),e._zod.check=n=>{ni(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}}),ai=/^[A-Za-z0-9_-]*$/;function oi(e){if(!ai.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return ni(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var si=M(`$ZodBase64URL`,(e,t)=>{t.pattern??=ai,Er.init(e,t),e._zod.check=n=>{oi(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),ci=M(`$ZodE164`,(e,t)=>{t.pattern??=Vn,Er.init(e,t)});function li(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var ui=M(`$ZodJWT`,(e,t)=>{Er.init(e,t),e._zod.check=n=>{li(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),di=M(`$ZodNumber`,(e,t)=>{xr.init(e,t),e._zod.pattern=Xn,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:String(i):void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),fi=M(`$ZodNumberFormat`,(e,t)=>{sr.init(e,t),di.init(e,t)}),pi=M(`$ZodBoolean`,(e,t)=>{xr.init(e,t),e._zod.pattern=Zn,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),mi=M(`$ZodNull`,(e,t)=>{xr.init(e,t),e._zod.pattern=Qn,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{let r=t.value;return r===null||t.issues.push({expected:`null`,code:`invalid_type`,input:r,inst:e}),t}}),hi=M(`$ZodUnknown`,(e,t)=>{xr.init(e,t),e._zod.parse=e=>e}),gi=M(`$ZodNever`,(e,t)=>{xr.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function _i(e,t,n){e.issues.length&&t.issues.push(...vt(n,e.issues)),t.value[n]=e.value}var vi=M(`$ZodArray`,(e,t)=>{xr.init(e,t);let n=Wt.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({expected:`array`,code:`invalid_type`,input:a,inst:e}),r;r.value=n?n.alloc(e,r,Array(a.length),i):Array(a.length);let o=[],s=i?.abortEarly;for(let e=0;e<a.length;e++){let n=a[e],c=t.element._zod.run({value:n,issues:[]},i);if(c instanceof Promise)o.push(c.then(t=>_i(t,r,e)));else if(_i(c,r,e),s&&c.issues.length!==0&&gt(c))break}return o.length?Promise.all(o).then(()=>r):r}});function yi(e,t,n,r,i,a){let o=n in r,s=a===`optional`;if(o||!s||i!==`optional`){if(e.issues.length){if(i!==void 0&&s&&!o)return;t.issues.push(...vt(n,e.issues))}if(!o&&i===void 0){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?(o||i===`defaulted`&&!s)&&(t.value[n]=void 0):t.value[n]=e.value}}var bi=[];function xi(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:bi,i=r.length?[...t,...r]:t;for(let t of i)if(!e.shape?.[t]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${String(t)}": expected a Zod schema`);let a=it(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function Si(e,t,n,r,i,a,o){let s=[],c=i.keySet,l=i.catchall._zod,u=l.def.type,d=l.optin,f=l.optout,p=0;for(let i in t){if(o&&n.issues.length!==p){if(gt(n,p))break;p=n.issues.length}if(c.has(i))continue;if(i===`__proto__`){u===`never`&&s.push(i);continue}if(u===`never`){s.push(i);continue}let a=l.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>yi(e,n,i,t,d,f))):yi(a,n,i,t,d,f)}return s.length&&n.issues.push({code:`unrecognized_keys`,keys:s,input:t,inst:a,continue:!0}),e.length?Promise.all(e).then(()=>n):n}var Ci=M(`$ZodObject`,(e,t)=>{xr.init(e,t);let n=Object.getOwnPropertyDescriptor(t,`shape`),r=n?.get?n.get.raw:t.shape??{};if(r){let e=()=>{let n={...r};return Object.defineProperty(t,"shape",{value:n}),e.raw=n,n};e.raw=r,Object.defineProperty(t,"shape",{get:e})}let i=Fe(()=>xi(t));j(e,`propValues`,e=>{let t=e.def.shape,n={};for(let e in t){let r=t[e]._zod;if(r.values){Object.prototype.hasOwnProperty.call(n,e)||ze(n,e,new Set);for(let t of r.values)n[e].add(t);r.optin!==void 0&&n[e].add(void 0)}}return n});let a=Xe,o=t.catchall,s,c=Wt.memoizer;c?.attach(e),e._zod.parse=(t,n)=>{s??=i.value;let r=t.value;if(!a(r))return t.issues.push({expected:`object`,code:`invalid_type`,input:r,inst:e}),t;t.value=c?c.alloc(e,t,{},n):{};let l=[],u=s.shape,d=n?.abortEarly,f=t.issues.length;for(let e of s.allKeys){if(d&&t.issues.length!==f){if(gt(t,f))break;f=t.issues.length}if(e===`__proto__`)continue;let i=u[e],a=i._zod.optin,o=i._zod.optout,s=i._zod.run({value:r[e],issues:[]},n);s instanceof Promise?l.push(s.then(n=>yi(n,t,e,r,a,o))):yi(s,t,e,r,a,o)}return o?Si(l,r,t,n,i.value,e,d===!0):l.length?Promise.all(l).then(()=>t):t}}),wi=M(`$ZodObjectJIT`,(e,t)=>{Ci.init(e,t);let n=e._zod.parse,r=Fe(()=>xi(t)),i=Wt.memoizer,a=t=>{let n=r.value,a=n.symbolKeys,o=new yr([`payload`,`ctx`],{shape:t,inst:e,memo:i,syms:a}),s=e=>`shape[${e}]._zod.run({ value: input[${e}], issues: [] }, ctx)`,c=(e,t)=>`
@@ -93,7 +93,7 @@ Error generating stack: `+e.message+`
93
93
  `))}function c(e,t,n,r){let i=n.enter(`tableCell`),o=n.enter(`phrasing`),s=n.containerPhrasing(e,{...r,before:a,after:a});return o(),i(),s}function l(e,t){return xy(e,{align:t,alignDelimiters:r,padding:n,stringLength:i})}function u(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`table`);for(;++i<r.length;)a[i]=d(r[i],t,n);return o(),a}function d(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`tableRow`);for(;++i<r.length;)a[i]=c(r[i],e,t,n);return o(),a}function f(e,t,n){let r=vb.inlineCode(e,t,n);return n.stack.includes(`tableCell`)&&(r=r.replace(/\|/g,`\\$&`)),r}}function Ob(){return{exit:{taskListCheckValueChecked:Ab,taskListCheckValueUnchecked:Ab,paragraph:jb}}}function kb(){return{unsafe:[{atBreak:!0,character:`-`,after:`[:|-]`}],handlers:{listItem:Mb}}}function Ab(e){let t=this.stack[this.stack.length-2];t.type,t.checked=e.type===`taskListCheckValueChecked`}function jb(e){let t=this.stack[this.stack.length-2];if(t&&t.type===`listItem`&&typeof t.checked==`boolean`){let e=this.stack[this.stack.length-1];e.type;let n=e.children[0];if(n&&n.type===`text`){let r=t.children,i=-1,a;for(;++i<r.length;){let e=r[i];if(e.type===`paragraph`){a=e;break}}a===e&&(n.value=n.value.slice(1),n.value.length===0?e.children.shift():e.position&&n.position&&typeof n.position.start.offset==`number`&&(n.position.start.column++,n.position.start.offset++,e.position.start=Object.assign({},n.position.start)))}}this.exit(e)}function Mb(e,t,n,r){let i=e.children[0],a=typeof e.checked==`boolean`&&i&&i.type===`paragraph`,o=`[`+(e.checked?`x`:` `)+`] `,s=n.createTracker(r);a&&s.move(o);let c=vb.listItem(e,t,n,{...r,...s.current()});return a&&(c=c.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,l)),c;function l(e){return e+o}}function Nb(){return[zv(),ly(),my(),yb(),Ob()]}function Pb(e){return{extensions:[Bv(),uy(e),hy(),Db(e),kb()]}}var Fb={tokenize:Yb,partial:!0},Ib={tokenize:Xb,partial:!0},Lb={tokenize:Zb,partial:!0},Rb={tokenize:Qb,partial:!0},zb={tokenize:$b,partial:!0},Bb={name:`wwwAutolink`,tokenize:qb,previous:ex},Vb={name:`protocolAutolink`,tokenize:Jb,previous:tx},Hb={name:`emailAutolink`,tokenize:Kb,previous:nx},Ub={};function Wb(){return{text:Ub}}for(var Gb=48;Gb<123;)Ub[Gb]=Hb,Gb++,Gb===58?Gb=65:Gb===91&&(Gb=97);Ub[43]=Hb,Ub[45]=Hb,Ub[46]=Hb,Ub[95]=Hb,Ub[72]=[Hb,Vb],Ub[104]=[Hb,Vb],Ub[87]=[Hb,Bb],Ub[119]=[Hb,Bb];function Kb(e,t,n){let r=this,i,a;return o;function o(t){return!rx(t)||!nx.call(r,r.previous)||ix(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkEmail`),s(t))}function s(t){return rx(t)?(e.consume(t),s):t===64?(e.consume(t),c):n(t)}function c(t){return t===46?e.check(zb,u,l)(t):t===45||t===95||zp(t)?(a=!0,e.consume(t),c):u(t)}function l(t){return e.consume(t),i=!0,c}function u(o){return a&&i&&Rp(r.previous)?(e.exit(`literalAutolinkEmail`),e.exit(`literalAutolink`),t(o)):n(o)}}function qb(e,t,n){let r=this;return i;function i(t){return t!==87&&t!==119||!ex.call(r,r.previous)||ix(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkWww`),e.check(Fb,e.attempt(Ib,e.attempt(Lb,a),n),n)(t))}function a(n){return e.exit(`literalAutolinkWww`),e.exit(`literalAutolink`),t(n)}}function Jb(e,t,n){let r=this,i=``,a=!1;return o;function o(t){return(t===72||t===104)&&tx.call(r,r.previous)&&!ix(r.events)?(e.enter(`literalAutolink`),e.enter(`literalAutolinkHttp`),i+=String.fromCodePoint(t),e.consume(t),s):n(t)}function s(t){if(Rp(t)&&i.length<5)return i+=String.fromCodePoint(t),e.consume(t),s;if(t===58){let n=i.toLowerCase();if(n===`http`||n===`https`)return e.consume(t),c}return n(t)}function c(t){return t===47?(e.consume(t),a?l:(a=!0,c)):n(t)}function l(t){return t===null||Vp(t)||Gp(t)||qp(t)||Kp(t)?n(t):e.attempt(Ib,e.attempt(Lb,u),n)(t)}function u(n){return e.exit(`literalAutolinkHttp`),e.exit(`literalAutolink`),t(n)}}function Yb(e,t,n){let r=0;return i;function i(t){return(t===87||t===119)&&r<3?(r++,e.consume(t),i):t===46&&r===3?(e.consume(t),a):n(t)}function a(e){return e===null?n(e):t(e)}}function Xb(e,t,n){let r,i,a;return o;function o(t){return t===46||t===95?e.check(Rb,c,s)(t):t===null||Gp(t)||qp(t)||t!==45&&Kp(t)?c(t):(a=!0,e.consume(t),o)}function s(t){return t===95?r=!0:(i=r,r=void 0),e.consume(t),o}function c(e){return i||r||!a?n(e):t(e)}}function Zb(e,t){let n=0,r=0;return i;function i(o){return o===40?(n++,e.consume(o),i):o===41&&r<n?a(o):o===33||o===34||o===38||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===60||o===63||o===93||o===95||o===126?e.check(Rb,t,a)(o):o===null||Gp(o)||qp(o)?t(o):(e.consume(o),i)}function a(t){return t===41&&r++,e.consume(t),i}}function Qb(e,t,n){return r;function r(o){return o===33||o===34||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===63||o===95||o===126?(e.consume(o),r):o===38?(e.consume(o),a):o===93?(e.consume(o),i):o===60||o===null||Gp(o)||qp(o)?t(o):n(o)}function i(e){return e===null||e===40||e===91||Gp(e)||qp(e)?t(e):r(e)}function a(e){return Rp(e)?o(e):n(e)}function o(t){return t===59?(e.consume(t),r):Rp(t)?(e.consume(t),o):n(t)}}function $b(e,t,n){return r;function r(t){return e.consume(t),i}function i(e){return zp(e)?n(e):t(e)}}function ex(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||Gp(e)}function tx(e){return!Rp(e)}function nx(e){return!(e===47||rx(e))}function rx(e){return e===43||e===45||e===46||e===95||zp(e)}function ix(e){let t=e.length,n=!1;for(;t--;){let r=e[t][1];if((r.type===`labelLink`||r.type===`labelImage`)&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}var ax={tokenize:px,partial:!0};function ox(){return{document:{91:{name:`gfmFootnoteDefinition`,tokenize:ux,continuation:{tokenize:dx},exit:fx}},text:{91:{name:`gfmFootnoteCall`,tokenize:lx},93:{name:`gfmPotentialFootnoteCall`,add:`after`,tokenize:sx,resolveTo:cx}}}}function sx(e,t,n){let r=this,i=r.events.length,a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),o;for(;i--;){let e=r.events[i][1];if(e.type===`labelImage`){o=e;break}if(e.type===`gfmFootnoteCall`||e.type===`labelLink`||e.type===`label`||e.type===`image`||e.type===`link`)break}return s;function s(i){if(!o||!o._balanced)return n(i);let s=Lp(r.sliceSerialize({start:o.end,end:r.now()}));return s.codePointAt(0)!==94||!a.includes(s.slice(1))?n(i):(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(i),e.exit(`gfmFootnoteCallLabelMarker`),t(i))}}function cx(e,t){let n=e.length;for(;n--;)if(e[n][1].type===`labelImage`&&e[n][0]===`enter`){e[n][1];break}e[n+1][1].type=`data`,e[n+3][1].type=`gfmFootnoteCallLabelMarker`;let r={type:`gfmFootnoteCall`,start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:`gfmFootnoteCallMarker`,start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;let a={type:`gfmFootnoteCallString`,start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:`chunkString`,contentType:`string`,start:Object.assign({},a.start),end:Object.assign({},a.end)},s=[e[n+1],e[n+2],[`enter`,r,t],e[n+3],e[n+4],[`enter`,i,t],[`exit`,i,t],[`enter`,a,t],[`enter`,o,t],[`exit`,o,t],[`exit`,a,t],e[e.length-2],e[e.length-1],[`exit`,r,t]];return e.splice(n,e.length-n+1,...s),e}function lx(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a=0,o;return s;function s(t){return e.enter(`gfmFootnoteCall`),e.enter(`gfmFootnoteCallLabelMarker`),e.consume(t),e.exit(`gfmFootnoteCallLabelMarker`),c}function c(t){return t===94?(e.enter(`gfmFootnoteCallMarker`),e.consume(t),e.exit(`gfmFootnoteCallMarker`),e.enter(`gfmFootnoteCallString`),e.enter(`chunkString`).contentType=`string`,l):n(t)}function l(s){if(a>999||s===93&&!o||s===null||s===91||Gp(s))return n(s);if(s===93){e.exit(`chunkString`);let a=e.exit(`gfmFootnoteCallString`);return i.includes(Lp(r.sliceSerialize(a)))?(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(s),e.exit(`gfmFootnoteCallLabelMarker`),e.exit(`gfmFootnoteCall`),t):n(s)}return Gp(s)||(o=!0),a++,e.consume(s),s===92?u:l}function u(t){return t===91||t===92||t===93?(e.consume(t),a++,l):l(t)}}function ux(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a,o=0,s;return c;function c(t){return e.enter(`gfmFootnoteDefinition`)._container=!0,e.enter(`gfmFootnoteDefinitionLabel`),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),l}function l(t){return t===94?(e.enter(`gfmFootnoteDefinitionMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionMarker`),e.enter(`gfmFootnoteDefinitionLabelString`),e.enter(`chunkString`).contentType=`string`,u):n(t)}function u(t){if(o>999||t===93&&!s||t===null||t===91||Gp(t))return n(t);if(t===93){e.exit(`chunkString`);let n=e.exit(`gfmFootnoteDefinitionLabelString`);return a=Lp(r.sliceSerialize(n)),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),e.exit(`gfmFootnoteDefinitionLabel`),f}return Gp(t)||(s=!0),o++,e.consume(t),t===92?d:u}function d(t){return t===91||t===92||t===93?(e.consume(t),o++,u):u(t)}function f(t){return t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),i.includes(a)||i.push(a),$(e,p,`gfmFootnoteDefinitionWhitespace`)):n(t)}function p(e){return t(e)}}function dx(e,t,n){return e.check(um,t,e.attempt(ax,t,n))}function fx(e){e.exit(`gfmFootnoteDefinition`)}function px(e,t,n){let r=this;return $(e,i,`gfmFootnoteDefinitionIndent`,5);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`gfmFootnoteDefinitionIndent`&&i[2].sliceSerialize(i[1],!0).length===4?t(e):n(e)}}function mx(e){let t=(e||{}).singleTilde,n={name:`strikethrough`,tokenize:i,resolveAll:r};return t??=!0,{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(e,t){let n=-1;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`strikethroughSequenceTemporary`&&e[n][1]._close){let r=n;for(;r--;)if(e[r][0]===`exit`&&e[r][1].type===`strikethroughSequenceTemporary`&&e[r][1]._open&&e[n][1].end.offset-e[n][1].start.offset===e[r][1].end.offset-e[r][1].start.offset){e[n][1].type=`strikethroughSequence`,e[r][1].type=`strikethroughSequence`;let i={type:`strikethrough`,start:Object.assign({},e[r][1].start),end:Object.assign({},e[n][1].end)},a={type:`strikethroughText`,start:Object.assign({},e[r][1].end),end:Object.assign({},e[n][1].start)},o=[[`enter`,i,t],[`enter`,e[r][1],t],[`exit`,e[r][1],t],[`enter`,a,t]],s=t.parser.constructs.insideSpan.null;s&&Ap(o,o.length,0,rm(s,e.slice(r+1,n),t)),Ap(o,o.length,0,[[`exit`,a,t],[`enter`,e[n][1],t],[`exit`,e[n][1],t],[`exit`,i,t]]),Ap(e,r-1,n-r+3,o),n=r+o.length-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`strikethroughSequenceTemporary`&&(e[n][1].type=`data`);return e}function i(e,n,r){let i=this.previous,a=this.events,o=0;return s;function s(t){return i===126&&a[a.length-1][1].type!==`characterEscape`?r(t):(e.enter(`strikethroughSequenceTemporary`),c(t))}function c(a){let s=nm(i);if(a===126)return o>1?r(a):(e.consume(a),o++,c);if(o<2&&!t)return r(a);let l=e.exit(`strikethroughSequenceTemporary`),u=nm(a);return l._open=!u||u===2&&!!s,l._close=!s||s===2&&!!u,n(a)}}}var hx=class{constructor(){this.map=[],this.index=new Map}add(e,t,n){gx(this,e,t,n)}consume(e){if(this.map.sort(function(e,t){return e[0]-t[0]}),this.map.length===0)return;let t=this.map.length,n=[];for(;t>0;)--t,n.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];n.push(e.slice()),e.length=0;let r=n.pop();for(;r;){for(let t of r)e.push(t);r=n.pop()}this.map.length=0,this.index.clear()}};function gx(e,t,n,r){if(n===0&&r.length===0)return;let i=e.index.get(t);if(i){i[1]+=n,i[2].push(...r);return}let a=[t,n,r];e.map.push(a),e.index.set(t,a)}function _x(e,t){let n=!1,r=[];for(;t<e.length;){let i=e[t];if(n){if(i[0]===`enter`)i[1].type===`tableContent`&&r.push(e[t+1][1].type===`tableDelimiterMarker`?`left`:`none`);else if(i[1].type===`tableContent`){if(e[t-1][1].type===`tableDelimiterMarker`){let e=r.length-1;r[e]=r[e]===`left`?`center`:`right`}}else if(i[1].type===`tableDelimiterRow`)break}else i[0]===`enter`&&i[1].type===`tableDelimiterRow`&&(n=!0);t+=1}return r}function vx(){return{flow:{null:{name:`table`,tokenize:yx,resolveAll:bx}}}}function yx(e,t,n){let r=this,i=0,a=0,o;return s;function s(e){let t=r.events.length-1;for(;t>-1;){let{type:e}=r.events[t][1];if(e===`lineEnding`||e===`linePrefix`)t--;else break}let i=t>-1?r.events[t][1].type:null,a=i===`tableHead`||i===`tableRow`?ee:c;return a===ee&&r.parser.lazy[r.now().line]?n(e):a(e)}function c(t){return e.enter(`tableHead`),e.enter(`tableRow`),l(t)}function l(e){return e===124?u(e):(o=!0,a+=1,u(e))}function u(t){return t===null?n(t):Z(t)?a>1?(a=0,r.interrupt=!0,e.exit(`tableRow`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),p):n(t):Q(t)?$(e,u,`whitespace`)(t):(a+=1,o&&(o=!1,i+=1),t===124?(e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),o=!0,u):(e.enter(`data`),d(t)))}function d(t){return t===null||t===124||Gp(t)?(e.exit(`data`),u(t)):(e.consume(t),t===92?f:d)}function f(t){return t===92||t===124?(e.consume(t),d):d(t)}function p(t){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(t):(e.enter(`tableDelimiterRow`),o=!1,Q(t)?$(e,m,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):m(t))}function m(t){return t===45||t===58?g(t):t===124?(o=!0,e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),h):x(t)}function h(t){return Q(t)?$(e,g,`whitespace`)(t):g(t)}function g(t){return t===58?(a+=1,o=!0,e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),_):t===45?(a+=1,_(t)):t===null||Z(t)?b(t):x(t)}function _(t){return t===45?(e.enter(`tableDelimiterFiller`),v(t)):x(t)}function v(t){return t===45?(e.consume(t),v):t===58?(o=!0,e.exit(`tableDelimiterFiller`),e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),y):(e.exit(`tableDelimiterFiller`),y(t))}function y(t){return Q(t)?$(e,b,`whitespace`)(t):b(t)}function b(n){return n===124?m(n):n===null||Z(n)?!o||i!==a?x(n):(e.exit(`tableDelimiterRow`),e.exit(`tableHead`),t(n)):x(n)}function x(e){return n(e)}function ee(t){return e.enter(`tableRow`),S(t)}function S(n){return n===124?(e.enter(`tableCellDivider`),e.consume(n),e.exit(`tableCellDivider`),S):n===null||Z(n)?(e.exit(`tableRow`),t(n)):Q(n)?$(e,S,`whitespace`)(n):(e.enter(`data`),C(n))}function C(t){return t===null||t===124||Gp(t)?(e.exit(`data`),S(t)):(e.consume(t),t===92?w:C)}function w(t){return t===92||t===124?(e.consume(t),C):C(t)}}function bx(e,t){let n=-1,r=!0,i=0,a=[0,0,0,0],o=[0,0,0,0],s=!1,c=0,l,u,d,f=new hx;for(;++n<e.length;){let p=e[n],m=p[1];p[0]===`enter`?m.type===`tableHead`?(s=!1,c!==0&&(Sx(f,t,c,l,u),u=void 0,c=0),l={type:`table`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,l,t]])):m.type===`tableRow`||m.type===`tableDelimiterRow`?(r=!0,d=void 0,a=[0,0,0,0],o=[0,n+1,0,0],s&&(s=!1,u={type:`tableBody`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,u,t]])),i=m.type===`tableDelimiterRow`?2:u?3:1):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)?(r=!1,o[2]===0&&(a[1]!==0&&(o[0]=o[1],d=xx(f,t,a,i,void 0,d),a=[0,0,0,0]),o[2]=n)):m.type===`tableCellDivider`&&(r?r=!1:(a[1]!==0&&(o[0]=o[1],d=xx(f,t,a,i,void 0,d)),a=o,o=[a[1],n,0,0])):m.type===`tableHead`?(s=!0,c=n):m.type===`tableRow`||m.type===`tableDelimiterRow`?(c=n,a[1]===0?o[1]!==0&&(d=xx(f,t,o,i,n,d)):(o[0]=o[1],d=xx(f,t,a,i,n,d)),i=0):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)&&(o[3]=n)}for(c!==0&&Sx(f,t,c,l,u),f.consume(t.events),n=-1;++n<t.events.length;){let e=t.events[n];e[0]===`enter`&&e[1].type===`table`&&(e[1]._align=_x(t.events,n))}return e}function xx(e,t,n,r,i,a){let o=r===1?`tableHeader`:r===2?`tableDelimiter`:`tableData`;n[0]!==0&&(a.end=Object.assign({},Cx(t.events,n[0])),e.add(n[0],0,[[`exit`,a,t]]));let s=Cx(t.events,n[1]);if(a={type:o,start:Object.assign({},s),end:Object.assign({},s)},e.add(n[1],0,[[`enter`,a,t]]),n[2]!==0){let i=Cx(t.events,n[2]),a=Cx(t.events,n[3]),o={type:`tableContent`,start:Object.assign({},i),end:Object.assign({},a)};if(e.add(n[2],0,[[`enter`,o,t]]),r!==2){let r=t.events[n[2]],i=t.events[n[3]];if(r[1].end=Object.assign({},i[1].end),r[1].type=`chunkText`,r[1].contentType=`text`,n[3]>n[2]+1){let t=n[2]+1,r=n[3]-n[2]-1;e.add(t,r,[])}}e.add(n[3]+1,0,[[`exit`,o,t]])}return i!==void 0&&(a.end=Object.assign({},Cx(t.events,i)),e.add(i,0,[[`exit`,a,t]]),a=void 0),a}function Sx(e,t,n,r,i){let a=[],o=Cx(t.events,n);i&&(i.end=Object.assign({},o),a.push([`exit`,i,t])),r.end=Object.assign({},o),a.push([`exit`,r,t]),e.add(n+1,0,a)}function Cx(e,t){let n=e[t],r=n[0]===`enter`?`start`:`end`;return n[1][r]}var wx={name:`tasklistCheck`,tokenize:Ex};function Tx(){return{text:{91:wx}}}function Ex(e,t,n){let r=this;return i;function i(t){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(t):(e.enter(`taskListCheck`),e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),a)}function a(t){return Gp(t)?(e.enter(`taskListCheckValueUnchecked`),e.consume(t),e.exit(`taskListCheckValueUnchecked`),o):t===88||t===120?(e.enter(`taskListCheckValueChecked`),e.consume(t),e.exit(`taskListCheckValueChecked`),o):n(t)}function o(t){return t===93?(e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),e.exit(`taskListCheck`),s):n(t)}function s(r){return Z(r)?t(r):Q(r)?e.check({tokenize:Dx},t,n)(r):n(r)}}function Dx(e,t,n){return $(e,r,`whitespace`);function r(e){return e===null?n(e):t(e)}}function Ox(e){return Np([Wb(),ox(),mx(e),vx(),Tx()])}var kx={};function Ax(e){let t=this,n=e||kx,r=t.data(),i=r.micromarkExtensions||=[],a=r.fromMarkdownExtensions||=[],o=r.toMarkdownExtensions||=[];i.push(Ox(n)),a.push(Nb()),o.push(Pb(n))}var jx=/^(\s*)(\d{1,9})([.)])\s*$/,Mx=/^(\s*)([-*+])\s*$/,Nx=/^\s*(```|~~~)/;function Px(e){let t=!1;return e.split(`
94
94
  `).map(e=>{if(Nx.test(e))return t=!t,e;if(t)return e;let n=jx.exec(e);if(n)return`${n[1]}${n[2]}\\${n[3]}`;let r=Mx.exec(e);return r?`${r[1]}\\${r[2]}`:e}).join(`
95
95
  `)}var Fx={default:{h1:`mt-3 mb-1.5 text-[17px] font-semibold`,h2:`mt-3 mb-1.5 text-[16px] font-semibold`,h3:`mt-3 mb-1.5 text-[15px] font-semibold`,code:`text-[12.5px]`,table:`my-1.5 w-full border-collapse text-sm`},compact:{h1:`mt-3 mb-1.5 text-[15px] font-medium`,h2:`mt-3 mb-1.5 text-[14px] font-medium`,h3:`mt-3 mb-1.5 text-[13px] font-medium`,code:`text-[11px]`,table:`my-1.5 w-full border-collapse text-[12px]`}},Ix=(0,V.memo)(function({text:e,variant:t=`default`}){let n=Ku(),r=Fx[t],i=(0,V.useMemo)(()=>({p:e=>(0,U.jsx)(`p`,{className:`my-1.5 first:mt-0 last:mb-0`,...e}),ul:e=>(0,U.jsx)(`ul`,{className:`my-1.5 list-disc pl-5`,...e}),ol:e=>(0,U.jsx)(`ol`,{className:`my-1.5 list-decimal pl-5`,...e}),li:e=>(0,U.jsx)(`li`,{className:`my-0.5`,...e}),h1:e=>(0,U.jsx)(`h1`,{className:r.h1,...e}),h2:e=>(0,U.jsx)(`h2`,{className:r.h2,...e}),h3:e=>(0,U.jsx)(`h3`,{className:r.h3,...e}),a:({style:e,...t})=>(0,U.jsx)(`a`,{className:`underline underline-offset-2`,style:{color:n.primary,...e},target:`_blank`,rel:`noreferrer noopener`,...t}),code:({className:e,style:t,children:i,...a})=>/language-/.test(e??``)?(0,U.jsx)(`code`,{className:H(`font-aai-mono`,r.code),...a,children:i}):(0,U.jsx)(`code`,{className:H(`rounded-sm border px-1 py-0.5 font-aai-mono`,r.code),style:{borderColor:n.border,background:Ju(n.text,n.surface,3),...t},...a,children:i}),pre:({style:e,...t})=>(0,U.jsx)(`pre`,{className:`my-1.5 overflow-x-auto rounded-md border p-2.5 whitespace-pre-wrap wrap-break-word`,style:{borderColor:n.border,background:Ju(n.text,n.surface,3),...e},...t}),blockquote:({style:e,...t})=>(0,U.jsx)(`blockquote`,{className:`my-1.5 border-l-2 pl-3`,style:{borderColor:n.border,color:Ju(n.text,n.surface,75),...e},...t}),table:e=>(0,U.jsx)(`table`,{className:r.table,...e}),th:({style:e,...t})=>(0,U.jsx)(`th`,{className:`border px-2 py-1 text-left font-medium`,style:{borderColor:n.border,...e},...t}),td:({style:e,...t})=>(0,U.jsx)(`td`,{className:`border px-2 py-1`,style:{borderColor:n.border,...e},...t}),hr:({style:e,...t})=>(0,U.jsx)(`hr`,{className:`my-2.5 border-t`,style:{borderColor:n.border,...e},...t})}),[n,r]);return(0,U.jsx)(Ev,{remarkPlugins:[Ax],components:i,children:Px(e)})}),Lx=(0,V.createContext)({});function Rx(){return(0,V.useContext)(Lx)}function zx(e){let t=du(e);return t===e?e:JSON.stringify(t,null,2)}function Bx({result:e}){let t=Ku(),n=(0,V.useMemo)(()=>zx(e),[e]);return n?(0,U.jsx)(`pre`,{className:`font-aai-mono text-xs px-3.5 py-3 m-0 whitespace-pre-wrap wrap-break-word`,style:{color:Ju(t.text,t.surface,75)},children:n}):null}var Vx=(0,V.memo)(function({toolCall:e,className:t}){let n=Ku(),r=Rx(),i=Object.hasOwn(r,e.name)?r[e.name]:void 0,a=e.status===`pending`,o=i?.label||e.name,s=i?.icon,c=!a&&!!e.result,l=(0,V.useMemo)(()=>{let t=e.args;if(e.name===`run_code`&&t.code)return fu(String(t.code).split(`
96
- `)[0]??``);for(let e of[`query`,`url`,`question`])if(t[e])return String(t[e]);return fu(JSON.stringify(t))},[e.name,e.args]);return(0,U.jsx)(Fd,{title:o,detail:l,pending:a,icon:s,className:t,children:c?(0,U.jsxs)(U.Fragment,{children:[e.name===`run_code`&&!!e.args.code&&(0,U.jsx)(`pre`,{className:`font-aai-mono text-xs px-3.5 py-3 m-0 whitespace-pre-wrap wrap-break-word border-b`,style:{color:n.text,borderColor:n.border},children:String(e.args.code)}),e.result&&(0,U.jsx)(Bx,{result:e.result})]}):void 0})}),Hx=[0,.16,.32].map(e=>({animation:`aai-bounce 1.4s infinite ease-in-out both`,animationDelay:`${e}s`}));function Ux(){let e=Ku(),t=Ju(e.text,e.surface,75);return Hx.map(e=>(0,U.jsx)(`div`,{className:`w-1.5 h-1.5 rounded-full`,style:{...e,background:t}},e.animationDelay))}var Wx=`flex items-center gap-2 text-sm font-medium min-h-5`;function Gx(){return(0,U.jsx)(`div`,{role:`status`,"aria-label":`Thinking`,className:Wx,children:(0,U.jsx)(Ux,{})})}function Kx({theme:e,color:t,children:n}){return(0,U.jsx)(`div`,{className:`flex flex-col w-full items-end`,children:(0,U.jsx)(`div`,{className:`max-w-[min(78%,64ch)] border px-3.5 py-2.5 rounded-md whitespace-pre-wrap wrap-break-word text-[15px] font-normal leading-[22px]`,style:{background:Zu(e.primary,e.surface,7),borderColor:Zu(e.primary,e.surface,16),color:t},children:n})})}var qx=(0,V.memo)(function({message:e,theme:t}){return e.role===`user`?(0,U.jsx)(Kx,{theme:t,color:t.text,children:e.content}):(0,U.jsxs)(`div`,{className:`flex flex-col gap-1 max-w-[82%]`,children:[(0,U.jsx)(`span`,{className:`text-[10px] font-medium tracking-[1.2px] uppercase leading-none`,style:{color:Ju(t.text,t.surface,65)},children:`Agent`}),(0,U.jsx)(`div`,{className:`wrap-break-word text-[15px] font-normal leading-[23px]`,style:{color:t.text},children:(0,U.jsx)(Ix,{text:e.content})})]})}),Jx=(0,V.memo)(function({className:e,log:t}){let n=Ku(),r=(0,V.useCallback)(e=>(0,U.jsx)(qx,{message:e,theme:n}),[n]),i=(0,V.useCallback)(e=>(0,U.jsx)(Vx,{toolCall:e}),[]),a=(0,V.useCallback)(e=>(0,U.jsx)(Kx,{theme:n,color:Ju(n.text,n.surface,65),children:e.partial?e.partial:(0,U.jsx)(Gx,{})}),[n]);return(0,U.jsx)(Hd,{className:e,log:t,style:{background:n.surface},contentClassName:`flex flex-col gap-4 p-7`,renderMessage:r,renderTool:i,renderTranscript:a,thinkingClassName:Wx,thinkingIndicator:(0,U.jsx)(Ux,{})})}),Yx=new Set([`listening`,`speaking`]);function Xx({icon:e,title:t,className:n}){let r=Bu();return(0,U.jsx)(id,{icon:e,title:t,state:r,pulsing:Yx.has(r),className:n,footer:(0,U.jsx)(md,{}),children:(0,U.jsx)(Jx,{})})}function Zx({sidebar:e,children:t,sidebarWidth:n=`18rem`,sidebarPosition:r=`left`,className:i}){let a=Ku(),o=(0,U.jsx)(`div`,{className:H(`shrink-0 flex flex-col overflow-y-auto`,`w-full max-h-[40vh] md:w-(--aai-sidebar-w) md:max-h-none`,r===`left`?`border-b md:border-b-0 md:border-r`:`border-t md:border-t-0 md:border-l order-last md:order-none`),style:{borderColor:a.border},children:e}),s={background:a.bg,"--aai-sidebar-w":n};return(0,U.jsxs)(`div`,{className:H(`flex flex-col md:flex-row min-h-screen md:h-screen`,i),style:s,children:[r===`left`&&o,(0,U.jsx)(`div`,{className:`flex-1 min-w-0 min-h-0`,children:t}),r===`right`&&o]})}function Qx({children:e,icon:t,title:n,subtitle:r,buttonText:i=`Start Conversation`,className:a}){let o=Lu(e=>e.started),{start:s}=Iu(),c=Ku();return o?e:(0,U.jsx)(`div`,{className:H(`flex items-center justify-center h-screen font-aai`,a),style:{background:c.bg},children:(0,U.jsxs)(`div`,{className:`flex flex-col items-center gap-5 border rounded-xl px-10 py-12 sm:px-16 sm:py-14 max-w-105 text-center`,style:{background:c.surface,borderColor:c.border,boxShadow:`0 4px 12px -2px rgb(20 18 12 / 0.08)`},children:[t??(0,U.jsx)(W,{size:24}),(0,U.jsx)(nd,{children:`Voice Agent`}),n&&(0,U.jsx)(`h1`,{className:`font-aai-serif font-normal text-[32px] leading-[1.15] tracking-[-0.2px] m-0 text-balance`,style:{color:c.text},children:n}),r&&(0,U.jsx)(`p`,{className:`text-[15px] leading-[22px] m-0 max-w-75`,style:{color:Ju(c.text,c.surface,75)},children:r}),(0,U.jsx)(od,{size:`lg`,className:`mt-2`,onClick:s,children:i})]})})}var $x=`modulepreload`,eS=function(e,t){return new URL(e,t).href},tS={},nS=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=eS(t,n),t=s(t),t in tS)return;tS[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:$x,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},rS=null;function iS(){return rS??=Promise.all([nS(()=>import(`./audio-mpgipo2Q.js`),[],import.meta.url),nS(()=>import(`./capture-processor-D0q7Qrdd.js`).then(e=>e.default),__vite__mapDeps([0,1]),import.meta.url),nS(()=>import(`./playback-processor-CjDbc9iH.js`).then(e=>e.default),__vite__mapDeps([2,1]),import.meta.url)]).catch(e=>{throw rS=null,e}),rS}async function aS(e,t,n){let r=await n??void 0;try{return await oS(e,t,r)}catch(e){throw r?.close(),e}}async function oS(e,t,n){let[{createVoiceIO:r},i,a]=await iS();return r({preConnect:n,onPreConnectAudio:t.onPreConnectAudio,sttSampleRate:e.sampleRate,ttsSampleRate:e.ttsSampleRate,captureWorkletSrc:i,playbackWorkletSrc:a,onMicData:t.onMicData,onPlaybackProgress:t.onProgress,onError:e=>t.onFailure(e.message)})}function sS(e){return e===`local`?globalThis.localStorage:globalThis.sessionStorage}function cS(e,t){try{return sS(e)?.getItem(t)??void 0}catch{return}}function lS(e,t,n){try{sS(e)?.setItem(t,n)}catch{}}function uS(e,t){try{sS(e)?.removeItem(t)}catch{}}function dS(e,t){try{return`${e}${new URL(t,globalThis.location?.href).href}`}catch{return`${e}${t}`}}var fS=`aai:client:`;function pS(e){let t=crypto.getRandomValues(new Uint8Array(e));return Array.from(t,e=>e.toString(16).padStart(2,`0`)).join(``)}var mS=pS(4),hS=new Map;function gS(e=pu()){let t=dS(fS,e),n=hS.get(t);if(n)return n;let r=cS(`local`,t),i=r&&Bl.test(r)?r:`browser-${pS(16)}`;return i!==r&&lS(`local`,t,i),hS.set(t,i),i}function _S(e){return`${gS(e)}-${mS}`}function vS(e,t){return e===`auto`?()=>gS(t):e}function yS(e){let t=(typeof e==`function`?e():e)?.trim();return t===``?void 0:t}function bS(e,t){let n=vS(e.client,e.platformUrl);return Object.freeze({platformUrl:e.platformUrl,clientId:()=>yS(n),holderId:()=>_S(e.platformUrl),sessionId:()=>t()?.sessionId(),ticket:()=>t()?.ticket()})}var xS={running:!1,recording:!1};function SS(e,t){e.turn.bump(),t.flush()}function CS(e){let{conn:t,updateState:n,agentState:r,sendJson:i,mic:a,preConnect:o}=e;function s(e){let i=t.turn.current();e.done().then(()=>{t.turn.isCurrent(i)&&n(r.apply({type:`LISTEN`}))}).catch(e=>{console.warn(`Audio playback done failed:`,e)})}return{open:(t,n)=>(e.openAudioPath??aS)(t,n,o.take()),sendMicAudio:e=>{try{a.sendAudio(e)}catch{console.debug(`[aai-ui] sendAudio dropped: connection closed`)}},sendPreConnectAudio:e=>{try{a.sendBuffered(e)}catch{console.debug(`[aai-ui] pre-connect audio dropped: connection closed`)}},reportProgress:e=>{try{i({type:`playback_progress`,bufferedMs:e})}catch{}},announceReady:()=>i({type:`audio_ready`}),micLive:()=>n({recording:!0}),listen:()=>n(r.apply({type:`LISTEN`})),settleWhenDrained:s,reportFailure:e=>{n({...r.apply({type:`FAILED`,error:{code:`audio`,message:e,fatal:!1}}),...xS})},endTurn:()=>t.turn.bump(),release:e=>{e.close().catch(()=>{})}}}var wS=100,TS=Error(`audio path abandoned`),ES=(0,B.setup)({types:{},actors:{bringUp:(0,B.fromPromise)(async({input:e,signal:t})=>{let n=null,r=await e.effects.open(e.config,{onMicData:t=>e.effects.sendMicAudio(t),onPreConnectAudio:t=>e.effects.sendPreConnectAudio(t),onProgress:t=>{n&&e.send({type:`PROGRESS`,io:n,bufferedMs:t})},onFailure:t=>{n&&e.send({type:`IO_FAILED`,io:n,message:t})}});if(t.aborted)throw e.effects.release(r),TS;return n=r,r})},guards:{fromLiveIo:({context:e,event:t})=>(t.type===`PROGRESS`||t.type===`IO_FAILED`)&&e.io===t.io},actions:{rememberConfig:(0,B.assign)({config:({context:e,event:t})=>t.type===`START`?t.config:e.config}),buffer:(0,B.assign)({pending:({context:e,event:t})=>t.type===`CHUNK`&&e.pending.length<wS?[...e.pending,t.chunk]:e.pending}),rememberDone:(0,B.assign)({pendingDone:!0}),listenNow:({context:e})=>e.effects.listen(),forgetBuffered:(0,B.assign)({io:null,pending:[],pendingDone:!1}),endTurn:({context:e})=>e.effects.endTurn(),releaseIo:({context:e})=>{e.io&&e.effects.release(e.io)}}}).createMachine({id:`audioPath`,context:({input:e})=>({effects:e,io:null,pending:[],pendingDone:!1,config:null}),initial:`down`,on:{CHUNK:{actions:`buffer`},DONE:{actions:[`rememberDone`,`listenNow`]},TEARDOWN:`.down`},states:{down:{entry:[`endTurn`,`forgetBuffered`],on:{START:{target:`starting`,actions:`rememberConfig`}}},starting:{invoke:{src:`bringUp`,input:({context:e,self:t})=>({effects:e.effects,config:e.config??{sampleRate:0,ttsSampleRate:0},send:e=>{t.send(e)}}),onDone:{target:`up`,actions:[({context:e,event:t})=>{for(let n of e.pending)t.output.enqueue(n)},(0,B.assign)({io:({event:e})=>e.output,pending:[]}),({context:e,event:t})=>{e.effects.announceReady(),e.effects.micLive(),e.pendingDone?e.effects.settleWhenDrained(t.output):e.effects.listen()},(0,B.assign)({pendingDone:!1})]},onError:{target:`down`,actions:({context:e,event:t})=>{e.effects.reportFailure(`Microphone access failed: ${be(t.error)}`)}}}},up:{exit:`releaseIo`,on:{START:{target:`starting`,actions:`rememberConfig`},CHUNK:{actions:({context:e,event:t})=>e.io?.enqueue(t.chunk)},DONE:{actions:({context:e})=>{e.io&&e.effects.settleWhenDrained(e.io)}},PROGRESS:{guard:`fromLiveIo`,actions:({context:e,event:t})=>e.effects.reportProgress(t.bufferedMs)},IO_FAILED:{guard:`fromLiveIo`,target:`down`,actions:({context:e,event:t})=>e.effects.reportFailure(t.message)}}}}});function DS(e){let t=(0,B.createActor)(ES,{input:e}).start();return{phase:()=>t.getSnapshot().value,start:e=>{t.send({type:`START`,config:e})},enqueue:e=>{t.send({type:`CHUNK`,chunk:e})},done:()=>{t.send({type:`DONE`})},flush:()=>t.getSnapshot().context.io?.flush(),teardown:()=>{t.send({type:`TEARDOWN`})}}}var OS=1e3;function kS(e,t){let n=e.reason.trim();return n!==``&&e.code!==OS?n:t?`WebSocket connection error`:null}(!globalThis.EventTarget||!globalThis.Event)&&console.error(`
96
+ `)[0]??``);for(let e of[`query`,`url`,`question`])if(t[e])return String(t[e]);return fu(JSON.stringify(t))},[e.name,e.args]);return(0,U.jsx)(Fd,{title:o,detail:l,pending:a,icon:s,className:t,children:c?(0,U.jsxs)(U.Fragment,{children:[e.name===`run_code`&&!!e.args.code&&(0,U.jsx)(`pre`,{className:`font-aai-mono text-xs px-3.5 py-3 m-0 whitespace-pre-wrap wrap-break-word border-b`,style:{color:n.text,borderColor:n.border},children:String(e.args.code)}),e.result&&(0,U.jsx)(Bx,{result:e.result})]}):void 0})}),Hx=[0,.16,.32].map(e=>({animation:`aai-bounce 1.4s infinite ease-in-out both`,animationDelay:`${e}s`}));function Ux(){let e=Ku(),t=Ju(e.text,e.surface,75);return Hx.map(e=>(0,U.jsx)(`div`,{className:`w-1.5 h-1.5 rounded-full`,style:{...e,background:t}},e.animationDelay))}var Wx=`flex items-center gap-2 text-sm font-medium min-h-5`;function Gx(){return(0,U.jsx)(`div`,{role:`status`,"aria-label":`Thinking`,className:Wx,children:(0,U.jsx)(Ux,{})})}function Kx({theme:e,color:t,children:n}){return(0,U.jsx)(`div`,{className:`flex flex-col w-full items-end`,children:(0,U.jsx)(`div`,{className:`max-w-[min(78%,64ch)] border px-3.5 py-2.5 rounded-md whitespace-pre-wrap wrap-break-word text-[15px] font-normal leading-[22px]`,style:{background:Zu(e.primary,e.surface,7),borderColor:Zu(e.primary,e.surface,16),color:t},children:n})})}var qx=(0,V.memo)(function({message:e,theme:t}){return e.role===`user`?(0,U.jsx)(Kx,{theme:t,color:t.text,children:e.content}):(0,U.jsxs)(`div`,{className:`flex flex-col gap-1 max-w-[82%]`,children:[(0,U.jsx)(`span`,{className:`text-[10px] font-medium tracking-[1.2px] uppercase leading-none`,style:{color:Ju(t.text,t.surface,65)},children:`Agent`}),(0,U.jsx)(`div`,{className:`wrap-break-word text-[15px] font-normal leading-[23px]`,style:{color:t.text},children:(0,U.jsx)(Ix,{text:e.content})})]})}),Jx=(0,V.memo)(function({className:e,log:t}){let n=Ku(),r=(0,V.useCallback)(e=>(0,U.jsx)(qx,{message:e,theme:n}),[n]),i=(0,V.useCallback)(e=>(0,U.jsx)(Vx,{toolCall:e}),[]),a=(0,V.useCallback)(e=>(0,U.jsx)(Kx,{theme:n,color:Ju(n.text,n.surface,65),children:e.partial?e.partial:(0,U.jsx)(Gx,{})}),[n]);return(0,U.jsx)(Hd,{className:e,log:t,style:{background:n.surface},contentClassName:`flex flex-col gap-4 p-7`,renderMessage:r,renderTool:i,renderTranscript:a,thinkingClassName:Wx,thinkingIndicator:(0,U.jsx)(Ux,{})})}),Yx=new Set([`listening`,`speaking`]);function Xx({icon:e,title:t,className:n}){let r=Bu();return(0,U.jsx)(id,{icon:e,title:t,state:r,pulsing:Yx.has(r),className:n,footer:(0,U.jsx)(md,{}),children:(0,U.jsx)(Jx,{})})}function Zx({sidebar:e,children:t,sidebarWidth:n=`18rem`,sidebarPosition:r=`left`,className:i}){let a=Ku(),o=(0,U.jsx)(`div`,{className:H(`shrink-0 flex flex-col overflow-y-auto`,`w-full max-h-[40vh] md:w-(--aai-sidebar-w) md:max-h-none`,r===`left`?`border-b md:border-b-0 md:border-r`:`border-t md:border-t-0 md:border-l order-last md:order-none`),style:{borderColor:a.border},children:e}),s={background:a.bg,"--aai-sidebar-w":n};return(0,U.jsxs)(`div`,{className:H(`flex flex-col md:flex-row min-h-screen md:h-screen`,i),style:s,children:[r===`left`&&o,(0,U.jsx)(`div`,{className:`flex-1 min-w-0 min-h-0`,children:t}),r===`right`&&o]})}function Qx({children:e,icon:t,title:n,subtitle:r,buttonText:i=`Start Conversation`,className:a}){let o=Lu(e=>e.started),{start:s}=Iu(),c=Ku();return o?e:(0,U.jsx)(`div`,{className:H(`flex items-center justify-center h-screen font-aai`,a),style:{background:c.bg},children:(0,U.jsxs)(`div`,{className:`flex flex-col items-center gap-5 border rounded-xl px-10 py-12 sm:px-16 sm:py-14 max-w-105 text-center`,style:{background:c.surface,borderColor:c.border,boxShadow:`0 4px 12px -2px rgb(20 18 12 / 0.08)`},children:[t??(0,U.jsx)(W,{size:24}),(0,U.jsx)(nd,{children:`Voice Agent`}),n&&(0,U.jsx)(`h1`,{className:`font-aai-serif font-normal text-[32px] leading-[1.15] tracking-[-0.2px] m-0 text-balance`,style:{color:c.text},children:n}),r&&(0,U.jsx)(`p`,{className:`text-[15px] leading-[22px] m-0 max-w-75`,style:{color:Ju(c.text,c.surface,75)},children:r}),(0,U.jsx)(od,{size:`lg`,className:`mt-2`,onClick:s,children:i})]})})}var $x=`modulepreload`,eS=function(e,t){return new URL(e,t).href},tS={},nS=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=eS(t,n),t=s(t),t in tS)return;tS[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:$x,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},rS=null;function iS(){return rS??=Promise.all([nS(()=>import(`./audio-CABEDpag.js`),[],import.meta.url),nS(()=>import(`./capture-processor-X_vJUkv4.js`).then(e=>e.default),__vite__mapDeps([0,1]),import.meta.url),nS(()=>import(`./playback-processor-DdO-2G6m.js`).then(e=>e.default),__vite__mapDeps([2,1]),import.meta.url)]).catch(e=>{throw rS=null,e}),rS}async function aS(e,t,n){let r=await n??void 0;try{return await oS(e,t,r)}catch(e){throw r?.close(),e}}async function oS(e,t,n){let[{createVoiceIO:r},i,a]=await iS();return r({preConnect:n,onPreConnectAudio:t.onPreConnectAudio,sttSampleRate:e.sampleRate,ttsSampleRate:e.ttsSampleRate,captureWorkletSrc:i,playbackWorkletSrc:a,onMicData:t.onMicData,onPlaybackProgress:t.onProgress,onError:e=>t.onFailure(e.message)})}function sS(e){return e===`local`?globalThis.localStorage:globalThis.sessionStorage}function cS(e,t){try{return sS(e)?.getItem(t)??void 0}catch{return}}function lS(e,t,n){try{sS(e)?.setItem(t,n)}catch{}}function uS(e,t){try{sS(e)?.removeItem(t)}catch{}}function dS(e,t){try{return`${e}${new URL(t,globalThis.location?.href).href}`}catch{return`${e}${t}`}}var fS=`aai:client:`;function pS(e){let t=crypto.getRandomValues(new Uint8Array(e));return Array.from(t,e=>e.toString(16).padStart(2,`0`)).join(``)}var mS=pS(4),hS=new Map;function gS(e=pu()){let t=dS(fS,e),n=hS.get(t);if(n)return n;let r=cS(`local`,t),i=r&&Bl.test(r)?r:`browser-${pS(16)}`;return i!==r&&lS(`local`,t,i),hS.set(t,i),i}function _S(e){return`${gS(e)}-${mS}`}function vS(e,t){return e===`auto`?()=>gS(t):e}function yS(e){let t=(typeof e==`function`?e():e)?.trim();return t===``?void 0:t}function bS(e,t){let n=vS(e.client,e.platformUrl);return Object.freeze({platformUrl:e.platformUrl,clientId:()=>yS(n),holderId:()=>_S(e.platformUrl),sessionId:()=>t()?.sessionId(),ticket:()=>t()?.ticket()})}var xS={running:!1,recording:!1};function SS(e,t){e.turn.bump(),t.flush()}function CS(e){let{conn:t,updateState:n,agentState:r,sendJson:i,mic:a,preConnect:o}=e;function s(e){let i=t.turn.current();e.done().then(()=>{t.turn.isCurrent(i)&&n(r.apply({type:`LISTEN`}))}).catch(e=>{console.warn(`Audio playback done failed:`,e)})}return{open:(t,n)=>(e.openAudioPath??aS)(t,n,o.take()),sendMicAudio:e=>{try{a.sendAudio(e)}catch{console.debug(`[aai-ui] sendAudio dropped: connection closed`)}},sendPreConnectAudio:e=>{try{a.sendBuffered(e)}catch{console.debug(`[aai-ui] pre-connect audio dropped: connection closed`)}},reportProgress:e=>{try{i({type:`playback_progress`,bufferedMs:e})}catch{}},announceReady:()=>i({type:`audio_ready`}),micLive:()=>n({recording:!0}),listen:()=>n(r.apply({type:`LISTEN`})),settleWhenDrained:s,reportFailure:e=>{n({...r.apply({type:`FAILED`,error:{code:`audio`,message:e,fatal:!1}}),...xS})},endTurn:()=>t.turn.bump(),release:e=>{e.close().catch(()=>{})}}}var wS=100,TS=Error(`audio path abandoned`),ES=(0,B.setup)({types:{},actors:{bringUp:(0,B.fromPromise)(async({input:e,signal:t})=>{let n=null,r=await e.effects.open(e.config,{onMicData:t=>e.effects.sendMicAudio(t),onPreConnectAudio:t=>e.effects.sendPreConnectAudio(t),onProgress:t=>{n&&e.send({type:`PROGRESS`,io:n,bufferedMs:t})},onFailure:t=>{n&&e.send({type:`IO_FAILED`,io:n,message:t})}});if(t.aborted)throw e.effects.release(r),TS;return n=r,r})},guards:{fromLiveIo:({context:e,event:t})=>(t.type===`PROGRESS`||t.type===`IO_FAILED`)&&e.io===t.io},actions:{rememberConfig:(0,B.assign)({config:({context:e,event:t})=>t.type===`START`?t.config:e.config}),buffer:(0,B.assign)({pending:({context:e,event:t})=>t.type===`CHUNK`&&e.pending.length<wS?[...e.pending,t.chunk]:e.pending}),rememberDone:(0,B.assign)({pendingDone:!0}),listenNow:({context:e})=>e.effects.listen(),forgetBuffered:(0,B.assign)({io:null,pending:[],pendingDone:!1}),endTurn:({context:e})=>e.effects.endTurn(),releaseIo:({context:e})=>{e.io&&e.effects.release(e.io)}}}).createMachine({id:`audioPath`,context:({input:e})=>({effects:e,io:null,pending:[],pendingDone:!1,config:null}),initial:`down`,on:{CHUNK:{actions:`buffer`},DONE:{actions:[`rememberDone`,`listenNow`]},TEARDOWN:`.down`},states:{down:{entry:[`endTurn`,`forgetBuffered`],on:{START:{target:`starting`,actions:`rememberConfig`}}},starting:{invoke:{src:`bringUp`,input:({context:e,self:t})=>({effects:e.effects,config:e.config??{sampleRate:0,ttsSampleRate:0},send:e=>{t.send(e)}}),onDone:{target:`up`,actions:[({context:e,event:t})=>{for(let n of e.pending)t.output.enqueue(n)},(0,B.assign)({io:({event:e})=>e.output,pending:[]}),({context:e,event:t})=>{e.effects.announceReady(),e.effects.micLive(),e.pendingDone?e.effects.settleWhenDrained(t.output):e.effects.listen()},(0,B.assign)({pendingDone:!1})]},onError:{target:`down`,actions:({context:e,event:t})=>{e.effects.reportFailure(`Microphone access failed: ${be(t.error)}`)}}}},up:{exit:`releaseIo`,on:{START:{target:`starting`,actions:`rememberConfig`},CHUNK:{actions:({context:e,event:t})=>e.io?.enqueue(t.chunk)},DONE:{actions:({context:e})=>{e.io&&e.effects.settleWhenDrained(e.io)}},PROGRESS:{guard:`fromLiveIo`,actions:({context:e,event:t})=>e.effects.reportProgress(t.bufferedMs)},IO_FAILED:{guard:`fromLiveIo`,target:`down`,actions:({context:e,event:t})=>e.effects.reportFailure(t.message)}}}}});function DS(e){let t=(0,B.createActor)(ES,{input:e}).start();return{phase:()=>t.getSnapshot().value,start:e=>{t.send({type:`START`,config:e})},enqueue:e=>{t.send({type:`CHUNK`,chunk:e})},done:()=>{t.send({type:`DONE`})},flush:()=>t.getSnapshot().context.io?.flush(),teardown:()=>{t.send({type:`TEARDOWN`})}}}var OS=1e3;function kS(e,t){let n=e.reason.trim();return n!==``&&e.code!==OS?n:t?`WebSocket connection error`:null}(!globalThis.EventTarget||!globalThis.Event)&&console.error(`
97
97
  PartySocket requires a global 'EventTarget' class to be available!
98
98
  You can polyfill this global by adding this to your code before any partysocket imports:
99
99
 
@@ -114,7 +114,7 @@ const partysocket = new PartySocket({
114
114
  WebSocket: WS
115
115
  });
116
116
 
117
- `),BS=!0);let r=this._options.WebSocket||WebSocket;this._debug(`connect`,{url:e,protocols:n}),this._ws=n?new r(e,n):new r(e),this._ws.binaryType=this._binaryType,this._connectLock=!1,this._addListeners(),this._connectTimeout=setTimeout(()=>this._handleTimeout(),t)}).catch(e=>{this._connectLock=!1,this._handleError(new MS.ErrorEvent(Error(e.message),this))})}_handleTimeout(){this._debug(`timeout event`),this._handleError(new MS.ErrorEvent(Error(`TIMEOUT`),this))}_disconnect(e=1e3,t){if(this._clearTimeouts(),this._ws){this._removeListeners();try{(this._ws.readyState===this.OPEN||this._ws.readyState===this.CONNECTING)&&this._ws.close(e,t),this._handleClose(new MS.CloseEvent(e,t,this))}catch{}}}_acceptOpen(){this._debug(`accept open`),this._retryCount=0}_handleOpen=e=>{this._debug(`open event`);let{minUptime:t=zS.minUptime}=this._options;clearTimeout(this._connectTimeout),this._uptimeTimeout=setTimeout(()=>this._acceptOpen(),t),NS(this._ws,`WebSocket is not defined`),this._ws.binaryType=this._binaryType,this._messageQueue.forEach(e=>{this._ws?.send(e)}),this._messageQueue=[],this.onopen&&this.onopen(e),this.dispatchEvent(RS(e))};_handleMessage=e=>{this._debug(`message event`),this.onmessage&&this.onmessage(e),this.dispatchEvent(RS(e))};_handleError=e=>{this._debug(`error event`,e.message),this._disconnect(void 0,e.message===`TIMEOUT`?`timeout`:void 0),this.onerror&&this.onerror(e),this._debug(`exec error listeners`),this.dispatchEvent(RS(e)),this._connect()};_handleClose=e=>{this._debug(`close event`),this._clearTimeouts(),this._options.shouldReconnectOnClose&&!this._options.shouldReconnectOnClose(e)&&(this._shouldReconnect=!1),this._shouldReconnect&&this._connect(),this.onclose&&this.onclose(e),this.dispatchEvent(RS(e))};_removeListeners(){this._ws&&(this._debug(`removeListeners`),this._ws.removeEventListener(`open`,this._handleOpen),this._ws.removeEventListener(`close`,this._handleClose),this._ws.removeEventListener(`message`,this._handleMessage),this._ws.removeEventListener(`error`,this._handleError),this._ws.addEventListener(`error`,VS))}_addListeners(){this._ws&&(this._debug(`addListeners`),this._ws.addEventListener(`open`,this._handleOpen),this._ws.addEventListener(`close`,this._handleClose),this._ws.addEventListener(`message`,this._handleMessage),this._ws.addEventListener(`error`,this._handleError))}_clearTimeouts(){clearTimeout(this._connectTimeout),clearTimeout(this._uptimeTimeout)}},US={minReconnectionDelay:1e3,maxReconnectionDelay:15e3,reconnectionDelayGrowFactor:2,maxRetries:10};function WS(e,t){return new HS(e,t,US)}function GS(e){return e instanceof HS&&(e.reconnect(),!0)}function KS(e){return e instanceof HS&&e.shouldReconnect&&e.retryCount<US.maxRetries}var qS=`aai:session:`;function JS(e){return dS(qS,e)}function YS(e){return cS(`session`,JS(e))}function XS(e,t){lS(`session`,JS(e),t)}function ZS(e){uS(`session`,JS(e))}var QS=`aai:session-ticket:`;function $S(e){return cS(`session`,dS(QS,e))}function eC(e,t){lS(`session`,dS(QS,e),t)}function tC(e){uS(`session`,dS(QS,e))}var nC=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function rC(e){let t=e?.trim();return t===``?void 0:t}async function iC(e,t){if(typeof e!=`function`)return rC(e);try{return rC(await e(t))}catch(e){console.warn("session-core: the `token` getter failed; dialing without a ticket",e);return}}function aC(e,t){if(typeof e!=`function`)return rC(e);let n=e(t);if(typeof n!=`string`&&n!==void 0)throw TypeError("VoiceSessionOptions.token: an injected `WebSocket` opens synchronously, so its `token` getter must return a string, not a Promise");return rC(n)}function oC(e){if(e===void 0)return{};let t=`${iu}${e}`;return nC.test(t)?{protocols:[ru,t]}:{queryToken:e}}function sC(e,t,n={}){return uC(hu(e,`websocket`),t,n)}function cC(e,t,n={}){return uC(new URL(e),t,n)}var lC={"https:":`wss:`,"http:":`ws:`};function uC(e,t,n){return e.protocol=lC[e.protocol]??e.protocol,t&&e.searchParams.set(`sessionId`,t),n.location&&e.searchParams.set(`location`,n.location),n.phone&&e.searchParams.set(`phone`,n.phone),n.client&&e.searchParams.set(`client`,n.client),e}function dC(e,t){return t.queryToken!==void 0&&e.searchParams.set(`token`,t.queryToken),e.toString()}function fC(e,t){let n=e.resumeSessionId??YS(e.platformUrl),r,i=$S(e.platformUrl),a;function o(e){e!==a&&(a=e,t?.())}function s(){return{location:yS(e.location),phone:yS(e.phone),client:yS(e.client)}}async function c(){let t=iC(e.token,{sessionId:n}),a=n===void 0?void 0:i,o=r===!1?null:await vu(e.platformUrl,void 0,a);o&&(r=o.sessionUrl!==void 0||o.sessionToken!==void 0);let c=await t;c===void 0&&o?.sessionToken!==void 0&&(i=o.sessionToken,eC(e.platformUrl,i));let l=oC(c??o?.sessionToken);return{url:dC(o?.sessionUrl?cC(o.sessionUrl,n,s()):sC(e.platformUrl,n,s()),l),protocols:l.protocols}}let l;return{open:()=>{if(e.WebSocket){let t=oC(aC(e.token,{sessionId:n})),r=dC(sC(e.platformUrl,n,s()),t);return t.protocols?new e.WebSocket(r,t.protocols):new e.WebSocket(r)}return WS(async()=>(l=c(),(await l).url),async()=>(await(l??c())).protocols??null)},configured:t=>{n=t,XS(e.platformUrl,t),o(t)},adopt:t=>{n=t,XS(e.platformUrl,t)},forget:()=>{n=void 0,ZS(e.platformUrl),i=void 0,tC(e.platformUrl),o(void 0)},sessionId:()=>a,ticket:()=>{if(e.token!==void 0)return typeof e.token==`function`?iC(e.token,{sessionId:void 0}):aC(e.token,{sessionId:void 0});if(r!==!1)return vu(e.platformUrl).then(e=>(e&&(r=e.sessionUrl!==void 0||e.sessionToken!==void 0),e?.sessionToken))}}}var pC={code:`connection`,message:`Agent did not complete the session handshake`,fatal:!1},mC=1e4,hC=3;function gC(e){let t,n=0;function r(){t!==void 0&&(clearTimeout(t),t=void 0)}function i(){if(t=void 0,n+=1,n<hC&&GS(e.socket)){e.onRetry();return}e.onExhausted()}return e.signal.addEventListener(`abort`,r),{arm(){r(),t=setTimeout(i,mC)},disarm:r,succeeded(){r(),n=0}}}var _C=200,vC=200,yC={messages:[],toolCalls:[],customEvents:[],agentState:null,userTranscript:null,agentTranscript:null,error:null};function bC(e,t,n){if(e.length<n)return[...e,t];let r=e.slice(e.length-n+1);return r.push(t),r}function xC(e){let{getSnapshot:t,updateState:n,conn:r,agentState:i,audio:a}=e,o=0,s=0,c=0;function l(e,r){n({customEvents:bC(t().customEvents,{id:++o,event:e,data:r},_C)})}function u(e){r.turn.bump(),n({userTranscript:null,messages:bC(t().messages,{id:++s,role:`user`,content:e},vC),...i.apply({type:`THINK`})})}function d(e){n({agentTranscript:e})}function f(){let e=t().agentTranscript;if(e===null||e.length===0){n({agentTranscript:null});return}n({agentTranscript:null,messages:bC(t().messages,{id:++s,role:`assistant`,content:e},vC)})}function p(){n(i.apply({type:`ACTIVITY`}))}function m(e={}){n({...e,...i.apply({type:`LISTEN`})})}function h(e){console.error(`Agent error:`,e.message);let t={code:e.code,message:e.message,fatal:e.fatal};e.fatal?(a.teardown(),n({...i.apply({type:`FATAL`,error:t}),...xS})):n(i.apply({type:`TURN_ERROR`,error:t}))}function g(e){switch(e.type!==`error.reported`&&p(),e.type){case`speech.started`:n({userTranscript:``});break;case`speech.stopped`:break;case`userTranscript.committed`:u(e.text);break;case`userTranscript.updated`:n({userTranscript:e.text});break;case`agentTranscript.updated`:case`agentTranscript.committed`:d(e.text);break;case`tool.called`:n({toolCalls:bC(t().toolCalls,{callId:e.toolCallId,name:e.toolName,args:xl(e.args),status:`pending`,seq:++c,afterMessageId:t().messages.at(-1)?.id??-1},vC)});break;case`tool.completed`:{let r=t().toolCalls,i=r.findIndex(t=>t.callId===e.toolCallId),a=r[i];if(!a)break;let o=[...r];o[i]={...a,status:`done`,result:e.result},n({toolCalls:o});break}case`reply.completed`:f(),m();break;case`reply.cancelled`:SS(r,a),f(),m({userTranscript:null});break;case`session.reset`:{SS(r,a);let e=i.apply({type:`RESET`});n(i.fatal()?e:{...yC,...e});break}case`custom.emitted`:l(e.event,e.data);break;case`state.updated`:n({agentState:SC(t().agentState,e.state)});break;case`history.restored`:{s=0,c=0;let t=e.messages.slice(-vC).map(e=>({id:++s,role:e.role,content:e.content}));n({messages:t,toolCalls:e.toolCalls.slice(-vC).map(e=>({callId:e.callId,name:e.name,args:xl(e.args),status:e.status,...w({result:e.result}),seq:++c,afterMessageId:t[e.afterMessageIndex]?.id??-1}))});break}case`error.reported`:h(e);break;case`session.timedOut`:r.retiredByServer=!0}}function _(e){n(i.apply({type:`SPEAK`})),a.enqueue(e)}function v(){a.done()}function y(e){if(e instanceof ArrayBuffer){_(e);return}if(typeof e!=`string`){console.warn(`session-core: non-string, non-binary frame received; dropping`);return}let t=T(e);if(t===void 0){console.warn(`session-core: invalid JSON; dropping`);return}let n=tu($l,t);if(!n.ok){n.malformed&&console.warn(`session-core: malformed server message`,n.error);return}let r=n.data;if(r.type===`session.configured`)return i.apply({type:`HANDSHAKE_COMPLETE`}),{sampleRate:r.sampleRate,ttsSampleRate:r.ttsSampleRate,sid:r.sessionId};if(r.type===`audio.completed`){v();return}g(r)}return{handleMessage:y}}function SC(e,t){if(e===null)return t;let n={};for(let[r,i]of Object.entries(t)){let t=e[r];n[r]=r in e&&JSON.stringify(t)===JSON.stringify(i)?t:i}return n}function CC(e){let t=new ArrayBuffer(0),n=e=>(t.byteLength!==e&&(t=new ArrayBuffer(e)),t);return{sendAudio(t){let r=e.conn.ws;r?.readyState===1&&(r.bufferedAmount>65536||r.send(e.snapshot().micMuted?n(t.byteLength):t))},sendBuffered(t){let r=e.conn.ws;if(r?.readyState!==1)return;let i=e.snapshot().micMuted;for(let e of t)r.send(i?n(e.byteLength):e)},setMicMuted(t){e.updateState({micMuted:t})}}}var wC=16e3;function TC(e){let t=null;return{begin(){iS().catch(()=>{}),e&&t===null&&(t=Promise.all([nS(()=>import(`./audio-mpgipo2Q.js`),[],import.meta.url),iS()]).then(([{openPreConnectCapture:e},[,t]])=>e({sampleRate:wC,captureWorkletSrc:t,maxSeconds:10})).catch(()=>null))},take(){let e=t;return t=null,e},release(){let e=t;t=null,e?.then(e=>e?.close())}}}var EC=(0,B.not)((0,B.stateIn)({fatal:`yes`})),DC=(0,B.setup)({types:{},guards:{hasError:({context:e})=>e.error!==null},actions:{clearError:(0,B.assign)({error:null}),setError:(0,B.assign)({error:({context:e,event:t})=>t.type===`TURN_ERROR`||t.type===`FATAL`||t.type===`FAILED`?t.error:e.error})}}).createMachine({id:`sessionState`,type:`parallel`,context:{error:null},states:{phase:{initial:`disconnected`,on:{CONNECT:{target:`.connecting`,actions:`clearError`},CLOSED:{target:`.disconnected`,actions:`clearError`},DISCONNECT:`.disconnected`,END:{target:`.disconnected`,actions:`clearError`},TURN_ERROR:{actions:`setError`},FATAL:{target:`.error`,actions:`setError`},FAILED:{target:`.error`,actions:`setError`},LISTEN:{guard:EC,target:`.listening`},RESET:{guard:EC,target:`.listening`,actions:`clearError`},THINK:{guard:EC,target:`.thinking`},ACTIVITY:{guard:(0,B.and)([EC,`hasError`]),actions:`clearError`}},states:{disconnected:{on:{SPEAK:{guard:(0,B.not)(`hasError`),target:`speaking`}}},connecting:{on:{SOCKET_OPEN:`ready`}},ready:{on:{SPEAK:`speaking`}},listening:{on:{SPEAK:`speaking`}},thinking:{on:{SPEAK:`speaking`}},speaking:{},error:{on:{ACTIVITY:{guard:EC,target:`listening`,actions:`clearError`},CLOSED:{}}}}},fatal:{initial:`no`,states:{no:{on:{FATAL:`yes`}},yes:{on:{HANDSHAKE_COMPLETE:`no`}}}}}});function OC(){let e=(0,B.createActor)(DC).start();function t(){let t=e.getSnapshot();return{state:t.value.phase,error:t.context.error}}return{snapshot:t,apply(n){return e.send(n),t()},fatal:()=>e.getSnapshot().matches({fatal:`yes`})}}function kC(e){let{state:t}=e.snapshot();(t===`speaking`||t===`thinking`)&&(e.bargeIn(),e.updateState(e.agentState.apply({type:`LISTEN`})))}function AC(e){function t(t){kC(e),e.sendJson({type:`user_text`,text:t})}return{userTurn:MC(e),sendText(n,r){let i=n.trim();if(i!==``){if(e.connected()&&e.queued.length===0){t(i);return}(e.queued.length!==0||r?.connect===!0)&&(e.queued.push(i),e.open())}},flushQueued(){if(e.connected())for(let n of e.queued.splice(0))t(n)},sendToolResult(t,n){e.connected()&&e.sendJson({type:`tool_result`,toolCallId:t,...jC(n)})}}}function jC(e){if(`error`in e)return{result:``,error:e.error};try{return{result:JSON.stringify(e.result??null)??`null`}}catch(e){return{result:``,error:`Tool result is not JSON-serializable: ${String(e)}`}}}function MC(e){return{start(){e.connected()&&(kC(e),e.sendJson({type:`user_turn_start`}))},commit(){e.connected()&&e.sendJson({type:`user_turn_commit`})},clear(){e.connected()&&(e.updateState({userTranscript:null}),e.sendJson({type:`user_turn_clear`}))}}}function NC(e){return PC(e,{})}function PC(e,t){let n={...yC,state:`disconnected`,contentVersion:0,started:!1,running:!1,recording:!1,micMuted:!1,apiUrl:sC(e.platformUrl).toString()},r=new Set;function i(){for(let e of r)e()}let a=[`messages`,`toolCalls`,`userTranscript`,`agentTranscript`];function o(e,t){return t[e]===n[e]}let s=[];function c(e){e.running===!1&&(s.length=0),!Object.keys(e).every(t=>o(t,e))&&(n=a.some(t=>t in e&&e[t]!==n[t])?{...n,...e,contentVersion:n.contentVersion+1}:{...n,...e},i())}function l(){return n}function u(e){return r.add(e),()=>{r.delete(e)}}let d=OC(),f={ws:null,retiredByServer:!1,turn:Al()},p=null,m=bS(e,()=>h),h=fC({...e,client:m.clientId},i);function g(){c(yC)}function _(){return f.ws?.readyState===1?f.ws:null}function v(e){_()?.send(JSON.stringify(e))}let y=CC({conn:f,snapshot:()=>n,updateState:c}),b=TC(e.preConnectAudio!==!1),x=DS(CS({conn:f,updateState:c,agentState:d,sendJson:v,mic:y,preConnect:b,openAudioPath:t.openAudioPath})),{handleMessage:ee}=xC({getSnapshot:l,updateState:c,conn:f,agentState:d,audio:x});function S(){p?.abort(),p=null,b.release(),x.teardown(),f.ws?.close(),f.ws=null}function C(t){h.configured(t.sid),e.onSessionId?.(t.sid),ne(),x.start(t)}function w(e){if(e?.signal?.aborted){ae();return}c(d.apply({type:`CONNECT`})),S(),b.begin(),f.retiredByServer=!1;let t=new AbortController;p=t;let{signal:n}=t;e?.signal&&e.signal.addEventListener(`abort`,()=>ae(),{signal:n});let r=h.open();r.binaryType=`arraybuffer`,f.ws=r;let i=!1,a=gC({socket:r,signal:n,onRetry:()=>{x.teardown(),c({...d.apply({type:`CONNECT`}),recording:!1})},onExhausted:()=>{b.release(),x.teardown(),t.abort(),r.close(),f.ws=null,c({...d.apply({type:`FAILED`,error:pC}),...xS})}});r.addEventListener(`open`,()=>{c(d.apply({type:`SOCKET_OPEN`})),a.arm()},{signal:n}),r.addEventListener(`message`,e=>{let t=ee(e.data);t&&(a.succeeded(),C(t))},{signal:n}),r.addEventListener(`error`,()=>{i=!0},{signal:n}),r.addEventListener(`close`,e=>{if(n.aborted)return;if(a.disarm(),x.teardown(),!(f.retiredByServer||d.fatal())&&KS(r)){i=!1,c({...d.apply({type:`CONNECT`}),recording:!1});return}b.release(),t.abort(),r.close(),f.ws=null;let o=kS(e,i);c({...o===null?d.apply({type:`CLOSED`}):d.apply({type:`FAILED`,error:{code:`connection`,message:o,fatal:!1}}),...xS})},{signal:n})}function T(){_()&&(SS(f,x),c(d.apply({type:`LISTEN`})),v({type:`cancel`}))}let{userTurn:te,sendText:E,flushQueued:ne,sendToolResult:re}=AC({snapshot:()=>n,connected:()=>_()!==null,queued:s,open:()=>{n.running||(n.started?se:oe)()},bargeIn:()=>SS(f,x),agentState:d,updateState:c,sendJson:v});function ie(){if(SS(f,x),_()){v({type:`reset`});return}ce(),oe()}function ae(){S(),c({...d.apply({type:`DISCONNECT`}),...xS})}function oe(){c({started:!0,running:!0}),w()}function se(){n.running?ae():(c({running:!0}),w())}function ce(){S(),h.forget(),c({...yC,...d.apply({type:`END`}),started:!1,...xS})}function le(){ce(),oe()}function ue(e){if(!Vl.test(e))throw RangeError(`resume: "${e}" is not a session id (${Vl})`);ce(),h.adopt(e),oe()}return{getSnapshot:l,subscribe:u,connect:w,cancel:T,userTurn:Object.freeze(te),identity:m,sendText:E,sendToolResult:re,setMicMuted:y.setMicMuted,resetState:g,reset:ie,disconnect:ae,start:oe,toggle:se,end:ce,restart:le,resume:ue,[Symbol.dispose](){ae()}}}function FC(e=`#app`){if(typeof e!=`string`)return e;let t=document.querySelector(e);if(!t)throw Error(`Element not found: ${e} — no element matches that selector when the mount runs. Add \`<div id="app"></div>\` (or the element your selector names) to the page before the script, or pass the element itself as the mount's \`target\` option.`);return t}function IC(e,t,n){let r=(0,ju.createRoot)(e);return(0,Au.flushSync)(()=>{r.render(t)}),{dispose(){r.unmount(),n?.()},[Symbol.dispose](){this.dispose()}}}function LC({name:e,icon:t,subtitle:n,buttonText:r,Sidebar:i,...a}){let o=(0,U.jsx)(Xx,{title:e,icon:t});return(0,U.jsx)(Qx,{title:e,icon:t,subtitle:n,buttonText:r,children:i?(0,U.jsx)(Zx,{sidebar:(0,U.jsx)(i,{}),sidebarWidth:a.sidebarWidth,sidebarPosition:a.sidebarPosition,children:o}):o})}function RC({platformUrl:e,...t}){let{name:n}=t,[r,i]=(0,V.useState)(null),a=n===void 0;return(0,V.useEffect)(()=>{if(!a)return;let t=!1;return yu(e).then(e=>{t||i(e)}),()=>{t=!0}},[e,a]),(0,U.jsx)(LC,{...t,name:n??r?.name})}function zC(e,t){let n=e.component,r=e.sidebar;return n?r?(0,U.jsx)(Zx,{sidebar:(0,U.jsx)(r,{}),sidebarWidth:e.sidebarWidth,sidebarPosition:e.sidebarPosition,children:(0,U.jsx)(n,{})}):(0,U.jsx)(n,{}):(0,U.jsx)(RC,{platformUrl:t,name:e.name,icon:e.icon,subtitle:e.subtitle,buttonText:e.buttonText,Sidebar:r,sidebarWidth:e.sidebarWidth,sidebarPosition:e.sidebarPosition})}function BC(e){return VC(e,NC)}function VC(e,t){let n=FC(e.target),r=e.platformUrl??pu(),i=t({platformUrl:r,onSessionId:e.onSessionId,resumeSessionId:e.resumeSessionId,location:e.location,phone:e.phone,client:e.client,token:e.token,WebSocket:e.WebSocket});mu(e.name);let a=zC(e,r),o=e.tools??{};return{session:i,...IC(n,(0,V.createElement)(Lx.Provider,{value:o},(0,V.createElement)(Uu,{value:e.theme},(0,V.createElement)(Fu,{value:i},a))),()=>i[Symbol.dispose]())}}var HC=(0,V.createContext)(void 0),UC=HC.Provider;function WC(){let[e,t]=(0,V.useState)(()=>new Set),n=(0,V.useCallback)((e,n)=>{t(t=>{if(n===t.has(e))return t;let r=new Set(t);return n?r.add(e):r.delete(e),r})},[]);return{pending:e.size>0,declare:n}}function GC(e){let t=(0,V.useContext)(HC),n=(0,V.useId)();(0,V.useEffect)(()=>{if(t)return t(n,e),()=>t(n,!1)},[t,n,e])}async function KC(e){let t={};for(let n of Array.from(e.elements))n instanceof HTMLInputElement?await JC(n,t):(n instanceof HTMLTextAreaElement||n instanceof HTMLSelectElement)&&n.name!==``&&!n.disabled&&(t[n.name]=n instanceof HTMLSelectElement?qC(n):n.value);return t}function qC(e){return e.multiple?Array.from(e.selectedOptions,e=>e.value):e.value}async function JC(e,t){if(!(e.name===``||e.disabled))switch(e.type){case`checkbox`:t[e.name]=e.checked;return;case`radio`:e.checked&&(t[e.name]=e.value);return;case`number`:case`range`:{if(e.value===``)return;let n=e.valueAsNumber;t[e.name]=Number.isNaN(n)?e.value:n;return}case`file`:{let n=Array.from(e.files??[]);if(n.length===0)return;let r=await YC(n,XC(e.dataset.aaiRead));t[e.name]=e.multiple?r:r[0];return}default:t[e.name]=e.value}}function YC(e,t){return t===`upload`?Promise.resolve([...e]):Promise.all(e.map(e=>ZC(e,t)))}function XC(e){return e===`text`||e===`dataUrl`||e===`upload`?e:`none`}async function ZC(e,t){let n={name:e.name,size:e.size,type:e.type,lastModified:e.lastModified};return t===`none`?n:{...n,content:t===`text`?await e.text():await QC(e)}}function QC(e){return new Promise((t,n)=>{let r=new FileReader;r.onerror=()=>n(r.error??Error(`Could not read ${e.name}`)),r.onload=()=>t(String(r.result)),r.readAsDataURL(e)})}function $C({label:e,hint:t,htmlFor:n,className:r,children:i}){let a=Ku();return(0,U.jsxs)(`div`,{className:H(`flex flex-col gap-1.5`,r),children:[e!==void 0&&(0,U.jsx)(`label`,{htmlFor:n,className:`text-[11px] font-medium uppercase tracking-[1.2px]`,style:{color:a.text},children:e}),i,t!==void 0&&(0,U.jsx)(`p`,{className:`text-xs opacity-60`,style:{color:a.text},children:t})]})}function ew(){let e=Ku();return{className:H(`w-full rounded-aai border px-3 py-2 text-sm font-aai`,$u,`disabled:cursor-not-allowed disabled:opacity-50`),style:{background:e.surface,color:e.text,borderColor:e.border,...ed(e.primary)}}}function tw(){let e=Ku(),t=ew();return{className:H(t.className,`cursor-pointer py-1.5 pl-1.5`,`file:mr-3 file:cursor-pointer file:rounded-aai file:border-0 file:px-3 file:py-1.5`,`file:text-sm file:font-medium file:font-aai`,`file:[background:var(--aai-file-button-bg)] file:[color:var(--aai-file-button-fg)]`),style:{...t.style,"--aai-file-button-bg":e.primary,"--aai-file-button-fg":e.surface}}}function nw({defaultType:e,name:t,label:n,hint:r,className:i,...a}){let o=(0,V.useId)(),s=ew();return(0,U.jsx)($C,{label:n,hint:r,htmlFor:o,className:i,children:(0,U.jsx)(`input`,{id:o,name:t,type:e,...s,...a})})}function rw(e){return(0,U.jsx)(nw,{defaultType:`text`,...e})}function iw(e){return(0,U.jsx)(nw,{defaultType:`number`,...e})}function aw({name:e,label:t,hint:n,className:r,options:i,children:a,...o}){let s=(0,V.useId)(),c=ew();return(0,U.jsx)($C,{label:t,hint:n,htmlFor:s,className:r,children:(0,U.jsx)(`select`,{id:s,name:e,...c,...o,children:a??i?.map(e=>{let t=typeof e==`string`?e:e.value,n=typeof e==`string`?e:e.label;return(0,U.jsx)(`option`,{value:t,children:n},t)})})})}function ow({name:e,label:t,hint:n,className:r,...i}){let a=(0,V.useId)(),o=Ku();return(0,U.jsx)($C,{hint:n,className:r,children:(0,U.jsxs)(`label`,{htmlFor:a,className:`flex items-center gap-2 text-sm`,style:{color:o.text},children:[(0,U.jsx)(`input`,{id:a,name:e,type:`checkbox`,style:{accentColor:o.primary},...i}),t]})})}function sw({name:e,label:t,hint:n,className:r,read:i=`none`,upload:a=!1,...o}){let s=(0,V.useId)(),c=tw();return(0,U.jsx)($C,{label:t,hint:n,htmlFor:s,className:r,children:(0,U.jsx)(`input`,{id:s,name:e,type:`file`,"data-aai-read":a?`upload`:i,...c,...o})})}function cw({onSubmit:e,error:t,children:n,className:r,...i}){let a=Ku(),[o,s]=(0,V.useState)(!1),{pending:c,declare:l}=WC(),u=(0,V.useCallback)(t=>{if(t.preventDefault(),o||c)return;let n=t.currentTarget;s(!0),(async()=>{try{await e(await KC(n))}finally{s(!1)}})()},[o,c,e]);return(0,U.jsxs)(`form`,{onSubmit:u,className:H(`flex flex-col gap-5 font-aai`,r),...i,children:[(0,U.jsx)(`fieldset`,{disabled:o||c,className:`contents`,children:(0,U.jsx)(UC,{value:l,children:n})}),t!==void 0&&t!==``&&(0,U.jsx)(`p`,{role:`alert`,className:`text-sm`,style:{color:a.primary},children:t})]})}function lw({children:e,pending:t=!1,pendingLabel:n=`Working…`,size:r,variant:i,className:a,...o}){return(0,U.jsx)(od,{type:`submit`,disabled:t,...w({size:r,variant:i,className:a}),...o,children:t?n:e})}var uw=12;function dw({upload:e,onPause:t,onResume:n,className:r}){let i=Ku(),a=(0,V.useId)();if(!e)return null;let{name:o,index:s,count:c,loaded:l,total:u,fraction:d,paused:f}=e,p=t&&n?f?n:t:void 0,m=d===void 0?void 0:Math.round(d*100),h=Ju(i.text,i.surface,65);return(0,U.jsxs)(`div`,{className:H(r??`flex flex-col gap-1.5`),children:[(0,U.jsxs)(`div`,{className:`flex items-baseline justify-between gap-4 text-xs`,children:[(0,U.jsx)(`span`,{id:a,className:`truncate`,style:{color:h},children:`${f?`Paused`:`Uploading`} ${o}${c>1?` (${s} of ${c})`:``}`}),(0,U.jsxs)(`div`,{className:`flex shrink-0 items-baseline gap-3`,children:[(0,U.jsx)(`span`,{className:`tabular-nums`,style:{color:h},children:u===void 0?ve(l):`${ve(l)} of ${ve(u)}`}),p&&(0,U.jsx)(od,{type:`button`,variant:`ghost`,className:`h-6 px-2 text-[0.625rem]`,onClick:p,children:f?`Resume`:`Pause`})]})]}),(0,U.jsx)(`div`,{role:`progressbar`,"aria-labelledby":a,"aria-valuemin":0,"aria-valuemax":100,...w({"aria-valuenow":m}),className:`h-1.5 w-full overflow-hidden rounded-full`,style:{backgroundColor:Ju(i.text,i.surface,uw)},children:(0,U.jsx)(`div`,{className:H(`h-full rounded-full transition-[width] duration-200 ease-out`,m===void 0&&!f&&`animate-pulse`),style:{backgroundColor:i.primary,width:m===void 0?`100%`:`${m}%`}})})]})}var fw=class extends Error{constructor(e,t){super(e),this.name=`ParseError`,this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}},pw=10,mw=13,hw=32,gw=6;function _w(e){if(typeof e==`function`)throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{maxBufferSize:t,onComment:n,onError:r,onEvent:i,onId:a,onRetry:o}=e,s=[],c=0,l=``,u,d=``,f=0,p,m=!1,h=!1,g=!1;function _(e){if(m)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(l!==void 0){if(e=l+e,e===``||e===`ï`||e===`ï»`){l=e;return}l=void 0,e=e.replace(/^(?:\uFEFF|\xEF\xBB\xBF)/,``)}if((h||g)&&(e=v(e),!e))return;if(!s.length){let t=ee(e);t!==``&&y(t),x();return}if(e.indexOf(`
117
+ `),BS=!0);let r=this._options.WebSocket||WebSocket;this._debug(`connect`,{url:e,protocols:n}),this._ws=n?new r(e,n):new r(e),this._ws.binaryType=this._binaryType,this._connectLock=!1,this._addListeners(),this._connectTimeout=setTimeout(()=>this._handleTimeout(),t)}).catch(e=>{this._connectLock=!1,this._handleError(new MS.ErrorEvent(Error(e.message),this))})}_handleTimeout(){this._debug(`timeout event`),this._handleError(new MS.ErrorEvent(Error(`TIMEOUT`),this))}_disconnect(e=1e3,t){if(this._clearTimeouts(),this._ws){this._removeListeners();try{(this._ws.readyState===this.OPEN||this._ws.readyState===this.CONNECTING)&&this._ws.close(e,t),this._handleClose(new MS.CloseEvent(e,t,this))}catch{}}}_acceptOpen(){this._debug(`accept open`),this._retryCount=0}_handleOpen=e=>{this._debug(`open event`);let{minUptime:t=zS.minUptime}=this._options;clearTimeout(this._connectTimeout),this._uptimeTimeout=setTimeout(()=>this._acceptOpen(),t),NS(this._ws,`WebSocket is not defined`),this._ws.binaryType=this._binaryType,this._messageQueue.forEach(e=>{this._ws?.send(e)}),this._messageQueue=[],this.onopen&&this.onopen(e),this.dispatchEvent(RS(e))};_handleMessage=e=>{this._debug(`message event`),this.onmessage&&this.onmessage(e),this.dispatchEvent(RS(e))};_handleError=e=>{this._debug(`error event`,e.message),this._disconnect(void 0,e.message===`TIMEOUT`?`timeout`:void 0),this.onerror&&this.onerror(e),this._debug(`exec error listeners`),this.dispatchEvent(RS(e)),this._connect()};_handleClose=e=>{this._debug(`close event`),this._clearTimeouts(),this._options.shouldReconnectOnClose&&!this._options.shouldReconnectOnClose(e)&&(this._shouldReconnect=!1),this._shouldReconnect&&this._connect(),this.onclose&&this.onclose(e),this.dispatchEvent(RS(e))};_removeListeners(){this._ws&&(this._debug(`removeListeners`),this._ws.removeEventListener(`open`,this._handleOpen),this._ws.removeEventListener(`close`,this._handleClose),this._ws.removeEventListener(`message`,this._handleMessage),this._ws.removeEventListener(`error`,this._handleError),this._ws.addEventListener(`error`,VS))}_addListeners(){this._ws&&(this._debug(`addListeners`),this._ws.addEventListener(`open`,this._handleOpen),this._ws.addEventListener(`close`,this._handleClose),this._ws.addEventListener(`message`,this._handleMessage),this._ws.addEventListener(`error`,this._handleError))}_clearTimeouts(){clearTimeout(this._connectTimeout),clearTimeout(this._uptimeTimeout)}},US={minReconnectionDelay:1e3,maxReconnectionDelay:15e3,reconnectionDelayGrowFactor:2,maxRetries:10};function WS(e,t){return new HS(e,t,US)}function GS(e){return e instanceof HS&&(e.reconnect(),!0)}function KS(e){return e instanceof HS&&e.shouldReconnect&&e.retryCount<US.maxRetries}var qS=`aai:session:`;function JS(e){return dS(qS,e)}function YS(e){return cS(`session`,JS(e))}function XS(e,t){lS(`session`,JS(e),t)}function ZS(e){uS(`session`,JS(e))}var QS=`aai:session-ticket:`;function $S(e){return cS(`session`,dS(QS,e))}function eC(e,t){lS(`session`,dS(QS,e),t)}function tC(e){uS(`session`,dS(QS,e))}var nC=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function rC(e){let t=e?.trim();return t===``?void 0:t}async function iC(e,t){if(typeof e!=`function`)return rC(e);try{return rC(await e(t))}catch(e){console.warn("session-core: the `token` getter failed; dialing without a ticket",e);return}}function aC(e,t){if(typeof e!=`function`)return rC(e);let n=e(t);if(typeof n!=`string`&&n!==void 0)throw TypeError("VoiceSessionOptions.token: an injected `WebSocket` opens synchronously, so its `token` getter must return a string, not a Promise");return rC(n)}function oC(e){if(e===void 0)return{};let t=`${iu}${e}`;return nC.test(t)?{protocols:[ru,t]}:{queryToken:e}}function sC(e,t,n={}){return uC(hu(e,`websocket`),t,n)}function cC(e,t,n={}){return uC(new URL(e),t,n)}var lC={"https:":`wss:`,"http:":`ws:`};function uC(e,t,n){return e.protocol=lC[e.protocol]??e.protocol,t&&e.searchParams.set(`sessionId`,t),n.location&&e.searchParams.set(`location`,n.location),n.phone&&e.searchParams.set(`phone`,n.phone),n.client&&e.searchParams.set(`client`,n.client),e}function dC(e,t){return t.queryToken!==void 0&&e.searchParams.set(`token`,t.queryToken),e.toString()}function fC(e,t){let n=e.resumeSessionId??YS(e.platformUrl),r,i=$S(e.platformUrl),a;function o(e){e!==a&&(a=e,t?.())}function s(){return{location:yS(e.location),phone:yS(e.phone),client:yS(e.client)}}async function c(){let t=iC(e.token,{sessionId:n}),a=n===void 0?void 0:i,o=r===!1?null:await vu(e.platformUrl,void 0,a);o&&(r=o.sessionUrl!==void 0||o.sessionToken!==void 0);let c=await t;c===void 0&&o?.sessionToken!==void 0&&(i=o.sessionToken,eC(e.platformUrl,i));let l=oC(c??o?.sessionToken);return{url:dC(o?.sessionUrl?cC(o.sessionUrl,n,s()):sC(e.platformUrl,n,s()),l),protocols:l.protocols}}let l;return{open:()=>{if(e.WebSocket){let t=oC(aC(e.token,{sessionId:n})),r=dC(sC(e.platformUrl,n,s()),t);return t.protocols?new e.WebSocket(r,t.protocols):new e.WebSocket(r)}return WS(async()=>(l=c(),(await l).url),async()=>(await(l??c())).protocols??null)},configured:t=>{n=t,XS(e.platformUrl,t),o(t)},adopt:t=>{n=t,XS(e.platformUrl,t)},forget:()=>{n=void 0,ZS(e.platformUrl),i=void 0,tC(e.platformUrl),o(void 0)},sessionId:()=>a,ticket:()=>{if(e.token!==void 0)return typeof e.token==`function`?iC(e.token,{sessionId:void 0}):aC(e.token,{sessionId:void 0});if(r!==!1)return vu(e.platformUrl).then(e=>(e&&(r=e.sessionUrl!==void 0||e.sessionToken!==void 0),e?.sessionToken))}}}var pC={code:`connection`,message:`Agent did not complete the session handshake`,fatal:!1},mC=1e4,hC=3;function gC(e){let t,n=0;function r(){t!==void 0&&(clearTimeout(t),t=void 0)}function i(){if(t=void 0,n+=1,n<hC&&GS(e.socket)){e.onRetry();return}e.onExhausted()}return e.signal.addEventListener(`abort`,r),{arm(){r(),t=setTimeout(i,mC)},disarm:r,succeeded(){r(),n=0}}}var _C=200,vC=200,yC={messages:[],toolCalls:[],customEvents:[],agentState:null,userTranscript:null,agentTranscript:null,error:null};function bC(e,t,n){if(e.length<n)return[...e,t];let r=e.slice(e.length-n+1);return r.push(t),r}function xC(e){let{getSnapshot:t,updateState:n,conn:r,agentState:i,audio:a}=e,o=0,s=0,c=0;function l(e,r){n({customEvents:bC(t().customEvents,{id:++o,event:e,data:r},_C)})}function u(e){r.turn.bump(),n({userTranscript:null,messages:bC(t().messages,{id:++s,role:`user`,content:e},vC),...i.apply({type:`THINK`})})}function d(e){n({agentTranscript:e})}function f(){let e=t().agentTranscript;if(e===null||e.length===0){n({agentTranscript:null});return}n({agentTranscript:null,messages:bC(t().messages,{id:++s,role:`assistant`,content:e},vC)})}function p(){n(i.apply({type:`ACTIVITY`}))}function m(e={}){n({...e,...i.apply({type:`LISTEN`})})}function h(e){console.error(`Agent error:`,e.message);let t={code:e.code,message:e.message,fatal:e.fatal};e.fatal?(a.teardown(),n({...i.apply({type:`FATAL`,error:t}),...xS})):n(i.apply({type:`TURN_ERROR`,error:t}))}function g(e){switch(e.type!==`error.reported`&&p(),e.type){case`speech.started`:n({userTranscript:``});break;case`speech.stopped`:break;case`userTranscript.committed`:u(e.text);break;case`userTranscript.updated`:n({userTranscript:e.text});break;case`agentTranscript.updated`:case`agentTranscript.committed`:d(e.text);break;case`tool.called`:n({toolCalls:bC(t().toolCalls,{callId:e.toolCallId,name:e.toolName,args:xl(e.args),status:`pending`,seq:++c,afterMessageId:t().messages.at(-1)?.id??-1},vC)});break;case`tool.completed`:{let r=t().toolCalls,i=r.findIndex(t=>t.callId===e.toolCallId),a=r[i];if(!a)break;let o=[...r];o[i]={...a,status:`done`,result:e.result},n({toolCalls:o});break}case`reply.completed`:f(),m();break;case`reply.cancelled`:SS(r,a),f(),m({userTranscript:null});break;case`session.reset`:{SS(r,a);let e=i.apply({type:`RESET`});n(i.fatal()?e:{...yC,...e});break}case`custom.emitted`:l(e.event,e.data);break;case`state.updated`:n({agentState:SC(t().agentState,e.state)});break;case`history.restored`:{s=0,c=0;let t=e.messages.slice(-vC).map(e=>({id:++s,role:e.role,content:e.content}));n({messages:t,toolCalls:e.toolCalls.slice(-vC).map(e=>({callId:e.callId,name:e.name,args:xl(e.args),status:e.status,...w({result:e.result}),seq:++c,afterMessageId:t[e.afterMessageIndex]?.id??-1}))});break}case`error.reported`:h(e);break;case`session.timedOut`:r.retiredByServer=!0}}function _(e){n(i.apply({type:`SPEAK`})),a.enqueue(e)}function v(){a.done()}function y(e){if(e instanceof ArrayBuffer){_(e);return}if(typeof e!=`string`){console.warn(`session-core: non-string, non-binary frame received; dropping`);return}let t=T(e);if(t===void 0){console.warn(`session-core: invalid JSON; dropping`);return}let n=tu($l,t);if(!n.ok){n.malformed&&console.warn(`session-core: malformed server message`,n.error);return}let r=n.data;if(r.type===`session.configured`)return i.apply({type:`HANDSHAKE_COMPLETE`}),{sampleRate:r.sampleRate,ttsSampleRate:r.ttsSampleRate,sid:r.sessionId};if(r.type===`audio.completed`){v();return}g(r)}return{handleMessage:y}}function SC(e,t){if(e===null)return t;let n={};for(let[r,i]of Object.entries(t)){let t=e[r];n[r]=r in e&&JSON.stringify(t)===JSON.stringify(i)?t:i}return n}function CC(e){let t=new ArrayBuffer(0),n=e=>(t.byteLength!==e&&(t=new ArrayBuffer(e)),t);return{sendAudio(t){let r=e.conn.ws;r?.readyState===1&&(r.bufferedAmount>65536||r.send(e.snapshot().micMuted?n(t.byteLength):t))},sendBuffered(t){let r=e.conn.ws;if(r?.readyState!==1)return;let i=e.snapshot().micMuted;for(let e of t)r.send(i?n(e.byteLength):e)},setMicMuted(t){e.updateState({micMuted:t})}}}var wC=16e3;function TC(e){let t=null,n=null;return{begin(){if(iS().catch(()=>{}),!e||t!==null)return;let r={released:!1};n=r,t=Promise.all([nS(()=>import(`./audio-CABEDpag.js`),[],import.meta.url),iS()]).then(([{openPreConnectCapture:e},[,t]])=>r.released?null:e({sampleRate:wC,captureWorkletSrc:t,maxSeconds:10})).catch(()=>null)},take(){let e=t;return t=null,n=null,e},release(){let e=t;t=null,n&&(n.released=!0),n=null,e?.then(e=>e?.close())}}}var EC=(0,B.not)((0,B.stateIn)({fatal:`yes`})),DC=(0,B.setup)({types:{},guards:{hasError:({context:e})=>e.error!==null},actions:{clearError:(0,B.assign)({error:null}),setError:(0,B.assign)({error:({context:e,event:t})=>t.type===`TURN_ERROR`||t.type===`FATAL`||t.type===`FAILED`?t.error:e.error})}}).createMachine({id:`sessionState`,type:`parallel`,context:{error:null},states:{phase:{initial:`disconnected`,on:{CONNECT:{target:`.connecting`,actions:`clearError`},CLOSED:{target:`.disconnected`,actions:`clearError`},DISCONNECT:`.disconnected`,END:{target:`.disconnected`,actions:`clearError`},TURN_ERROR:{actions:`setError`},FATAL:{target:`.error`,actions:`setError`},FAILED:{target:`.error`,actions:`setError`},LISTEN:{guard:EC,target:`.listening`},RESET:{guard:EC,target:`.listening`,actions:`clearError`},THINK:{guard:EC,target:`.thinking`},ACTIVITY:{guard:(0,B.and)([EC,`hasError`]),actions:`clearError`}},states:{disconnected:{on:{SPEAK:{guard:(0,B.not)(`hasError`),target:`speaking`}}},connecting:{on:{SOCKET_OPEN:`ready`}},ready:{on:{SPEAK:`speaking`}},listening:{on:{SPEAK:`speaking`}},thinking:{on:{SPEAK:`speaking`}},speaking:{},error:{on:{ACTIVITY:{guard:EC,target:`listening`,actions:`clearError`},CLOSED:{}}}}},fatal:{initial:`no`,states:{no:{on:{FATAL:`yes`}},yes:{on:{HANDSHAKE_COMPLETE:`no`}}}}}});function OC(){let e=(0,B.createActor)(DC).start();function t(){let t=e.getSnapshot();return{state:t.value.phase,error:t.context.error}}return{snapshot:t,apply(n){return e.send(n),t()},fatal:()=>e.getSnapshot().matches({fatal:`yes`})}}function kC(e){let{state:t}=e.snapshot();(t===`speaking`||t===`thinking`)&&(e.bargeIn(),e.updateState(e.agentState.apply({type:`LISTEN`})))}function AC(e){function t(t){kC(e),e.sendJson({type:`user_text`,text:t})}return{userTurn:MC(e),sendText(n,r){let i=n.trim();if(i!==``){if(e.connected()&&e.queued.length===0){t(i);return}(e.queued.length!==0||r?.connect===!0)&&(e.queued.push(i),e.open())}},flushQueued(){if(e.connected())for(let n of e.queued.splice(0))t(n)},sendToolResult(t,n){e.connected()&&e.sendJson({type:`tool_result`,toolCallId:t,...jC(n)})}}}function jC(e){if(`error`in e)return{result:``,error:e.error};try{return{result:JSON.stringify(e.result??null)??`null`}}catch(e){return{result:``,error:`Tool result is not JSON-serializable: ${String(e)}`}}}function MC(e){return{start(){e.connected()&&(kC(e),e.sendJson({type:`user_turn_start`}))},commit(){e.connected()&&e.sendJson({type:`user_turn_commit`})},clear(){e.connected()&&(e.updateState({userTranscript:null}),e.sendJson({type:`user_turn_clear`}))}}}function NC(e){return PC(e,{})}function PC(e,t){let n={...yC,state:`disconnected`,contentVersion:0,started:!1,running:!1,recording:!1,micMuted:!1,apiUrl:sC(e.platformUrl).toString()},r=new Set;function i(){for(let e of r)e()}let a=[`messages`,`toolCalls`,`userTranscript`,`agentTranscript`];function o(e,t){return t[e]===n[e]}let s=[];function c(e){e.running===!1&&(s.length=0),!Object.keys(e).every(t=>o(t,e))&&(n=a.some(t=>t in e&&e[t]!==n[t])?{...n,...e,contentVersion:n.contentVersion+1}:{...n,...e},i())}function l(){return n}function u(e){return r.add(e),()=>{r.delete(e)}}let d=OC(),f={ws:null,retiredByServer:!1,turn:Al()},p=null,m=bS(e,()=>h),h=fC({...e,client:m.clientId},i);function g(){c(yC)}function _(){return f.ws?.readyState===1?f.ws:null}function v(e){_()?.send(JSON.stringify(e))}let y=CC({conn:f,snapshot:()=>n,updateState:c}),b=TC(e.preConnectAudio!==!1),x=DS(CS({conn:f,updateState:c,agentState:d,sendJson:v,mic:y,preConnect:b,openAudioPath:t.openAudioPath})),{handleMessage:ee}=xC({getSnapshot:l,updateState:c,conn:f,agentState:d,audio:x});function S(){p?.abort(),p=null,b.release(),x.teardown(),f.ws?.close(),f.ws=null}function C(t){h.configured(t.sid),e.onSessionId?.(t.sid),ne(),x.start(t)}function w(e){if(e?.signal?.aborted){ae();return}c(d.apply({type:`CONNECT`})),S(),b.begin(),f.retiredByServer=!1;let t=new AbortController;p=t;let{signal:n}=t;e?.signal&&e.signal.addEventListener(`abort`,()=>ae(),{signal:n});let r=h.open();r.binaryType=`arraybuffer`,f.ws=r;let i=!1,a=gC({socket:r,signal:n,onRetry:()=>{x.teardown(),c({...d.apply({type:`CONNECT`}),recording:!1})},onExhausted:()=>{b.release(),x.teardown(),t.abort(),r.close(),f.ws=null,c({...d.apply({type:`FAILED`,error:pC}),...xS})}});r.addEventListener(`open`,()=>{c(d.apply({type:`SOCKET_OPEN`})),a.arm()},{signal:n}),r.addEventListener(`message`,e=>{let t=ee(e.data);t&&(a.succeeded(),C(t))},{signal:n}),r.addEventListener(`error`,()=>{i=!0},{signal:n}),r.addEventListener(`close`,e=>{if(n.aborted)return;if(a.disarm(),x.teardown(),!(f.retiredByServer||d.fatal())&&KS(r)){i=!1,c({...d.apply({type:`CONNECT`}),recording:!1});return}b.release(),t.abort(),r.close(),f.ws=null;let o=kS(e,i);c({...o===null?d.apply({type:`CLOSED`}):d.apply({type:`FAILED`,error:{code:`connection`,message:o,fatal:!1}}),...xS})},{signal:n})}function T(){_()&&(SS(f,x),c(d.apply({type:`LISTEN`})),v({type:`cancel`}))}let{userTurn:te,sendText:E,flushQueued:ne,sendToolResult:re}=AC({snapshot:()=>n,connected:()=>_()!==null,queued:s,open:()=>{n.running||(n.started?se:oe)()},bargeIn:()=>SS(f,x),agentState:d,updateState:c,sendJson:v});function ie(){if(SS(f,x),_()){v({type:`reset`});return}ce(),oe()}function ae(){S(),c({...d.apply({type:`DISCONNECT`}),...xS})}function oe(){c({started:!0,running:!0}),w()}function se(){n.running?ae():(c({running:!0}),w())}function ce(){S(),h.forget(),c({...yC,...d.apply({type:`END`}),started:!1,...xS})}function le(){ce(),oe()}function ue(e){if(!Vl.test(e))throw RangeError(`resume: "${e}" is not a session id (${Vl})`);ce(),h.adopt(e),oe()}return{getSnapshot:l,subscribe:u,connect:w,cancel:T,userTurn:Object.freeze(te),identity:m,sendText:E,sendToolResult:re,setMicMuted:y.setMicMuted,resetState:g,reset:ie,disconnect:ae,start:oe,toggle:se,end:ce,restart:le,resume:ue,[Symbol.dispose](){ae()}}}function FC(e=`#app`){if(typeof e!=`string`)return e;let t=document.querySelector(e);if(!t)throw Error(`Element not found: ${e} — no element matches that selector when the mount runs. Add \`<div id="app"></div>\` (or the element your selector names) to the page before the script, or pass the element itself as the mount's \`target\` option.`);return t}function IC(e,t,n){let r=(0,ju.createRoot)(e);return(0,Au.flushSync)(()=>{r.render(t)}),{dispose(){r.unmount(),n?.()},[Symbol.dispose](){this.dispose()}}}function LC({name:e,icon:t,subtitle:n,buttonText:r,Sidebar:i,...a}){let o=(0,U.jsx)(Xx,{title:e,icon:t});return(0,U.jsx)(Qx,{title:e,icon:t,subtitle:n,buttonText:r,children:i?(0,U.jsx)(Zx,{sidebar:(0,U.jsx)(i,{}),sidebarWidth:a.sidebarWidth,sidebarPosition:a.sidebarPosition,children:o}):o})}function RC({platformUrl:e,...t}){let{name:n}=t,[r,i]=(0,V.useState)(null),a=n===void 0;return(0,V.useEffect)(()=>{if(!a)return;let t=!1;return yu(e).then(e=>{t||i(e)}),()=>{t=!0}},[e,a]),(0,U.jsx)(LC,{...t,name:n??r?.name})}function zC(e,t){let n=e.component,r=e.sidebar;return n?r?(0,U.jsx)(Zx,{sidebar:(0,U.jsx)(r,{}),sidebarWidth:e.sidebarWidth,sidebarPosition:e.sidebarPosition,children:(0,U.jsx)(n,{})}):(0,U.jsx)(n,{}):(0,U.jsx)(RC,{platformUrl:t,name:e.name,icon:e.icon,subtitle:e.subtitle,buttonText:e.buttonText,Sidebar:r,sidebarWidth:e.sidebarWidth,sidebarPosition:e.sidebarPosition})}function BC(e){return VC(e,NC)}function VC(e,t){let n=FC(e.target),r=e.platformUrl??pu(),i=t({platformUrl:r,onSessionId:e.onSessionId,resumeSessionId:e.resumeSessionId,location:e.location,phone:e.phone,client:e.client,token:e.token,WebSocket:e.WebSocket});mu(e.name);let a=zC(e,r),o=e.tools??{};return{session:i,...IC(n,(0,V.createElement)(Lx.Provider,{value:o},(0,V.createElement)(Uu,{value:e.theme},(0,V.createElement)(Fu,{value:i},a))),()=>i[Symbol.dispose]())}}var HC=(0,V.createContext)(void 0),UC=HC.Provider;function WC(){let[e,t]=(0,V.useState)(()=>new Set),n=(0,V.useCallback)((e,n)=>{t(t=>{if(n===t.has(e))return t;let r=new Set(t);return n?r.add(e):r.delete(e),r})},[]);return{pending:e.size>0,declare:n}}function GC(e){let t=(0,V.useContext)(HC),n=(0,V.useId)();(0,V.useEffect)(()=>{if(t)return t(n,e),()=>t(n,!1)},[t,n,e])}async function KC(e){let t={};for(let n of Array.from(e.elements))n instanceof HTMLInputElement?await JC(n,t):(n instanceof HTMLTextAreaElement||n instanceof HTMLSelectElement)&&n.name!==``&&!n.disabled&&(t[n.name]=n instanceof HTMLSelectElement?qC(n):n.value);return t}function qC(e){return e.multiple?Array.from(e.selectedOptions,e=>e.value):e.value}async function JC(e,t){if(!(e.name===``||e.disabled))switch(e.type){case`checkbox`:t[e.name]=e.checked;return;case`radio`:e.checked&&(t[e.name]=e.value);return;case`number`:case`range`:{if(e.value===``)return;let n=e.valueAsNumber;t[e.name]=Number.isNaN(n)?e.value:n;return}case`file`:{let n=Array.from(e.files??[]);if(n.length===0)return;let r=await YC(n,XC(e.dataset.aaiRead));t[e.name]=e.multiple?r:r[0];return}default:t[e.name]=e.value}}function YC(e,t){return t===`upload`?Promise.resolve([...e]):Promise.all(e.map(e=>ZC(e,t)))}function XC(e){return e===`text`||e===`dataUrl`||e===`upload`?e:`none`}async function ZC(e,t){let n={name:e.name,size:e.size,type:e.type,lastModified:e.lastModified};return t===`none`?n:{...n,content:t===`text`?await e.text():await QC(e)}}function QC(e){return new Promise((t,n)=>{let r=new FileReader;r.onerror=()=>n(r.error??Error(`Could not read ${e.name}`)),r.onload=()=>t(String(r.result)),r.readAsDataURL(e)})}function $C({label:e,hint:t,htmlFor:n,className:r,children:i}){let a=Ku();return(0,U.jsxs)(`div`,{className:H(`flex flex-col gap-1.5`,r),children:[e!==void 0&&(0,U.jsx)(`label`,{htmlFor:n,className:`text-[11px] font-medium uppercase tracking-[1.2px]`,style:{color:a.text},children:e}),i,t!==void 0&&(0,U.jsx)(`p`,{className:`text-xs opacity-60`,style:{color:a.text},children:t})]})}function ew(){let e=Ku();return{className:H(`w-full rounded-aai border px-3 py-2 text-sm font-aai`,$u,`disabled:cursor-not-allowed disabled:opacity-50`),style:{background:e.surface,color:e.text,borderColor:e.border,...ed(e.primary)}}}function tw(){let e=Ku(),t=ew();return{className:H(t.className,`cursor-pointer py-1.5 pl-1.5`,`file:mr-3 file:cursor-pointer file:rounded-aai file:border-0 file:px-3 file:py-1.5`,`file:text-sm file:font-medium file:font-aai`,`file:[background:var(--aai-file-button-bg)] file:[color:var(--aai-file-button-fg)]`),style:{...t.style,"--aai-file-button-bg":e.primary,"--aai-file-button-fg":e.surface}}}function nw({defaultType:e,name:t,label:n,hint:r,className:i,...a}){let o=(0,V.useId)(),s=ew();return(0,U.jsx)($C,{label:n,hint:r,htmlFor:o,className:i,children:(0,U.jsx)(`input`,{id:o,name:t,type:e,...s,...a})})}function rw(e){return(0,U.jsx)(nw,{defaultType:`text`,...e})}function iw(e){return(0,U.jsx)(nw,{defaultType:`number`,...e})}function aw({name:e,label:t,hint:n,className:r,options:i,children:a,...o}){let s=(0,V.useId)(),c=ew();return(0,U.jsx)($C,{label:t,hint:n,htmlFor:s,className:r,children:(0,U.jsx)(`select`,{id:s,name:e,...c,...o,children:a??i?.map(e=>{let t=typeof e==`string`?e:e.value,n=typeof e==`string`?e:e.label;return(0,U.jsx)(`option`,{value:t,children:n},t)})})})}function ow({name:e,label:t,hint:n,className:r,...i}){let a=(0,V.useId)(),o=Ku();return(0,U.jsx)($C,{hint:n,className:r,children:(0,U.jsxs)(`label`,{htmlFor:a,className:`flex items-center gap-2 text-sm`,style:{color:o.text},children:[(0,U.jsx)(`input`,{id:a,name:e,type:`checkbox`,style:{accentColor:o.primary},...i}),t]})})}function sw({name:e,label:t,hint:n,className:r,read:i=`none`,upload:a=!1,...o}){let s=(0,V.useId)(),c=tw();return(0,U.jsx)($C,{label:t,hint:n,htmlFor:s,className:r,children:(0,U.jsx)(`input`,{id:s,name:e,type:`file`,"data-aai-read":a?`upload`:i,...c,...o})})}function cw({onSubmit:e,error:t,children:n,className:r,...i}){let a=Ku(),[o,s]=(0,V.useState)(!1),{pending:c,declare:l}=WC(),u=(0,V.useCallback)(t=>{if(t.preventDefault(),o||c)return;let n=t.currentTarget;s(!0),(async()=>{try{await e(await KC(n))}finally{s(!1)}})()},[o,c,e]);return(0,U.jsxs)(`form`,{onSubmit:u,className:H(`flex flex-col gap-5 font-aai`,r),...i,children:[(0,U.jsx)(`fieldset`,{disabled:o||c,className:`contents`,children:(0,U.jsx)(UC,{value:l,children:n})}),t!==void 0&&t!==``&&(0,U.jsx)(`p`,{role:`alert`,className:`text-sm`,style:{color:a.primary},children:t})]})}function lw({children:e,pending:t=!1,pendingLabel:n=`Working…`,size:r,variant:i,className:a,...o}){return(0,U.jsx)(od,{type:`submit`,disabled:t,...w({size:r,variant:i,className:a}),...o,children:t?n:e})}var uw=12;function dw({upload:e,onPause:t,onResume:n,className:r}){let i=Ku(),a=(0,V.useId)();if(!e)return null;let{name:o,index:s,count:c,loaded:l,total:u,fraction:d,paused:f}=e,p=t&&n?f?n:t:void 0,m=d===void 0?void 0:Math.round(d*100),h=Ju(i.text,i.surface,65);return(0,U.jsxs)(`div`,{className:H(r??`flex flex-col gap-1.5`),children:[(0,U.jsxs)(`div`,{className:`flex items-baseline justify-between gap-4 text-xs`,children:[(0,U.jsx)(`span`,{id:a,className:`truncate`,style:{color:h},children:`${f?`Paused`:`Uploading`} ${o}${c>1?` (${s} of ${c})`:``}`}),(0,U.jsxs)(`div`,{className:`flex shrink-0 items-baseline gap-3`,children:[(0,U.jsx)(`span`,{className:`tabular-nums`,style:{color:h},children:u===void 0?ve(l):`${ve(l)} of ${ve(u)}`}),p&&(0,U.jsx)(od,{type:`button`,variant:`ghost`,className:`h-6 px-2 text-[0.625rem]`,onClick:p,children:f?`Resume`:`Pause`})]})]}),(0,U.jsx)(`div`,{role:`progressbar`,"aria-labelledby":a,"aria-valuemin":0,"aria-valuemax":100,...w({"aria-valuenow":m}),className:`h-1.5 w-full overflow-hidden rounded-full`,style:{backgroundColor:Ju(i.text,i.surface,uw)},children:(0,U.jsx)(`div`,{className:H(`h-full rounded-full transition-[width] duration-200 ease-out`,m===void 0&&!f&&`animate-pulse`),style:{backgroundColor:i.primary,width:m===void 0?`100%`:`${m}%`}})})]})}var fw=class extends Error{constructor(e,t){super(e),this.name=`ParseError`,this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}},pw=10,mw=13,hw=32,gw=6;function _w(e){if(typeof e==`function`)throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{maxBufferSize:t,onComment:n,onError:r,onEvent:i,onId:a,onRetry:o}=e,s=[],c=0,l=``,u,d=``,f=0,p,m=!1,h=!1,g=!1;function _(e){if(m)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(l!==void 0){if(e=l+e,e===``||e===`ï`||e===`ï»`){l=e;return}l=void 0,e=e.replace(/^(?:\uFEFF|\xEF\xBB\xBF)/,``)}if((h||g)&&(e=v(e),!e))return;if(!s.length){let t=ee(e);t!==``&&y(t),x();return}if(e.indexOf(`
118
118
  `)===-1&&e.indexOf(`\r`)===-1){if(c<gw&&!b(s.join(``)+e.slice(0,gw-c))){s.length=0,c=0,h=!0;return}s.push(e),c+=e.length,x();return}s.push(e);let t=s.join(``);s.length=0,c=0,y(ee(t)),x()}function v(e){if(e.length===0)return e;if(g)return g=!1,e.charCodeAt(0)===pw?e.slice(1):e;let t=e.indexOf(`\r`),n=e.indexOf(`
119
119
  `),r=t===-1?n:n===-1||t<n?t:n;return r===-1?``:r===e.length-1&&e.charCodeAt(r)===mw?(h=!1,g=!0,``):(h=!1,e.slice(r+(e.charCodeAt(r)===mw&&e.charCodeAt(r+1)===pw?2:1)))}function y(e){if(e){if(e.charCodeAt(e.length-1)===mw){S(e,0,e.length-1),g=!0;return}if(b(e)){s.push(e),c=e.length;return}h=!0}}function b(e){let t=e.charCodeAt(0);return t===58&&!!n||t===100&&bw(e,`data`)||t===101&&bw(e,`event`)||t===105&&bw(e,`id`)||t===114&&bw(e,`retry`)}function x(){t!==void 0&&(c+d.length<=t||(m=!0,s.length=0,c=0,u=void 0,d=``,f=0,p=void 0,h=!1,g=!1,r?.(new fw(`Buffered data exceeded max buffer size of ${t} characters`,{type:`max-buffer-size-exceeded`}))))}function ee(e){let t=0;if(e.indexOf(`\r`)===-1){let n=e.indexOf(`
120
120
  `,t);for(;n!==-1;){if(t===n){u!==void 0&&a?.(u),f>0&&i?.({id:u,event:p,data:d}),u=void 0,d=``,f=0,p=void 0,t=n+1,n=e.indexOf(`
@@ -1,4 +1,4 @@
1
- import{r as e}from"./index-DPfmSFmc.js";import{t}from"./_module-url-BX0RuRU2.js";var n=`
1
+ import{r as e}from"./index-DdRGAZxZ.js";import{t}from"./_module-url-BX0RuRU2.js";var n=`
2
2
  class PlaybackProcessor extends AudioWorkletProcessor {
3
3
  constructor(options) {
4
4
  super();
@@ -6,7 +6,7 @@
6
6
  <title>aai</title>
7
7
  <link rel="icon" href="./favicon.ico" />
8
8
  <style>html,body{background:#fbf8f2;margin:0}</style>
9
- <script type="module" crossorigin src="./assets/index-DPfmSFmc.js"></script>
9
+ <script type="module" crossorigin src="./assets/index-DdRGAZxZ.js"></script>
10
10
  <link rel="stylesheet" crossorigin href="./assets/index-8ihb1Urm.css">
11
11
  </head>
12
12
  <body>
@@ -1,7 +1,7 @@
1
1
  import { t as ChatView } from "./chat-view-BCbI7gD4.js";
2
2
  import { n as pageBaseUrl, r as setPageTitle } from "./_utils-Mi-SCFA1.js";
3
3
  import { n as fetchClientConfig } from "./client-config-C7fQrioM.js";
4
- import { t as createBrowserSession } from "./session-D9jM5-TF.js";
4
+ import { t as createBrowserSession } from "./session-6tIQSoak.js";
5
5
  import { SessionProvider, ThemeProvider } from "./context.js";
6
6
  import { t as ToolConfigContext } from "./tool-config-context-Es4YUzV2.js";
7
7
  import { SidebarLayout } from "./components/sidebar-layout.js";
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { a as AGENT_STATE_LABELS, i as SessionErrorBanner, n as ConsoleShell, r as SessionStateDot, t as ChatView } from "./chat-view-BCbI7gD4.js";
2
2
  import { n as pageBaseUrl, r as setPageTitle, t as isTypingTarget } from "./_utils-Mi-SCFA1.js";
3
3
  import { n as fetchClientConfig, t as buildAgentUrl } from "./client-config-C7fQrioM.js";
4
- import { a as ticketCarriage, c as resolveReported, d as storageSet, f as urlSlot, i as resolveSessionTokenSync, l as storageGet, r as resolveSessionToken, s as browserClientId, t as createBrowserSession, u as storageRemove } from "./session-D9jM5-TF.js";
4
+ import { a as ticketCarriage, c as resolveReported, d as storageSet, f as urlSlot, i as resolveSessionTokenSync, l as storageGet, r as resolveSessionToken, s as browserClientId, t as createBrowserSession, u as storageRemove } from "./session-6tIQSoak.js";
5
5
  import { ThemeProvider, useOptionalSessionCore, useSession, useSessionActions, useSessionCore, useSessionError, useSessionSelector, useSessionStatus, useTheme } from "./context.js";
6
6
  import { a as useAgentState, i as selectAgentState, n as useToolCallStart, r as useToolResult, t as useEvent } from "./hooks-DN4gHYsj.js";
7
7
  import { a as useConversation, i as interleave, n as Markdown, o as AutoScroll, r as ConversationView, t as MessageList } from "./message-list-DHZcLhRA.js";
@@ -1,2 +1,2 @@
1
- import { a as ticketCarriage, i as resolveSessionTokenSync, n as CLEARED_SESSION_STATE, o as loadAudioModules, r as resolveSessionToken, t as createBrowserSession } from "../session-D9jM5-TF.js";
1
+ import { a as ticketCarriage, i as resolveSessionTokenSync, n as CLEARED_SESSION_STATE, o as loadAudioModules, r as resolveSessionToken, t as createBrowserSession } from "../session-6tIQSoak.js";
2
2
  export { CLEARED_SESSION_STATE, createBrowserSession, loadAudioModules, resolveSessionToken, resolveSessionTokenSync, ticketCarriage };
@@ -1480,11 +1480,14 @@ const PRE_CONNECT_SAMPLE_RATE = 16e3;
1480
1480
  /** Build one session's pre-connect capture holder. @internal */
1481
1481
  function createPreConnectAudio(enabled) {
1482
1482
  let held = null;
1483
+ let attempt = null;
1483
1484
  return {
1484
1485
  begin() {
1485
1486
  loadAudioModules().catch(() => {});
1486
1487
  if (!enabled || held !== null) return;
1487
- held = Promise.all([import("./audio/index.js"), loadAudioModules()]).then(([{ openPreConnectCapture }, [, captureWorklet]]) => openPreConnectCapture({
1488
+ const current = { released: false };
1489
+ attempt = current;
1490
+ held = Promise.all([import("./audio/index.js"), loadAudioModules()]).then(([{ openPreConnectCapture }, [, captureWorklet]]) => current.released ? null : openPreConnectCapture({
1488
1491
  sampleRate: PRE_CONNECT_SAMPLE_RATE,
1489
1492
  captureWorkletSrc: captureWorklet,
1490
1493
  maxSeconds: 10
@@ -1493,11 +1496,14 @@ function createPreConnectAudio(enabled) {
1493
1496
  take() {
1494
1497
  const taken = held;
1495
1498
  held = null;
1499
+ attempt = null;
1496
1500
  return taken;
1497
1501
  },
1498
1502
  release() {
1499
1503
  const taken = held;
1500
1504
  held = null;
1505
+ if (attempt) attempt.released = true;
1506
+ attempt = null;
1501
1507
  taken?.then((capture) => capture?.close());
1502
1508
  }
1503
1509
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alexkroman1/aai-ui",
3
- "version": "0.14.0",
3
+ "version": "0.14.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -46,7 +46,7 @@
46
46
  "use-stick-to-bottom": "^1.1.6",
47
47
  "use-sync-external-store": "^1.7.0",
48
48
  "xstate": "^5.33.2",
49
- "@alexkroman1/aai": "0.14.0"
49
+ "@alexkroman1/aai": "0.14.1"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@tailwindcss/vite": "^4.3.3",