@helpai/elements 0.9.1 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -36,5 +36,5 @@ ${i}`:i;continue}o.startsWith("id:")&&(n=o.slice(3).trim())}if(!t||t==="[DONE]")
36
36
  `?"":n,e.pending="");continue;case"_":case"*":{if(e.token===19||e.token===30||e.token===31||e.token===14)break;let i=12,a=14,s=e.pending[0];if(s==="_"&&(i=13,a=15),e.pending.length===1){if(s===n){e.pending=o;continue}if(n!==" "&&n!==`
37
37
  `){U(e),F(e,i),e.pending=n;continue}}else{if(s===n){U(e),F(e,a),F(e,i),e.pending="";continue}if(n!==" "&&n!==`
38
38
  `){U(e),F(e,a),e.pending=n;continue}}break}case"~":if(e.token!==19&&e.token!==16){if(e.pending==="~"){if(n==="~"){e.pending=o;continue}}else if(n!==" "&&n!==`
39
- `){U(e),F(e,16),e.pending=n;continue}}break;case"$":if(e.token!==19&&e.token!==16&&e.pending==="$")if(n==="$"){e.token=105,e.pending=o;continue}else{if(dd(n.charCodeAt(0)))break;U(e),F(e,31),e.pending=n;continue}break;case"[":if(e.token!==19&&e.token!==17&&e.token!==30&&e.token!==31&&n!=="]"){U(e),F(e,17),e.pending=n;continue}break;case"!":if(e.token!==19&&n==="["){U(e),F(e,19),e.pending="";continue}break;case" ":if(e.pending.length===1&&n===" ")continue;break}if(e.token!==19&&e.token!==17&&e.token!==30&&e.token!==31&&n==="h"&&(e.pending===" "||e.pending==="")){e.text+=e.pending,e.pending=n,e.token=102;continue}e.text+=e.pending,e.pending=n}U(e)}function Fo(e){return{add_token:_d,end_token:ud,add_text:pd,set_attr:fd,data:{nodes:[e,,,,,],index:0}}}function _d(e,t){let n=e.nodes[e.index],o;switch(t){case 1:return;case 20:o=document.createElement("blockquote");break;case 2:o=document.createElement("p");break;case 21:o=document.createElement("br");break;case 22:o=document.createElement("hr");break;case 3:o=document.createElement("h1");break;case 4:o=document.createElement("h2");break;case 5:o=document.createElement("h3");break;case 6:o=document.createElement("h4");break;case 7:o=document.createElement("h5");break;case 8:o=document.createElement("h6");break;case 12:case 13:o=document.createElement("em");break;case 14:case 15:o=document.createElement("strong");break;case 16:o=document.createElement("s");break;case 11:o=document.createElement("code");break;case 18:case 17:o=document.createElement("a");break;case 19:o=document.createElement("img");break;case 23:o=document.createElement("ul");break;case 24:o=document.createElement("ol");break;case 25:o=document.createElement("li");break;case 26:let i=o=document.createElement("input");i.type="checkbox",i.disabled=!0;break;case 9:case 10:n=n.appendChild(document.createElement("pre")),o=document.createElement("code");break;case 27:o=document.createElement("table");break;case 28:switch(n.children.length){case 0:n=n.appendChild(document.createElement("thead"));break;case 1:n=n.appendChild(document.createElement("tbody"));break;default:n=n.children[1]}o=document.createElement("tr");break;case 29:o=document.createElement(n.parentElement?.tagName==="THEAD"?"th":"td");break;case 30:o=document.createElement("equation-block");break;case 31:o=document.createElement("equation-inline");break}e.nodes[++e.index]=n.appendChild(o)}function ud(e){e.index-=1}function pd(e,t){e.nodes[e.index].appendChild(document.createTextNode(t))}function fd(e,t,n){e.nodes[e.index].setAttribute(id(t),n)}function In({textSig:e,doneSig:t}){let n=N(null);return P(()=>{let o=n.current;if(!o)return;o.classList.add(`${h.cssPrefix}-md`);let i=Fo(o),a=zo(i),s=0,l=Re(()=>{let p=e.value,d=t.value;p.length<s&&(o.replaceChildren(),i=Fo(o),a=zo(i),s=0);let _=p.slice(s);_&&se(a,_),s=p.length,d&&Ua(a)}),c=new MutationObserver(p=>{for(let d of p)for(let _ of d.addedNodes){if(!(_ instanceof HTMLElement))continue;let f=_.matches?.("a")?[_]:[..._.querySelectorAll?.("a")??[]];for(let v of f)za(v)}});c.observe(o,{childList:!0,subtree:!0});for(let p of o.querySelectorAll("a"))za(p);let u=p=>{let d=p.target?.closest?.("a");if(!d||!(d instanceof HTMLAnchorElement))return;let _=d.getAttribute("href")??"";!_||_.startsWith("#")||(p.preventDefault(),window.open(_,"_blank","noopener,noreferrer"))};return o.addEventListener("click",u),()=>{l(),c.disconnect(),o.removeEventListener("click",u)}},[e,t]),r("div",{ref:n})}function Fa({text:e}){let t=he(()=>L(e),[e]),n=he(()=>L(!0),[]);return r(In,{textSig:t,doneSig:n})}function za(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(" ")}function Wa({part:e,strings:t}){let n=h.cssPrefix;return r("span",{class:`${n}-tool-chip`,role:"status",children:[r("span",{children:[t.usedTool,":"]}),r("strong",{children:e.toolName})]})}var Se=h.cssPrefix;function Ka({message:e,strings:t,responseMode:n,showReasoning:o,showToolCalls:i}){let s=we(()=>e.partsSig.value).value,l=we(()=>e.partsSig.value.some(f=>f.kind==="text"&&f.textSig.value.length>0)),c=we(()=>o&&e.partsSig.value.some(f=>f.kind==="reasoning")),u=e.role==="assistant"&&e.status==="streaming",p=n==="buffered"&&u,d=u&&!l.value,_=!p&&d&&!c.value;return r("div",{class:`${Se}-bubble-row`,"data-role":e.role,"data-testid":ce(y.messageBubble,e.id),children:r("div",{class:`${Se}-bubble`,children:[p?r(xd,{label:t.loading}):s.map(f=>r(md,{part:f,active:d,strings:t,showReasoning:o,showToolCalls:i},vd(f))),_&&r(bd,{}),e.status==="error"&&e.errorText?r("div",{class:`${Se}-error`,role:"alert",children:r("span",{children:e.errorText})}):null]})})}function md({part:e,active:t,strings:n,showReasoning:o,showToolCalls:i}){switch(e.kind){case"text":return r(In,{textSig:e.textSig,doneSig:e.doneSig});case"reasoning":return o?r(hd,{part:e,active:t,strings:n}):null;case"tool":return i?r(Wa,{part:e,strings:n}):null;case"file":return e.mediaType.startsWith("image/")?r("img",{src:e.url,alt:"",loading:"lazy"}):r("a",{href:e.url,target:"_blank",rel:"noreferrer noopener",children:e.url});case"source":return null}}function hd({part:e,active:t,strings:n}){return r("details",{class:`${Se}-reasoning`,open:t,"data-active":t?"true":void 0,children:[r("summary",{class:`${Se}-reasoning-summary`,children:r("span",{class:`${Se}-reasoning-label`,children:t?n.thinking:n.thoughts})}),r("div",{class:`${Se}-reasoning-body`,children:r(In,{textSig:e.textSig,doneSig:e.doneSig})})]})}function vd(e){switch(e.kind){case"text":case"reasoning":return`${e.kind}:${e.id}`;case"tool":return`tool:${e.toolCallId}`;case"file":return`file:${e.url}`;case"source":return`source:${e.sourceId}`}}function bd(){return r("span",{class:`${Se}-typing`,"aria-hidden":"true",children:[r("span",{}),r("span",{}),r("span",{})]})}function xd({label:e}){return r("span",{class:`${Se}-loading`,role:"status",children:[r("span",{class:`${Se}-loading-spinner`,"aria-hidden":"true"}),r("span",{class:`${Se}-loading-label`,children:e})]})}var Ga=h.cssPrefix,Wo=120;function Va({messagesSig:e,strings:t,responseMode:n,showReasoning:o,showToolCalls:i,loading:a}){let s=N(null),l=we(()=>e.value),c=N(!1),u=l.value[0]?.id;return Dr(()=>{let p=s.current;if(!p||l.value.length===0)return;c.current=!0;let d=()=>{p.scrollTop=p.scrollHeight};d();let _=new ResizeObserver(d);_.observe(p);let f=new MutationObserver(d);f.observe(p,{childList:!0,subtree:!0,characterData:!0});let v=setTimeout(()=>{_.disconnect(),f.disconnect()},300);return()=>{_.disconnect(),f.disconnect(),clearTimeout(v)}},[u]),P(()=>{let p=s.current;if(!p||!c.current)return;p.scrollHeight-p.scrollTop-p.clientHeight<Wo&&(p.scrollTop=p.scrollHeight)},[l.value.length]),P(()=>{let p=s.current;if(!p)return;let d=l.value.at(-1);if(!d)return;if(d.status!=="streaming"){let f=requestAnimationFrame(()=>{p.scrollHeight-p.scrollTop-p.clientHeight<Wo*2&&(p.scrollTop=p.scrollHeight)});return()=>cancelAnimationFrame(f)}let _=setInterval(()=>{p.scrollHeight-p.scrollTop-p.clientHeight<Wo*2&&(p.scrollTop=p.scrollHeight)},250);return()=>clearInterval(_)},[l.value]),r("div",{ref:s,class:`${Ga}-list`,role:"log","aria-live":"polite","aria-relevant":"additions text",children:[a&&l.value.length===0?r("div",{class:`${Ga}-list-loading`,role:"status",children:t.messagesLoading}):null,l.value.map(p=>r(Ka,{message:p,strings:t,responseMode:n,showReasoning:o,showToolCalls:i},p.id))]})}function lt({itemCount:e,initialFocusIndex:t}){let[n,o]=w(!1),i=N(null),a=N(null),[s,l]=w(-1),c=R(()=>{o(!1),l(-1),i.current?.focus()},[]),u=R(()=>o(_=>!_),[]);P(()=>{if(!n)return;let _=f=>{let v=a.current,m=i.current;if(!v||!m)return;let x=f.composedPath();x.includes(v)||x.includes(m)||(o(!1),l(-1))};return document.addEventListener("click",_,!0),()=>document.removeEventListener("click",_,!0)},[n]),P(()=>{if(!n||e===0)return;let _=t?.()??0,f=_<0||_>=e?0:_;l(f)},[n,e,t]),P(()=>{if(!n||s<0)return;a.current?.querySelectorAll("[role='menuitem']")?.[s]?.focus()},[n,s]);let p=R(_=>{(_.key==="ArrowDown"||_.key==="Enter"||_.key===" ")&&(_.preventDefault(),o(!0))},[]),d=R(_=>{if(e!==0)switch(_.key){case"Escape":_.preventDefault(),c();return;case"ArrowDown":_.preventDefault(),l(f=>(f+1)%e);return;case"ArrowUp":_.preventDefault(),l(f=>(f-1+e)%e);return;case"Home":_.preventDefault(),l(0);return;case"End":_.preventDefault(),l(e-1)}},[e,c]);return{open:n,focusIndex:s,triggerRef:i,menuRef:a,toggle:u,close:c,onTriggerKey:p,onMenuKey:d}}function qa({items:e,triggerLabel:t}){let n=h.cssPrefix,o=lt({itemCount:e.length}),i=a=>{a.disabled||(a.onSelect(),o.close())};return r("div",{class:`${n}-menu-wrap`,children:[r("button",{ref:o.triggerRef,type:"button",class:`${n}-icon-btn`,"aria-label":t,"aria-haspopup":"menu","aria-expanded":o.open,title:t,onClick:o.toggle,onKeyDown:o.onTriggerKey,children:r(ca,{})}),o.open?r("div",{ref:o.menuRef,class:`${n}-menu`,role:"menu","aria-label":t,onKeyDown:o.onMenuKey,tabIndex:-1,children:e.map(a=>r("button",{type:"button",role:"menuitem",class:`${n}-menu-item`,"aria-pressed":a.type==="switch"?a.on:void 0,disabled:a.disabled,lang:a.lang,onClick:()=>i(a),children:[a.icon?r("span",{class:`${n}-menu-icon`,children:a.icon}):null,r("span",{class:`${n}-menu-label`,children:a.label}),a.type==="switch"&&a.on?r("span",{class:`${n}-menu-check`,"aria-hidden":"true",children:r(at,{})}):null]},a.id))}):null]})}var yd=["today","yesterday","lastWeek","older"];function Pd(e,t){let n=Date.parse(t);if(!Number.isFinite(n))return"older";let o=Math.floor((Xa(e)-Xa(n))/(1440*60*1e3));return o<=0?"today":o===1?"yesterday":o<7?"lastWeek":"older"}function ja(e,t){let n=new Map;for(let o of t){let i=Pd(e,o.lastMessageAt),a=n.get(i);a?a.push(o):n.set(i,[o])}return yd.filter(o=>n.has(o)).map(o=>({bucket:o,sessions:n.get(o)}))}function Xa(e){let t=new Date(e);return t.setUTCHours(0,0,0,0),t.getTime()}var Sd=M.scope("history"),wd={today:"dateToday",yesterday:"dateYesterday",lastWeek:"dateLastWeek",older:"dateOlder"};function Rn({transport:e,strings:t,visitorId:n,onSelect:o,onNewChat:i}){let a=h.cssPrefix,[s,l]=w("loading"),[c,u]=w([]);P(()=>{let _=!1;return e.listSessions({visitorId:n}).then(f=>{_||(u(f.sessions??[]),l("loaded"))}).catch(f=>{_||(Sd.warn("listSessions failed",{err:f}),l("error"))}),()=>{_=!0}},[e,n]);let p=i?r("div",{class:`${a}-history-footer`,children:r("button",{type:"button",class:`${a}-history-new`,onClick:i,"data-testid":y.sidebarNewChat,children:[r(Ji,{}),t.historyNewChat]})}):null;if(s==="loading")return r(te,{children:[r("div",{class:`${a}-history-empty`,children:t.historyLoading}),p]});if(s==="error"||c.length===0)return r(te,{children:[r("div",{class:`${a}-history-empty`,children:t.historyEmpty}),p]});let d=ja(Date.now(),c);return r(te,{children:[r("div",{class:`${a}-history`,role:"list",children:d.map(_=>r("div",{class:`${a}-history-group`,children:[r("div",{class:`${a}-history-heading`,children:t[wd[_.bucket]]}),_.sessions.map(f=>r("button",{type:"button",role:"listitem",class:`${a}-history-item`,onClick:()=>o(f),"data-closed":f.canContinue?void 0:"true","data-testid":ce(y.historyItem,f.sessionId),children:[r("span",{class:`${a}-history-title`,children:f.title}),f.preview?r("span",{class:`${a}-history-preview`,children:f.preview}):null]},f.sessionId))]},_.bucket))}),p]})}function Ya(e){return r(Rn,{...e})}function Ja({available:e,active:t,onSelect:n,triggerLabel:o}){let i=h.cssPrefix,a=R(()=>e.indexOf(t),[e,t]),s=lt({itemCount:e.length,initialFocusIndex:a}),l=c=>{n(c),s.close()};return r("div",{class:`${i}-menu-wrap`,children:[r("button",{ref:s.triggerRef,type:"button",class:`${i}-icon-btn`,"aria-label":o,"aria-haspopup":"menu","aria-expanded":s.open,title:o,onClick:s.toggle,onKeyDown:s.onTriggerKey,children:r(pa,{})}),s.open?r("div",{ref:s.menuRef,class:`${i}-menu`,role:"menu","aria-label":o,onKeyDown:s.onMenuKey,tabIndex:-1,children:e.map(c=>{let u=c===t;return r("button",{type:"button",role:"menuitem",class:`${i}-menu-item`,lang:c,"aria-current":u?"true":void 0,onClick:()=>l(c),children:[r("span",{class:`${i}-menu-label`,children:Xr(c,t)}),u?r("span",{class:`${i}-menu-check`,"aria-hidden":"true",children:r(at,{})}):null]},c)})}):null]})}var Ko=["auto","light","dark"];function Qa(e){switch(e){case"light":return r(xa,{});case"dark":return r(ya,{});case"auto":return r(Pa,{})}}function Go({active:e,onSelect:t,triggerLabel:n,optionLabels:o}){let i=h.cssPrefix,a=R(()=>Ko.indexOf(e),[e]),s=lt({itemCount:Ko.length,initialFocusIndex:a}),l=c=>{t(c),s.close()};return r("div",{class:`${i}-menu-wrap`,children:[r("button",{ref:s.triggerRef,type:"button",class:`${i}-icon-btn`,"aria-label":n,"aria-haspopup":"menu","aria-expanded":s.open,title:n,"data-theme-active":e,onClick:s.toggle,onKeyDown:s.onTriggerKey,children:Qa(e)}),s.open?r("div",{ref:s.menuRef,class:`${i}-menu`,role:"menu","aria-label":n,onKeyDown:s.onMenuKey,tabIndex:-1,children:Ko.map(c=>{let u=c===e;return r("button",{type:"button",role:"menuitem",class:`${i}-menu-item`,"aria-current":u?"true":void 0,onClick:()=>l(c),children:[r("span",{class:`${i}-menu-icon`,children:Qa(c)}),r("span",{class:`${i}-menu-label`,children:o[c]}),u?r("span",{class:`${i}-menu-check`,"aria-hidden":"true",children:r(at,{})}):null]},c)})}):null]})}var Za=h.cssPrefix;function es({suggestions:e,onPick:t}){return e.length===0?null:r("div",{class:`${Za}-suggestions`,role:"group","aria-label":"Suggested replies",children:e.map((n,o)=>r("button",{type:"button",class:`${Za}-suggestion`,onClick:()=>t(n),"data-testid":ce(y.suggestion,o),children:n.label},n.id))})}var _e=h.cssPrefix;function ts(e){let{options:t,onClose:n}=e,o=t.strings,i=N(null);P(()=>{let c=i.current;if(!c)return;let u=kn(c),p=d=>{d.key==="Escape"&&n?.()};return c.addEventListener("keydown",p),()=>{u(),c.removeEventListener("keydown",p)}},[n]);let a=N(null),s=R(c=>{a.current?.attachFromDrop(c)},[]),{visible:l}=An({containerRef:i,onDrop:s});return Sn(i.current,t.mode==="modal"),r("div",{ref:i,class:`${_e}-panel`,role:"dialog","aria-modal":"false","aria-label":o.panelTitle,style:{position:"relative"},"data-testid":y.panel,children:[r(Vo,{...e,containerEl:i.current,dragOver:l,composerAttachApiRef:a}),r(qo,{poweredBy:e.options.poweredBy})]})}function Vo({options:e,transport:t,feedback:n,bus:o,panelSize:i,view:a,canSend:s,isStreaming:l,loadingMessages:c,messagesSig:u,agent:p,suggestions:d,initialWidgetSize:_,visitorId:f,onClose:v,onBack:m,onClear:x,onExpand:A,onFullscreen:S,onPopOut:T,onSoundToggle:D,onToggleHistory:O,onSelectHistoryChat:V,onNewChat:ue,onLocaleChange:pe,onThemeChange:X,onWidgetSizeChange:Q,onSend:je,onStop:He,onSuggestion:k,containerEl:B,dragOver:j,composerAttachApiRef:de}){let Y=e.strings;return r(te,{children:[a==="history"?r(kd,{strings:Y,onBack:O,onClose:v,showClose:Aa(e.mode,i,e.actions)}):r(Td,{agent:p,onBack:m,backLabel:Y.moduleBack,moreActionsLabel:Y.moreActions,languageLabel:Y.language,themeLabel:Y.theme,themeOptionLabels:{auto:Y.themeAuto,light:Y.themeLight,dark:Y.themeDark},activeThemeMode:e.themeMode,onThemeChange:X,panelTitle:Y.panelTitle,activeLocale:e.locale,availableLocales:e.availableLocales,onLocaleChange:pe,main:Mo(e.actions.main,e.mode,i,{popOutUrl:e.popOutUrl}),overflow:Mo(e.actions.overflow,e.mode,i,{popOutUrl:e.popOutUrl}),descriptors:Id({strings:Y,panelSize:i,feedback:n,onClear:x,onExpand:A,onFullscreen:S,onPopOut:T,onSoundToggle:D,onToggleHistory:O,onClose:v})}),a==="history"?r(Ya,{transport:t,strings:Y,visitorId:f,onSelect:le=>V(le.sessionId),onNewChat:ue}):r(te,{children:[r(Na,{visible:j,strings:Y}),r(Va,{messagesSig:u,strings:Y,responseMode:e.responseMode,showReasoning:e.showReasoning,showToolCalls:e.showToolCalls,loading:c}),s?r(te,{children:[r(es,{suggestions:d,onPick:k}),r(La,{options:e,transport:t,feedback:n,bus:o,isStreaming:l,onSend:je,onStop:He,attachApiRef:de})]}):r(Ed,{label:Y.chatClosed,ctaLabel:Y.startNewConversation,onNewChat:x}),r(Cd,{disclaimer:e.composerDisclaimer})]}),e.size.resize?.enabled?r(Pn,{panelEl:B,resize:e.size.resize,position:e.position,initialSize:_,onSizeChange:Q,strings:Y}):null]})}function kd({strings:e,onBack:t,onClose:n,showClose:o}){return r("header",{class:`${_e}-header`,children:[r("button",{type:"button",class:`${_e}-icon-btn`,onClick:t,"aria-label":e.historyBack,title:e.historyBack,children:r(wt,{})}),r("h1",{children:e.historyTitle}),o?r("button",{type:"button",class:`${_e}-icon-btn`,onClick:n,"aria-label":e.close,title:e.close,children:r(me,{})}):null]})}function Ed({label:e,ctaLabel:t,onNewChat:n}){return r("div",{class:`${_e}-readonly-banner`,role:"note",children:[r("span",{class:`${_e}-readonly-label`,children:e}),r("button",{type:"button",class:`${_e}-readonly-cta`,onClick:n,children:t})]})}function Cd({disclaimer:e}){return e?r("div",{class:`${_e}-composer-footer`,children:r("div",{class:`${_e}-disclaimer`,children:e})}):null}function qo({poweredBy:e}){return e?r("div",{class:`${_e}-poweredby-bar`,children:r(Ad,{logoUrl:e.logoUrl,text:e.text,href:e.href})}):null}function Ad({logoUrl:e,text:t,href:n}){let o=r(te,{children:[e?r("img",{class:`${_e}-poweredby-logo`,src:e,alt:"",loading:"lazy"}):null,t?r("span",{children:t}):null]});return n?r("a",{class:`${_e}-poweredby`,href:n,target:"_blank",rel:"noopener noreferrer",children:o}):r("span",{class:`${_e}-poweredby`,children:o})}function Td({agent:e,onBack:t,backLabel:n,moreActionsLabel:o,languageLabel:i,themeLabel:a,themeOptionLabels:s,activeThemeMode:l,onThemeChange:c,panelTitle:u,activeLocale:p,availableLocales:d,onLocaleChange:_,main:f,overflow:v,descriptors:m}){let x=d.length>1,A=[];for(let T of v){if(T==="theme")continue;if(T==="language"){if(!x)continue;for(let O of d)A.push({id:`language:${O}`,label:i+` \u2014 ${O}`,lang:O,onSelect:()=>_(O),type:"switch",on:O===p});continue}let D=m[T];A.push({id:T,icon:D.icon,label:D.label,onSelect:D.onSelect,type:D.switchable?"switch":"button",on:D.switchOn})}let S=v.includes("theme");return r("header",{class:`${_e}-header`,"data-testid":y.panelHeader,children:[t?r("button",{type:"button",class:`${_e}-icon-btn`,onClick:t,"aria-label":n,title:n,children:r(wt,{})}):null,e?r(Ia,{agent:e}):r("h1",{children:u}),f.map(T=>{if(T==="language")return x?r(Ja,{available:d,active:p,onSelect:_,triggerLabel:i},"language"):null;if(T==="theme")return r(Go,{active:l,onSelect:c,triggerLabel:a,optionLabels:s},"theme");let D=m[T];return r("button",{type:"button",class:`${_e}-icon-btn`,onClick:D.onSelect,"aria-label":D.label,"aria-pressed":D.switchable?D.switchOn:void 0,title:D.label,"data-testid":wa[T],children:D.icon},T)}),S?r(Go,{active:l,onSelect:c,triggerLabel:a,optionLabels:s}):null,A.length>0?r(qa,{items:A,triggerLabel:o}):null]})}function Id(e){let{strings:t,panelSize:n,feedback:o,onClear:i,onExpand:a,onFullscreen:s,onPopOut:l,onSoundToggle:c,onToggleHistory:u,onClose:p}=e,d=n==="expanded",_=n==="fullscreen",f=we(()=>o.mutedSig.value).value;return{clear:{icon:r(ga,{}),label:t.newConversation,onSelect:i},expand:{icon:d?r(ia,{}):r(ra,{}),label:d?t.collapse:t.expand,onSelect:a,switchable:!0,switchOn:d},fullscreen:{icon:_?r(sa,{}):r(aa,{}),label:_?t.exitFullscreen:t.fullscreen,onSelect:s,switchable:!0,switchOn:_},popOut:{icon:r(fa,{}),label:t.popOut,onSelect:l},sound:{icon:f?r(_a,{}):r(da,{}),label:f?t.soundOff:t.soundOn,onSelect:c,switchable:!0,switchOn:!f},history:{icon:r(ua,{}),label:t.history,onSelect:u},close:{icon:r(me,{}),label:t.close,onSelect:p??(()=>{})}}}function ns(e){let t=h.cssPrefix,{site:n,blocks:o,strings:i,collapsed:a}=e,s=o?.navigation??[],l=o?.linkCards??[],c=a?i.expandSidebar:i.collapseSidebar;return r("aside",{class:`${t}-sidebar`,"data-collapsed":a?"true":"false","data-testid":y.sidebar,children:[r("div",{class:`${t}-sidebar-header`,children:[r(Rd,{site:n}),r("button",{type:"button",class:`${t}-sidebar-toggle`,"aria-label":c,"aria-expanded":a?"false":"true",title:c,onClick:e.onToggleCollapsed,"data-testid":y.sidebarToggle,children:r(Md,{collapsed:a})})]}),a?null:r(te,{children:[s.length>0?r("nav",{class:`${t}-sidebar-section`,"data-section":"navigation",children:r(Ld,{items:s})}):null,l.length>0?r("div",{class:`${t}-sidebar-section`,"data-section":"link-cards",children:r(Nd,{items:l})}):null,e.showConversations?r("div",{class:`${t}-sidebar-conversations`,children:r(Rn,{transport:e.transport,strings:e.strings,visitorId:e.visitorId,onSelect:e.onSelectChat,onNewChat:e.onNewChat})}):null]})]})}function Rd({site:e}){let t=h.cssPrefix;if(e?.logo?.url){let n=e.logo.alt??e.title??"Logo";return r("picture",{children:[e.logoDark?.url?r("source",{srcset:e.logoDark.url,media:"(prefers-color-scheme: dark)"}):null,r("img",{class:`${t}-sidebar-logo`,src:e.logo.url,alt:n})]})}return r("div",{class:`${t}-sidebar-title`,children:e?.title??h.name})}function Md({collapsed:e}){return r("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","aria-hidden":"true",children:e?r("polyline",{points:"9 6 15 12 9 18"}):r("polyline",{points:"15 6 9 12 15 18"})})}function Ld({items:e}){let t=h.cssPrefix;return r("ul",{class:`${t}-sidebar-nav`,children:e.map(n=>r("li",{children:r("a",{class:`${t}-sidebar-nav-item`,href:n.href,target:n.href?"_blank":void 0,rel:n.href?"noreferrer":void 0,children:[n.icon?r("span",{class:`${t}-sidebar-nav-icon`,"data-icon":n.icon}):null,r("span",{class:`${t}-sidebar-nav-label`,children:n.label})]})},n.id??n.label))})}function Nd({items:e}){let t=h.cssPrefix;return r("div",{class:`${t}-sidebar-cards`,children:e.map(n=>r("a",{class:`${t}-sidebar-card`,href:n.href,target:n.href?"_blank":void 0,rel:n.href?"noreferrer":void 0,children:[r("div",{class:`${t}-sidebar-card-label`,children:n.label}),n.description?r("div",{class:`${t}-sidebar-card-desc`,children:n.description}):null]},n.id??n.label))})}var os=h.cssPrefix;function rs(e){return r("main",{class:`${os}-page-shell`,"data-sidebar-collapsed":e.sidebarCollapsed?"true":"false",children:[r(ns,{site:e.site,blocks:e.blocks,transport:e.transport,strings:e.strings,visitorId:e.visitorId,showConversations:e.showConversations,onSelectChat:e.onSelectChat,onNewChat:e.onNewChat,collapsed:e.sidebarCollapsed,onToggleCollapsed:e.onToggleSidebarCollapsed}),r("section",{class:`${os}-page-chat`,"aria-label":"Chat",children:e.children})]})}var is=e=>Object.fromEntries(e.map(t=>[t,[]]));function as(e,t,n){let o=L({activeTab:e,stacks:is(t)});return{sig:o,switchTab(i){o.value.activeTab!==i&&(o.value={...o.value,activeTab:i},n?.(i))},push(i){let a=o.value,s=a.stacks[a.activeTab]??[];o.value={...a,stacks:{...a.stacks,[a.activeTab]:[...s,i]}}},pop(){let i=o.value,a=i.stacks[i.activeTab]??[];a.length!==0&&(o.value={...i,stacks:{...i.stacks,[i.activeTab]:a.slice(0,-1)}})},reset(i){o.value={activeTab:i,stacks:is(t)}}}}var ss=e=>e.stacks[e.activeTab]??[],ls=e=>ss(e).at(-1),cs=e=>ss(e).length===0;var ds={Icon:kt};var Ce=h.cssPrefix;function Mn({title:e,onClose:t,closeLabel:n}){return r("header",{class:`${Ce}-back-header`,"data-variant":"title",children:[r("span",{class:`${Ce}-back-spacer`,"aria-hidden":"true"}),r("h1",{class:`${Ce}-back-title`,children:e}),t?r("button",{type:"button",class:`${Ce}-icon-btn`,onClick:t,"aria-label":n,title:n,children:r(me,{})}):r("span",{class:`${Ce}-back-spacer`,"aria-hidden":"true"})]})}function Ln({title:e,backLabel:t,onBack:n,onClose:o,closeLabel:i,testid:a}){return r("header",{class:`${Ce}-back-header`,"data-testid":a,children:[r("button",{type:"button",class:`${Ce}-icon-btn`,onClick:n,"aria-label":t,title:t,children:r(wt,{})}),r("h1",{class:`${Ce}-back-title`,children:e}),o?r("button",{type:"button",class:`${Ce}-icon-btn`,onClick:o,"aria-label":i,title:i,children:r(me,{})}):r("span",{class:`${Ce}-back-spacer`,"aria-hidden":"true"})]})}var ct=h.cssPrefix;function _s({placeholder:e,onActivate:t}){return r("button",{type:"button",class:`${ct}-home-search`,onClick:t,"data-testid":y.homeSearch,children:[r("span",{class:`${ct}-home-search-text`,children:e}),r("span",{class:`${ct}-home-search-icon`,"aria-hidden":"true",children:r(Ro,{})})]})}function us({placeholder:e,value:t,onInput:n}){return r("div",{class:`${ct}-home-search`,"data-input":"true",children:[r("input",{type:"search",class:`${ct}-home-search-input`,placeholder:e,value:t,onInput:o=>n(o.currentTarget.value),"data-testid":y.helpSearch}),r("span",{class:`${ct}-home-search-icon`,"aria-hidden":"true",children:r(Ro,{})})]})}var Ct=h.cssPrefix;function Nn({title:e,subtitle:t,onClick:n,testid:o}){return r("button",{type:"button",class:`${Ct}-list-row`,onClick:n,"data-testid":o,children:[r("span",{class:`${Ct}-list-row-body`,children:[r("span",{class:`${Ct}-list-row-title`,children:e}),t?r("span",{class:`${Ct}-list-row-sub`,children:t}):null]}),r("span",{class:`${Ct}-list-row-chevron`,"aria-hidden":"true",children:r(xn,{})})]})}var ps=h.cssPrefix;function xe({tone:e="info",message:t,onRetry:n,strings:o}){return r("div",{class:`${ps}-module-empty`,role:e==="error"?"alert":"status","aria-live":"polite",children:[r("span",{children:t}),n?r("button",{type:"button",class:`${ps}-module-retry`,onClick:n,children:o.errorRetry}):null]})}var qe=h.cssPrefix,Od=M.scope("help"),Dd=(e,t)=>t.url?e.push({kind:"iframe",url:t.url,title:t.title}):e.push({kind:"content",id:t.id,title:t.title});function Hd(e){let t=new Map;for(let n of e){let o=n.categories?.[0]??"";(t.get(o)??t.set(o,[]).get(o)).push(n)}return[...t.entries()]}function fs(e,t){let n=t.toLowerCase(),o=n.indexOf(e);if(o!==-1)return 100-Math.min(o,99);let i=0;for(let a of e){if(i=n.indexOf(a,i),i===-1)return 0;i+=1}return 1}function $d(e,t){let n=t.toLowerCase().trim();return n?e.map(o=>({item:o,score:Math.max(fs(n,o.title)*2,fs(n,o.description??""))})).filter(o=>o.score>0).toSorted((o,i)=>i.score-o.score).map(o=>o.item):[]}function gs({article:e,nav:t}){return r(Nn,{title:e.title,subtitle:e.description,onClick:()=>Dd(t,e),testid:ce(y.helpArticle,e.id)})}function Bd({transport:e,strings:t,config:n,nav:o,panelProps:i}){let a=n.contentTags,[s,l]=w("loading"),[c,u]=w(t.errorGeneric),[p,d]=w([]),[_,f]=w(""),[v,m]=w(0);P(()=>{let S=!1;return l("loading"),e.listContent({tags:a,sortBy:"order",limit:100}).then(T=>{S||(d(T.items??[]),l("loaded"))}).catch(T=>{S||(Od.warn("listContent (help) failed",{err:T}),u(We(T,t)),l("error"))}),()=>{S=!0}},[e,a,v]);let x=he(()=>$d(p,_),[p,_]);function A(){return _.trim().length>0?x.length===0?r(xe,{message:t.helpSearchEmpty,strings:t}):r("div",{class:`${qe}-help-card`,children:x.map(S=>r(gs,{article:S,nav:o},S.id))}):s==="loading"?r(xe,{message:t.helpLoading,strings:t}):s==="error"?r(xe,{tone:"error",message:c,onRetry:()=>m(S=>S+1),strings:t}):p.length===0?r(xe,{message:t.helpEmpty,strings:t}):Hd(p).map(([S,T])=>r("section",{class:`${qe}-help-group`,children:[S?r("h2",{class:`${qe}-help-section-title`,children:S}):null,r("div",{class:`${qe}-help-card`,children:T.map(D=>r(gs,{article:D,nav:o},D.id))})]},S))}return r("div",{class:`${qe}-module`,children:[r(Mn,{title:t.helpTitle,onClose:i.onClose,closeLabel:t.close}),r("div",{class:`${qe}-module-pad`,children:r(us,{placeholder:t.helpSearchPlaceholder,value:_,onInput:f})}),r("div",{class:`${qe}-help-list`,children:A()})]})}var ms={Icon:Io,Root:e=>r(Bd,{...e})};var hs=h.cssPrefix;function Xo({onClick:e,children:t,testid:n}){return e?r("button",{type:"button",class:`${hs}-home-card`,"data-interactive":"true",onClick:e,"data-testid":n,children:t}):r("div",{class:`${hs}-home-card`,"data-testid":n,children:t})}var G=h.cssPrefix,vs=M.scope("home");function Ud(e){let t=e.options.userContext?.name,n=e.config.greetingText;return n?{title:t?n.replace("{name}",t):n.replace(/\s*\{name\}\s*/," ").trim(),subtitle:e.strings.homeGreetingLead}:t?{title:e.strings.homeGreetingNamed.replace("{name}",t),subtitle:e.strings.homeGreetingLead}:{title:e.strings.homeGreeting}}var zd=(e,t)=>t.url?e.push({kind:"iframe",url:t.url,title:t.title}):e.push({kind:"content",id:t.id,title:t.title});function Fd(e){let{transport:t,strings:n,config:o,nav:i,panelProps:a}=e,[s,l]=w(null),[c,u]=w([]),p=o.contentTags?.join(",");P(()=>{if(!o.showRecentMessages)return;let m=!1;return t.listSessions({limit:1}).then(x=>!m&&l(x.sessions?.[0]??null)).catch(x=>!m&&vs.warn("listSessions (home) failed",{err:x})),()=>{m=!0}},[t,o.showRecentMessages]),P(()=>{if(!o.contentTags?.length)return;let m=!1;return t.listContent({tags:o.contentTags,limit:6}).then(x=>!m&&u(x.items??[])).catch(x=>!m&&vs.warn("listContent (home) failed",{err:x})),()=>{m=!0}},[t,p]);let d=Ud(e),_=o.userAvatars??[],f=o.status,v=o.contentBlockTitle?rn(n,o.contentBlockTitle):n.homeContentTitle;return r("div",{class:`${G}-module ${G}-home`,"data-testid":y.homeView,children:r("div",{class:`${G}-home-scroll`,children:[r("div",{class:`${G}-home-hero`,children:[r("div",{class:`${G}-home-hero-top`,children:[o.brandName?r("span",{class:`${G}-home-brand`,"data-testid":y.homeBrand,children:o.brandName}):r("span",{class:`${G}-home-brand-spacer`,"aria-hidden":"true"}),r("div",{class:`${G}-home-hero-actions`,children:[_.length>0?r("div",{class:`${G}-home-avatars`,children:_.map(m=>r("span",{class:`${G}-home-avatar`,title:m.role?`${m.name} \xB7 ${m.role}`:m.name,children:m.avatar?r("img",{src:m.avatar,alt:"",loading:"lazy"}):r("span",{children:En(m.name)})},m.name))}):null,a.onClose?r("button",{type:"button",class:`${G}-icon-btn ${G}-home-close`,onClick:a.onClose,"aria-label":n.close,title:n.close,children:r(me,{})}):null]})]}),o.showGreeting!==!1?r(te,{children:[r("h1",{class:`${G}-home-greeting`,"data-testid":y.homeGreeting,children:d.title}),d.subtitle?r("p",{class:`${G}-home-lead`,children:d.subtitle}):null]}):null]}),r("div",{class:`${G}-home-cards`,children:[o.showSearchBar!==!1?r(_s,{placeholder:n.homeSearchPlaceholder,onActivate:()=>i.switchToLayout("help")}):null,s?r(Xo,{onClick:()=>i.selectSession(s.sessionId),testid:y.homeRecent,children:r("div",{class:`${G}-home-recent-row`,"data-unread":(s.unreadCount??0)>0?"true":void 0,children:[r("span",{class:`${G}-home-recent-avatar`,"aria-hidden":"true",children:r(kt,{})}),r("span",{class:`${G}-home-recent-body`,children:[r("span",{class:`${G}-home-recent-title`,children:s.title}),s.preview?r("span",{class:`${G}-home-recent-preview`,children:s.preview}):null]}),(s.unreadCount??0)>0?r("span",{class:`${G}-home-recent-dot`,"aria-label":"Unread"}):null]})}):null,f?r(Xo,{onClick:f.url?()=>i.push({kind:"iframe",url:f.url,title:f.text}):void 0,children:r("div",{class:`${G}-home-status`,"data-level":f.level??"operational",children:[r("span",{class:`${G}-home-status-icon`,"aria-hidden":"true",children:r(ha,{})}),r("span",{class:`${G}-home-status-text`,children:f.text})]})}):null,c.length>0?r("section",{class:`${G}-home-content`,children:[r("div",{class:`${G}-home-content-title`,children:v}),r("div",{class:`${G}-home-content-list`,children:c.map(m=>r(Nn,{title:m.title,subtitle:m.description,onClick:()=>zd(i,m),testid:ce(y.homeContentRow,m.id)},m.id))})]}):null]})]})})}var bs={Icon:va,Root:e=>r(Fd,{...e})};var Ae=h.cssPrefix,Wd=M.scope("news");function Kd({transport:e,strings:t,config:n,nav:o,panelProps:i}){let a=n.contentTags,[s,l]=w("loading"),[c,u]=w(t.errorGeneric),[p,d]=w([]),[_,f]=w(0);P(()=>{let m=!1;return l("loading"),e.listContent({tags:a,sortBy:"publishedAt",sortOrder:"desc"}).then(x=>{m||(d(x.items??[]),l("loaded"))}).catch(x=>{m||(Wd.warn("listContent (news) failed",{err:x}),u(We(x,t)),l("error"))}),()=>{m=!0}},[e,a,_]);function v(){return s==="loading"?r(xe,{message:t.newsLoading,strings:t}):s==="error"?r(xe,{tone:"error",message:c,onRetry:()=>f(m=>m+1),strings:t}):p.length===0?r(xe,{message:t.newsEmpty,strings:t}):r("div",{class:`${Ae}-news-list`,children:p.map(m=>r("button",{type:"button",class:`${Ae}-news-card`,onClick:()=>o.push({kind:"content",id:m.id,title:m.title}),"data-testid":ce(y.newsItem,m.id),children:[m.image?r("img",{class:`${Ae}-news-hero`,src:m.image,alt:"",loading:"lazy"}):null,r("span",{class:`${Ae}-news-body`,children:[m.tags&&m.tags.length>0?r("span",{class:`${Ae}-news-tags`,children:m.tags.map(x=>r("span",{class:`${Ae}-news-tag`,children:x},x))}):null,r("span",{class:`${Ae}-news-title`,children:m.title}),m.description?r("span",{class:`${Ae}-news-summary`,children:m.description}):null]})]},m.id))})}return r("div",{class:`${Ae}-module`,children:[r(Mn,{title:t.newsTitle,onClose:i.onClose,closeLabel:t.close}),r("div",{class:`${Ae}-module-scroll`,children:v()})]})}var xs={Icon:ba,Root:e=>r(Kd,{...e})};var On={chat:ds,home:bs,help:ms,news:xs};var At=h.cssPrefix;function ys({modules:e,activeTab:t,strings:n,unreadCount:o,onSelect:i}){return r("nav",{class:`${At}-tabbar`,role:"tablist","aria-label":n.panelTitle,children:e.map(a=>{let s=On[a.layout].Icon,l=a.id===t,c=a.layout==="chat"&&o>0?o>9?"9+":String(o):null;return r("button",{type:"button",role:"tab","aria-selected":l,class:`${At}-tab`,onClick:()=>i(a.id),"data-testid":ce(y.tab,a.id),children:[r("span",{class:`${At}-tab-icon`,"aria-hidden":"true",children:[r(s,{}),c?r("span",{class:`${At}-tab-badge`,"data-testid":y.tabBadge,children:c}):null]}),r("span",{class:`${At}-tab-label`,children:rn(n,a.label)})]},a.id)})})}var Ps=h.cssPrefix,Gd="allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-downloads";function Ss({url:e,title:t,strings:n,onBack:o,onClose:i}){return r("div",{class:`${Ps}-module`,children:[r(Ln,{title:t||n.moduleBack,backLabel:n.moduleBack,onBack:o,onClose:i,closeLabel:n.close}),r("iframe",{class:`${Ps}-content-frame`,src:e,title:t||"content",sandbox:Gd,referrerpolicy:"no-referrer",loading:"lazy",allow:"fullscreen"})]})}var Xe=h.cssPrefix,Vd=M.scope("content");function ws({id:e,title:t,transport:n,strings:o,onBack:i,onClose:a}){let[s,l]=w(null),[c,u]=w(!1),[p,d]=w(0),_=R(()=>{u(!1),l(null),d(v=>v+1)},[]);P(()=>{let v=!1;return n.listContent({ids:[e],limit:1}).then(m=>{if(v)return;let x=m.items[0];x?l(x):u(!0)}).catch(m=>{v||(Vd.warn("listContent (reader) failed",{err:m}),u(!0))}),()=>{v=!0}},[n,e,p]);function f(){return c?r(xe,{tone:"error",message:o.errorGeneric,onRetry:_,strings:o}):s===null?r(xe,{message:o.contentLoading,strings:o}):r("article",{class:`${Xe}-content`,"data-testid":y.contentView,children:[s.image?r("img",{class:`${Xe}-content-hero`,src:s.image,alt:"",loading:"lazy"}):null,s.description?r("p",{class:`${Xe}-content-subtitle`,children:s.description}):null,s.tags&&s.tags.length>0?r("span",{class:`${Xe}-news-tags`,children:s.tags.map(v=>r("span",{class:`${Xe}-news-tag`,children:v},v))}):null,r(Fa,{text:s.content??""})]})}return r("div",{class:`${Xe}-module`,children:[r(Ln,{title:s?.title||t||o.moduleBack,backLabel:o.moduleBack,onBack:i,onClose:a,closeLabel:o.close,testid:y.backHeader}),r("div",{class:`${Xe}-module-scroll`,"data-testid":y.contentScroll,children:f()})]})}var jo=h.cssPrefix;function ks({panelProps:e,enabledModules:t,nav:n,unreadCount:o,onSelectSession:i,onStartNewSession:a,onSetPanelSize:s}){let l=e.options,c=l.strings,u=N(null);P(()=>{let V=u.current;if(!V)return;let ue=kn(V),pe=X=>{X.key==="Escape"&&e.onClose?.()};return V.addEventListener("keydown",pe),()=>{ue(),V.removeEventListener("keydown",pe)}},[e.onClose]);let p=N(null),d=R(V=>{p.current?.attachFromDrop(V)},[]),{visible:_}=An({containerRef:u,onDrop:d});Sn(u.current,l.mode==="modal");let f=we(()=>n.sig.value).value,v=ls(f),m=l.modules.byId[f.activeTab],x=v?.kind==="iframe"||v?.kind==="content",A=t.length>1&&(cs(f)||!x),S=N(null);P(()=>{if(x&&S.current===null)S.current=e.panelSize,e.panelSize==="normal"&&s("expanded");else if(!x&&S.current!==null){let V=S.current;S.current=null,s(V)}},[x]);let T={push:n.push,pop:n.pop,switchTab:n.switchTab,switchToLayout:V=>{let ue=t.find(pe=>pe.layout===V);ue&&n.switchTab(ue.id)},selectSession:i,startNewSession:a},D=V=>({options:l,transport:e.transport,strings:c,config:V,visitorId:e.visitorId,nav:T,panelProps:e}),O;if(v?.kind==="iframe")O=r(Ss,{url:v.url,title:v.title,strings:c,onBack:n.pop,onClose:e.onClose});else if(v?.kind==="content")O=r(ws,{id:v.id,title:v.title,transport:e.transport,strings:c,onBack:n.pop,onClose:e.onClose});else if(m?.layout==="chat")O=r(Vo,{...e,containerEl:u.current,dragOver:_,composerAttachApiRef:p});else if(m){let V=On[m.layout].Root;O=V?r(V,{...D(m)},m.id):null}else O=null;return r("div",{ref:u,class:`${jo}-panel ${jo}-messenger`,role:"dialog","aria-modal":"false","aria-label":c.panelTitle,style:{position:"relative"},"data-testid":y.messengerHome,children:[r("div",{class:`${jo}-messenger-body`,children:O}),A?r(ys,{modules:t,activeTab:f.activeTab,strings:c,unreadCount:o,onSelect:n.switchTab}):null,r(qo,{poweredBy:l.poweredBy}),l.size.resize?.enabled&&!(m?.layout==="chat"&&!v)?r(Pn,{panelEl:u.current,resize:l.size.resize,position:l.position,initialSize:e.initialWidgetSize,onSizeChange:e.onWidgetSizeChange,strings:c}):null]})}var Tt=h.cssPrefix;function Es({strings:e,onClose:t}){return r("div",{class:`${Tt}-panel ${Tt}-modules-empty`,role:"dialog","aria-label":e.panelTitle,"data-testid":y.modulesEmpty,children:[t?r("button",{type:"button",class:`${Tt}-icon-btn ${Tt}-modules-empty-close`,onClick:t,"aria-label":e.close,title:e.close,children:r(me,{})}):null,r("p",{class:`${Tt}-modules-empty-text`,children:e.modulesEmpty})]})}async function Cs(e,t,n,o){for(let i=0;i<e.length;i++){if(o.aborted)return;let a=e[i],s=t[i];!a||!s||await qd(a,s.text,n,o)}}function qd(e,t,n,o){return new Promise(i=>{let a=e.partsSig.value[0];if(!a||a.kind!=="text"){i();return}let s=()=>{a.textSig.value=t,a.doneSig.value=!0,e.status="complete",i()};if(typeof requestAnimationFrame>"u"){s();return}let l=t.length/Math.max(1,n)*1e3,c=performance.now(),u=d=>{if(o.aborted)return s();let _=l===0?1:Math.min(1,(d-c)/l);if(a.textSig.value=t.slice(0,Math.floor(_*t.length)),_>=1)return s();p=requestAnimationFrame(u)},p=requestAnimationFrame(u);o.addEventListener("abort",()=>{cancelAnimationFrame(p),s()},{once:!0})})}function As({callout:e,persistence:t}){let n=e?.text??"",o=e?.persistent??!0,[i,a]=w(()=>o?!1:t.loadCalloutDismissed(n));P(()=>{a(o?!1:t.loadCalloutDismissed(n))},[n,o,t]);let s=R(()=>{a(!0),o||t.saveCalloutDismissed(n)},[t,n,o]);return{dismissed:i,dismissCallout:s}}var W=M.scope("app"),Yo=h.cssPrefix;function Qo({options:e,hostElement:t,bus:n}){let[o]=w(()=>it(e.widgetId,e.storage)),[i,a]=w(()=>o.getVisitorId()),s=o.loadUserPrefs(),[l,c]=w(()=>s.locale??e.locale),[u,p]=w(()=>s.themeMode??e.themeMode),d=bt(o.loadSessionId()),_=bt([]),f=bt(0),[v,m]=w(!1);function x(){let g=e.modules.list,b=new Set(g.map(ie=>ie.id)),z=o.loadActiveModule();return z&&b.has(z)?z:g[0]?.id??""}function A(){return e.modules.list.find(g=>g.layout==="chat")?.id}let S=N();if(!S.current){let g=e.modules.list.map(b=>b.id);S.current=as(x(),g,b=>o.saveActiveModule(b))}let T=S.current,D=N(void 0);D.current=A();let[O,V]=w(!1),ue=e.mode==="standalone"||e.mode==="inline",pe=N(Pt(e,ot(),o.loadPanelOpen(),o.loadPanelSize())),[X,Q]=w(pe.current.panelOpen),je=N(!1),[He,k]=w(!1),{dismissed:B,dismissCallout:j}=As({callout:e.launcher.callout,persistence:o}),de=e.launcher.callout?.persistent??!0,Y=R(()=>{W.info("calloutDismiss"),n.emit("calloutDismiss",void 0),j()},[n,j]),[le,fe]=w(pe.current.panelSize),Rt=N(!1),[Rs,Dn]=w("chat"),[Ms,dt]=w(!0),[$e,Mt]=w(!1),[Ls,er]=w(null),[Hn,Lt]=w([]),[Nt,Ot]=w(null),$n=N(null),[Ns,Os]=w(void 0),[Ds,Hs]=w(void 0),[$s,Bs]=w(()=>o.loadSidebarCollapsed()??!1),[re]=w(()=>new pn({baseUrl:e.baseUrl,auth:Ri({publicKey:e.publicKey,aiAgentDeploymentId:e.aiAgentDeploymentId,publicKeyHeader:"x-public-key"}),endpoints:e.endpoints})),[Le]=w(()=>new fn(_)),[J]=w(()=>new bn(e.sound,e.haptics)),Ne=R(g=>{o.patchUserPrefs(g),re.saveUserPrefs(o.loadUserPrefs()).catch(b=>{W.warn("saveUserPrefs failed",{err:b})})},[o,re]);P(()=>{s.soundMuted!==void 0&&J.setMuted(s.soundMuted)},[]),P(()=>{t.dataset.theme=u},[t,u,e]),P(()=>{J.update(e.sound,e.haptics)},[J,e.sound,e.haptics]),P(()=>()=>J.destroy(),[J]),P(()=>{let g=!0;return J.mutedSig.subscribe(b=>{if(g){g=!1;return}Ne({soundMuted:b})})},[J,Ne]),P(()=>{Rt.current||!e.size.initialSize||(Rt.current=!0,!o.loadPanelSize()&&fe(wo(e.mode,e.size,ot())))},[e.mode,e.size,o]),P(()=>{if(!O||je.current)return;je.current=!0;let g=Pt(e,ot(),o.loadPanelOpen(),o.loadPanelSize());Q(g.panelOpen),fe(g.panelSize)},[O,e,o]);let tr=N(!1),nr=N(!1),Dt=N(null);P(()=>{if(!(!O||tr.current)){if(tr.current=!0,nr.current){let g=D.current;g&&T.switchTab(g);return}T.reset(x())}},[O]);let or=R(g=>{if(!g||g.length===0)return;let{animation:b,speed:z}=e.welcome;if(b==="instant"){_.value=g.map(Wi);return}$n.current?.abort();let ie=new AbortController;$n.current=ie;let oe=g.map(Fi);_.value=oe,Cs(oe,g,z,ie.signal)},[_,e.welcome]),Bn=N(0),_t=R(async({newConversation:g})=>{let b=++Bn.current,z=()=>b!==Bn.current,ie=d.value,oe=g||!ie?ke():ie;oe!==ie&&(d.value=oe,o.saveSessionId(oe));let C;try{C=await re.startSession({visitorId:i,sessionId:oe,userPrefs:o.loadUserPrefs(),locale:e.locale})}catch(Pe){if(z())return;n.emit("error",Pe),e.onError?.(Pe),g||V(!0);return}if(z())return;if(C.visitorId&&C.visitorId!==i&&(W.info("visitor rebound",{previous:i,current:C.visitorId,reason:C.rebind?.visitorId}),o.setVisitorId(C.visitorId),a(C.visitorId),n.emit("visitorRebound",{previous:i,current:C.visitorId,reason:C.rebind?.visitorId})),C.sessionId&&C.sessionId!==oe&&(W.info("session rebound",{previous:oe,current:C.sessionId,reason:C.rebind?.sessionId}),n.emit("sessionRebound",{previous:oe,current:C.sessionId,reason:C.rebind?.sessionId})),C.agent&&er(C.agent),C.welcome?.suggestions&&Lt(C.welcome.suggestions),e.mode==="page"&&(C.site&&yi(C.site)?Os(C.site):C.site&&W.warn("invalid site config, using fallback",{site:C.site}),C.blocks&&Pi(C.blocks)?Hs(C.blocks):C.blocks&&W.warn("invalid blocks config, using fallback",{blocks:C.blocks})),C.userPrefs&&!g&&(o.saveUserPrefs(C.userPrefs),C.userPrefs.locale&&c(C.userPrefs.locale),C.userPrefs.soundMuted!==void 0&&J.setMuted(C.userPrefs.soundMuted),C.userPrefs.themeMode&&p(C.userPrefs.themeMode)),!g&&ie&&C.sessionId===ie){m(!0);try{let Pe=C.messages?.length?{sessionId:ie,canContinue:C.canContinue??!0,messages:C.messages}:await re.loadSession(ie);if(z())return;let ge=(Pe.messages??[]).map(Ao),ur=Dt.current?[Dt.current]:[];(ge.length||ur.length)&&(_.value=[...ge,...ur]),dt(Pe.canContinue??!0),Lt(Pe.suggestions??[])}catch(Pe){if(z())return;W.warn("loadSession failed; resetting sessionId",{err:Pe,sessionId:ie}),d.value=void 0,o.saveSessionId(void 0)}finally{z()||m(!1)}}else d.value=C.sessionId,o.saveSessionId(C.sessionId),or(C.welcome?.messages);g||(n.emit("sessionStarted",C),V(!0))},[re,i,o,e,n,_,d,J,or]),ut=JSON.stringify(e.userContext??null),Us=JSON.stringify(e.pageContext??null);P(()=>{re.setContext(e.userContext,Xd(e.pageContext))},[re,ut,Us]);let zs=R(async g=>{let b=null;try{for await(let z of g.iter){if(!b){b=Co(),Dt.current=b,Le.attach(b),_.value=[..._.value,b],Mt(!0),Ot(()=>g.cancel),nr.current=!0;let ie=D.current;ie&&T.switchTab(ie),W.info("resumed in-flight reply on mount")}Le.apply(z.chunk),z.chunk.type==="finish"&&z.chunk.canContinue===!1&&dt(!1)}b&&(b.status="complete",J.play("messageReceived"),Jo(n,e,"assistant",To(b)))}catch(z){b&&(b.status="error",b.errorText=We(z,e.strings),J.play("error")),W.debug("mount resume ended without completing",{err:z})}finally{Dt.current=null,b&&(Le.detach(),Mt(!1),Ot(null),_.value=[..._.value])}},[Le,_,J,n,e,T]);P(()=>{_t({newConversation:!1});let g=d.value,b=null;return g&&(re.primeIdentity(i,g),b=re.resumeStream(),zs(b)),()=>{Bn.current++,b?.cancel()}},[]);let rr=N(ut);P(()=>{!O||rr.current===ut||(rr.current=ut,_t({newConversation:!1}))},[ut,O,_t]),P(()=>{yt(t,un(e.mode,le,X))},[t,X,le,e.mode]),P(()=>{if(e.mode!=="modal"||!X)return;let g=b=>{b.composedPath().some(oe=>oe instanceof HTMLElement&&oe.classList.contains(`${h.cssPrefix}-panel`))||Q(!1)};return t.addEventListener("click",g),()=>t.removeEventListener("click",g)},[t,X,e.mode]),P(()=>{if(e.mode!=="drawer"||!X)return;let g=b=>{b.key==="Escape"&&Q(!1)};return document.addEventListener("keydown",g),()=>document.removeEventListener("keydown",g)},[X,e.mode]);let ir=R(async(g,b)=>{if(W.info("send",{textLen:g.length,attachments:b.length,streaming:$e}),$e)return;n.emit("send",{text:g,attachmentCount:b.length}),Hn.length>0&&Lt([]);let z=await Yd(re,b,ge=>{W.warn("upload failed",{err:ge}),n.emit("error",ge),e.onError?.(ge)});J.unlock(),J.play("messageSent");let ie=zi(g,z),oe=Co();_.value=[..._.value,ie,oe],Le.attach(oe),Jo(n,e,"user",g);let C=d.value??ke();d.value||(d.value=C,o.saveSessionId(C));let _r=Hi({messages:_.value.slice(0,-1).map(Ki),sessionId:C,tools:e.features.tools,responseMode:e.responseMode,visitorId:i,userPrefs:o.loadUserPrefs()});Mt(!0);let Pe=re.sendMessage(_r);Ot(()=>Pe.cancel);try{for await(let ge of Pe.iter)Le.apply(ge.chunk),ge.chunk.type==="finish"&&ge.chunk.canContinue===!1&&dt(!1);oe.status="complete",J.play("messageReceived"),Jo(n,e,"assistant",To(oe))}catch(ge){oe.status="error",oe.errorText=We(ge,e.strings),J.play("error"),n.emit("error",ge),e.onError?.(ge)}finally{Le.detach(),Mt(!1),Ot(null),_.value=[..._.value]}},[$e,re,Le,_,d,e,n,Hn.length,J,o,i]),Fs=R(()=>{W.info("stop"),n.emit("stop",void 0),Nt?.()},[Nt,n]),Ws=R(()=>{J.toggleMuted();let g=J.mutedSig.value;W.info("soundToggle",{muted:g}),n.emit("soundToggle",{muted:g})},[J,n]),pt=R(()=>{if(Ta(e.mode,le)==="exit-fullscreen"){W.info("close \u2192 exit-fullscreen",{mode:e.mode}),fe("normal"),n.emit("fullscreen",!1);return}W.info("close \u2192 panel closed",{mode:e.mode}),Q(!1),o.savePanelOpen(!1),n.emit("close",void 0),e.onClose?.()},[n,e,o,le]),Ye=R(()=>{e.modules.list.some(g=>g.layout==="chat")&&re.listSessions({limit:50}).then(g=>{f.value=g.sessions.reduce((b,z)=>b+(z.unreadCount??0),0)}).catch(g=>W.debug("refreshUnread failed (non-fatal)",{err:g}))},[re,e.modules,f]),ar=N(!1);P(()=>{!O||ar.current||(ar.current=!0,Ye())},[O,Ye]);let Un=R(()=>{W.info("open",{mode:e.mode}),J.unlock(),k(!0),Q(!0),o.savePanelOpen(!0),!B&&!de&&Y(),setTimeout(()=>k(!1),jd),Ye(),n.emit("open",void 0),e.onOpen?.()},[n,e,J,o,B,de,Y,Ye]),zn=R(()=>{W.info("clear \u2192 new conversation",{wasStreaming:$e}),n.emit("clear",void 0),$e&&Nt?.(),$n.current?.abort(),_.value=[],d.value=void 0,o.clearSession(),dt(!0),_t({newConversation:!0})},[$e,Nt,_,d,o,_t,n]),Fn=R(()=>{zn(),Dn("chat");let g=e.modules.list.find(b=>b.layout==="chat")?.id;g&&T.switchTab(g)},[zn,T,e]),Wn=R(()=>{let g=le==="expanded"?"normal":"expanded";W.info("expand",{from:le,expanded:g==="expanded"}),fe(g),o.savePanelSize(g),n.emit("expand",g==="expanded")},[n,le,o]),Kn=R(()=>{let g=le==="fullscreen"?"normal":"fullscreen";W.info("fullscreen",{from:le,fullscreen:g==="fullscreen"}),fe(g),o.savePanelSize(g),n.emit("fullscreen",g==="fullscreen")},[n,le,o]),Gn=R(()=>{if(!e.popOutUrl)return;let g=new URL(e.popOutUrl);d.value&&g.searchParams.set("chat",d.value),e.widgetId!=="default"&&g.searchParams.set("widgetId",e.widgetId),W.info("popOut",{url:g.toString()}),window.open(g.toString(),"_blank","noopener,noreferrer"),n.emit("popOut",void 0)},[n,d,e.popOutUrl,e.widgetId]),Ks=R(()=>{Dn(g=>{let b=g==="history"?"chat":"history";return W.info("toggleHistory",{view:b}),n.emit("toggleHistory",{view:b}),b})},[n]),Gs=R(g=>{W.info("localeChange",{locale:g}),c(g),Ne({locale:g}),n.emit("localeChange",g)},[Ne,n]),Vs=R(g=>{W.info("themeChange",{mode:g}),p(g),t.dataset.theme=g,Ne({themeMode:g}),n.emit("themeChange",g)},[t,Ne,n]),qs=R(()=>{Bs(g=>{let b=!g;return W.info("sidebarToggle",{collapsed:b}),o.saveSidebarCollapsed(b),n.emit("sidebarToggle",{collapsed:b}),b})},[o,n]),Xs=R(g=>{W.info("resize",g),Ne({widgetSize:g}),n.emit("resize",g)},[Ne,n]),Vn=R(async g=>{W.info("selectChat",{sessionId:g}),n.emit("selectChat",{sessionId:g});try{let b=await re.loadSession(g),z=b.messages.map(Ao);_.value=z,d.value=b.sessionId,o.saveSessionId(b.sessionId),b.agent&&er(b.agent),dt(b.canContinue),Lt(b.suggestions??[]),Dn("chat"),await re.markRead(g),Ye()}catch(b){n.emit("error",b),e.onError?.(b)}},[re,_,d,n,e,o,Ye]);P(()=>Si(t,{open:Un,close:pt,expand:Wn,fullscreen:Kn,popout:Gn}),[t,Un,pt,Wn,Kn,Gn]);let ye=he(()=>vo(e,l,u),[e,l,u]),sr={options:ye,transport:re,feedback:J,bus:n,view:Rs,canSend:Ms,isStreaming:$e,loadingMessages:v,messagesSig:_,agent:Ls,suggestions:Hn,initialWidgetSize:s.widgetSize??null,visitorId:i,onClose:pt,onClear:zn,onExpand:Wn,onFullscreen:Kn,onPopOut:Gn,onSoundToggle:Ws,onToggleHistory:Ks,onSelectHistoryChat:Vn,onNewChat:Fn,onLocaleChange:Gs,onThemeChange:Vs,onWidgetSizeChange:Xs,onSend:ir,onStop:Fs,onSuggestion:g=>{let b=g.text??g.label;W.info("suggestion",{text:b}),n.emit("suggestion",{text:b}),ir(b,[])}},js=g=>{Vn(g);let b=A();b&&T.switchTab(b)};if(!O)return null;let ft=ye.modules.list,qn=g=>{let b=wn("close",ye.mode,g);return ft.length===0?r(Es,{strings:ye.strings,onClose:b?pt:void 0}):ft.length===1&&ft[0]?.layout==="chat"?r(ts,{...sr,panelSize:g}):r(ks,{panelProps:{...sr,panelSize:g,onClose:b?pt:void 0},enabledModules:ft,nav:T,unreadCount:f.value,onSelectSession:js,onStartNewSession:Fn,onSetPanelSize:fe})};if(e.mode==="page"){let g=z=>{Vn(z.sessionId)},b=ft.some(z=>z.layout==="chat");return r("div",{class:`${Yo}-anchor`,children:r(rs,{site:Ns,blocks:Ds,transport:re,strings:ye.strings,visitorId:i,showConversations:b,onSelectChat:g,onNewChat:Fn,sidebarCollapsed:$s,onToggleSidebarCollapsed:qs,children:qn("fullscreen")})})}if(ue){let g=e.mode==="standalone"?"fullscreen":le;return r("div",{class:`${Yo}-anchor`,children:qn(g)})}let lr=e.mode==="drawer",cr=!(e.mode==="modal")&&!e.launcher.hidden&&(!X||He),dr=cr&&!He&&!B&&!lr?ye.launcher.callout:null;return r("div",{class:`${Yo}-anchor`,"data-launcher-size":ye.launcher.size,children:[X?qn(le):null,cr?r(ka,{onToggle:Un,launcher:ye.launcher,strings:ye.strings,leaving:He,edgeTab:lr}):null,dr?r(Ea,{callout:dr,launcherPosition:ye.position,closeLabel:ye.strings.close,onDismiss:Y}):null]})}function Xd(e){let t=e?.url??(typeof location<"u"?location.href:void 0);if(!(!e&&!t))return{...e,...t?{url:t}:{}}}var jd=120;async function Yd(e,t,n){let o=[];for(let i of t)try{let{id:a,url:s}=await e.uploadFile(i.file);o.push({id:a,name:i.name,mediaType:i.mediaType,size:i.size,url:s})}catch(a){n(a)}return o}function Jo(e,t,n,o){let i={role:n,text:o};e.emit("message",i),t.onMessage?.(i)}var tv=M.scope("error-boundary");var sv=M.scope("iframe");var It=class{constructor(){$(this,"handlers",new Map)}on(t,n){let o=this.handlers.get(t);return o||(o=new Set,this.handlers.set(t,o)),o.add(n),()=>this.handlers.get(t)?.delete(n)}emit(t,n){let o=this.handlers.get(t);if(o)for(let i of o)try{i(n)}catch{}}clear(){this.handlers.clear()}};var fv=M.scope("hooks");function Ts(e){if(e.mode==="standalone")return"standalone";if(e.mode==="inline")return"inline";let t=it(e.widgetId,e.storage),{panelOpen:n,panelSize:o}=Pt(e,ot(),t.loadPanelOpen(),t.loadPanelSize());return un(e.mode,o,n)}var Zo=class extends HTMLElement{constructor(){super(...arguments);$(this,"bus",new It);$(this,"mountResult",null);$(this,"rawOptions",{})}static get observedAttributes(){return bo}connectedCallback(){this.boot()}disconnectedCallback(){this.mountResult&&(Vt(null,this.mountResult.appRoot),this.bus.clear())}attributeChangedCallback(){this.isConnected&&this.boot()}boot(){if(this.rawOptions=xo(n=>this.getAttribute(n)),!this.mountResult){let n=xt(this.rawOptions);this.mountResult=_n({existingHost:this,position:dn(n.mode)}),this.bus.on("sessionStarted",o=>{o.config&&(this.rawOptions=cn(this.rawOptions,o.config),this.renderApp())})}this.renderApp()}renderApp(){if(!this.mountResult)return;let n=xt(this.rawOptions),o=this.mountResult.hostElement;Po(o,dn(n.mode));let i=it(n.widgetId,n.storage).loadUserPrefs().themeMode;So(o,i?{...n,themeMode:i}:n),yt(o,Ts(n)),Vt(Gt(Qo,{bus:this.bus,hostElement:o,options:n}),this.mountResult.appRoot)}},Is=!1;function Jd(){if(Is||typeof customElements>"u")return;let e=h.tagName;customElements.get(e)||customElements.define(e,Zo),Is=!0}typeof customElements<"u"&&Jd();export{Jd as registerWebComponent};
39
+ `){U(e),F(e,16),e.pending=n;continue}}break;case"$":if(e.token!==19&&e.token!==16&&e.pending==="$")if(n==="$"){e.token=105,e.pending=o;continue}else{if(dd(n.charCodeAt(0)))break;U(e),F(e,31),e.pending=n;continue}break;case"[":if(e.token!==19&&e.token!==17&&e.token!==30&&e.token!==31&&n!=="]"){U(e),F(e,17),e.pending=n;continue}break;case"!":if(e.token!==19&&n==="["){U(e),F(e,19),e.pending="";continue}break;case" ":if(e.pending.length===1&&n===" ")continue;break}if(e.token!==19&&e.token!==17&&e.token!==30&&e.token!==31&&n==="h"&&(e.pending===" "||e.pending==="")){e.text+=e.pending,e.pending=n,e.token=102;continue}e.text+=e.pending,e.pending=n}U(e)}function Fo(e){return{add_token:_d,end_token:ud,add_text:pd,set_attr:fd,data:{nodes:[e,,,,,],index:0}}}function _d(e,t){let n=e.nodes[e.index],o;switch(t){case 1:return;case 20:o=document.createElement("blockquote");break;case 2:o=document.createElement("p");break;case 21:o=document.createElement("br");break;case 22:o=document.createElement("hr");break;case 3:o=document.createElement("h1");break;case 4:o=document.createElement("h2");break;case 5:o=document.createElement("h3");break;case 6:o=document.createElement("h4");break;case 7:o=document.createElement("h5");break;case 8:o=document.createElement("h6");break;case 12:case 13:o=document.createElement("em");break;case 14:case 15:o=document.createElement("strong");break;case 16:o=document.createElement("s");break;case 11:o=document.createElement("code");break;case 18:case 17:o=document.createElement("a");break;case 19:o=document.createElement("img");break;case 23:o=document.createElement("ul");break;case 24:o=document.createElement("ol");break;case 25:o=document.createElement("li");break;case 26:let i=o=document.createElement("input");i.type="checkbox",i.disabled=!0;break;case 9:case 10:n=n.appendChild(document.createElement("pre")),o=document.createElement("code");break;case 27:o=document.createElement("table");break;case 28:switch(n.children.length){case 0:n=n.appendChild(document.createElement("thead"));break;case 1:n=n.appendChild(document.createElement("tbody"));break;default:n=n.children[1]}o=document.createElement("tr");break;case 29:o=document.createElement(n.parentElement?.tagName==="THEAD"?"th":"td");break;case 30:o=document.createElement("equation-block");break;case 31:o=document.createElement("equation-inline");break}e.nodes[++e.index]=n.appendChild(o)}function ud(e){e.index-=1}function pd(e,t){e.nodes[e.index].appendChild(document.createTextNode(t))}function fd(e,t,n){e.nodes[e.index].setAttribute(id(t),n)}function In({textSig:e,doneSig:t}){let n=N(null);return P(()=>{let o=n.current;if(!o)return;o.classList.add(`${h.cssPrefix}-md`);let i=Fo(o),a=zo(i),s=0,l=Re(()=>{let p=e.value,d=t.value;p.length<s&&(o.replaceChildren(),i=Fo(o),a=zo(i),s=0);let _=p.slice(s);_&&se(a,_),s=p.length,d&&Ua(a)}),c=new MutationObserver(p=>{for(let d of p)for(let _ of d.addedNodes){if(!(_ instanceof HTMLElement))continue;let f=_.matches?.("a")?[_]:[..._.querySelectorAll?.("a")??[]];for(let v of f)za(v)}});c.observe(o,{childList:!0,subtree:!0});for(let p of o.querySelectorAll("a"))za(p);let u=p=>{let d=p.target?.closest?.("a");if(!d||!(d instanceof HTMLAnchorElement))return;let _=d.getAttribute("href")??"";!_||_.startsWith("#")||(p.preventDefault(),window.open(_,"_blank","noopener,noreferrer"))};return o.addEventListener("click",u),()=>{l(),c.disconnect(),o.removeEventListener("click",u)}},[e,t]),r("div",{ref:n})}function Fa({text:e}){let t=he(()=>L(e),[e]),n=he(()=>L(!0),[]);return r(In,{textSig:t,doneSig:n})}function za(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(" ")}function Wa({part:e,strings:t}){let n=h.cssPrefix;return r("span",{class:`${n}-tool-chip`,role:"status",children:[r("span",{children:[t.usedTool,":"]}),r("strong",{children:e.toolName})]})}var Se=h.cssPrefix;function Ka({message:e,strings:t,responseMode:n,showReasoning:o,showToolCalls:i}){let s=we(()=>e.partsSig.value).value,l=we(()=>e.partsSig.value.some(f=>f.kind==="text"&&f.textSig.value.length>0)),c=we(()=>o&&e.partsSig.value.some(f=>f.kind==="reasoning")),u=e.role==="assistant"&&e.status==="streaming",p=n==="buffered"&&u,d=u&&!l.value,_=u&&!p&&!(c.value&&d);return r("div",{class:`${Se}-bubble-row`,"data-role":e.role,"data-testid":ce(y.messageBubble,e.id),children:r("div",{class:`${Se}-bubble`,children:[p?r(xd,{label:t.loading}):s.map(f=>r(md,{part:f,active:d,strings:t,showReasoning:o,showToolCalls:i},vd(f))),_&&r(bd,{}),e.status==="error"&&e.errorText?r("div",{class:`${Se}-error`,role:"alert",children:r("span",{children:e.errorText})}):null]})})}function md({part:e,active:t,strings:n,showReasoning:o,showToolCalls:i}){switch(e.kind){case"text":return r(In,{textSig:e.textSig,doneSig:e.doneSig});case"reasoning":return o?r(hd,{part:e,active:t,strings:n}):null;case"tool":return i?r(Wa,{part:e,strings:n}):null;case"file":return e.mediaType.startsWith("image/")?r("img",{src:e.url,alt:"",loading:"lazy"}):r("a",{href:e.url,target:"_blank",rel:"noreferrer noopener",children:e.url});case"source":return null}}function hd({part:e,active:t,strings:n}){return r("details",{class:`${Se}-reasoning`,open:t,"data-active":t?"true":void 0,children:[r("summary",{class:`${Se}-reasoning-summary`,children:r("span",{class:`${Se}-reasoning-label`,children:t?n.thinking:n.thoughts})}),r("div",{class:`${Se}-reasoning-body`,children:r(In,{textSig:e.textSig,doneSig:e.doneSig})})]})}function vd(e){switch(e.kind){case"text":case"reasoning":return`${e.kind}:${e.id}`;case"tool":return`tool:${e.toolCallId}`;case"file":return`file:${e.url}`;case"source":return`source:${e.sourceId}`}}function bd(){return r("span",{class:`${Se}-typing`,"aria-hidden":"true",children:[r("span",{}),r("span",{}),r("span",{})]})}function xd({label:e}){return r("span",{class:`${Se}-loading`,role:"status",children:[r("span",{class:`${Se}-loading-spinner`,"aria-hidden":"true"}),r("span",{class:`${Se}-loading-label`,children:e})]})}var Ga=h.cssPrefix,Wo=120;function Va({messagesSig:e,strings:t,responseMode:n,showReasoning:o,showToolCalls:i,loading:a}){let s=N(null),l=we(()=>e.value),c=N(!1),u=l.value[0]?.id;return Dr(()=>{let p=s.current;if(!p||l.value.length===0)return;c.current=!0;let d=()=>{p.scrollTop=p.scrollHeight};d();let _=new ResizeObserver(d);_.observe(p);let f=new MutationObserver(d);f.observe(p,{childList:!0,subtree:!0,characterData:!0});let v=setTimeout(()=>{_.disconnect(),f.disconnect()},300);return()=>{_.disconnect(),f.disconnect(),clearTimeout(v)}},[u]),P(()=>{let p=s.current;if(!p||!c.current)return;p.scrollHeight-p.scrollTop-p.clientHeight<Wo&&(p.scrollTop=p.scrollHeight)},[l.value.length]),P(()=>{let p=s.current;if(!p)return;let d=l.value.at(-1);if(!d)return;if(d.status!=="streaming"){let f=requestAnimationFrame(()=>{p.scrollHeight-p.scrollTop-p.clientHeight<Wo*2&&(p.scrollTop=p.scrollHeight)});return()=>cancelAnimationFrame(f)}let _=setInterval(()=>{p.scrollHeight-p.scrollTop-p.clientHeight<Wo*2&&(p.scrollTop=p.scrollHeight)},250);return()=>clearInterval(_)},[l.value]),r("div",{ref:s,class:`${Ga}-list`,role:"log","aria-live":"polite","aria-relevant":"additions text",children:[a&&l.value.length===0?r("div",{class:`${Ga}-list-loading`,role:"status",children:t.messagesLoading}):null,l.value.map(p=>r(Ka,{message:p,strings:t,responseMode:n,showReasoning:o,showToolCalls:i},p.id))]})}function lt({itemCount:e,initialFocusIndex:t}){let[n,o]=w(!1),i=N(null),a=N(null),[s,l]=w(-1),c=R(()=>{o(!1),l(-1),i.current?.focus()},[]),u=R(()=>o(_=>!_),[]);P(()=>{if(!n)return;let _=f=>{let v=a.current,m=i.current;if(!v||!m)return;let x=f.composedPath();x.includes(v)||x.includes(m)||(o(!1),l(-1))};return document.addEventListener("click",_,!0),()=>document.removeEventListener("click",_,!0)},[n]),P(()=>{if(!n||e===0)return;let _=t?.()??0,f=_<0||_>=e?0:_;l(f)},[n,e,t]),P(()=>{if(!n||s<0)return;a.current?.querySelectorAll("[role='menuitem']")?.[s]?.focus()},[n,s]);let p=R(_=>{(_.key==="ArrowDown"||_.key==="Enter"||_.key===" ")&&(_.preventDefault(),o(!0))},[]),d=R(_=>{if(e!==0)switch(_.key){case"Escape":_.preventDefault(),c();return;case"ArrowDown":_.preventDefault(),l(f=>(f+1)%e);return;case"ArrowUp":_.preventDefault(),l(f=>(f-1+e)%e);return;case"Home":_.preventDefault(),l(0);return;case"End":_.preventDefault(),l(e-1)}},[e,c]);return{open:n,focusIndex:s,triggerRef:i,menuRef:a,toggle:u,close:c,onTriggerKey:p,onMenuKey:d}}function qa({items:e,triggerLabel:t}){let n=h.cssPrefix,o=lt({itemCount:e.length}),i=a=>{a.disabled||(a.onSelect(),o.close())};return r("div",{class:`${n}-menu-wrap`,children:[r("button",{ref:o.triggerRef,type:"button",class:`${n}-icon-btn`,"aria-label":t,"aria-haspopup":"menu","aria-expanded":o.open,title:t,onClick:o.toggle,onKeyDown:o.onTriggerKey,children:r(ca,{})}),o.open?r("div",{ref:o.menuRef,class:`${n}-menu`,role:"menu","aria-label":t,onKeyDown:o.onMenuKey,tabIndex:-1,children:e.map(a=>r("button",{type:"button",role:"menuitem",class:`${n}-menu-item`,"aria-pressed":a.type==="switch"?a.on:void 0,disabled:a.disabled,lang:a.lang,onClick:()=>i(a),children:[a.icon?r("span",{class:`${n}-menu-icon`,children:a.icon}):null,r("span",{class:`${n}-menu-label`,children:a.label}),a.type==="switch"&&a.on?r("span",{class:`${n}-menu-check`,"aria-hidden":"true",children:r(at,{})}):null]},a.id))}):null]})}var yd=["today","yesterday","lastWeek","older"];function Pd(e,t){let n=Date.parse(t);if(!Number.isFinite(n))return"older";let o=Math.floor((Xa(e)-Xa(n))/(1440*60*1e3));return o<=0?"today":o===1?"yesterday":o<7?"lastWeek":"older"}function ja(e,t){let n=new Map;for(let o of t){let i=Pd(e,o.lastMessageAt),a=n.get(i);a?a.push(o):n.set(i,[o])}return yd.filter(o=>n.has(o)).map(o=>({bucket:o,sessions:n.get(o)}))}function Xa(e){let t=new Date(e);return t.setUTCHours(0,0,0,0),t.getTime()}var Sd=M.scope("history"),wd={today:"dateToday",yesterday:"dateYesterday",lastWeek:"dateLastWeek",older:"dateOlder"};function Rn({transport:e,strings:t,visitorId:n,onSelect:o,onNewChat:i}){let a=h.cssPrefix,[s,l]=w("loading"),[c,u]=w([]);P(()=>{let _=!1;return e.listSessions({visitorId:n}).then(f=>{_||(u(f.sessions??[]),l("loaded"))}).catch(f=>{_||(Sd.warn("listSessions failed",{err:f}),l("error"))}),()=>{_=!0}},[e,n]);let p=i?r("div",{class:`${a}-history-footer`,children:r("button",{type:"button",class:`${a}-history-new`,onClick:i,"data-testid":y.sidebarNewChat,children:[r(Ji,{}),t.historyNewChat]})}):null;if(s==="loading")return r(te,{children:[r("div",{class:`${a}-history-empty`,children:t.historyLoading}),p]});if(s==="error"||c.length===0)return r(te,{children:[r("div",{class:`${a}-history-empty`,children:t.historyEmpty}),p]});let d=ja(Date.now(),c);return r(te,{children:[r("div",{class:`${a}-history`,role:"list",children:d.map(_=>r("div",{class:`${a}-history-group`,children:[r("div",{class:`${a}-history-heading`,children:t[wd[_.bucket]]}),_.sessions.map(f=>r("button",{type:"button",role:"listitem",class:`${a}-history-item`,onClick:()=>o(f),"data-closed":f.canContinue?void 0:"true","data-testid":ce(y.historyItem,f.sessionId),children:[r("span",{class:`${a}-history-title`,children:f.title}),f.preview?r("span",{class:`${a}-history-preview`,children:f.preview}):null]},f.sessionId))]},_.bucket))}),p]})}function Ya(e){return r(Rn,{...e})}function Ja({available:e,active:t,onSelect:n,triggerLabel:o}){let i=h.cssPrefix,a=R(()=>e.indexOf(t),[e,t]),s=lt({itemCount:e.length,initialFocusIndex:a}),l=c=>{n(c),s.close()};return r("div",{class:`${i}-menu-wrap`,children:[r("button",{ref:s.triggerRef,type:"button",class:`${i}-icon-btn`,"aria-label":o,"aria-haspopup":"menu","aria-expanded":s.open,title:o,onClick:s.toggle,onKeyDown:s.onTriggerKey,children:r(pa,{})}),s.open?r("div",{ref:s.menuRef,class:`${i}-menu`,role:"menu","aria-label":o,onKeyDown:s.onMenuKey,tabIndex:-1,children:e.map(c=>{let u=c===t;return r("button",{type:"button",role:"menuitem",class:`${i}-menu-item`,lang:c,"aria-current":u?"true":void 0,onClick:()=>l(c),children:[r("span",{class:`${i}-menu-label`,children:Xr(c,t)}),u?r("span",{class:`${i}-menu-check`,"aria-hidden":"true",children:r(at,{})}):null]},c)})}):null]})}var Ko=["auto","light","dark"];function Qa(e){switch(e){case"light":return r(xa,{});case"dark":return r(ya,{});case"auto":return r(Pa,{})}}function Go({active:e,onSelect:t,triggerLabel:n,optionLabels:o}){let i=h.cssPrefix,a=R(()=>Ko.indexOf(e),[e]),s=lt({itemCount:Ko.length,initialFocusIndex:a}),l=c=>{t(c),s.close()};return r("div",{class:`${i}-menu-wrap`,children:[r("button",{ref:s.triggerRef,type:"button",class:`${i}-icon-btn`,"aria-label":n,"aria-haspopup":"menu","aria-expanded":s.open,title:n,"data-theme-active":e,onClick:s.toggle,onKeyDown:s.onTriggerKey,children:Qa(e)}),s.open?r("div",{ref:s.menuRef,class:`${i}-menu`,role:"menu","aria-label":n,onKeyDown:s.onMenuKey,tabIndex:-1,children:Ko.map(c=>{let u=c===e;return r("button",{type:"button",role:"menuitem",class:`${i}-menu-item`,"aria-current":u?"true":void 0,onClick:()=>l(c),children:[r("span",{class:`${i}-menu-icon`,children:Qa(c)}),r("span",{class:`${i}-menu-label`,children:o[c]}),u?r("span",{class:`${i}-menu-check`,"aria-hidden":"true",children:r(at,{})}):null]},c)})}):null]})}var Za=h.cssPrefix;function es({suggestions:e,onPick:t}){return e.length===0?null:r("div",{class:`${Za}-suggestions`,role:"group","aria-label":"Suggested replies",children:e.map((n,o)=>r("button",{type:"button",class:`${Za}-suggestion`,onClick:()=>t(n),"data-testid":ce(y.suggestion,o),children:n.label},n.id))})}var _e=h.cssPrefix;function ts(e){let{options:t,onClose:n}=e,o=t.strings,i=N(null);P(()=>{let c=i.current;if(!c)return;let u=kn(c),p=d=>{d.key==="Escape"&&n?.()};return c.addEventListener("keydown",p),()=>{u(),c.removeEventListener("keydown",p)}},[n]);let a=N(null),s=R(c=>{a.current?.attachFromDrop(c)},[]),{visible:l}=An({containerRef:i,onDrop:s});return Sn(i.current,t.mode==="modal"),r("div",{ref:i,class:`${_e}-panel`,role:"dialog","aria-modal":"false","aria-label":o.panelTitle,style:{position:"relative"},"data-testid":y.panel,children:[r(Vo,{...e,containerEl:i.current,dragOver:l,composerAttachApiRef:a}),r(qo,{poweredBy:e.options.poweredBy})]})}function Vo({options:e,transport:t,feedback:n,bus:o,panelSize:i,view:a,canSend:s,isStreaming:l,loadingMessages:c,messagesSig:u,agent:p,suggestions:d,initialWidgetSize:_,visitorId:f,onClose:v,onBack:m,onClear:x,onExpand:A,onFullscreen:S,onPopOut:T,onSoundToggle:D,onToggleHistory:O,onSelectHistoryChat:V,onNewChat:ue,onLocaleChange:pe,onThemeChange:X,onWidgetSizeChange:Q,onSend:je,onStop:He,onSuggestion:k,containerEl:B,dragOver:j,composerAttachApiRef:de}){let Y=e.strings;return r(te,{children:[a==="history"?r(kd,{strings:Y,onBack:O,onClose:v,showClose:Aa(e.mode,i,e.actions)}):r(Td,{agent:p,onBack:m,backLabel:Y.moduleBack,moreActionsLabel:Y.moreActions,languageLabel:Y.language,themeLabel:Y.theme,themeOptionLabels:{auto:Y.themeAuto,light:Y.themeLight,dark:Y.themeDark},activeThemeMode:e.themeMode,onThemeChange:X,panelTitle:Y.panelTitle,activeLocale:e.locale,availableLocales:e.availableLocales,onLocaleChange:pe,main:Mo(e.actions.main,e.mode,i,{popOutUrl:e.popOutUrl}),overflow:Mo(e.actions.overflow,e.mode,i,{popOutUrl:e.popOutUrl}),descriptors:Id({strings:Y,panelSize:i,feedback:n,onClear:x,onExpand:A,onFullscreen:S,onPopOut:T,onSoundToggle:D,onToggleHistory:O,onClose:v})}),a==="history"?r(Ya,{transport:t,strings:Y,visitorId:f,onSelect:le=>V(le.sessionId),onNewChat:ue}):r(te,{children:[r(Na,{visible:j,strings:Y}),r(Va,{messagesSig:u,strings:Y,responseMode:e.responseMode,showReasoning:e.showReasoning,showToolCalls:e.showToolCalls,loading:c}),s?r(te,{children:[r(es,{suggestions:d,onPick:k}),r(La,{options:e,transport:t,feedback:n,bus:o,isStreaming:l,onSend:je,onStop:He,attachApiRef:de})]}):r(Ed,{label:Y.chatClosed,ctaLabel:Y.startNewConversation,onNewChat:x}),r(Cd,{disclaimer:e.composerDisclaimer})]}),e.size.resize?.enabled?r(Pn,{panelEl:B,resize:e.size.resize,position:e.position,initialSize:_,onSizeChange:Q,strings:Y}):null]})}function kd({strings:e,onBack:t,onClose:n,showClose:o}){return r("header",{class:`${_e}-header`,children:[r("button",{type:"button",class:`${_e}-icon-btn`,onClick:t,"aria-label":e.historyBack,title:e.historyBack,children:r(wt,{})}),r("h1",{children:e.historyTitle}),o?r("button",{type:"button",class:`${_e}-icon-btn`,onClick:n,"aria-label":e.close,title:e.close,children:r(me,{})}):null]})}function Ed({label:e,ctaLabel:t,onNewChat:n}){return r("div",{class:`${_e}-readonly-banner`,role:"note",children:[r("span",{class:`${_e}-readonly-label`,children:e}),r("button",{type:"button",class:`${_e}-readonly-cta`,onClick:n,children:t})]})}function Cd({disclaimer:e}){return e?r("div",{class:`${_e}-composer-footer`,children:r("div",{class:`${_e}-disclaimer`,children:e})}):null}function qo({poweredBy:e}){return e?r("div",{class:`${_e}-poweredby-bar`,children:r(Ad,{logoUrl:e.logoUrl,text:e.text,href:e.href})}):null}function Ad({logoUrl:e,text:t,href:n}){let o=r(te,{children:[e?r("img",{class:`${_e}-poweredby-logo`,src:e,alt:"",loading:"lazy"}):null,t?r("span",{children:t}):null]});return n?r("a",{class:`${_e}-poweredby`,href:n,target:"_blank",rel:"noopener noreferrer",children:o}):r("span",{class:`${_e}-poweredby`,children:o})}function Td({agent:e,onBack:t,backLabel:n,moreActionsLabel:o,languageLabel:i,themeLabel:a,themeOptionLabels:s,activeThemeMode:l,onThemeChange:c,panelTitle:u,activeLocale:p,availableLocales:d,onLocaleChange:_,main:f,overflow:v,descriptors:m}){let x=d.length>1,A=[];for(let T of v){if(T==="theme")continue;if(T==="language"){if(!x)continue;for(let O of d)A.push({id:`language:${O}`,label:i+` \u2014 ${O}`,lang:O,onSelect:()=>_(O),type:"switch",on:O===p});continue}let D=m[T];A.push({id:T,icon:D.icon,label:D.label,onSelect:D.onSelect,type:D.switchable?"switch":"button",on:D.switchOn})}let S=v.includes("theme");return r("header",{class:`${_e}-header`,"data-testid":y.panelHeader,children:[t?r("button",{type:"button",class:`${_e}-icon-btn`,onClick:t,"aria-label":n,title:n,children:r(wt,{})}):null,e?r(Ia,{agent:e}):r("h1",{children:u}),f.map(T=>{if(T==="language")return x?r(Ja,{available:d,active:p,onSelect:_,triggerLabel:i},"language"):null;if(T==="theme")return r(Go,{active:l,onSelect:c,triggerLabel:a,optionLabels:s},"theme");let D=m[T];return r("button",{type:"button",class:`${_e}-icon-btn`,onClick:D.onSelect,"aria-label":D.label,"aria-pressed":D.switchable?D.switchOn:void 0,title:D.label,"data-testid":wa[T],children:D.icon},T)}),S?r(Go,{active:l,onSelect:c,triggerLabel:a,optionLabels:s}):null,A.length>0?r(qa,{items:A,triggerLabel:o}):null]})}function Id(e){let{strings:t,panelSize:n,feedback:o,onClear:i,onExpand:a,onFullscreen:s,onPopOut:l,onSoundToggle:c,onToggleHistory:u,onClose:p}=e,d=n==="expanded",_=n==="fullscreen",f=we(()=>o.mutedSig.value).value;return{clear:{icon:r(ga,{}),label:t.newConversation,onSelect:i},expand:{icon:d?r(ia,{}):r(ra,{}),label:d?t.collapse:t.expand,onSelect:a,switchable:!0,switchOn:d},fullscreen:{icon:_?r(sa,{}):r(aa,{}),label:_?t.exitFullscreen:t.fullscreen,onSelect:s,switchable:!0,switchOn:_},popOut:{icon:r(fa,{}),label:t.popOut,onSelect:l},sound:{icon:f?r(_a,{}):r(da,{}),label:f?t.soundOff:t.soundOn,onSelect:c,switchable:!0,switchOn:!f},history:{icon:r(ua,{}),label:t.history,onSelect:u},close:{icon:r(me,{}),label:t.close,onSelect:p??(()=>{})}}}function ns(e){let t=h.cssPrefix,{site:n,blocks:o,strings:i,collapsed:a}=e,s=o?.navigation??[],l=o?.linkCards??[],c=a?i.expandSidebar:i.collapseSidebar;return r("aside",{class:`${t}-sidebar`,"data-collapsed":a?"true":"false","data-testid":y.sidebar,children:[r("div",{class:`${t}-sidebar-header`,children:[r(Rd,{site:n}),r("button",{type:"button",class:`${t}-sidebar-toggle`,"aria-label":c,"aria-expanded":a?"false":"true",title:c,onClick:e.onToggleCollapsed,"data-testid":y.sidebarToggle,children:r(Md,{collapsed:a})})]}),a?null:r(te,{children:[s.length>0?r("nav",{class:`${t}-sidebar-section`,"data-section":"navigation",children:r(Ld,{items:s})}):null,l.length>0?r("div",{class:`${t}-sidebar-section`,"data-section":"link-cards",children:r(Nd,{items:l})}):null,e.showConversations?r("div",{class:`${t}-sidebar-conversations`,children:r(Rn,{transport:e.transport,strings:e.strings,visitorId:e.visitorId,onSelect:e.onSelectChat,onNewChat:e.onNewChat})}):null]})]})}function Rd({site:e}){let t=h.cssPrefix;if(e?.logo?.url){let n=e.logo.alt??e.title??"Logo";return r("picture",{children:[e.logoDark?.url?r("source",{srcset:e.logoDark.url,media:"(prefers-color-scheme: dark)"}):null,r("img",{class:`${t}-sidebar-logo`,src:e.logo.url,alt:n})]})}return r("div",{class:`${t}-sidebar-title`,children:e?.title??h.name})}function Md({collapsed:e}){return r("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","aria-hidden":"true",children:e?r("polyline",{points:"9 6 15 12 9 18"}):r("polyline",{points:"15 6 9 12 15 18"})})}function Ld({items:e}){let t=h.cssPrefix;return r("ul",{class:`${t}-sidebar-nav`,children:e.map(n=>r("li",{children:r("a",{class:`${t}-sidebar-nav-item`,href:n.href,target:n.href?"_blank":void 0,rel:n.href?"noreferrer":void 0,children:[n.icon?r("span",{class:`${t}-sidebar-nav-icon`,"data-icon":n.icon}):null,r("span",{class:`${t}-sidebar-nav-label`,children:n.label})]})},n.id??n.label))})}function Nd({items:e}){let t=h.cssPrefix;return r("div",{class:`${t}-sidebar-cards`,children:e.map(n=>r("a",{class:`${t}-sidebar-card`,href:n.href,target:n.href?"_blank":void 0,rel:n.href?"noreferrer":void 0,children:[r("div",{class:`${t}-sidebar-card-label`,children:n.label}),n.description?r("div",{class:`${t}-sidebar-card-desc`,children:n.description}):null]},n.id??n.label))})}var os=h.cssPrefix;function rs(e){return r("main",{class:`${os}-page-shell`,"data-sidebar-collapsed":e.sidebarCollapsed?"true":"false",children:[r(ns,{site:e.site,blocks:e.blocks,transport:e.transport,strings:e.strings,visitorId:e.visitorId,showConversations:e.showConversations,onSelectChat:e.onSelectChat,onNewChat:e.onNewChat,collapsed:e.sidebarCollapsed,onToggleCollapsed:e.onToggleSidebarCollapsed}),r("section",{class:`${os}-page-chat`,"aria-label":"Chat",children:e.children})]})}var is=e=>Object.fromEntries(e.map(t=>[t,[]]));function as(e,t,n){let o=L({activeTab:e,stacks:is(t)});return{sig:o,switchTab(i){o.value.activeTab!==i&&(o.value={...o.value,activeTab:i},n?.(i))},push(i){let a=o.value,s=a.stacks[a.activeTab]??[];o.value={...a,stacks:{...a.stacks,[a.activeTab]:[...s,i]}}},pop(){let i=o.value,a=i.stacks[i.activeTab]??[];a.length!==0&&(o.value={...i,stacks:{...i.stacks,[i.activeTab]:a.slice(0,-1)}})},reset(i){o.value={activeTab:i,stacks:is(t)}}}}var ss=e=>e.stacks[e.activeTab]??[],ls=e=>ss(e).at(-1),cs=e=>ss(e).length===0;var ds={Icon:kt};var Ce=h.cssPrefix;function Mn({title:e,onClose:t,closeLabel:n}){return r("header",{class:`${Ce}-back-header`,"data-variant":"title",children:[r("span",{class:`${Ce}-back-spacer`,"aria-hidden":"true"}),r("h1",{class:`${Ce}-back-title`,children:e}),t?r("button",{type:"button",class:`${Ce}-icon-btn`,onClick:t,"aria-label":n,title:n,children:r(me,{})}):r("span",{class:`${Ce}-back-spacer`,"aria-hidden":"true"})]})}function Ln({title:e,backLabel:t,onBack:n,onClose:o,closeLabel:i,testid:a}){return r("header",{class:`${Ce}-back-header`,"data-testid":a,children:[r("button",{type:"button",class:`${Ce}-icon-btn`,onClick:n,"aria-label":t,title:t,children:r(wt,{})}),r("h1",{class:`${Ce}-back-title`,children:e}),o?r("button",{type:"button",class:`${Ce}-icon-btn`,onClick:o,"aria-label":i,title:i,children:r(me,{})}):r("span",{class:`${Ce}-back-spacer`,"aria-hidden":"true"})]})}var ct=h.cssPrefix;function _s({placeholder:e,onActivate:t}){return r("button",{type:"button",class:`${ct}-home-search`,onClick:t,"data-testid":y.homeSearch,children:[r("span",{class:`${ct}-home-search-text`,children:e}),r("span",{class:`${ct}-home-search-icon`,"aria-hidden":"true",children:r(Ro,{})})]})}function us({placeholder:e,value:t,onInput:n}){return r("div",{class:`${ct}-home-search`,"data-input":"true",children:[r("input",{type:"search",class:`${ct}-home-search-input`,placeholder:e,value:t,onInput:o=>n(o.currentTarget.value),"data-testid":y.helpSearch}),r("span",{class:`${ct}-home-search-icon`,"aria-hidden":"true",children:r(Ro,{})})]})}var Ct=h.cssPrefix;function Nn({title:e,subtitle:t,onClick:n,testid:o}){return r("button",{type:"button",class:`${Ct}-list-row`,onClick:n,"data-testid":o,children:[r("span",{class:`${Ct}-list-row-body`,children:[r("span",{class:`${Ct}-list-row-title`,children:e}),t?r("span",{class:`${Ct}-list-row-sub`,children:t}):null]}),r("span",{class:`${Ct}-list-row-chevron`,"aria-hidden":"true",children:r(xn,{})})]})}var ps=h.cssPrefix;function xe({tone:e="info",message:t,onRetry:n,strings:o}){return r("div",{class:`${ps}-module-empty`,role:e==="error"?"alert":"status","aria-live":"polite",children:[r("span",{children:t}),n?r("button",{type:"button",class:`${ps}-module-retry`,onClick:n,children:o.errorRetry}):null]})}var qe=h.cssPrefix,Od=M.scope("help"),Dd=(e,t)=>t.url?e.push({kind:"iframe",url:t.url,title:t.title}):e.push({kind:"content",id:t.id,title:t.title});function Hd(e){let t=new Map;for(let n of e){let o=n.categories?.[0]??"";(t.get(o)??t.set(o,[]).get(o)).push(n)}return[...t.entries()]}function fs(e,t){let n=t.toLowerCase(),o=n.indexOf(e);if(o!==-1)return 100-Math.min(o,99);let i=0;for(let a of e){if(i=n.indexOf(a,i),i===-1)return 0;i+=1}return 1}function $d(e,t){let n=t.toLowerCase().trim();return n?e.map(o=>({item:o,score:Math.max(fs(n,o.title)*2,fs(n,o.description??""))})).filter(o=>o.score>0).toSorted((o,i)=>i.score-o.score).map(o=>o.item):[]}function gs({article:e,nav:t}){return r(Nn,{title:e.title,subtitle:e.description,onClick:()=>Dd(t,e),testid:ce(y.helpArticle,e.id)})}function Bd({transport:e,strings:t,config:n,nav:o,panelProps:i}){let a=n.contentTags,[s,l]=w("loading"),[c,u]=w(t.errorGeneric),[p,d]=w([]),[_,f]=w(""),[v,m]=w(0);P(()=>{let S=!1;return l("loading"),e.listContent({tags:a,sortBy:"order",limit:100}).then(T=>{S||(d(T.items??[]),l("loaded"))}).catch(T=>{S||(Od.warn("listContent (help) failed",{err:T}),u(We(T,t)),l("error"))}),()=>{S=!0}},[e,a,v]);let x=he(()=>$d(p,_),[p,_]);function A(){return _.trim().length>0?x.length===0?r(xe,{message:t.helpSearchEmpty,strings:t}):r("div",{class:`${qe}-help-card`,children:x.map(S=>r(gs,{article:S,nav:o},S.id))}):s==="loading"?r(xe,{message:t.helpLoading,strings:t}):s==="error"?r(xe,{tone:"error",message:c,onRetry:()=>m(S=>S+1),strings:t}):p.length===0?r(xe,{message:t.helpEmpty,strings:t}):Hd(p).map(([S,T])=>r("section",{class:`${qe}-help-group`,children:[S?r("h2",{class:`${qe}-help-section-title`,children:S}):null,r("div",{class:`${qe}-help-card`,children:T.map(D=>r(gs,{article:D,nav:o},D.id))})]},S))}return r("div",{class:`${qe}-module`,children:[r(Mn,{title:t.helpTitle,onClose:i.onClose,closeLabel:t.close}),r("div",{class:`${qe}-module-pad`,children:r(us,{placeholder:t.helpSearchPlaceholder,value:_,onInput:f})}),r("div",{class:`${qe}-help-list`,children:A()})]})}var ms={Icon:Io,Root:e=>r(Bd,{...e})};var hs=h.cssPrefix;function Xo({onClick:e,children:t,testid:n}){return e?r("button",{type:"button",class:`${hs}-home-card`,"data-interactive":"true",onClick:e,"data-testid":n,children:t}):r("div",{class:`${hs}-home-card`,"data-testid":n,children:t})}var G=h.cssPrefix,vs=M.scope("home");function Ud(e){let t=e.options.userContext?.name,n=e.config.greetingText;return n?{title:t?n.replace("{name}",t):n.replace(/\s*\{name\}\s*/," ").trim(),subtitle:e.strings.homeGreetingLead}:t?{title:e.strings.homeGreetingNamed.replace("{name}",t),subtitle:e.strings.homeGreetingLead}:{title:e.strings.homeGreeting}}var zd=(e,t)=>t.url?e.push({kind:"iframe",url:t.url,title:t.title}):e.push({kind:"content",id:t.id,title:t.title});function Fd(e){let{transport:t,strings:n,config:o,nav:i,panelProps:a}=e,[s,l]=w(null),[c,u]=w([]),p=o.contentTags?.join(",");P(()=>{if(!o.showRecentMessages)return;let m=!1;return t.listSessions({limit:1}).then(x=>!m&&l(x.sessions?.[0]??null)).catch(x=>!m&&vs.warn("listSessions (home) failed",{err:x})),()=>{m=!0}},[t,o.showRecentMessages]),P(()=>{if(!o.contentTags?.length)return;let m=!1;return t.listContent({tags:o.contentTags,limit:6}).then(x=>!m&&u(x.items??[])).catch(x=>!m&&vs.warn("listContent (home) failed",{err:x})),()=>{m=!0}},[t,p]);let d=Ud(e),_=o.userAvatars??[],f=o.status,v=o.contentBlockTitle?rn(n,o.contentBlockTitle):n.homeContentTitle;return r("div",{class:`${G}-module ${G}-home`,"data-testid":y.homeView,children:r("div",{class:`${G}-home-scroll`,children:[r("div",{class:`${G}-home-hero`,children:[r("div",{class:`${G}-home-hero-top`,children:[o.brandName?r("span",{class:`${G}-home-brand`,"data-testid":y.homeBrand,children:o.brandName}):r("span",{class:`${G}-home-brand-spacer`,"aria-hidden":"true"}),r("div",{class:`${G}-home-hero-actions`,children:[_.length>0?r("div",{class:`${G}-home-avatars`,children:_.map(m=>r("span",{class:`${G}-home-avatar`,title:m.role?`${m.name} \xB7 ${m.role}`:m.name,children:m.avatar?r("img",{src:m.avatar,alt:"",loading:"lazy"}):r("span",{children:En(m.name)})},m.name))}):null,a.onClose?r("button",{type:"button",class:`${G}-icon-btn ${G}-home-close`,onClick:a.onClose,"aria-label":n.close,title:n.close,children:r(me,{})}):null]})]}),o.showGreeting!==!1?r(te,{children:[r("h1",{class:`${G}-home-greeting`,"data-testid":y.homeGreeting,children:d.title}),d.subtitle?r("p",{class:`${G}-home-lead`,children:d.subtitle}):null]}):null]}),r("div",{class:`${G}-home-cards`,children:[o.showSearchBar!==!1?r(_s,{placeholder:n.homeSearchPlaceholder,onActivate:()=>i.switchToLayout("help")}):null,s?r(Xo,{onClick:()=>i.selectSession(s.sessionId),testid:y.homeRecent,children:r("div",{class:`${G}-home-recent-row`,"data-unread":(s.unreadCount??0)>0?"true":void 0,children:[r("span",{class:`${G}-home-recent-avatar`,"aria-hidden":"true",children:r(kt,{})}),r("span",{class:`${G}-home-recent-body`,children:[r("span",{class:`${G}-home-recent-title`,children:s.title}),s.preview?r("span",{class:`${G}-home-recent-preview`,children:s.preview}):null]}),(s.unreadCount??0)>0?r("span",{class:`${G}-home-recent-dot`,"aria-label":"Unread"}):null]})}):null,f?r(Xo,{onClick:f.url?()=>i.push({kind:"iframe",url:f.url,title:f.text}):void 0,children:r("div",{class:`${G}-home-status`,"data-level":f.level??"operational",children:[r("span",{class:`${G}-home-status-icon`,"aria-hidden":"true",children:r(ha,{})}),r("span",{class:`${G}-home-status-text`,children:f.text})]})}):null,c.length>0?r("section",{class:`${G}-home-content`,children:[r("div",{class:`${G}-home-content-title`,children:v}),r("div",{class:`${G}-home-content-list`,children:c.map(m=>r(Nn,{title:m.title,subtitle:m.description,onClick:()=>zd(i,m),testid:ce(y.homeContentRow,m.id)},m.id))})]}):null]})]})})}var bs={Icon:va,Root:e=>r(Fd,{...e})};var Ae=h.cssPrefix,Wd=M.scope("news");function Kd({transport:e,strings:t,config:n,nav:o,panelProps:i}){let a=n.contentTags,[s,l]=w("loading"),[c,u]=w(t.errorGeneric),[p,d]=w([]),[_,f]=w(0);P(()=>{let m=!1;return l("loading"),e.listContent({tags:a,sortBy:"publishedAt",sortOrder:"desc"}).then(x=>{m||(d(x.items??[]),l("loaded"))}).catch(x=>{m||(Wd.warn("listContent (news) failed",{err:x}),u(We(x,t)),l("error"))}),()=>{m=!0}},[e,a,_]);function v(){return s==="loading"?r(xe,{message:t.newsLoading,strings:t}):s==="error"?r(xe,{tone:"error",message:c,onRetry:()=>f(m=>m+1),strings:t}):p.length===0?r(xe,{message:t.newsEmpty,strings:t}):r("div",{class:`${Ae}-news-list`,children:p.map(m=>r("button",{type:"button",class:`${Ae}-news-card`,onClick:()=>o.push({kind:"content",id:m.id,title:m.title}),"data-testid":ce(y.newsItem,m.id),children:[m.image?r("img",{class:`${Ae}-news-hero`,src:m.image,alt:"",loading:"lazy"}):null,r("span",{class:`${Ae}-news-body`,children:[m.tags&&m.tags.length>0?r("span",{class:`${Ae}-news-tags`,children:m.tags.map(x=>r("span",{class:`${Ae}-news-tag`,children:x},x))}):null,r("span",{class:`${Ae}-news-title`,children:m.title}),m.description?r("span",{class:`${Ae}-news-summary`,children:m.description}):null]})]},m.id))})}return r("div",{class:`${Ae}-module`,children:[r(Mn,{title:t.newsTitle,onClose:i.onClose,closeLabel:t.close}),r("div",{class:`${Ae}-module-scroll`,children:v()})]})}var xs={Icon:ba,Root:e=>r(Kd,{...e})};var On={chat:ds,home:bs,help:ms,news:xs};var At=h.cssPrefix;function ys({modules:e,activeTab:t,strings:n,unreadCount:o,onSelect:i}){return r("nav",{class:`${At}-tabbar`,role:"tablist","aria-label":n.panelTitle,children:e.map(a=>{let s=On[a.layout].Icon,l=a.id===t,c=a.layout==="chat"&&o>0?o>9?"9+":String(o):null;return r("button",{type:"button",role:"tab","aria-selected":l,class:`${At}-tab`,onClick:()=>i(a.id),"data-testid":ce(y.tab,a.id),children:[r("span",{class:`${At}-tab-icon`,"aria-hidden":"true",children:[r(s,{}),c?r("span",{class:`${At}-tab-badge`,"data-testid":y.tabBadge,children:c}):null]}),r("span",{class:`${At}-tab-label`,children:rn(n,a.label)})]},a.id)})})}var Ps=h.cssPrefix,Gd="allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-downloads";function Ss({url:e,title:t,strings:n,onBack:o,onClose:i}){return r("div",{class:`${Ps}-module`,children:[r(Ln,{title:t||n.moduleBack,backLabel:n.moduleBack,onBack:o,onClose:i,closeLabel:n.close}),r("iframe",{class:`${Ps}-content-frame`,src:e,title:t||"content",sandbox:Gd,referrerpolicy:"no-referrer",loading:"lazy",allow:"fullscreen"})]})}var Xe=h.cssPrefix,Vd=M.scope("content");function ws({id:e,title:t,transport:n,strings:o,onBack:i,onClose:a}){let[s,l]=w(null),[c,u]=w(!1),[p,d]=w(0),_=R(()=>{u(!1),l(null),d(v=>v+1)},[]);P(()=>{let v=!1;return n.listContent({ids:[e],limit:1}).then(m=>{if(v)return;let x=m.items[0];x?l(x):u(!0)}).catch(m=>{v||(Vd.warn("listContent (reader) failed",{err:m}),u(!0))}),()=>{v=!0}},[n,e,p]);function f(){return c?r(xe,{tone:"error",message:o.errorGeneric,onRetry:_,strings:o}):s===null?r(xe,{message:o.contentLoading,strings:o}):r("article",{class:`${Xe}-content`,"data-testid":y.contentView,children:[s.image?r("img",{class:`${Xe}-content-hero`,src:s.image,alt:"",loading:"lazy"}):null,s.description?r("p",{class:`${Xe}-content-subtitle`,children:s.description}):null,s.tags&&s.tags.length>0?r("span",{class:`${Xe}-news-tags`,children:s.tags.map(v=>r("span",{class:`${Xe}-news-tag`,children:v},v))}):null,r(Fa,{text:s.content??""})]})}return r("div",{class:`${Xe}-module`,children:[r(Ln,{title:s?.title||t||o.moduleBack,backLabel:o.moduleBack,onBack:i,onClose:a,closeLabel:o.close,testid:y.backHeader}),r("div",{class:`${Xe}-module-scroll`,"data-testid":y.contentScroll,children:f()})]})}var jo=h.cssPrefix;function ks({panelProps:e,enabledModules:t,nav:n,unreadCount:o,onSelectSession:i,onStartNewSession:a,onSetPanelSize:s}){let l=e.options,c=l.strings,u=N(null);P(()=>{let V=u.current;if(!V)return;let ue=kn(V),pe=X=>{X.key==="Escape"&&e.onClose?.()};return V.addEventListener("keydown",pe),()=>{ue(),V.removeEventListener("keydown",pe)}},[e.onClose]);let p=N(null),d=R(V=>{p.current?.attachFromDrop(V)},[]),{visible:_}=An({containerRef:u,onDrop:d});Sn(u.current,l.mode==="modal");let f=we(()=>n.sig.value).value,v=ls(f),m=l.modules.byId[f.activeTab],x=v?.kind==="iframe"||v?.kind==="content",A=t.length>1&&(cs(f)||!x),S=N(null);P(()=>{if(x&&S.current===null)S.current=e.panelSize,e.panelSize==="normal"&&s("expanded");else if(!x&&S.current!==null){let V=S.current;S.current=null,s(V)}},[x]);let T={push:n.push,pop:n.pop,switchTab:n.switchTab,switchToLayout:V=>{let ue=t.find(pe=>pe.layout===V);ue&&n.switchTab(ue.id)},selectSession:i,startNewSession:a},D=V=>({options:l,transport:e.transport,strings:c,config:V,visitorId:e.visitorId,nav:T,panelProps:e}),O;if(v?.kind==="iframe")O=r(Ss,{url:v.url,title:v.title,strings:c,onBack:n.pop,onClose:e.onClose});else if(v?.kind==="content")O=r(ws,{id:v.id,title:v.title,transport:e.transport,strings:c,onBack:n.pop,onClose:e.onClose});else if(m?.layout==="chat")O=r(Vo,{...e,containerEl:u.current,dragOver:_,composerAttachApiRef:p});else if(m){let V=On[m.layout].Root;O=V?r(V,{...D(m)},m.id):null}else O=null;return r("div",{ref:u,class:`${jo}-panel ${jo}-messenger`,role:"dialog","aria-modal":"false","aria-label":c.panelTitle,style:{position:"relative"},"data-testid":y.messengerHome,children:[r("div",{class:`${jo}-messenger-body`,children:O}),A?r(ys,{modules:t,activeTab:f.activeTab,strings:c,unreadCount:o,onSelect:n.switchTab}):null,r(qo,{poweredBy:l.poweredBy}),l.size.resize?.enabled&&!(m?.layout==="chat"&&!v)?r(Pn,{panelEl:u.current,resize:l.size.resize,position:l.position,initialSize:e.initialWidgetSize,onSizeChange:e.onWidgetSizeChange,strings:c}):null]})}var Tt=h.cssPrefix;function Es({strings:e,onClose:t}){return r("div",{class:`${Tt}-panel ${Tt}-modules-empty`,role:"dialog","aria-label":e.panelTitle,"data-testid":y.modulesEmpty,children:[t?r("button",{type:"button",class:`${Tt}-icon-btn ${Tt}-modules-empty-close`,onClick:t,"aria-label":e.close,title:e.close,children:r(me,{})}):null,r("p",{class:`${Tt}-modules-empty-text`,children:e.modulesEmpty})]})}async function Cs(e,t,n,o){for(let i=0;i<e.length;i++){if(o.aborted)return;let a=e[i],s=t[i];!a||!s||await qd(a,s.text,n,o)}}function qd(e,t,n,o){return new Promise(i=>{let a=e.partsSig.value[0];if(!a||a.kind!=="text"){i();return}let s=()=>{a.textSig.value=t,a.doneSig.value=!0,e.status="complete",i()};if(typeof requestAnimationFrame>"u"){s();return}let l=t.length/Math.max(1,n)*1e3,c=performance.now(),u=d=>{if(o.aborted)return s();let _=l===0?1:Math.min(1,(d-c)/l);if(a.textSig.value=t.slice(0,Math.floor(_*t.length)),_>=1)return s();p=requestAnimationFrame(u)},p=requestAnimationFrame(u);o.addEventListener("abort",()=>{cancelAnimationFrame(p),s()},{once:!0})})}function As({callout:e,persistence:t}){let n=e?.text??"",o=e?.persistent??!0,[i,a]=w(()=>o?!1:t.loadCalloutDismissed(n));P(()=>{a(o?!1:t.loadCalloutDismissed(n))},[n,o,t]);let s=R(()=>{a(!0),o||t.saveCalloutDismissed(n)},[t,n,o]);return{dismissed:i,dismissCallout:s}}var W=M.scope("app"),Yo=h.cssPrefix;function Qo({options:e,hostElement:t,bus:n}){let[o]=w(()=>it(e.widgetId,e.storage)),[i,a]=w(()=>o.getVisitorId()),s=o.loadUserPrefs(),[l,c]=w(()=>s.locale??e.locale),[u,p]=w(()=>s.themeMode??e.themeMode),d=bt(o.loadSessionId()),_=bt([]),f=bt(0),[v,m]=w(!1);function x(){let g=e.modules.list,b=new Set(g.map(ie=>ie.id)),z=o.loadActiveModule();return z&&b.has(z)?z:g[0]?.id??""}function A(){return e.modules.list.find(g=>g.layout==="chat")?.id}let S=N();if(!S.current){let g=e.modules.list.map(b=>b.id);S.current=as(x(),g,b=>o.saveActiveModule(b))}let T=S.current,D=N(void 0);D.current=A();let[O,V]=w(!1),ue=e.mode==="standalone"||e.mode==="inline",pe=N(Pt(e,ot(),o.loadPanelOpen(),o.loadPanelSize())),[X,Q]=w(pe.current.panelOpen),je=N(!1),[He,k]=w(!1),{dismissed:B,dismissCallout:j}=As({callout:e.launcher.callout,persistence:o}),de=e.launcher.callout?.persistent??!0,Y=R(()=>{W.info("calloutDismiss"),n.emit("calloutDismiss",void 0),j()},[n,j]),[le,fe]=w(pe.current.panelSize),Rt=N(!1),[Rs,Dn]=w("chat"),[Ms,dt]=w(!0),[$e,Mt]=w(!1),[Ls,er]=w(null),[Hn,Lt]=w([]),[Nt,Ot]=w(null),$n=N(null),[Ns,Os]=w(void 0),[Ds,Hs]=w(void 0),[$s,Bs]=w(()=>o.loadSidebarCollapsed()??!1),[re]=w(()=>new pn({baseUrl:e.baseUrl,auth:Ri({publicKey:e.publicKey,aiAgentDeploymentId:e.aiAgentDeploymentId,publicKeyHeader:"x-public-key"}),endpoints:e.endpoints})),[Le]=w(()=>new fn(_)),[J]=w(()=>new bn(e.sound,e.haptics)),Ne=R(g=>{o.patchUserPrefs(g),re.saveUserPrefs(o.loadUserPrefs()).catch(b=>{W.warn("saveUserPrefs failed",{err:b})})},[o,re]);P(()=>{s.soundMuted!==void 0&&J.setMuted(s.soundMuted)},[]),P(()=>{t.dataset.theme=u},[t,u,e]),P(()=>{J.update(e.sound,e.haptics)},[J,e.sound,e.haptics]),P(()=>()=>J.destroy(),[J]),P(()=>{let g=!0;return J.mutedSig.subscribe(b=>{if(g){g=!1;return}Ne({soundMuted:b})})},[J,Ne]),P(()=>{Rt.current||!e.size.initialSize||(Rt.current=!0,!o.loadPanelSize()&&fe(wo(e.mode,e.size,ot())))},[e.mode,e.size,o]),P(()=>{if(!O||je.current)return;je.current=!0;let g=Pt(e,ot(),o.loadPanelOpen(),o.loadPanelSize());Q(g.panelOpen),fe(g.panelSize)},[O,e,o]);let tr=N(!1),nr=N(!1),Dt=N(null);P(()=>{if(!(!O||tr.current)){if(tr.current=!0,nr.current){let g=D.current;g&&T.switchTab(g);return}T.reset(x())}},[O]);let or=R(g=>{if(!g||g.length===0)return;let{animation:b,speed:z}=e.welcome;if(b==="instant"){_.value=g.map(Wi);return}$n.current?.abort();let ie=new AbortController;$n.current=ie;let oe=g.map(Fi);_.value=oe,Cs(oe,g,z,ie.signal)},[_,e.welcome]),Bn=N(0),_t=R(async({newConversation:g})=>{let b=++Bn.current,z=()=>b!==Bn.current,ie=d.value,oe=g||!ie?ke():ie;oe!==ie&&(d.value=oe,o.saveSessionId(oe));let C;try{C=await re.startSession({visitorId:i,sessionId:oe,userPrefs:o.loadUserPrefs(),locale:e.locale})}catch(Pe){if(z())return;n.emit("error",Pe),e.onError?.(Pe),g||V(!0);return}if(z())return;if(C.visitorId&&C.visitorId!==i&&(W.info("visitor rebound",{previous:i,current:C.visitorId,reason:C.rebind?.visitorId}),o.setVisitorId(C.visitorId),a(C.visitorId),n.emit("visitorRebound",{previous:i,current:C.visitorId,reason:C.rebind?.visitorId})),C.sessionId&&C.sessionId!==oe&&(W.info("session rebound",{previous:oe,current:C.sessionId,reason:C.rebind?.sessionId}),n.emit("sessionRebound",{previous:oe,current:C.sessionId,reason:C.rebind?.sessionId})),C.agent&&er(C.agent),C.welcome?.suggestions&&Lt(C.welcome.suggestions),e.mode==="page"&&(C.site&&yi(C.site)?Os(C.site):C.site&&W.warn("invalid site config, using fallback",{site:C.site}),C.blocks&&Pi(C.blocks)?Hs(C.blocks):C.blocks&&W.warn("invalid blocks config, using fallback",{blocks:C.blocks})),C.userPrefs&&!g&&(o.saveUserPrefs(C.userPrefs),C.userPrefs.locale&&c(C.userPrefs.locale),C.userPrefs.soundMuted!==void 0&&J.setMuted(C.userPrefs.soundMuted),C.userPrefs.themeMode&&p(C.userPrefs.themeMode)),!g&&ie&&C.sessionId===ie){m(!0);try{let Pe=C.messages?.length?{sessionId:ie,canContinue:C.canContinue??!0,messages:C.messages}:await re.loadSession(ie);if(z())return;let ge=(Pe.messages??[]).map(Ao),ur=Dt.current?[Dt.current]:[];(ge.length||ur.length)&&(_.value=[...ge,...ur]),dt(Pe.canContinue??!0),Lt(Pe.suggestions??[])}catch(Pe){if(z())return;W.warn("loadSession failed; resetting sessionId",{err:Pe,sessionId:ie}),d.value=void 0,o.saveSessionId(void 0)}finally{z()||m(!1)}}else d.value=C.sessionId,o.saveSessionId(C.sessionId),or(C.welcome?.messages);g||(n.emit("sessionStarted",C),V(!0))},[re,i,o,e,n,_,d,J,or]),ut=JSON.stringify(e.userContext??null),Us=JSON.stringify(e.pageContext??null);P(()=>{re.setContext(e.userContext,Xd(e.pageContext))},[re,ut,Us]);let zs=R(async g=>{let b=null;try{for await(let z of g.iter){if(!b){b=Co(),Dt.current=b,Le.attach(b),_.value=[..._.value,b],Mt(!0),Ot(()=>g.cancel),nr.current=!0;let ie=D.current;ie&&T.switchTab(ie),W.info("resumed in-flight reply on mount")}Le.apply(z.chunk),z.chunk.type==="finish"&&z.chunk.canContinue===!1&&dt(!1)}b&&(b.status="complete",J.play("messageReceived"),Jo(n,e,"assistant",To(b)))}catch(z){b&&(b.status="error",b.errorText=We(z,e.strings),J.play("error")),W.debug("mount resume ended without completing",{err:z})}finally{Dt.current=null,b&&(Le.detach(),Mt(!1),Ot(null),_.value=[..._.value])}},[Le,_,J,n,e,T]);P(()=>{_t({newConversation:!1});let g=d.value,b=null;return g&&(re.primeIdentity(i,g),b=re.resumeStream(),zs(b)),()=>{Bn.current++,b?.cancel()}},[]);let rr=N(ut);P(()=>{!O||rr.current===ut||(rr.current=ut,_t({newConversation:!1}))},[ut,O,_t]),P(()=>{yt(t,un(e.mode,le,X))},[t,X,le,e.mode]),P(()=>{if(e.mode!=="modal"||!X)return;let g=b=>{b.composedPath().some(oe=>oe instanceof HTMLElement&&oe.classList.contains(`${h.cssPrefix}-panel`))||Q(!1)};return t.addEventListener("click",g),()=>t.removeEventListener("click",g)},[t,X,e.mode]),P(()=>{if(e.mode!=="drawer"||!X)return;let g=b=>{b.key==="Escape"&&Q(!1)};return document.addEventListener("keydown",g),()=>document.removeEventListener("keydown",g)},[X,e.mode]);let ir=R(async(g,b)=>{if(W.info("send",{textLen:g.length,attachments:b.length,streaming:$e}),$e)return;n.emit("send",{text:g,attachmentCount:b.length}),Hn.length>0&&Lt([]);let z=await Yd(re,b,ge=>{W.warn("upload failed",{err:ge}),n.emit("error",ge),e.onError?.(ge)});J.unlock(),J.play("messageSent");let ie=zi(g,z),oe=Co();_.value=[..._.value,ie,oe],Le.attach(oe),Jo(n,e,"user",g);let C=d.value??ke();d.value||(d.value=C,o.saveSessionId(C));let _r=Hi({messages:_.value.slice(0,-1).map(Ki),sessionId:C,tools:e.features.tools,responseMode:e.responseMode,visitorId:i,userPrefs:o.loadUserPrefs()});Mt(!0);let Pe=re.sendMessage(_r);Ot(()=>Pe.cancel);try{for await(let ge of Pe.iter)Le.apply(ge.chunk),ge.chunk.type==="finish"&&ge.chunk.canContinue===!1&&dt(!1);oe.status="complete",J.play("messageReceived"),Jo(n,e,"assistant",To(oe))}catch(ge){oe.status="error",oe.errorText=We(ge,e.strings),J.play("error"),n.emit("error",ge),e.onError?.(ge)}finally{Le.detach(),Mt(!1),Ot(null),_.value=[..._.value]}},[$e,re,Le,_,d,e,n,Hn.length,J,o,i]),Fs=R(()=>{W.info("stop"),n.emit("stop",void 0),Nt?.()},[Nt,n]),Ws=R(()=>{J.toggleMuted();let g=J.mutedSig.value;W.info("soundToggle",{muted:g}),n.emit("soundToggle",{muted:g})},[J,n]),pt=R(()=>{if(Ta(e.mode,le)==="exit-fullscreen"){W.info("close \u2192 exit-fullscreen",{mode:e.mode}),fe("normal"),n.emit("fullscreen",!1);return}W.info("close \u2192 panel closed",{mode:e.mode}),Q(!1),o.savePanelOpen(!1),n.emit("close",void 0),e.onClose?.()},[n,e,o,le]),Ye=R(()=>{e.modules.list.some(g=>g.layout==="chat")&&re.listSessions({limit:50}).then(g=>{f.value=g.sessions.reduce((b,z)=>b+(z.unreadCount??0),0)}).catch(g=>W.debug("refreshUnread failed (non-fatal)",{err:g}))},[re,e.modules,f]),ar=N(!1);P(()=>{!O||ar.current||(ar.current=!0,Ye())},[O,Ye]);let Un=R(()=>{W.info("open",{mode:e.mode}),J.unlock(),k(!0),Q(!0),o.savePanelOpen(!0),!B&&!de&&Y(),setTimeout(()=>k(!1),jd),Ye(),n.emit("open",void 0),e.onOpen?.()},[n,e,J,o,B,de,Y,Ye]),zn=R(()=>{W.info("clear \u2192 new conversation",{wasStreaming:$e}),n.emit("clear",void 0),$e&&Nt?.(),$n.current?.abort(),_.value=[],d.value=void 0,o.clearSession(),dt(!0),_t({newConversation:!0})},[$e,Nt,_,d,o,_t,n]),Fn=R(()=>{zn(),Dn("chat");let g=e.modules.list.find(b=>b.layout==="chat")?.id;g&&T.switchTab(g)},[zn,T,e]),Wn=R(()=>{let g=le==="expanded"?"normal":"expanded";W.info("expand",{from:le,expanded:g==="expanded"}),fe(g),o.savePanelSize(g),n.emit("expand",g==="expanded")},[n,le,o]),Kn=R(()=>{let g=le==="fullscreen"?"normal":"fullscreen";W.info("fullscreen",{from:le,fullscreen:g==="fullscreen"}),fe(g),o.savePanelSize(g),n.emit("fullscreen",g==="fullscreen")},[n,le,o]),Gn=R(()=>{if(!e.popOutUrl)return;let g=new URL(e.popOutUrl);d.value&&g.searchParams.set("chat",d.value),e.widgetId!=="default"&&g.searchParams.set("widgetId",e.widgetId),W.info("popOut",{url:g.toString()}),window.open(g.toString(),"_blank","noopener,noreferrer"),n.emit("popOut",void 0)},[n,d,e.popOutUrl,e.widgetId]),Ks=R(()=>{Dn(g=>{let b=g==="history"?"chat":"history";return W.info("toggleHistory",{view:b}),n.emit("toggleHistory",{view:b}),b})},[n]),Gs=R(g=>{W.info("localeChange",{locale:g}),c(g),Ne({locale:g}),n.emit("localeChange",g)},[Ne,n]),Vs=R(g=>{W.info("themeChange",{mode:g}),p(g),t.dataset.theme=g,Ne({themeMode:g}),n.emit("themeChange",g)},[t,Ne,n]),qs=R(()=>{Bs(g=>{let b=!g;return W.info("sidebarToggle",{collapsed:b}),o.saveSidebarCollapsed(b),n.emit("sidebarToggle",{collapsed:b}),b})},[o,n]),Xs=R(g=>{W.info("resize",g),Ne({widgetSize:g}),n.emit("resize",g)},[Ne,n]),Vn=R(async g=>{W.info("selectChat",{sessionId:g}),n.emit("selectChat",{sessionId:g});try{let b=await re.loadSession(g),z=b.messages.map(Ao);_.value=z,d.value=b.sessionId,o.saveSessionId(b.sessionId),b.agent&&er(b.agent),dt(b.canContinue),Lt(b.suggestions??[]),Dn("chat"),await re.markRead(g),Ye()}catch(b){n.emit("error",b),e.onError?.(b)}},[re,_,d,n,e,o,Ye]);P(()=>Si(t,{open:Un,close:pt,expand:Wn,fullscreen:Kn,popout:Gn}),[t,Un,pt,Wn,Kn,Gn]);let ye=he(()=>vo(e,l,u),[e,l,u]),sr={options:ye,transport:re,feedback:J,bus:n,view:Rs,canSend:Ms,isStreaming:$e,loadingMessages:v,messagesSig:_,agent:Ls,suggestions:Hn,initialWidgetSize:s.widgetSize??null,visitorId:i,onClose:pt,onClear:zn,onExpand:Wn,onFullscreen:Kn,onPopOut:Gn,onSoundToggle:Ws,onToggleHistory:Ks,onSelectHistoryChat:Vn,onNewChat:Fn,onLocaleChange:Gs,onThemeChange:Vs,onWidgetSizeChange:Xs,onSend:ir,onStop:Fs,onSuggestion:g=>{let b=g.text??g.label;W.info("suggestion",{text:b}),n.emit("suggestion",{text:b}),ir(b,[])}},js=g=>{Vn(g);let b=A();b&&T.switchTab(b)};if(!O)return null;let ft=ye.modules.list,qn=g=>{let b=wn("close",ye.mode,g);return ft.length===0?r(Es,{strings:ye.strings,onClose:b?pt:void 0}):ft.length===1&&ft[0]?.layout==="chat"?r(ts,{...sr,panelSize:g}):r(ks,{panelProps:{...sr,panelSize:g,onClose:b?pt:void 0},enabledModules:ft,nav:T,unreadCount:f.value,onSelectSession:js,onStartNewSession:Fn,onSetPanelSize:fe})};if(e.mode==="page"){let g=z=>{Vn(z.sessionId)},b=ft.some(z=>z.layout==="chat");return r("div",{class:`${Yo}-anchor`,children:r(rs,{site:Ns,blocks:Ds,transport:re,strings:ye.strings,visitorId:i,showConversations:b,onSelectChat:g,onNewChat:Fn,sidebarCollapsed:$s,onToggleSidebarCollapsed:qs,children:qn("fullscreen")})})}if(ue){let g=e.mode==="standalone"?"fullscreen":le;return r("div",{class:`${Yo}-anchor`,children:qn(g)})}let lr=e.mode==="drawer",cr=!(e.mode==="modal")&&!e.launcher.hidden&&(!X||He),dr=cr&&!He&&!B&&!lr?ye.launcher.callout:null;return r("div",{class:`${Yo}-anchor`,"data-launcher-size":ye.launcher.size,children:[X?qn(le):null,cr?r(ka,{onToggle:Un,launcher:ye.launcher,strings:ye.strings,leaving:He,edgeTab:lr}):null,dr?r(Ea,{callout:dr,launcherPosition:ye.position,closeLabel:ye.strings.close,onDismiss:Y}):null]})}function Xd(e){let t=e?.url??(typeof location<"u"?location.href:void 0);if(!(!e&&!t))return{...e,...t?{url:t}:{}}}var jd=120;async function Yd(e,t,n){let o=[];for(let i of t)try{let{id:a,url:s}=await e.uploadFile(i.file);o.push({id:a,name:i.name,mediaType:i.mediaType,size:i.size,url:s})}catch(a){n(a)}return o}function Jo(e,t,n,o){let i={role:n,text:o};e.emit("message",i),t.onMessage?.(i)}var tv=M.scope("error-boundary");var sv=M.scope("iframe");var It=class{constructor(){$(this,"handlers",new Map)}on(t,n){let o=this.handlers.get(t);return o||(o=new Set,this.handlers.set(t,o)),o.add(n),()=>this.handlers.get(t)?.delete(n)}emit(t,n){let o=this.handlers.get(t);if(o)for(let i of o)try{i(n)}catch{}}clear(){this.handlers.clear()}};var fv=M.scope("hooks");function Ts(e){if(e.mode==="standalone")return"standalone";if(e.mode==="inline")return"inline";let t=it(e.widgetId,e.storage),{panelOpen:n,panelSize:o}=Pt(e,ot(),t.loadPanelOpen(),t.loadPanelSize());return un(e.mode,o,n)}var Zo=class extends HTMLElement{constructor(){super(...arguments);$(this,"bus",new It);$(this,"mountResult",null);$(this,"rawOptions",{})}static get observedAttributes(){return bo}connectedCallback(){this.boot()}disconnectedCallback(){this.mountResult&&(Vt(null,this.mountResult.appRoot),this.bus.clear())}attributeChangedCallback(){this.isConnected&&this.boot()}boot(){if(this.rawOptions=xo(n=>this.getAttribute(n)),!this.mountResult){let n=xt(this.rawOptions);this.mountResult=_n({existingHost:this,position:dn(n.mode)}),this.bus.on("sessionStarted",o=>{o.config&&(this.rawOptions=cn(this.rawOptions,o.config),this.renderApp())})}this.renderApp()}renderApp(){if(!this.mountResult)return;let n=xt(this.rawOptions),o=this.mountResult.hostElement;Po(o,dn(n.mode));let i=it(n.widgetId,n.storage).loadUserPrefs().themeMode;So(o,i?{...n,themeMode:i}:n),yt(o,Ts(n)),Vt(Gt(Qo,{bus:this.bus,hostElement:o,options:n}),this.mountResult.appRoot)}},Is=!1;function Jd(){if(Is||typeof customElements>"u")return;let e=h.tagName;customElements.get(e)||customElements.define(e,Zo),Is=!0}typeof customElements<"u"&&Jd();export{Jd as registerWebComponent};
40
40
  //# sourceMappingURL=elements-web-component.esm.js.map