@helpai/elements 0.36.1 → 0.36.2
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/elements-web-component.esm.js +1 -1
- package/elements-web-component.esm.js.map +1 -1
- package/elements.cjs.js +1 -1
- package/elements.cjs.js.map +1 -1
- package/elements.esm.js +1 -1
- package/elements.esm.js.map +1 -1
- package/elements.js +1 -1
- package/elements.js.map +1 -1
- package/index.mjs +1 -1
- package/package.json +1 -1
- package/web-component.mjs +1 -1
|
@@ -8,7 +8,7 @@ var sc=Object.defineProperty;var lc=(e,t,n)=>t in e?sc(e,t,{enumerable:!0,config
|
|
|
8
8
|
|
|
9
9
|
`))!==-1;){let l=r.slice(0,s);r=r.slice(s+2);let c=Ti(l);c&&(yield c)}}}finally{n.releaseLock()}}function Ti(e){let t="",n;for(let r of e.split(`
|
|
10
10
|
`))if(!(r===""||r.startsWith(":"))){if(r.startsWith("data:")){let a=r.slice(5).replace(/^ /,"");t=t?`${t}
|
|
11
|
-
${a}`:a;continue}r.startsWith("id:")&&(n=r.slice(3).trim())}if(!t||t==="[DONE]")return null;try{let r=JSON.parse(t);return Ci.trace("chunk",{type:r.type,eventId:n}),{chunk:r,eventId:n}}catch(r){return Ci.trace("frame parse failed",{err:r,payload:t.slice(0,200)}),null}}function wd(e){let t=new TextEncoder().encode(e),n="";for(let r of t)n+=String.fromCharCode(r);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}var Ei=e=>e&&Object.keys(e).length>0?e:void 0;function Ai(e,t){let n=Ei(e),r=Ei(t);if(!n&&!r)return;let a={};return n&&(a.user=n),r&&(a.page=r),wd(JSON.stringify(a))}function jn(e){if(!e)return;let t=Date.parse(e);return Number.isFinite(t)?t:void 0}var Me={handshake:"/pai/handshake",streamMessage:"/pai/stream-message",streamResume:"/pai/stream-resume",cancelStream:"/pai/cancel-stream",listConversations:"/pai/list-conversations",listMessages:"/pai/list-messages",updateSettings:"/pai/update-settings",markRead:"/pai/mark-read",bootstrap:"/pai/bootstrap",content:"/pai/content",submitForm:"/pai/submit-form"},Ri="context";function Ii(e){let n={messages:e.messages.map(i=>({id:i.id,parts:Td(i),role:i.role,createdAt:i.createdAt!==void 0?new Date(i.createdAt).toISOString():void 0})),conversationId:e.conversationId,trigger:e.trigger??"submit-message"};e.visitorId&&(n.visitorId=e.visitorId),e.userPrefs&&(n.userPrefs=e.userPrefs);let r={},a=e.tools?.map(Cd).filter(i=>i!==null);return a?.length&&(r.tools=a),e.responseMode&&(r.responseMode=e.responseMode),Object.keys(r).length>0&&(n.data=r),n}function kd(e){return e.state==="output"||e.state==="error"||e.approval?.approved!==void 0}function Cd(e){return typeof e=="string"?e?{code:e}:null:e?.code?e:null}function Td(e){let t=[];for(let n of e.parts)if(n.kind==="text"&&n.text&&t.push({text:n.text,type:"text"}),n.kind==="file"&&n.url&&t.push({mediaType:n.mediaType,type:"file",url:n.url}),n.kind==="tool"&&kd(n)){let r={type:"tool",toolCallId:n.toolCallId,toolName:n.toolName,state:n.state};n.input!==void 0&&(r.input=n.input),n.output!==void 0&&(r.output=n.output),n.error!==void 0&&(r.errorText=n.error),n.approval&&n.approval.approved!==void 0&&(r.approval=n.approval),t.push(r)}for(let n of e.attachments??[])n.url&&t.push({type:"file",url:n.url,mediaType:n.mediaType,filename:n.name,fileId:n.id,fileSize:n.size});return t}var X=K.scope("transport"),Ed=3,Ni=400,Ad=6e4,Rd=1e4,Li=3,Id=new Set([408,425,429,500,502,503,504]);function Mi(e){return Ni*2**e+Math.floor(Math.random()*250)}function Ld(e){let t=e.get("retry-after");if(!t)return null;let n=Number(t),r=Number.isFinite(n)?n*1e3:Date.parse(t)-Date.now();return Number.isFinite(r)&&r>=0?Math.min(r,3e4):null}function fo(e,t){return new Promise(n=>{if(t?.aborted)return n();let r=setTimeout(i,e),a=()=>i();t?.addEventListener("abort",a,{once:!0});function i(){clearTimeout(r),t?.removeEventListener("abort",a),n()}})}var Xn=class{constructor(t){W(this,"opts",t);W(this,"visitorId");W(this,"conversationId");W(this,"userContext");W(this,"pageContext");W(this,"locale");W(this,"conversationsCache",new Map);W(this,"contentCache",new Map)}setContext(t,n){this.userContext=t,this.pageContext=n}setLocale(t){this.locale=t}primeIdentity(t,n){t&&(this.visitorId=t),n&&(this.conversationId=n)}envelope(){let t={};this.visitorId&&(t.visitorId=this.visitorId),this.conversationId&&(t.conversationId=this.conversationId),this.locale&&(t.locale=this.locale);let n=Ai(this.userContext,this.pageContext);return n&&(t[Ri]=n),t}withEnvelope(t){return{...this.envelope(),...t}}appendEnvelope(t){for(let[n,r]of Object.entries(this.envelope()))t.append(n,r);return t}withEnvelopeQuery(t){let n=new URL(this.url(t));for(let[r,a]of Object.entries(this.envelope()))n.searchParams.has(r)||n.searchParams.set(r,a);return n.toString()}async handshake(t){X.debug("handshake \u2192",{visitorId:t.visitorId,conversationId:t.conversationId,locale:t.locale});let n=await this.postJson(Me.handshake,t,"handshake");return X.debug("handshake \u2190",{visitorId:n.visitorId,conversationId:n.conversationId,hasWelcome:!!n.welcome,hasConfig:!!n.config,rebind:n.rebind}),Nd(n)||X.warn("handshake response did not match expected shape; using raw response",{response:n}),this.visitorId=n.visitorId??t.visitorId,this.conversationId=n.conversationId,n}async uploadFile(t){X.debug("uploadFile \u2192",{name:t.name,size:t.size,type:t.type});let n=new FormData;n.append("file",t,t.name);let r=await this.postForm(this.uploadPath,n,"upload");return X.debug("uploadFile \u2190",{id:r.id,url:r.url}),r}async transcribe(t,n="audio/webm"){X.debug("transcribe \u2192",{size:t.size,mimeType:n});let r=new FormData;r.append("audio",t,`voice.${Md(n)}`),r.append("mimeType",n);let a=await this.postForm(this.transcribePath,r,"transcribe");return X.debug("transcribe \u2190",{textLen:a.text.length}),a}listConversations(t={}){let n=JSON.stringify(t,Object.keys(t).toSorted()),r=this.conversationsCache.get(n);if(r&&Date.now()-r.at<Rd)return X.debug("listConversations \u2192 cache",t),r.result;let a=this.fetchConversations(t).catch(i=>{throw this.conversationsCache.delete(n),i});return this.conversationsCache.set(n,{at:Date.now(),result:a}),a}async fetchConversations(t){let n=new URL(this.url(Me.listConversations));t.visitorId&&n.searchParams.set("visitorId",t.visitorId),t.limit&&n.searchParams.set("limit",String(t.limit)),t.cursor&&n.searchParams.set("cursor",t.cursor),X.debug("listConversations \u2192",{visitorId:t.visitorId??this.visitorId,limit:t.limit,cursor:t.cursor});let r=await this.getJson(n.toString(),"listConversations"),a=r.conversations??[];return X.debug("listConversations \u2190",{count:a.length,nextCursor:r.nextCursor}),{conversations:a.map(i=>({conversationId:i.conversationId,title:i.title,lastMessageAt:i.lastMessageAt,preview:i.preview,canContinue:i.canContinue,unreadCount:i.unreadCount})),nextCursor:r.nextCursor}}async loadConversation(t){let n=new URL(this.url(Me.listMessages));n.searchParams.set("conversationId",t),X.debug("loadConversation \u2192",{conversationId:t,visitorId:this.visitorId});let r=await this.getJson(n.toString(),"loadConversation"),a=r.messages??[];return X.debug("loadConversation \u2190",{conversationId:r.conversationId,canContinue:r.canContinue,messageCount:a.length,hasSuggestions:!!r.suggestions}),{conversationId:r.conversationId,canContinue:r.canContinue??!0,messages:a,agent:r.agent,suggestions:r.suggestions}}async markRead(t){if(!(!this.visitorId||!t)){this.conversationsCache.clear(),X.debug("markRead \u2192",{conversationId:t,visitorId:this.visitorId});try{await this.postJson(Me.markRead,{conversationId:t},"markRead")}catch(n){X.debug("markRead failed (non-fatal)",{err:n})}}}listContent(t={}){let n=`${this.locale??""}|${JSON.stringify(t,Object.keys(t).toSorted())}`,r=this.contentCache.get(n);if(r&&Date.now()-r.at<Ad)return X.debug("listContent \u2192 cache",t),r.result;let a=this.fetchContent(t).catch(i=>{throw this.contentCache.delete(n),i});return this.contentCache.set(n,{at:Date.now(),result:a}),a}async fetchContent(t){let n=new URL(this.dataUrl(Me.content));for(let[i,s]of Object.entries(t))s!==void 0&&n.searchParams.set(i,Array.isArray(s)?s.join(","):String(s));X.debug("listContent \u2192",t);let r=await this.getJson(n.toString(),"listContent"),a=(r.items??[]).map(i=>va(i,this.locale));return X.debug("listContent \u2190",{count:a.length,total:r.pagination?.total}),{...r,items:a}}async bootstrap(t){let n=new URL(this.dataUrl(Me.bootstrap));t&&n.searchParams.set("conversationId",t),X.debug("bootstrap \u2192",{conversationId:t??this.conversationId});let r=await this.getJson(n.toString(),"bootstrap"),a=r.forms??[],i=r.formSubmissions??[];return X.debug("bootstrap \u2190",{forms:a.length,formSubmissions:i.length}),{forms:a,formSubmissions:i}}async saveUserPrefs(t){X.debug("saveUserPrefs \u2192",{visitorId:this.visitorId,conversationId:this.conversationId,settingsKeys:Object.keys(t)});let n=await this.postJson(Me.updateSettings,{userPrefs:t},"saveUserPrefs");return X.debug("saveUserPrefs \u2190",{ok:n.ok}),n}get uploadPath(){return this.opts.endpoints?.upload??"/pai/upload-file"}get transcribePath(){return this.opts.endpoints?.transcribe??"/pai/transcribe-audio"}get submitFormPath(){return this.opts.endpoints?.submitForm??Me.submitForm}async submitForm(t){X.debug("submitForm \u2192",{formId:t.formId,trigger:t.trigger,fields:Object.keys(t.values).length});try{await this.postJson(this.dataUrl(this.submitFormPath),t,"submitForm")}catch(n){X.debug("submitForm failed (non-fatal)",{err:n})}}sendMessage(t){this.conversationsCache.clear(),X.debug("message \u2192",{conversationId:t.conversationId,visitorId:t.visitorId,messageCount:t.messages.length,trigger:t.trigger,responseMode:t.data?.responseMode,tools:t.data?.tools?.map(s=>s.code)});let n=new AbortController,r=new Set;return{iter:this.runStream(t,n,r),cancel:()=>this.cancelStream(n,t.conversationId)}}resumeStream(){let t=new AbortController,n=new Set;return{iter:this.resumeStreamGen(t,n,!0),cancel:()=>t.abort()}}async*runStream(t,n,r){(yield*this.drain(this.openMessageStream(t,n.signal),r,n))||(yield*this.resumeStreamGen(n,r,!1))}async*resumeStreamGen(t,n,r){for(let a=1;a<=Ed&&!t.signal.aborted;a++){if((!r||a>1)&&(await fo(Ni*a,t.signal),t.signal.aborted))return;let i;try{i=await this.fetchImpl(this.resumeUrl(n.size),{method:"GET",credentials:"omit",headers:{accept:"text/event-stream",...this.opts.auth.headers()},signal:t.signal})}catch(l){if(t.signal.aborted)return;X.debug("resume fetch failed \u2014 retrying",{attempt:a,err:l});continue}if(i.status===204||!i.ok){X.debug("resume \u2192 no in-flight stream",{status:i.status});return}let s=n.size;if(yield*this.drain(po(i,t.signal),n,t))return;if(n.size===s){X.debug("resume \u2192 stream closed with no new events; nothing to resume");return}}if(!t.signal.aborted)throw new Le("stream incomplete after resume attempts","server")}async*drain(t,n,r){try{for await(let a of t){if(r.signal.aborted)return!0;if(a.eventId){if(n.has(a.eventId))continue;n.add(a.eventId)}if(yield a,a.chunk.type==="finish"||a.chunk.type==="error")return!0}}catch(a){if(r.signal.aborted)return!0;if(a instanceof Le&&a.status!==void 0)throw a;X.debug("stream segment dropped",{err:a})}return!1}cancelStream(t,n){t.signal.aborted||(X.debug("cancel stream",{conversationId:n,visitorId:this.visitorId}),t.abort(),!(!this.visitorId||!n)&&this.fetchImpl(this.url(Me.cancelStream),{method:"POST",credentials:"omit",headers:{"content-type":"application/json",...this.opts.auth.headers()},body:JSON.stringify(this.withEnvelope({})),keepalive:!0}).catch(r=>X.debug("cancel POST failed (non-fatal)",{err:r})))}async*openMessageStream(t,n){let r=await this.fetchImpl(this.url(Me.streamMessage),{method:"POST",credentials:"omit",headers:{accept:"text/event-stream","content-type":"application/json",...this.opts.auth.headers()},body:JSON.stringify(this.withEnvelope(t)),signal:n});yield*po(r,n)}resumeUrl(t){let n=new URL(this.withEnvelopeQuery(Me.streamResume));return n.searchParams.set("resumeAt",String(t)),n.toString()}async postJson(t,n,r){let a=await this.fetchWithRetry(()=>[this.url(t),{method:"POST",credentials:"omit",headers:{"content-type":"application/json",...this.opts.auth.headers()},body:JSON.stringify(this.withEnvelope(n))}],r);return this.assertOk(a,r)}async postForm(t,n,r){let a=await this.fetchImpl(this.url(t),{method:"POST",credentials:"omit",headers:this.opts.auth.headers(),body:this.appendEnvelope(n)});return this.assertOk(a,r)}async getJson(t,n){let r=await this.fetchWithRetry(()=>[this.withEnvelopeQuery(t),{method:"GET",credentials:"omit",headers:{accept:"application/json",...this.opts.auth.headers()}}],n);return this.assertOk(r,n)}async fetchWithRetry(t,n){for(let r=0;;r++){let[a,i]=t(),s;try{s=await this.fetchImpl(a,i)}catch(c){if(r>=Li)throw new Le(`${n} failed: network error`,"network",void 0,c);X.debug("request network error \u2014 retrying",{label:n,attempt:r}),await fo(Mi(r));continue}if(s.ok||!Id.has(s.status)||r>=Li)return s;let l=Ld(s.headers)??Mi(r);X.debug("request retryable status \u2014 retrying",{label:n,status:s.status,attempt:r,wait:l}),await fo(l)}}async assertOk(t,n){if(!t.ok)throw new Le(`${n} failed: ${t.status}`,"server",t.status);return await t.json()}url(t){return/^https?:\/\//i.test(t)?t:`${this.opts.agentApiBaseUrl}${t}`}dataUrl(t){return/^https?:\/\//i.test(t)?t:`${this.opts.dataApiBaseUrl}${t}`}get fetchImpl(){return this.opts.fetchImpl??globalThis.fetch.bind(globalThis)}};function Md(e){return e.includes("webm")?"webm":e.includes("ogg")?"ogg":e.includes("mp4")||e.includes("m4a")?"m4a":e.includes("mpeg")?"mp3":e.includes("wav")?"wav":"bin"}function Nd(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.visitorId=="string"&&typeof t.conversationId=="string"}function Oi(e,t){let n=e?[{kind:"text",id:"t0",textSig:B(e),doneSig:B(!0)}]:[];return{id:Fe(),role:"user",createdAt:Date.now(),status:"complete",attachments:t,partsSig:B(n)}}function Jn(){return{id:Fe(),role:"assistant",createdAt:Date.now(),status:"streaming",partsSig:B([])}}function mo(e){return Od({id:e.id,role:e.role,createdAt:Date.now(),status:"complete",parts:[{kind:"text",id:`${e.id}-t0`,text:e.text,done:!0}]})}function Od(e){return{id:e.id,role:e.role,createdAt:e.createdAt,status:e.status,errorText:e.errorText,finishReason:e.finishReason,attachments:e.attachments,partsSig:B(e.parts.map(Dd))}}function go(e){let t=e.parts.map((n,r)=>n.type==="text"?{kind:"text",id:`${e.id}-t${r}`,textSig:B(n.text),doneSig:B(!0)}:n.type==="file"?{kind:"file",url:n.url,mediaType:n.mediaType}:n.type==="tool"?{kind:"tool",toolCallId:n.toolCallId,toolName:n.toolName,inputPartialSig:B(""),inputSig:B(n.input),outputSig:B(n.output),errorSig:B(n.errorText),stateSig:B(n.state),approvalSig:B(n.approval)}:null).filter(n=>n!==null);return{id:e.id,role:e.role,createdAt:jn(e.createdAt)??Date.now(),status:"complete",partsSig:B(t)}}function Di(e){return{id:e.id,role:e.role,createdAt:e.createdAt,status:e.status,errorText:e.errorText,finishReason:e.finishReason,attachments:e.attachments,parts:e.partsSig.value.map($d)}}function ho(e){let t="";for(let n of e.partsSig.value)n.kind==="text"&&(t+=n.textSig.value);return t}function Dd(e){return e.kind==="text"||e.kind==="reasoning"?{kind:e.kind,id:e.id,textSig:B(e.text),doneSig:B(e.done)}:e.kind==="tool"?{kind:"tool",toolCallId:e.toolCallId,toolName:e.toolName,inputPartialSig:B(e.inputPartial),inputSig:B(e.input),outputSig:B(e.output),errorSig:B(e.error),stateSig:B(e.state),approvalSig:B(e.approval)}:e}function $d(e){return e.kind==="text"||e.kind==="reasoning"?{kind:e.kind,id:e.id,text:e.textSig.value,done:e.doneSig.value}:e.kind==="tool"?{kind:"tool",toolCallId:e.toolCallId,toolName:e.toolName,inputPartial:e.inputPartialSig.value,input:e.inputSig.value,output:e.outputSig.value,error:e.errorSig.value,state:e.stateSig.value,approval:e.approvalSig.value}:e}function Yn(e){if(!e)return!1;let t=e.startsWith("tool:")?e.slice(5):e;return t==="ask-user-input"||t==="ask_user_input"||t==="request-user-input"||t==="request_user_input"}var Qn={submitMessage:"submit-message",toolResult:"tool-result",toolApproval:"tool-approval"};var $i=K.scope("reducer"),Zn=class{constructor(t){W(this,"messagesSig",t);W(this,"active",null)}attach(t){this.active=t}detach(){this.active=null}apply(t){let n=this.active;if(n)switch(t.type){case"start":case"start-step":case"finish-step":return;case"finish":$i.debug("finish",{reason:t.finishReason,canContinue:t.canContinue}),n.status="complete",t.finishReason&&(n.finishReason=t.finishReason),this.bumpDone(n);return;case"error":$i.warn("stream error chunk",{errorText:t.errorText}),n.status="error",n.errorText=t.errorText,this.bumpDone(n);return;case"text-start":Ct(n,"text",t.id);return;case"text-delta":{let r=Ct(n,"text",t.id);r.textSig.value+=t.delta;return}case"text-end":Ct(n,"text",t.id).doneSig.value=!0;return;case"reasoning-start":Ct(n,"reasoning",t.id).doneSig.value=!1;return;case"reasoning-delta":{let r=Ct(n,"reasoning",t.id);r.textSig.value+=t.delta;return}case"reasoning-end":Ct(n,"reasoning",t.id).doneSig.value=!0;return;case"tool-input-start":case"tool-input-delta":case"tool-input-available":case"tool-output-available":case"tool-output-error":case"tool-approval-request":Fd(n,t);return;case"file":er(n,{kind:"file",url:t.url,mediaType:t.mediaType});return;case"source-url":{if(n.partsSig.value.some(a=>a.kind==="source"&&a.sourceId===t.sourceId))return;er(n,{kind:"source",sourceId:t.sourceId,url:t.url,title:t.title});return}case"data-notification":return;default:{let r=t}}}bumpDone(t){t.partsSig.value=[...t.partsSig.value],this.messagesSig.value=[...this.messagesSig.value]}};function Ct(e,t,n){let r=e.partsSig.value.find(i=>i.kind===t&&i.id===n);if(r)return r;let a={kind:t,id:n,textSig:B(""),doneSig:B(!1)};return er(e,a),a}function Tt(e,t,n){let r=e.partsSig.value.find(i=>i.kind==="tool"&&i.toolCallId===t);if(r)return r;let a={kind:"tool",toolCallId:t,toolName:n??"tool",inputPartialSig:B(""),inputSig:B(void 0),outputSig:B(void 0),errorSig:B(void 0),stateSig:B("input"),approvalSig:B(void 0)};return er(e,a),a}function er(e,t){e.partsSig.value=[...e.partsSig.value,t]}function Fd(e,t){switch(t.type){case"tool-input-start":Tt(e,t.toolCallId,t.toolName);return;case"tool-input-delta":{let n=Tt(e,t.toolCallId);n.inputPartialSig.value+=t.delta;return}case"tool-input-available":{let n=Tt(e,t.toolCallId,t.toolName);n.inputSig.value=t.input,n.stateSig.value=Yn(n.toolName)?"awaiting-input":"awaiting";return}case"tool-approval-request":{let n=Tt(e,t.toolCallId,t.toolName);n.approvalSig.value={id:t.approvalId},n.stateSig.value="awaiting-approval";return}case"tool-output-available":{let n=Tt(e,t.toolCallId);n.outputSig.value=t.output,n.stateSig.value="output";return}case"tool-output-error":{let n=Tt(e,t.toolCallId);n.errorSig.value=t.errorText,n.stateSig.value="error";return}default:return}}var Fi=K.scope("feedback:audio"),tr=class{constructor(){W(this,"ctx",null);W(this,"master",null);W(this,"buffers",new Map)}unlock(){if(this.ctx){this.ctx.state==="suspended"&&this.ctx.resume();return}let t=globalThis.AudioContext??globalThis.webkitAudioContext;if(t)try{this.ctx=new t,this.master=this.ctx.createGain(),this.master.gain.value=1,this.master.connect(this.ctx.destination)}catch(n){Fi.warn("AudioContext init failed",{err:n})}}setVolume(t){if(!this.master||!this.ctx)return;let n=Math.max(0,Math.min(1,t));this.master.gain.setTargetAtTime(n,this.ctx.currentTime,.01)}playTone(t){let n=this.ctx,r=this.master;if(!n||!r||n.state!=="running")return;let a=n.currentTime,i=t.noteMs/1e3;t.notes.forEach((s,l)=>{let c=n.createOscillator();c.type=t.type,c.frequency.value=s;let d=n.createGain(),u=a+l*i;d.gain.setValueAtTime(1e-4,u),d.gain.exponentialRampToValueAtTime(t.peakGain,u+.005),d.gain.exponentialRampToValueAtTime(1e-4,u+i),c.connect(d).connect(r),c.start(u),c.stop(u+i+.01)})}async playUrl(t){let n=this.ctx,r=this.master;if(!n||!r||n.state!=="running")return;let a=await this.getBuffer(t);if(!a)return;let i=n.createBufferSource();i.buffer=a,i.connect(r),i.start()}destroy(){this.ctx&&this.ctx.close().catch(()=>{}),this.ctx=null,this.master=null,this.buffers.clear()}async getBuffer(t){if(!this.ctx)return null;let n=this.buffers.get(t);if(n)return n instanceof Promise,n;let r=this.ctx,a=fetch(t).then(i=>i.ok?i.arrayBuffer():Promise.reject(new Error(`fetch ${i.status}`))).then(i=>r.decodeAudioData(i)).then(i=>(this.buffers.set(t,i),i)).catch(i=>(Fi.warn("audio fetch/decode failed",{url:t,err:i}),this.buffers.delete(t),null));return this.buffers.set(t,a),a}};var Bi={messageReceived:10,messageSent:0,error:[20,40,20],voiceStart:10,voiceStop:0},Hi={messageReceived:{notes:[880,1318.51],noteMs:90,type:"sine",peakGain:.45},messageSent:{notes:[1568],noteMs:60,type:"sine",peakGain:.25},error:{notes:[523.25,392],noteMs:120,type:"triangle",peakGain:.55},voiceStart:{notes:[1318.51],noteMs:50,type:"sine",peakGain:.3},voiceStop:{notes:[880],noteMs:50,type:"sine",peakGain:.3}};var Ze=null,nr=0;function Bd(){return typeof navigator<"u"&&typeof navigator.vibrate=="function"}function Hd(){if(typeof document>"u")return null;let e=document.createElement("input");e.type="checkbox",e.setAttribute("switch",""),e.setAttribute("aria-hidden","true"),e.tabIndex=-1,e.id=`__${P.cssPrefix}_haptic_${Math.random().toString(36).slice(2)}`;let t=document.createElement("label");t.htmlFor=e.id,t.setAttribute("aria-hidden","true");let n="position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;opacity:0!important;pointer-events:none!important;";return e.style.cssText=n,t.style.cssText=n,document.body.append(e,t),{input:e,label:t}}function zi(e){if(!(e===0||Array.isArray(e)&&e.every(t=>t===0))){if(Bd())try{navigator.vibrate(e);return}catch{}if(Ze||(Ze=Hd()),!!Ze)try{Ze.label.click()}catch{}}}function Ui(){nr++;let e=!1;return()=>{e||(e=!0,nr=Math.max(0,nr-1),nr===0&&Ze&&(Ze.input.remove(),Ze.label.remove(),Ze=null))}}var zd=K.scope("feedback"),Ud=100,rr=class{constructor(t,n){W(this,"mutedSig",B(!1));W(this,"audio",new tr);W(this,"releaseHaptics");W(this,"sound");W(this,"haptics");W(this,"lastPlayed",new Map);W(this,"reducedMotionMq",null);this.sound=t,this.haptics=n,this.releaseHaptics=Ui(),this.audio.setVolume(this.effectiveVolume()),typeof matchMedia<"u"&&(this.reducedMotionMq=matchMedia("(prefers-reduced-motion: reduce)"))}unlock(){this.audio.unlock(),this.audio.setVolume(this.effectiveVolume())}update(t,n){this.sound=t,this.haptics=n,this.audio.setVolume(this.effectiveVolume())}setMuted(t){this.mutedSig.value!==t&&(this.mutedSig.value=t)}toggleMuted(){this.mutedSig.value=!this.mutedSig.value}play(t){this.mutedSig.value||this.isDeduped(t)||(this.lastPlayed.set(t,performance.now()),this.sound.enabled&&this.playSound(t),this.haptics.enabled&&this.isTouchDevice()&&this.playHaptic(t))}destroy(){this.audio.destroy(),this.releaseHaptics()}isDeduped(t){let n=this.lastPlayed.get(t);return n===void 0?!1:performance.now()-n<Ud}playSound(t){let n=this.sound.events?.[t];if(n===!1)return;if(typeof n=="string"){this.audio.playUrl(n).catch(a=>zd.warn("audio play failed",{err:a,url:n}));return}let r=Hi[t];r&&this.audio.playTone(r)}playHaptic(t){if(this.reducedMotionMq?.matches)return;let n=this.haptics.events?.[t];if(n===!1)return;let r=n===!0||n===void 0?Bi[t]:n;zi(r)}effectiveVolume(){let t=this.sound.volume??.3;return this.reducedMotionMq?.matches?t*.5:t}isTouchDevice(){return typeof window>"u"?!1:matchMedia("(hover: none) and (pointer: coarse)").matches}};function at(e,t){return e instanceof Le&&e.status===429?t.errorRateLimited:t.errorGeneric}var Gd=0;function o(e,t,n,r,a,i){t||(t={});var s,l,c=t;if("ref"in c)for(l in c={},t)l=="ref"?s=t[l]:c[l]=t[l];var d={type:e,props:c,key:n,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Gd,__i:-1,__u:0,__source:a,__self:i};if(typeof e=="function"&&(s=e.defaultProps))for(l in s)c[l]===void 0&&(c[l]=s[l]);return j.vnode&&j.vnode(d),d}var $={fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,viewBox:"0 0 24 24"},Vd=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M21 12a8 8 0 0 1-12 6.93L3 21l1.65-5.16A8 8 0 1 1 21 12Z"})}),He=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M18 6 6 18M6 6l12 12"})}),Gi=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M12 5v14M5 12h14"})}),Vi=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"m22 2-7 20-4-9-9-4Z"}),o("path",{d:"M22 2 11 13"})]}),Wi=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M12 19V5M5 12l7-7 7 7"})}),qi=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M3 20V4l18 8-18 8Z"})}),Et=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"m9 18 6-6-6-6"})}),Ki=()=>o("svg",{...$,"aria-hidden":"true",children:o("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})}),ji=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"m21 11-9 9a5.5 5.5 0 0 1-7.78-7.78l8.49-8.49a3.67 3.67 0 0 1 5.19 5.19l-8.49 8.49a1.83 1.83 0 0 1-2.6-2.6l7.78-7.78"})}),Xi=()=>o("svg",{...$,"aria-hidden":"true",children:[o("rect",{x:"9",y:"2",width:"6",height:"12",rx:"3"}),o("path",{d:"M5 10a7 7 0 0 0 14 0M12 19v3"})]}),Ji=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M3 8V3h5M21 8V3h-5M3 16v5h5M21 16v5h-5"})}),Yi=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M8 3v5H3M16 3v5h5M8 21v-5H3M16 21v-5h5"})}),Qi=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M3 3h7v2H5v5H3zM21 3h-7v2h5v5h2zM3 21h7v-2H5v-5H3zM21 21h-7v-2h5v-5h2z"})}),Zi=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M10 3v5H3M14 3v5h7M10 21v-5H3M14 21v-5h7"})}),es=()=>o("svg",{...$,"aria-hidden":"true",viewBox:"0 0 10 10",children:o("path",{d:"M9 1L1 9M9 5L5 9M9 9H9",strokeWidth:"1.5"})}),ts=()=>o("svg",{...$,"aria-hidden":"true",children:[o("circle",{cx:"12",cy:"5",r:"1.5",fill:"currentColor",stroke:"none"}),o("circle",{cx:"12",cy:"12",r:"1.5",fill:"currentColor",stroke:"none"}),o("circle",{cx:"12",cy:"19",r:"1.5",fill:"currentColor",stroke:"none"})]}),ns=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M11 5 6 9H2v6h4l5 4zM15 9a5 5 0 0 1 0 6M18 7a9 9 0 0 1 0 10"})}),rs=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M11 5 6 9H2v6h4l5 4zM22 9l-6 6M16 9l6 6"})}),os=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"M3 18 8 6l5 12M4.7 14h6.6"}),o("path",{d:"M14.5 18l3.2-7 3.2 7M15.6 15.8h4.2"})]}),as=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"m5 6 6 6-6 6M13 6l6 6-6 6"})}),Yt=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M20 6 9 17l-5-5"})}),is=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"M3 3v6h6"}),o("path",{d:"M3.05 13A9 9 0 1 0 6 5.3L3 9"}),o("path",{d:"M12 7v5l3 2"})]}),ss=()=>o("svg",{...$,"aria-hidden":"true",children:[o("circle",{cx:"12",cy:"12",r:"10"}),o("path",{d:"M2 12h20"}),o("path",{d:"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"})]}),Qt=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M19 12H5M12 19l-7-7 7-7"})}),ls=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M15 3h6v6M10 14 21 3M21 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5"})}),cs=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"M12 20h9"}),o("path",{d:"M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z"})]}),ds=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"m6 9 6 6 6-6"})}),_s=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z"}),o("path",{d:"M14 2v6h6"})]}),Wd=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"m12 3-1.5 4.5L6 9l4.5 1.5L12 15l1.5-4.5L18 9l-4.5-1.5Z"}),o("path",{d:"M19 15v4M17 17h4M5 3v2M4 4h2"})]}),vo=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2Z"})}),bo=()=>o("svg",{...$,"aria-hidden":"true",children:[o("circle",{cx:"12",cy:"12",r:"10"}),o("path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"}),o("path",{d:"M12 17h.01"})]}),qd=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"m15 4 3 3-9 9-3-3z"}),o("path",{d:"M18 2v2M20 4h2M3 20l3-3M3 16h2M5 14v2"})]}),Kd=()=>o("svg",{...$,"aria-hidden":"true",children:[o("rect",{x:"4",y:"8",width:"16",height:"12",rx:"2"}),o("path",{d:"M12 8V4"}),o("circle",{cx:"12",cy:"3",r:"1"}),o("path",{d:"M2 14h2M20 14h2M9 13h.01M15 13h.01M9.5 17h5"})]}),jd=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"M4 14v-2a8 8 0 0 1 16 0v2"}),o("rect",{x:"2",y:"14",width:"4",height:"6",rx:"1.5"}),o("rect",{x:"18",y:"14",width:"4",height:"6",rx:"1.5"}),o("path",{d:"M20 20v1a3 3 0 0 1-3 3h-5"})]}),Xd=()=>o("svg",{...$,"aria-hidden":"true",children:[o("circle",{cx:"12",cy:"12",r:"10"}),o("circle",{cx:"12",cy:"12",r:"4"}),o("path",{d:"m4.93 4.93 4.24 4.24M14.83 14.83l4.24 4.24M14.83 9.17l4.24-4.24M4.93 19.07l4.24-4.24"})]}),Po=()=>o("svg",{...$,"aria-hidden":"true",children:[o("circle",{cx:"11",cy:"11",r:"7"}),o("path",{d:"m21 21-4.3-4.3"})]}),us=()=>o("svg",{...$,"aria-hidden":"true",children:[o("circle",{cx:"12",cy:"12",r:"9"}),o("path",{d:"m8.5 12 2.5 2.5 4.5-5"})]}),ps=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"M3 9.5 12 3l9 6.5"}),o("path",{d:"M5 9v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9"})]}),fs=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"m3 11 15-5v12L3 13z"}),o("path",{d:"M3 11v2a2 2 0 0 0 2 2h1V9H5a2 2 0 0 0-2 2z"}),o("path",{d:"M7 15v3a2 2 0 0 0 4 0v-2"}),o("path",{d:"M21 10a3 3 0 0 1 0 4"})]}),Zt=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z"}),o("path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1"})]}),ms=()=>o("svg",{...$,"aria-hidden":"true",children:[o("circle",{cx:"12",cy:"12",r:"4"}),o("path",{d:"M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41"})]}),gs=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"})}),hs=()=>o("svg",{...$,"aria-hidden":"true",children:[o("circle",{cx:"12",cy:"12",r:"9"}),o("path",{d:"M12 3v18"}),o("path",{d:"M12 3a9 9 0 0 1 0 18z",fill:"currentColor",stroke:"none"})]}),Jd=()=>o("svg",{...$,"aria-hidden":"true",children:[o("circle",{cx:"10.5",cy:"10.5",r:"6.5"}),o("path",{d:"M8 11a2.5 2.5 0 0 0 5 0"}),o("path",{d:"m20 20-4.4-4.4"})]}),Yd=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"M12 3.5 13.6 9 19 10.5 13.6 12 12 17.5 10.4 12 5 10.5 10.4 9z"}),o("path",{d:"M18.5 4v3M20 5.5h-3M5.5 16v2.5M6.75 17.25h-2.5"})]}),Qd=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"M4 18h16"}),o("path",{d:"M5 18a7 7 0 0 1 14 0"}),o("path",{d:"M12 8V6"}),o("path",{d:"M10 6h4"})]}),Zd=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"M7 11V6.5a1.5 1.5 0 0 1 3 0V10"}),o("path",{d:"M10 10V5.5a1.5 1.5 0 0 1 3 0V10"}),o("path",{d:"M13 10V6.5a1.5 1.5 0 0 1 3 0V12"}),o("path",{d:"M16 9.5a1.5 1.5 0 0 1 3 0v2.5a7 7 0 0 1-7 7 7 7 0 0 1-6.4-4.2L4 12.5a1.5 1.5 0 0 1 2.6-1.5L7 11"})]}),vs={chat:Vd,message:vo,bubbles:Zt,spark:Wd,wand:qd,bot:Kd,help:bo,lifebuoy:Xd,headset:jd,search:Jd,sparkles:Yd,concierge:Qd,wave:Zd};var A=P.cssPrefix,y={launcher:`${A}-launcher`,callout:`${A}-callout`,calloutDismiss:`${A}-callout-dismiss`,panel:`${A}-panel`,panelHeader:`${A}-panel-header`,resizeGrip:`${A}-resize-grip`,scrollToBottom:`${A}-scroll-to-bottom`,actionHistory:`${A}-action-history`,actionClose:`${A}-action-close`,langSegment:`${A}-lang-segment`,composer:`${A}-composer`,composerInput:`${A}-composer-input`,composerSend:`${A}-composer-send`,composerStop:`${A}-composer-stop`,composerAttach:`${A}-composer-attach`,composerFileInput:`${A}-composer-file-input`,composerVoice:`${A}-composer-voice`,attachmentChip:`${A}-attachment-chip`,attachmentRemove:`${A}-attachment-remove`,suggestion:`${A}-suggestion`,messageBubble:`${A}-message`,messageRetry:`${A}-message-retry`,historyPane:`${A}-history-pane`,historyBack:`${A}-history-back`,historyItem:`${A}-history-item`,sidebar:`${A}-sidebar`,sidebarToggle:`${A}-sidebar-toggle`,sidebarNewConversation:`${A}-sidebar-new-conversation`,sidebarItem:`${A}-sidebar-item`,messengerHome:`${A}-messenger-home`,modulesEmpty:`${A}-modules-empty`,tab:`${A}-tab`,tabBadge:`${A}-tab-badge`,homeView:`${A}-home-view`,homeGreeting:`${A}-home-greeting`,homeBrand:`${A}-home-brand`,backHeader:`${A}-back-header`,contentView:`${A}-content-view`,contentScroll:`${A}-content-scroll`,homeSearch:`${A}-home-search`,helpSearch:`${A}-help-search`,homeRecent:`${A}-home-recent`,homeContentRow:`${A}-home-content-row`,helpArticle:`${A}-help-article`,newsItem:`${A}-news-item`,formGate:`${A}-form-gate`,formDone:`${A}-form-done`,formDoneToggle:`${A}-form-done-toggle`,formAnswers:`${A}-form-answers`,formFill:`${A}-form-fill`,formSubmit:`${A}-form-submit`,formSkip:`${A}-form-skip`,formField:`${A}-form-field`,toolAskInput:`${A}-tool-ask-input`,toolInputSubmit:`${A}-tool-input-submit`,toolInputSkip:`${A}-tool-input-skip`,toolApproval:`${A}-tool-approval`,toolApprove:`${A}-tool-approve`,toolReject:`${A}-tool-reject`,toolDecision:`${A}-tool-decision`};function he(e,t){return`${e}-${t}`}var or=P.cssPrefix;function bs({onToggle:e,launcher:t,strings:n,leaving:r,edgeTab:a}){let i=t.variant!=="circle"&&!!t.label;return o("button",{type:"button",class:`${or}-fab`,"data-variant":t.variant,"data-size":t.size,"data-edge-tab":a?"true":void 0,"data-leaving":r?"true":void 0,"data-testid":y.launcher,onClick:e,"aria-label":n.launcherOpen,children:[e_(t.icon),i?o("span",{class:`${or}-fab-label`,children:t.label}):null]})}function e_(e){let t=vs[e];return t?o(t,{}):o(t_,{source:e})}function t_({source:e}){return o("span",{ref:t=>{t&&n_(t,e)},"aria-hidden":"true"})}function n_(e,t){if(e.dataset.svgMounted!==t)try{let r=new DOMParser().parseFromString(t,"image/svg+xml").documentElement;r&&r.tagName.toLowerCase()==="svg"&&(e.replaceChildren(document.importNode(r,!0)),e.dataset.svgMounted=t)}catch{}}function Ps({callout:e,launcherPosition:t,strings:n,closeLabel:r,onDismiss:a}){let[i,s]=k(!1);return w(()=>{let l=setTimeout(()=>s(!0),e.delayMs);return()=>clearTimeout(l)},[e.delayMs]),w(()=>{if(!i||e.autoDismissMs<=0)return;let l=setTimeout(a,e.autoDismissMs);return()=>clearTimeout(l)},[i,e.autoDismissMs,a]),i?o("div",{class:`${or}-callout`,role:"status","data-shape":e.shape,"data-position":r_(e.position,t),"data-animated":e.animated?"true":void 0,"data-testid":y.callout,children:[o("span",{children:$e(n,e.text)}),o("button",{type:"button",class:`${or}-callout-close`,onClick:a,"aria-label":r,title:r,"data-testid":y.calloutDismiss,children:o(He,{})})]}):null}function r_(e,t){let n=t.endsWith("-right"),r=t.startsWith("bottom-");return e==="vertical"?r?"top":"bottom":n?"left":"right"}function ar({panelEl:e,resize:t,position:n,initialSize:r,onSizeChange:a,strings:i}){let s=P.cssPrefix,l=M(null);if(w(()=>{if(!e)return;let m=e.style;t.minWidth&&m.setProperty(`--${s}-resize-min-w`,t.minWidth),t.maxWidth&&m.setProperty(`--${s}-resize-max-w`,t.maxWidth),t.minHeight&&m.setProperty(`--${s}-resize-min-h`,t.minHeight),t.maxHeight&&m.setProperty(`--${s}-resize-max-h`,t.maxHeight),r&&(m.setProperty(`--${s}-widget-w`,`${r.width}px`),m.setProperty(`--${s}-widget-h`,`${r.height}px`))},[e,t.minWidth,t.maxWidth,t.minHeight,t.maxHeight,s,r]),!e)return null;let c=n.startsWith("top-"),d=n.endsWith("-right"),u=`${s}-resize-grip ${s}-resize-grip--${c?"bottom":"top"}-${d?"left":"right"}`,_=m=>{if(!e)return;let h=m.currentTarget,v=e.getBoundingClientRect();l.current={pointerId:m.pointerId,startX:m.clientX,startY:m.clientY,startW:v.width,startH:v.height,dirX:d?-1:1,dirY:c?1:-1},h.setPointerCapture(m.pointerId),e.setAttribute("data-resizing",""),m.preventDefault()},g=m=>{let h=l.current;if(!h||m.pointerId!==h.pointerId||!e)return;let v=(m.clientX-h.startX)*h.dirX,E=(m.clientY-h.startY)*h.dirY;e.style.setProperty(`--${s}-widget-w`,`${h.startW+v}px`),e.style.setProperty(`--${s}-widget-h`,`${h.startH+E}px`)},p=m=>{let h=l.current;if(!h||m.pointerId!==h.pointerId||!e)return;m.currentTarget.releasePointerCapture(m.pointerId),e.removeAttribute("data-resizing");let v=e.getBoundingClientRect();a({width:Math.round(v.width),height:Math.round(v.height)}),l.current=null};return o("div",{class:u,role:"separator","aria-orientation":"vertical","aria-label":i.resizeHandle,title:i.resizeHandle,onPointerDown:_,onPointerMove:g,onPointerUp:p,onPointerCancel:p,"data-testid":y.resizeGrip,children:o(es,{})})}var it=P.cssPrefix,o_=`.${it}-header, .${it}-back-header, .${it}-home-hero`,a_='button, a, input, textarea, select, [role="tab"], [contenteditable]',xs=56;function ir(e,t){w(()=>{if(!t||!e)return;let n=c=>Number.parseFloat(c)||0,r=(c,d)=>Math.min(d,Math.max(-d,c)),a=null,i=c=>{let d=c.target;if(!(d instanceof Element)||!d.closest(o_)||d.closest(a_))return;let u=e.getBoundingClientRect();a={id:c.pointerId,x:c.clientX,y:c.clientY,dx:n(e.style.getPropertyValue(`--${it}-modal-dx`)),dy:n(e.style.getPropertyValue(`--${it}-modal-dy`)),maxX:(window.innerWidth+u.width)/2-xs,maxY:(window.innerHeight+u.height)/2-xs},e.dataset.dragging="true",c.preventDefault()},s=c=>{if(!a||c.pointerId!==a.id)return;let d=r(a.dx+c.clientX-a.x,a.maxX),u=r(a.dy+c.clientY-a.y,a.maxY);e.style.setProperty(`--${it}-modal-dx`,`${d}px`),e.style.setProperty(`--${it}-modal-dy`,`${u}px`)},l=c=>{!a||c.pointerId!==a.id||(a=null,delete e.dataset.dragging)};return e.addEventListener("pointerdown",i),window.addEventListener("pointermove",s),window.addEventListener("pointerup",l),window.addEventListener("pointercancel",l),()=>{e.removeEventListener("pointerdown",i),window.removeEventListener("pointermove",s),window.removeEventListener("pointerup",l),window.removeEventListener("pointercancel",l)}},[e,t])}function en(e,t,n,r){switch(e){case"clear":case"sound":case"history":case"language":case"theme":case"textSize":return!0;case"expand":return t==="floating";case"fullscreen":return t!=="standalone";case"popOut":return t!=="standalone"&&!!r?.popOutUrl;case"close":return t==="standalone"||t==="page"?!1:t==="inline"?n==="fullscreen":!0}}function sr(e,t,n){return en("close",e,t)?n.includes("close"):!1}function ys(e,t){return e==="inline"&&t==="fullscreen"?"exit-fullscreen":"close"}var i_='a[href],button:not([disabled]),textarea:not([disabled]),input:not([disabled]):not([type="hidden"]),select:not([disabled]),[tabindex]:not([tabindex="-1"])';function lr(e){let t=n=>{if(n.key!=="Tab")return;let r=[...e.querySelectorAll(i_)].filter(l=>l.offsetParent!==null||l===document.activeElement);if(r.length===0){n.preventDefault();return}let a=r[0],i=r[r.length-1];if(!a||!i)return;let s=e.getRootNode().activeElement;n.shiftKey&&s===a?(n.preventDefault(),i.focus()):!n.shiftKey&&s===i&&(n.preventDefault(),a.focus())};return e.addEventListener("keydown",t),()=>e.removeEventListener("keydown",t)}function cr(e){return e.trim().split(/\s+/).slice(0,2).map(t=>t.charAt(0).toUpperCase()).join("")}var xo=P.cssPrefix;function Ss({agent:e,strings:t}){let n=e.status??"online",r=$e(t,e.name),a=e.title?$e(t,e.title):null;return o("div",{class:`${xo}-agent`,children:[o("div",{class:`${xo}-agent-avatar`,"data-status":n,children:e.avatar?o("img",{src:e.avatar,alt:""}):o("span",{children:cr(r)})}),o("div",{class:`${xo}-agent-meta`,children:[o("strong",{children:r}),a?o("span",{children:a}):null]})]})}var ws=K.scope("attachments");function dr(e,t,n){let r=l_(e),a=[],i=[],s=__(n.accept),l=t.reduce((d,u)=>d+u.size,0),c=t.length;for(let d of r){let u=s_(d,c,l,n,s);if(u){i.push({file:d,reason:u});continue}a.push(d_(d)),l+=d.size,c+=1}return(a.length||i.length)&&ws.debug("ingest",{accepted:a.length,rejected:i.map(d=>({name:d.file.name,reason:d.reason}))}),{accepted:a,rejected:i}}function yo(e){try{URL.revokeObjectURL(e.previewUrl)}catch(t){ws.debug("revokeObjectURL failed",{error:t})}}function s_(e,t,n,r,a){return t>=r.maxCount?"count":n+e.size>r.maxBytes?"bytes":u_(e,a)?null:"mime"}function l_(e){return e?Array.isArray(e)?e.filter(t=>t instanceof File):[...e].map(t=>t instanceof File?t:c_(t)).filter(t=>t!==null):[]}function c_(e){let t=e;return!t?.getAsFile||t.kind!=="file"?null:t.getAsFile()}function d_(e){return{file:e,id:Fe(),mediaType:e.type||"application/octet-stream",name:e.name||"pasted-file",previewUrl:URL.createObjectURL(e),size:e.size}}function __(e){return e.split(",").map(t=>t.trim().toLowerCase()).filter(Boolean).map(t=>{if(t.startsWith("."))return{kind:"ext",ext:t};let[n="*",r="*"]=t.split("/");return{kind:"mime",type:n,subtype:r}})}function u_(e,t){if(t.length===0)return!0;let[n="*",r="*"]=(e.type||"").toLowerCase().split("/"),a=(e.name||"").toLowerCase();return t.some(i=>i.kind==="ext"?a.endsWith(i.ext):(i.type==="*"||i.type===n)&&(i.subtype==="*"||i.subtype===r))}var tn=P.cssPrefix;function ks({attachment:e,onRemove:t}){let n=e.mediaType.startsWith("image/");return o("span",{class:`${tn}-attachment-chip`,title:e.name,"data-testid":he(y.attachmentChip,e.id),children:[n?o("img",{class:`${tn}-attachment-thumb`,src:e.previewUrl,alt:""}):o("span",{class:`${tn}-attachment-thumb`,"aria-hidden":"true",children:o(_s,{})}),o("span",{class:`${tn}-attachment-name`,children:e.name}),o("button",{type:"button",class:`${tn}-attachment-remove`,onClick:t,"aria-label":`Remove ${e.name}`,"data-testid":he(y.attachmentRemove,e.id),children:o(He,{})})]})}var So={isSupported:!1,start:()=>{},stop:()=>{}};function wo(e,t,n){return e==="disabled"?So:e==="server"?g_(n):p_(t)}function p_(e){let t=f_();if(!t)return So;let n=null;return{isSupported:!0,start(r,a){n=new t,n.continuous=!0,n.interimResults=!0,n.lang=e,n.addEventListener("result",s=>{let l=s,c="",d=!1;for(let u=l.resultIndex;u<l.results.length;u++){let _=l.results[u];_&&(c+=_[0].transcript,_.isFinal&&(d=!0))}r(c,d)});let i=()=>{n=null,a()};n.addEventListener("end",i),n.addEventListener("error",i),n.start()},stop(){n?.stop()}}}function f_(){let e=globalThis;return e.SpeechRecognition??e.webkitSpeechRecognition}var m_=["audio/webm;codecs=opus","audio/webm","audio/ogg;codecs=opus","audio/mp4"];function g_(e){if(typeof MediaRecorder>"u"||!navigator?.mediaDevices?.getUserMedia)return So;let t=null,n=null,r=[],a=()=>{for(let i of n?.getTracks()??[])i.stop();n=null};return{isSupported:!0,async start(i,s){try{n=await navigator.mediaDevices.getUserMedia({audio:!0});let l=h_();t=new MediaRecorder(n,l?{mimeType:l}:void 0),r=[],t.addEventListener("dataavailable",c=>{c.data.size>0&&r.push(c.data)}),t.addEventListener("stop",async()=>{let c=t?.mimeType??"audio/webm";a();let d=new Blob(r,{type:c});r=[];try{let{text:u}=await e(d,c);u&&i(u,!0)}catch{}finally{s()}}),t.start()}catch{a(),s()}},stop(){t?.stop()}}}function h_(){for(let e of m_)if(MediaRecorder.isTypeSupported(e))return e}var Te=P.cssPrefix,st=K.scope("composer");function At(e){return e.reduce((t,n)=>t+n.size,0)}var v_={arrowUp:Wi,paperPlane:Vi,send:qi,chevron:Et};function Cs({options:e,transport:t,feedback:n,bus:r,isStreaming:a,onSend:i,onStop:s,attachApiRef:l}){let c=e.strings,[d,u]=k(""),[_,g]=k([]),[p,m]=k(!1),h=M(null),v=M(null),E=e.features.files,S=e.features.voice,[H,R]=k(()=>wo(S,e.locale,(T,N)=>t.transcribe(T,N)));w(()=>{p||S==="disabled"||R(wo(S,e.locale,(T,N)=>t.transcribe(T,N)))},[e.locale,S,t,p]),w(()=>{let T=h.current;if(!T)return;let N=T.getRootNode(),Q="activeElement"in N?N.activeElement:null;Q&&T.closest(`.${Te}-panel`)?.contains(Q)||T.focus({preventScroll:!0})},[]),w(()=>{let T=h.current;if(T){if(d.length===0){T.style.height="";return}T.style.height="auto",T.style.height=`${Math.min(T.scrollHeight,160)}px`}},[d]);let U=M(_);U.current=_,w(()=>()=>U.current.forEach(yo),[]),w(()=>{if(l)return l.current={attachFromDrop:T=>{let N=dr(T,U.current,e.attachments);N.accepted.length!==0&&(st.info("attach (drop)",{count:N.accepted.length,totalBytes:At(N.accepted)}),r.emit("attach",{count:N.accepted.length,totalBytes:At(N.accepted)}),g(Q=>[...Q,...N.accepted]))}},()=>{l.current&&(l.current=null)}},[l,e.attachments]),w(()=>{let T=h.current;if(!T)return;let N=T.closest(`.${Te}-panel`);if(!N)return;let Q=pe=>{let fe=pe.clipboardData;if(!fe)return;if(E){let O=dr(fe.items,U.current,e.attachments);if(O.accepted.length>0){pe.preventDefault(),st.info("attach (paste)",{count:O.accepted.length,totalBytes:At(O.accepted)}),r.emit("attach",{count:O.accepted.length,totalBytes:At(O.accepted)}),g(me=>[...me,...O.accepted]);return}}if(pe.target===T)return;let x=fe.getData("text/plain");x&&(pe.preventDefault(),u(O=>O+x),T.focus())};return N.addEventListener("paste",Q),()=>N.removeEventListener("paste",Q)},[E,e.attachments,Te]);let q=()=>{let T=d.trim();!T&&_.length===0||a||(i(T,_),u(""),g([]))},D=T=>{T.key!=="Enter"||T.shiftKey||T.isComposing||(T.preventDefault(),a?s():q())},ue=T=>{let N=T.target,Q=dr(N.files,_,e.attachments);Q.accepted.length>0&&(st.info("attach (file picker)",{count:Q.accepted.length,totalBytes:At(Q.accepted)}),r.emit("attach",{count:Q.accepted.length,totalBytes:At(Q.accepted)}),g(pe=>[...pe,...Q.accepted])),N.value=""},z=T=>{st.info("removeAttachment",{id:T}),r.emit("removeAttachment",{id:T}),g(N=>{let Q=N.find(pe=>pe.id===T);return Q&&yo(Q),N.filter(pe=>pe.id!==T)})},te=M(null),ve=()=>{if(H.isSupported){if(p){let T=te.current?Date.now()-te.current:0;st.info("voiceStop",{durationMs:T}),r.emit("voiceStop",{durationMs:T}),H.stop(),m(!1),n.play("voiceStop"),te.current=null;return}te.current=Date.now(),st.info("voiceStart"),r.emit("voiceStart",void 0),m(!0),n.play("voiceStart"),H.start((T,N)=>u(Q=>N?`${Q}${T} `:Q),()=>{if(m(!1),te.current){let T=Date.now()-te.current;st.debug("voiceStop (auto)",{durationMs:T}),r.emit("voiceStop",{durationMs:T}),te.current=null}})}},we=v_[e.composer.sendButton.icon];return o("div",{class:`${Te}-composer`,"data-testid":y.composer,children:[_.length>0?o("div",{class:`${Te}-attachments`,children:_.map(T=>o(ks,{attachment:T,onRemove:()=>z(T.id)},T.id))}):null,o("div",{class:`${Te}-composer-row`,children:[o("div",{class:`${Te}-composer-actions`,children:[E?o("button",{type:"button",class:`${Te}-icon-btn`,onClick:()=>v.current?.click(),"aria-label":c.attach,"data-testid":y.composerAttach,children:o(ji,{})}):null,H.isSupported?o("button",{type:"button",class:`${Te}-icon-btn`,onClick:ve,"aria-label":p?c.micStop:c.micStart,"aria-pressed":p,"data-recording":p?"true":void 0,"data-testid":y.composerVoice,children:o(Xi,{})}):null]}),o("textarea",{ref:h,class:`${Te}-textarea`,rows:1,value:d,placeholder:c.composerPlaceholder,onInput:T=>u(T.target.value),onKeyDown:D,"aria-label":c.composerPlaceholder,"data-testid":y.composerInput}),a?o("button",{type:"button",class:`${Te}-send`,onClick:s,"aria-label":c.stop,"data-testid":y.composerStop,children:o(Ki,{})}):o("button",{type:"button",class:`${Te}-send`,"data-shape":e.composer.sendButton.shape,"data-variant":e.composer.sendButton.variant,onClick:q,disabled:!d.trim()&&_.length===0,"aria-label":c.send,"data-testid":y.composerSend,children:o(we,{})})]}),o("input",{ref:v,type:"file",multiple:!0,accept:e.attachments.accept,onChange:ue,class:`${Te}-sr-only`,"data-testid":y.composerFileInput})]})}var b_=P.cssPrefix;function Ts({visible:e,strings:t}){return e?o("div",{class:`${b_}-dropzone`,role:"status","aria-live":"polite",children:t.dropZone}):null}function _r({containerRef:e,onDrop:t}){let[n,r]=k(!1);return w(()=>{let a=e.current;if(!a)return;let i=0,s=u=>{i+=1,u.dataTransfer?.types.includes("Files")&&(u.preventDefault(),r(!0))},l=()=>{i-=1,!(i>0)&&(i=0,r(!1))},c=u=>{u.dataTransfer?.types.includes("Files")&&u.preventDefault()},d=u=>{i=0,r(!1),u.dataTransfer&&(u.preventDefault(),t(u.dataTransfer.items))};return a.addEventListener("dragenter",s),a.addEventListener("dragleave",l),a.addEventListener("dragover",c),a.addEventListener("drop",d),()=>{a.removeEventListener("dragenter",s),a.removeEventListener("dragleave",l),a.removeEventListener("dragover",c),a.removeEventListener("drop",d)}},[e,t]),{visible:n}}function Es({itemCount:e,initialFocusIndex:t}){let[n,r]=k(!1),a=M(null),i=M(null),[s,l]=k(-1),c=F(()=>{r(!1),l(-1),a.current?.focus()},[]),d=F(()=>r(g=>!g),[]);w(()=>{if(!n)return;let g=p=>{let m=i.current,h=a.current;if(!m||!h)return;let v=p.composedPath();v.includes(m)||v.includes(h)||(r(!1),l(-1))};return document.addEventListener("click",g,!0),()=>document.removeEventListener("click",g,!0)},[n]),w(()=>{if(!n||e===0)return;let g=t?.()??0,p=g<0||g>=e?0:g;l(p)},[n,e,t]),w(()=>{if(!n||s<0)return;i.current?.querySelectorAll("[role='menuitem']")?.[s]?.focus()},[n,s]);let u=F(g=>{(g.key==="ArrowDown"||g.key==="Enter"||g.key===" ")&&(g.preventDefault(),r(!0))},[]),_=F(g=>{if(e!==0)switch(g.key){case"Escape":g.preventDefault(),c();return;case"ArrowDown":g.preventDefault(),l(p=>(p+1)%e);return;case"ArrowUp":g.preventDefault(),l(p=>(p-1+e)%e);return;case"Home":g.preventDefault(),l(0);return;case"End":g.preventDefault(),l(e-1)}},[e,c]);return{open:n,focusIndex:s,triggerRef:a,menuRef:i,toggle:d,close:c,onTriggerKey:u,onMenuKey:_}}function As({items:e,triggerLabel:t}){let n=P.cssPrefix,r=Es({itemCount:e.length}),a=l=>{l.disabled||(l.onSelect?.(),l.keepOpen||r.close())},i=(l,c)=>l.onSelectValue?.(c),s=(l,c)=>{let d=c.segments;if(!d?.length)return;let u=Math.max(0,d.findIndex(g=>g.value===c.value)),_=-1;if(l.key==="ArrowRight"||l.key==="Enter"||l.key===" ")_=(u+1)%d.length;else if(l.key==="ArrowLeft")_=(u-1+d.length)%d.length;else return;l.preventDefault(),l.stopPropagation(),i(c,d[_].value)};return o("div",{class:`${n}-menu-wrap`,children:[o("button",{ref:r.triggerRef,type:"button",class:`${n}-icon-btn`,"aria-label":t,"aria-haspopup":"menu","aria-expanded":r.open,title:t,onClick:r.toggle,onKeyDown:r.onTriggerKey,children:o(ts,{})}),r.open?o("div",{ref:r.menuRef,class:`${n}-menu`,role:"menu","aria-label":t,onKeyDown:r.onMenuKey,tabIndex:-1,children:e.map(l=>l.segments?o("div",{role:"menuitem",class:`${n}-menu-item ${n}-menu-item-segmented`,"aria-label":l.label,tabIndex:-1,onKeyDown:c=>s(c,l),children:[l.icon?o("span",{class:`${n}-menu-icon`,children:l.icon}):null,o("span",{class:`${n}-menu-label`,children:l.label}),o("span",{class:`${n}-segmented`,role:"group","aria-label":l.label,children:l.segments.map(c=>{let d=c.value===l.value;return o("button",{type:"button",role:"menuitemradio","aria-checked":d,class:`${n}-segment`,"data-on":d?"true":void 0,lang:c.lang,title:c.value,tabIndex:-1,"data-testid":`${y.langSegment}-${c.value}`,onClick:()=>i(l,c.value),children:c.label},c.value)})})]},l.id):o("button",{type:"button",role:"menuitem",class:`${n}-menu-item`,"aria-pressed":l.type==="switch"?l.on:void 0,disabled:l.disabled,onClick:()=>a(l),children:[l.icon?o("span",{class:`${n}-menu-icon`,children:l.icon}):null,o("span",{class:`${n}-menu-label`,children:l.label}),l.type==="switch"&&l.on?o("span",{class:`${n}-menu-check`,"aria-hidden":"true",children:o(Yt,{})}):null]},l.id))}):null]})}var ko=P.cssPrefix;function P_(e){let t=typeof matchMedia=="function"?matchMedia("(prefers-color-scheme: dark)").matches:!0;return e==="auto"?t?"light":"dark":t?e==="light"?"dark":"auto":e==="dark"?"light":"auto"}var x_={normal:"large",large:"small",small:"normal"};function y_(e){return e==="light"?o(ms,{}):e==="dark"?o(gs,{}):o(hs,{})}function S_(e){return(e.split("-")[0]||e).toUpperCase()}function ze({panelProps:e,variant:t}){let{options:n,panelSize:r,feedback:a,onClose:i,onClear:s,onExpand:l,onFullscreen:c,onPopOut:d,onSoundToggle:u}=e,{onToggleHistory:_,onLocaleChange:g,onThemeChange:p,onTextSizeChange:m}=e,h=n.strings,v=n.mode,E=t==="chat",S=oe(()=>a.mutedSig.value).value,H=new Set(n.actions),R=N=>H.has(N),U=typeof matchMedia=="function"&&matchMedia("(max-width: 640px)").matches,q=N=>U&&(N==="expand"||N==="fullscreen")?!1:en(N,v,r,{popOutUrl:n.popOutUrl}),D=n.themeMode,ue={auto:h.themeAuto,light:h.themeLight,dark:h.themeDark},z=n.textSize,te={small:h.textSizeSmall,normal:h.textSizeNormal,large:h.textSizeLarge},ve=[];if(E&&R("clear")&&ve.push({id:"clear",icon:o(cs,{}),label:h.newConversation,onSelect:s}),R("expand")&&q("expand")){let N=r==="expanded";ve.push({id:"expand",icon:N?o(Yi,{}):o(Ji,{}),label:N?h.collapse:h.expand,type:"switch",on:N,onSelect:l})}if(R("fullscreen")&&q("fullscreen")){let N=r==="fullscreen";ve.push({id:"fullscreen",icon:N?o(Zi,{}):o(Qi,{}),label:N?h.exitFullscreen:h.fullscreen,type:"switch",on:N,onSelect:c})}R("popOut")&&q("popOut")&&ve.push({id:"popOut",icon:o(ls,{}),label:h.popOut,onSelect:d}),E&&R("sound")&&ve.push({id:"sound",icon:S?o(rs,{}):o(ns,{}),label:S?h.soundOff:h.soundOn,type:"switch",on:!S,onSelect:u}),R("theme")&&ve.push({id:"theme",icon:y_(D),label:`${h.theme}: ${ue[D]}`,onSelect:()=>p(P_(D)),keepOpen:!0}),R("textSize")&&ve.push({id:"textSize",icon:o(os,{}),label:`${h.textSize}: ${te[z]}`,onSelect:()=>m(x_[z]),keepOpen:!0}),R("language")&&n.availableLocales.length>1&&ve.push({id:"language",icon:o(ss,{}),label:h.language,segments:n.availableLocales.map(N=>({value:N,label:S_(N),lang:N})),value:n.locale,onSelectValue:g});let we=!!i&&sr(v,r,n.actions),T=E&&R("history");return o("div",{class:`${ko}-header-actions`,children:[T?o("button",{type:"button",class:`${ko}-icon-btn`,onClick:_,"aria-label":h.history,title:h.history,"data-testid":y.actionHistory,children:o(is,{})}):null,ve.length>0?o(As,{items:ve,triggerLabel:h.moreActions}):null,we?o("button",{type:"button",class:`${ko}-icon-btn`,onClick:i,"aria-label":h.close,title:h.close,"data-testid":y.actionClose,children:o(He,{})}):null]})}var w_=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,k_=/^https?:\/\/[^\s.]+\.[^\s]+$/i,C_=/^[+]?[\d\s().-]{6,}$/;function Rt(e,t){return e.replace(/\{(\w+)\}/g,(n,r)=>String(t[r]??`{${r}}`))}function T_(e){return Array.isArray(e)?e.length:e&&e.trim()?1:0}function E_(e,t,n){let r=e.required??!0,a=e.validation;if(e.type==="multiselect"){let s=T_(t);return r&&s===0?n.formRequired:s===0?void 0:a?.minSelections!=null&&s<a.minSelections?Rt(n.formChooseAtLeast,{min:a.minSelections}):a?.maxSelections!=null&&s>a.maxSelections?Rt(n.formChooseAtMost,{max:a.maxSelections}):void 0}let i=typeof t=="string"?t.trim():"";if(!i)return r?n.formRequired:void 0;switch(e.type){case"email":if(!w_.test(i))return n.formInvalidEmail;break;case"url":if(!k_.test(i))return n.formInvalidUrl;break;case"tel":if(!C_.test(i))return n.formInvalidTel;break;case"number":{let s=Number(i);if(!Number.isFinite(s))return n.formInvalidNumber;if(a?.min!=null&&s<a.min)return Rt(n.formNumberTooSmall,{min:a.min});if(a?.max!=null&&s>a.max)return Rt(n.formNumberTooLarge,{max:a.max});break}default:break}if(a?.minLength!=null&&i.length<a.minLength)return Rt(n.formTooShort,{min:a.minLength});if(a?.maxLength!=null&&i.length>a.maxLength)return Rt(n.formTooLong,{max:a.maxLength});if(a?.pattern)try{if(!new RegExp(a.pattern).test(i))return n.formPatternMismatch}catch{}}function Rs(e,t,n){let r={};for(let a of e){let i=E_(a,t[a.name],n);i&&(r[a.name]=i)}return r}function Is(e){let t={};for(let[n,r]of Object.entries(e)){let a=Array.isArray(r)?r.join(", "):r;a&&a.trim()&&(t[n]=a.trim())}return t}var le=P.cssPrefix,ur="__other__";function pr({fields:e,strings:t,submitLabel:n,onSubmit:r,skipLabel:a,onSkip:i,disabled:s,rootTestId:l,submitTestId:c,skipTestId:d}){let[u,_]=k(()=>L_(e)),[g,p]=k({}),[m,h]=k({}),v=R=>{m[R]&&h(U=>({...U,[R]:""}))},E=(R,U)=>{_(q=>({...q,[R]:U})),v(R)},S=(R,U)=>{p(q=>({...q,[R]:U})),v(R)},H=R=>{if(R.preventDefault(),s)return;let U=M_(e,u,g),q=Rs(e,U,t);if(Object.keys(q).length>0){h(q);return}r(Is(U))};return o("form",{class:`${le}-form`,onSubmit:H,"data-testid":l,noValidate:!0,children:[e.map(R=>o(A_,{field:R,value:u[R.name],otherText:g[R.name]??"",error:m[R.name],disabled:s,strings:t,onChange:U=>E(R.name,U),onOtherChange:U=>S(R.name,U)},R.name)),o("div",{class:`${le}-form-actions`,children:[a&&i?o("button",{type:"button",class:`${le}-form-skip`,onClick:i,disabled:s,"data-testid":d,children:a}):null,o("button",{type:"submit",class:`${le}-form-submit`,disabled:s,"data-testid":c,children:n})]})]})}function A_({field:e,value:t,otherText:n,error:r,disabled:a,strings:i,onChange:s,onOtherChange:l}){let c=he(y.formField,e.name),d=R_({field:e,value:t,otherText:n,disabled:a,strings:i,onChange:s,onOtherChange:l,fieldTid:c});return o("label",{class:`${le}-field`,"data-field":e.name,"data-invalid":r?"true":void 0,children:[o("span",{class:`${le}-field-label`,children:[e.label,e.required??!0?o("span",{class:`${le}-field-req`,"aria-hidden":"true",children:" *"}):null]}),d,e.validationHint&&!r?o("span",{class:`${le}-field-hint`,children:e.validationHint}):null,r?o("span",{class:`${le}-field-error`,role:"alert",children:r}):null]})}function R_(e){let{field:t,value:n,otherText:r,disabled:a,strings:i,onChange:s,onOtherChange:l,fieldTid:c}=e,d=typeof n=="string"?n:"";switch(t.type){case"textarea":return o("textarea",{class:`${le}-field-input`,rows:3,value:d,placeholder:t.placeholder,disabled:a,onInput:u=>s(u.target.value),"data-testid":c});case"select":return o("select",{class:`${le}-field-input`,value:d,disabled:a,onChange:u=>s(u.target.value),"data-testid":c,children:[o("option",{value:"",children:t.placeholder??"\u2014"}),(t.options??[]).map(u=>o("option",{value:u.value,children:u.label??u.value},u.value))]});case"radio":{let u=t.allowOther&&d===ur;return o("div",{class:`${le}-field-choices`,role:"radiogroup","data-testid":c,children:[(t.options??[]).map(_=>o("label",{class:`${le}-choice`,children:[o("input",{type:"radio",name:`${le}-${t.name}`,checked:d===_.value,disabled:a,onChange:()=>s(_.value)}),o("span",{children:_.label??_.value})]},_.value)),t.allowOther?o("label",{class:`${le}-choice`,children:[o("input",{type:"radio",name:`${le}-${t.name}`,checked:d===ur,disabled:a,onChange:()=>s(ur)}),o("span",{children:i.formOther})]}):null,u?o("input",{class:`${le}-field-input`,value:r,placeholder:t.placeholder??i.formOtherPlaceholder,disabled:a,onInput:_=>l(_.target.value)}):null]})}case"checkbox":return o("label",{class:`${le}-choice`,children:[o("input",{type:"checkbox",checked:d==="true",disabled:a,onChange:u=>s(u.target.checked?"true":""),"data-testid":c}),o("span",{children:t.placeholder??t.label})]});case"multiselect":{let u=Array.isArray(n)?n:[],_=(g,p)=>s(p?[...u,g]:u.filter(m=>m!==g));return o("div",{class:`${le}-field-choices`,"data-testid":c,children:[(t.options??[]).map(g=>o("label",{class:`${le}-choice`,children:[o("input",{type:"checkbox",checked:u.includes(g.value),disabled:a,onChange:p=>_(g.value,p.target.checked)}),o("span",{children:g.label??g.value})]},g.value)),t.allowOther||(t.options??[]).length===0?o("textarea",{class:`${le}-field-input`,rows:2,value:r,placeholder:t.placeholder??i.formOtherPlaceholder,disabled:a,onInput:g=>l(g.target.value)}):null]})}default:return o("input",{class:`${le}-field-input`,type:I_(t.type),value:d,placeholder:t.placeholder,disabled:a,onInput:u=>s(u.target.value),"data-testid":c})}}function I_(e){switch(e){case"number":case"email":case"tel":case"url":case"date":case"time":return e;default:return"text"}}function L_(e){let t={};for(let n of e)n.defaultValue!=null&&(t[n.name]=n.type==="multiselect"?n.defaultValue.split(",").map(r=>r.trim()).filter(Boolean):n.defaultValue);return t}function M_(e,t,n){let r={...t};for(let a of e){let i=n[a.name]?.trim();if(a.type==="radio"&&a.allowOther&&t[a.name]===ur)r[a.name]=i??"";else if(a.type==="multiselect"&&i){let s=i.split(/[,\n;]+/).map(c=>c.trim()).filter(Boolean),l=Array.isArray(t[a.name])?t[a.name]:[];r[a.name]=[...l,...s]}}return r}var Ue=P.cssPrefix;function Ls({form:e,strings:t,onSubmit:n,onSkip:r}){return o("div",{class:`${Ue}-form-gate`,"data-testid":y.formGate,children:[e.title?o("h3",{class:`${Ue}-form-gate-title`,children:e.title}):null,e.description?o("p",{class:`${Ue}-form-gate-desc`,children:e.description}):null,o(pr,{fields:e.fields,strings:t,submitLabel:e.submitLabel??t.formSubmit,onSubmit:n,skipLabel:e.skippable?t.formSkip:void 0,onSkip:e.skippable?r:void 0,submitTestId:y.formSubmit,skipTestId:y.formSkip})]})}function Ms({marker:e,strings:t,onFill:n}){let r=e.outcome==="skipped",a=r?t.formSkipped:t.formSubmitted,i=e.title?o(ne,{children:[o("span",{children:e.title}),o("span",{class:`${Ue}-sr-only`,children:a})]}):o("span",{children:a}),s=e.form?.reviewable??!1,l=!r&&s&&e.values&&Object.keys(e.values).length>0?e.values:null;if(l){let c=d=>e.form?.fields.find(u=>u.name===d)?.label??d;return o("details",{class:`${Ue}-form-done`,"data-outcome":e.outcome,"data-testid":y.formDone,children:[o("summary",{class:`${Ue}-form-done-summary`,"data-testid":y.formDoneToggle,children:[o(Yt,{}),i,o(Et,{})]}),o("dl",{class:`${Ue}-form-answers`,"data-testid":y.formAnswers,children:Object.entries(l).map(([d,u])=>o("div",{class:`${Ue}-form-answer`,children:[o("dt",{children:c(d)}),o("dd",{children:u})]},d))})]})}return o("div",{class:`${Ue}-form-done`,"data-outcome":e.outcome,"data-testid":y.formDone,role:"status",children:[r?o(as,{}):o(Yt,{}),i,r&&e.form?.reopenable&&n?o("button",{type:"button",class:`${Ue}-form-done-fill`,"data-testid":y.formFill,onClick:n,children:t.formFillOut}):null]})}var Eo=1,Os=2,Ds=4,$s=8,Fs=16;function N_(e){switch(e){case Eo:return"href";case Os:return"src";case Ds:return"class";case $s:return"checked";case Fs:return"start"}}var O_=e=>{switch(e){case 1:return 3;case 2:return 4;case 3:return 5;case 4:return 6;case 5:return 7;default:return 8}},D_=O_;var Ns=24;function Ro(e){let t=new Uint32Array(Ns);return t[0]=1,{renderer:e,text:"",pending:"",tokens:t,len:0,token:1,fence_end:0,blockquote_idx:0,hr_char:"",hr_chars:0,fence_start:0,spaces:new Uint8Array(Ns),indent:"",indent_len:0,table_state:0}}function Bs(e){e.pending.length>0&&be(e,`
|
|
11
|
+
${a}`:a;continue}r.startsWith("id:")&&(n=r.slice(3).trim())}if(!t||t==="[DONE]")return null;try{let r=JSON.parse(t);return Ci.trace("chunk",{type:r.type,eventId:n}),{chunk:r,eventId:n}}catch(r){return Ci.trace("frame parse failed",{err:r,payload:t.slice(0,200)}),null}}function wd(e){let t=new TextEncoder().encode(e),n="";for(let r of t)n+=String.fromCharCode(r);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}var Ei=e=>e&&Object.keys(e).length>0?e:void 0;function Ai(e,t){let n=Ei(e),r=Ei(t);if(!n&&!r)return;let a={};return n&&(a.user=n),r&&(a.page=r),wd(JSON.stringify(a))}function jn(e){if(!e)return;let t=Date.parse(e);return Number.isFinite(t)?t:void 0}var Me={handshake:"/pai/handshake",streamMessage:"/pai/stream-message",streamResume:"/pai/stream-resume",cancelStream:"/pai/cancel-stream",listConversations:"/pai/list-conversations",listMessages:"/pai/list-messages",updateSettings:"/pai/update-settings",markRead:"/pai/mark-read",bootstrap:"/pai/bootstrap",content:"/pai/content",submitForm:"/pai/submit-form"},Ri="context";function Ii(e){let n={messages:e.messages.map(i=>({id:i.id,parts:Td(i),role:i.role,createdAt:i.createdAt!==void 0?new Date(i.createdAt).toISOString():void 0})),conversationId:e.conversationId,trigger:e.trigger??"submit-message"};e.visitorId&&(n.visitorId=e.visitorId),e.userPrefs&&(n.userPrefs=e.userPrefs);let r={},a=e.tools?.map(Cd).filter(i=>i!==null);return a?.length&&(r.tools=a),e.responseMode&&(r.responseMode=e.responseMode),Object.keys(r).length>0&&(n.data=r),n}function kd(e){return e.state==="output"||e.state==="error"||e.approval?.approved!==void 0}function Cd(e){return typeof e=="string"?e?{code:e}:null:e?.code?e:null}function Td(e){let t=[];for(let n of e.parts)if(n.kind==="text"&&n.text&&t.push({text:n.text,type:"text"}),n.kind==="file"&&n.url&&t.push({mediaType:n.mediaType,type:"file",url:n.url}),n.kind==="tool"&&kd(n)){let r={type:"tool",toolCallId:n.toolCallId,toolName:n.toolName,state:n.state};n.input!==void 0&&(r.input=n.input),n.output!==void 0&&(r.output=n.output),n.error!==void 0&&(r.errorText=n.error),n.approval&&n.approval.approved!==void 0&&(r.approval=n.approval),t.push(r)}for(let n of e.attachments??[])n.url&&t.push({type:"file",url:n.url,mediaType:n.mediaType,filename:n.name,fileId:n.id,fileSize:n.size});return t}var X=K.scope("transport"),Ed=3,Ni=400,Ad=6e4,Rd=1e4,Li=3,Id=new Set([408,425,429,500,502,503,504]);function Mi(e){return Ni*2**e+Math.floor(Math.random()*250)}function Ld(e){let t=e.get("retry-after");if(!t)return null;let n=Number(t),r=Number.isFinite(n)?n*1e3:Date.parse(t)-Date.now();return Number.isFinite(r)&&r>=0?Math.min(r,3e4):null}function fo(e,t){return new Promise(n=>{if(t?.aborted)return n();let r=setTimeout(i,e),a=()=>i();t?.addEventListener("abort",a,{once:!0});function i(){clearTimeout(r),t?.removeEventListener("abort",a),n()}})}var Xn=class{constructor(t){W(this,"opts",t);W(this,"visitorId");W(this,"conversationId");W(this,"userContext");W(this,"pageContext");W(this,"locale");W(this,"conversationsCache",new Map);W(this,"contentCache",new Map)}setContext(t,n){this.userContext=t,this.pageContext=n}setLocale(t){this.locale=t}primeIdentity(t,n){t&&(this.visitorId=t),n&&(this.conversationId=n)}envelope(){let t={};this.visitorId&&(t.visitorId=this.visitorId),this.conversationId&&(t.conversationId=this.conversationId),this.locale&&(t.locale=this.locale);let n=Ai(this.userContext,this.pageContext);return n&&(t[Ri]=n),t}withEnvelope(t){return{...this.envelope(),...t}}appendEnvelope(t){for(let[n,r]of Object.entries(this.envelope()))t.append(n,r);return t}withEnvelopeQuery(t){let n=new URL(this.url(t));for(let[r,a]of Object.entries(this.envelope()))n.searchParams.has(r)||n.searchParams.set(r,a);return n.toString()}async handshake(t){X.debug("handshake \u2192",{visitorId:t.visitorId,conversationId:t.conversationId,locale:t.locale});let n=await this.postJson(Me.handshake,t,"handshake");return X.debug("handshake \u2190",{visitorId:n.visitorId,conversationId:n.conversationId,hasWelcome:!!n.welcome,hasConfig:!!n.config,rebind:n.rebind}),Nd(n)||X.warn("handshake response did not match expected shape; using raw response",{response:n}),this.visitorId=n.visitorId??t.visitorId,this.conversationId=n.conversationId,n}async uploadFile(t){X.debug("uploadFile \u2192",{name:t.name,size:t.size,type:t.type});let n=new FormData;n.append("file",t,t.name);let r=await this.postForm(this.uploadPath,n,"upload");return X.debug("uploadFile \u2190",{id:r.id,url:r.url}),r}async transcribe(t,n="audio/webm"){X.debug("transcribe \u2192",{size:t.size,mimeType:n});let r=new FormData;r.append("audio",t,`voice.${Md(n)}`),r.append("mimeType",n);let a=await this.postForm(this.transcribePath,r,"transcribe");return X.debug("transcribe \u2190",{textLen:a.text.length}),a}listConversations(t={}){let n=JSON.stringify(t,Object.keys(t).toSorted()),r=this.conversationsCache.get(n);if(r&&Date.now()-r.at<Rd)return X.debug("listConversations \u2192 cache",t),r.result;let a=this.fetchConversations(t).catch(i=>{throw this.conversationsCache.delete(n),i});return this.conversationsCache.set(n,{at:Date.now(),result:a}),a}async fetchConversations(t){let n=new URL(this.url(Me.listConversations));t.visitorId&&n.searchParams.set("visitorId",t.visitorId),t.limit&&n.searchParams.set("limit",String(t.limit)),t.cursor&&n.searchParams.set("cursor",t.cursor),X.debug("listConversations \u2192",{visitorId:t.visitorId??this.visitorId,limit:t.limit,cursor:t.cursor});let r=await this.getJson(n.toString(),"listConversations"),a=r.conversations??[];return X.debug("listConversations \u2190",{count:a.length,nextCursor:r.nextCursor}),{conversations:a.map(i=>({conversationId:i.conversationId,title:i.title,lastMessageAt:i.lastMessageAt,preview:i.preview,canContinue:i.canContinue,unreadCount:i.unreadCount})),nextCursor:r.nextCursor}}async loadConversation(t){let n=new URL(this.url(Me.listMessages));n.searchParams.set("conversationId",t),X.debug("loadConversation \u2192",{conversationId:t,visitorId:this.visitorId});let r=await this.getJson(n.toString(),"loadConversation"),a=r.messages??[];return X.debug("loadConversation \u2190",{conversationId:r.conversationId,canContinue:r.canContinue,messageCount:a.length,hasSuggestions:!!r.suggestions}),{conversationId:r.conversationId,canContinue:r.canContinue??!0,messages:a,agent:r.agent,suggestions:r.suggestions}}async markRead(t){if(!(!this.visitorId||!t)){this.conversationsCache.clear(),X.debug("markRead \u2192",{conversationId:t,visitorId:this.visitorId});try{await this.postJson(Me.markRead,{conversationId:t},"markRead")}catch(n){X.debug("markRead failed (non-fatal)",{err:n})}}}listContent(t={}){let n=`${this.locale??""}|${JSON.stringify(t,Object.keys(t).toSorted())}`,r=this.contentCache.get(n);if(r&&Date.now()-r.at<Ad)return X.debug("listContent \u2192 cache",t),r.result;let a=this.fetchContent(t).catch(i=>{throw this.contentCache.delete(n),i});return this.contentCache.set(n,{at:Date.now(),result:a}),a}async fetchContent(t){let n=new URL(this.dataUrl(Me.content));for(let[i,s]of Object.entries(t))s!==void 0&&n.searchParams.set(i,Array.isArray(s)?s.join(","):String(s));X.debug("listContent \u2192",t);let r=await this.getJson(n.toString(),"listContent"),a=(r.items??[]).map(i=>va(i,this.locale));return X.debug("listContent \u2190",{count:a.length,total:r.pagination?.total}),{...r,items:a}}async bootstrap(t){let n=new URL(this.dataUrl(Me.bootstrap));t&&n.searchParams.set("conversationId",t),X.debug("bootstrap \u2192",{conversationId:t??this.conversationId});let r=await this.getJson(n.toString(),"bootstrap"),a=r.forms??[],i=r.formSubmissions??[];return X.debug("bootstrap \u2190",{forms:a.length,formSubmissions:i.length}),{forms:a,formSubmissions:i}}async saveUserPrefs(t){X.debug("saveUserPrefs \u2192",{visitorId:this.visitorId,conversationId:this.conversationId,settingsKeys:Object.keys(t)});let n=await this.postJson(Me.updateSettings,{userPrefs:t},"saveUserPrefs");return X.debug("saveUserPrefs \u2190",{ok:n.ok}),n}get uploadPath(){return this.opts.endpoints?.upload??"/pai/upload-file"}get transcribePath(){return this.opts.endpoints?.transcribe??"/pai/transcribe-audio"}get submitFormPath(){return this.opts.endpoints?.submitForm??Me.submitForm}async submitForm(t){X.debug("submitForm \u2192",{formId:t.formId,trigger:t.trigger,fields:Object.keys(t.values).length});try{await this.postJson(this.dataUrl(this.submitFormPath),t,"submitForm")}catch(n){X.debug("submitForm failed (non-fatal)",{err:n})}}sendMessage(t){this.conversationsCache.clear(),X.debug("message \u2192",{conversationId:t.conversationId,visitorId:t.visitorId,messageCount:t.messages.length,trigger:t.trigger,responseMode:t.data?.responseMode,tools:t.data?.tools?.map(s=>s.code)});let n=new AbortController,r=new Set;return{iter:this.runStream(t,n,r),cancel:()=>this.cancelStream(n,t.conversationId)}}resumeStream(){let t=new AbortController,n=new Set;return{iter:this.resumeStreamGen(t,n,!0),cancel:()=>t.abort()}}async*runStream(t,n,r){(yield*this.drain(this.openMessageStream(t,n.signal),r,n))||(yield*this.resumeStreamGen(n,r,!1))}async*resumeStreamGen(t,n,r){for(let a=1;a<=Ed&&!t.signal.aborted;a++){if((!r||a>1)&&(await fo(Ni*a,t.signal),t.signal.aborted))return;let i;try{i=await this.fetchImpl(this.resumeUrl(n.size),{method:"GET",credentials:"omit",headers:{accept:"text/event-stream",...this.opts.auth.headers()},signal:t.signal})}catch(l){if(t.signal.aborted)return;X.debug("resume fetch failed \u2014 retrying",{attempt:a,err:l});continue}if(i.status===204||!i.ok){X.debug("resume \u2192 no in-flight stream",{status:i.status});return}let s=n.size;if(yield*this.drain(po(i,t.signal),n,t))return;if(n.size===s){X.debug("resume \u2192 stream closed with no new events; nothing to resume");return}}if(!t.signal.aborted)throw new Le("stream incomplete after resume attempts","server")}async*drain(t,n,r){try{for await(let a of t){if(r.signal.aborted)return!0;if(a.eventId){if(n.has(a.eventId))continue;n.add(a.eventId)}if(yield a,a.chunk.type==="finish"||a.chunk.type==="error")return!0}}catch(a){if(r.signal.aborted)return!0;if(a instanceof Le&&a.status!==void 0)throw a;X.debug("stream segment dropped",{err:a})}return!1}cancelStream(t,n){t.signal.aborted||(X.debug("cancel stream",{conversationId:n,visitorId:this.visitorId}),t.abort(),!(!this.visitorId||!n)&&this.fetchImpl(this.url(Me.cancelStream),{method:"POST",credentials:"omit",headers:{"content-type":"application/json",...this.opts.auth.headers()},body:JSON.stringify(this.withEnvelope({})),keepalive:!0}).catch(r=>X.debug("cancel POST failed (non-fatal)",{err:r})))}async*openMessageStream(t,n){let r=await this.fetchImpl(this.url(Me.streamMessage),{method:"POST",credentials:"omit",headers:{accept:"text/event-stream","content-type":"application/json",...this.opts.auth.headers()},body:JSON.stringify(this.withEnvelope(t)),signal:n});yield*po(r,n)}resumeUrl(t){let n=new URL(this.withEnvelopeQuery(Me.streamResume));return n.searchParams.set("resumeAt",String(t)),n.toString()}async postJson(t,n,r){let a=await this.fetchWithRetry(()=>[this.url(t),{method:"POST",credentials:"omit",headers:{"content-type":"application/json",...this.opts.auth.headers()},body:JSON.stringify(this.withEnvelope(n))}],r);return this.assertOk(a,r)}async postForm(t,n,r){let a=await this.fetchImpl(this.url(t),{method:"POST",credentials:"omit",headers:this.opts.auth.headers(),body:this.appendEnvelope(n)});return this.assertOk(a,r)}async getJson(t,n){let r=await this.fetchWithRetry(()=>[this.withEnvelopeQuery(t),{method:"GET",credentials:"omit",headers:{accept:"application/json",...this.opts.auth.headers()}}],n);return this.assertOk(r,n)}async fetchWithRetry(t,n){for(let r=0;;r++){let[a,i]=t(),s;try{s=await this.fetchImpl(a,i)}catch(c){if(r>=Li)throw new Le(`${n} failed: network error`,"network",void 0,c);X.debug("request network error \u2014 retrying",{label:n,attempt:r}),await fo(Mi(r));continue}if(s.ok||!Id.has(s.status)||r>=Li)return s;let l=Ld(s.headers)??Mi(r);X.debug("request retryable status \u2014 retrying",{label:n,status:s.status,attempt:r,wait:l}),await fo(l)}}async assertOk(t,n){if(!t.ok)throw new Le(`${n} failed: ${t.status}`,"server",t.status);return await t.json()}url(t){return/^https?:\/\//i.test(t)?t:`${this.opts.agentApiBaseUrl}${t}`}dataUrl(t){return/^https?:\/\//i.test(t)?t:`${this.opts.dataApiBaseUrl}${t}`}get fetchImpl(){return this.opts.fetchImpl??globalThis.fetch.bind(globalThis)}};function Md(e){return e.includes("webm")?"webm":e.includes("ogg")?"ogg":e.includes("mp4")||e.includes("m4a")?"m4a":e.includes("mpeg")?"mp3":e.includes("wav")?"wav":"bin"}function Nd(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.visitorId=="string"&&typeof t.conversationId=="string"}function Oi(e,t){let n=e?[{kind:"text",id:"t0",textSig:B(e),doneSig:B(!0)}]:[];return{id:Fe(),role:"user",createdAt:Date.now(),status:"complete",attachments:t,partsSig:B(n)}}function Jn(){return{id:Fe(),role:"assistant",createdAt:Date.now(),status:"streaming",partsSig:B([])}}function mo(e){return Od({id:e.id,role:e.role,createdAt:Date.now(),status:"complete",parts:[{kind:"text",id:`${e.id}-t0`,text:e.text,done:!0}]})}function Od(e){return{id:e.id,role:e.role,createdAt:e.createdAt,status:e.status,errorText:e.errorText,finishReason:e.finishReason,attachments:e.attachments,partsSig:B(e.parts.map(Dd))}}function go(e){let t=e.parts.map((n,r)=>n.type==="text"?{kind:"text",id:`${e.id}-t${r}`,textSig:B(n.text),doneSig:B(!0)}:n.type==="file"?{kind:"file",url:n.url,mediaType:n.mediaType}:n.type==="tool"?{kind:"tool",toolCallId:n.toolCallId,toolName:n.toolName,inputPartialSig:B(""),inputSig:B(n.input),outputSig:B(n.output),errorSig:B(n.errorText),stateSig:B(n.state),approvalSig:B(n.approval)}:null).filter(n=>n!==null);return{id:e.id,role:e.role,createdAt:jn(e.createdAt)??Date.now(),status:"complete",partsSig:B(t)}}function Di(e){return{id:e.id,role:e.role,createdAt:e.createdAt,status:e.status,errorText:e.errorText,finishReason:e.finishReason,attachments:e.attachments,parts:e.partsSig.value.map($d)}}function ho(e){let t="";for(let n of e.partsSig.value)n.kind==="text"&&(t+=n.textSig.value);return t}function Dd(e){return e.kind==="text"||e.kind==="reasoning"?{kind:e.kind,id:e.id,textSig:B(e.text),doneSig:B(e.done)}:e.kind==="tool"?{kind:"tool",toolCallId:e.toolCallId,toolName:e.toolName,inputPartialSig:B(e.inputPartial),inputSig:B(e.input),outputSig:B(e.output),errorSig:B(e.error),stateSig:B(e.state),approvalSig:B(e.approval)}:e}function $d(e){return e.kind==="text"||e.kind==="reasoning"?{kind:e.kind,id:e.id,text:e.textSig.value,done:e.doneSig.value}:e.kind==="tool"?{kind:"tool",toolCallId:e.toolCallId,toolName:e.toolName,inputPartial:e.inputPartialSig.value,input:e.inputSig.value,output:e.outputSig.value,error:e.errorSig.value,state:e.stateSig.value,approval:e.approvalSig.value}:e}function Yn(e){if(!e)return!1;let t=e.startsWith("tool:")?e.slice(5):e;return t==="ask-user-input"||t==="ask_user_input"||t==="request-user-input"||t==="request_user_input"}var Qn={submitMessage:"submit-message",toolResult:"tool-result",toolApproval:"tool-approval"};var $i=K.scope("reducer"),Zn=class{constructor(t){W(this,"messagesSig",t);W(this,"active",null)}attach(t){this.active=t}detach(){this.active=null}apply(t){let n=this.active;if(n)switch(t.type){case"start":case"start-step":case"finish-step":return;case"finish":$i.debug("finish",{reason:t.finishReason,canContinue:t.canContinue}),n.status="complete",t.finishReason&&(n.finishReason=t.finishReason),this.bumpDone(n);return;case"error":$i.warn("stream error chunk",{errorText:t.errorText}),n.status="error",n.errorText=t.errorText,this.bumpDone(n);return;case"text-start":Ct(n,"text",t.id);return;case"text-delta":{let r=Ct(n,"text",t.id);r.textSig.value+=t.delta;return}case"text-end":Ct(n,"text",t.id).doneSig.value=!0;return;case"reasoning-start":Ct(n,"reasoning",t.id).doneSig.value=!1;return;case"reasoning-delta":{let r=Ct(n,"reasoning",t.id);r.textSig.value+=t.delta;return}case"reasoning-end":Ct(n,"reasoning",t.id).doneSig.value=!0;return;case"tool-input-start":case"tool-input-delta":case"tool-input-available":case"tool-output-available":case"tool-output-error":case"tool-approval-request":Fd(n,t);return;case"file":er(n,{kind:"file",url:t.url,mediaType:t.mediaType});return;case"source-url":{if(n.partsSig.value.some(a=>a.kind==="source"&&a.sourceId===t.sourceId))return;er(n,{kind:"source",sourceId:t.sourceId,url:t.url,title:t.title});return}case"data-notification":return;default:{let r=t}}}bumpDone(t){t.partsSig.value=[...t.partsSig.value],this.messagesSig.value=[...this.messagesSig.value]}};function Ct(e,t,n){let r=e.partsSig.value.find(i=>i.kind===t&&i.id===n);if(r)return r;let a={kind:t,id:n,textSig:B(""),doneSig:B(!1)};return er(e,a),a}function Tt(e,t,n){let r=e.partsSig.value.find(i=>i.kind==="tool"&&i.toolCallId===t);if(r)return r;let a={kind:"tool",toolCallId:t,toolName:n??"tool",inputPartialSig:B(""),inputSig:B(void 0),outputSig:B(void 0),errorSig:B(void 0),stateSig:B("input"),approvalSig:B(void 0)};return er(e,a),a}function er(e,t){e.partsSig.value=[...e.partsSig.value,t]}function Fd(e,t){switch(t.type){case"tool-input-start":Tt(e,t.toolCallId,t.toolName);return;case"tool-input-delta":{let n=Tt(e,t.toolCallId);n.inputPartialSig.value+=t.delta;return}case"tool-input-available":{let n=Tt(e,t.toolCallId,t.toolName);n.inputSig.value=t.input,n.stateSig.value=Yn(n.toolName)?"awaiting-input":"awaiting";return}case"tool-approval-request":{let n=Tt(e,t.toolCallId,t.toolName);n.approvalSig.value={id:t.approvalId},n.stateSig.value="awaiting-approval";return}case"tool-output-available":{let n=Tt(e,t.toolCallId);n.outputSig.value=t.output,n.stateSig.value="output";return}case"tool-output-error":{let n=Tt(e,t.toolCallId);n.errorSig.value=t.errorText,n.stateSig.value="error";return}default:return}}var Fi=K.scope("feedback:audio"),tr=class{constructor(){W(this,"ctx",null);W(this,"master",null);W(this,"buffers",new Map)}unlock(){if(this.ctx){this.ctx.state==="suspended"&&this.ctx.resume();return}let t=globalThis.AudioContext??globalThis.webkitAudioContext;if(t)try{this.ctx=new t,this.master=this.ctx.createGain(),this.master.gain.value=1,this.master.connect(this.ctx.destination)}catch(n){Fi.warn("AudioContext init failed",{err:n})}}setVolume(t){if(!this.master||!this.ctx)return;let n=Math.max(0,Math.min(1,t));this.master.gain.setTargetAtTime(n,this.ctx.currentTime,.01)}playTone(t){let n=this.ctx,r=this.master;if(!n||!r||n.state!=="running")return;let a=n.currentTime,i=t.noteMs/1e3;t.notes.forEach((s,l)=>{let c=n.createOscillator();c.type=t.type,c.frequency.value=s;let d=n.createGain(),u=a+l*i;d.gain.setValueAtTime(1e-4,u),d.gain.exponentialRampToValueAtTime(t.peakGain,u+.005),d.gain.exponentialRampToValueAtTime(1e-4,u+i),c.connect(d).connect(r),c.start(u),c.stop(u+i+.01)})}async playUrl(t){let n=this.ctx,r=this.master;if(!n||!r||n.state!=="running")return;let a=await this.getBuffer(t);if(!a)return;let i=n.createBufferSource();i.buffer=a,i.connect(r),i.start()}destroy(){this.ctx&&this.ctx.close().catch(()=>{}),this.ctx=null,this.master=null,this.buffers.clear()}async getBuffer(t){if(!this.ctx)return null;let n=this.buffers.get(t);if(n)return n instanceof Promise,n;let r=this.ctx,a=fetch(t).then(i=>i.ok?i.arrayBuffer():Promise.reject(new Error(`fetch ${i.status}`))).then(i=>r.decodeAudioData(i)).then(i=>(this.buffers.set(t,i),i)).catch(i=>(Fi.warn("audio fetch/decode failed",{url:t,err:i}),this.buffers.delete(t),null));return this.buffers.set(t,a),a}};var Bi={messageReceived:10,messageSent:0,error:[20,40,20],voiceStart:10,voiceStop:0},Hi={messageReceived:{notes:[880,1318.51],noteMs:90,type:"sine",peakGain:.45},messageSent:{notes:[1568],noteMs:60,type:"sine",peakGain:.25},error:{notes:[523.25,392],noteMs:120,type:"triangle",peakGain:.55},voiceStart:{notes:[1318.51],noteMs:50,type:"sine",peakGain:.3},voiceStop:{notes:[880],noteMs:50,type:"sine",peakGain:.3}};var Ze=null,nr=0;function Bd(){return typeof navigator<"u"&&typeof navigator.vibrate=="function"}function Hd(){if(typeof document>"u")return null;let e=document.createElement("input");e.type="checkbox",e.setAttribute("switch",""),e.setAttribute("aria-hidden","true"),e.tabIndex=-1,e.id=`__${P.cssPrefix}_haptic_${Math.random().toString(36).slice(2)}`;let t=document.createElement("label");t.htmlFor=e.id,t.setAttribute("aria-hidden","true");let n="position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;opacity:0!important;pointer-events:none!important;";return e.style.cssText=n,t.style.cssText=n,document.body.append(e,t),{input:e,label:t}}function zi(e){if(!(e===0||Array.isArray(e)&&e.every(t=>t===0))){if(Bd())try{navigator.vibrate(e);return}catch{}if(Ze||(Ze=Hd()),!!Ze)try{Ze.label.click()}catch{}}}function Ui(){nr++;let e=!1;return()=>{e||(e=!0,nr=Math.max(0,nr-1),nr===0&&Ze&&(Ze.input.remove(),Ze.label.remove(),Ze=null))}}var zd=K.scope("feedback"),Ud=100,rr=class{constructor(t,n){W(this,"mutedSig",B(!1));W(this,"audio",new tr);W(this,"releaseHaptics");W(this,"sound");W(this,"haptics");W(this,"lastPlayed",new Map);W(this,"reducedMotionMq",null);this.sound=t,this.haptics=n,this.releaseHaptics=Ui(),this.audio.setVolume(this.effectiveVolume()),typeof matchMedia<"u"&&(this.reducedMotionMq=matchMedia("(prefers-reduced-motion: reduce)"))}unlock(){this.audio.unlock(),this.audio.setVolume(this.effectiveVolume())}update(t,n){this.sound=t,this.haptics=n,this.audio.setVolume(this.effectiveVolume())}setMuted(t){this.mutedSig.value!==t&&(this.mutedSig.value=t)}toggleMuted(){this.mutedSig.value=!this.mutedSig.value}play(t){this.mutedSig.value||this.isDeduped(t)||(this.lastPlayed.set(t,performance.now()),this.sound.enabled&&this.playSound(t),this.haptics.enabled&&this.isTouchDevice()&&this.playHaptic(t))}destroy(){this.audio.destroy(),this.releaseHaptics()}isDeduped(t){let n=this.lastPlayed.get(t);return n===void 0?!1:performance.now()-n<Ud}playSound(t){let n=this.sound.events?.[t];if(n===!1)return;if(typeof n=="string"){this.audio.playUrl(n).catch(a=>zd.warn("audio play failed",{err:a,url:n}));return}let r=Hi[t];r&&this.audio.playTone(r)}playHaptic(t){if(this.reducedMotionMq?.matches)return;let n=this.haptics.events?.[t];if(n===!1)return;let r=n===!0||n===void 0?Bi[t]:n;zi(r)}effectiveVolume(){let t=this.sound.volume??.3;return this.reducedMotionMq?.matches?t*.5:t}isTouchDevice(){return typeof window>"u"?!1:matchMedia("(hover: none) and (pointer: coarse)").matches}};function at(e,t){return e instanceof Le&&e.status===429?t.errorRateLimited:t.errorGeneric}var Gd=0;function o(e,t,n,r,a,i){t||(t={});var s,l,c=t;if("ref"in c)for(l in c={},t)l=="ref"?s=t[l]:c[l]=t[l];var d={type:e,props:c,key:n,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Gd,__i:-1,__u:0,__source:a,__self:i};if(typeof e=="function"&&(s=e.defaultProps))for(l in s)c[l]===void 0&&(c[l]=s[l]);return j.vnode&&j.vnode(d),d}var $={fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,viewBox:"0 0 24 24"},Vd=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M21 12a8 8 0 0 1-12 6.93L3 21l1.65-5.16A8 8 0 1 1 21 12Z"})}),He=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M18 6 6 18M6 6l12 12"})}),Gi=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M12 5v14M5 12h14"})}),Vi=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"m22 2-7 20-4-9-9-4Z"}),o("path",{d:"M22 2 11 13"})]}),Wi=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M12 19V5M5 12l7-7 7 7"})}),qi=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M3 20V4l18 8-18 8Z"})}),Et=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"m9 18 6-6-6-6"})}),Ki=()=>o("svg",{...$,"aria-hidden":"true",children:o("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})}),ji=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"m21 11-9 9a5.5 5.5 0 0 1-7.78-7.78l8.49-8.49a3.67 3.67 0 0 1 5.19 5.19l-8.49 8.49a1.83 1.83 0 0 1-2.6-2.6l7.78-7.78"})}),Xi=()=>o("svg",{...$,"aria-hidden":"true",children:[o("rect",{x:"9",y:"2",width:"6",height:"12",rx:"3"}),o("path",{d:"M5 10a7 7 0 0 0 14 0M12 19v3"})]}),Ji=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M3 8V3h5M21 8V3h-5M3 16v5h5M21 16v5h-5"})}),Yi=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M8 3v5H3M16 3v5h5M8 21v-5H3M16 21v-5h5"})}),Qi=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M3 3h7v2H5v5H3zM21 3h-7v2h5v5h2zM3 21h7v-2H5v-5H3zM21 21h-7v-2h5v-5h2z"})}),Zi=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M10 3v5H3M14 3v5h7M10 21v-5H3M14 21v-5h7"})}),es=()=>o("svg",{...$,"aria-hidden":"true",viewBox:"0 0 10 10",children:o("path",{d:"M9 1L1 9M9 5L5 9M9 9H9",strokeWidth:"1.5"})}),ts=()=>o("svg",{...$,"aria-hidden":"true",children:[o("circle",{cx:"12",cy:"5",r:"1.5",fill:"currentColor",stroke:"none"}),o("circle",{cx:"12",cy:"12",r:"1.5",fill:"currentColor",stroke:"none"}),o("circle",{cx:"12",cy:"19",r:"1.5",fill:"currentColor",stroke:"none"})]}),ns=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M11 5 6 9H2v6h4l5 4zM15 9a5 5 0 0 1 0 6M18 7a9 9 0 0 1 0 10"})}),rs=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M11 5 6 9H2v6h4l5 4zM22 9l-6 6M16 9l6 6"})}),os=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"M3 18 8 6l5 12M4.7 14h6.6"}),o("path",{d:"M14.5 18l3.2-7 3.2 7M15.6 15.8h4.2"})]}),as=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"m5 6 6 6-6 6M13 6l6 6-6 6"})}),Yt=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M20 6 9 17l-5-5"})}),is=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"M3 3v6h6"}),o("path",{d:"M3.05 13A9 9 0 1 0 6 5.3L3 9"}),o("path",{d:"M12 7v5l3 2"})]}),ss=()=>o("svg",{...$,"aria-hidden":"true",children:[o("circle",{cx:"12",cy:"12",r:"10"}),o("path",{d:"M2 12h20"}),o("path",{d:"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"})]}),Qt=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M19 12H5M12 19l-7-7 7-7"})}),ls=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M15 3h6v6M10 14 21 3M21 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5"})}),cs=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"M12 20h9"}),o("path",{d:"M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z"})]}),ds=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"m6 9 6 6 6-6"})}),_s=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z"}),o("path",{d:"M14 2v6h6"})]}),Wd=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"m12 3-1.5 4.5L6 9l4.5 1.5L12 15l1.5-4.5L18 9l-4.5-1.5Z"}),o("path",{d:"M19 15v4M17 17h4M5 3v2M4 4h2"})]}),vo=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2Z"})}),bo=()=>o("svg",{...$,"aria-hidden":"true",children:[o("circle",{cx:"12",cy:"12",r:"10"}),o("path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"}),o("path",{d:"M12 17h.01"})]}),qd=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"m15 4 3 3-9 9-3-3z"}),o("path",{d:"M18 2v2M20 4h2M3 20l3-3M3 16h2M5 14v2"})]}),Kd=()=>o("svg",{...$,"aria-hidden":"true",children:[o("rect",{x:"4",y:"8",width:"16",height:"12",rx:"2"}),o("path",{d:"M12 8V4"}),o("circle",{cx:"12",cy:"3",r:"1"}),o("path",{d:"M2 14h2M20 14h2M9 13h.01M15 13h.01M9.5 17h5"})]}),jd=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"M4 14v-2a8 8 0 0 1 16 0v2"}),o("rect",{x:"2",y:"14",width:"4",height:"6",rx:"1.5"}),o("rect",{x:"18",y:"14",width:"4",height:"6",rx:"1.5"}),o("path",{d:"M20 20v1a3 3 0 0 1-3 3h-5"})]}),Xd=()=>o("svg",{...$,"aria-hidden":"true",children:[o("circle",{cx:"12",cy:"12",r:"10"}),o("circle",{cx:"12",cy:"12",r:"4"}),o("path",{d:"m4.93 4.93 4.24 4.24M14.83 14.83l4.24 4.24M14.83 9.17l4.24-4.24M4.93 19.07l4.24-4.24"})]}),Po=()=>o("svg",{...$,"aria-hidden":"true",children:[o("circle",{cx:"11",cy:"11",r:"7"}),o("path",{d:"m21 21-4.3-4.3"})]}),us=()=>o("svg",{...$,"aria-hidden":"true",children:[o("circle",{cx:"12",cy:"12",r:"9"}),o("path",{d:"m8.5 12 2.5 2.5 4.5-5"})]}),ps=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"M3 9.5 12 3l9 6.5"}),o("path",{d:"M5 9v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9"})]}),fs=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"m3 11 15-5v12L3 13z"}),o("path",{d:"M3 11v2a2 2 0 0 0 2 2h1V9H5a2 2 0 0 0-2 2z"}),o("path",{d:"M7 15v3a2 2 0 0 0 4 0v-2"}),o("path",{d:"M21 10a3 3 0 0 1 0 4"})]}),Zt=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z"}),o("path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1"})]}),ms=()=>o("svg",{...$,"aria-hidden":"true",children:[o("circle",{cx:"12",cy:"12",r:"4"}),o("path",{d:"M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41"})]}),gs=()=>o("svg",{...$,"aria-hidden":"true",children:o("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"})}),hs=()=>o("svg",{...$,"aria-hidden":"true",children:[o("circle",{cx:"12",cy:"12",r:"9"}),o("path",{d:"M12 3v18"}),o("path",{d:"M12 3a9 9 0 0 1 0 18z",fill:"currentColor",stroke:"none"})]}),Jd=()=>o("svg",{...$,"aria-hidden":"true",children:[o("circle",{cx:"10.5",cy:"10.5",r:"6.5"}),o("path",{d:"M8 11a2.5 2.5 0 0 0 5 0"}),o("path",{d:"m20 20-4.4-4.4"})]}),Yd=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"M12 3.5 13.6 9 19 10.5 13.6 12 12 17.5 10.4 12 5 10.5 10.4 9z"}),o("path",{d:"M18.5 4v3M20 5.5h-3M5.5 16v2.5M6.75 17.25h-2.5"})]}),Qd=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"M4 18h16"}),o("path",{d:"M5 18a7 7 0 0 1 14 0"}),o("path",{d:"M12 8V6"}),o("path",{d:"M10 6h4"})]}),Zd=()=>o("svg",{...$,"aria-hidden":"true",children:[o("path",{d:"M7 11V6.5a1.5 1.5 0 0 1 3 0V10"}),o("path",{d:"M10 10V5.5a1.5 1.5 0 0 1 3 0V10"}),o("path",{d:"M13 10V6.5a1.5 1.5 0 0 1 3 0V12"}),o("path",{d:"M16 9.5a1.5 1.5 0 0 1 3 0v2.5a7 7 0 0 1-7 7 7 7 0 0 1-6.4-4.2L4 12.5a1.5 1.5 0 0 1 2.6-1.5L7 11"})]}),vs={chat:Vd,message:vo,bubbles:Zt,spark:Wd,wand:qd,bot:Kd,help:bo,lifebuoy:Xd,headset:jd,search:Jd,sparkles:Yd,concierge:Qd,wave:Zd};var A=P.cssPrefix,y={launcher:`${A}-launcher`,callout:`${A}-callout`,calloutDismiss:`${A}-callout-dismiss`,panel:`${A}-panel`,panelHeader:`${A}-panel-header`,resizeGrip:`${A}-resize-grip`,scrollToBottom:`${A}-scroll-to-bottom`,actionHistory:`${A}-action-history`,actionClose:`${A}-action-close`,langSegment:`${A}-lang-segment`,composer:`${A}-composer`,composerInput:`${A}-composer-input`,composerSend:`${A}-composer-send`,composerStop:`${A}-composer-stop`,composerAttach:`${A}-composer-attach`,composerFileInput:`${A}-composer-file-input`,composerVoice:`${A}-composer-voice`,attachmentChip:`${A}-attachment-chip`,attachmentRemove:`${A}-attachment-remove`,suggestion:`${A}-suggestion`,messageBubble:`${A}-message`,messageRetry:`${A}-message-retry`,historyPane:`${A}-history-pane`,historyBack:`${A}-history-back`,historyItem:`${A}-history-item`,sidebar:`${A}-sidebar`,sidebarToggle:`${A}-sidebar-toggle`,sidebarNewConversation:`${A}-sidebar-new-conversation`,sidebarItem:`${A}-sidebar-item`,messengerHome:`${A}-messenger-home`,modulesEmpty:`${A}-modules-empty`,tab:`${A}-tab`,tabBadge:`${A}-tab-badge`,homeView:`${A}-home-view`,homeGreeting:`${A}-home-greeting`,homeBrand:`${A}-home-brand`,backHeader:`${A}-back-header`,contentView:`${A}-content-view`,contentScroll:`${A}-content-scroll`,homeSearch:`${A}-home-search`,helpSearch:`${A}-help-search`,homeRecent:`${A}-home-recent`,homeContentRow:`${A}-home-content-row`,helpArticle:`${A}-help-article`,newsItem:`${A}-news-item`,formGate:`${A}-form-gate`,formDone:`${A}-form-done`,formDoneToggle:`${A}-form-done-toggle`,formAnswers:`${A}-form-answers`,formFill:`${A}-form-fill`,formSubmit:`${A}-form-submit`,formSkip:`${A}-form-skip`,formField:`${A}-form-field`,toolAskInput:`${A}-tool-ask-input`,toolInputSubmit:`${A}-tool-input-submit`,toolInputSkip:`${A}-tool-input-skip`,toolApproval:`${A}-tool-approval`,toolApprove:`${A}-tool-approve`,toolReject:`${A}-tool-reject`,toolDecision:`${A}-tool-decision`};function he(e,t){return`${e}-${t}`}var or=P.cssPrefix;function bs({onToggle:e,launcher:t,strings:n,leaving:r,edgeTab:a}){let i=t.variant!=="circle"&&!!t.label;return o("button",{type:"button",class:`${or}-fab`,"data-variant":t.variant,"data-size":t.size,"data-edge-tab":a?"true":void 0,"data-leaving":r?"true":void 0,"data-testid":y.launcher,onClick:e,"aria-label":n.launcherOpen,children:[e_(t.icon),i?o("span",{class:`${or}-fab-label`,children:t.label}):null]})}function e_(e){let t=vs[e];return t?o(t,{}):o(t_,{source:e})}function t_({source:e}){return o("span",{ref:t=>{t&&n_(t,e)},"aria-hidden":"true"})}function n_(e,t){if(e.dataset.svgMounted!==t)try{let r=new DOMParser().parseFromString(t,"image/svg+xml").documentElement;r&&r.tagName.toLowerCase()==="svg"&&(e.replaceChildren(document.importNode(r,!0)),e.dataset.svgMounted=t)}catch{}}function Ps({callout:e,launcherPosition:t,strings:n,closeLabel:r,onDismiss:a}){let[i,s]=k(!1);return w(()=>{let l=setTimeout(()=>s(!0),e.delayMs);return()=>clearTimeout(l)},[e.delayMs]),w(()=>{if(!i||e.autoDismissMs<=0)return;let l=setTimeout(a,e.autoDismissMs);return()=>clearTimeout(l)},[i,e.autoDismissMs,a]),i?o("div",{class:`${or}-callout`,role:"status","data-shape":e.shape,"data-position":r_(e.position,t),"data-animated":e.animated?"true":void 0,"data-testid":y.callout,children:[o("span",{children:$e(n,e.text)}),o("button",{type:"button",class:`${or}-callout-close`,onClick:a,"aria-label":r,title:r,"data-testid":y.calloutDismiss,children:o(He,{})})]}):null}function r_(e,t){let n=t.endsWith("-right"),r=t.startsWith("bottom-");return e==="vertical"?r?"top":"bottom":n?"left":"right"}function ar({panelEl:e,resize:t,position:n,initialSize:r,onSizeChange:a,strings:i}){let s=P.cssPrefix,l=M(null);if(w(()=>{if(!e)return;let m=e.style;t.minWidth&&m.setProperty(`--${s}-resize-min-w`,t.minWidth),t.maxWidth&&m.setProperty(`--${s}-resize-max-w`,t.maxWidth),t.minHeight&&m.setProperty(`--${s}-resize-min-h`,t.minHeight),t.maxHeight&&m.setProperty(`--${s}-resize-max-h`,t.maxHeight),r&&(m.setProperty(`--${s}-widget-w`,`${r.width}px`),m.setProperty(`--${s}-widget-h`,`${r.height}px`))},[e,t.minWidth,t.maxWidth,t.minHeight,t.maxHeight,s,r]),!e)return null;let c=n.startsWith("top-"),d=n.endsWith("-right"),u=`${s}-resize-grip ${s}-resize-grip--${c?"bottom":"top"}-${d?"left":"right"}`,_=m=>{if(!e)return;let h=m.currentTarget,v=e.getBoundingClientRect();l.current={pointerId:m.pointerId,startX:m.clientX,startY:m.clientY,startW:v.width,startH:v.height,dirX:d?-1:1,dirY:c?1:-1},h.setPointerCapture(m.pointerId),e.setAttribute("data-resizing",""),m.preventDefault()},g=m=>{let h=l.current;if(!h||m.pointerId!==h.pointerId||!e)return;let v=(m.clientX-h.startX)*h.dirX,E=(m.clientY-h.startY)*h.dirY;e.style.setProperty(`--${s}-widget-w`,`${h.startW+v}px`),e.style.setProperty(`--${s}-widget-h`,`${h.startH+E}px`)},p=m=>{let h=l.current;if(!h||m.pointerId!==h.pointerId||!e)return;m.currentTarget.releasePointerCapture(m.pointerId),e.removeAttribute("data-resizing");let v=e.getBoundingClientRect();a({width:Math.round(v.width),height:Math.round(v.height)}),l.current=null};return o("div",{class:u,role:"separator","aria-orientation":"vertical","aria-label":i.resizeHandle,title:i.resizeHandle,onPointerDown:_,onPointerMove:g,onPointerUp:p,onPointerCancel:p,"data-testid":y.resizeGrip,children:o(es,{})})}var it=P.cssPrefix,o_=`.${it}-header, .${it}-back-header, .${it}-home-hero`,a_='button, a, input, textarea, select, [role="tab"], [contenteditable]',xs=56;function ir(e,t){w(()=>{if(!t||!e)return;let n=c=>Number.parseFloat(c)||0,r=(c,d)=>Math.min(d,Math.max(-d,c)),a=null,i=c=>{let d=c.target;if(!(d instanceof Element)||!d.closest(o_)||d.closest(a_))return;let u=e.getBoundingClientRect();a={id:c.pointerId,x:c.clientX,y:c.clientY,dx:n(e.style.getPropertyValue(`--${it}-modal-dx`)),dy:n(e.style.getPropertyValue(`--${it}-modal-dy`)),maxX:(window.innerWidth+u.width)/2-xs,maxY:(window.innerHeight+u.height)/2-xs},e.dataset.dragging="true",c.preventDefault()},s=c=>{if(!a||c.pointerId!==a.id)return;let d=r(a.dx+c.clientX-a.x,a.maxX),u=r(a.dy+c.clientY-a.y,a.maxY);e.style.setProperty(`--${it}-modal-dx`,`${d}px`),e.style.setProperty(`--${it}-modal-dy`,`${u}px`)},l=c=>{!a||c.pointerId!==a.id||(a=null,delete e.dataset.dragging)};return e.addEventListener("pointerdown",i),window.addEventListener("pointermove",s),window.addEventListener("pointerup",l),window.addEventListener("pointercancel",l),()=>{e.removeEventListener("pointerdown",i),window.removeEventListener("pointermove",s),window.removeEventListener("pointerup",l),window.removeEventListener("pointercancel",l)}},[e,t])}function en(e,t,n,r){switch(e){case"clear":case"sound":case"history":case"language":case"theme":case"textSize":return!0;case"expand":return t==="floating";case"fullscreen":return t!=="standalone";case"popOut":return t!=="standalone"&&!!r?.popOutUrl;case"close":return t==="standalone"||t==="page"?!1:t==="inline"?n==="fullscreen":!0}}function sr(e,t,n){return en("close",e,t)?n.includes("close"):!1}function ys(e,t){return e==="inline"&&t==="fullscreen"?"exit-fullscreen":"close"}var i_='a[href],button:not([disabled]),textarea:not([disabled]),input:not([disabled]):not([type="hidden"]),select:not([disabled]),[tabindex]:not([tabindex="-1"])';function lr(e){let t=n=>{if(n.key!=="Tab")return;let r=[...e.querySelectorAll(i_)].filter(l=>l.offsetParent!==null||l===document.activeElement);if(r.length===0){n.preventDefault();return}let a=r[0],i=r[r.length-1];if(!a||!i)return;let s=e.getRootNode().activeElement;n.shiftKey&&s===a?(n.preventDefault(),i.focus()):!n.shiftKey&&s===i&&(n.preventDefault(),a.focus())};return e.addEventListener("keydown",t),()=>e.removeEventListener("keydown",t)}function cr(e){return e.trim().split(/\s+/).slice(0,2).map(t=>t.charAt(0).toUpperCase()).join("")}var xo=P.cssPrefix;function Ss({agent:e,strings:t}){let n=e.status??"online",r=$e(t,e.name),a=e.title?$e(t,e.title):null;return o("div",{class:`${xo}-agent`,children:[o("div",{class:`${xo}-agent-avatar`,"data-status":n,children:e.avatar?o("img",{src:e.avatar,alt:""}):o("span",{children:cr(r)})}),o("div",{class:`${xo}-agent-meta`,children:[o("strong",{children:r}),a?o("span",{children:a}):null]})]})}var ws=K.scope("attachments");function dr(e,t,n){let r=l_(e),a=[],i=[],s=__(n.accept),l=t.reduce((d,u)=>d+u.size,0),c=t.length;for(let d of r){let u=s_(d,c,l,n,s);if(u){i.push({file:d,reason:u});continue}a.push(d_(d)),l+=d.size,c+=1}return(a.length||i.length)&&ws.debug("ingest",{accepted:a.length,rejected:i.map(d=>({name:d.file.name,reason:d.reason}))}),{accepted:a,rejected:i}}function yo(e){try{URL.revokeObjectURL(e.previewUrl)}catch(t){ws.debug("revokeObjectURL failed",{error:t})}}function s_(e,t,n,r,a){return t>=r.maxCount?"count":n+e.size>r.maxBytes?"bytes":u_(e,a)?null:"mime"}function l_(e){return e?Array.isArray(e)?e.filter(t=>t instanceof File):[...e].map(t=>t instanceof File?t:c_(t)).filter(t=>t!==null):[]}function c_(e){let t=e;return!t?.getAsFile||t.kind!=="file"?null:t.getAsFile()}function d_(e){return{file:e,id:Fe(),mediaType:e.type||"application/octet-stream",name:e.name||"pasted-file",previewUrl:URL.createObjectURL(e),size:e.size}}function __(e){return e.split(",").map(t=>t.trim().toLowerCase()).filter(Boolean).map(t=>{if(t.startsWith("."))return{kind:"ext",ext:t};let[n="*",r="*"]=t.split("/");return{kind:"mime",type:n,subtype:r}})}function u_(e,t){if(t.length===0)return!0;let[n="*",r="*"]=(e.type||"").toLowerCase().split("/"),a=(e.name||"").toLowerCase();return t.some(i=>i.kind==="ext"?a.endsWith(i.ext):(i.type==="*"||i.type===n)&&(i.subtype==="*"||i.subtype===r))}var tn=P.cssPrefix;function ks({attachment:e,onRemove:t}){let n=e.mediaType.startsWith("image/");return o("span",{class:`${tn}-attachment-chip`,title:e.name,"data-testid":he(y.attachmentChip,e.id),children:[n?o("img",{class:`${tn}-attachment-thumb`,src:e.previewUrl,alt:""}):o("span",{class:`${tn}-attachment-thumb`,"aria-hidden":"true",children:o(_s,{})}),o("span",{class:`${tn}-attachment-name`,children:e.name}),o("button",{type:"button",class:`${tn}-attachment-remove`,onClick:t,"aria-label":`Remove ${e.name}`,"data-testid":he(y.attachmentRemove,e.id),children:o(He,{})})]})}var So={isSupported:!1,start:()=>{},stop:()=>{}};function wo(e,t,n){return e==="disabled"?So:e==="server"?g_(n):p_(t)}function p_(e){let t=f_();if(!t)return So;let n=null;return{isSupported:!0,start(r,a){n=new t,n.continuous=!0,n.interimResults=!0,n.lang=e,n.addEventListener("result",s=>{let l=s,c="",d=!1;for(let u=l.resultIndex;u<l.results.length;u++){let _=l.results[u];_&&(c+=_[0].transcript,_.isFinal&&(d=!0))}r(c,d)});let i=()=>{n=null,a()};n.addEventListener("end",i),n.addEventListener("error",i),n.start()},stop(){n?.stop()}}}function f_(){let e=globalThis;return e.SpeechRecognition??e.webkitSpeechRecognition}var m_=["audio/webm;codecs=opus","audio/webm","audio/ogg;codecs=opus","audio/mp4"];function g_(e){if(typeof MediaRecorder>"u"||!navigator?.mediaDevices?.getUserMedia)return So;let t=null,n=null,r=[],a=()=>{for(let i of n?.getTracks()??[])i.stop();n=null};return{isSupported:!0,async start(i,s){try{n=await navigator.mediaDevices.getUserMedia({audio:!0});let l=h_();t=new MediaRecorder(n,l?{mimeType:l}:void 0),r=[],t.addEventListener("dataavailable",c=>{c.data.size>0&&r.push(c.data)}),t.addEventListener("stop",async()=>{let c=t?.mimeType??"audio/webm";a();let d=new Blob(r,{type:c});r=[];try{let{text:u}=await e(d,c);u&&i(u,!0)}catch{}finally{s()}}),t.start()}catch{a(),s()}},stop(){t?.stop()}}}function h_(){for(let e of m_)if(MediaRecorder.isTypeSupported(e))return e}var Te=P.cssPrefix,st=K.scope("composer");function At(e){return e.reduce((t,n)=>t+n.size,0)}var v_={arrowUp:Wi,paperPlane:Vi,send:qi,chevron:Et};function Cs({options:e,transport:t,feedback:n,bus:r,isStreaming:a,onSend:i,onStop:s,attachApiRef:l}){let c=e.strings,[d,u]=k(""),[_,g]=k([]),[p,m]=k(!1),h=M(null),v=M(null),E=e.features.files,S=e.features.voice,[H,R]=k(()=>wo(S,e.locale,(T,N)=>t.transcribe(T,N)));w(()=>{p||S==="disabled"||R(wo(S,e.locale,(T,N)=>t.transcribe(T,N)))},[e.locale,S,t,p]),w(()=>{let T=h.current;if(!T)return;let N=T.getRootNode(),Q="activeElement"in N?N.activeElement:null;Q&&T.closest(`.${Te}-panel`)?.contains(Q)||T.focus({preventScroll:!0})},[]),w(()=>{let T=h.current;if(T){if(d.length===0){T.style.height="";return}T.style.height="auto",T.style.height=`${Math.min(T.scrollHeight,160)}px`}},[d]);let U=M(_);U.current=_,w(()=>()=>U.current.forEach(yo),[]),w(()=>{if(l)return l.current={attachFromDrop:T=>{let N=dr(T,U.current,e.attachments);N.accepted.length!==0&&(st.info("attach (drop)",{count:N.accepted.length,totalBytes:At(N.accepted)}),r.emit("attach",{count:N.accepted.length,totalBytes:At(N.accepted)}),g(Q=>[...Q,...N.accepted]))}},()=>{l.current&&(l.current=null)}},[l,e.attachments]),w(()=>{let T=h.current;if(!T)return;let N=T.closest(`.${Te}-panel`);if(!N)return;let Q=pe=>{let fe=pe.clipboardData;if(!fe)return;if(E){let O=dr(fe.items,U.current,e.attachments);if(O.accepted.length>0){pe.preventDefault(),st.info("attach (paste)",{count:O.accepted.length,totalBytes:At(O.accepted)}),r.emit("attach",{count:O.accepted.length,totalBytes:At(O.accepted)}),g(me=>[...me,...O.accepted]);return}}if(pe.target===T)return;let x=fe.getData("text/plain");x&&(pe.preventDefault(),u(O=>O+x),T.focus())};return N.addEventListener("paste",Q),()=>N.removeEventListener("paste",Q)},[E,e.attachments,Te]);let q=()=>{let T=d.trim();!T&&_.length===0||a||(i(T,_),u(""),g([]))},D=T=>{T.key!=="Enter"||T.shiftKey||T.isComposing||(T.preventDefault(),a?s():q())},ue=T=>{let N=T.target,Q=dr(N.files,_,e.attachments);Q.accepted.length>0&&(st.info("attach (file picker)",{count:Q.accepted.length,totalBytes:At(Q.accepted)}),r.emit("attach",{count:Q.accepted.length,totalBytes:At(Q.accepted)}),g(pe=>[...pe,...Q.accepted])),N.value=""},z=T=>{st.info("removeAttachment",{id:T}),r.emit("removeAttachment",{id:T}),g(N=>{let Q=N.find(pe=>pe.id===T);return Q&&yo(Q),N.filter(pe=>pe.id!==T)})},te=M(null),ve=()=>{if(H.isSupported){if(p){let T=te.current?Date.now()-te.current:0;st.info("voiceStop",{durationMs:T}),r.emit("voiceStop",{durationMs:T}),H.stop(),m(!1),n.play("voiceStop"),te.current=null;return}te.current=Date.now(),st.info("voiceStart"),r.emit("voiceStart",void 0),m(!0),n.play("voiceStart"),H.start((T,N)=>u(Q=>N?`${Q}${T} `:Q),()=>{if(m(!1),te.current){let T=Date.now()-te.current;st.debug("voiceStop (auto)",{durationMs:T}),r.emit("voiceStop",{durationMs:T}),te.current=null}})}},we=v_[e.composer.sendButton.icon];return o("div",{class:`${Te}-composer`,"data-testid":y.composer,children:[_.length>0?o("div",{class:`${Te}-attachments`,children:_.map(T=>o(ks,{attachment:T,onRemove:()=>z(T.id)},T.id))}):null,o("div",{class:`${Te}-composer-row`,children:[o("div",{class:`${Te}-composer-actions`,children:[E?o("button",{type:"button",class:`${Te}-icon-btn`,onClick:()=>v.current?.click(),"aria-label":c.attach,"data-testid":y.composerAttach,children:o(ji,{})}):null,H.isSupported?o("button",{type:"button",class:`${Te}-icon-btn`,onClick:ve,"aria-label":p?c.micStop:c.micStart,"aria-pressed":p,"data-recording":p?"true":void 0,"data-testid":y.composerVoice,children:o(Xi,{})}):null]}),o("textarea",{ref:h,class:`${Te}-textarea`,rows:1,value:d,placeholder:c.composerPlaceholder,onInput:T=>u(T.target.value),onKeyDown:D,"aria-label":c.composerPlaceholder,"data-testid":y.composerInput}),a?o("button",{type:"button",class:`${Te}-send`,onClick:s,"aria-label":c.stop,"data-testid":y.composerStop,children:o(Ki,{})}):o("button",{type:"button",class:`${Te}-send`,"data-shape":e.composer.sendButton.shape,"data-variant":e.composer.sendButton.variant,onClick:q,disabled:!d.trim()&&_.length===0,"aria-label":c.send,"data-testid":y.composerSend,children:o(we,{})})]}),o("input",{ref:v,type:"file",multiple:!0,accept:e.attachments.accept,onChange:ue,class:`${Te}-sr-only`,"data-testid":y.composerFileInput})]})}var b_=P.cssPrefix;function Ts({visible:e,strings:t}){return e?o("div",{class:`${b_}-dropzone`,role:"status","aria-live":"polite",children:t.dropZone}):null}function _r({containerRef:e,onDrop:t}){let[n,r]=k(!1);return w(()=>{let a=e.current;if(!a)return;let i=0,s=u=>{i+=1,u.dataTransfer?.types.includes("Files")&&(u.preventDefault(),r(!0))},l=()=>{i-=1,!(i>0)&&(i=0,r(!1))},c=u=>{u.dataTransfer?.types.includes("Files")&&u.preventDefault()},d=u=>{i=0,r(!1),u.dataTransfer&&(u.preventDefault(),t(u.dataTransfer.items))};return a.addEventListener("dragenter",s),a.addEventListener("dragleave",l),a.addEventListener("dragover",c),a.addEventListener("drop",d),()=>{a.removeEventListener("dragenter",s),a.removeEventListener("dragleave",l),a.removeEventListener("dragover",c),a.removeEventListener("drop",d)}},[e,t]),{visible:n}}function Es({itemCount:e,initialFocusIndex:t}){let[n,r]=k(!1),a=M(null),i=M(null),[s,l]=k(-1),c=F(()=>{r(!1),l(-1),a.current?.focus()},[]),d=F(()=>r(g=>!g),[]);w(()=>{if(!n)return;let g=p=>{let m=i.current,h=a.current;if(!m||!h)return;let v=p.composedPath();v.includes(m)||v.includes(h)||(r(!1),l(-1))};return document.addEventListener("click",g,!0),()=>document.removeEventListener("click",g,!0)},[n]),w(()=>{if(!n||e===0)return;let g=t?.()??0,p=g<0||g>=e?0:g;l(p)},[n,e,t]),w(()=>{if(!n||s<0)return;i.current?.querySelectorAll("[role='menuitem']")?.[s]?.focus()},[n,s]);let u=F(g=>{(g.key==="ArrowDown"||g.key==="Enter"||g.key===" ")&&(g.preventDefault(),r(!0))},[]),_=F(g=>{if(e!==0)switch(g.key){case"Escape":g.preventDefault(),c();return;case"ArrowDown":g.preventDefault(),l(p=>(p+1)%e);return;case"ArrowUp":g.preventDefault(),l(p=>(p-1+e)%e);return;case"Home":g.preventDefault(),l(0);return;case"End":g.preventDefault(),l(e-1)}},[e,c]);return{open:n,focusIndex:s,triggerRef:a,menuRef:i,toggle:d,close:c,onTriggerKey:u,onMenuKey:_}}function As({items:e,triggerLabel:t}){let n=P.cssPrefix,r=Es({itemCount:e.length}),a=l=>{l.disabled||(l.onSelect?.(),l.keepOpen||r.close())},i=(l,c)=>l.onSelectValue?.(c),s=(l,c)=>{let d=c.segments;if(!d?.length)return;let u=Math.max(0,d.findIndex(g=>g.value===c.value)),_=-1;if(l.key==="ArrowRight"||l.key==="Enter"||l.key===" ")_=(u+1)%d.length;else if(l.key==="ArrowLeft")_=(u-1+d.length)%d.length;else return;l.preventDefault(),l.stopPropagation(),i(c,d[_].value)};return o("div",{class:`${n}-menu-wrap`,children:[o("button",{ref:r.triggerRef,type:"button",class:`${n}-icon-btn`,"aria-label":t,"aria-haspopup":"menu","aria-expanded":r.open,title:t,onClick:r.toggle,onKeyDown:r.onTriggerKey,children:o(ts,{})}),r.open?o("div",{ref:r.menuRef,class:`${n}-menu`,role:"menu","aria-label":t,onKeyDown:r.onMenuKey,tabIndex:-1,children:e.map(l=>l.segments?o("div",{role:"menuitem",class:`${n}-menu-item ${n}-menu-item-segmented`,"aria-label":l.label,tabIndex:-1,onKeyDown:c=>s(c,l),children:[l.icon?o("span",{class:`${n}-menu-icon`,children:l.icon}):null,o("span",{class:`${n}-menu-label`,children:l.label}),o("span",{class:`${n}-segmented`,role:"group","aria-label":l.label,children:l.segments.map(c=>{let d=c.value===l.value;return o("button",{type:"button",role:"menuitemradio","aria-checked":d,class:`${n}-segment`,"data-on":d?"true":void 0,lang:c.lang,title:c.value,tabIndex:-1,"data-testid":`${y.langSegment}-${c.value}`,onClick:()=>i(l,c.value),children:c.label},c.value)})})]},l.id):o("button",{type:"button",role:"menuitem",class:`${n}-menu-item`,"aria-pressed":l.type==="switch"?l.on:void 0,disabled:l.disabled,onClick:()=>a(l),children:[l.icon?o("span",{class:`${n}-menu-icon`,children:l.icon}):null,o("span",{class:`${n}-menu-label`,children:l.label}),l.type==="switch"&&l.on?o("span",{class:`${n}-menu-check`,"aria-hidden":"true",children:o(Yt,{})}):null]},l.id))}):null]})}var ko=P.cssPrefix;function P_(e){let t=typeof matchMedia=="function"?matchMedia("(prefers-color-scheme: dark)").matches:!0;return e==="auto"?t?"light":"dark":t?e==="light"?"dark":"auto":e==="dark"?"light":"auto"}var x_={normal:"large",large:"small",small:"normal"};function y_(e){return e==="light"?o(ms,{}):e==="dark"?o(gs,{}):o(hs,{})}function S_(e){return(e.split("-")[0]??e).toUpperCase()}function ze({panelProps:e,variant:t}){let{options:n,panelSize:r,feedback:a,onClose:i,onClear:s,onExpand:l,onFullscreen:c,onPopOut:d,onSoundToggle:u}=e,{onToggleHistory:_,onLocaleChange:g,onThemeChange:p,onTextSizeChange:m}=e,h=n.strings,v=n.mode,E=t==="chat",S=oe(()=>a.mutedSig.value).value,H=new Set(n.actions),R=N=>H.has(N),U=typeof matchMedia=="function"&&matchMedia("(max-width: 640px)").matches,q=N=>U&&(N==="expand"||N==="fullscreen")?!1:en(N,v,r,{popOutUrl:n.popOutUrl}),D=n.themeMode,ue={auto:h.themeAuto,light:h.themeLight,dark:h.themeDark},z=n.textSize,te={small:h.textSizeSmall,normal:h.textSizeNormal,large:h.textSizeLarge},ve=[];if(E&&R("clear")&&ve.push({id:"clear",icon:o(cs,{}),label:h.newConversation,onSelect:s}),R("expand")&&q("expand")){let N=r==="expanded";ve.push({id:"expand",icon:N?o(Yi,{}):o(Ji,{}),label:N?h.collapse:h.expand,type:"switch",on:N,onSelect:l})}if(R("fullscreen")&&q("fullscreen")){let N=r==="fullscreen";ve.push({id:"fullscreen",icon:N?o(Zi,{}):o(Qi,{}),label:N?h.exitFullscreen:h.fullscreen,type:"switch",on:N,onSelect:c})}R("popOut")&&q("popOut")&&ve.push({id:"popOut",icon:o(ls,{}),label:h.popOut,onSelect:d}),E&&R("sound")&&ve.push({id:"sound",icon:S?o(rs,{}):o(ns,{}),label:S?h.soundOff:h.soundOn,type:"switch",on:!S,onSelect:u}),R("theme")&&ve.push({id:"theme",icon:y_(D),label:`${h.theme}: ${ue[D]}`,onSelect:()=>p(P_(D)),keepOpen:!0}),R("textSize")&&ve.push({id:"textSize",icon:o(os,{}),label:`${h.textSize}: ${te[z]}`,onSelect:()=>m(x_[z]),keepOpen:!0}),R("language")&&n.availableLocales.length>1&&ve.push({id:"language",icon:o(ss,{}),label:h.language,segments:n.availableLocales.map(N=>({value:N,label:S_(N),lang:N})),value:n.locale,onSelectValue:g});let we=!!i&&sr(v,r,n.actions),T=E&&R("history");return o("div",{class:`${ko}-header-actions`,children:[T?o("button",{type:"button",class:`${ko}-icon-btn`,onClick:_,"aria-label":h.history,title:h.history,"data-testid":y.actionHistory,children:o(is,{})}):null,ve.length>0?o(As,{items:ve,triggerLabel:h.moreActions}):null,we?o("button",{type:"button",class:`${ko}-icon-btn`,onClick:i,"aria-label":h.close,title:h.close,"data-testid":y.actionClose,children:o(He,{})}):null]})}var w_=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,k_=/^https?:\/\/[^\s.]+\.[^\s]+$/i,C_=/^[+]?[\d\s().-]{6,}$/;function Rt(e,t){return e.replace(/\{(\w+)\}/g,(n,r)=>String(t[r]??`{${r}}`))}function T_(e){return Array.isArray(e)?e.length:e&&e.trim()?1:0}function E_(e,t,n){let r=e.required??!0,a=e.validation;if(e.type==="multiselect"){let s=T_(t);return r&&s===0?n.formRequired:s===0?void 0:a?.minSelections!=null&&s<a.minSelections?Rt(n.formChooseAtLeast,{min:a.minSelections}):a?.maxSelections!=null&&s>a.maxSelections?Rt(n.formChooseAtMost,{max:a.maxSelections}):void 0}let i=typeof t=="string"?t.trim():"";if(!i)return r?n.formRequired:void 0;switch(e.type){case"email":if(!w_.test(i))return n.formInvalidEmail;break;case"url":if(!k_.test(i))return n.formInvalidUrl;break;case"tel":if(!C_.test(i))return n.formInvalidTel;break;case"number":{let s=Number(i);if(!Number.isFinite(s))return n.formInvalidNumber;if(a?.min!=null&&s<a.min)return Rt(n.formNumberTooSmall,{min:a.min});if(a?.max!=null&&s>a.max)return Rt(n.formNumberTooLarge,{max:a.max});break}default:break}if(a?.minLength!=null&&i.length<a.minLength)return Rt(n.formTooShort,{min:a.minLength});if(a?.maxLength!=null&&i.length>a.maxLength)return Rt(n.formTooLong,{max:a.maxLength});if(a?.pattern)try{if(!new RegExp(a.pattern).test(i))return n.formPatternMismatch}catch{}}function Rs(e,t,n){let r={};for(let a of e){let i=E_(a,t[a.name],n);i&&(r[a.name]=i)}return r}function Is(e){let t={};for(let[n,r]of Object.entries(e)){let a=Array.isArray(r)?r.join(", "):r;a&&a.trim()&&(t[n]=a.trim())}return t}var le=P.cssPrefix,ur="__other__";function pr({fields:e,strings:t,submitLabel:n,onSubmit:r,skipLabel:a,onSkip:i,disabled:s,rootTestId:l,submitTestId:c,skipTestId:d}){let[u,_]=k(()=>L_(e)),[g,p]=k({}),[m,h]=k({}),v=R=>{m[R]&&h(U=>({...U,[R]:""}))},E=(R,U)=>{_(q=>({...q,[R]:U})),v(R)},S=(R,U)=>{p(q=>({...q,[R]:U})),v(R)},H=R=>{if(R.preventDefault(),s)return;let U=M_(e,u,g),q=Rs(e,U,t);if(Object.keys(q).length>0){h(q);return}r(Is(U))};return o("form",{class:`${le}-form`,onSubmit:H,"data-testid":l,noValidate:!0,children:[e.map(R=>o(A_,{field:R,value:u[R.name],otherText:g[R.name]??"",error:m[R.name],disabled:s,strings:t,onChange:U=>E(R.name,U),onOtherChange:U=>S(R.name,U)},R.name)),o("div",{class:`${le}-form-actions`,children:[a&&i?o("button",{type:"button",class:`${le}-form-skip`,onClick:i,disabled:s,"data-testid":d,children:a}):null,o("button",{type:"submit",class:`${le}-form-submit`,disabled:s,"data-testid":c,children:n})]})]})}function A_({field:e,value:t,otherText:n,error:r,disabled:a,strings:i,onChange:s,onOtherChange:l}){let c=he(y.formField,e.name),d=R_({field:e,value:t,otherText:n,disabled:a,strings:i,onChange:s,onOtherChange:l,fieldTid:c});return o("label",{class:`${le}-field`,"data-field":e.name,"data-invalid":r?"true":void 0,children:[o("span",{class:`${le}-field-label`,children:[e.label,e.required??!0?o("span",{class:`${le}-field-req`,"aria-hidden":"true",children:" *"}):null]}),d,e.validationHint&&!r?o("span",{class:`${le}-field-hint`,children:e.validationHint}):null,r?o("span",{class:`${le}-field-error`,role:"alert",children:r}):null]})}function R_(e){let{field:t,value:n,otherText:r,disabled:a,strings:i,onChange:s,onOtherChange:l,fieldTid:c}=e,d=typeof n=="string"?n:"";switch(t.type){case"textarea":return o("textarea",{class:`${le}-field-input`,rows:3,value:d,placeholder:t.placeholder,disabled:a,onInput:u=>s(u.target.value),"data-testid":c});case"select":return o("select",{class:`${le}-field-input`,value:d,disabled:a,onChange:u=>s(u.target.value),"data-testid":c,children:[o("option",{value:"",children:t.placeholder??"\u2014"}),(t.options??[]).map(u=>o("option",{value:u.value,children:u.label??u.value},u.value))]});case"radio":{let u=t.allowOther&&d===ur;return o("div",{class:`${le}-field-choices`,role:"radiogroup","data-testid":c,children:[(t.options??[]).map(_=>o("label",{class:`${le}-choice`,children:[o("input",{type:"radio",name:`${le}-${t.name}`,checked:d===_.value,disabled:a,onChange:()=>s(_.value)}),o("span",{children:_.label??_.value})]},_.value)),t.allowOther?o("label",{class:`${le}-choice`,children:[o("input",{type:"radio",name:`${le}-${t.name}`,checked:d===ur,disabled:a,onChange:()=>s(ur)}),o("span",{children:i.formOther})]}):null,u?o("input",{class:`${le}-field-input`,value:r,placeholder:t.placeholder??i.formOtherPlaceholder,disabled:a,onInput:_=>l(_.target.value)}):null]})}case"checkbox":return o("label",{class:`${le}-choice`,children:[o("input",{type:"checkbox",checked:d==="true",disabled:a,onChange:u=>s(u.target.checked?"true":""),"data-testid":c}),o("span",{children:t.placeholder??t.label})]});case"multiselect":{let u=Array.isArray(n)?n:[],_=(g,p)=>s(p?[...u,g]:u.filter(m=>m!==g));return o("div",{class:`${le}-field-choices`,"data-testid":c,children:[(t.options??[]).map(g=>o("label",{class:`${le}-choice`,children:[o("input",{type:"checkbox",checked:u.includes(g.value),disabled:a,onChange:p=>_(g.value,p.target.checked)}),o("span",{children:g.label??g.value})]},g.value)),t.allowOther||(t.options??[]).length===0?o("textarea",{class:`${le}-field-input`,rows:2,value:r,placeholder:t.placeholder??i.formOtherPlaceholder,disabled:a,onInput:g=>l(g.target.value)}):null]})}default:return o("input",{class:`${le}-field-input`,type:I_(t.type),value:d,placeholder:t.placeholder,disabled:a,onInput:u=>s(u.target.value),"data-testid":c})}}function I_(e){switch(e){case"number":case"email":case"tel":case"url":case"date":case"time":return e;default:return"text"}}function L_(e){let t={};for(let n of e)n.defaultValue!=null&&(t[n.name]=n.type==="multiselect"?n.defaultValue.split(",").map(r=>r.trim()).filter(Boolean):n.defaultValue);return t}function M_(e,t,n){let r={...t};for(let a of e){let i=n[a.name]?.trim();if(a.type==="radio"&&a.allowOther&&t[a.name]===ur)r[a.name]=i??"";else if(a.type==="multiselect"&&i){let s=i.split(/[,\n;]+/).map(c=>c.trim()).filter(Boolean),l=Array.isArray(t[a.name])?t[a.name]:[];r[a.name]=[...l,...s]}}return r}var Ue=P.cssPrefix;function Ls({form:e,strings:t,onSubmit:n,onSkip:r}){return o("div",{class:`${Ue}-form-gate`,"data-testid":y.formGate,children:[e.title?o("h3",{class:`${Ue}-form-gate-title`,children:e.title}):null,e.description?o("p",{class:`${Ue}-form-gate-desc`,children:e.description}):null,o(pr,{fields:e.fields,strings:t,submitLabel:e.submitLabel??t.formSubmit,onSubmit:n,skipLabel:e.skippable?t.formSkip:void 0,onSkip:e.skippable?r:void 0,submitTestId:y.formSubmit,skipTestId:y.formSkip})]})}function Ms({marker:e,strings:t,onFill:n}){let r=e.outcome==="skipped",a=r?t.formSkipped:t.formSubmitted,i=e.title?o(ne,{children:[o("span",{children:e.title}),o("span",{class:`${Ue}-sr-only`,children:a})]}):o("span",{children:a}),s=e.form?.reviewable??!1,l=!r&&s&&e.values&&Object.keys(e.values).length>0?e.values:null;if(l){let c=d=>e.form?.fields.find(u=>u.name===d)?.label??d;return o("details",{class:`${Ue}-form-done`,"data-outcome":e.outcome,"data-testid":y.formDone,children:[o("summary",{class:`${Ue}-form-done-summary`,"data-testid":y.formDoneToggle,children:[o(Yt,{}),i,o(Et,{})]}),o("dl",{class:`${Ue}-form-answers`,"data-testid":y.formAnswers,children:Object.entries(l).map(([d,u])=>o("div",{class:`${Ue}-form-answer`,children:[o("dt",{children:c(d)}),o("dd",{children:u})]},d))})]})}return o("div",{class:`${Ue}-form-done`,"data-outcome":e.outcome,"data-testid":y.formDone,role:"status",children:[r?o(as,{}):o(Yt,{}),i,r&&e.form?.reopenable&&n?o("button",{type:"button",class:`${Ue}-form-done-fill`,"data-testid":y.formFill,onClick:n,children:t.formFillOut}):null]})}var Eo=1,Os=2,Ds=4,$s=8,Fs=16;function N_(e){switch(e){case Eo:return"href";case Os:return"src";case Ds:return"class";case $s:return"checked";case Fs:return"start"}}var O_=e=>{switch(e){case 1:return 3;case 2:return 4;case 3:return 5;case 4:return 6;case 5:return 7;default:return 8}},D_=O_;var Ns=24;function Ro(e){let t=new Uint32Array(Ns);return t[0]=1,{renderer:e,text:"",pending:"",tokens:t,len:0,token:1,fence_end:0,blockquote_idx:0,hr_char:"",hr_chars:0,fence_start:0,spaces:new Uint8Array(Ns),indent:"",indent_len:0,table_state:0}}function Bs(e){e.pending.length>0&&be(e,`
|
|
12
12
|
`)}function Y(e){e.text.length!==0&&(console.assert(e.len>0,"Never adding text to root"),e.renderer.add_text(e.renderer.data,e.text),e.text="")}function ce(e){console.assert(e.len>0,"No nodes to end"),e.len-=1,e.token=e.tokens[e.len],e.renderer.end_token(e.renderer.data)}function Z(e,t){(e.tokens[e.len]===24||e.tokens[e.len]===23)&&t!==25&&ce(e),e.len+=1,e.tokens[e.len]=t,e.token=t,e.renderer.add_token(e.renderer.data,t)}function $_(e,t,n){for(;n<=e.len;){if(e.tokens[n]===t)return n;n+=1}return-1}function lt(e,t){for(e.fence_start=0;e.len>t;)ce(e)}function fr(e,t){let n=0;for(let r=0;r<=e.len&&(t-=e.spaces[r],!(t<0));r+=1)switch(e.tokens[r]){case 9:case 10:case 20:case 25:n=r;break}for(;e.len>n;)ce(e);return t}function Co(e,t){let n=-1,r=-1;for(let a=e.blockquote_idx+1;a<=e.len;a+=1)if(e.tokens[a]===25){if(e.indent_len<e.spaces[a]){r=-1;break}r=a}else e.tokens[a]===t&&(n=a);return r===-1?n===-1?(lt(e,e.blockquote_idx),Z(e,t),!0):(lt(e,n),!1):(lt(e,r),Z(e,t),!0)}function To(e,t){Z(e,25),e.spaces[e.len]=e.indent_len+t,je(e),e.token=103}function je(e){e.indent="",e.indent_len=0,e.pending=""}function Ao(e){switch(e){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return!0;default:return!1}}function F_(e){switch(e){case 32:case 58:case 59:case 41:case 44:case 33:case 46:case 63:case 93:case 10:return!0;default:return!1}}function B_(e){return Ao(e)||F_(e)}function be(e,t){for(let n of t){if(e.token===101){switch(n){case" ":e.indent_len+=1;continue;case" ":e.indent_len+=4;continue}let a=fr(e,e.indent_len);e.indent_len=0,e.token=e.tokens[e.len],a>0&&be(e," ".repeat(a))}let r=e.pending+n;switch(e.token){case 21:case 1:case 20:case 24:case 23:switch(console.assert(e.text.length===0,"Root should not have any text"),e.pending[0]){case void 0:e.pending=n;continue;case" ":console.assert(e.pending.length===1),e.pending=n,e.indent+=" ",e.indent_len+=1;continue;case" ":console.assert(e.pending.length===1),e.pending=n,e.indent+=" ",e.indent_len+=4;continue;case`
|
|
13
13
|
`:if(console.assert(e.pending.length===1),e.tokens[e.len]===25&&e.token===21){ce(e),je(e),e.pending=n;continue}lt(e,e.blockquote_idx),je(e),e.blockquote_idx=0,e.fence_start=0,e.pending=n;continue;case"#":switch(n){case"#":if(e.pending.length<6){e.pending=r;continue}break;case" ":fr(e,e.indent_len),Z(e,D_(e.pending.length)),je(e);continue}break;case">":{let i=$_(e,20,e.blockquote_idx+1);i===-1?(lt(e,e.blockquote_idx),e.blockquote_idx+=1,e.fence_start=0,Z(e,20)):e.blockquote_idx=i,je(e),e.pending=n;continue}case"-":case"*":case"_":if(e.hr_chars===0&&(console.assert(e.pending.length===1,"Pending should be one character"),e.hr_chars=1,e.hr_char=e.pending),e.hr_chars>0){switch(n){case e.hr_char:e.hr_chars+=1,e.pending=r;continue;case" ":e.pending=r;continue;case`
|
|
14
14
|
`:if(e.hr_chars<3)break;fr(e,e.indent_len),e.renderer.add_token(e.renderer.data,22),e.renderer.end_token(e.renderer.data),je(e),e.hr_chars=0;continue}e.hr_chars=0}if(e.pending[0]!=="_"&&e.pending[1]===" "){Co(e,23),To(e,2),be(e,r.slice(2));continue}break;case"`":if(e.pending.length<3){if(n==="`"){e.pending=r,e.fence_start=r.length;continue}e.fence_start=0;break}switch(n){case"`":e.pending.length===e.fence_start?(e.pending=r,e.fence_start=r.length):(Z(e,2),je(e),e.fence_start=0,be(e,r));continue;case`
|