@helpai/elements 1.3.16 → 1.3.17
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 +3 -3
- package/elements.cjs.js +2 -2
- package/elements.cjs.js.map +3 -3
- package/elements.esm.js +2 -2
- package/elements.esm.js.map +3 -3
- package/elements.js +2 -2
- package/elements.js.map +3 -3
- package/index.mjs +1 -1
- package/package.json +1 -1
- package/web-component.mjs +1 -1
package/web-component.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import{Component as e,h as t,render as n}from"preact";import{useCallback as r,us
|
|
|
4
4
|
`,`.__P__-standalone-page{margin:0;height:100vh;background:var(--__P__-bg, #fff);display:grid;place-items:stretch}
|
|
5
5
|
`,`:host([data-mode="page"]){min-height:0}:host([data-mode="page"]) .__P__-page-shell{display:grid;grid-template-columns:280px 1fr;width:100%;height:100%;min-height:0;background:var(--__P__-bg);color:var(--__P__-fg);transition:grid-template-columns var(--__P__-dur-base) var(--__P__-ease-in-out)}:host([data-mode="page"]) .__P__-page-shell[data-sidebar-collapsed=true]{grid-template-columns:48px 1fr}:host([data-mode="page"]) .__P__-page-chat{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}:host([data-mode="page"]) .__P__-anchor{position:static;inset:auto;padding:0;align-items:stretch;width:100%;height:100%;min-width:0;min-height:0;flex:1 1 0}:host([data-mode="page"]) .__P__-panel{width:100%;height:100%;min-width:0;min-height:0;max-width:none;max-height:none;border-radius:0;border:0;box-shadow:none;animation:none}:host([data-mode="page"]) .__P__-sidebar{border-inline-end:1px solid var(--__P__-border);display:flex;flex-direction:column;overflow:hidden;background:var(--__P__-surface)}:host([data-mode="page"]) .__P__-sidebar-header{padding:var(--__P__-space-4) var(--__P__-space-5);border-bottom:1px solid var(--__P__-border);display:flex;align-items:center;justify-content:space-between;gap:var(--__P__-space-2);min-height:56px;box-sizing:border-box}:host([data-mode="page"]) .__P__-sidebar[data-collapsed=true] .__P__-sidebar-header{padding:var(--__P__-space-4) var(--__P__-space-2);justify-content:center}:host([data-mode="page"]) .__P__-sidebar[data-collapsed=true] .__P__-sidebar-logo,:host([data-mode="page"]) .__P__-sidebar[data-collapsed=true] .__P__-sidebar-title{display:none}:host([data-mode="page"]) .__P__-sidebar-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--__P__-border);border-radius:6px;background:transparent;color:var(--__P__-fg);cursor:pointer;transition:background .12s,border-color .12s}:host([data-mode="page"]) .__P__-sidebar-toggle:hover{background:var(--__P__-hover);border-color:var(--__P__-accent)}:host([data-mode="page"]) .__P__-sidebar-toggle:focus-visible{outline:2px solid var(--__P__-accent);outline-offset:2px}:host([data-mode="page"]) .__P__-sidebar-logo{height:32px;display:block}:host([data-mode="page"]) .__P__-sidebar-title{font-size:var(--__P__-text-md);font-weight:600}:host([data-mode="page"]) .__P__-sidebar-section{padding:var(--__P__-space-3) var(--__P__-space-4);border-bottom:1px solid var(--__P__-border)}:host([data-mode="page"]) .__P__-sidebar-nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}:host([data-mode="page"]) .__P__-sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:var(--__P__-space-2) var(--__P__-space-3);border-radius:var(--__P__-radius-sm);color:var(--__P__-fg);text-decoration:none;font-size:calc(14px * var(--__P__-text-scale));transition:background var(--__P__-dur-quick) var(--__P__-ease-out)}:host([data-mode="page"]) .__P__-sidebar-nav-item:hover{background:var(--__P__-hover)}:host([data-mode="page"]) .__P__-sidebar-nav-item:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:-2px}:host([data-mode="page"]) .__P__-sidebar-cards{display:grid;grid-template-columns:1fr;gap:var(--__P__-space-2)}:host([data-mode="page"]) .__P__-sidebar-card{display:block;padding:10px 12px;border:1px solid var(--__P__-border);border-radius:var(--__P__-radius-sm);text-decoration:none;color:var(--__P__-fg);transition:border-color var(--__P__-dur-quick) var(--__P__-ease-out)}:host([data-mode="page"]) .__P__-sidebar-card:hover{border-color:var(--__P__-accent)}:host([data-mode="page"]) .__P__-sidebar-card:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px}:host([data-mode="page"]) .__P__-sidebar-card-label{font-weight:600;font-size:calc(14px * var(--__P__-text-scale))}:host([data-mode="page"]) .__P__-sidebar-card-desc{font-size:var(--__P__-text-xs);color:var(--__P__-muted);margin-top:2px}:host([data-mode="page"]) .__P__-sidebar-conversations{flex:1 1 auto;overflow-y:auto;padding:var(--__P__-space-3) var(--__P__-space-4)}:host([data-mode="page"]) .__P__-page-chat{display:flex;flex-direction:column;overflow:hidden}@media(max-width:768px){:host([data-mode="page"]) .__P__-page-shell{grid-template-columns:1fr}:host([data-mode="page"]) .__P__-sidebar{display:none}}
|
|
6
6
|
`].join(`
|
|
7
|
-
`).replace(/__P__/g,`helpai`).replaceAll(`__BRAND_ACCENT_TEXT__`,`#FFFFFF`).replaceAll(`__BRAND_ACCENT__`,`#5B5BD6`).replaceAll(`__BRAND_RADIUS__`,`12px`).replaceAll(`__BRAND_FONT__`,`Inter, system-ui, -apple-system, 'Segoe UI', sans-serif`),gt=I.scope(`mount`),_t=new WeakMap,vt={floating:`all: initial; position: fixed; z-index: 2147483600;`,flow:`all: initial; display: block; position: relative; width: 100%; height: 100%; z-index: 1; contain: size;`,viewport:`all: initial; display: block; position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1;`};function yt(e,t){e.style.cssText=vt[t]}function bt(e){return e===`floating`||e===`modal`||e===`drawer`?`floating`:e===`standalone`||e===`page`?`viewport`:`flow`}function xt(e={}){let t=e.position??`flow`;gt.debug(`createShadowMount`,{position:t,hasTarget:!!e.target,hasHost:!!e.existingHost});let n=`${b.cssPrefix}-chat-host`;typeof customElements<`u`&&!customElements.get(n)&&customElements.define(n,class extends HTMLElement{});let r;e.existingHost?r=e.existingHost:(r=document.createElement(n),(e.target??document.body).appendChild(r)),r.setAttribute(`data-brand`,b.id),r.style.cssText=vt[t];let i=r.shadowRoot??r.attachShadow({mode:`open`}),a=r.ownerDocument;if(!St(i,a)){let e=a.createElement(`style`);e.textContent=ht,i.appendChild(e)}let o=document.createElement(`div`);return o.className=`${b.cssPrefix}-app`,i.appendChild(o),{appRoot:o,destroy:()=>r.remove(),hostElement:r,shadowRoot:i}}function St(e,t){if(!(`adoptedStyleSheets`in e))return!1;let n=t.defaultView;if(!n||typeof n.CSSStyleSheet!=`function`)return!1;let r=_t.get(t);if(!r)try{r=new n.CSSStyleSheet,r.replaceSync(ht),_t.set(t,r)}catch{return!1}try{return e.adoptedStyleSheets=[r],!0}catch{return!1}}function Ct(e,t){let n=b.cssPrefix;t.accent&&e.style.setProperty(`--${n}-accent-user`,t.accent),t.accentText&&e.style.setProperty(`--${n}-accent-text-user`,t.accentText),t.radius&&e.style.setProperty(`--${n}-radius`,t.radius),t.fontFamily&&e.style.setProperty(`--${n}-font`,t.fontFamily),t.contentMaxWidth&&e.style.setProperty(`--${n}-conversation-max`,t.contentMaxWidth)}function wt(e,t){e.dataset.theme=t}function Tt(e,t){let n=b.cssPrefix;t.width!==void 0&&e.style.setProperty(`--${n}-panel-w`,t.width),t.height!==void 0&&e.style.setProperty(`--${n}-panel-h`,t.height),t.expanded?.width!==void 0&&e.style.setProperty(`--${n}-expanded-w`,t.expanded.width),t.expanded?.height!==void 0&&e.style.setProperty(`--${n}-expanded-h`,t.expanded.height),t.inset!==void 0&&e.style.setProperty(`--${n}-panel-inset`,t.inset)}function Et(e,t){e.dataset.position=t}function Dt(e,t){e.dataset.mode=t}function Ot(e,t){wt(e,t.themeMode),Ct(e,t.themeOverrides),Et(e,t.position),Tt(e,t.size)}function kt(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function At(e){return kt(e)}function jt(e){return!(!kt(e)||e.navigation!==void 0&&!Array.isArray(e.navigation)||e.linkCards!==void 0&&!Array.isArray(e.linkCards))}function Mt(e){return`${b.cssPrefix}:${e}`}function Nt(e,t){let n=Object.entries(t).map(([t,n])=>{let r=Mt(t),i=e=>n(e.detail);return e.addEventListener(r,i),[r,i]});return()=>{for(let[t,r]of n)e.removeEventListener(t,r)}}function Pt(e,t,n){return e===`page`?`page`:e===`standalone`?`standalone`:e===`inline`?t===`fullscreen`?`fullscreen`:`inline`:e===`modal`||e===`drawer`?n?t===`fullscreen`?`fullscreen`:e:`closed`:n?t===`fullscreen`?`fullscreen`:t===`expanded`?`expanded`:`open`:`closed`}function Ft(e,t,n){if(e===`standalone`||e===`page`)return`fullscreen`;let r=t.initialSize;return r===`expanded`||r===`fullscreen`||r===`normal`?r:n>0&&n<640?`fullscreen`:n>=(t.autoSizeBreakpoint??900)?`expanded`:`normal`}function It(e,t,n,r=null){return{panelOpen:e.mode===`inline`||e.mode===`standalone`||e.mode===`page`||(n??!e.startMinimized),panelSize:e.mode!==`standalone`&&e.mode!==`page`&&e.mode!==`inline`&&r?r:Ft(e.mode,e.size,t)}}function Lt(){return typeof window>`u`?0:window.innerWidth}function Rt(e){if(!e.aiAgentDeploymentId)throw Error(`aiAgentDeploymentId is required`);return{headers(){let t={"x-ai-agent-deployment-id":e.aiAgentDeploymentId};return e.publicKey&&(t[e.publicKeyHeader??`x-public-key`]=e.publicKey),t}}}function zt(e,t){return new Promise(n=>{if(t?.aborted)return n();let r=setTimeout(a,e),i=()=>a();t?.addEventListener(`abort`,i,{once:!0});function a(){clearTimeout(r),t?.removeEventListener(`abort`,i),n()}})}const Bt=`1.3.
|
|
7
|
+
`).replace(/__P__/g,`helpai`).replaceAll(`__BRAND_ACCENT_TEXT__`,`#FFFFFF`).replaceAll(`__BRAND_ACCENT__`,`#5B5BD6`).replaceAll(`__BRAND_RADIUS__`,`12px`).replaceAll(`__BRAND_FONT__`,`Inter, system-ui, -apple-system, 'Segoe UI', sans-serif`),gt=I.scope(`mount`),_t=new WeakMap,vt={floating:`all: initial; position: fixed; z-index: 2147483600;`,flow:`all: initial; display: block; position: relative; width: 100%; height: 100%; z-index: 1; contain: size;`,viewport:`all: initial; display: block; position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1;`};function yt(e,t){e.style.cssText=vt[t]}function bt(e){return e===`floating`||e===`modal`||e===`drawer`?`floating`:e===`standalone`||e===`page`?`viewport`:`flow`}function xt(e={}){let t=e.position??`flow`;gt.debug(`createShadowMount`,{position:t,hasTarget:!!e.target,hasHost:!!e.existingHost});let n=`${b.cssPrefix}-chat-host`;typeof customElements<`u`&&!customElements.get(n)&&customElements.define(n,class extends HTMLElement{});let r;e.existingHost?r=e.existingHost:(r=document.createElement(n),(e.target??document.body).appendChild(r)),r.setAttribute(`data-brand`,b.id),r.style.cssText=vt[t];let i=r.shadowRoot??r.attachShadow({mode:`open`}),a=r.ownerDocument;if(!St(i,a)){let e=a.createElement(`style`);e.textContent=ht,i.appendChild(e)}let o=document.createElement(`div`);return o.className=`${b.cssPrefix}-app`,i.appendChild(o),{appRoot:o,destroy:()=>r.remove(),hostElement:r,shadowRoot:i}}function St(e,t){if(!(`adoptedStyleSheets`in e))return!1;let n=t.defaultView;if(!n||typeof n.CSSStyleSheet!=`function`)return!1;let r=_t.get(t);if(!r)try{r=new n.CSSStyleSheet,r.replaceSync(ht),_t.set(t,r)}catch{return!1}try{return e.adoptedStyleSheets=[r],!0}catch{return!1}}function Ct(e,t){let n=b.cssPrefix;t.accent&&e.style.setProperty(`--${n}-accent-user`,t.accent),t.accentText&&e.style.setProperty(`--${n}-accent-text-user`,t.accentText),t.radius&&e.style.setProperty(`--${n}-radius`,t.radius),t.fontFamily&&e.style.setProperty(`--${n}-font`,t.fontFamily),t.contentMaxWidth&&e.style.setProperty(`--${n}-conversation-max`,t.contentMaxWidth)}function wt(e,t){e.dataset.theme=t}function Tt(e,t){let n=b.cssPrefix;t.width!==void 0&&e.style.setProperty(`--${n}-panel-w`,t.width),t.height!==void 0&&e.style.setProperty(`--${n}-panel-h`,t.height),t.expanded?.width!==void 0&&e.style.setProperty(`--${n}-expanded-w`,t.expanded.width),t.expanded?.height!==void 0&&e.style.setProperty(`--${n}-expanded-h`,t.expanded.height),t.inset!==void 0&&e.style.setProperty(`--${n}-panel-inset`,t.inset)}function Et(e,t){e.dataset.position=t}function Dt(e,t){e.dataset.mode=t}function Ot(e,t){wt(e,t.themeMode),Ct(e,t.themeOverrides),Et(e,t.position),Tt(e,t.size)}function kt(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function At(e){return kt(e)}function jt(e){return!(!kt(e)||e.navigation!==void 0&&!Array.isArray(e.navigation)||e.linkCards!==void 0&&!Array.isArray(e.linkCards))}function Mt(e){return`${b.cssPrefix}:${e}`}function Nt(e,t){let n=Object.entries(t).map(([t,n])=>{let r=Mt(t),i=e=>n(e.detail);return e.addEventListener(r,i),[r,i]});return()=>{for(let[t,r]of n)e.removeEventListener(t,r)}}function Pt(e,t,n){return e===`page`?`page`:e===`standalone`?`standalone`:e===`inline`?t===`fullscreen`?`fullscreen`:`inline`:e===`modal`||e===`drawer`?n?t===`fullscreen`?`fullscreen`:e:`closed`:n?t===`fullscreen`?`fullscreen`:t===`expanded`?`expanded`:`open`:`closed`}function Ft(e,t,n){if(e===`standalone`||e===`page`)return`fullscreen`;let r=t.initialSize;return r===`expanded`||r===`fullscreen`||r===`normal`?r:n>0&&n<640?`fullscreen`:n>=(t.autoSizeBreakpoint??900)?`expanded`:`normal`}function It(e,t,n,r=null){return{panelOpen:e.mode===`inline`||e.mode===`standalone`||e.mode===`page`||(n??!e.startMinimized),panelSize:e.mode!==`standalone`&&e.mode!==`page`&&e.mode!==`inline`&&r?r:Ft(e.mode,e.size,t)}}function Lt(){return typeof window>`u`?0:window.innerWidth}function Rt(e){if(!e.aiAgentDeploymentId)throw Error(`aiAgentDeploymentId is required`);return{headers(){let t={"x-ai-agent-deployment-id":e.aiAgentDeploymentId};return e.publicKey&&(t[e.publicKeyHeader??`x-public-key`]=e.publicKey),t}}}function zt(e,t){return new Promise(n=>{if(t?.aborted)return n();let r=setTimeout(a,e),i=()=>a();t?.addEventListener(`abort`,i,{once:!0});function a(){clearTimeout(r),t?.removeEventListener(`abort`,i),n()}})}const Bt=`1.3.17`;var Vt=class extends Error{constructor(e,t,n,r){super(e),this.code=t,this.status=n,this.cause=r,this.name=`StreamError`}};const Ht=I.scope(`parser`);async function*Ut(e,t,n){if(!e.ok){let t=await e.text().catch(()=>``);throw new Vt(`server responded ${e.status}: ${t.slice(0,200)}`,`server`,e.status)}for await(let r of Wt(e,t)){let e=Gt(r,n);if(e===`done`)return;e&&(yield e)}}async function*Wt(e,t){if(!e.body)throw new Vt(`response has no body`,`no-body`);let n=e.body.pipeThrough(new TextDecoderStream).getReader(),r=``;try{for(;;){if(t.aborted)throw new DOMException(`aborted`,`AbortError`);let{done:e,value:i}=await n.read();if(e){let e=r.trim();e&&(yield e);return}r+=i;let a;for(;(a=r.indexOf(`
|
|
8
8
|
|
|
9
9
|
`))!==-1;){let e=r.slice(0,a);r=r.slice(a+2),yield e}}}finally{n.releaseLock()}}function Gt(e,t){let n=``,r;for(let i of e.split(`
|
|
10
10
|
`))if(i!==``){if(i.startsWith(`:`)){t?.(i.slice(1).trim());continue}if(i.startsWith(`data:`)){let e=i.slice(5).replace(/^ /,``);n=n?`${n}\n${e}`:e;continue}i.startsWith(`id:`)&&(r=i.slice(3).trim())}if(n===`[DONE]`)return`done`;if(!n)return null;try{let e=JSON.parse(n);return Ht.trace(`chunk`,{type:e.type,eventId:r}),{chunk:e,eventId:r}}catch(e){throw Ht.trace(`frame parse failed`,{errorType:e instanceof Error?e.name:typeof e,payloadLength:n.length}),new Vt(`invalid SSE frame`,`network`,void 0,e)}}function Kt(e){let t=new TextEncoder().encode(e),n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}const qt=e=>e&&Object.keys(e).length>0?e:void 0;function Jt(e,t){let n=qt(e),r=qt(t);if(!n&&!r)return;let i={};return n&&(i.user=n),r&&(i.page=r),Kt(JSON.stringify(i))}function Yt(e){if(!e)return;let t=Date.parse(e);return Number.isFinite(t)?t:void 0}function Xt(e){return`tool-${e.startsWith(`tool:`)?e.slice(5):e}`}function Zt(e){return e.startsWith(`tool-`)?e.slice(5):e}const V={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`,messageFeedback:`/pai/message-feedback`,requestOperator:`/pai/request-operator`,cancelOperatorRequest:`/pai/cancel-request-operator`,bootstrap:`/pai/bootstrap`,content:`/pai/content`,submitForm:`/pai/submit-form`};function Qt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function $t(e){if(!Qt(e))return;let t=e,n=t.controlMode,r=t.controlRevision;if(!(n!==`ai-agent`&&n!==`awaiting-operator`&&n!==`operator`||typeof r!=`number`||!Number.isSafeInteger(r)||r<0))return{controlMode:n,controlRevision:r,assignedOperatorInitials:typeof t.assignedOperatorInitials==`string`&&t.assignedOperatorInitials?t.assignedOperatorInitials:void 0,operatorAvailable:typeof t.operatorAvailable==`boolean`?t.operatorAvailable:void 0}}function en(e){if(!Qt(e))return;let t=e.status,n=e.postFinishSequence;if(!(t!==`compacting`&&t!==`ready`||typeof n!=`number`||!Number.isSafeInteger(n)||n<0))return{status:t,postFinishSequence:n}}function tn(e){let t=Qt(e)?e.suggestions:void 0;if(!Array.isArray(t))return[];let n=[];for(let e of t){if(!Qt(e))continue;let{id:t,label:r,text:i}=e;typeof r!=`string`||!r||n.push({id:typeof t==`string`&&t?t:`s${n.length}`,label:r,text:typeof i==`string`&&i?i:r})}return n}function nn(e){let t={messages:e.messages.map(e=>({id:e.serverMessageId??e.id,parts:H(e),role:e.role})),conversationId:e.conversationId,responseType:`ack`};return e.visitorId&&(t.visitorId=e.visitorId),e.userPrefs&&(t.userPrefs=e.userPrefs),t}function rn(e){return e.state===`output-available`||e.state===`output-error`||e.state===`output-denied`||e.approval?.approved!==void 0}function H(e){let t=[];for(let n of e.parts)if(n.kind===`step-start`&&t.push({type:`step-start`}),n.kind===`reasoning`&&n.text&&t.push({type:`reasoning`,text:n.text,state:n.done?`done`:`streaming`}),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`&&rn(n)){let e=n.dynamic?{type:`dynamic-tool`,toolName:n.toolName,toolCallId:n.toolCallId,state:n.state}:{type:Xt(n.toolName),toolCallId:n.toolCallId,state:n.state};n.input!==void 0&&(e.input=n.input),n.output!==void 0&&(e.output=n.output),n.error!==void 0&&(e.errorText=n.error),n.approval?.approved!==void 0&&(e.approval=n.approval),t.push(e)}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}function an(e){"@babel/helpers - typeof";return an=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},an(e)}function on(e,t){if(an(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(an(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function sn(e){var t=on(e,`string`);return an(t)==`symbol`?t:t+``}function U(e,t,n){return(t=sn(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const W=I.scope(`transport`),cn=new WeakMap;function ln(e){return cn.get(e)}function un(e,t){return cn.set(e,t),e}function dn(e){return Math.max(e?.upsertRevision??0,e?.read?.revision??0)}function fn(e,t){return e.conversationId===t.conversationId&&e.title===t.title&&e.lastMessageAt===t.lastMessageAt&&e.preview===t.preview&&e.canContinue===t.canContinue&&e.hasUnread===t.hasUnread&&e.controlState===t.controlState}function pn(e,t,n=!0){switch(t.type){case`snapshot`:{let n=new Map(e.map(e=>[e.conversationId,e])),r=e.filter(e=>(ln(e)?.activityRevision??0)>t.requestedRevision).toSorted((e,t)=>ln(t).activityRevision-ln(e).activityRevision),i=new Set(r.map(e=>e.conversationId));return[...r,...t.result.conversations.filter(e=>!i.has(e.conversationId)).map(e=>{let r=n.get(e.conversationId);if(!r)return e;let i=ln(r);return(i?.upsertRevision??0)>t.requestedRevision?r:i?.read&&!r.hasUnread&&i.read.lastMessageAt===e.lastMessageAt?un({...e,hasUnread:!1},{upsertRevision:0,read:i.read}):e})]}case`read`:{let n=e.findIndex(e=>e.conversationId===t.conversationId&&(t.lastMessageAt===void 0||e.lastMessageAt===t.lastMessageAt));if(n<0)return e;let r=e[n],i=ln(r);if(dn(i)>t.revision)return e;let a=t.lastMessageAt??r.lastMessageAt,o={upsertRevision:i?.upsertRevision??0,...i?.activityRevision===void 0?{}:{activityRevision:i.activityRevision},read:{revision:t.revision,...a?{lastMessageAt:a}:{}}};return r.hasUnread?e.map((e,t)=>t===n?un({...e,hasUnread:!1},o):e):(un(r,o),e)}case`upsert`:{let r=e.findIndex(e=>e.conversationId===t.conversation.conversationId);if(r<0&&!n)return e;let i=r<0?void 0:e[r],a=i?ln(i):void 0;if(dn(a)>t.revision)return e;let o=t.activity?t.revision:a?.activityRevision,s={upsertRevision:t.revision,...o===void 0?{}:{activityRevision:o},...!t.conversation.hasUnread&&a?.read?{read:a.read}:{}},c=i?{...i,...t.conversation,title:i.title}:{...t.conversation};return i&&fn(i,c)?(un(i,s),e):(un(c,s),t.activity?[c,...e.filter(e=>e.conversationId!==c.conversationId)]:i?e.map((e,t)=>t===r?c:e):[...e,c])}default:return t}}const mn=new Set([408,425,429,500,502,503,504]);function hn(e){return 400*2**e+Math.floor(Math.random()*250)}function gn(e){return 6e4+Math.ceil(e/1048576)*15e3}function _n(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}var vn=class{constructor(e){this.ttlMs=e,U(this,`map`,new Map)}getOrFetch(e,t){let n=this.map.get(e);if(n&&performance.now()-n.at<this.ttlMs)return n.result;let r={at:performance.now(),result:t().then(e=>(r.value=e,e)).catch(t=>{throw this.map.get(e)===r&&this.map.delete(e),t})};return this.map.set(e,r),r.result}peek(e){let t=this.map.get(e);if(t?.value!==void 0&&performance.now()-t.at<this.ttlMs)return t.value}update(e){for(let t of this.map.values()){if(t.value!==void 0){let n=e(t.value);t.value=n,t.result=Promise.resolve(n);continue}t.result=t.result.then(n=>{let r=e(n);return t.value=r,r})}}delete(e){this.map.delete(e)}},yn=class{constructor(e){this.opts=e,U(this,`conversationListeners`,new Set),U(this,`conversationRevision`,0),U(this,`visitorId`,void 0),U(this,`conversationId`,void 0),U(this,`userContext`,void 0),U(this,`pageContext`,void 0),U(this,`locale`,void 0),U(this,`conversationsCache`,new vn(1e4)),U(this,`contentCache`,new vn(6e4))}setContext(e,t){this.userContext=e,this.pageContext=t}setLocale(e){this.locale=e}primeIdentity(e,t){e&&(this.visitorId=e),t&&(this.conversationId=t)}envelope(){let e={_ev:Bt};this.visitorId&&(e.visitorId=this.visitorId),this.conversationId&&(e.conversationId=this.conversationId),this.locale&&(e.locale=this.locale);let t=Jt(this.userContext,this.pageContext);return t&&(e.context=t),e}withEnvelope(e){return{...this.envelope(),...e}}appendEnvelope(e){for(let[t,n]of Object.entries(this.envelope()))e.append(t,n);return e}withEnvelopeQuery(e){let t=new URL(this.url(e));for(let[e,n]of Object.entries(this.envelope()))t.searchParams.has(e)||t.searchParams.set(e,n);return t.toString()}async handshake(e){W.debug(`handshake →`,{visitorId:e.visitorId,conversationId:e.conversationId,locale:e.locale});let t=await this.postJson(V.handshake,e,`handshake`);return W.debug(`handshake ←`,{visitorId:t.visitorId,conversationId:t.conversationId,hasWelcome:!!t.welcome,hasConfig:!!t.config,rebind:t.rebind}),this.visitorId=e.visitorId,this.conversationId=t.conversationId,t}async uploadFile(e,t){W.debug(`uploadFile →`,{name:e.name,size:e.size,type:e.type});let n=new FormData;n.append(`file`,e,e.name);let r=await this.postForm(this.uploadPath,n,`upload`,t,gn(e.size));return W.debug(`uploadFile ←`,{id:r.id,url:r.url}),r}async transcribe(e,t=`audio/webm`){W.debug(`transcribe →`,{size:e.size,mimeType:t});let n=new FormData;n.append(`audio`,e,`voice.${bn(t)}`),n.append(`mimeType`,t);let r=await this.postForm(this.transcribePath,n,`transcribe`);return W.debug(`transcribe ←`,{textLen:r.text.length}),r}subscribeConversationChanges(e){return this.conversationListeners.add(e),()=>this.conversationListeners.delete(e)}publishConversation(e,t=!1){let n={type:`upsert`,conversation:e,revision:++this.conversationRevision,...t?{activity:!0}:{}};this.conversationsCache.update(r=>{let i=r.pagination.page===1,a=r.conversations.some(t=>t.conversationId===e.conversationId),o=pn(r.conversations,n,i&&t),s=i&&o.length>r.pagination.limit?o.slice(0,r.pagination.limit):o;if(!i||!t||a||r.pagination.hasNext)return s===r.conversations?r:{...r,conversations:s};let c=Math.max(r.pagination.total,r.conversations.length)+1,l=Math.ceil(c/r.pagination.limit);return{...r,conversations:s,pagination:{...r.pagination,total:c,totalPages:l,hasNext:r.pagination.page<l}}});for(let e of this.conversationListeners)e(n)}localeCacheKey(e){return`${this.locale??``}|${JSON.stringify(e,Object.keys(e).toSorted())}`}peekConversations(e={}){return this.conversationsCache.peek(this.localeCacheKey(e))}listConversations(e={},t=!1){if((e.page??1)>1)return this.fetchConversations(e);let n=this.localeCacheKey(e),r=this.conversationRevision;t&&this.conversationsCache.delete(n);let i=this.conversationsCache.getOrFetch(n,()=>this.fetchConversations(e));return t?i.then(e=>{let t={type:`snapshot`,result:e,requestedRevision:r};for(let e of this.conversationListeners)e(t);return e}):i}async fetchConversations(e){let t=new URL(this.url(V.listConversations));return e.visitorId&&t.searchParams.set(`visitorId`,e.visitorId),e.page&&t.searchParams.set(`page`,String(e.page)),e.limit&&t.searchParams.set(`limit`,String(e.limit)),e.ids?.length&&t.searchParams.set(`ids`,e.ids.join(`,`)),this.getJson(t.toString(),`listConversations`)}async loadConversation(e,{ids:t=[],beforeId:n,beforeCreatedAt:r}={}){let i=new URL(this.url(V.listMessages));i.searchParams.set(`conversationId`,e),i.searchParams.set(`limit`,`50`),t.length>0&&i.searchParams.set(`ids`,t.join(`,`)),n&&i.searchParams.set(`beforeId`,n),r&&i.searchParams.set(`beforeCreatedAt`,r);let a=await this.getJson(i.toString(),`loadConversation`);return{...a,messages:a.messages.toReversed()}}async markRead(e,t){if(!this.visitorId||!e)return;let n={type:`read`,conversationId:e,...t===void 0?{}:{lastMessageAt:t},revision:++this.conversationRevision};this.conversationsCache.update(e=>{let t=pn(e.conversations,n);return t===e.conversations?e:{...e,conversations:t}});for(let e of this.conversationListeners)e(n);try{await this.postJson(V.markRead,{conversationId:e},`markRead`,!0)}catch(e){W.debug(`markRead failed (non-fatal)`,{err:e})}}async requestOperator(){if(!(!this.visitorId||!this.conversationId))try{return(await this.postJson(V.requestOperator,{},`requestOperator`)).controlState}catch(e){W.debug(`requestOperator failed (non-fatal)`,{err:e});return}}async cancelOperatorRequest(){if(!(!this.visitorId||!this.conversationId))try{return(await this.postJson(V.cancelOperatorRequest,{},`cancelOperatorRequest`)).controlState}catch(e){W.debug(`cancelOperatorRequest failed (non-fatal)`,{err:e});return}}listContent(e={}){return this.contentCache.getOrFetch(this.localeCacheKey(e),()=>this.fetchContent(e))}async fetchContent(e){let t=new URL(this.dataUrl(V.content));for(let[n,r]of Object.entries(e))r!==void 0&&t.searchParams.set(n,Array.isArray(r)?r.join(`,`):String(r));let n=await this.getJson(t.toString(),`listContent`),r=(n.items??[]).map(e=>A(e,this.locale));return{...n,items:r}}async bootstrap(e){let t=new URL(this.dataUrl(V.bootstrap));e&&t.searchParams.set(`conversationId`,e);let n=await this.getJson(t.toString(),`bootstrap`);return{forms:n.forms??[],formSubmissions:n.formSubmissions??[]}}async saveUserPrefs(e){return this.postJson(V.updateSettings,{userPrefs:e},`saveUserPrefs`)}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??V.submitForm}async submitForm(e){W.debug(`submitForm →`,{formId:e.formId,trigger:e.trigger,fields:Object.keys(e.values).length});try{await this.postJson(this.dataUrl(this.submitFormPath),e,`submitForm`)}catch(e){W.debug(`submitForm failed (non-fatal)`,{err:e})}}async submitFeedback(e){W.debug(`submitFeedback →`,{messageId:e.messageId,value:e.value});try{await this.postJson(V.messageFeedback,{messageId:e.messageId,set:{feedback:e.value}},`submitFeedback`)}catch(e){W.debug(`submitFeedback failed (non-fatal)`,{err:e})}}async sendTurn(e){W.debug(`message →`,{conversationId:e.conversationId,visitorId:e.visitorId,messageCount:e.messages.length});try{return await this.runWithAbort(async t=>{let n=await this.fetchImpl(this.url(V.streamMessage),{method:`POST`,credentials:`omit`,headers:{accept:`application/json`,"content-type":`application/json`,...this.opts.auth.headers()},body:JSON.stringify(this.withEnvelope(e)),signal:t});if(n.status!==202)throw new Vt(`sendTurn failed: expected 202, received ${n.status}`,`server`,n.status);let r;try{r=await n.json()}catch(e){throw t?.aborted?e:new Vt(`sendTurn failed: invalid acknowledgement`,`server`,n.status,e)}if(!xn(r))throw new Vt(`sendTurn failed: invalid acknowledgement`,`server`,n.status);return r},void 0,3e4)}catch(e){throw e instanceof Vt?e:new Vt(`sendTurn failed: network error`,`network`,void 0,e)}}cancelTurn(e,t){!this.visitorId||!e||!t||(W.debug(`cancel stream`,{conversationId:e,runId:t,visitorId:this.visitorId}),this.fetchImpl(this.url(V.cancelStream),{method:`POST`,credentials:`omit`,headers:{"content-type":`application/json`,...this.opts.auth.headers()},body:JSON.stringify(this.withEnvelope({conversationId:e,runId:t})),keepalive:!0}).catch(e=>W.debug(`cancel POST failed (non-fatal)`,{err:e})))}async connectResumeStream(e){let t=new AbortController,n=()=>t.abort(e.signal.reason);e.signal.aborted?n():e.signal.addEventListener(`abort`,n,{once:!0});let r=setTimeout(()=>t.abort(),1e4),i=()=>{clearTimeout(r),e.signal.removeEventListener(`abort`,n)},a;try{a=await this.fetchImpl(this.resumeUrl(),{method:`GET`,credentials:`omit`,headers:{accept:`text/event-stream`,...this.opts.auth.headers()},signal:t.signal})}catch(t){return i(),e.signal.aborted||W.debug(`resume-stream fetch failed — reconnecting`,{err:t}),`held`}if(!a.ok)return i(),a.status===409||mn.has(a.status)?(W.debug(`resume-stream → transient response; reconnecting`,{status:a.status}),`held`):(W.debug(`resume-stream → endpoint unavailable`,{status:a.status}),`unavailable`);if(!a.body)return i(),W.debug(`resume-stream → bodyless response; stopping`,{status:a.status}),`unavailable`;if(!(a.headers.get(`content-type`)??``).includes(`text/event-stream`))return i(),W.debug(`resume-stream → non-SSE response; stopping`),`unavailable`;let o=!1;try{for await(let{chunk:n}of Ut(a,t.signal,t=>{o||t!==`connected`||(o=!0,clearTimeout(r),e.onConnected())})){if(e.signal.aborted)return`held`;e.onChunk(n)}}catch(t){if(e.signal.aborted)return`held`;W.debug(`resume-stream segment dropped — reconnecting`,{err:t})}finally{i()}return`held`}resumeUrl(){return this.withEnvelopeQuery(V.streamResume)}async postJson(e,t,n,r=!1){let i=await this.fetchWithRetry(()=>[this.url(e),{method:`POST`,credentials:`omit`,headers:{"content-type":`application/json`,...this.opts.auth.headers()},body:JSON.stringify(this.withEnvelope(t)),...r?{keepalive:!0}:{}}],n);return this.assertOk(i,n)}async postForm(e,t,n,r,i){return this.runWithAbort(async r=>{let i=await this.fetchImpl(this.url(e),{method:`POST`,credentials:`omit`,headers:this.opts.auth.headers(),body:this.appendEnvelope(t),signal:r});return this.assertOk(i,n)},r,i)}async runWithAbort(e,t,n){if(!t&&n===void 0)return e();let r=new AbortController,i=()=>r.abort(t?.reason);t?.aborted?i():t?.addEventListener(`abort`,i,{once:!0});let a=n===void 0?void 0:setTimeout(()=>r.abort(),n);try{return await e(r.signal)}finally{a!==void 0&&clearTimeout(a),t?.removeEventListener(`abort`,i)}}async getJson(e,t){let n=await this.fetchWithRetry(()=>[this.withEnvelopeQuery(e),{method:`GET`,credentials:`omit`,headers:{accept:`application/json`,...this.opts.auth.headers()}}],t);return this.assertOk(n,t)}async fetchWithRetry(e,t){for(let n=0;;n++){let[r,i]=e(),a;try{a=await this.fetchImpl(r,i)}catch(e){if(n>=3)throw new Vt(`${t} failed: network error`,`network`,void 0,e);W.debug(`request network error — retrying`,{label:t,attempt:n}),await zt(hn(n));continue}if(a.ok||!mn.has(a.status)||n>=3)return a;let o=_n(a.headers)??hn(n);W.debug(`request retryable status — retrying`,{label:t,status:a.status,attempt:n,wait:o}),await zt(o)}}async assertOk(e,t){if(!e.ok)throw new Vt(`${t} failed: ${e.status}`,`server`,e.status);return await e.json()}url(e){return/^https?:\/\//i.test(e)?e:`${this.opts.agentApiBaseUrl}${e}`}dataUrl(e){return/^https?:\/\//i.test(e)?e:`${this.opts.dataApiBaseUrl}${e}`}get fetchImpl(){return this.opts.fetchImpl??globalThis.fetch.bind(globalThis)}};function bn(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 xn(e){if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`status`),n=Reflect.get(e,`conversationId`),r=Reflect.get(e,`runId`);return t===`accepted`&&typeof n==`string`&&n.length>0&&(r===void 0||typeof r==`string`&&r.length>0)}function Sn(e,t,n=ct()){let r=e?[{kind:`text`,id:`t0`,textSig:f(e),doneSig:f(!0)}]:[];return{id:n,role:`user`,createdAt:Date.now(),status:`complete`,attachments:t,partsSig:f(r)}}function Cn(){return{id:ct(),role:`assistant`,createdAt:Date.now(),status:`streaming`,partsSig:f([])}}function wn(e){let t=ct();return Tn({id:t,role:e.role,createdAt:Date.now(),status:`complete`,ephemeral:!0,parts:[{kind:`text`,id:`${t}-t0`,text:e.text,done:!0}]})}function Tn(e){return{id:e.id,role:e.role,createdAt:e.createdAt,status:e.status,canceled:e.canceled,errorText:e.errorText,finishReason:e.finishReason,serverMessageId:e.serverMessageId,ephemeral:e.ephemeral,attachments:e.attachments,feedback:e.feedback,partsSig:f(e.parts.map(sr))}}function En(e){return e.status===`failed`?`error`:e.role===`assistant`&&e.status===`streaming`?`streaming`:`complete`}function Dn(e){let t=new Set,n=e.parts.map((t,n)=>t.type===`text`?{kind:`text`,id:`${e.id}-t${n}`,textSig:f(t.text),doneSig:f(!0)}:t.type===`reasoning`?{kind:`reasoning`,id:`${e.id}-r${n}`,textSig:f(t.text),doneSig:f(t.state!==`streaming`)}:t.type===`step-start`?{kind:`step-start`,id:`${e.id}-ss${n}`}:t.type===`file`?{kind:`file`,url:t.url,mediaType:t.mediaType}:t.type===`source-url`?{kind:`source`,sourceId:t.sourceId,url:t.url,title:t.title}:t.type===`source-document`?{kind:`source`,sourceId:t.sourceId,title:t.title,filename:t.filename,mediaType:t.mediaType}:t.type===`data-suggestions`?null:t.type===`dynamic-tool`||t.type.startsWith(`tool-`)?{kind:`tool`,toolCallId:t.toolCallId,toolName:t.type===`dynamic-tool`?t.toolName:Zt(t.type),dynamic:t.type===`dynamic-tool`||void 0,inputPartialSig:f(``),inputSig:f(t.input),outputSig:f(t.output),errorSig:f(t.errorText),stateSig:f(t.state),approvalSig:f(t.approval)}:null).filter(e=>e!==null).filter(e=>e.kind===`source`?t.has(e.sourceId)?!1:(t.add(e.sourceId),!0):!0),r=e.parts.find(e=>e.type===`data-suggestions`);return{id:e.id,role:e.role,operatorInitials:e.operatorInitials,suggestions:r?.type===`data-suggestions`?tn(r.data):void 0,serverMessageId:e.id,createdAt:Date.parse(e.createdAt),status:En(e),canceled:e.status===`canceled`,feedback:e.feedback??null,partsSig:f(n)}}function On(e){return!e.parts.some(e=>e.type===`text`&&e.text.trim()!==``||e.type===`dynamic-tool`||e.type.startsWith(`tool-`)||e.type===`file`||e.type===`source-url`||e.type===`source-document`)}function kn(e){return e.role===`assistant`&&e.status===`streaming`&&On(e)}function An(e){let t=e.length-1;return e.filter((e,n)=>n===t||!kn(e)).map(Dn)}function jn(e,t){let n=!t&&e.at(-1)?.role===`assistant`?-2:-1,r=e.at(n);return!r||r.ephemeral?[]:[r]}function Mn(e){return{id:e.id,role:e.role,createdAt:e.createdAt,status:e.status,canceled:e.canceled,errorText:e.errorText,finishReason:e.finishReason,serverMessageId:e.serverMessageId,ephemeral:e.ephemeral,attachments:e.attachments,parts:e.partsSig.value.map(cr)}}function Nn(e){let t=``;for(let n of e.partsSig.value)n.kind===`text`&&(t+=n.textSig.value);return t}function Pn(e,t,n,r,i,a=t.createdAt){let o=e.find(e=>e.role===`user`&&!e.ephemeral),s=(e,t)=>Nn(e).replace(/\s+/g,` `).trim().slice(0,t),c=o?s(o,80):``,l=s(t,120);return{conversationId:n,title:c||r,lastMessageAt:new Date(a).toISOString(),preview:l||void 0,canContinue:i}}function Fn(e){return Nn(e).trim()!==``||e.partsSig.value.some(e=>e.kind===`tool`||e.kind===`file`||e.kind===`source`)}function In(e){return Nn(e).trim()!==``||e.partsSig.value.some(e=>e.kind===`tool`||e.kind===`file`)}function Ln(e){return e===`approval-responded`||e===`output-available`||e===`output-denied`||e===`output-error`}const Rn=e=>e.kind===`tool`,zn=e=>e.kind===`text`&&e.textSig.value.trim()!==``||e.kind===`file`;function Bn(e){let t=e.partsSig.value,n=t.findLastIndex(e=>e.kind===`tool`);return t.slice(n+1).some(zn)}function Vn(e){if(e.role!==`assistant`)return!1;let t=e.partsSig.value.filter(Rn);return t.length>0&&t.every(e=>Ln(e.stateSig.value))}function Hn(e){return e.role===`assistant`&&e.partsSig.value.some(e=>e.kind===`tool`)&&!Bn(e)}function Un(e,t){return!e.partsSig.value.slice(t+1).some(e=>e.kind===`step-start`||zn(e))}function Wn(e){return e.partsSig.value.some(e=>Rn(e)&&!Ln(e.stateSig.value))}function Gn(e,t){if(t.length===0)return e;let n=new Set;for(let t of e)n.add(t.id),t.serverMessageId&&n.add(t.serverMessageId);let r=t.filter(e=>{let t=[e.id,e.serverMessageId].filter(e=>e!==void 0);return t.some(e=>n.has(e))?!1:(t.forEach(e=>n.add(e)),!0)});if(r.length===0)return e;let i=e.findIndex(e=>!e.ephemeral),a=i<0?e.length:i;return[...e.slice(0,a),...r,...e.slice(a)]}function Kn(e,t){return t.id=e.id,e.canceled&&(t.canceled=!0),e.feedback!==void 0&&(t.feedback=e.feedback),t.suggestions??(t.suggestions=e.suggestions),t}function qn(e,t,n,r){if(!Jn(e))return;if(t.length===0){let t=Math.max(...r.values());return n.find(n=>n.role===`assistant`&&r.get(n.serverMessageId??n.id)===t&&Nn(n).length>=Nn(e).length)}let i=t.at(-1);if(i?.role!==`user`)return;let a=r.get(i.serverMessageId??i.id);if(a!==void 0)return n.find(t=>t.role===`assistant`&&r.get(t.serverMessageId??t.id)===a+1&&Nn(t).length>=Nn(e).length)}function Jn(e){return e?.role===`assistant`&&e.status===`streaming`&&e.serverMessageId===void 0}function Yn(e,t){let n=new Map(t.partsSig.value.filter(Rn).filter(e=>Ln(e.stateSig.value)).map(e=>[e.toolCallId,e]));if(n.size===0)return;let r=!1,i=e.partsSig.value.map(e=>{if(!Rn(e))return e;let t=n.get(e.toolCallId);if(!t)return e;let i=e.approvalSig.value,a=t.approvalSig.value,o=i===void 0||i.approved===void 0&&a?.approved!==void 0?t.approvalSig:e.approvalSig,s=e.inputSig.value===void 0?t.inputSig:e.inputSig,c=e.toolName===`tool`?t.toolName:e.toolName,l=e.dynamic??t.dynamic;return o===e.approvalSig&&s===e.inputSig&&c===e.toolName&&l===e.dynamic?e:(r=!0,{...e,toolName:c,dynamic:l,inputSig:s,approvalSig:o})});r&&(e.partsSig.value=i)}function Xn(e,t){let n=t.filter(e=>!e.ephemeral&&(e.status===`streaming`||e.status===`pending`||e.status===`error`||e.retryAction!==void 0||(e.attachments?.length??0)>0||Fn(e))),r=new Map;for(let e of n)r.set(e.id,e),e.serverMessageId!==void 0&&r.set(e.serverMessageId,e);let i=new Set,a=[],o=e.map(e=>{let t=(e.serverMessageId===void 0?void 0:r.get(e.serverMessageId))??r.get(e.id);return t===void 0?(a.push(e),e):(i.add(t),t.role===e.role?t.role===`user`&&t.serverMessageId===void 0&&(t.status===`pending`||t.status===`error`)?Kn(t,e):t.status===`streaming`||Nn(t).length>=Nn(e).length?(Yn(t,e),t.suggestions??(t.suggestions=e.suggestions),t.feedback===void 0&&(t.feedback=e.feedback),e.canceled&&(t.canceled=!0),t):Kn(t,e):e)}),s=n.filter(e=>!i.has(e)),c=s.findLast(Jn),l=new Map;e.forEach((e,t)=>{l.set(e.id,t),e.serverMessageId!==void 0&&l.set(e.serverMessageId,t)});let u=qn(c,c?n.slice(0,n.indexOf(c)):[],a,l);if(c&&u){let e=o.indexOf(u);e>=0&&(o[e]=Kn(c,u)),s=s.filter(e=>e!==c)}return[...o,...s]}function Zn(e,t){let n=new Map(t.filter(e=>e.serverMessageId!==void 0).map(e=>[e.serverMessageId,e])),r=new Map;t.forEach((e,t)=>{r.set(e.id,t),e.serverMessageId!==void 0&&r.set(e.serverMessageId,t)});let i=new Set(e.flatMap(e=>[e.serverMessageId,e.id].filter(e=>e!==void 0))),a=!1,o=e.map(e=>{let t=n.get(e.serverMessageId??e.id);if(t===void 0||t.role!==e.role)return e;if(e.role===`user`&&e.serverMessageId===void 0)return a=!0,Kn(e,t);if(e.serverMessageId===void 0)return e;let r=Nn(t),i=Nn(e),o=t.status!==`streaming`&&r.length>=i.length&&nr(e,t);if(r.length>i.length||r===i&&t.partsSig.value.length>e.partsSig.value.length||o)return a=!0,Kn(e,t);if(e.status===`streaming`&&t.status!==`streaming`&&$n(e,t)){if(e.continuationStreaming&&Wn(t))return e;if(!nr(t,e))return a=!0,Kn(e,t)}return e}),s=[...n.values()].filter(e=>!i.has(e.serverMessageId)),c=o.findLastIndex(Jn),l=o[c],u=qn(l,o.slice(0,c),s,r);if(l!==void 0&&u!==void 0&&Nn(u).length>=Nn(l).length&&(Kn(l,u),o[c]=u,s.splice(s.indexOf(u),1),a=!0),s.length===0)return{messages:a?o:e,changed:a};for(let e of s){let t=r.get(e.serverMessageId??e.id),n=!1,i=o.findIndex(e=>{let i=r.get(e.serverMessageId??e.id);return t===void 0?!1:i===void 0?n:i>t?!0:(n=!0,!1)});i===-1?o.push(e):o.splice(i,0,e)}return{messages:o,changed:!0}}function Qn(e,t){if(e.role!==t.role)return!1;let n=Nn(t),r=Nn(e);return n.length>r.length||t.partsSig.value.length>e.partsSig.value.length||nr(e,t)}function $n(e,t){let n=e.partsSig.value,r=t.partsSig.value;return n.length===r.length&&n.every((e,t)=>{let n=r[t];switch(e.kind){case`text`:return n?.kind===`text`&&n.textSig.value===e.textSig.value;case`reasoning`:return n?.kind===`reasoning`&&n.textSig.value===e.textSig.value;case`step-start`:return n?.kind===`step-start`;case`tool`:return n?.kind===`tool`&&n.toolCallId===e.toolCallId&&er(n.toolName,e.toolName);case`file`:return n?.kind===`file`&&n.url===e.url&&n.mediaType===e.mediaType;case`source`:return n?.kind===`source`&&n.sourceId===e.sourceId&&n.url===e.url&&n.title===e.title&&n.filename===e.filename&&n.mediaType===e.mediaType;default:return e}})}function er(e,t){return(e.startsWith(`tool:`)?e.slice(5):e)===(t.startsWith(`tool:`)?t.slice(5):t)}const tr={"input-streaming":0,"input-available":1,"approval-requested":2,"approval-responded":3,"output-available":4,"output-denied":4,"output-error":4};function nr(e,t){let n=new Map(e.partsSig.value.filter(Rn).map(e=>[e.toolCallId,e]));return t.partsSig.value.filter(Rn).some(e=>{let t=n.get(e.toolCallId);if(!t||tr[e.stateSig.value]>tr[t.stateSig.value])return!0;let r=e.approvalSig.value?.approved;return r!==void 0&&r!==t.approvalSig.value?.approved})}function rr(e){return e.role===`assistant`&&e.status!==`streaming`&&!Fn(e)}function ir(e,t){if(!e.includes(t)||t.retryAction===null)return;if(t.retryAction)return t.retryAction;if(t!==e.at(-1)||t.role!==`assistant`||t.serverMessageId===void 0||t.status!==`error`&&!rr(t))return;let n=e.indexOf(t);for(let t=n-1;t>=0;t--){let n=e[t];if(n?.role===`user`&&!n.ephemeral)return{kind:`repeat-user`,messageId:n.id}}}function ar(e){return e.canceled===!0&&e.role===`assistant`&&e.status!==`streaming`&&!In(e)}function or(e,t){return e.operatorRoutedTurn?rr(e)?`drop`:`complete-operator-routed`:t||rr(e)?`error`:`complete`}function sr(e){return e.kind===`text`||e.kind===`reasoning`?{kind:e.kind,id:e.id,textSig:f(e.text),doneSig:f(e.done)}:e.kind===`tool`?{kind:`tool`,toolCallId:e.toolCallId,toolName:e.toolName,dynamic:e.dynamic,inputPartialSig:f(e.inputPartial),inputSig:f(e.input),outputSig:f(e.output),errorSig:f(e.error),stateSig:f(e.state),approvalSig:f(e.approval)}:e}function cr(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,dynamic:e.dynamic,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}const lr=I.scope(`feedback:audio`);var ur=class{constructor(){U(this,`ctx`,null),U(this,`master`,null),U(this,`buffers`,new Map)}unlock(){if(this.ctx){this.ctx.state===`suspended`&&this.ctx.resume();return}let e=globalThis.AudioContext??globalThis.webkitAudioContext;if(e)try{this.ctx=new e,this.master=this.ctx.createGain(),this.master.gain.value=1,this.master.connect(this.ctx.destination)}catch(e){lr.warn(`AudioContext init failed`,{err:e})}}setVolume(e){if(!this.master||!this.ctx)return;let t=Math.max(0,Math.min(1,e));this.master.gain.setTargetAtTime(t,this.ctx.currentTime,.01)}playTone(e){let t=this.ctx,n=this.master;if(!t||!n||t.state!==`running`)return;let r=t.currentTime,i=e.noteMs/1e3;e.notes.forEach((a,o)=>{let s=t.createOscillator();s.type=e.type,s.frequency.value=a;let c=t.createGain(),l=r+o*i;c.gain.setValueAtTime(1e-4,l),c.gain.exponentialRampToValueAtTime(e.peakGain,l+.005),c.gain.exponentialRampToValueAtTime(1e-4,l+i),s.connect(c).connect(n),s.start(l),s.stop(l+i+.01)})}async playUrl(e){let t=this.ctx,n=this.master;if(!t||!n||t.state!==`running`)return;let r=await this.getBuffer(e);if(!r)return;let i=t.createBufferSource();i.buffer=r,i.connect(n),i.start()}destroy(){this.ctx&&this.ctx.close().catch(()=>void 0),this.ctx=null,this.master=null,this.buffers.clear()}async getBuffer(e){if(!this.ctx)return null;let t=this.buffers.get(e);if(t)return t instanceof Promise,t;let n=this.ctx,r=fetch(e).then(e=>e.ok?e.arrayBuffer():Promise.reject(Error(`fetch ${e.status}`))).then(e=>n.decodeAudioData(e)).then(t=>(this.buffers.set(e,t),t)).catch(t=>(lr.warn(`audio fetch/decode failed`,{url:e,err:t}),this.buffers.delete(e),null));return this.buffers.set(e,r),r}};const dr={messageReceived:10,messageSent:0,error:[20,40,20],voiceStart:10,voiceStop:0},fr={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}};let pr=null,mr=0;function hr(){return typeof navigator<`u`&&typeof navigator.vibrate==`function`}function gr(){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=`__${b.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 _r(e){if(!(e===0||Array.isArray(e)&&e.every(e=>e===0))){if(hr())try{navigator.vibrate(e);return}catch{}if(pr??(pr=gr()),pr)try{pr.label.click()}catch{}}}function vr(){mr++;let e=!1;return()=>{e||(e=!0,mr=Math.max(0,mr-1),mr===0&&pr&&(pr.input.remove(),pr.label.remove(),pr=null))}}const yr=I.scope(`feedback`);var br=class{constructor(e,t){U(this,`mutedSig`,f(!1)),U(this,`audio`,new ur),U(this,`releaseHaptics`,void 0),U(this,`sound`,void 0),U(this,`haptics`,void 0),U(this,`lastPlayed`,new Map),U(this,`reducedMotionMq`,null),this.sound=e,this.haptics=t,this.releaseHaptics=vr(),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(e,t){this.sound=e,this.haptics=t,this.audio.setVolume(this.effectiveVolume())}setMuted(e){this.mutedSig.value!==e&&(this.mutedSig.value=e)}toggleMuted(){this.mutedSig.value=!this.mutedSig.value}play(e){this.mutedSig.value||this.isDeduped(e)||(this.lastPlayed.set(e,performance.now()),this.sound.enabled&&this.playSound(e),this.haptics.enabled&&this.isTouchDevice()&&this.playHaptic(e))}destroy(){this.audio.destroy(),this.releaseHaptics()}isDeduped(e){let t=this.lastPlayed.get(e);return t!==void 0&&performance.now()-t<100}playSound(e){let t=this.sound.events?.[e];if(t===!1)return;if(typeof t==`string`){this.audio.playUrl(t).catch(e=>yr.warn(`audio play failed`,{err:e,url:t}));return}let n=fr[e];n&&this.audio.playTone(n)}playHaptic(e){if(this.reducedMotionMq?.matches)return;let t=this.haptics.events?.[e];t!==!1&&_r(t===!0||t===void 0?dr[e]:t)}effectiveVolume(){let e=this.sound.volume??.3;return this.reducedMotionMq?.matches?e*.5:e}isTouchDevice(){return typeof window>`u`?!1:matchMedia(`(hover: none) and (pointer: coarse)`).matches}};const G={fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,viewBox:`0 0 24 24`},xr=`${b.cssPrefix}-icon-dir`,Sr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M21 12a8 8 0 0 1-12 6.93L3 21l1.65-5.16A8 8 0 1 1 21 12Z`})}),Cr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M18 6 6 18M6 6l12 12`})}),wr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M12 5v14M5 12h14`})}),Tr=()=>_(`svg`,{...G,class:xr,"aria-hidden":`true`,children:[g(`path`,{d:`m22 2-7 20-4-9-9-4Z`}),g(`path`,{d:`M22 2 11 13`})]}),Er=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M12 19V5M5 12l7-7 7 7`})}),Dr=()=>g(`svg`,{...G,class:xr,"aria-hidden":`true`,children:g(`path`,{d:`M3 20V4l18 8-18 8Z`})}),Or=()=>g(`svg`,{...G,class:xr,"aria-hidden":`true`,children:g(`path`,{d:`m9 18 6-6-6-6`})}),kr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`rect`,{x:`6`,y:`6`,width:`12`,height:`12`,rx:`2`})}),Ar=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`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`})}),jr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`rect`,{x:`9`,y:`2`,width:`6`,height:`12`,rx:`3`}),g(`path`,{d:`M5 10a7 7 0 0 0 14 0M12 19v3`})]}),Mr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M3 8V3h5M21 8V3h-5M3 16v5h5M21 16v5h-5`})}),Nr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M8 3v5H3M16 3v5h5M8 21v-5H3M16 21v-5h5`})}),Pr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M3 3h7v2H5v5H3zM21 3h-7v2h5v5h2zM3 21h7v-2H5v-5H3zM21 21h-7v-2h5v-5h2z`})}),Fr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M10 3v5H3M14 3v5h7M10 21v-5H3M14 21v-5h7`})}),Ir=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M14 3h7v7M21 3l-9 9`}),g(`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`})]}),Lr=()=>g(`svg`,{...G,"aria-hidden":`true`,viewBox:`0 0 10 10`,children:g(`path`,{d:`M9 1L1 9M9 5L5 9M9 9H9`,strokeWidth:`1.5`})}),Rr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`5`,r:`1.5`,fill:`currentColor`,stroke:`none`}),g(`circle`,{cx:`12`,cy:`12`,r:`1.5`,fill:`currentColor`,stroke:`none`}),g(`circle`,{cx:`12`,cy:`19`,r:`1.5`,fill:`currentColor`,stroke:`none`})]}),zr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M11 5 6 9H2v6h4l5 4zM15 9a5 5 0 0 1 0 6M18 7a9 9 0 0 1 0 10`})}),Br=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M11 5 6 9H2v6h4l5 4zM22 9l-6 6M16 9l6 6`})}),Vr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M3 18 8 6l5 12M4.7 14h6.6`}),g(`path`,{d:`M14.5 18l3.2-7 3.2 7M15.6 15.8h4.2`})]}),Hr=()=>g(`svg`,{...G,class:xr,"aria-hidden":`true`,children:g(`path`,{d:`m5 6 6 6-6 6M13 6l6 6-6 6`})}),Ur=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M20 6 9 17l-5-5`})}),Wr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M3 3v6h6`}),g(`path`,{d:`M3.05 13A9 9 0 1 0 6 5.3L3 9`}),g(`path`,{d:`M12 7v5l3 2`})]}),Gr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`12`,r:`10`}),g(`path`,{d:`M2 12h20`}),g(`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`})]}),Kr=()=>g(`svg`,{...G,class:xr,"aria-hidden":`true`,children:g(`path`,{d:`M19 12H5M12 19l-7-7 7-7`})}),qr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M12 20h9`}),g(`path`,{d:`M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z`})]}),Jr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`m6 9 6 6 6-6`})}),Yr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z`}),g(`path`,{d:`M14 2v6h6`})]}),Xr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`m12 3-1.5 4.5L6 9l4.5 1.5L12 15l1.5-4.5L18 9l-4.5-1.5Z`}),g(`path`,{d:`M19 15v4M17 17h4M5 3v2M4 4h2`})]}),Zr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2Z`})}),Qr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`12`,r:`10`}),g(`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`}),g(`path`,{d:`M12 17h.01`})]}),$r=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`m15 4 3 3-9 9-3-3z`}),g(`path`,{d:`M18 2v2M20 4h2M3 20l3-3M3 16h2M5 14v2`})]}),ei=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`rect`,{x:`4`,y:`8`,width:`16`,height:`12`,rx:`2`}),g(`path`,{d:`M12 8V4`}),g(`circle`,{cx:`12`,cy:`3`,r:`1`}),g(`path`,{d:`M2 14h2M20 14h2M9 13h.01M15 13h.01M9.5 17h5`})]}),ti=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M4 14v-2a8 8 0 0 1 16 0v2`}),g(`rect`,{x:`2`,y:`14`,width:`4`,height:`6`,rx:`1.5`}),g(`rect`,{x:`18`,y:`14`,width:`4`,height:`6`,rx:`1.5`}),g(`path`,{d:`M20 20v1a3 3 0 0 1-3 3h-5`})]}),ni=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`12`,r:`10`}),g(`circle`,{cx:`12`,cy:`12`,r:`4`}),g(`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`})]}),ri=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`11`,cy:`11`,r:`7`}),g(`path`,{d:`m21 21-4.3-4.3`})]}),ii=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`12`,r:`9`}),g(`path`,{d:`m8.5 12 2.5 2.5 4.5-5`})]}),ai=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M3 9.5 12 3l9 6.5`}),g(`path`,{d:`M5 9v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9`})]}),oi=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`m3 11 15-5v12L3 13z`}),g(`path`,{d:`M3 11v2a2 2 0 0 0 2 2h1V9H5a2 2 0 0 0-2 2z`}),g(`path`,{d:`M7 15v3a2 2 0 0 0 4 0v-2`}),g(`path`,{d:`M21 10a3 3 0 0 1 0 4`})]}),si=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z`}),g(`path`,{d:`M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1`})]}),ci=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`12`,r:`4`}),g(`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`})]}),li=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z`})}),ui=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`12`,r:`9`}),g(`path`,{d:`M12 3v18`}),g(`path`,{d:`M12 3a9 9 0 0 1 0 18z`,fill:`currentColor`,stroke:`none`})]}),di=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`10.5`,cy:`10.5`,r:`6.5`}),g(`path`,{d:`M8 11a2.5 2.5 0 0 0 5 0`}),g(`path`,{d:`m20 20-4.4-4.4`})]}),fi=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`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`}),g(`path`,{d:`M18.5 4v3M20 5.5h-3M5.5 16v2.5M6.75 17.25h-2.5`})]}),pi=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M4 18h16`}),g(`path`,{d:`M5 18a7 7 0 0 1 14 0`}),g(`path`,{d:`M12 8V6`}),g(`path`,{d:`M10 6h4`})]}),mi=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M7 11V6.5a1.5 1.5 0 0 1 3 0V10`}),g(`path`,{d:`M10 10V5.5a1.5 1.5 0 0 1 3 0V10`}),g(`path`,{d:`M13 10V6.5a1.5 1.5 0 0 1 3 0V12`}),g(`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`})]}),hi=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`rect`,{x:`9`,y:`9`,width:`11`,height:`11`,rx:`2`}),g(`path`,{d:`M5 15a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2`})]}),gi=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M7 10v11H4a1 1 0 0 1-1-1v-9a1 1 0 0 1 1-1z`}),g(`path`,{d:`M7 10l4-7a2.5 2.5 0 0 1 2.5 2.5V8h5a2 2 0 0 1 2 2.3l-1.2 8A2 2 0 0 1 17.3 20H7`})]}),_i=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M17 14V3h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1z`}),g(`path`,{d:`M17 14l-4 7a2.5 2.5 0 0 1-2.5-2.5V16h-5a2 2 0 0 1-2-2.3l1.2-8A2 2 0 0 1 6.7 4H17`})]}),vi=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`12`,r:`3.5`}),g(`path`,{d:`M12 2v3M12 19v3M2 12h3M19 12h3M4.9 4.9l2.1 2.1M17 17l2.1 2.1M19.1 4.9l-2.1 2.1M7 17l-2.1 2.1`})]}),yi=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`12`,r:`9`}),g(`path`,{d:`M12 7v5l3 2`})]}),bi=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`12`,r:`9`}),g(`path`,{d:`m8.5 12 2.5 2.5 4.5-5`})]}),xi=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`12`,r:`9`}),g(`path`,{d:`m15 9-6 6M9 9l6 6`})]}),Si={chat:Sr,message:Zr,bubbles:si,spark:Xr,wand:$r,bot:ei,help:Qr,lifebuoy:ni,headset:ti,search:di,sparkles:fi,concierge:pi,wave:mi},K=b.cssPrefix,q={launcher:`${K}-launcher`,callout:`${K}-callout`,calloutDismiss:`${K}-callout-dismiss`,panel:`${K}-panel`,panelHeader:`${K}-panel-header`,resizeGrip:`${K}-resize-grip`,scrollToBottom:`${K}-scroll-to-bottom`,loadPreviousMessages:`${K}-load-previous-messages`,actionHistory:`${K}-action-history`,actionClose:`${K}-action-close`,langSegment:`${K}-lang-segment`,composer:`${K}-composer`,composerInput:`${K}-composer-input`,composerSend:`${K}-composer-send`,composerStop:`${K}-composer-stop`,compactionStatus:`${K}-compaction-status`,messageQueue:`${K}-message-queue`,queuedMessage:`${K}-queued-message`,queuedMessageRemove:`${K}-queued-message-remove`,composerAttach:`${K}-composer-attach`,composerFileInput:`${K}-composer-file-input`,composerVoice:`${K}-composer-voice`,attachmentChip:`${K}-attachment-chip`,attachmentRemove:`${K}-attachment-remove`,suggestion:`${K}-suggestion`,messageBubble:`${K}-message`,messageRetry:`${K}-message-retry`,messageFeedback:`${K}-message-feedback`,feedbackUp:`${K}-feedback-up`,feedbackDown:`${K}-feedback-down`,messageCopy:`${K}-message-copy`,historyPane:`${K}-history-pane`,historyBack:`${K}-history-back`,historyItem:`${K}-history-item`,historyLoadMore:`${K}-history-load-more`,sidebar:`${K}-sidebar`,sidebarToggle:`${K}-sidebar-toggle`,sidebarNewConversation:`${K}-sidebar-new-conversation`,sidebarItem:`${K}-sidebar-item`,messengerHome:`${K}-messenger-home`,modulesEmpty:`${K}-modules-empty`,tab:`${K}-tab`,tabBadge:`${K}-tab-badge`,homeView:`${K}-home-view`,homeGreeting:`${K}-home-greeting`,homeBrand:`${K}-home-brand`,backHeader:`${K}-back-header`,contentView:`${K}-content-view`,contentScroll:`${K}-content-scroll`,homeSearch:`${K}-home-search`,helpSearch:`${K}-help-search`,homeRecent:`${K}-home-recent`,homeContentRow:`${K}-home-content-row`,helpArticle:`${K}-help-article`,newsItem:`${K}-news-item`,formGate:`${K}-form-gate`,formDone:`${K}-form-done`,formDoneToggle:`${K}-form-done-toggle`,formAnswers:`${K}-form-answers`,formFill:`${K}-form-fill`,formSubmit:`${K}-form-submit`,formSkip:`${K}-form-skip`,formField:`${K}-form-field`,toolAskQuestions:`${K}-tool-ask-questions`,toolInputSubmit:`${K}-tool-input-submit`,toolInputSkip:`${K}-tool-input-skip`,toolApproval:`${K}-tool-approval`,toolApprove:`${K}-tool-approve`,toolReject:`${K}-tool-reject`,toolEdit:`${K}-tool-edit`,toolDecision:`${K}-tool-decision`,typingDots:`${K}-typing-dots`,reasoning:`${K}-reasoning`,toolAskSummary:`${K}-ask-questions-summary`,toolAskOptions:`${K}-ask-questions-options-toggle`,toolCall:`${K}-tool-call`,source:`${K}-source`,operatorRequest:`${K}-operator-request`,operatorBanner:`${K}-operator-banner`,cancelOperatorRequest:`${K}-cancel-operator-request`};function Ci(e,t){return`${e}-${t}`}const wi=b.cssPrefix;function Ti({onToggle:e,launcher:t,strings:n,leaving:r,edgeTab:i}){let a=t.variant!==`circle`&&!!t.label;return _(`button`,{type:`button`,class:`${wi}-fab`,"data-variant":t.variant,"data-size":t.size,"data-edge-tab":i?`true`:void 0,"data-leaving":r?`true`:void 0,"data-testid":q.launcher,onClick:e,"aria-label":n.launcherOpen,children:[Ei(t.icon),a?g(`span`,{class:`${wi}-fab-label`,children:D(n,t.label??``)}):null]})}function Ei(e){let t=Si[e];return t?g(t,{}):g(Di,{source:e})}function Di({source:e}){return g(`span`,{ref:t=>{t&&Oi(t,e)},"aria-hidden":`true`})}function Oi(e,t){if(e.dataset.svgMounted!==t)try{let n=new DOMParser().parseFromString(t,`image/svg+xml`).documentElement;n.tagName.toLowerCase()===`svg`&&(e.replaceChildren(document.importNode(n,!0)),e.dataset.svgMounted=t)}catch{}}function ki({callout:e,launcherPosition:t,strings:n,closeLabel:r,onDismiss:a}){let[o,s]=c(!1);return i(()=>{let t=setTimeout(()=>s(!0),e.delayMs);return()=>clearTimeout(t)},[e.delayMs]),i(()=>{if(!o||e.autoDismissMs<=0)return;let t=setTimeout(a,e.autoDismissMs);return()=>clearTimeout(t)},[o,e.autoDismissMs,a]),o?_(`div`,{class:`${wi}-callout`,role:`status`,"data-shape":e.shape,"data-position":Ai(e.position,t),"data-animated":e.animated?`true`:void 0,"data-testid":q.callout,children:[g(`span`,{children:D(n,e.text)}),g(`button`,{type:`button`,class:`${wi}-callout-close`,onClick:a,"aria-label":r,title:r,"data-testid":q.calloutDismiss,children:g(Cr,{})})]}):null}function Ai(e,t){let n=t.endsWith(`-right`),r=t.startsWith(`bottom-`);return e===`vertical`?r?`top`:`bottom`:n?`left`:`right`}function ji({panelEl:e,resize:t,position:n,initialSize:r,onSizeChange:a,strings:o}){let c=b.cssPrefix,l=s(null);if(i(()=>{if(!e)return;let n=e.style;t.minWidth&&n.setProperty(`--${c}-resize-min-w`,t.minWidth),t.maxWidth&&n.setProperty(`--${c}-resize-max-w`,t.maxWidth),t.minHeight&&n.setProperty(`--${c}-resize-min-h`,t.minHeight),t.maxHeight&&n.setProperty(`--${c}-resize-max-h`,t.maxHeight),r&&(n.setProperty(`--${c}-widget-w`,`${r.width}px`),n.setProperty(`--${c}-widget-h`,`${r.height}px`))},[e,t.minWidth,t.maxWidth,t.minHeight,t.maxHeight,c,r]),!e)return null;let u=n.startsWith(`top-`),d=n.endsWith(`-right`),f=`${c}-resize-grip ${c}-resize-grip--${u?`bottom`:`top`}-${d?`left`:`right`}`,p=t=>{if(!e)return;let n=t.currentTarget,r=e.getBoundingClientRect();l.current={pointerId:t.pointerId,startX:t.clientX,startY:t.clientY,startW:r.width,startH:r.height,dirX:d?-1:1,dirY:u?1:-1},n.setPointerCapture(t.pointerId),e.setAttribute(`data-resizing`,``),t.preventDefault()},m=t=>{let n=l.current;if(!n||t.pointerId!==n.pointerId||!e)return;let r=(t.clientX-n.startX)*n.dirX,i=(t.clientY-n.startY)*n.dirY;e.style.setProperty(`--${c}-widget-w`,`${n.startW+r}px`),e.style.setProperty(`--${c}-widget-h`,`${n.startH+i}px`)},h=t=>{let n=l.current;if(!n||t.pointerId!==n.pointerId||!e)return;t.currentTarget.releasePointerCapture(t.pointerId),e.removeAttribute(`data-resizing`);let r=e.getBoundingClientRect();a({width:Math.round(r.width),height:Math.round(r.height)}),l.current=null};return g(`div`,{class:f,role:`separator`,"aria-orientation":`vertical`,"aria-label":o.resizeHandle,title:o.resizeHandle,onPointerDown:p,onPointerMove:m,onPointerUp:h,onPointerCancel:h,"data-testid":q.resizeGrip,children:g(Lr,{})})}const Mi=b.cssPrefix,Ni=`.${Mi}-header, .${Mi}-back-header, .${Mi}-home-hero`;function Pi(e,t){i(()=>{if(!t||!e)return;let n=e=>Number.parseFloat(e)||0,r=(e,t)=>Math.min(t,Math.max(-t,e)),i=null,a=t=>{let r=t.target;if(!(r instanceof Element)||!r.closest(Ni)||r.closest(`button, a, input, textarea, select, [role="tab"], [contenteditable]`))return;let a=e.getBoundingClientRect();i={id:t.pointerId,x:t.clientX,y:t.clientY,dx:n(e.style.getPropertyValue(`--${Mi}-modal-dx`)),dy:n(e.style.getPropertyValue(`--${Mi}-modal-dy`)),maxX:(window.innerWidth+a.width)/2-56,maxY:(window.innerHeight+a.height)/2-56},e.dataset.dragging=`true`,t.preventDefault()},o=t=>{if(!i||t.pointerId!==i.id)return;let n=r(i.dx+t.clientX-i.x,i.maxX),a=r(i.dy+t.clientY-i.y,i.maxY);e.style.setProperty(`--${Mi}-modal-dx`,`${n}px`),e.style.setProperty(`--${Mi}-modal-dy`,`${a}px`)},s=t=>{!i||t.pointerId!==i.id||(i=null,delete e.dataset.dragging)};return e.addEventListener(`pointerdown`,a),window.addEventListener(`pointermove`,o),window.addEventListener(`pointerup`,s),window.addEventListener(`pointercancel`,s),()=>{e.removeEventListener(`pointerdown`,a),window.removeEventListener(`pointermove`,o),window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,s)}},[e,t])}function Fi(e,t,n){switch(e){case`clear`:case`sound`:case`history`:case`language`:case`theme`:case`textSize`:return!0;case`popOut`:return t!==`standalone`&&t!==`page`;case`expand`:return t===`floating`;case`fullscreen`:return t!==`standalone`;case`close`:return t===`standalone`||t===`page`?!1:t!==`inline`||n===`fullscreen`}}function Ii(e,t,n){return Fi(`close`,e,t)?n.includes(`close`):!1}function Li(e,t){return e===`inline`&&t===`fullscreen`?`exit-fullscreen`:`close`}function Ri(e){let t=t=>{if(t.key!==`Tab`)return;let n=[...e.querySelectorAll(`a[href],button:not([disabled]),textarea:not([disabled]),input:not([disabled]):not([type="hidden"]),select:not([disabled]),[tabindex]:not([tabindex="-1"])`)].filter(e=>e.offsetParent!==null||e===document.activeElement);if(n.length===0){t.preventDefault();return}let r=n[0],i=n[n.length-1];if(!r||!i)return;let a=e.getRootNode().activeElement;t.shiftKey&&a===r?(t.preventDefault(),i.focus()):!t.shiftKey&&a===i&&(t.preventDefault(),r.focus())};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)}function zi(e){return e.trim().split(/\s+/).slice(0,2).map(e=>e.charAt(0).toUpperCase()).join(``)}const Bi=b.cssPrefix;function Vi({agent:e,strings:t}){let n=e.status??`online`,r=D(t,e.name),i=e.title?D(t,e.title):null;return _(`div`,{class:`${Bi}-agent`,children:[g(`div`,{class:`${Bi}-agent-avatar`,"data-status":n,children:e.avatar?g(`img`,{src:e.avatar,alt:``}):g(`span`,{children:zi(r)})}),_(`div`,{class:`${Bi}-agent-meta`,children:[g(`strong`,{children:r}),i?g(`span`,{children:i}):null]})]})}const Hi=I.scope(`attachments`);function Ui(e,t,n){let r=Ki(e),i=[],a=[],o=Yi(n.accept),s=t.reduce((e,t)=>e+t.size,0),c=t.length;for(let e of r){let t=Gi(e,c,s,n,o);if(t){a.push({file:e,reason:t});continue}i.push(Ji(e)),s+=e.size,c+=1}return(i.length||a.length)&&Hi.debug(`ingest`,{accepted:i.length,rejected:a.map(e=>({name:e.file.name,reason:e.reason}))}),{accepted:i,rejected:a}}function Wi(e){try{URL.revokeObjectURL(e.previewUrl)}catch(e){Hi.debug(`revokeObjectURL failed`,{error:e})}}function Gi(e,t,n,r,i){return t>=r.maxCount?`count`:n+e.size>r.maxBytes?`bytes`:Xi(e,i)?null:`mime`}function Ki(e){return e?Array.isArray(e)?e.filter(e=>e instanceof File):[...e].map(e=>e instanceof File?e:qi(e)).filter(e=>e!==null):[]}function qi(e){let t=e;return!t?.getAsFile||t.kind!==`file`?null:t.getAsFile()}function Ji(e){return{file:e,id:ct(),mediaType:e.type||`application/octet-stream`,name:e.name||`pasted-file`,previewUrl:URL.createObjectURL(e),size:e.size}}function Yi(e){return e.split(`,`).map(e=>e.trim().toLowerCase()).filter(Boolean).map(e=>{if(e.startsWith(`.`))return{kind:`ext`,ext:e};let[t=`*`,n=`*`]=e.split(`/`);return{kind:`mime`,type:t,subtype:n}})}function Xi(e,t){if(t.length===0)return!0;let[n=`*`,r=`*`]=(e.type||``).toLowerCase().split(`/`),i=(e.name||``).toLowerCase();return t.some(e=>e.kind===`ext`?i.endsWith(e.ext):(e.type===`*`||e.type===n)&&(e.subtype===`*`||e.subtype===r))}const Zi=b.cssPrefix;function Qi({attachment:e,onRemove:t,disabled:n=!1}){let r=e.mediaType.startsWith(`image/`);return _(`span`,{class:`${Zi}-attachment-chip`,title:e.name,"data-testid":Ci(q.attachmentChip,e.id),children:[r?g(`img`,{class:`${Zi}-attachment-thumb`,src:e.previewUrl,alt:``}):g(`span`,{class:`${Zi}-attachment-thumb`,"aria-hidden":`true`,children:g(Yr,{})}),g(`span`,{class:`${Zi}-attachment-name`,children:e.name}),g(`button`,{type:`button`,class:`${Zi}-attachment-remove`,onClick:t,disabled:n,"aria-label":`Remove ${e.name}`,"data-testid":Ci(q.attachmentRemove,e.id),children:g(Cr,{})})]})}const $i={isSupported:!1,start:()=>void 0,stop:()=>void 0,cancel:()=>void 0};function ea(e,t,n){return e===`disabled`?$i:e===`server`?ia(n):ta(t)}function ta(e){let t=na();if(!t)return $i;let n=null,r=0;return{isSupported:!0,start(i,a){let o=n,s=++r;n=null,o?.abort();let c=new t;n=c,c.continuous=!0,c.interimResults=!0,c.lang=e;let l=!1;c.addEventListener(`result`,e=>{if(r!==s||n!==c)return;let t=e,a=``,o=!1;for(let e=t.resultIndex;e<t.results.length;e++){let n=t.results[e];n&&(a+=n[0].transcript,n.isFinal&&(o=!0))}i(a,o)});let u=()=>{l||r!==s||n!==c||(l=!0,n=null,a())};c.addEventListener(`end`,u),c.addEventListener(`error`,u);try{c.start()}catch{u()}},stop(){n?.stop()},cancel(){r++;let e=n;n=null,e?.abort()}}}function na(){return window.SpeechRecognition??window.webkitSpeechRecognition}const ra=[`audio/webm;codecs=opus`,`audio/webm`,`audio/ogg;codecs=opus`,`audio/mp4`];function ia(e){if(typeof MediaRecorder>`u`||!navigator?.mediaDevices?.getUserMedia)return $i;let t=0,n=null,r=e=>{for(let t of e.stream?.getTracks()??[])t.stop();e.stream=null},i=()=>{t++;let e=n;n=null,e&&(r(e),e.recorder?.state!==`inactive`&&e.recorder?.stop())},a=async i=>{if(i.finishing)return;i.finishing=!0;let a=i.recorder?.mimeType??`audio/webm`;r(i);let o=new Blob(i.chunks,{type:a});i.chunks=[];try{let{text:r}=await e(o,a);n===i&&t===i.generation&&r&&i.onText(r,!0)}catch{}finally{n===i&&t===i.generation&&(n=null,i.onEnd())}};return{isSupported:!0,async start(e,o){i();let s={generation:t,recorder:null,stream:null,chunks:[],onText:e,onEnd:o,finishing:!1};n=s;try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});if(n!==s||t!==s.generation){for(let t of e.getTracks())t.stop();return}s.stream=e;let r=aa(),i=new MediaRecorder(e,r?{mimeType:r}:void 0);s.recorder=i,i.addEventListener(`dataavailable`,e=>{n===s&&t===s.generation&&e.data.size>0&&s.chunks.push(e.data)}),i.addEventListener(`stop`,()=>{n===s&&t===s.generation&&a(s)}),i.start()}catch{r(s),n===s&&t===s.generation&&(n=null,o())}},stop(){let e=n;if(e){if(!e.recorder){i();return}e.recorder.state!==`inactive`&&e.recorder.stop()}},cancel(){i()}}}function aa(){for(let e of ra)if(MediaRecorder.isTypeSupported(e))return e}const J=b.cssPrefix,oa=I.scope(`composer`);function sa(e){return e.reduce((e,t)=>e+t.size,0)}const ca={arrowUp:Er,paperPlane:Tr,send:Dr,chevron:Or};function la(e){return`activeElement`in e}function ua(e){return`host`in e&&`activeElement`in e}function da({options:e,transport:t,feedback:n,bus:a,persistence:o,conversationId:l,isStreaming:u,isMemoryCompacting:d=!1,canReleaseQueuedMessages:f=!0,queueManualMessages:p=!1,active:m=!0,isPreparing:h=!1,operatorRequestEnabled:v,canRequestOperator:y=!1,controlMode:b=`ai-agent`,onRequestOperator:x,onSend:S,onStop:C,apiRef:w}){let T=e.strings,[E,D]=c(()=>o.loadDraft(l)),[O,k]=c([]),[A,j]=c(()=>o.loadMessageQueue(l).map(e=>({id:e.id,text:e.text,attachments:[]}))),M=s(A),ee=s(!1),[te,N]=c(!1),[ne,re]=c(!1),P=s(!1),F=s(null),ie=s(null),ae=s(null),I=s(0),L=s(l);L.current=l;let oe=s(m);oe.current=m;let se=s(h);se.current=h;let ce=ne||h||!m,le=u&&b===`ai-agent`,ue=le||d&&b===`ai-agent`,de=b===`ai-agent`&&(ue||p||A.length>0),fe=r(e=>{j(t=>{let n=e(t);return o.saveMessageQueue(L.current,n.filter(e=>e.attachments.length===0).map(({id:e,text:t})=>({id:e,text:t}))),M.current=n,n})},[o]),pe=r(e=>{fe(t=>(t.find(t=>t.id===e)?.attachments.forEach(Wi),t.filter(t=>t.id!==e)))},[fe]),me=r(e=>{D(t=>{let n=typeof e==`function`?e(t):e;return n===t?t:(o.saveDraft(L.current,n),n)})},[o]),R=e.features.fileUpload,he=e.features.voice,[ge,_e]=c(()=>ea(he,e.locale,(e,n)=>t.transcribe(e,n))),ve=s(ge);ve.current=ge;let z=s({mode:he,locale:e.locale,transport:t});i(()=>{let n=z.current;(n.mode!==he||n.locale!==e.locale||n.transport!==t)&&(z.current={mode:he,locale:e.locale,transport:t},I.current++,ve.current.cancel(),ae.current=null,N(!1),_e(ea(he,e.locale,(e,n)=>t.transcribe(e,n))))},[e.locale,he,t]),i(()=>()=>{I.current++,ge.cancel()},[ge]);let ye=r(e=>{let t=ae.current;if(t===null)return!1;let n=Math.round(performance.now()-t);return oa[e](`voiceStop`,{durationMs:n}),a.emit(`voiceStop`,{durationMs:n}),ae.current=null,!0},[a]),be=r(()=>{ae.current!==null&&(ge.stop(),N(!1),ye(`info`)&&n.play(`voiceStop`))},[ye,n,ge]),xe=r(()=>{I.current++,ge.cancel(),N(!1),ye(`info`)&&n.play(`voiceStop`)},[ye,n,ge]);i(()=>{(h||!m)&&xe()},[m,xe,h]),i(()=>{let e=F.current;if(!e)return;let t=e.getRootNode(),n=la(t)?t.activeElement:null;n&&e.closest(`.${J}-panel`)?.contains(n)||e.focus({preventScroll:!0})},[]),i(()=>{let e=F.current;if(!e)return;if(E.length===0){e.style.height=``;return}e.style.height=`auto`;let t=getComputedStyle(e),n=Number.parseFloat(t.getPropertyValue(`--${J}-textarea-base-height`)),r=Number.parseFloat(t.borderTopWidth)+Number.parseFloat(t.borderBottomWidth),i=Math.min(e.scrollHeight+r,Number.parseFloat(t.maxHeight)),a=Number.parseFloat(t.fontSize)*.7;e.style.height=`${i<n+a?n:i}px`},[E]);let Se=s(O);Se.current=O,i(()=>()=>{Se.current.forEach(Wi);for(let e of M.current)e.attachments.forEach(Wi)},[]),i(()=>{if(w)return w.current={attachFromDrop:t=>{if(!R||!oe.current||P.current||se.current)return;let n=Ui(t,Se.current,e.attachments);n.accepted.length!==0&&(oa.info(`attach (drop)`,{count:n.accepted.length,totalBytes:sa(n.accepted)}),a.emit(`attach`,{count:n.accepted.length,totalBytes:sa(n.accepted)}),k(e=>[...e,...n.accepted]))},fill:e=>{if(!oe.current||P.current||se.current)return;me(e);let t=F.current;t&&(t.focus({preventScroll:!0}),requestAnimationFrame(()=>t.setSelectionRange(t.value.length,t.value.length)))},acceptQueuedMessage:pe},()=>{w.current&&(w.current=null)}},[w,R,h,e.attachments,pe,me]),i(()=>{let t=F.current;if(!t)return;let n=t.closest(`.${J}-panel`);if(!n)return;let r=n=>{if(!oe.current||P.current||se.current)return;let r=n.clipboardData;if(!r)return;let i=n.target?.closest?.(`input, textarea, [contenteditable]:not([contenteditable='false'])`);if(i&&i!==t)return;if(R){let t=Ui(r.items,Se.current,e.attachments);if(t.accepted.length>0){n.preventDefault(),oa.info(`attach (paste)`,{count:t.accepted.length,totalBytes:sa(t.accepted)}),a.emit(`attach`,{count:t.accepted.length,totalBytes:sa(t.accepted)}),k(e=>[...e,...t.accepted]);return}}if(i===t)return;let o=r.getData(`text/plain`);o&&(n.preventDefault(),me(e=>e+o),t.focus())};return n.addEventListener(`paste`,r),()=>n.removeEventListener(`paste`,r)},[R,e.attachments,me]);let Ce=async()=>{let e=E.trim();if(!e&&O.length===0||!m||le||P.current||h)return;xe(),P.current=!0,re(!0);let t=E,n=O;try{await S(e,n)&&(me(e=>e===t?``:e),k(e=>e===n?(n.forEach(Wi),Se.current=[],[]):e))}finally{P.current=!1,re(!1),requestAnimationFrame(()=>{let e=F.current;if(!e||e.disabled||!oe.current)return;let t=e.getRootNode(),n=la(t)?t.activeElement:null,r=n?.getAttribute(`data-testid`);if(!(n&&n!==e&&r!==q.composerSend&&r!==q.composerStop)){if(ua(t)){let e=t.host.ownerDocument;if(!e.hasFocus())return;let n=e.activeElement;if(n&&n!==t.host&&n!==e.body)return}e.focus({preventScroll:!0})}})}},we=()=>{let e=E.trim();if(!e&&O.length===0||!m||!de||P.current||h)return;xe();let t=O;fe(n=>[...n,{id:ct(),text:e,attachments:t}]),me(``),k(e=>e===t?(Se.current=[],[]):e),F.current?.focus({preventScroll:!0})};i(()=>{ue&&(ee.current=!1)},[ue]),i(()=>{let e=A[0];if(!e||!f||ue||ee.current||ne||h||!m)return;let t=setTimeout(()=>{ee.current=!0,S(e.text,e.attachments,e.id).then(t=>{if(t){pe(e.id);return}ee.current=!1})},300);return()=>clearTimeout(t)},[m,f,h,S,ue,A,pe,ne]);let Te=e=>{e.key!==`Enter`||e.shiftKey||e.isComposing||(e.preventDefault(),de&&(E.trim()||O.length>0)?we():le?C():Ce())},Ee=t=>{let n=t.target;if(!m||P.current||h){n.value=``;return}let r=Ui(n.files,O,e.attachments);r.accepted.length>0&&(oa.info(`attach (file picker)`,{count:r.accepted.length,totalBytes:sa(r.accepted)}),a.emit(`attach`,{count:r.accepted.length,totalBytes:sa(r.accepted)}),k(e=>[...e,...r.accepted])),n.value=``},De=e=>{!m||P.current||h||(oa.info(`removeAttachment`,{id:e}),a.emit(`removeAttachment`,{id:e}),k(t=>{let n=t.find(t=>t.id===e);return n&&Wi(n),t.filter(t=>t.id!==e)}))},Oe=()=>{if(te){be();return}if(!m||!ge.isSupported||P.current||h)return;let e=++I.current;ae.current=performance.now(),oa.info(`voiceStart`),a.emit(`voiceStart`,void 0),N(!0),n.play(`voiceStart`),ge.start((t,n)=>{I.current!==e||!oe.current||se.current||P.current||!n||me(e=>`${e}${t} `)},()=>{I.current!==e||!oe.current||(N(!1),ye(`debug`))})},ke=ca[e.composer.sendButton.icon],Ae=!!(E.trim()||O.length>0);return _(`div`,{class:`${J}-composer`,"data-testid":q.composer,children:[A.length>0?g(`div`,{class:`${J}-message-queue`,"aria-label":T.queueMessage,"data-testid":q.messageQueue,children:A.map(e=>_(`div`,{class:`${J}-attachment-chip ${J}-queued-message`,"data-testid":`${q.queuedMessage}-${e.id}`,children:[g(`span`,{class:`${J}-attachment-name ${J}-queued-text`,children:e.text||e.attachments.map(e=>e.name).join(`, `)}),g(`button`,{type:`button`,class:`${J}-attachment-remove`,onClick:()=>pe(e.id),"aria-label":T.removeQueuedMessage,title:T.removeQueuedMessage,"data-testid":`${q.queuedMessageRemove}-${e.id}`,children:g(Cr,{})})]},e.id))}):null,O.length>0?g(`div`,{class:`${J}-attachments`,children:O.map(e=>g(Qi,{attachment:e,onRemove:()=>De(e.id),disabled:ce},e.id))}):null,_(`div`,{class:`${J}-composer-row`,children:[_(`div`,{class:`${J}-composer-actions`,children:[R?g(`button`,{type:`button`,class:`${J}-icon-btn`,onClick:()=>ie.current?.click(),disabled:ce,"aria-label":T.attach,"data-testid":q.composerAttach,children:g(Ar,{})}):null,ge.isSupported?g(`button`,{type:`button`,class:`${J}-icon-btn`,onClick:Oe,disabled:ce,"aria-label":te?T.micStop:T.micStart,"aria-pressed":te,"data-recording":te?`true`:void 0,"data-testid":q.composerVoice,children:g(jr,{})}):null]}),g(`textarea`,{ref:F,name:`message`,class:`${J}-textarea`,rows:1,value:E,placeholder:T.composerPlaceholder,onInput:e=>me(e.currentTarget.value),onKeyDown:Te,disabled:ce,"aria-label":T.composerPlaceholder,"data-testid":q.composerInput}),de&&Ae?g(`button`,{type:`button`,class:`${J}-send`,"data-shape":e.composer.sendButton.shape,"data-variant":e.composer.sendButton.variant,onClick:we,disabled:ce,"aria-label":T.queueMessage,title:T.queueMessage,"data-testid":q.composerSend,children:g(ke,{})}):null,le?g(`button`,{type:`button`,class:`${J}-send`,onClick:C,disabled:ce,"aria-label":T.stop,"data-testid":q.composerStop,children:g(kr,{})}):null,!le&&(!de||!Ae)?g(`button`,{type:`button`,class:`${J}-send`,"data-shape":e.composer.sendButton.shape,"data-variant":e.composer.sendButton.variant,onClick:()=>void Ce(),disabled:ce||!E.trim()&&O.length===0,"aria-label":T.send,"data-testid":q.composerSend,children:g(ke,{})}):null,v&&b===`ai-agent`&&x?g(`button`,{type:`button`,class:`${J}-icon-btn`,onClick:x,disabled:ce||!y,"aria-label":T.talkToOperator,title:T.talkToOperator,"data-testid":q.operatorRequest,children:g(ti,{})}):null]}),g(`input`,{ref:ie,name:`attachments`,type:`file`,multiple:!0,accept:e.attachments.accept,onChange:Ee,disabled:ce,class:`${J}-sr-only`,"data-testid":q.composerFileInput})]})}const fa=b.cssPrefix;function pa({visible:e,strings:t}){return e?g(`div`,{class:`${fa}-dropzone`,role:`status`,"aria-live":`polite`,children:t.dropZone}):null}function ma({containerRef:e,onDrop:t,disabled:n=!1}){let[r,a]=c(!1);return i(()=>{if(n){a(!1);return}let r=e.current;if(!r)return;let i=0,o=e=>{i+=1,e.dataTransfer?.types.includes(`Files`)&&(e.preventDefault(),a(!0))},s=()=>{--i,!(i>0)&&(i=0,a(!1))},c=e=>{e.dataTransfer?.types.includes(`Files`)&&e.preventDefault()},l=e=>{i=0,a(!1),e.dataTransfer&&(e.preventDefault(),t(e.dataTransfer.items))};return r.addEventListener(`dragenter`,o),r.addEventListener(`dragleave`,s),r.addEventListener(`dragover`,c),r.addEventListener(`drop`,l),()=>{r.removeEventListener(`dragenter`,o),r.removeEventListener(`dragleave`,s),r.removeEventListener(`dragover`,c),r.removeEventListener(`drop`,l)}},[e,n,t]),{visible:!n&&r}}function ha({itemCount:e,initialFocusIndex:t}){let[n,a]=c(!1),o=s(null),l=s(null),[u,d]=c(-1),f=r(()=>{a(!1),d(-1),o.current?.focus()},[]),p=r(()=>a(e=>!e),[]);return i(()=>{if(!n)return;let e=e=>{let t=l.current,n=o.current;if(!t||!n)return;let r=e.composedPath();r.includes(t)||r.includes(n)||(a(!1),d(-1))};return document.addEventListener(`click`,e,!0),()=>document.removeEventListener(`click`,e,!0)},[n]),i(()=>{if(!n||e===0)return;let r=t?.()??0;d(r<0||r>=e?0:r)},[n,e,t]),i(()=>{!n||u<0||(l.current?.querySelectorAll(`[role='menuitem']`))?.[u]?.focus()},[n,u]),{open:n,focusIndex:u,triggerRef:o,menuRef:l,toggle:p,close:f,onTriggerKey:r(e=>{(e.key===`ArrowDown`||e.key===`Enter`||e.key===` `)&&(e.preventDefault(),a(!0))},[]),onMenuKey:r(t=>{if(e!==0)switch(t.key){case`Escape`:t.preventDefault(),f();return;case`ArrowDown`:t.preventDefault(),d(t=>(t+1)%e);return;case`ArrowUp`:t.preventDefault(),d(t=>(t-1+e)%e);return;case`Home`:t.preventDefault(),d(0);return;case`End`:t.preventDefault(),d(e-1)}},[e,f])}}function ga({items:e,triggerLabel:t}){let n=b.cssPrefix,r=ha({itemCount:e.length}),i=e=>{e.disabled||(e.onSelect?.(),e.keepOpen||r.close())},a=(e,t)=>e.onSelectValue?.(t),o=(e,t)=>{let n=t.segments;if(!n?.length)return;let r=Math.max(0,n.findIndex(e=>e.value===t.value)),i=-1;if(e.key===`ArrowRight`||e.key===`Enter`||e.key===` `)i=(r+1)%n.length;else if(e.key===`ArrowLeft`)i=(r-1+n.length)%n.length;else return;e.preventDefault(),e.stopPropagation(),a(t,n[i].value)};return _(`div`,{class:`${n}-menu-wrap`,children:[g(`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:g(Rr,{})}),r.open?g(`div`,{ref:r.menuRef,class:`${n}-menu`,role:`menu`,"aria-label":t,onKeyDown:r.onMenuKey,tabIndex:-1,children:e.map(e=>e.segments?_(`div`,{role:`menuitem`,class:`${n}-menu-item ${n}-menu-item-segmented`,"aria-label":e.label,tabIndex:-1,onKeyDown:t=>o(t,e),children:[e.icon?g(`span`,{class:`${n}-menu-icon`,children:e.icon}):null,g(`span`,{class:`${n}-menu-label`,children:e.label}),g(`span`,{class:`${n}-segmented`,role:`group`,"aria-label":e.label,children:e.segments.map(t=>{let r=t.value===e.value;return g(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":r,class:`${n}-segment`,"data-on":r?`true`:void 0,lang:t.lang,title:t.value,tabIndex:-1,"data-testid":`${q.langSegment}-${t.value}`,onClick:()=>a(e,t.value),children:t.label},t.value)})})]},e.id):_(`button`,{type:`button`,role:`menuitem`,class:`${n}-menu-item`,"aria-pressed":e.type===`switch`?e.on:void 0,disabled:e.disabled,onClick:()=>i(e),children:[e.icon?g(`span`,{class:`${n}-menu-icon`,children:e.icon}):null,g(`span`,{class:`${n}-menu-label`,children:e.label}),e.type===`switch`&&e.on?g(`span`,{class:`${n}-menu-check`,"aria-hidden":`true`,children:g(Ur,{})}):null]},e.id))}):null]})}const _a=b.cssPrefix;function va(e){let t=typeof matchMedia!=`function`||matchMedia(`(prefers-color-scheme: dark)`).matches;return e===`auto`?t?`light`:`dark`:t?e===`light`?`dark`:`auto`:e===`dark`?`light`:`auto`}const ya={normal:`large`,large:`small`,small:`normal`};function ba(e){return g(e===`light`?ci:e===`dark`?li:ui,{})}function xa(e){return(e.split(`-`)[0]??e).toUpperCase()}function Sa(e,t){let n;try{n=new URL(e,window.location.href)}catch{return}if(n.protocol===`http:`||n.protocol===`https:`)return t.conversationId&&n.searchParams.set(`chat`,t.conversationId),n.searchParams.set(`widgetId`,t.widgetId),t.publicKey&&n.searchParams.set(`public_key`,t.publicKey),n.searchParams.set(`ai_agent_deployment_id`,t.aiAgentDeploymentId),n.href}function Ca({panelProps:e,variant:t}){let{options:n,panelSize:r,feedback:i,onClose:a,onClear:o,onExpand:s,onFullscreen:c,onSoundToggle:l}=e,{onToggleHistory:u,onLocaleChange:d,onThemeChange:f,onTextSizeChange:m}=e,h=n.strings,v=n.mode,y=t===`chat`,b=p(()=>i.mutedSig.value).value,x=new Set(n.actions),S=e=>x.has(e),C=typeof matchMedia==`function`&&matchMedia(`(max-width: 640px)`).matches,w=e=>!C&&Fi(e,v,r),T=n.themeMode,E={auto:h.themeAuto,light:h.themeLight,dark:h.themeDark},D=n.textSize,O={small:h.textSizeSmall,normal:h.textSizeNormal,large:h.textSizeLarge},k=[];if(y&&S(`clear`)&&k.push({id:`clear`,icon:g(qr,{}),label:h.newConversation,onSelect:o}),S(`expand`)&&w(`expand`)){let e=r===`expanded`;k.push({id:`expand`,icon:g(e?Nr:Mr,{}),label:e?h.collapse:h.expand,type:`switch`,on:e,onSelect:s})}if(S(`fullscreen`)&&w(`fullscreen`)){let e=r===`fullscreen`;k.push({id:`fullscreen`,icon:g(e?Fr:Pr,{}),label:e?h.exitFullscreen:h.fullscreen,type:`switch`,on:e,onSelect:c})}let A=n.popOutUrl,j=n.aiAgentDeploymentId;S(`popOut`)&&A&&j&&Fi(`popOut`,v,r)&&k.push({id:`popOut`,icon:g(Ir,{}),label:h.popOut,onSelect:()=>{let t=Sa(A,{conversationId:e.conversationId,widgetId:n.widgetId,publicKey:n.publicKey,aiAgentDeploymentId:j});t&&window.open(t,`_blank`,`noopener,noreferrer`)}}),y&&S(`sound`)&&k.push({id:`sound`,icon:g(b?Br:zr,{}),label:b?h.soundOff:h.soundOn,type:`switch`,on:!b,onSelect:l}),S(`theme`)&&k.push({id:`theme`,icon:ba(T),label:`${h.theme}: ${E[T]}`,onSelect:()=>f(va(T)),keepOpen:!0}),S(`textSize`)&&k.push({id:`textSize`,icon:g(Vr,{}),label:`${h.textSize}: ${O[D]}`,onSelect:()=>m(ya[D]),keepOpen:!0}),S(`language`)&&n.availableLocales.length>1&&k.push({id:`language`,icon:g(Gr,{}),label:h.language,segments:n.availableLocales.map(e=>({value:e,label:xa(e),lang:e})),value:n.locale,onSelectValue:d});let M=!!a&&Ii(v,r,n.actions),ee=y&&S(`history`);return _(`div`,{class:`${_a}-header-actions`,children:[ee?g(`button`,{type:`button`,class:`${_a}-icon-btn`,onClick:u,"aria-label":h.history,title:h.history,"data-testid":q.actionHistory,children:g(Wr,{})}):null,k.length>0?g(ga,{items:k,triggerLabel:h.moreActions}):null,M?g(`button`,{type:`button`,class:`${_a}-icon-btn`,onClick:a,"aria-label":h.close,title:h.close,"data-testid":q.actionClose,children:g(Cr,{})}):null]})}const wa=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,Ta=/^https?:\/\/[^\s.]+\.[^\s]+$/i,Ea=/^[+]?[\d\s().-]{6,}$/;function Da(e,t){return e.replace(/\{(\w+)\}/g,(e,n)=>String(t[n]??`{${n}}`))}function Oa(e){return Array.isArray(e)?e.length:+!!e?.trim()}function ka(e,t,n){let r=e.required??!0,i=e.validation;if(e.type===`multiselect`){let e=Oa(t);return r&&e===0?n.formRequired:e===0?void 0:i?.minSelections!=null&&e<i.minSelections?Da(n.formChooseAtLeast,{min:i.minSelections}):i?.maxSelections!=null&&e>i.maxSelections?Da(n.formChooseAtMost,{max:i.maxSelections}):void 0}let a=typeof t==`string`?t.trim():``;if(!a)return r?n.formRequired:void 0;switch(e.type){case`email`:if(!wa.test(a))return n.formInvalidEmail;break;case`url`:if(!Ta.test(a))return n.formInvalidUrl;break;case`tel`:if(!Ea.test(a))return n.formInvalidTel;break;case`number`:{let e=Number(a);if(!Number.isFinite(e))return n.formInvalidNumber;if(i?.min!=null&&e<i.min)return Da(n.formNumberTooSmall,{min:i.min});if(i?.max!=null&&e>i.max)return Da(n.formNumberTooLarge,{max:i.max});break}default:break}if(i?.minLength!=null&&a.length<i.minLength)return Da(n.formTooShort,{min:i.minLength});if(i?.maxLength!=null&&a.length>i.maxLength)return Da(n.formTooLong,{max:i.maxLength});if(i?.pattern)try{if(!new RegExp(i.pattern).test(a))return n.formPatternMismatch}catch{}}function Aa(e,t,n){let r={};for(let i of e){let e=ka(i,t[i.name],n);e&&(r[i.name]=e)}return r}function ja(e){let t={};for(let[n,r]of Object.entries(e)){let e=Array.isArray(r)?r.join(`, `):r;e.trim()&&(t[n]=e.trim())}return t}const Y=b.cssPrefix,Ma=`__other__`;function Na({fields:e,strings:t,submitLabel:n,onSubmit:r,skipLabel:i,onSkip:a,footerHint:o,submitOnEnter:s,disabled:l,initialValues:u,hideActions:d,fieldTypeLabels:f,rootTestId:p,submitTestId:m,skipTestId:h}){let[v,y]=c(()=>({...La(e),...u})),[b,x]=c({}),[S,C]=c({}),w=e=>{S[e]&&C(t=>({...t,[e]:``}))},T=(e,t)=>{y(n=>({...n,[e]:t})),w(e)},E=(e,t)=>{x(n=>({...n,[e]:t})),w(e)},D=n=>{if(n.preventDefault(),l)return;let i=Ra(e,v,b),a=Aa(e,i,t);if(Object.keys(a).length>0){C(a);return}r(ja(i))};return _(`form`,{class:`${Y}-form`,onSubmit:D,onKeyDown:e=>{!s||e.key!==`Enter`||e.shiftKey||e.isComposing||e.target?.tagName===`TEXTAREA`&&D(e)},"data-testid":p,noValidate:!0,children:[e.map(e=>g(Pa,{field:e,value:v[e.name],otherText:b[e.name]??``,error:S[e.name],disabled:l,typeLabel:f?.[e.name],strings:t,onChange:t=>T(e.name,t),onOtherChange:t=>E(e.name,t)},e.name)),d?null:_(`div`,{class:`${Y}-form-actions`,children:[o?g(`span`,{class:`${Y}-form-hint`,children:o}):null,i&&a?g(`button`,{type:`button`,class:`${Y}-form-skip`,onClick:a,disabled:l,"data-testid":h,children:i}):null,g(`button`,{type:`submit`,class:`${Y}-form-submit`,disabled:l,"data-testid":m,children:n})]})]})}function Pa({field:e,value:t,otherText:n,error:r,disabled:i,typeLabel:a,strings:o,onChange:s,onOtherChange:c}){let l=Fa({field:e,value:t,otherText:n,disabled:i,strings:o,onChange:s,onOtherChange:c,fieldTid:Ci(q.formField,e.name)});return _(`label`,{class:`${Y}-field`,"data-field":e.name,"data-invalid":r?`true`:void 0,children:[_(`span`,{class:`${Y}-field-head`,children:[_(`span`,{class:`${Y}-field-label`,children:[e.label,e.required??!0?g(`span`,{class:`${Y}-field-req`,"aria-hidden":`true`,children:` *`}):null]}),a?g(`span`,{class:`${Y}-field-type`,children:a}):null]}),l,e.validationHint&&!r?g(`span`,{class:`${Y}-field-hint`,children:e.validationHint}):null,r?g(`span`,{class:`${Y}-field-error`,role:`alert`,children:r}):null]})}function Fa(e){let{field:t,value:n,otherText:r,disabled:i,strings:a,onChange:o,onOtherChange:s,fieldTid:c}=e,l=typeof n==`string`?n:``;switch(t.type){case`textarea`:return g(`textarea`,{class:`${Y}-field-input`,rows:3,value:l,placeholder:t.placeholder,disabled:i,onInput:e=>o(e.target.value),"data-testid":c});case`select`:return _(`select`,{class:`${Y}-field-input`,value:l,disabled:i,onChange:e=>o(e.target.value),"data-testid":c,children:[g(`option`,{value:``,children:t.placeholder??`—`}),(t.options??[]).map(e=>g(`option`,{value:e.value,children:e.label??e.value},e.value))]});case`radio`:{let e=t.allowOther&&l===Ma;return _(`div`,{class:`${Y}-field-choices`,role:`radiogroup`,"data-testid":c,children:[(t.options??[]).map(e=>_(`label`,{class:`${Y}-choice`,children:[g(`input`,{type:`radio`,name:`${Y}-${t.name}`,checked:l===e.value,disabled:i,onChange:()=>o(e.value)}),g(`span`,{children:e.label??e.value})]},e.value)),t.allowOther?_(`label`,{class:`${Y}-choice`,children:[g(`input`,{type:`radio`,name:`${Y}-${t.name}`,checked:l===Ma,disabled:i,onChange:()=>o(Ma)}),g(`span`,{children:a.formOther})]}):null,e?g(`input`,{class:`${Y}-field-input`,value:r,placeholder:t.placeholder??a.formOtherPlaceholder,disabled:i,onInput:e=>s(e.target.value)}):null]})}case`checkbox`:return _(`label`,{class:`${Y}-choice`,children:[g(`input`,{type:`checkbox`,checked:l===`true`,disabled:i,onChange:e=>o(e.target.checked?`true`:``),"data-testid":c}),g(`span`,{children:t.placeholder??t.label})]});case`multiselect`:{let e=Array.isArray(n)?n:[],l=(t,n)=>o(n?[...e,t]:e.filter(e=>e!==t));return _(`div`,{class:`${Y}-field-choices`,"data-testid":c,children:[(t.options??[]).map(t=>_(`label`,{class:`${Y}-choice`,children:[g(`input`,{type:`checkbox`,checked:e.includes(t.value),disabled:i,onChange:e=>l(t.value,e.target.checked)}),g(`span`,{children:t.label??t.value})]},t.value)),t.allowOther||(t.options??[]).length===0?g(`textarea`,{class:`${Y}-field-input`,rows:2,value:r,placeholder:t.placeholder??a.formOtherPlaceholder,disabled:i,onInput:e=>s(e.target.value)}):null]})}default:return g(`input`,{class:`${Y}-field-input`,type:Ia(t.type),value:l,placeholder:t.placeholder,disabled:i,onInput:e=>o(e.target.value),"data-testid":c})}}function Ia(e){switch(e){case`number`:case`email`:case`tel`:case`url`:case`date`:case`time`:return e;default:return`text`}}function La(e){let t={};for(let n of e)n.defaultValue!=null&&(t[n.name]=n.type===`multiselect`?n.defaultValue.split(`,`).map(e=>e.trim()).filter(Boolean):n.defaultValue);return t}function Ra(e,t,n){let r={...t};for(let i of e){let e=n[i.name]?.trim();if(i.type===`radio`&&i.allowOther&&t[i.name]===Ma)r[i.name]=e??``;else if(i.type===`multiselect`&&e){let n=e.split(/[,\n;]+/).map(e=>e.trim()).filter(Boolean),a=Array.isArray(t[i.name])?t[i.name]:[];r[i.name]=[...a,...n]}}return r}const za=b.cssPrefix;function Ba({form:e,strings:t,onSubmit:n,onSkip:r}){return _(`div`,{class:`${za}-form-gate`,"data-testid":q.formGate,children:[e.title?g(`h3`,{class:`${za}-form-gate-title`,children:e.title}):null,e.description?g(`p`,{class:`${za}-form-gate-desc`,children:e.description}):null,g(Na,{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:q.formSubmit,skipTestId:q.formSkip})]})}function Va({marker:e,strings:t,onFill:n}){let r=e.outcome===`skipped`,i=r?t.formSkipped:t.formSubmitted,a=e.title?_(h,{children:[g(`span`,{children:e.title}),g(`span`,{class:`${za}-sr-only`,children:i})]}):g(`span`,{children:i}),o=e.form?.reviewable??!1,s=!r&&o&&e.values&&Object.keys(e.values).length>0?e.values:null;if(s){let t=t=>e.form?.fields.find(e=>e.name===t)?.label??t;return _(`details`,{class:`${za}-form-done`,"data-outcome":e.outcome,"data-testid":q.formDone,children:[_(`summary`,{class:`${za}-form-done-summary`,"data-testid":q.formDoneToggle,children:[g(Ur,{}),a,g(Or,{})]}),g(`dl`,{class:`${za}-form-answers`,"data-testid":q.formAnswers,children:Object.entries(s).map(([e,n])=>_(`div`,{class:`${za}-form-answer`,children:[g(`dt`,{children:t(e)}),g(`dd`,{children:n})]},e))})]})}return _(`div`,{class:`${za}-form-done`,"data-outcome":e.outcome,"data-testid":q.formDone,role:`status`,children:[g(r?Hr:Ur,{}),a,r&&e.form?.reopenable&&n?g(`button`,{type:`button`,class:`${za}-form-done-fill`,"data-testid":q.formFill,onClick:n,children:t.formFillOut}):null]})}function Ha(e){return e?(e.startsWith(`tool:`)?e.slice(5):e)===`ask-user-questions`:!1}const Ua=b.cssPrefix;function Wa(e){return e.startsWith(`tool:`)||e.startsWith(`tool-`)?e.slice(5):e}function Ga(e,t){let n=e===`output-available`||e===`output-error`||e===`output-denied`,r=e===`approval-responded`||t?.approved!==void 0;return{terminal:n,responded:r,decided:n||r}}function Ka({status:e,icon:t,label:n}){return _(`span`,{class:`${Ua}-toolui-badge ${Ua}-toolui-status`,"data-status":e,children:[g(`span`,{class:`${Ua}-toolui-status-icon`,children:t}),n]})}function qa(e,t){return e===`output-error`?`error`:e===`output-denied`||t?.approved===!1?`denied`:e===`output-available`?`completed`:e===`approval-responded`||t?.approved===!0?`responded`:e===`approval-requested`?`awaiting`:`running`}function Ja(e,t,n={}){return n.submitted?`responded`:Za(qa(e,t),n.superseded,n.live??!0)}function Ya({status:e}){return g(e===`denied`||e===`error`||e===`superseded`?xi:e===`completed`||e===`responded`?bi:yi,{})}function Xa(e,t){switch(e){case`awaiting`:return t.statusAwaiting;case`responded`:return t.statusResponded;case`completed`:return t.statusCompleted;case`denied`:return t.statusDenied;case`error`:return t.statusError;case`superseded`:return t.statusSuperseded;default:return t.statusRunning}}function Za(e,t,n){return t&&(e===`awaiting`||e===`running`)?`superseded`:!n&&e===`running`?`error`:e}function Qa({state:e,approval:t,strings:n,superseded:r,live:i=!0,submitted:a=!1}){let o=Ja(e,t,{superseded:r,live:i,submitted:a});return g(Ka,{status:o,icon:g(Ya,{status:o}),label:Xa(o,n)})}function $a({name:e,state:t,approval:n,strings:r,superseded:i,live:a,submitted:o}){return _(h,{children:[_(`span`,{class:`${Ua}-toolui-name-pill`,children:[g(vi,{}),g(`span`,{class:`${Ua}-toolui-name-text`,children:e})]}),g(Qa,{state:t,approval:n,strings:r,superseded:i,live:a,submitted:o}),g(`span`,{class:`${Ua}-toolui-chevron`,children:g(Jr,{})})]})}function eo({part:e,strings:t,testid:n,superseded:r,live:i,submitted:a}){let s=o(()=>u(()=>e.inputSig.value),[e]),c=o(()=>u(()=>e.outputSig.value),[e]),l=o(()=>u(()=>e.errorSig.value),[e]),d=o(()=>u(()=>e.stateSig.value),[e]),f=o(()=>u(()=>e.approvalSig.value),[e]);return _(`details`,{class:`${Ua}-toolui ${Ua}-toolui-collapsible`,"data-testid":n,children:[g(`summary`,{class:`${Ua}-toolui-head`,children:g($a,{name:Wa(e.toolName),state:d.value,approval:f.value,strings:t,superseded:r,live:i,submitted:a})}),g(to,{label:t.toolParameters,value:s.value}),c.value===void 0?null:g(to,{label:t.toolResult,value:c.value}),l.value?g(to,{label:t.statusError,value:l.value,error:!0}):null]})}function to({label:e,value:t,error:n}){let r=n?typeof t==`string`?t:``:ro(no(t));return r?_(`div`,{class:`${Ua}-toolui-section`,children:[g(`span`,{class:`${Ua}-toolui-label`,children:e}),g(`pre`,{class:`${Ua}-toolui-code`,"data-error":n?`true`:void 0,children:r})]}):null}function no(e){if(e&&typeof e==`object`){let t=e;if(t.storage===`tool-result-ref`&&`summary`in t)return t.summary}return e}function ro(e){if(e==null)return``;try{let t=typeof e==`string`?e:JSON.stringify(e,null,2);return!t||t===`{}`||t===`[]`||t===`""`?``:t.length>800?`${t.slice(0,800)}…`:t}catch{return``}}function io(e){return e.partsSig.value.some(e=>e.kind===`text`&&e.textSig.value.length>0)}function ao(e){return e.partsSig.value.some(e=>e.kind===`reasoning`)}function oo(e){return e.streaming&&!e.bufferedHold&&!(e.reasoningVisible&&e.working)}function so(e){let{streaming:t,reasoningVisible:n,emptyReply:r,hidden:i}=e,a=e.responseMode===`buffered`&&t,o=t&&!e.hasAnswerText;return{streaming:t,bufferedHold:a,reasoningVisible:n,working:o,showStreamDots:oo({streaming:t,bufferedHold:a,reasoningVisible:n,working:o}),emptyReply:r,hidden:i}}function co(e,t){let n=e.stateSig.value,r=e.approvalSig.value,{terminal:i,responded:a,decided:o}=Ga(n,r),s=t.continuationStreaming===!0&&!o,c=t.superseded&&!o&&!s;return{pill:Ja(n,r,{superseded:c,live:t.live,submitted:s}),state:n,terminal:i,decided:o||s,showApproveReject:!o&&!t.superseded&&!s,showAnswered:a&&!i&&!c,showSubmitted:s,showEdit:a&&t.active&&!i,skipped:c,answeredApproved:r?.approved}}function lo({textSig:e,doneSig:t}){let n=s(null);return a(()=>{let r=n.current;if(!r)return;r.classList.add(`${b.cssPrefix}-md`),r.replaceChildren();let i=y.default_renderer(r),a=y.parser(i),o=0,s=d(()=>{let n=e.value,s=t.value;n.length<o&&(r.replaceChildren(),i=y.default_renderer(r),a=y.parser(i),o=0);let c=n.slice(o);c&&y.parser_write(a,c),o=n.length,s&&y.parser_end(a)}),c=new MutationObserver(e=>{for(let t of e)for(let e of t.addedNodes){if(!(e instanceof HTMLElement))continue;let t=e.matches?.(`a`)?[e]:[...e.querySelectorAll?.(`a`)??[]];for(let e of t)fo(e)}});c.observe(r,{childList:!0,subtree:!0});for(let e of r.querySelectorAll(`a`))fo(e);let l=e=>{let t=e.target?.closest?.(`a`);if(!t||!(t instanceof HTMLAnchorElement))return;let n=t.getAttribute(`href`)??``;!n||n.startsWith(`#`)||(e.preventDefault(),window.open(n,`_blank`,`noopener,noreferrer`))};return r.addEventListener(`click`,l),()=>{s(),c.disconnect(),r.removeEventListener(`click`,l)}},[e,t]),g(`div`,{ref:n})}function uo({text:e}){return g(lo,{textSig:o(()=>f(e),[e]),doneSig:o(()=>f(!0),[])})}function fo(e){let t=e.getAttribute(`href`)??``;if(!t||t.startsWith(`#`))return;e.target!==`_blank`&&(e.target=`_blank`);let n=new Set((e.rel||``).split(/\s+/).filter(Boolean));n.add(`noopener`),n.add(`noreferrer`),e.rel=[...n].join(` `)}const po=b.cssPrefix;function mo({messageId:e,initial:t,strings:n,onFeedback:r}){let[a,o]=c(t);i(()=>o(t),[e,t]);let s=t=>{let n=a===t?null:t;o(n),r(e,n)};return _(`div`,{class:`${po}-feedback`,role:`group`,"data-testid":q.messageFeedback,children:[g(`button`,{type:`button`,class:`${po}-msg-action`,"data-active":a===`up`?`true`:void 0,"aria-pressed":a===`up`,"aria-label":n.feedbackUp,title:n.feedbackUp,onClick:()=>s(`up`),"data-testid":q.feedbackUp,children:g(gi,{})}),g(`button`,{type:`button`,class:`${po}-msg-action`,"data-active":a===`down`?`true`:void 0,"aria-pressed":a===`down`,"aria-label":n.feedbackDown,title:n.feedbackDown,onClick:()=>s(`down`),"data-testid":q.feedbackDown,children:g(_i,{})}),g(`span`,{class:`${po}-sr-only`,role:`status`,"aria-live":`polite`,children:a?n.feedbackThanks:``})]})}const ho=b.cssPrefix;function go({part:e,strings:t}){let n=e.title||e.filename||e.url||t.sources;return e.url?_(`a`,{class:`${ho}-source`,href:e.url,target:`_blank`,rel:`noreferrer noopener`,"data-testid":q.source,children:[g(`span`,{class:`${ho}-source-icon`,"aria-hidden":`true`,children:`🔗`}),g(`span`,{class:`${ho}-source-label`,children:n})]}):_(`span`,{class:`${ho}-source`,"data-testid":q.source,children:[g(`span`,{class:`${ho}-source-icon`,"aria-hidden":`true`,children:`📄`}),g(`span`,{class:`${ho}-source-label`,children:n})]})}const _o=b.cssPrefix;function vo({part:e,strings:t,active:n,superseded:r=!1,continuationStreaming:i=!1,onDecision:a,onEdit:s}){let c=o(()=>u(()=>e.approvalSig.value),[e]),l=o(()=>u(()=>co(e,{active:n,superseded:r,continuationStreaming:i})),[e,n,r,i]).value,{terminal:d,showApproveReject:f,showAnswered:p,showSubmitted:m,showEdit:v,skipped:y}=l,b=Wa(e.toolName),x=l.answeredApproved,S=e.toolCallId,C=_(h,{children:[g(`p`,{class:`${_o}-toolui-prompt`,children:t.approvalPrompt.replace(`{tool}`,b)}),g(`p`,{class:`${_o}-toolui-subtle`,children:t.approvalBody})]});m?C=g(`p`,{class:`${_o}-toolui-subtle`,children:t.approvalSubmitting}):p&&x!==!1?C=_(h,{children:[_(`p`,{class:`${_o}-toolui-prompt`,children:[t.approvalYourResponse.replace(`{decision}`,x?t.approve:t.reject),c.value?.reason?` — ${c.value.reason}`:``]}),v?g(`p`,{class:`${_o}-toolui-subtle`,children:t.approvalEditHint}):null,v?null:g(`p`,{class:`${_o}-toolui-subtle`,children:t.approvalSubmitting})]}):p&&(C=g(h,{}));let w=f||m||v||p&&x!==!1;return _(`div`,{class:`${_o}-toolui-group`,"data-testid":l.decided?q.toolDecision:q.toolApproval,children:[g(eo,{part:e,strings:t,superseded:y,submitted:m}),y||d||!w?null:_(`div`,{class:`${_o}-toolui ${_o}-toolui-body`,children:[C,f?_(`div`,{class:`${_o}-toolui-actions`,children:[g(`button`,{type:`button`,class:`${_o}-form-skip`,disabled:!n,onClick:()=>a(S,!1),"data-testid":q.toolReject,children:t.reject}),g(`button`,{type:`button`,class:`${_o}-form-submit`,disabled:!n,onClick:()=>a(S,!0),"data-testid":q.toolApprove,children:t.approve})]}):null,v?g(`div`,{class:`${_o}-toolui-actions`,children:g(`button`,{type:`button`,class:`${_o}-form-skip`,onClick:()=>s(S),"data-testid":q.toolEdit,children:t.edit})}):null]})]})}const yo=new Set([`text`,`email`,`phone`,`number`,`date`,`single-select`,`multi-select`,`boolean`]);function bo(e){let t=e&&typeof e==`object`?e:{},n=(Array.isArray(t.questions)?t.questions:[]).map(xo).filter(e=>e!==null);return{intro:wo(t.intro),questions:n}}function xo(e,t){if(!e||typeof e!=`object`)return null;let n=e,r=yo.has(n.type)?n.type:`text`;return{key:wo(n.key)??`q${t+1}`,question:wo(n.question)??`Please provide the missing information.`,type:r,options:Array.isArray(n.options)?n.options.filter(e=>typeof e==`string`&&e.trim().length>0):void 0,required:typeof n.required==`boolean`?n.required:void 0,helpText:wo(n.helpText)}}function So(e){switch(e){case`text`:return`textarea`;case`phone`:return`tel`;case`single-select`:case`boolean`:return`radio`;case`multi-select`:return`multiselect`;default:return e}}function Co(e,t,n){return e.questions.map(e=>{let r=So(e.type),i=e.type===`boolean`?[{value:`yes`,label:t},{value:`no`,label:n}]:(e.options??[]).map(e=>({value:e,label:e}));return{name:e.key,label:e.question,type:r,required:e.required??!1,options:i.length>0?i:void 0,validationHint:e.helpText}})}function wo(e){return typeof e==`string`&&e.trim()?e.trim():void 0}const X=b.cssPrefix;function To({skipped:e,submitted:t,strings:n}){return e?{status:`superseded`,statusLabel:n.inputSkipped}:t?{status:`responded`,statusLabel:n.statusResponded}:{status:`completed`,statusLabel:n.inputAnswered}}const Eo={text:`qtypeText`,email:`qtypeEmail`,phone:`qtypePhone`,number:`qtypeNumber`,date:`qtypeDate`,"single-select":`qtypeChooseOne`,"multi-select":`qtypeChooseAny`,boolean:`qtypeBoolean`};function Do(e,t){let n={};for(let r of e)n[r.key]=t[Eo[r.type]];return n}function Oo({part:e,strings:t,active:n,superseded:r=!1,continuationStreaming:i=!1,onDecision:a,onEdit:s}){let l=o(()=>u(()=>e.stateSig.value),[e]).value,d=o(()=>u(()=>e.approvalSig.value),[e]).value,f=o(()=>u(()=>bo(e.inputSig.value)),[e]).value,{terminal:p,decided:m}=Ga(l,d),h=m&&d?.approved===!0,v=i&&!m,y=!m&&!r&&!v,b=!y&&!h&&!v,x=h&&n&&!p,S=f.questions,[C,w]=c(null),T=C??(y||h||v),[E,D]=c(!1),O=S.length>1?Sr:Qr,k=y?t.inputRequired:t.inputBadge,A=v?g(`p`,{class:`${X}-toolui-subtle`,children:t.approvalSubmitting}):y?g(ko,{req:f,strings:t,active:n,resolve:(t,n)=>a(e.toolCallId,n,t)}):E?g(Na,{fields:Co(f,t.confirmYes,t.confirmNo),strings:t,submitLabel:t.inputSubmit,onSubmit:()=>{},disabled:!0,hideActions:!0,fieldTypeLabels:Do(S,t),initialValues:h?Fo(S,d?.reason):void 0}):g(Ao,{questions:S,answers:h?Po(d?.reason):{},strings:t}),{status:j,statusLabel:M}=To({skipped:b,submitted:v,strings:t});return _(`details`,{class:`${X}-toolui ${X}-toolui-collapsible${r?` ${X}-toolui-stale`:``}`,open:T,onToggle:e=>{let t=e.currentTarget.open;t!==T&&w(t)},"data-testid":y?q.toolAskQuestions:q.toolDecision,children:[_(`summary`,{class:`${X}-toolui-head`,children:[_(`span`,{class:`${X}-toolui-q-pill`,children:[g(O,{}),k]}),_(`span`,{class:`${X}-toolui-head-end`,children:[y?null:g(Ka,{status:j,icon:g(b?xi:bi,{}),label:M}),g(`span`,{class:`${X}-toolui-chevron`,children:g(Jr,{})})]})]}),_(`div`,{class:`${X}-toolui-collapse-body`,children:[f.intro?g(`div`,{class:`${X}-toolui-desc`,children:f.intro}):null,A,y||v?null:_(`div`,{class:`${X}-toolui-footer`,children:[_(`button`,{type:`button`,class:`${X}-toolui-options-toggle`,onClick:()=>D(e=>!e),"data-testid":q.toolAskOptions,children:[g(`span`,{class:`${X}-toolui-options-chevron${E?` ${X}-open`:``}`,children:g(Jr,{})}),E?t.hideOptions:t.showOptions]}),x?g(`button`,{type:`button`,class:`${X}-form-skip`,onClick:()=>s(e.toolCallId),"data-testid":q.toolEdit,children:t.edit}):null]})]})]})}function ko({req:e,strings:t,active:n,resolve:r}){let i=Co(e,t.confirmYes,t.confirmNo),a=e.questions.length===1&&e.questions[0]?.type===`text`;return g(Na,{fields:i,strings:t,disabled:!n,submitLabel:t.inputSubmit,footerHint:a?t.inputSubmitHint:void 0,onSubmit:t=>r(Mo(e.questions,t),!0),skipLabel:t.inputSkip,onSkip:()=>r(void 0,!1),submitOnEnter:a,fieldTypeLabels:Do(e.questions,t),submitTestId:q.toolInputSubmit,skipTestId:q.toolInputSkip})}function Ao({questions:e,answers:t,strings:n}){return g(`div`,{class:`${X}-toolui-summary`,"data-testid":q.toolAskSummary,children:e.map(e=>_(`div`,{class:`${X}-field`,children:[g(`span`,{class:`${X}-field-head`,children:_(`span`,{class:`${X}-field-label`,children:[e.question,e.required?g(`span`,{class:`${X}-field-req`,"aria-hidden":`true`,children:` *`}):null]})}),g(`p`,{class:`${X}-toolui-answer`,children:jo(e,t[e.key],n)||`—`})]},e.key))})}function jo(e,t,n){return e.type===`boolean`?t===`yes`?n.confirmYes:t===`no`?n.confirmNo:t??``:t??``}function Mo(e,t){let n=e.flatMap(e=>{let n=t[e.key];if(n==null||n.trim()===``)return[];let r=e.type===`multi-select`?n.split(`,`).map(e=>e.trim()).filter(Boolean):n;return[{key:e.key,value:r}]});return JSON.stringify({answers:n})}function No(e){if(!e)return{};let t=(()=>{try{return JSON.parse(e)}catch{return}})()?.answers;if(!Array.isArray(t))return{};let n={};for(let e of t)if(e&&typeof e==`object`&&`key`in e){let{key:t,value:r}=e;if(typeof t!=`string`)continue;typeof r==`string`?n[t]=r:Array.isArray(r)&&(n[t]=r.filter(e=>typeof e==`string`))}return n}function Po(e){let t=No(e),n={};for(let[e,r]of Object.entries(t))n[e]=Array.isArray(r)?r.join(`, `):r;return n}function Fo(e,t){let n=No(t),r={};for(let t of e){let e=n[t.key];e!==void 0&&(t.type===`multi-select`?r[t.key]=Array.isArray(e)?e:[e]:r[t.key]=Array.isArray(e)?e[0]??``:e)}return r}function Io({part:e,strings:t,live:n}){let r=o(()=>u(()=>e.inputSig.value),[e]),i=o(()=>u(()=>e.outputSig.value),[e]),a=o(()=>u(()=>e.errorSig.value),[e]);return o(()=>u(()=>!!ro(r.value)||!!a.value||!!ro(no(i.value))),[r,i,a]).value?g(eo,{part:e,strings:t,testid:q.toolCall,live:n}):null}const Lo=b.cssPrefix,Ro=v(zo);function zo({message:e,status:t,strings:n,responseMode:r,showReasoning:i,showToolCalls:a,showSources:s,interactive:c=!1,superseded:l=!1,tool:d,onRetry:f,enableMessageFeedback:p=!1,onFeedback:m}){let h=o(()=>u(()=>e.partsSig.value),[e]).value,v=o(()=>u(()=>rr(e)),[e]),y=o(()=>u(()=>ar(e)),[e]),b=o(()=>u(()=>io(e)),[e]),x=o(()=>u(()=>i&&ao(e)),[e,i]),S=t===`streaming`,C=e.role===`assistant`&&S,w=so({streaming:C,responseMode:r,reasoningVisible:x.value,hasAnswerText:b.value,emptyReply:v.value,hidden:y.value}),{bufferedHold:T,working:E,showStreamDots:D}=w;if(w.hidden)return null;let O=Vo(e.createdAt),k=e.role===`assistant`||e.role===`operator`,A=p&&!!m&&!!e.serverMessageId&&k&&!S&&t!==`error`&&!v.value,j=S?``:h.filter(e=>e.kind===`text`).map(e=>e.textSig.peek()).join(`
|