@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.
- package/dist/default-client/assets/{audio-mpgipo2Q.js → audio-CABEDpag.js} +1 -1
- package/dist/default-client/assets/{capture-processor-D0q7Qrdd.js → capture-processor-X_vJUkv4.js} +1 -1
- package/dist/default-client/assets/{index-DPfmSFmc.js → index-DdRGAZxZ.js} +3 -3
- package/dist/default-client/assets/{playback-processor-CjDbc9iH.js → playback-processor-DdO-2G6m.js} +1 -1
- package/dist/default-client/index.html +1 -1
- package/dist/define-client.js +1 -1
- package/dist/index.js +1 -1
- package/dist/session/index.js +1 -1
- package/dist/{session-D9jM5-TF.js → session-6tIQSoak.js} +7 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,i as t,t as n}from"./index-
|
|
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};
|
package/dist/default-client/assets/{capture-processor-D0q7Qrdd.js → capture-processor-X_vJUkv4.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,t}from"./index-
|
|
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-
|
|
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&>(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(`
|
package/dist/default-client/assets/{playback-processor-CjDbc9iH.js → playback-processor-DdO-2G6m.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e}from"./index-
|
|
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-
|
|
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>
|
package/dist/define-client.js
CHANGED
|
@@ -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-
|
|
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-
|
|
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";
|
package/dist/session/index.js
CHANGED
|
@@ -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-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
49
|
+
"@alexkroman1/aai": "0.14.1"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@tailwindcss/vite": "^4.3.3",
|