@helpai/elements 0.41.1 → 0.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/elements-web-component.esm.js +1 -1
- package/elements-web-component.esm.js.map +2 -2
- package/elements.cjs.js +1 -1
- package/elements.cjs.js.map +2 -2
- package/elements.esm.js +1 -1
- package/elements.esm.js.map +2 -2
- package/elements.js +1 -1
- package/elements.js.map +2 -2
- package/index.mjs +5 -1
- package/package.json +1 -1
- package/web-component.mjs +5 -1
package/elements.js
CHANGED
|
@@ -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
|
`){Q(e),ee(e,i),e.pending=n;continue}}else{if(s===n){Q(e),ee(e,a),ee(e,i),e.pending="";continue}if(n!==" "&&n!==`
|
|
38
38
|
`){Q(e),ee(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
|
-
`){Q(e),ee(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(ku(n.charCodeAt(0)))break;Q(e),ee(e,31),e.pending=n;continue}break;case"[":if(e.token!==19&&e.token!==17&&e.token!==30&&e.token!==31&&n!=="]"){Q(e),ee(e,17),e.pending=n;continue}break;case"!":if(e.token!==19&&n==="["){Q(e),ee(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}Q(e)}function Xr(e){return{add_token:wu,end_token:Cu,add_text:Tu,set_attr:Eu,data:{nodes:[e,,,,,],index:0}}}function wu(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 Cu(e){e.index-=1}function Tu(e,t){e.nodes[e.index].appendChild(document.createTextNode(t))}function Eu(e,t,n){e.nodes[e.index].setAttribute(bu(t),n)}function Ro({textSig:e,doneSig:t}){let n=M(null);return w(()=>{let o=n.current;if(!o)return;o.classList.add(`${x.cssPrefix}-md`);let i=Xr(o),a=jr(i),s=0,l=qe(()=>{let u=e.value,_=t.value;u.length<s&&(o.replaceChildren(),i=Xr(o),a=jr(i),s=0);let m=u.slice(s);m&&ve(a,m),s=u.length,_&&gl(a)}),c=new MutationObserver(u=>{for(let _ of u)for(let m of _.addedNodes){if(!(m instanceof HTMLElement))continue;let g=m.matches?.("a")?[m]:[...m.querySelectorAll?.("a")??[]];for(let f of g)hl(f)}});c.observe(o,{childList:!0,subtree:!0});for(let u of o.querySelectorAll("a"))hl(u);let d=u=>{let _=u.target?.closest?.("a");if(!_||!(_ instanceof HTMLAnchorElement))return;let m=_.getAttribute("href")??"";!m||m.startsWith("#")||(u.preventDefault(),window.open(m,"_blank","noopener,noreferrer"))};return o.addEventListener("click",d),()=>{l(),c.disconnect(),o.removeEventListener("click",d)}},[e,t]),r("div",{ref:n})}function vl({text:e}){let t=xe(()=>H(e),[e]),n=xe(()=>H(!0),[]);return r(Ro,{textSig:t,doneSig:n})}function hl(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(" ")}var ye=x.cssPrefix;function bl(e){return(e.startsWith("tool:")?e.slice(5):e).replace(/[-_]+/g," ")}function xl({part:e,strings:t,active:n,onDecision:o}){let i=re(()=>e.approvalSig.value),a=re(()=>e.inputSig.value),s=_t("");if(i.value?.approved!==void 0){let d=i.value;return r("div",{class:`${ye}-tool-approval ${ye}-tool-decided`,"data-testid":S.toolDecision,children:[r("span",{class:`${ye}-tool-decided-label`,"data-approved":d?.approved?"true":"false",children:d?.approved?t.approved:t.rejected}),r("strong",{class:`${ye}-tool-title`,children:bl(e.toolName)}),d?.reason?r("span",{class:`${ye}-tool-decided-value`,children:d.reason}):null]})}let c=Au(a.value);return r("div",{class:`${ye}-tool-approval`,"data-testid":S.toolApproval,children:[r("div",{class:`${ye}-tool-head`,children:[r("span",{class:`${ye}-tool-badge`,children:t.approvalRequired}),r("strong",{class:`${ye}-tool-title`,children:bl(e.toolName)})]}),c?r("pre",{class:`${ye}-tool-args`,children:c}):null,n?r(ne,{children:[r("input",{class:`${ye}-field-input`,value:s.value,placeholder:t.approvalReason,onInput:d=>{s.value=d.target.value}}),r("div",{class:`${ye}-form-actions`,children:[r("button",{type:"button",class:`${ye}-tool-reject`,onClick:()=>o(e.toolCallId,!1,s.value.trim()||void 0),"data-testid":S.toolReject,children:t.reject}),r("button",{type:"button",class:`${ye}-tool-approve`,onClick:()=>o(e.toolCallId,!0,s.value.trim()||void 0),"data-testid":S.toolApprove,children:t.approve})]})]}):r("p",{class:`${ye}-tool-stale-note`,children:t.stepNoLongerActive})]})}function Au(e){if(e==null)return"";try{let t=typeof e=="string"?e:JSON.stringify(e,null,2);return t.length>600?`${t.slice(0,600)}\u2026`:t}catch{return""}}function yl(e){let t=e&&typeof e=="object"?e:{},n=t.responseType;return{title:pn(t.title),question:pn(t.question)??"Please provide the missing information.",description:pn(t.description),placeholder:pn(t.placeholder),responseType:n==="single-choice"||n==="multi-choice"||n==="confirmation"||n==="free-text"?n:"free-text",choices:Array.isArray(t.choices)?t.choices:void 0,allowOther:typeof t.allowOther=="boolean"?t.allowOther:void 0,required:typeof t.required=="boolean"?t.required:!0,defaultValues:Array.isArray(t.defaultValues)?t.defaultValues.filter(o=>typeof o=="string"):void 0,minSelections:Pl(t.minSelections),maxSelections:Pl(t.maxSelections),validationHint:pn(t.validationHint)}}function Sl(e){if(e.responseType==="confirmation")return[];let t=(e.choices??[]).map(Ru).filter(i=>i!==null),n="textarea";e.responseType==="single-choice"&&t.length>0?n="radio":e.responseType==="multi-choice"&&(n="multiselect");let o=n==="multiselect"?e.defaultValues?.join(", "):e.defaultValues?.[0];return[{name:"answer",label:e.question,type:n,placeholder:e.placeholder,required:e.required??!0,defaultValue:o,options:t.length>0?t:void 0,allowOther:e.allowOther,validationHint:e.validationHint,validation:n==="multiselect"?{minSelections:e.minSelections,maxSelections:e.maxSelections}:void 0}]}function Ru(e){return typeof e=="string"?e?{value:e,label:e}:null:e&&typeof e.value=="string"&&e.value?{value:e.value,label:e.label??e.value,description:e.description}:null}function pn(e){return typeof e=="string"&&e.trim()?e.trim():void 0}function Pl(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}var Pe=x.cssPrefix;function wl({part:e,strings:t,active:n,onSubmit:o,onDecision:i}){let a=re(()=>e.stateSig.value),s=re(()=>e.approvalSig.value),l=re(()=>yl(e.inputSig.value)),c=a.value==="output"||a.value==="error"||s.value?.approved!==void 0,d=s.value!==void 0,u=(g,f)=>{d?i(e.toolCallId,f,g):l.value.responseType==="confirmation"?o(e.toolCallId,{confirmed:f}):o(e.toolCallId,f?{answer:g}:{})};if(c)return r(Lu,{part:e,strings:t});if(!n)return r("div",{class:`${Pe}-tool-ask-input ${Pe}-tool-stale`,"data-testid":S.toolAskInput,children:[r(kl,{strings:t,title:l.value.title??l.value.question}),r("p",{class:`${Pe}-tool-stale-note`,children:t.stepNoLongerActive})]});let _=l.value,m=_.responseType==="confirmation";return r("div",{class:`${Pe}-tool-ask-input`,"data-testid":S.toolAskInput,children:[r(kl,{strings:t,title:_.title}),_.description?r("p",{class:`${Pe}-tool-desc`,children:_.description}):null,m?r("p",{class:`${Pe}-tool-question`,children:_.question}):null,m?r("div",{class:`${Pe}-form-actions`,children:[r("button",{type:"button",class:`${Pe}-form-skip`,onClick:()=>u(void 0,!1),"data-testid":S.toolInputSkip,children:t.reject}),r("button",{type:"button",class:`${Pe}-form-submit`,onClick:()=>u(void 0,!0),"data-testid":S.toolInputSubmit,children:t.approve})]}):r(Io,{fields:Sl(_),strings:t,submitLabel:t.inputSubmit,onSubmit:g=>u(g.answer??Object.values(g).join(", "),!0),skipLabel:_.required===!1?t.inputSkip:void 0,onSkip:_.required===!1?()=>u(void 0,!1):void 0,submitTestId:S.toolInputSubmit,skipTestId:S.toolInputSkip})]})}function kl({strings:e,title:t}){return r("div",{class:`${Pe}-tool-head`,children:[r("span",{class:`${Pe}-tool-badge`,children:e.inputRequired}),t?r("strong",{class:`${Pe}-tool-title`,children:t}):null]})}function Lu({part:e,strings:t}){let n=re(()=>e.outputSig.value),o=re(()=>e.approvalSig.value),i=o.value?.approved!==void 0?o.value.reason??"":Mu(n.value),a=o.value?.approved===!1;return r("div",{class:`${Pe}-tool-ask-input ${Pe}-tool-decided`,"data-testid":S.toolDecision,children:[r("span",{class:`${Pe}-tool-decided-label`,children:a?t.inputSkip:t.inputSubmitted}),r("span",{class:`${Pe}-tool-decided-value`,children:a?"":i||t.inputSubmitted})]})}function Mu(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof e=="object"){let t=e;return"confirmed"in t?t.confirmed?"Yes":"No":Object.values(t).filter(n=>typeof n=="string"||typeof n=="number").join(", ")}return String(e)}function Cl({part:e,strings:t}){let n=x.cssPrefix;return r("span",{class:`${n}-tool-chip`,role:"status",children:[r("span",{children:[t.usedTool,":"]}),r("strong",{children:e.toolName})]})}var Ae=x.cssPrefix;function Tl({message:e,strings:t,responseMode:n,showReasoning:o,showToolCalls:i,interactive:a=!1,tool:s}){let c=re(()=>e.partsSig.value).value,d=re(()=>e.partsSig.value.some(h=>h.kind==="text"&&h.textSig.value.length>0)),u=re(()=>o&&e.partsSig.value.some(h=>h.kind==="reasoning")),_=e.role==="assistant"&&e.status==="streaming",m=n==="buffered"&&_,g=_&&!d.value,f=_&&!m&&!(u.value&&g),v=Nu(e.createdAt);return r("div",{class:`${Ae}-bubble-row`,"data-role":e.role,"data-testid":he(S.messageBubble,e.id),children:r("div",{class:`${Ae}-bubble-col`,children:[r("div",{class:`${Ae}-bubble`,children:[m?r(Bu,{label:t.loading}):c.map(h=>r(Du,{part:h,active:g,strings:t,showReasoning:o,showToolCalls:i,interactive:a,tool:s},Hu(h))),f&&r(Fu,{}),e.status==="error"&&e.errorText?r("div",{class:`${Ae}-error`,role:"alert",children:r("span",{children:e.errorText})}):null]}),v?r("time",{class:`${Ae}-bubble-time`,dateTime:v.iso,title:v.full,children:v.short}):null]})})}function Nu(e){if(typeof e!="number"||!Number.isFinite(e))return null;try{let t=new Date(e);return{short:t.toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"}),full:t.toLocaleString(void 0,{dateStyle:"full",timeStyle:"short"}),iso:t.toISOString()}}catch{return null}}function Du({part:e,active:t,strings:n,showReasoning:o,showToolCalls:i,interactive:a,tool:s}){switch(e.kind){case"text":return r(Ro,{textSig:e.textSig,doneSig:e.doneSig});case"reasoning":return o?r($u,{part:e,active:t,strings:n}):null;case"tool":return r(Ou,{part:e,strings:n,showToolCalls:i,interactive:a,tool:s});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 Ou({part:e,strings:t,showToolCalls:n,interactive:o,tool:i}){let a=re(()=>e.stateSig.value),s=re(()=>e.approvalSig.value!==void 0);if(i?.humanInLoop){if(po(e.toolName)||a.value==="awaiting-input")return r(wl,{part:e,strings:t,active:o,onSubmit:i.onResult,onDecision:i.onDecision});if(s.value||a.value==="awaiting-approval")return r(xl,{part:e,strings:t,active:o,onDecision:i.onDecision})}return n?r(Cl,{part:e,strings:t}):null}function $u({part:e,active:t,strings:n}){return r("details",{class:`${Ae}-reasoning`,open:t,"data-active":t?"true":void 0,children:[r("summary",{class:`${Ae}-reasoning-summary`,children:r("span",{class:`${Ae}-reasoning-label`,children:t?n.thinking:n.thoughts})}),r("div",{class:`${Ae}-reasoning-body`,children:r(Ro,{textSig:e.textSig,doneSig:e.doneSig})})]})}function Hu(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 Fu(){return r("span",{class:`${Ae}-typing`,"aria-hidden":"true",children:[r("span",{}),r("span",{}),r("span",{})]})}function Bu({label:e}){return r("span",{class:`${Ae}-loading`,role:"status",children:[r("span",{class:`${Ae}-loading-spinner`,"aria-hidden":"true"}),r("span",{class:`${Ae}-loading-label`,children:e})]})}var Ht=x.cssPrefix,Jr=120,zu=350,Uu=1200;function El({messagesSig:e,strings:t,responseMode:n,showReasoning:o,showToolCalls:i,loading:a,idle:s,tool:l,form:c,formMarkers:d,onFillForm:u}){let _=M(null),m=re(()=>e.value),[g,f]=T(!1),[v,h]=T(!1),I=M(!1),b=M(!1),C=M(!1),N=M(0),z=()=>C.current||performance.now()-N.current<zu,K=M(0),$=y=>{K.current=performance.now(),y.scrollTop=y.scrollHeight},de=m.value[0]?.id;Tr(()=>{let y=_.current;if(!y||m.value.length===0||(I.current=!0,!m.value.some(Je=>Je.role==="user")))return;let D=()=>$(y);D();let me=new ResizeObserver(D);me.observe(y);let we=new MutationObserver(D);we.observe(y,{childList:!0,subtree:!0,characterData:!0});let Ce=setTimeout(()=>{me.disconnect(),we.disconnect()},300);return()=>{me.disconnect(),we.disconnect(),clearTimeout(Ce)}},[de]);let U=M(0);w(()=>{let y=_.current,D=m.value,me=U.current;if(U.current=D.length,!y||!I.current)return;if(D.slice(me).some(Ce=>Ce.role==="user")){b.current=!1,$(y);return}if(b.current||z())return;y.scrollHeight-y.scrollTop-y.clientHeight<Jr&&$(y)},[m.value.length]),w(()=>{let y=_.current;if(!y)return;let D=m.value.at(-1);if(!D)return;let me=()=>{if(b.current||z())return;y.scrollHeight-y.scrollTop-y.clientHeight<Jr*2&&$(y)};if(D.status!=="streaming"){let Ce=requestAnimationFrame(me);return()=>cancelAnimationFrame(Ce)}me();let we=new MutationObserver(me);return we.observe(y,{childList:!0,subtree:!0,characterData:!0}),()=>we.disconnect()},[m.value]);let q=c?.form.id;Tr(()=>{let y=_.current;!y||!q||b.current||m.value.some(D=>D.role==="user")&&$(y)},[q]),w(()=>{let y=_.current;if(!y)return;let D=()=>f(y.scrollHeight-y.scrollTop-y.clientHeight>Jr*2),me,we=()=>{D(),performance.now()-K.current>150&&(b.current=y.scrollHeight-y.scrollTop-y.clientHeight>8),h(!0),clearTimeout(me),me=setTimeout(()=>h(!1),Uu)},Ce=()=>{b.current=!0},Je=Ye=>{Ye.deltaY<0&&Ce()},Bt=0,ht=Ye=>{Bt=Ye.touches[0]?.clientY??0,C.current=!0},zt=Ye=>{(Ye.touches[0]?.clientY??0)>Bt+4&&Ce()},Re=()=>{C.current=!1,N.current=performance.now()},Ut=()=>{C.current=!0};return y.addEventListener("scroll",we,{passive:!0}),y.addEventListener("wheel",Je,{passive:!0}),y.addEventListener("touchstart",ht,{passive:!0}),y.addEventListener("touchmove",zt,{passive:!0}),y.addEventListener("touchend",Re,{passive:!0}),y.addEventListener("touchcancel",Re,{passive:!0}),y.addEventListener("pointerdown",Ut,{passive:!0}),window.addEventListener("pointerup",Re,{passive:!0}),window.addEventListener("pointercancel",Re,{passive:!0}),D(),()=>{y.removeEventListener("scroll",we),y.removeEventListener("wheel",Je),y.removeEventListener("touchstart",ht),y.removeEventListener("touchmove",zt),y.removeEventListener("touchend",Re),y.removeEventListener("touchcancel",Re),y.removeEventListener("pointerdown",Ut),window.removeEventListener("pointerup",Re),window.removeEventListener("pointercancel",Re),clearTimeout(me)}},[]);let We=()=>{let y=_.current;y&&(b.current=!1,$(y))},ke=[],k="",J=m.value.at(-1)?.id,Z=[...d??[]].toSorted((y,D)=>(y.createdAt??1/0)-(D.createdAt??1/0)),pe=y=>r(dl,{marker:y,strings:t,onFill:!c&&u?()=>u(y.formId):void 0},y.key),fe=y=>{for(let D=Z[0];D?.createdAt!==void 0&&!(y!==void 0&&D.createdAt>y);D=Z[0])Z.shift(),ke.push(pe(D))};for(let y of m.value){fe(y.createdAt);let D=Wu(y.createdAt);D&&D!==k&&(ke.push(r("div",{class:`${Ht}-date-divider`,children:r("span",{class:`${Ht}-date-pill`,title:Gu(y.createdAt),children:Vu(y.createdAt,t)})},`day:${D}`)),k=D),ke.push(r(Tl,{message:y,strings:t,responseMode:n,showReasoning:o,showToolCalls:i,interactive:!!s&&y.id===J,tool:l},y.id))}for(let y of Z)ke.push(pe(y));return r("div",{class:`${Ht}-list-wrap`,children:[r("div",{ref:_,class:`${Ht}-list`,role:"log","aria-live":"polite","aria-relevant":"additions text","data-scrolling":v?"true":void 0,children:[a&&m.value.length===0?r("div",{class:`${Ht}-list-loading`,role:"status",children:t.conversationLoading}):null,ke,c?r(cl,{form:c.form,strings:t,onSubmit:c.onSubmit,onSkip:c.onSkip}):null]}),g?r("button",{type:"button",class:`${Ht}-jump`,onClick:We,"aria-label":t.scrollToBottom,title:t.scrollToBottom,"data-testid":S.scrollToBottom,children:r(zs,{})}):null]})}function Wu(e){if(typeof e!="number"||!Number.isFinite(e))return"";let t=new Date(e);return`${t.getFullYear()}-${t.getMonth()}-${t.getDate()}`}function Gu(e){if(typeof e!="number"||!Number.isFinite(e))return"";try{return new Date(e).toLocaleDateString(void 0,{dateStyle:"full"})}catch{return""}}function Vu(e,t){let n=new Date(e),o=a=>new Date(a.getFullYear(),a.getMonth(),a.getDate()).getTime(),i=Math.round((o(new Date)-o(n))/864e5);return i<=0?t.dateToday:i===1?t.dateYesterday:i<7?n.toLocaleDateString(void 0,{weekday:"long"}):n.toLocaleDateString(void 0,{month:"long",day:"numeric",year:"numeric"})}var Ku=["today","yesterday","lastWeek","older"];function qu(e,t){let n=Date.parse(t);if(!Number.isFinite(n))return"older";let o=Math.floor((Il(e)-Il(n))/(1440*60*1e3));return o<=0?"today":o===1?"yesterday":o<7?"lastWeek":"older"}function Al(e,t){let n=new Map;for(let o of t){let i=qu(e,o.lastMessageAt),a=n.get(i);a?a.push(o):n.set(i,[o])}return Ku.filter(o=>n.has(o)).map(o=>({bucket:o,conversations:n.get(o)}))}function Il(e){let t=new Date(e);return t.setUTCHours(0,0,0,0),t.getTime()}var ju=B.scope("history"),Xu={today:"dateToday",yesterday:"dateYesterday",lastWeek:"dateLastWeek",older:"dateOlder"};function Ju(e,t,n){let o=Date.parse(e);return Number.isFinite(o)?new Date(o).toDateString()===new Date(t).toDateString()?new Intl.DateTimeFormat(n,{hour:"numeric",minute:"2-digit"}).format(o):t-o<10080*60*1e3?new Intl.DateTimeFormat(n,{weekday:"short"}).format(o):new Intl.DateTimeFormat(n,{month:"short",day:"numeric"}).format(o):""}function Lo({transport:e,strings:t,visitorId:n,onSelect:o,onNewConversation:i}){let a=x.cssPrefix,s=e.peekConversations({visitorId:n}),[l,c]=T(s?"loaded":"loading"),[d,u]=T(s?.conversations??[]);w(()=>{let v=!1;return e.listConversations({visitorId:n}).then(h=>{v||(u(h.conversations??[]),c("loaded"))}).catch(h=>{v||(ju.warn("listConversations failed",{err:h}),c("error"))}),()=>{v=!0}},[e,n]);let _=i?r("div",{class:`${a}-history-footer`,children:r("button",{type:"button",class:`${a}-history-new`,onClick:i,"data-testid":S.sidebarNewConversation,children:[r(Ps,{}),t.newConversation]})}):null;if(l==="loading")return r(ne,{children:[r("div",{class:`${a}-history`,"aria-busy":"true","aria-label":t.historyLoading,children:r("div",{class:`${a}-history-group`,"aria-hidden":"true",children:[r("div",{class:`${a}-history-heading`,children:r("span",{class:`${a}-history-skeleton-line ${a}-skeleton-heading`})}),r("div",{class:`${a}-history-card`,children:[0,1,2].map(v=>r("div",{class:`${a}-history-skeleton-item`,children:[r("span",{class:`${a}-history-skeleton-avatar`}),r("span",{class:`${a}-history-skeleton-body`,children:[r("span",{class:`${a}-history-skeleton-line ${a}-skeleton-title`}),r("span",{class:`${a}-history-skeleton-line ${a}-skeleton-preview`})]})]},v))})]})}),_]});if(l==="error"||d.length===0)return r(ne,{children:[r("div",{class:`${a}-history-empty`,children:t.historyEmpty}),_]});let m=Date.now(),g=typeof navigator<"u"?navigator.language:"en",f=Al(m,d);return r(ne,{children:[r("div",{class:`${a}-history`,role:"list",children:f.map(v=>r("div",{class:`${a}-history-group`,children:[r("div",{class:`${a}-history-heading`,children:t[Xu[v.bucket]]}),r("div",{class:`${a}-history-card`,children:v.conversations.map(h=>r("button",{type:"button",role:"listitem",class:`${a}-history-item`,onClick:()=>o(h),"data-closed":h.canContinue?void 0:"true","data-unread":(h.unreadCount??0)>0?"true":void 0,"data-testid":he(S.historyItem,h.conversationId),children:[r("span",{class:`${a}-history-avatar`,"aria-hidden":"true",children:r(Or,{})}),r("span",{class:`${a}-history-body`,children:[r("span",{class:`${a}-history-row`,children:[r("span",{class:`${a}-history-title`,children:h.title}),r("span",{class:`${a}-history-time`,children:Ju(h.lastMessageAt,m,g)})]}),r("span",{class:`${a}-history-row`,children:[r("span",{class:`${a}-history-preview`,children:h.preview??(h.canContinue?t.historyContinue:t.conversationClosed)}),(h.unreadCount??0)>0?r("span",{class:`${a}-history-dot`}):null]})]})]},h.conversationId))})]},v.bucket))}),_]})}var Rl=x.cssPrefix;function Ll({suggestions:e,onPick:t}){return e.length===0?null:r("div",{class:`${Rl}-suggestions`,role:"group","aria-label":"Suggested replies",children:e.map((n,o)=>r("button",{type:"button",class:`${Rl}-suggestion`,onClick:()=>t(n),"data-testid":he(S.suggestion,o),children:n.label},n.id))})}var Se=x.cssPrefix;function Ml(e){let{options:t,onClose:n}=e,o=t.strings,i=M(null);w(()=>{let c=i.current;if(!c)return;let d=ko(c),u=_=>{_.key==="Escape"&&n?.()};return c.addEventListener("keydown",u),()=>{d(),c.removeEventListener("keydown",u)}},[n]);let a=M(null),s=F(c=>{a.current?.attachFromDrop(c)},[]),{visible:l}=To({containerRef:i,onDrop:s});return yo(i.current,t.mode==="modal"),r("div",{ref:i,class:`${Se}-panel`,role:"dialog","aria-modal":"false","aria-label":o.panelTitle,style:{position:"relative"},"data-testid":S.panel,children:[r(Yr,{...e,containerEl:i.current,dragOver:l,composerAttachApiRef:a}),r(Qr,{poweredBy:e.options.poweredBy})]})}function Yr(e){let{options:t,transport:n,feedback:o,bus:i,panelSize:a,view:s,canSend:l,isStreaming:c,loadingMessages:d,messagesSig:u,agent:_,suggestions:m,initialWidgetSize:g,visitorId:f,onClose:v,onBack:h,onClear:I,onToggleHistory:b,onSelectHistoryConversation:C,onNewConversation:N,onWidgetSizeChange:z,onSend:K,onStop:$,onSuggestion:de,activeForm:U,formMarkers:q,onFormSubmit:We,onFormSkip:ke,onFormFill:k,tool:J,containerEl:Z,dragOver:pe,composerAttachApiRef:fe}=e,y=t.strings,D;return U?D=null:l?D=r(ne,{children:[r(Ll,{suggestions:m,onPick:de}),r(ol,{options:t,transport:n,feedback:o,bus:i,isStreaming:c,onSend:K,onStop:$,attachApiRef:fe})]}):D=r(Qu,{label:y.conversationClosed,ctaLabel:y.startNewConversation,onNewConversation:I}),r(ne,{children:[s==="history"?r(Yu,{strings:y,onBack:b,onClose:v,showClose:So(t.mode,a,t.actions)}):r("header",{class:`${Se}-header`,"data-testid":S.panelHeader,children:[h?r("button",{type:"button",class:`${Se}-icon-btn`,onClick:h,"aria-label":y.moduleBack,title:y.moduleBack,children:r(cn,{})}):null,_?r(el,{agent:_,strings:y}):r("h1",{children:y.panelTitle}),r(Be,{panelProps:e,variant:"chat"})]}),s==="history"?r(Lo,{transport:n,strings:y,visitorId:f,onSelect:me=>C(me.conversationId),onNewConversation:N}):r(ne,{children:[r(rl,{visible:pe,strings:y}),r(El,{messagesSig:u,strings:y,responseMode:t.responseMode,showReasoning:t.showReasoning,showToolCalls:t.showToolCalls,loading:d,idle:!c,tool:J,form:U?{form:U,onSubmit:We,onSkip:ke}:null,formMarkers:q,onFillForm:k}),D,r(Zu,{disclaimer:t.composerDisclaimer})]}),t.size.resize?.enabled?r(Po,{panelEl:Z,resize:t.size.resize,position:t.position,initialSize:g,onSizeChange:z,strings:y}):null]})}function Yu({strings:e,onBack:t,onClose:n,showClose:o}){return r("header",{class:`${Se}-header`,children:[r("button",{type:"button",class:`${Se}-icon-btn`,onClick:t,"aria-label":e.historyBack,title:e.historyBack,children:r(cn,{})}),r("h1",{children:e.historyTitle}),o?r("button",{type:"button",class:`${Se}-icon-btn`,onClick:n,"aria-label":e.close,title:e.close,children:r(Fe,{})}):null]})}function Qu({label:e,ctaLabel:t,onNewConversation:n}){return r("div",{class:`${Se}-readonly-banner`,role:"note",children:[r("span",{class:`${Se}-readonly-label`,children:e}),r("button",{type:"button",class:`${Se}-readonly-cta`,onClick:n,children:t})]})}function Zu({disclaimer:e}){return e?r("div",{class:`${Se}-composer-footer`,children:r("div",{class:`${Se}-disclaimer`,children:e})}):null}function Qr({poweredBy:e}){return e?r("div",{class:`${Se}-poweredby-bar`,children:r(ep,{logoUrl:e.logoUrl,text:e.text,href:e.href})}):null}function ep({logoUrl:e,text:t,href:n}){let o=r(ne,{children:[e?r("img",{class:`${Se}-poweredby-logo`,src:e,alt:"",loading:"lazy"}):null,t?r("span",{children:t}):null]});return n?r("a",{class:`${Se}-poweredby`,href:n,target:"_blank",rel:"noopener noreferrer",children:o}):r("span",{class:`${Se}-poweredby`,children:o})}function Nl(e){let t=M(e);t.current=e;let n=M(null);return n.current??(n.current=tp(t)),n.current}function tp(e){let t=H(null),n=new Set,o=c=>`${e.current.conversationId()??""}:${c}`,i=c=>c.frequency==="always"?!1:c.frequency==="conversation"?n.has(o(c.id)):c.id in e.current.persistence.loadFormsDone(),a=(c,d)=>{if(t.value)return;let u=e.current;if(c==="manual"){let _=u.forms.list.find(m=>m.id===d);_&&(t.value={form:_,trigger:"manual"});return}for(let _ of u.forms.byTrigger[c]??[]){let m=_.triggers.find(g=>g.kind===c);if(!(!m||!np(m,u)||i(_)||!op(_,u))){t.value={form:_,trigger:c};return}}},s=(c,d)=>{let u=t.value;if(!u)return;t.value=null;let{form:_,trigger:m}=u;_.frequency==="conversation"?n.add(o(_.id)):_.frequency!=="always"&&e.current.persistence.saveFormDone(_.id),e.current.onComplete(_,m,c,d)};return{activeForm:t,fire:a,refresh:()=>{let c=t.value;if(!c)return;let d=e.current.forms.list.find(u=>u.id===c.form.id);d&&d!==c.form&&(t.value={form:d,trigger:c.trigger})},complete:c=>s(c,!1),skip:()=>s({},!0)}}function np(e,t){return e.kind==="after-messages"?t.messageCount()>=Number(e.param??0):e.kind==="page-area"?t.pageArea()===e.param:!0}function op(e,t){let n=e.when;if(!n)return!0;if(n.missingContext?.length){let i=t.userContext()??{};if(n.missingContext.some(a=>i[a]!==void 0&&i[a]!==""))return!1}if(n.pageArea&&!(Array.isArray(n.pageArea)?n.pageArea:[n.pageArea]).includes(t.pageArea()??""))return!1;let o=t.messageCount();return!(n.minMessages!=null&&o<n.minMessages||n.maxMessages!=null&&o>n.maxMessages)}function Dl(e){let t=x.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":S.sidebar,children:[r("div",{class:`${t}-sidebar-header`,children:[r(rp,{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":S.sidebarToggle,children:r(ip,{collapsed:a})})]}),a?null:r(ne,{children:[s.length>0?r("nav",{class:`${t}-sidebar-section`,"data-section":"navigation",children:r(ap,{items:s})}):null,l.length>0?r("div",{class:`${t}-sidebar-section`,"data-section":"link-cards",children:r(sp,{items:l})}):null,e.showConversations?r("div",{class:`${t}-sidebar-conversations`,children:r(Lo,{transport:e.transport,strings:e.strings,visitorId:e.visitorId,onSelect:e.onSelectConversation,onNewConversation:e.onNewConversation})}):null]})]})}function rp({site:e}){let t=x.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??x.name})}function ip({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 ap({items:e}){let t=x.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 sp({items:e}){let t=x.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 Ol=x.cssPrefix;function $l(e){return r("main",{class:`${Ol}-page-shell`,"data-sidebar-collapsed":e.sidebarCollapsed?"true":"false",children:[r(Dl,{site:e.site,blocks:e.blocks,transport:e.transport,strings:e.strings,visitorId:e.visitorId,showConversations:e.showConversations,onSelectConversation:e.onSelectConversation,onNewConversation:e.onNewConversation,collapsed:e.sidebarCollapsed,onToggleCollapsed:e.onToggleSidebarCollapsed}),r("section",{class:`${Ol}-page-chat`,"aria-label":"Chat",children:e.children})]})}var Hl=e=>Object.fromEntries(e.map(t=>[t,[]]));function Fl(e,t,n){let o=H({activeTab:e,stacks:Hl(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:Hl(t)}}}}var Bl=e=>e.stacks[e.activeTab]??[],zl=e=>Bl(e).at(-1),Ul=e=>Bl(e).length===0;var Wl={Icon:dn};var rt=x.cssPrefix;function Mo({title:e,actions:t}){return r("header",{class:`${rt}-back-header`,"data-variant":"title",children:[r("span",{class:`${rt}-back-spacer`,"aria-hidden":"true"}),r("h1",{class:`${rt}-back-title`,children:e}),t??r("span",{class:`${rt}-back-spacer`,"aria-hidden":"true"})]})}function No({title:e,backLabel:t,onBack:n,actions:o,testid:i}){return r("header",{class:`${rt}-back-header`,"data-testid":i,children:[r("button",{type:"button",class:`${rt}-icon-btn`,onClick:n,"aria-label":t,title:t,children:r(cn,{})}),r("h1",{class:`${rt}-back-title`,children:e}),o??r("span",{class:`${rt}-back-spacer`,"aria-hidden":"true"})]})}var Ft=x.cssPrefix;function Gl({placeholder:e,onActivate:t}){return r("button",{type:"button",class:`${Ft}-home-search`,onClick:t,"data-testid":S.homeSearch,children:[r("span",{class:`${Ft}-home-search-text`,children:e}),r("span",{class:`${Ft}-home-search-icon`,"aria-hidden":"true",children:r(Hr,{})})]})}function Vl({placeholder:e,value:t,onInput:n}){return r("div",{class:`${Ft}-home-search`,"data-input":"true",children:[r("input",{type:"search",class:`${Ft}-home-search-input`,placeholder:e,value:t,onInput:o=>n(o.currentTarget.value),"data-testid":S.helpSearch}),r("span",{class:`${Ft}-home-search-icon`,"aria-hidden":"true",children:r(Hr,{})})]})}var fn=x.cssPrefix;function Do({title:e,subtitle:t,onClick:n,testid:o}){return r("button",{type:"button",class:`${fn}-list-row`,onClick:n,"data-testid":o,children:[r("span",{class:`${fn}-list-row-body`,children:[r("span",{class:`${fn}-list-row-title`,children:e}),t?r("span",{class:`${fn}-list-row-sub`,children:t}):null]}),r("span",{class:`${fn}-list-row-chevron`,"aria-hidden":"true",children:r(Dt,{})})]})}var Kl=x.cssPrefix;function De({tone:e="info",message:t,onRetry:n,strings:o}){return r("div",{class:`${Kl}-module-empty`,role:e==="error"?"alert":"status","aria-live":"polite",children:[r("span",{children:t}),n?r("button",{type:"button",class:`${Kl}-module-retry`,onClick:n,children:o.errorRetry}):null]})}var gt=x.cssPrefix,lp=B.scope("help"),cp=(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 dp(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 ql(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 _p(e,t){let n=t.toLowerCase().trim();return n?e.map(o=>({item:o,score:Math.max(ql(n,o.title)*2,ql(n,o.description??""))})).filter(o=>o.score>0).toSorted((o,i)=>i.score-o.score).map(o=>o.item):[]}function jl({article:e,nav:t}){return r(Do,{title:e.title,subtitle:e.description,onClick:()=>cp(t,e),testid:he(S.helpArticle,e.id)})}function up({transport:e,strings:t,config:n,nav:o,panelProps:i}){let a=n.contentTags,[s,l]=T("loading"),[c,d]=T(t.errorGeneric),[u,_]=T([]),[m,g]=T(""),[f,v]=T(0);w(()=>{let b=!1;return l("loading"),e.listContent({tags:a,sortBy:"order",limit:100}).then(C=>{b||(_(C.items??[]),l("loaded"))}).catch(C=>{b||(lp.warn("listContent (help) failed",{err:C}),d(ut(C,t)),l("error"))}),()=>{b=!0}},[e,a,f]);let h=xe(()=>_p(u,m),[u,m]);function I(){return m.trim().length>0?h.length===0?r(De,{message:t.helpSearchEmpty,strings:t}):r("div",{class:`${gt}-help-card`,children:h.map(b=>r(jl,{article:b,nav:o},b.id))}):s==="loading"?r(De,{message:t.helpLoading,strings:t}):s==="error"?r(De,{tone:"error",message:c,onRetry:()=>v(b=>b+1),strings:t}):u.length===0?r(De,{message:t.helpEmpty,strings:t}):dp(u).map(([b,C])=>r("section",{class:`${gt}-help-group`,children:[b?r("h2",{class:`${gt}-help-section-title`,children:b}):null,r("div",{class:`${gt}-help-card`,children:C.map(N=>r(jl,{article:N,nav:o},N.id))})]},b))}return r("div",{class:`${gt}-module`,children:[r(Mo,{title:t.helpTitle,actions:r(Be,{panelProps:i,variant:"plain"})}),r("div",{class:`${gt}-module-pad`,children:r(Vl,{placeholder:t.helpSearchPlaceholder,value:m,onInput:g})}),r("div",{class:`${gt}-help-list`,children:I()})]})}var Xl={Icon:$r,Root:e=>r(up,{...e})};var Jl=x.cssPrefix;function Zr({onClick:e,children:t,testid:n}){return e?r("button",{type:"button",class:`${Jl}-home-card`,"data-interactive":"true",onClick:e,"data-testid":n,children:t}):r("div",{class:`${Jl}-home-card`,"data-testid":n,children:t})}var oe=x.cssPrefix,Yl=B.scope("home");function pp(e){let t=e.options.userContext?.name,n=e.config.greetingText?be(e.strings,e.config.greetingText):void 0;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 fp=(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 mp(e){let{transport:t,strings:n,config:o,nav:i,panelProps:a}=e,[s,l]=T(null),[c,d]=T([]),u=o.contentTags?.join(",");w(()=>{if(!o.showRecentConversations)return;let h=!1;return t.listConversations({limit:1}).then(I=>!h&&l(I.conversations?.[0]??null)).catch(I=>!h&&Yl.warn("listConversations (home) failed",{err:I})),()=>{h=!0}},[t,o.showRecentConversations]),w(()=>{if(!o.contentTags?.length)return;let h=!1;return t.listContent({tags:o.contentTags,limit:6}).then(I=>!h&&d(I.items??[])).catch(I=>!h&&Yl.warn("listContent (home) failed",{err:I})),()=>{h=!0}},[t,u]);let _=pp(e),m=o.userAvatars??[],g=o.status,f=g?.text?be(n,g.text):n.homeStatus,v=o.contentBlockTitle?be(n,o.contentBlockTitle):n.homeContentTitle;return r("div",{class:`${oe}-module ${oe}-home`,"data-testid":S.homeView,children:r("div",{class:`${oe}-home-scroll`,children:[r("div",{class:`${oe}-home-hero`,children:[r("div",{class:`${oe}-home-hero-top`,children:[o.brandName?r("span",{class:`${oe}-home-brand`,"data-testid":S.homeBrand,children:o.brandName}):r("span",{class:`${oe}-home-brand-spacer`,"aria-hidden":"true"}),r("div",{class:`${oe}-home-hero-actions`,children:[m.length>0?r("div",{class:`${oe}-home-avatars`,children:m.map(h=>r("span",{class:`${oe}-home-avatar`,title:h.role?`${h.name} \xB7 ${h.role}`:h.name,children:h.avatar?r("img",{src:h.avatar,alt:"",loading:"lazy"}):r("span",{children:wo(h.name)})},h.name))}):null,r(Be,{panelProps:a,variant:"plain"})]})]}),o.showGreeting!==!1?r(ne,{children:[r("h1",{class:`${oe}-home-greeting`,"data-testid":S.homeGreeting,children:_.title}),_.subtitle?r("p",{class:`${oe}-home-lead`,children:_.subtitle}):null]}):null]}),r("div",{class:`${oe}-home-cards`,children:[o.showSearchBar!==!1?r(Gl,{placeholder:n.homeSearchPlaceholder,onActivate:()=>i.switchToLayout("help")}):null,s?r(Zr,{onClick:()=>i.selectConversation(s.conversationId),testid:S.homeRecent,children:r("div",{class:`${oe}-home-recent-row`,"data-unread":(s.unreadCount??0)>0?"true":void 0,children:[r("span",{class:`${oe}-home-recent-avatar`,"aria-hidden":"true",children:r(dn,{})}),r("span",{class:`${oe}-home-recent-body`,children:[r("span",{class:`${oe}-home-recent-title`,children:s.title}),s.preview?r("span",{class:`${oe}-home-recent-preview`,children:s.preview}):null]}),(s.unreadCount??0)>0?r("span",{class:`${oe}-home-recent-dot`,"aria-label":"Unread"}):null]})}):null,g?r(Zr,{onClick:g.url?()=>i.push({kind:"iframe",url:g.url,title:f}):void 0,children:r("div",{class:`${oe}-home-status`,"data-level":g.level??"operational",children:[r("span",{class:`${oe}-home-status-icon`,"aria-hidden":"true",children:r(Ws,{})}),r("span",{class:`${oe}-home-status-text`,children:f})]})}):null,c.length>0?r("section",{class:`${oe}-home-content`,children:[r("div",{class:`${oe}-home-content-title`,children:v}),r("div",{class:`${oe}-home-content-list`,children:c.map(h=>r(Do,{title:h.title,subtitle:h.description,onClick:()=>fp(i,h),testid:he(S.homeContentRow,h.id)},h.id))})]}):null]})]})})}var Ql={Icon:Gs,Root:e=>r(mp,{...e})};var it=x.cssPrefix,gp=B.scope("news");function hp({transport:e,strings:t,config:n,nav:o,panelProps:i}){let a=n.contentTags,[s,l]=T("loading"),[c,d]=T(t.errorGeneric),[u,_]=T([]),[m,g]=T(0);w(()=>{let v=!1;return l("loading"),e.listContent({tags:a,sortBy:"publishedAt",sortOrder:"desc"}).then(h=>{v||(_(h.items??[]),l("loaded"))}).catch(h=>{v||(gp.warn("listContent (news) failed",{err:h}),d(ut(h,t)),l("error"))}),()=>{v=!0}},[e,a,m]);function f(){return s==="loading"?r(De,{message:t.newsLoading,strings:t}):s==="error"?r(De,{tone:"error",message:c,onRetry:()=>g(v=>v+1),strings:t}):u.length===0?r(De,{message:t.newsEmpty,strings:t}):r("div",{class:`${it}-news-list`,children:u.map(v=>r("button",{type:"button",class:`${it}-news-card`,onClick:()=>o.push({kind:"content",id:v.id,title:v.title}),"data-testid":he(S.newsItem,v.id),children:[v.image?r("img",{class:`${it}-news-hero`,src:v.image,alt:"",loading:"lazy"}):null,r("span",{class:`${it}-news-body`,children:[r("span",{class:`${it}-news-title`,children:v.title}),v.description?r("span",{class:`${it}-news-summary`,children:v.description}):null]})]},v.id))})}return r("div",{class:`${it}-module`,children:[r(Mo,{title:t.newsTitle,actions:r(Be,{panelProps:i,variant:"plain"})}),r("div",{class:`${it}-module-scroll`,children:f()})]})}var Zl={Icon:Vs,Root:e=>r(hp,{...e})};var Oo={chat:Wl,home:Ql,help:Xl,news:Zl};var mn=x.cssPrefix;function ec({modules:e,activeTab:t,strings:n,unreadCount:o,onSelect:i}){return r("nav",{class:`${mn}-tabbar`,role:"tablist","aria-label":n.panelTitle,children:e.map(a=>{let s=Oo[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:`${mn}-tab`,onClick:()=>i(a.id),"data-testid":he(S.tab,a.id),children:[r("span",{class:`${mn}-tab-icon`,"aria-hidden":"true",children:[r(s,{}),c?r("span",{class:`${mn}-tab-badge`,"data-testid":S.tabBadge,children:c}):null]}),r("span",{class:`${mn}-tab-label`,children:be(n,a.label)})]},a.id)})})}var tc=x.cssPrefix,vp="allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-downloads";function nc({url:e,title:t,strings:n,onBack:o,actions:i}){return r("div",{class:`${tc}-module`,children:[r(No,{title:t||n.moduleBack,backLabel:n.moduleBack,onBack:o,actions:i}),r("iframe",{class:`${tc}-content-frame`,src:e,title:t||"content",sandbox:vp,referrerpolicy:"no-referrer",loading:"lazy",allow:"fullscreen"})]})}var gn=x.cssPrefix,bp=B.scope("content");function oc({id:e,title:t,transport:n,strings:o,onBack:i,actions:a}){let[s,l]=T(null),[c,d]=T(!1),[u,_]=T(0),m=F(()=>{d(!1),l(null),_(f=>f+1)},[]);w(()=>{let f=!1;return n.listContent({ids:[e],limit:1}).then(v=>{if(f)return;let h=v.items[0];h?l(h):d(!0)}).catch(v=>{f||(bp.warn("listContent (reader) failed",{err:v}),d(!0))}),()=>{f=!0}},[n,e,u]);function g(){return c?r(De,{tone:"error",message:o.errorGeneric,onRetry:m,strings:o}):s===null?r(De,{message:o.contentLoading,strings:o}):r("article",{class:`${gn}-content`,"data-testid":S.contentView,children:[s.image?r("img",{class:`${gn}-content-hero`,src:s.image,alt:"",loading:"lazy"}):null,s.description?r("p",{class:`${gn}-content-subtitle`,children:s.description}):null,r(vl,{text:s.content??""})]})}return r("div",{class:`${gn}-module`,children:[r(No,{title:s?.title||t||o.moduleBack,backLabel:o.moduleBack,onBack:i,actions:a,testid:S.backHeader}),r("div",{class:`${gn}-module-scroll`,"data-testid":S.contentScroll,children:g()})]})}var ei=x.cssPrefix;function rc({panelProps:e,enabledModules:t,nav:n,unreadCount:o,onSelectConversation:i,onStartNewConversation:a,onSetPanelSize:s}){let l=e.options,c=l.strings,d=M(null);w(()=>{let $=d.current;if(!$)return;let de=ko($),U=q=>{q.key==="Escape"&&e.onClose?.()};return $.addEventListener("keydown",U),()=>{de(),$.removeEventListener("keydown",U)}},[e.onClose]);let u=M(null),_=F($=>{u.current?.attachFromDrop($)},[]),{visible:m}=To({containerRef:d,onDrop:_});yo(d.current,l.mode==="modal");let g=re(()=>n.sig.value).value,f=zl(g),v=l.modules.byId[g.activeTab],h=f?.kind==="iframe"||f?.kind==="content",I=t.length>1&&(Ul(g)||!h),b=M(null);w(()=>{if(h&&b.current===null)b.current=e.panelSize,e.panelSize==="normal"&&s("expanded");else if(!h&&b.current!==null){let $=b.current;b.current=null,s($)}},[h]);let C={push:n.push,pop:n.pop,switchTab:n.switchTab,switchToLayout:$=>{let de=t.find(U=>U.layout===$);de&&n.switchTab(de.id)},selectConversation:i,startNewConversation:a},N=$=>({options:l,transport:e.transport,strings:c,config:$,visitorId:e.visitorId,nav:C,panelProps:e}),z=r(Be,{panelProps:e,variant:"plain"}),K;if(f?.kind==="iframe")K=r(nc,{url:f.url,title:f.title,strings:c,onBack:n.pop,actions:z});else if(f?.kind==="content")K=r(oc,{id:f.id,title:f.title,transport:e.transport,strings:c,onBack:n.pop,actions:z});else if(v?.layout==="chat")K=r(Yr,{...e,containerEl:d.current,dragOver:m,composerAttachApiRef:u});else if(v){let $=Oo[v.layout].Root;K=$?r($,{...N(v)},v.id):null}else K=null;return r("div",{ref:d,class:`${ei}-panel ${ei}-messenger`,role:"dialog","aria-modal":"false","aria-label":c.panelTitle,style:{position:"relative"},"data-testid":S.messengerHome,children:[r("div",{class:`${ei}-messenger-body`,children:K}),I?r(ec,{modules:t,activeTab:g.activeTab,strings:c,unreadCount:o,onSelect:n.switchTab}):null,r(Qr,{poweredBy:l.poweredBy}),l.size.resize?.enabled&&!(v?.layout==="chat"&&!f)?r(Po,{panelEl:d.current,resize:l.size.resize,position:l.position,initialSize:e.initialWidgetSize,onSizeChange:e.onWidgetSizeChange,strings:c}):null]})}var hn=x.cssPrefix;function ic({strings:e,onClose:t}){return r("div",{class:`${hn}-panel ${hn}-modules-empty`,role:"dialog","aria-label":e.panelTitle,"data-testid":S.modulesEmpty,children:[t?r("button",{type:"button",class:`${hn}-icon-btn ${hn}-modules-empty-close`,onClick:t,"aria-label":e.close,title:e.close,children:r(Fe,{})}):null,r("p",{class:`${hn}-modules-empty-text`,children:e.modulesEmpty})]})}function ac({callout:e,persistence:t}){let n=e?.text??"",o=e?.persistent??!0,[i,a]=T(()=>o?!1:t.loadCalloutDismissed(n));w(()=>{a(o?!1:t.loadCalloutDismissed(n))},[n,o,t]);let s=F(()=>{a(!0),o||t.saveCalloutDismissed(n)},[t,n,o]);return{dismissed:i,dismissCallout:s}}var V=B.scope("app"),ti=x.cssPrefix;function sc(e,t){return ps({...e,text:be(t,e.text)})}function lc({options:e,hostElement:t,bus:n}){let[o]=T(()=>nt(e.widgetId,e.storage,e.aiAgentDeploymentId)),[i,a]=T(()=>o.getVisitorId()),s=o.loadUserPrefs(),[l,c]=T(()=>s.locale??e.locale),[d,u]=T(()=>s.themeMode??e.themeMode),[_,m]=T(()=>s.textSize??e.textSize),g=_t(o.loadConversationId()),f=_t([]),v=_t(0),[h,I]=T(!1),[b,C]=T([]);function N(){let p=e.modules.list,P=new Set(p.map(R=>R.id)),L=o.loadActiveModule();return L&&P.has(L)?L:p[0]?.id??""}function z(){return e.modules.list.find(p=>p.layout==="chat")?.id}let K=M();if(!K.current){let p=e.modules.list.map(P=>P.id);K.current=Fl(N(),p,P=>o.saveActiveModule(P))}let $=K.current,de=M(void 0);de.current=z();let[U,q]=T(!1),[We,ke]=T(null),[k,J]=T(!1),Z=e.mode==="standalone"||e.mode==="inline",pe=M(an(e,Lt(),o.loadPanelOpen(),o.loadPanelSize())),[fe,y]=T(pe.current.panelOpen),[D,me]=T(pe.current.panelOpen),we=M(D);we.current=D;let Ce=M(!1),Je=M(void 0);w(()=>{fe&&me(!0)},[fe]);let Bt=M(!1),[ht,zt]=T(!1),{dismissed:Re,dismissCallout:Ut}=ac({callout:e.launcher.callout,persistence:o}),Ye=e.launcher.callout?.persistent??!0,vn=F(()=>{V.info("calloutDismiss"),n.emit("calloutDismiss",void 0),Ut()},[n,Ut]),[Le,vt]=T(pe.current.panelSize),pi=M(!1),[hc,zo]=T("chat"),[Wt,Gt]=T(!0),[Ge,bn]=T(!1),[vc,fi]=T(null),[Uo,xn]=T([]),[Pn,yn]=T(null),Sn=M(e.strings),[bc,xc]=T(void 0),[Pc,yc]=T(void 0),[Sc,kc]=T(()=>o.loadSidebarCollapsed()??!1),[Wo,wc]=T({}),[Y]=T(()=>new _o({agentApiBaseUrl:e.agentApiBaseUrl,dataApiBaseUrl:e.dataApiBaseUrl,auth:ts({publicKey:e.publicKey,aiAgentDeploymentId:e.aiAgentDeploymentId,publicKeyHeader:"x-public-key"}),endpoints:e.endpoints})),[Oe]=T(()=>new mo(f)),[ie]=T(()=>new bo(e.sound,e.haptics)),He=F(p=>{o.patchUserPrefs(p),Y.saveUserPrefs(o.loadUserPrefs()).catch(P=>{V.warn("saveUserPrefs failed",{err:P})})},[o,Y]);w(()=>{s.soundMuted!==void 0&&ie.setMuted(s.soundMuted)},[]),w(()=>{t.dataset.theme=d},[t,d,e]),w(()=>{t.dataset.textSize=_},[t,_,e]),w(()=>{ie.update(e.sound,e.haptics)},[ie,e.sound,e.haptics]),w(()=>()=>ie.destroy(),[ie]),w(()=>{let p=!0;return ie.mutedSig.subscribe(P=>{if(p){p=!1;return}He({soundMuted:P})})},[ie,He]),w(()=>{pi.current||!e.size.initialSize||(pi.current=!0,!o.loadPanelSize()&&vt(Rr(e.mode,e.size,Lt())))},[e.mode,e.size,o]),w(()=>{if(!U||Bt.current)return;Bt.current=!0;let p=an(e,Lt(),o.loadPanelOpen(),o.loadPanelSize());y(p.panelOpen),vt(p.panelSize)},[U,e,o]);let mi=M(!1),gi=M(!1),kn=M(null);w(()=>{if(!(!U||mi.current)){if(mi.current=!0,gi.current){let p=de.current;p&&$.switchTab(p);return}$.reset(N())}},[U]);let wn=F(p=>{!p||p.length===0||(f.value=p.map(P=>sc(P,Sn.current)))},[f]),Go=M(null),Cn=F(async p=>{try{let{formSubmissions:P}=await(p?Y.bootstrap(p):Go.current??Y.bootstrap()),L=new Map;return P.forEach((R,W)=>L.set(R.formId,W)),P.filter((R,W)=>!R.skipped||L.get(R.formId)===W).map((R,W)=>({key:`wire:${R.formId}:${R.createdAt??W}`,formId:R.formId,outcome:R.skipped?"skipped":"submitted",createdAt:co(R.createdAt),values:R.values}))}catch(P){return V.debug("bootstrap failed \u2014 no form markers (non-fatal)",{err:P}),[]}},[Y]),Vt=M(0),Kt=F((p,P)=>{let L=[...p.map(_e=>_e.createdAt),...P.map(_e=>_e.createdAt)].filter(_e=>_e!==void 0),R=(L.length?Math.min(...L):Date.now())-1,W=new Set(p.map(_e=>_e.id));return[...(Je.current?.messages??[]).filter(_e=>!W.has(_e.id)).map(_e=>{let Qe=sc(_e,Sn.current);return Qe.createdAt=R,Qe}),...p]},[]),Vo=F(async p=>{let P=Vt.current,L=()=>P!==Vt.current;I(!0);try{let[R,W]=await Promise.all([Y.loadConversation(p),Cn()]);if(L())return;let E=(R.messages??[]).map(Nr);C(W);let _e=kn.current?[kn.current]:[];E.length||_e.length?(f.value=[...Kt(E,W),..._e],Gt(R.canContinue??!0),xn(R.suggestions??[])):f.value=Kt([],W)}catch(R){if(L())return;V.warn("loadThread failed; resetting conversationId",{err:R,conversationId:p}),g.value=void 0,o.saveConversationId(void 0)}finally{L()||I(!1)}},[Y,Cn,f,g,o,Kt]),qt=F(async({newConversation:p})=>{let P=++Vt.current,L=()=>P!==Vt.current,R=g.value,W=p||!R?$e():R;W!==R&&(g.value=W,o.saveConversationId(W));let E;try{E=await Y.handshake({visitorId:i,conversationId:W,userPrefs:o.loadUserPrefs(),locale:l})}catch(Qe){if(L())return;n.emit("error",Qe),e.onError?.(Qe),p||q(!0);return}if(L())return;if(E.visitorId&&E.visitorId!==i&&(V.info("visitor rebound",{previous:i,current:E.visitorId,reason:E.rebind?.visitorId}),o.setVisitorId(E.visitorId),a(E.visitorId),n.emit("visitorRebound",{previous:i,current:E.visitorId,reason:E.rebind?.visitorId})),E.conversationId&&E.conversationId!==W&&(V.info("conversation rebound",{previous:W,current:E.conversationId,reason:E.rebind?.conversationId}),n.emit("conversationRebound",{previous:W,current:E.conversationId,reason:E.rebind?.conversationId})),E.agent&&fi(E.agent),e.mode==="page"&&(E.site&&Za(E.site)?xc(E.site):E.site&&V.warn("invalid site config, using fallback",{site:E.site}),E.blocks&&es(E.blocks)?yc(E.blocks):E.blocks&&V.warn("invalid blocks config, using fallback",{blocks:E.blocks})),E.userPrefs&&!p&&(o.saveUserPrefs(E.userPrefs),E.userPrefs.locale&&c(E.userPrefs.locale),E.userPrefs.soundMuted!==void 0&&ie.setMuted(E.userPrefs.soundMuted),E.userPrefs.themeMode&&u(E.userPrefs.themeMode),E.userPrefs.textSize&&m(E.userPrefs.textSize)),Je.current=E.welcome,p||n.emit("handshake",E),E.welcome?.suggestions){let Qe=Sn.current;xn(E.welcome.suggestions.map(Rn=>({...Rn,label:be(Qe,Rn.label),...Rn.text===void 0?{}:{text:be(Qe,Rn.text)}})))}!p&&R&&E.conversationId===R?we.current?Vo(R):Ce.current=!0:(g.value=E.conversationId,o.saveConversationId(E.conversationId),wn(E.welcome?.messages)),p||q(!0)},[Y,i,o,e,n,g,ie,wn,Vo,l]),jt=JSON.stringify(e.userContext??null),Cc=JSON.stringify(e.pageContext??null),Tc=JSON.stringify(Wo);w(()=>{let p=Object.keys(Wo).length?{...Wo,...e.userContext}:e.userContext;Y.setContext(p,xp(e.pageContext))},[Y,jt,Cc,Tc]);let Te=yt(l,e.availableLocales,e.defaultLocale);w(()=>{Y.setLocale(Te)},[Y,Te]),w(()=>{t.dir=Ri(Te)?"rtl":"ltr"},[t,Te]),w(()=>{Te!==l&&c(Te)},[Te,l]);let Ec=F(async p=>{let P=null;try{for await(let L of p.iter){if(!P){P=uo(),kn.current=P,Oe.attach(P),f.value=[...f.value,P],bn(!0),yn(()=>p.cancel),gi.current=!0;let R=de.current;R&&$.switchTab(R),V.info("resumed in-flight reply on mount")}Oe.apply(L.chunk),L.chunk.type==="finish"&&L.chunk.canContinue===!1&&Gt(!1)}P&&(P.status="complete",ie.play("messageReceived"),ni(n,e,"assistant",Dr(P)))}catch(L){P&&(P.status="error",P.errorText=ut(L,e.strings),ie.play("error")),V.debug("mount resume ended without completing",{err:L})}finally{kn.current=null,P&&(Oe.detach(),bn(!1),yn(null),f.value=[...f.value])}},[Oe,f,ie,n,e,$]),hi=M(null);w(()=>{let p=g.value;return p&&Y.primeIdentity(i,p),qt({newConversation:!1}),()=>{Vt.current++,hi.current?.cancel()}},[]),w(()=>{if(D){if(Go.current=Y.bootstrap(),(async()=>{try{let p=await Go.current;ke(Zt((p??{forms:[]}).forms,Te))}catch(p){V.debug("bootstrap failed \u2014 treating as no forms",{err:p})}finally{J(!0)}})(),Ce.current){Ce.current=!1;let p=g.value;p&&Vo(p)}if(g.value){let p=Y.resumeStream();hi.current=p,Ec(p)}}},[D]);let Tn=M(null);w(()=>{if(!D)return;if(Tn.current===null){Tn.current=Te;return}if(Tn.current===Te)return;Tn.current=Te;let p=!1;return Y.bootstrap().then(P=>{p||ke(Zt((P??{forms:[]}).forms,Te))}).catch(P=>V.debug("forms re-localize failed \u2014 keeping current copy",{err:P})),()=>{p=!0}},[D,Te,Y]);let vi=M(jt);w(()=>{!U||vi.current===jt||(vi.current=jt,qt({newConversation:!1}))},[jt,U,qt]),w(()=>{Jn(t,lo(e.mode,Le,fe))},[t,fe,Le,e.mode]),w(()=>{if(e.mode!=="modal"||!fe)return;let p=P=>{P.composedPath().some(W=>W instanceof HTMLElement&&W.classList.contains(`${x.cssPrefix}-panel`))||y(!1)};return t.addEventListener("click",p),()=>t.removeEventListener("click",p)},[t,fe,e.mode]),w(()=>{if(e.mode!=="drawer"||!fe)return;let p=P=>{P.key==="Escape"&&y(!1)};return document.addEventListener("keydown",p),()=>document.removeEventListener("keydown",p)},[fe,e.mode]);let En=F(async(p,P)=>{let L=g.value??$e();g.value||(g.value=L,o.saveConversationId(L));let R=ss({messages:f.value.slice(0,-1).map(fs),conversationId:L,tools:e.features.tools,responseMode:e.responseMode,trigger:P,visitorId:i,userPrefs:o.loadUserPrefs()});bn(!0);let W=Y.sendMessage(R);yn(()=>W.cancel);try{for await(let E of W.iter)Oe.apply(E.chunk),E.chunk.type==="finish"&&E.chunk.canContinue===!1&&Gt(!1);p.status="complete",ie.play("messageReceived"),ni(n,e,"assistant",Dr(p))}catch(E){p.status="error",p.errorText=ut(E,e.strings),ie.play("error"),n.emit("error",E),e.onError?.(E)}finally{Oe.detach(),bn(!1),yn(null),f.value=[...f.value]}},[Y,Oe,f,g,e,n,ie,o,i]),In=F((p,P,L)=>{if(Ge)return;let R=f.value.at(-1),W=R?.partsSig.value.find(_e=>_e.kind==="tool"&&_e.toolCallId===p);if(!W){V.warn("resolveTool: tool part not found",{toolCallId:p});return}L(W),R&&(R.partsSig.value=[...R.partsSig.value]);let E=uo();f.value=[...f.value,E],Oe.attach(E),En(E,P)},[Ge,f,Oe,En]),bi=F((p,P)=>{V.info("toolResult",{toolCallId:p}),n.emit("toolResult",{toolCallId:p}),In(p,fo.toolResult,L=>{L.outputSig.value=P,L.stateSig.value="output"})},[n,In]),xi=F((p,P,L)=>{V.info("toolDecision",{toolCallId:p,approved:P}),n.emit("toolDecision",{toolCallId:p,approved:P}),In(p,fo.toolApproval,R=>{let W=R.approvalSig.value?.id??p;R.approvalSig.value={id:W,approved:P,reason:L},R.stateSig.value="output"})},[n,In]),Ic=xe(()=>({humanInLoop:e.features.humanInLoop,onResult:bi,onDecision:xi}),[e.features.humanInLoop,bi,xi]),Ac=()=>f.value.reduce((p,P)=>p+(P.role==="user"?1:0),0),bt=e.forms.list.length>0?e.forms:We??e.forms,ae=Nl({forms:bt,persistence:o,userContext:()=>e.userContext,messageCount:Ac,pageArea:()=>e.pageContext?.area?String(e.pageContext.area):void 0,conversationId:()=>g.value,onComplete:(p,P,L,R)=>{V.info("formSubmit",{formId:p.id,trigger:P,skipped:R}),n.emit("formSubmit",{formId:p.id,values:L,skipped:R}),C(E=>[...E.filter(_e=>!(_e.formId===p.id&&_e.outcome==="skipped")),{key:`local:${p.id}:${Date.now()}`,formId:p.id,outcome:R?"skipped":"submitted",createdAt:Date.now(),...R?{}:{values:L}}]);let W=g.value??$e();g.value||(g.value=W,o.saveConversationId(W),Y.primeIdentity(void 0,W)),!R&&p.mirrorToContext&&wc(E=>({...E,...L})),Y.submitForm({formId:p.id,conversationId:W,trigger:P,values:L,skipped:R})}}),Rc=re(()=>ae.activeForm.value);w(()=>{ae.refresh()},[bt,ae]);let Pi=e.pageContext?.area?String(e.pageContext.area):void 0,Lc=re(()=>f.value.length);w(()=>{U&&k&&ae.fire("pre-chat")},[U,k,ae]),w(()=>{k&&!Wt&&ae.fire("conversation-closed")},[k,Wt,ae]),w(()=>{U&&k&&Pi&&ae.fire("page-area")},[U,k,Pi,ae]);let Ko=xe(()=>{let p=bt.list.flatMap(P=>P.triggers).filter(P=>P.kind==="idle").map(P=>Number(P.param));return p.length?Math.min(...p)*1e3:0},[bt]);w(()=>{if(!Ko||!fe)return;let p=setTimeout(()=>ae.fire("idle"),Ko);return()=>clearTimeout(p)},[Ko,fe,ae,Lc.value]);let yi=F(async(p,P)=>{if(V.info("send",{textLen:p.length,attachments:P.length,streaming:Ge}),Ge)return;n.emit("send",{text:p,attachmentCount:P.length}),Uo.length>0&&xn([]);let L=await yp(Y,P,E=>{V.warn("upload failed",{err:E}),n.emit("error",E),e.onError?.(E)});ie.unlock(),ie.play("messageSent");let R=us(p,L),W=uo();f.value=[...f.value,R,W],Oe.attach(W),ni(n,e,"user",p),await En(W,fo.submitMessage),ae.fire("after-messages")},[Ge,Y,n,e,Uo.length,f,Oe,En,ae]),Mc=F(()=>{V.info("stop"),n.emit("stop",void 0),Pn?.()},[Pn,n]),Nc=F(()=>{ie.toggleMuted();let p=ie.mutedSig.value;V.info("soundToggle",{muted:p}),n.emit("soundToggle",{muted:p})},[ie,n]),Xt=F(()=>{if(Zs(e.mode,Le)==="exit-fullscreen"){V.info("close \u2192 exit-fullscreen",{mode:e.mode}),vt("normal"),n.emit("fullscreen",!1);return}V.info("close \u2192 panel closed",{mode:e.mode}),ae.fire("panel-close"),y(!1),o.savePanelOpen(!1),n.emit("close",void 0),e.onClose?.()},[n,e,o,Le,ae]),xt=F(()=>{e.modules.list.some(p=>p.layout==="chat")&&Y.listConversations({limit:50}).then(p=>{v.value=p.conversations.reduce((P,L)=>P+(L.unreadCount??0),0)}).catch(p=>V.debug("refreshUnread failed (non-fatal)",{err:p}))},[Y,e.modules,v]),Si=M(!1);w(()=>{!D||!U||Si.current||(Si.current=!0,xt())},[D,U,xt]);let qo=F(()=>{V.info("open",{mode:e.mode}),ie.unlock(),zt(!0),y(!0),o.savePanelOpen(!0),!Re&&!Ye&&vn(),setTimeout(()=>zt(!1),Pp),xt(),n.emit("open",void 0),e.onOpen?.()},[n,e,ie,o,Re,Ye,vn,xt]),jo=F(()=>{if(!f.value.some(P=>P.role==="user")&&Wt&&g.value){V.info("clear \u2192 reusing empty conversation",{conversationId:g.value}),f.value.length===0&&wn(Je.current?.messages);return}V.info("clear \u2192 new conversation",{wasStreaming:Ge}),n.emit("clear",void 0),Ge&&Pn?.(),It(()=>{f.value=[],g.value=void 0}),o.clearConversation(),Gt(!0),C([]),qt({newConversation:!0})},[Ge,Pn,f,g,o,qt,n,Wt,wn]),Xo=F(()=>{jo(),zo("chat");let p=e.modules.list.find(P=>P.layout==="chat")?.id;p&&$.switchTab(p)},[jo,$,e]),Jo=F(()=>{let p=Le==="expanded"?"normal":"expanded";V.info("expand",{from:Le,expanded:p==="expanded"}),vt(p),o.savePanelSize(p),n.emit("expand",p==="expanded")},[n,Le,o]),Yo=F(()=>{let p=Le==="fullscreen"?"normal":"fullscreen";V.info("fullscreen",{from:Le,fullscreen:p==="fullscreen"}),vt(p),o.savePanelSize(p),n.emit("fullscreen",p==="fullscreen")},[n,Le,o]),Dc=F(()=>{zo(p=>{let P=p==="history"?"chat":"history";return V.info("toggleHistory",{view:P}),n.emit("toggleHistory",{view:P}),P})},[n]),Oc=F(p=>{V.info("localeChange",{locale:p}),c(p),He({locale:p}),n.emit("localeChange",p)},[He,n]),$c=F(p=>{V.info("themeChange",{mode:p}),u(p),t.dataset.theme=p,He({themeMode:p}),n.emit("themeChange",p)},[t,He,n]),Hc=F(p=>{V.info("textSizeChange",{size:p}),m(p),t.dataset.textSize=p,He({textSize:p}),n.emit("textSizeChange",p)},[t,He,n]),Fc=F(()=>{kc(p=>{let P=!p;return V.info("sidebarToggle",{collapsed:P}),o.saveSidebarCollapsed(P),n.emit("sidebarToggle",{collapsed:P}),P})},[o,n]),Bc=F(p=>{V.info("resize",p),He({widgetSize:p}),n.emit("resize",p)},[He,n]),Qo=F(async p=>{V.info("selectConversation",{conversationId:p}),n.emit("selectConversation",{conversationId:p});try{let[P,L]=await Promise.all([Y.loadConversation(p),Cn(p)]),R=P.messages.map(Nr);It(()=>{f.value=Kt(R,L),g.value=P.conversationId}),C(L),o.saveConversationId(P.conversationId),P.agent&&fi(P.agent),Gt(P.canContinue),xn(P.suggestions??[]),zo("chat"),await Y.markRead(p),xt()}catch(P){n.emit("error",P),e.onError?.(P)}},[Y,f,g,n,e,o,xt,Cn,Kt]),An=M(null),ki=F(p=>{typeof p=="string"&&(k?ae.fire("manual",p):An.current=p)},[k,ae]);w(()=>{!k||!An.current||(ae.fire("manual",An.current),An.current=null)},[k,ae]),w(()=>va(t,{open:qo,close:Xt,expand:Jo,fullscreen:Yo,openForm:ki}),[t,qo,Xt,Jo,Yo,ki]);let Ee=xe(()=>_r(e,l,d,_),[e,l,d,_]);Sn.current=Ee.strings;let zc=xe(()=>b.map(p=>{let P=bt.list.find(L=>L.id===p.formId);return{...p,title:P?.title,form:P}}),[b,bt]),wi={options:Ee,transport:Y,feedback:ie,bus:n,view:hc,canSend:Wt,isStreaming:Ge,loadingMessages:h,messagesSig:f,agent:vc,suggestions:Uo,initialWidgetSize:s.widgetSize??null,visitorId:i,onClose:Xt,onClear:jo,onExpand:Jo,onFullscreen:Yo,onSoundToggle:Nc,onToggleHistory:Dc,onSelectHistoryConversation:Qo,onNewConversation:Xo,onLocaleChange:Oc,onThemeChange:$c,onTextSizeChange:Hc,onWidgetSizeChange:Bc,onSend:yi,onStop:Mc,onSuggestion:p=>{let P=p.text??p.label;V.info("suggestion",{text:P}),n.emit("suggestion",{text:P}),yi(P,[])},activeForm:Rc.value?.form??null,formMarkers:zc,onFormSubmit:ae.complete,onFormSkip:ae.skip,onFormFill:p=>ae.fire("manual",p),tool:Ic},Uc=p=>{Qo(p);let P=z();P&&$.switchTab(P)};if(!U)return null;let Jt=Ee.modules.list,Zo=p=>{let P=_n("close",Ee.mode,p);return Jt.length===0?r(ic,{strings:Ee.strings,onClose:P?Xt:void 0}):Jt.length===1&&Jt[0]?.layout==="chat"?r(Ml,{...wi,panelSize:p}):r(rc,{panelProps:{...wi,panelSize:p,onClose:P?Xt:void 0},enabledModules:Jt,nav:$,unreadCount:v.value,onSelectConversation:Uc,onStartNewConversation:Xo,onSetPanelSize:vt})};if(e.mode==="page"){let p=L=>{Qo(L.conversationId)},P=Jt.some(L=>L.layout==="chat");return r("div",{class:`${ti}-anchor`,children:r($l,{site:bc,blocks:Pc,transport:Y,strings:Ee.strings,visitorId:i,showConversations:P,onSelectConversation:p,onNewConversation:Xo,sidebarCollapsed:Sc,onToggleSidebarCollapsed:Fc,children:Zo("fullscreen")})})}if(Z){let p=e.mode==="standalone"?"fullscreen":Le;return r("div",{class:`${ti}-anchor`,children:Zo(p)})}let Ci=e.mode==="drawer",Ti=!(e.mode==="modal")&&!e.launcher.hidden&&(!fe||ht),Ei=Ti&&!ht&&!Re&&!Ci?Ee.launcher.callout:null;return r("div",{class:`${ti}-anchor`,"data-launcher-size":Ee.launcher.size,children:[fe?Zo(Le):null,Ti?r(Js,{onToggle:qo,launcher:Ee.launcher,strings:Ee.strings,leaving:ht,edgeTab:Ci}):null,Ei?r(Ys,{callout:Ei,launcherPosition:Ee.position,strings:Ee.strings,closeLabel:Ee.strings.close,onDismiss:vn}):null]})}function xp(e){let t=e?.url??(typeof location<"u"?location.href:void 0);if(!(!e&&!t))return{...e,...t?{url:t}:{}}}var Pp=120;async function yp(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 ni(e,t,n,o){let i={role:n,text:o};e.emit("message",i),t.onMessage?.(i)}var Sp=B.scope("error-boundary"),$o=class extends tt{constructor(){super(...arguments);G(this,"state",{crashed:!1})}componentDidCatch(n,o){Sp.error("widget render crashed",{error:n,componentStack:o?.componentStack}),this.setState({crashed:!0}),this.props.onError(n,o?.componentStack)}render(){return this.state.crashed?this.props.fallback:this.props.children}};var cc={open:()=>{},close:()=>{},expand:e=>({on:e}),fullscreen:e=>({on:e}),send:e=>({attachments:e.attachmentCount}),message:e=>({role:e.role}),stop:()=>{},clear:()=>{},suggestion:()=>{},toggleHistory:e=>({view:e.view}),handshake:()=>{},formSubmit:e=>({formId:e.formId,skipped:e.skipped}),toolResult:()=>{},toolDecision:e=>({approved:e.approved}),attach:e=>({count:e.count,bytes:e.totalBytes}),voiceStart:()=>{},voiceStop:e=>({ms:e.durationMs}),voiceCancel:()=>{},localeChange:e=>({locale:e}),themeChange:e=>({theme:e}),textSizeChange:e=>({size:e}),soundToggle:e=>({muted:e.muted}),sidebarToggle:e=>({collapsed:e.collapsed}),calloutDismiss:()=>{},error:()=>{}};function kp(){let e=navigator;return e.globalPrivacyControl===!0||e.doNotTrack==="1"}function wp(){return location.origin+location.pathname}function Cp(){try{return document.referrer?new URL(document.referrer).origin:""}catch{return""}}function dc(e,t){let n=Math.random(),o=0,i=0,a=new Set,s=(c,d)=>{let{tracking:u,publicKey:_,aiAgentDeploymentId:m,mode:g,themeMode:f}=t.getOptions();if(!u.enabled||kp()||n>=u.sampleRate)return;let v=performance.now();if(v-o>6e4&&(o=v,i=0),++i>60)return;let h=new URLSearchParams;h.set("v","1"),h.set("e",c),u.token&&h.set("tk",u.token),_&&h.set("pk",_),m&&h.set("dep",m),h.set("vid",t.getVisitorId());let I=t.getConversationId();I&&h.set("cid",I),h.set("url",wp());let b=Cp();b&&h.set("ref",b),h.set("sw",String(screen.width)),h.set("sh",String(screen.height)),h.set("vw",String(innerWidth)),h.set("vh",String(innerHeight)),h.set("dpr",String(devicePixelRatio)),h.set("lang",navigator.language);try{h.set("tz",Intl.DateTimeFormat().resolvedOptions().timeZone)}catch{}if(h.set("m",g),h.set("th",f),d)for(let[K,$]of Object.entries(d))$!==void 0&&h.set(K,String($));h.set("ts",String(Date.now()));let C=`${u.endpoint}?${h}`;if(C.length>2e3)return;let N=new Image(1,1);a.add(N);let z=()=>a.delete(N);N.addEventListener("load",z,{once:!0}),N.addEventListener("error",z,{once:!0}),N.src=C},l=Object.keys(cc).map(c=>e.on(c,d=>s(c,cc[c]?.(d))));return()=>{for(let c of l)c();a.clear()}}function Ho(e){let{bus:t,host:n,appRoot:o,persistence:i,reportError:a}=e,s=e.initialRaw,l,c=Ze(s),d=!0,u=()=>{c=Ze(l?ur(s,l):s)},_=()=>{Ta(n,ct(c.mode));let f=i.loadUserPrefs().themeMode;Ea(n,f?{...c,themeMode:f}:c),d&&(Jn(n,oi(c)),d=!1)},m=()=>{_(),wt(Xn($o,{onError:a},Xn(lc,{bus:t,hostElement:n,options:c})),o)};t.on("handshake",f=>{f.config&&(f.config.storageVersion&&i.rememberStorageVersion(f.config.storageVersion),l=f.config,u(),m())});let g=dc(t,{getOptions:()=>c,getVisitorId:()=>i.getVisitorId(),getConversationId:()=>i.loadConversationId()});return{getOptions:()=>c,getUserOptions:()=>s,render:m,setUserOptions:f=>{s=f,u(),m()},patchUserOptions:f=>{s={...s,...f},u(),m()},destroy:()=>g()}}function oi(e){if(e.mode==="standalone")return"standalone";if(e.mode==="inline")return"inline";let t=nt(e.widgetId,e.storage,e.aiAgentDeploymentId),{panelOpen:n,panelSize:o}=an(e,Lt(),t.loadPanelOpen(),t.loadPanelSize());return lo(e.mode,o,n)}var Tp=B.scope("hooks"),ii="*",ri=new Set;function ai(e,t,n){let o={widgetId:e,event:t,listener:n};return ri.add(o),()=>{ri.delete(o)}}function Ep(e,t,n){let o=[...ri];for(let i of o)if(Ip(i.widgetId,e.widgetId)&&!(i.event!==ii&&i.event!==t))try{i.listener(e,t,n)}catch(a){Tp.warn("hook listener threw",{event:t,error:a})}}function _c(e,t){let n=[];for(let o of Ap)n.push(t.on(o,i=>{Ep(e,o,i)}));return()=>{for(let o of n)o()}}function si(e){if(Array.isArray(e))for(let t of e){let n=Rp(t);n&&ai(n.widgetId,n.event,n.listener)}}function Ip(e,t){return e===ii||e===t}var Ap=["open","close","expand","fullscreen","resize","message","send","stop","clear","selectConversation","suggestion","toggleHistory","formSubmit","toolResult","toolDecision","attach","removeAttachment","voiceStart","voiceStop","voiceCancel","localeChange","themeChange","textSizeChange","soundToggle","sidebarToggle","calloutDismiss","error","handshake","visitorRebound","conversationRebound"];function Rp(e){let t,n,o;if(Array.isArray(e))[t,n,o]=e;else if(e&&typeof e=="object")({widgetId:t,event:n,listener:o}=e);else return null;return typeof t!="string"||typeof n!="string"||typeof o!="function"?null:{widgetId:t,event:n,listener:o}}var Xe=new Map;function Fo(e){e.debug!==void 0&&On(e.debug);let t=B.scope("mount");t.info("mount",{widgetId:e.widgetId,publicKey:e.publicKey,mode:e.presentation?.mode});let n=Ze(e),o=n.widgetId,i=Xe.get(o);i&&(t.debug("destroy existing instance at slot",{widgetId:o}),i.destroy());let a=oi(n),s=n.iframe?Ra({position:ct(n.mode)},n.position,a,n.mode,e.target??null):Ct({position:ct(n.mode),target:e.target??null});s.hostElement.dataset.widgetId=o;let l=new Tt,c=nt(o,n.storage,n.aiAgentDeploymentId),d=v=>{l.emit("error",v),u.getOptions().onError?.(v)},u=Ho({bus:l,host:s.hostElement,appRoot:s.appRoot,persistence:c,initialRaw:e,reportError:d});u.render();let _=s.hostElement,m=null,g=v=>{v.debug!==void 0&&On(v.debug),u.patchUserOptions(v)},f={widgetId:o,open:()=>tn(_,"open"),close:()=>tn(_,"close"),expand:()=>tn(_,"expand"),openForm:v=>tn(_,"openForm",v),on:(v,h)=>l.on(v,h),update:v=>{t.debug("update",{patch:v}),g(v)},setUserContext:v=>{t.debug("setUserContext",{keys:Object.keys(v)}),g({userContext:{...u.getUserOptions().userContext,...v}})},clearUserContext:()=>{t.debug("clearUserContext"),g({userContext:void 0})},setPageContext:v=>{t.debug("setPageContext",{keys:Object.keys(v)}),g({pageContext:{...u.getUserOptions().pageContext,...v}})},clearPageContext:()=>{t.debug("clearPageContext"),g({pageContext:void 0})},setDebug:v=>{On(v),t.info("debug level set",{level:Yt()})},debugLevel:()=>Yt(),onLog:v=>Qt(v),destroy:()=>{t.info("destroy",{widgetId:o}),m?.(),u.destroy(),l.clear(),wt(null,s.appRoot),s.destroy(),Xe.get(o)===f&&Xe.delete(o)}};return m=_c(f,l),Xe.set(o,f),f}function Bo(e){let t=e.widgetId??"default",n=Xe.get(t);return n?(n.update(e),n):Fo(e)}function li(e){if(e!==void 0){Xe.get(e)?.destroy();return}let t=[...Xe.values()];for(let n of t)n.destroy()}function Ue(e="default"){return Xe.get(e)??null}function uc(){return[...Xe.values()]}function ci(e,t,n){return ai(e,t,n)}var pc="0.1.0";var di=class extends HTMLElement{constructor(){super(...arguments);G(this,"bus",new Tt);G(this,"mountResult",null);G(this,"runtime",null)}static get observedAttributes(){return pr}connectedCallback(){this.boot()}disconnectedCallback(){this.mountResult&&(this.runtime?.destroy(),this.runtime=null,wt(null,this.mountResult.appRoot),this.bus.clear())}attributeChangedCallback(){this.isConnected&&this.boot()}boot(){let n=Bn(a=>this.getAttribute(a));if(this.runtime){this.runtime.setUserOptions(n);return}let o=Ze(n);this.mountResult||(this.mountResult=Ct({existingHost:this,position:ct(o.mode)}));let i=nt(o.widgetId,o.storage,o.aiAgentDeploymentId);this.runtime=Ho({bus:this.bus,host:this.mountResult.hostElement,appRoot:this.mountResult.appRoot,persistence:i,initialRaw:n,reportError:a=>this.bus.emit("error",a)}),this.runtime.render()}},fc=!1;function _i(){if(fc||typeof customElements>"u")return;let e=x.tagName;customElements.get(e)||customElements.define(e,di),fc=!0}typeof customElements<"u"&&_i();var mc=B.scope("iife"),ui={close:()=>Ue()?.close(),destroy:()=>li(),expand:()=>Ue()?.expand(),hook:(e,t,n)=>typeof e=="string"&&typeof t=="string"&&typeof n=="function"?ci(e,t,n):void 0,init:e=>Bo(e),mount:e=>Fo(e),on:(e,t)=>Ue()?.on(e,t),onLog:e=>Qt(e),open:()=>Ue()?.open(),setDebug:e=>Ue()?.setDebug(e),update:e=>Ue()?.update(e)};function gc(e,...t){let n=ui[e];if(!n){mc.warn("unknown command",{command:e});return}return n(...t)}function Lp(){let e=((n,...o)=>gc(n,...o));e.init=Bo,e.mount=Fo,e.destroy=li,e.getInstance=Ue,e.getAllInstances=uc,e.version=pc,e.hook=ci,e.debugLevel=()=>Yt(),e.onLog=Qt;let t=new Set(["init","mount","hook","onLog"]);for(let n of Object.keys(ui))t.has(n)||(e[n]=(...o)=>ui[n](...o));return e}function Mp(e){let t=e?.q;if(t)for(let n of t){let o=[...n],[i,...a]=o;if(typeof i=="string")try{gc(i,...a)}catch(s){mc.warn("queued command failed",{command:i,error:s})}}}function Np(){let e=[],t=e.push.bind(e);return e.push=(...n)=>{for(let o of n)si([o]);return t(...n)},e}function Dp(){let e=document.scripts;for(let t=e.length-1;t>=0;t--){let n=e[t];if(n?.src.includes("elements"))return n}return null}function Op(){if(typeof window>"u"||typeof document>"u")return;let e=globalThis[x.global],t=Lp();globalThis[x.global]=t,_i();let n=`${x.global}Hooks`,o=globalThis[n];if(si(o),globalThis[n]=Np(),Mp(e),Ue())return;let i=document.currentScript??Dp(),a=fr(i?.dataset);if(!a.publicKey)return;let s=()=>{Ue()||Bo(a)};if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",s,{once:!0});return}s()}Op();return jc($p);})();
|
|
39
|
+
`){Q(e),ee(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(ku(n.charCodeAt(0)))break;Q(e),ee(e,31),e.pending=n;continue}break;case"[":if(e.token!==19&&e.token!==17&&e.token!==30&&e.token!==31&&n!=="]"){Q(e),ee(e,17),e.pending=n;continue}break;case"!":if(e.token!==19&&n==="["){Q(e),ee(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}Q(e)}function Xr(e){return{add_token:wu,end_token:Cu,add_text:Tu,set_attr:Eu,data:{nodes:[e,,,,,],index:0}}}function wu(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 Cu(e){e.index-=1}function Tu(e,t){e.nodes[e.index].appendChild(document.createTextNode(t))}function Eu(e,t,n){e.nodes[e.index].setAttribute(bu(t),n)}function Ro({textSig:e,doneSig:t}){let n=M(null);return w(()=>{let o=n.current;if(!o)return;o.classList.add(`${x.cssPrefix}-md`);let i=Xr(o),a=jr(i),s=0,l=qe(()=>{let u=e.value,_=t.value;u.length<s&&(o.replaceChildren(),i=Xr(o),a=jr(i),s=0);let m=u.slice(s);m&&ve(a,m),s=u.length,_&&gl(a)}),c=new MutationObserver(u=>{for(let _ of u)for(let m of _.addedNodes){if(!(m instanceof HTMLElement))continue;let g=m.matches?.("a")?[m]:[...m.querySelectorAll?.("a")??[]];for(let f of g)hl(f)}});c.observe(o,{childList:!0,subtree:!0});for(let u of o.querySelectorAll("a"))hl(u);let d=u=>{let _=u.target?.closest?.("a");if(!_||!(_ instanceof HTMLAnchorElement))return;let m=_.getAttribute("href")??"";!m||m.startsWith("#")||(u.preventDefault(),window.open(m,"_blank","noopener,noreferrer"))};return o.addEventListener("click",d),()=>{l(),c.disconnect(),o.removeEventListener("click",d)}},[e,t]),r("div",{ref:n})}function vl({text:e}){let t=xe(()=>H(e),[e]),n=xe(()=>H(!0),[]);return r(Ro,{textSig:t,doneSig:n})}function hl(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(" ")}var ye=x.cssPrefix;function bl(e){return(e.startsWith("tool:")?e.slice(5):e).replace(/[-_]+/g," ")}function xl({part:e,strings:t,active:n,onDecision:o}){let i=re(()=>e.approvalSig.value),a=re(()=>e.inputSig.value),s=_t("");if(i.value?.approved!==void 0){let d=i.value;return r("div",{class:`${ye}-tool-approval ${ye}-tool-decided`,"data-testid":S.toolDecision,children:[r("span",{class:`${ye}-tool-decided-label`,"data-approved":d?.approved?"true":"false",children:d?.approved?t.approved:t.rejected}),r("strong",{class:`${ye}-tool-title`,children:bl(e.toolName)}),d?.reason?r("span",{class:`${ye}-tool-decided-value`,children:d.reason}):null]})}let c=Au(a.value);return r("div",{class:`${ye}-tool-approval`,"data-testid":S.toolApproval,children:[r("div",{class:`${ye}-tool-head`,children:[r("span",{class:`${ye}-tool-badge`,children:t.approvalRequired}),r("strong",{class:`${ye}-tool-title`,children:bl(e.toolName)})]}),c?r("pre",{class:`${ye}-tool-args`,children:c}):null,n?r(ne,{children:[r("input",{class:`${ye}-field-input`,value:s.value,placeholder:t.approvalReason,onInput:d=>{s.value=d.target.value}}),r("div",{class:`${ye}-form-actions`,children:[r("button",{type:"button",class:`${ye}-tool-reject`,onClick:()=>o(e.toolCallId,!1,s.value.trim()||void 0),"data-testid":S.toolReject,children:t.reject}),r("button",{type:"button",class:`${ye}-tool-approve`,onClick:()=>o(e.toolCallId,!0,s.value.trim()||void 0),"data-testid":S.toolApprove,children:t.approve})]})]}):r("p",{class:`${ye}-tool-stale-note`,children:t.stepNoLongerActive})]})}function Au(e){if(e==null)return"";try{let t=typeof e=="string"?e:JSON.stringify(e,null,2);return t.length>600?`${t.slice(0,600)}\u2026`:t}catch{return""}}function yl(e){let t=e&&typeof e=="object"?e:{},n=t.responseType;return{title:pn(t.title),question:pn(t.question)??"Please provide the missing information.",description:pn(t.description),placeholder:pn(t.placeholder),responseType:n==="single-choice"||n==="multi-choice"||n==="confirmation"||n==="free-text"?n:"free-text",choices:Array.isArray(t.choices)?t.choices:void 0,allowOther:typeof t.allowOther=="boolean"?t.allowOther:void 0,required:typeof t.required=="boolean"?t.required:!0,defaultValues:Array.isArray(t.defaultValues)?t.defaultValues.filter(o=>typeof o=="string"):void 0,minSelections:Pl(t.minSelections),maxSelections:Pl(t.maxSelections),validationHint:pn(t.validationHint)}}function Sl(e){if(e.responseType==="confirmation")return[];let t=(e.choices??[]).map(Ru).filter(i=>i!==null),n="textarea";e.responseType==="single-choice"&&t.length>0?n="radio":e.responseType==="multi-choice"&&(n="multiselect");let o=n==="multiselect"?e.defaultValues?.join(", "):e.defaultValues?.[0];return[{name:"answer",label:e.question,type:n,placeholder:e.placeholder,required:e.required??!0,defaultValue:o,options:t.length>0?t:void 0,allowOther:e.allowOther,validationHint:e.validationHint,validation:n==="multiselect"?{minSelections:e.minSelections,maxSelections:e.maxSelections}:void 0}]}function Ru(e){return typeof e=="string"?e?{value:e,label:e}:null:e&&typeof e.value=="string"&&e.value?{value:e.value,label:e.label??e.value,description:e.description}:null}function pn(e){return typeof e=="string"&&e.trim()?e.trim():void 0}function Pl(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}var Pe=x.cssPrefix;function wl({part:e,strings:t,active:n,onSubmit:o,onDecision:i}){let a=re(()=>e.stateSig.value),s=re(()=>e.approvalSig.value),l=re(()=>yl(e.inputSig.value)),c=a.value==="output"||a.value==="error"||s.value?.approved!==void 0,d=s.value!==void 0,u=(g,f)=>{d?i(e.toolCallId,f,g):l.value.responseType==="confirmation"?o(e.toolCallId,{confirmed:f}):o(e.toolCallId,f?{answer:g}:{})};if(c)return r(Lu,{part:e,strings:t});if(!n)return r("div",{class:`${Pe}-tool-ask-input ${Pe}-tool-stale`,"data-testid":S.toolAskInput,children:[r(kl,{strings:t,title:l.value.title??l.value.question}),r("p",{class:`${Pe}-tool-stale-note`,children:t.stepNoLongerActive})]});let _=l.value,m=_.responseType==="confirmation";return r("div",{class:`${Pe}-tool-ask-input`,"data-testid":S.toolAskInput,children:[r(kl,{strings:t,title:_.title}),_.description?r("p",{class:`${Pe}-tool-desc`,children:_.description}):null,m?r("p",{class:`${Pe}-tool-question`,children:_.question}):null,m?r("div",{class:`${Pe}-form-actions`,children:[r("button",{type:"button",class:`${Pe}-form-skip`,onClick:()=>u(void 0,!1),"data-testid":S.toolInputSkip,children:t.reject}),r("button",{type:"button",class:`${Pe}-form-submit`,onClick:()=>u(void 0,!0),"data-testid":S.toolInputSubmit,children:t.approve})]}):r(Io,{fields:Sl(_),strings:t,submitLabel:t.inputSubmit,onSubmit:g=>u(g.answer??Object.values(g).join(", "),!0),skipLabel:_.required===!1?t.inputSkip:void 0,onSkip:_.required===!1?()=>u(void 0,!1):void 0,submitTestId:S.toolInputSubmit,skipTestId:S.toolInputSkip})]})}function kl({strings:e,title:t}){return r("div",{class:`${Pe}-tool-head`,children:[r("span",{class:`${Pe}-tool-badge`,children:e.inputRequired}),t?r("strong",{class:`${Pe}-tool-title`,children:t}):null]})}function Lu({part:e,strings:t}){let n=re(()=>e.outputSig.value),o=re(()=>e.approvalSig.value),i=o.value?.approved!==void 0?o.value.reason??"":Mu(n.value),a=o.value?.approved===!1;return r("div",{class:`${Pe}-tool-ask-input ${Pe}-tool-decided`,"data-testid":S.toolDecision,children:[r("span",{class:`${Pe}-tool-decided-label`,children:a?t.inputSkip:t.inputSubmitted}),r("span",{class:`${Pe}-tool-decided-value`,children:a?"":i||t.inputSubmitted})]})}function Mu(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof e=="object"){let t=e;return"confirmed"in t?t.confirmed?"Yes":"No":Object.values(t).filter(n=>typeof n=="string"||typeof n=="number").join(", ")}return String(e)}function Cl({part:e,strings:t}){let n=x.cssPrefix;return r("span",{class:`${n}-tool-chip`,role:"status",children:[r("span",{children:[t.usedTool,":"]}),r("strong",{children:e.toolName})]})}var Ae=x.cssPrefix;function Tl({message:e,strings:t,responseMode:n,showReasoning:o,showToolCalls:i,interactive:a=!1,tool:s}){let c=re(()=>e.partsSig.value).value,d=re(()=>e.partsSig.value.some(h=>h.kind==="text"&&h.textSig.value.length>0)),u=re(()=>o&&e.partsSig.value.some(h=>h.kind==="reasoning")),_=e.role==="assistant"&&e.status==="streaming",m=n==="buffered"&&_,g=_&&!d.value,f=_&&!m&&!(u.value&&g),v=Nu(e.createdAt);return r("div",{class:`${Ae}-bubble-row`,"data-role":e.role,"data-testid":he(S.messageBubble,e.id),children:r("div",{class:`${Ae}-bubble-col`,children:[r("div",{class:`${Ae}-bubble`,children:[m?r(Bu,{label:t.loading}):c.map(h=>r(Du,{part:h,active:g,strings:t,showReasoning:o,showToolCalls:i,interactive:a,tool:s},Hu(h))),f&&r(Fu,{}),e.status==="error"&&e.errorText?r("div",{class:`${Ae}-error`,role:"alert",children:r("span",{children:e.errorText})}):null]}),v?r("time",{class:`${Ae}-bubble-time`,dateTime:v.iso,title:v.full,children:v.short}):null]})})}function Nu(e){if(typeof e!="number"||!Number.isFinite(e))return null;try{let t=new Date(e);return{short:t.toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"}),full:t.toLocaleString(void 0,{dateStyle:"full",timeStyle:"short"}),iso:t.toISOString()}}catch{return null}}function Du({part:e,active:t,strings:n,showReasoning:o,showToolCalls:i,interactive:a,tool:s}){switch(e.kind){case"text":return r(Ro,{textSig:e.textSig,doneSig:e.doneSig});case"reasoning":return o?r($u,{part:e,active:t,strings:n}):null;case"tool":return r(Ou,{part:e,strings:n,showToolCalls:i,interactive:a,tool:s});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 Ou({part:e,strings:t,showToolCalls:n,interactive:o,tool:i}){let a=re(()=>e.stateSig.value),s=re(()=>e.approvalSig.value!==void 0);if(i?.humanInLoop){if(po(e.toolName)||a.value==="awaiting-input")return r(wl,{part:e,strings:t,active:o,onSubmit:i.onResult,onDecision:i.onDecision});if(s.value||a.value==="awaiting-approval")return r(xl,{part:e,strings:t,active:o,onDecision:i.onDecision})}return n?r(Cl,{part:e,strings:t}):null}function $u({part:e,active:t,strings:n}){return r("details",{class:`${Ae}-reasoning`,open:t,"data-active":t?"true":void 0,children:[r("summary",{class:`${Ae}-reasoning-summary`,children:r("span",{class:`${Ae}-reasoning-label`,children:t?n.thinking:n.thoughts})}),r("div",{class:`${Ae}-reasoning-body`,children:r(Ro,{textSig:e.textSig,doneSig:e.doneSig})})]})}function Hu(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 Fu(){return r("span",{class:`${Ae}-typing`,"aria-hidden":"true",children:[r("span",{}),r("span",{}),r("span",{})]})}function Bu({label:e}){return r("span",{class:`${Ae}-loading`,role:"status",children:[r("span",{class:`${Ae}-loading-spinner`,"aria-hidden":"true"}),r("span",{class:`${Ae}-loading-label`,children:e})]})}var Ht=x.cssPrefix,Jr=120,zu=350,Uu=1200;function El({messagesSig:e,strings:t,responseMode:n,showReasoning:o,showToolCalls:i,loading:a,idle:s,tool:l,form:c,formMarkers:d,onFillForm:u}){let _=M(null),m=re(()=>e.value),[g,f]=T(!1),[v,h]=T(!1),I=M(!1),b=M(!1),C=M(!1),N=M(0),z=()=>C.current||performance.now()-N.current<zu,K=M(0),$=y=>{K.current=performance.now(),y.scrollTop=y.scrollHeight},de=m.value[0]?.id;Tr(()=>{let y=_.current;if(!y||m.value.length===0||(I.current=!0,!m.value.some(Je=>Je.role==="user")))return;let D=()=>$(y);D();let me=new ResizeObserver(D);me.observe(y);let Ce=new MutationObserver(D);Ce.observe(y,{childList:!0,subtree:!0,characterData:!0});let Te=setTimeout(()=>{me.disconnect(),Ce.disconnect()},300);return()=>{me.disconnect(),Ce.disconnect(),clearTimeout(Te)}},[de]);let U=M(0);w(()=>{let y=_.current,D=m.value,me=U.current;if(U.current=D.length,!y||!I.current)return;if(D.slice(me).some(Te=>Te.role==="user")){b.current=!1,$(y);return}if(b.current||z())return;y.scrollHeight-y.scrollTop-y.clientHeight<Jr&&$(y)},[m.value.length]),w(()=>{let y=_.current;if(!y)return;let D=m.value.at(-1);if(!D)return;let me=()=>{if(b.current||z())return;y.scrollHeight-y.scrollTop-y.clientHeight<Jr*2&&$(y)};if(D.status!=="streaming"){let Te=requestAnimationFrame(me);return()=>cancelAnimationFrame(Te)}me();let Ce=new MutationObserver(me);return Ce.observe(y,{childList:!0,subtree:!0,characterData:!0}),()=>Ce.disconnect()},[m.value]);let q=c?.form.id;Tr(()=>{let y=_.current;!y||!q||b.current||m.value.some(D=>D.role==="user")&&$(y)},[q]),w(()=>{let y=_.current;if(!y)return;let D=()=>f(y.scrollHeight-y.scrollTop-y.clientHeight>Jr*2),me,Ce=()=>{D(),performance.now()-K.current>150&&(b.current=y.scrollHeight-y.scrollTop-y.clientHeight>8),h(!0),clearTimeout(me),me=setTimeout(()=>h(!1),Uu)},Te=()=>{b.current=!0},Je=Ye=>{Ye.deltaY<0&&Te()},Bt=0,ht=Ye=>{Bt=Ye.touches[0]?.clientY??0,C.current=!0},zt=Ye=>{(Ye.touches[0]?.clientY??0)>Bt+4&&Te()},Re=()=>{C.current=!1,N.current=performance.now()},Ut=()=>{C.current=!0};return y.addEventListener("scroll",Ce,{passive:!0}),y.addEventListener("wheel",Je,{passive:!0}),y.addEventListener("touchstart",ht,{passive:!0}),y.addEventListener("touchmove",zt,{passive:!0}),y.addEventListener("touchend",Re,{passive:!0}),y.addEventListener("touchcancel",Re,{passive:!0}),y.addEventListener("pointerdown",Ut,{passive:!0}),window.addEventListener("pointerup",Re,{passive:!0}),window.addEventListener("pointercancel",Re,{passive:!0}),D(),()=>{y.removeEventListener("scroll",Ce),y.removeEventListener("wheel",Je),y.removeEventListener("touchstart",ht),y.removeEventListener("touchmove",zt),y.removeEventListener("touchend",Re),y.removeEventListener("touchcancel",Re),y.removeEventListener("pointerdown",Ut),window.removeEventListener("pointerup",Re),window.removeEventListener("pointercancel",Re),clearTimeout(me)}},[]);let We=()=>{let y=_.current;y&&(b.current=!1,$(y))},ke=[],k="",J=m.value.at(-1)?.id,Z=[...d??[]].toSorted((y,D)=>(y.createdAt??1/0)-(D.createdAt??1/0)),pe=y=>r(dl,{marker:y,strings:t,onFill:!c&&u?()=>u(y.formId):void 0},y.key),fe=y=>{for(let D=Z[0];D?.createdAt!==void 0&&!(y!==void 0&&D.createdAt>y);D=Z[0])Z.shift(),ke.push(pe(D))};for(let y of m.value){fe(y.createdAt);let D=Wu(y.createdAt);D&&D!==k&&(ke.push(r("div",{class:`${Ht}-date-divider`,children:r("span",{class:`${Ht}-date-pill`,title:Gu(y.createdAt),children:Vu(y.createdAt,t)})},`day:${D}`)),k=D),ke.push(r(Tl,{message:y,strings:t,responseMode:n,showReasoning:o,showToolCalls:i,interactive:!!s&&y.id===J,tool:l},y.id))}for(let y of Z)ke.push(pe(y));return r("div",{class:`${Ht}-list-wrap`,children:[r("div",{ref:_,class:`${Ht}-list`,role:"log","aria-live":"polite","aria-relevant":"additions text","data-scrolling":v?"true":void 0,children:[a&&m.value.length===0?r("div",{class:`${Ht}-list-loading`,role:"status",children:t.conversationLoading}):null,ke,c?r(cl,{form:c.form,strings:t,onSubmit:c.onSubmit,onSkip:c.onSkip}):null]}),g?r("button",{type:"button",class:`${Ht}-jump`,onClick:We,"aria-label":t.scrollToBottom,title:t.scrollToBottom,"data-testid":S.scrollToBottom,children:r(zs,{})}):null]})}function Wu(e){if(typeof e!="number"||!Number.isFinite(e))return"";let t=new Date(e);return`${t.getFullYear()}-${t.getMonth()}-${t.getDate()}`}function Gu(e){if(typeof e!="number"||!Number.isFinite(e))return"";try{return new Date(e).toLocaleDateString(void 0,{dateStyle:"full"})}catch{return""}}function Vu(e,t){let n=new Date(e),o=a=>new Date(a.getFullYear(),a.getMonth(),a.getDate()).getTime(),i=Math.round((o(new Date)-o(n))/864e5);return i<=0?t.dateToday:i===1?t.dateYesterday:i<7?n.toLocaleDateString(void 0,{weekday:"long"}):n.toLocaleDateString(void 0,{month:"long",day:"numeric",year:"numeric"})}var Ku=["today","yesterday","lastWeek","older"];function qu(e,t){let n=Date.parse(t);if(!Number.isFinite(n))return"older";let o=Math.floor((Il(e)-Il(n))/(1440*60*1e3));return o<=0?"today":o===1?"yesterday":o<7?"lastWeek":"older"}function Al(e,t){let n=new Map;for(let o of t){let i=qu(e,o.lastMessageAt),a=n.get(i);a?a.push(o):n.set(i,[o])}return Ku.filter(o=>n.has(o)).map(o=>({bucket:o,conversations:n.get(o)}))}function Il(e){let t=new Date(e);return t.setUTCHours(0,0,0,0),t.getTime()}var ju=B.scope("history"),Xu={today:"dateToday",yesterday:"dateYesterday",lastWeek:"dateLastWeek",older:"dateOlder"};function Ju(e,t,n){let o=Date.parse(e);return Number.isFinite(o)?new Date(o).toDateString()===new Date(t).toDateString()?new Intl.DateTimeFormat(n,{hour:"numeric",minute:"2-digit"}).format(o):t-o<10080*60*1e3?new Intl.DateTimeFormat(n,{weekday:"short"}).format(o):new Intl.DateTimeFormat(n,{month:"short",day:"numeric"}).format(o):""}function Lo({transport:e,strings:t,locale:n,visitorId:o,onSelect:i,onNewConversation:a}){let s=x.cssPrefix,l=e.peekConversations({visitorId:o}),[c,d]=T(l?"loaded":"loading"),[u,_]=T(l?.conversations??[]);w(()=>{let v=!1;return e.listConversations({visitorId:o}).then(h=>{v||(_(h.conversations??[]),d("loaded"))}).catch(h=>{v||(ju.warn("listConversations failed",{err:h}),d("error"))}),()=>{v=!0}},[e,o]);let m=a?r("div",{class:`${s}-history-footer`,children:r("button",{type:"button",class:`${s}-history-new`,onClick:a,"data-testid":S.sidebarNewConversation,children:[r(Ps,{}),t.newConversation]})}):null;if(c==="loading")return r(ne,{children:[r("div",{class:`${s}-history`,"aria-busy":"true","aria-label":t.historyLoading,children:r("div",{class:`${s}-history-group`,"aria-hidden":"true",children:[r("div",{class:`${s}-history-heading`,children:r("span",{class:`${s}-history-skeleton-line ${s}-skeleton-heading`})}),r("div",{class:`${s}-history-card`,children:[0,1,2].map(v=>r("div",{class:`${s}-history-skeleton-item`,children:[r("span",{class:`${s}-history-skeleton-avatar`}),r("span",{class:`${s}-history-skeleton-body`,children:[r("span",{class:`${s}-history-skeleton-line ${s}-skeleton-title`}),r("span",{class:`${s}-history-skeleton-line ${s}-skeleton-preview`})]})]},v))})]})}),m]});if(c==="error"||u.length===0)return r(ne,{children:[r("div",{class:`${s}-history-empty`,children:t.historyEmpty}),m]});let g=Date.now(),f=Al(g,u);return r(ne,{children:[r("div",{class:`${s}-history`,role:"list",children:f.map(v=>r("div",{class:`${s}-history-group`,children:[r("div",{class:`${s}-history-heading`,children:t[Xu[v.bucket]]}),r("div",{class:`${s}-history-card`,children:v.conversations.map(h=>r("button",{type:"button",role:"listitem",class:`${s}-history-item`,onClick:()=>i(h),"data-closed":h.canContinue?void 0:"true","data-unread":(h.unreadCount??0)>0?"true":void 0,"data-testid":he(S.historyItem,h.conversationId),children:[r("span",{class:`${s}-history-avatar`,"aria-hidden":"true",children:r(Or,{})}),r("span",{class:`${s}-history-body`,children:[r("span",{class:`${s}-history-row`,children:[r("span",{class:`${s}-history-title`,children:h.title}),r("span",{class:`${s}-history-time`,children:Ju(h.lastMessageAt,g,n)})]}),r("span",{class:`${s}-history-row`,children:[r("span",{class:`${s}-history-preview`,children:h.preview??(h.canContinue?t.historyContinue:t.conversationClosed)}),(h.unreadCount??0)>0?r("span",{class:`${s}-history-dot`}):null]})]})]},h.conversationId))})]},v.bucket))}),m]})}var Rl=x.cssPrefix;function Ll({suggestions:e,onPick:t}){return e.length===0?null:r("div",{class:`${Rl}-suggestions`,role:"group","aria-label":"Suggested replies",children:e.map((n,o)=>r("button",{type:"button",class:`${Rl}-suggestion`,onClick:()=>t(n),"data-testid":he(S.suggestion,o),children:n.label},n.id))})}var Se=x.cssPrefix;function Ml(e){let{options:t,onClose:n}=e,o=t.strings,i=M(null);w(()=>{let c=i.current;if(!c)return;let d=ko(c),u=_=>{_.key==="Escape"&&n?.()};return c.addEventListener("keydown",u),()=>{d(),c.removeEventListener("keydown",u)}},[n]);let a=M(null),s=F(c=>{a.current?.attachFromDrop(c)},[]),{visible:l}=To({containerRef:i,onDrop:s});return yo(i.current,t.mode==="modal"),r("div",{ref:i,class:`${Se}-panel`,role:"dialog","aria-modal":"false","aria-label":o.panelTitle,style:{position:"relative"},"data-testid":S.panel,children:[r(Yr,{...e,containerEl:i.current,dragOver:l,composerAttachApiRef:a}),r(Qr,{poweredBy:e.options.poweredBy})]})}function Yr(e){let{options:t,transport:n,feedback:o,bus:i,panelSize:a,view:s,canSend:l,isStreaming:c,loadingMessages:d,messagesSig:u,agent:_,suggestions:m,initialWidgetSize:g,visitorId:f,onClose:v,onBack:h,onClear:I,onToggleHistory:b,onSelectHistoryConversation:C,onNewConversation:N,onWidgetSizeChange:z,onSend:K,onStop:$,onSuggestion:de,activeForm:U,formMarkers:q,onFormSubmit:We,onFormSkip:ke,onFormFill:k,tool:J,containerEl:Z,dragOver:pe,composerAttachApiRef:fe}=e,y=t.strings,D;return U?D=null:l?D=r(ne,{children:[r(Ll,{suggestions:m,onPick:de}),r(ol,{options:t,transport:n,feedback:o,bus:i,isStreaming:c,onSend:K,onStop:$,attachApiRef:fe})]}):D=r(Qu,{label:y.conversationClosed,ctaLabel:y.startNewConversation,onNewConversation:I}),r(ne,{children:[s==="history"?r(Yu,{strings:y,onBack:b,onClose:v,showClose:So(t.mode,a,t.actions)}):r("header",{class:`${Se}-header`,"data-testid":S.panelHeader,children:[h?r("button",{type:"button",class:`${Se}-icon-btn`,onClick:h,"aria-label":y.moduleBack,title:y.moduleBack,children:r(cn,{})}):null,_?r(el,{agent:_,strings:y}):r("h1",{children:y.panelTitle}),r(Be,{panelProps:e,variant:"chat"})]}),s==="history"?r(Lo,{transport:n,strings:y,locale:t.locale,visitorId:f,onSelect:me=>C(me.conversationId),onNewConversation:N}):r(ne,{children:[r(rl,{visible:pe,strings:y}),r(El,{messagesSig:u,strings:y,responseMode:t.responseMode,showReasoning:t.showReasoning,showToolCalls:t.showToolCalls,loading:d,idle:!c,tool:J,form:U?{form:U,onSubmit:We,onSkip:ke}:null,formMarkers:q,onFillForm:k}),D,r(Zu,{disclaimer:t.composerDisclaimer})]}),t.size.resize?.enabled?r(Po,{panelEl:Z,resize:t.size.resize,position:t.position,initialSize:g,onSizeChange:z,strings:y}):null]})}function Yu({strings:e,onBack:t,onClose:n,showClose:o}){return r("header",{class:`${Se}-header`,children:[r("button",{type:"button",class:`${Se}-icon-btn`,onClick:t,"aria-label":e.historyBack,title:e.historyBack,children:r(cn,{})}),r("h1",{children:e.historyTitle}),o?r("button",{type:"button",class:`${Se}-icon-btn`,onClick:n,"aria-label":e.close,title:e.close,children:r(Fe,{})}):null]})}function Qu({label:e,ctaLabel:t,onNewConversation:n}){return r("div",{class:`${Se}-readonly-banner`,role:"note",children:[r("span",{class:`${Se}-readonly-label`,children:e}),r("button",{type:"button",class:`${Se}-readonly-cta`,onClick:n,children:t})]})}function Zu({disclaimer:e}){return e?r("div",{class:`${Se}-composer-footer`,children:r("div",{class:`${Se}-disclaimer`,children:e})}):null}function Qr({poweredBy:e}){return e?r("div",{class:`${Se}-poweredby-bar`,children:r(ep,{logoUrl:e.logoUrl,text:e.text,href:e.href})}):null}function ep({logoUrl:e,text:t,href:n}){let o=r(ne,{children:[e?r("img",{class:`${Se}-poweredby-logo`,src:e,alt:"",loading:"lazy"}):null,t?r("span",{children:t}):null]});return n?r("a",{class:`${Se}-poweredby`,href:n,target:"_blank",rel:"noopener noreferrer",children:o}):r("span",{class:`${Se}-poweredby`,children:o})}function Nl(e){let t=M(e);t.current=e;let n=M(null);return n.current??(n.current=tp(t)),n.current}function tp(e){let t=H(null),n=new Set,o=c=>`${e.current.conversationId()??""}:${c}`,i=c=>c.frequency==="always"?!1:c.frequency==="conversation"?n.has(o(c.id)):c.id in e.current.persistence.loadFormsDone(),a=(c,d)=>{if(t.value)return;let u=e.current;if(c==="manual"){let _=u.forms.list.find(m=>m.id===d);_&&(t.value={form:_,trigger:"manual"});return}for(let _ of u.forms.byTrigger[c]??[]){let m=_.triggers.find(g=>g.kind===c);if(!(!m||!np(m,u)||i(_)||!op(_,u))){t.value={form:_,trigger:c};return}}},s=(c,d)=>{let u=t.value;if(!u)return;t.value=null;let{form:_,trigger:m}=u;_.frequency==="conversation"?n.add(o(_.id)):_.frequency!=="always"&&e.current.persistence.saveFormDone(_.id),e.current.onComplete(_,m,c,d)};return{activeForm:t,fire:a,refresh:()=>{let c=t.value;if(!c)return;let d=e.current.forms.list.find(u=>u.id===c.form.id);d&&d!==c.form&&(t.value={form:d,trigger:c.trigger})},complete:c=>s(c,!1),skip:()=>s({},!0)}}function np(e,t){return e.kind==="after-messages"?t.messageCount()>=Number(e.param??0):e.kind==="page-area"?t.pageArea()===e.param:!0}function op(e,t){let n=e.when;if(!n)return!0;if(n.missingContext?.length){let i=t.userContext()??{};if(n.missingContext.some(a=>i[a]!==void 0&&i[a]!==""))return!1}if(n.pageArea&&!(Array.isArray(n.pageArea)?n.pageArea:[n.pageArea]).includes(t.pageArea()??""))return!1;let o=t.messageCount();return!(n.minMessages!=null&&o<n.minMessages||n.maxMessages!=null&&o>n.maxMessages)}function Dl(e){let t=x.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":S.sidebar,children:[r("div",{class:`${t}-sidebar-header`,children:[r(rp,{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":S.sidebarToggle,children:r(ip,{collapsed:a})})]}),a?null:r(ne,{children:[s.length>0?r("nav",{class:`${t}-sidebar-section`,"data-section":"navigation",children:r(ap,{items:s})}):null,l.length>0?r("div",{class:`${t}-sidebar-section`,"data-section":"link-cards",children:r(sp,{items:l})}):null,e.showConversations?r("div",{class:`${t}-sidebar-conversations`,children:r(Lo,{transport:e.transport,strings:e.strings,locale:e.locale,visitorId:e.visitorId,onSelect:e.onSelectConversation,onNewConversation:e.onNewConversation})}):null]})]})}function rp({site:e}){let t=x.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??x.name})}function ip({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 ap({items:e}){let t=x.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 sp({items:e}){let t=x.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 Ol=x.cssPrefix;function $l(e){return r("main",{class:`${Ol}-page-shell`,"data-sidebar-collapsed":e.sidebarCollapsed?"true":"false",children:[r(Dl,{site:e.site,blocks:e.blocks,transport:e.transport,strings:e.strings,locale:e.locale,visitorId:e.visitorId,showConversations:e.showConversations,onSelectConversation:e.onSelectConversation,onNewConversation:e.onNewConversation,collapsed:e.sidebarCollapsed,onToggleCollapsed:e.onToggleSidebarCollapsed}),r("section",{class:`${Ol}-page-chat`,"aria-label":"Chat",children:e.children})]})}var Hl=e=>Object.fromEntries(e.map(t=>[t,[]]));function Fl(e,t,n){let o=H({activeTab:e,stacks:Hl(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:Hl(t)}}}}var Bl=e=>e.stacks[e.activeTab]??[],zl=e=>Bl(e).at(-1),Ul=e=>Bl(e).length===0;var Wl={Icon:dn};var rt=x.cssPrefix;function Mo({title:e,actions:t}){return r("header",{class:`${rt}-back-header`,"data-variant":"title",children:[r("span",{class:`${rt}-back-spacer`,"aria-hidden":"true"}),r("h1",{class:`${rt}-back-title`,children:e}),t??r("span",{class:`${rt}-back-spacer`,"aria-hidden":"true"})]})}function No({title:e,backLabel:t,onBack:n,actions:o,testid:i}){return r("header",{class:`${rt}-back-header`,"data-testid":i,children:[r("button",{type:"button",class:`${rt}-icon-btn`,onClick:n,"aria-label":t,title:t,children:r(cn,{})}),r("h1",{class:`${rt}-back-title`,children:e}),o??r("span",{class:`${rt}-back-spacer`,"aria-hidden":"true"})]})}var Ft=x.cssPrefix;function Gl({placeholder:e,onActivate:t}){return r("button",{type:"button",class:`${Ft}-home-search`,onClick:t,"data-testid":S.homeSearch,children:[r("span",{class:`${Ft}-home-search-text`,children:e}),r("span",{class:`${Ft}-home-search-icon`,"aria-hidden":"true",children:r(Hr,{})})]})}function Vl({placeholder:e,value:t,onInput:n}){return r("div",{class:`${Ft}-home-search`,"data-input":"true",children:[r("input",{type:"search",class:`${Ft}-home-search-input`,placeholder:e,value:t,onInput:o=>n(o.currentTarget.value),"data-testid":S.helpSearch}),r("span",{class:`${Ft}-home-search-icon`,"aria-hidden":"true",children:r(Hr,{})})]})}var fn=x.cssPrefix;function Do({title:e,subtitle:t,onClick:n,testid:o}){return r("button",{type:"button",class:`${fn}-list-row`,onClick:n,"data-testid":o,children:[r("span",{class:`${fn}-list-row-body`,children:[r("span",{class:`${fn}-list-row-title`,children:e}),t?r("span",{class:`${fn}-list-row-sub`,children:t}):null]}),r("span",{class:`${fn}-list-row-chevron`,"aria-hidden":"true",children:r(Dt,{})})]})}var Kl=x.cssPrefix;function De({tone:e="info",message:t,onRetry:n,strings:o}){return r("div",{class:`${Kl}-module-empty`,role:e==="error"?"alert":"status","aria-live":"polite",children:[r("span",{children:t}),n?r("button",{type:"button",class:`${Kl}-module-retry`,onClick:n,children:o.errorRetry}):null]})}var gt=x.cssPrefix,lp=B.scope("help"),cp=(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 dp(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 ql(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 _p(e,t){let n=t.toLowerCase().trim();return n?e.map(o=>({item:o,score:Math.max(ql(n,o.title)*2,ql(n,o.description??""))})).filter(o=>o.score>0).toSorted((o,i)=>i.score-o.score).map(o=>o.item):[]}function jl({article:e,nav:t}){return r(Do,{title:e.title,subtitle:e.description,onClick:()=>cp(t,e),testid:he(S.helpArticle,e.id)})}function up({transport:e,strings:t,config:n,nav:o,panelProps:i}){let a=n.contentTags,[s,l]=T("loading"),[c,d]=T(t.errorGeneric),[u,_]=T([]),[m,g]=T(""),[f,v]=T(0);w(()=>{let b=!1;return l("loading"),e.listContent({tags:a,sortBy:"order",limit:100}).then(C=>{b||(_(C.items??[]),l("loaded"))}).catch(C=>{b||(lp.warn("listContent (help) failed",{err:C}),d(ut(C,t)),l("error"))}),()=>{b=!0}},[e,a,f]);let h=xe(()=>_p(u,m),[u,m]);function I(){return m.trim().length>0?h.length===0?r(De,{message:t.helpSearchEmpty,strings:t}):r("div",{class:`${gt}-help-card`,children:h.map(b=>r(jl,{article:b,nav:o},b.id))}):s==="loading"?r(De,{message:t.helpLoading,strings:t}):s==="error"?r(De,{tone:"error",message:c,onRetry:()=>v(b=>b+1),strings:t}):u.length===0?r(De,{message:t.helpEmpty,strings:t}):dp(u).map(([b,C])=>r("section",{class:`${gt}-help-group`,children:[b?r("h2",{class:`${gt}-help-section-title`,children:b}):null,r("div",{class:`${gt}-help-card`,children:C.map(N=>r(jl,{article:N,nav:o},N.id))})]},b))}return r("div",{class:`${gt}-module`,children:[r(Mo,{title:t.helpTitle,actions:r(Be,{panelProps:i,variant:"plain"})}),r("div",{class:`${gt}-module-pad`,children:r(Vl,{placeholder:t.helpSearchPlaceholder,value:m,onInput:g})}),r("div",{class:`${gt}-help-list`,children:I()})]})}var Xl={Icon:$r,Root:e=>r(up,{...e})};var Jl=x.cssPrefix;function Zr({onClick:e,children:t,testid:n}){return e?r("button",{type:"button",class:`${Jl}-home-card`,"data-interactive":"true",onClick:e,"data-testid":n,children:t}):r("div",{class:`${Jl}-home-card`,"data-testid":n,children:t})}var oe=x.cssPrefix,Yl=B.scope("home");function pp(e){let t=e.options.userContext?.name,n=e.config.greetingText?be(e.strings,e.config.greetingText):void 0;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 fp=(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 mp(e){let{transport:t,strings:n,config:o,nav:i,panelProps:a}=e,[s,l]=T(null),[c,d]=T([]),u=o.contentTags?.join(",");w(()=>{if(!o.showRecentConversations)return;let h=!1;return t.listConversations({limit:1}).then(I=>!h&&l(I.conversations?.[0]??null)).catch(I=>!h&&Yl.warn("listConversations (home) failed",{err:I})),()=>{h=!0}},[t,o.showRecentConversations]),w(()=>{if(!o.contentTags?.length)return;let h=!1;return t.listContent({tags:o.contentTags,limit:6}).then(I=>!h&&d(I.items??[])).catch(I=>!h&&Yl.warn("listContent (home) failed",{err:I})),()=>{h=!0}},[t,u]);let _=pp(e),m=o.userAvatars??[],g=o.status,f=g?.text?be(n,g.text):n.homeStatus,v=o.contentBlockTitle?be(n,o.contentBlockTitle):n.homeContentTitle;return r("div",{class:`${oe}-module ${oe}-home`,"data-testid":S.homeView,children:r("div",{class:`${oe}-home-scroll`,children:[r("div",{class:`${oe}-home-hero`,children:[r("div",{class:`${oe}-home-hero-top`,children:[o.brandName?r("span",{class:`${oe}-home-brand`,"data-testid":S.homeBrand,children:o.brandName}):r("span",{class:`${oe}-home-brand-spacer`,"aria-hidden":"true"}),r("div",{class:`${oe}-home-hero-actions`,children:[m.length>0?r("div",{class:`${oe}-home-avatars`,children:m.map(h=>r("span",{class:`${oe}-home-avatar`,title:h.role?`${h.name} \xB7 ${h.role}`:h.name,children:h.avatar?r("img",{src:h.avatar,alt:"",loading:"lazy"}):r("span",{children:wo(h.name)})},h.name))}):null,r(Be,{panelProps:a,variant:"plain"})]})]}),o.showGreeting!==!1?r(ne,{children:[r("h1",{class:`${oe}-home-greeting`,"data-testid":S.homeGreeting,children:_.title}),_.subtitle?r("p",{class:`${oe}-home-lead`,children:_.subtitle}):null]}):null]}),r("div",{class:`${oe}-home-cards`,children:[o.showSearchBar!==!1?r(Gl,{placeholder:n.homeSearchPlaceholder,onActivate:()=>i.switchToLayout("help")}):null,s?r(Zr,{onClick:()=>i.selectConversation(s.conversationId),testid:S.homeRecent,children:r("div",{class:`${oe}-home-recent-row`,"data-unread":(s.unreadCount??0)>0?"true":void 0,children:[r("span",{class:`${oe}-home-recent-avatar`,"aria-hidden":"true",children:r(dn,{})}),r("span",{class:`${oe}-home-recent-body`,children:[r("span",{class:`${oe}-home-recent-title`,children:s.title}),s.preview?r("span",{class:`${oe}-home-recent-preview`,children:s.preview}):null]}),(s.unreadCount??0)>0?r("span",{class:`${oe}-home-recent-dot`,"aria-label":"Unread"}):null]})}):null,g?r(Zr,{onClick:g.url?()=>i.push({kind:"iframe",url:g.url,title:f}):void 0,children:r("div",{class:`${oe}-home-status`,"data-level":g.level??"operational",children:[r("span",{class:`${oe}-home-status-icon`,"aria-hidden":"true",children:r(Ws,{})}),r("span",{class:`${oe}-home-status-text`,children:f})]})}):null,c.length>0?r("section",{class:`${oe}-home-content`,children:[r("div",{class:`${oe}-home-content-title`,children:v}),r("div",{class:`${oe}-home-content-list`,children:c.map(h=>r(Do,{title:h.title,subtitle:h.description,onClick:()=>fp(i,h),testid:he(S.homeContentRow,h.id)},h.id))})]}):null]})]})})}var Ql={Icon:Gs,Root:e=>r(mp,{...e})};var it=x.cssPrefix,gp=B.scope("news");function hp({transport:e,strings:t,config:n,nav:o,panelProps:i}){let a=n.contentTags,[s,l]=T("loading"),[c,d]=T(t.errorGeneric),[u,_]=T([]),[m,g]=T(0);w(()=>{let v=!1;return l("loading"),e.listContent({tags:a,sortBy:"publishedAt",sortOrder:"desc"}).then(h=>{v||(_(h.items??[]),l("loaded"))}).catch(h=>{v||(gp.warn("listContent (news) failed",{err:h}),d(ut(h,t)),l("error"))}),()=>{v=!0}},[e,a,m]);function f(){return s==="loading"?r(De,{message:t.newsLoading,strings:t}):s==="error"?r(De,{tone:"error",message:c,onRetry:()=>g(v=>v+1),strings:t}):u.length===0?r(De,{message:t.newsEmpty,strings:t}):r("div",{class:`${it}-news-list`,children:u.map(v=>r("button",{type:"button",class:`${it}-news-card`,onClick:()=>o.push({kind:"content",id:v.id,title:v.title}),"data-testid":he(S.newsItem,v.id),children:[v.image?r("img",{class:`${it}-news-hero`,src:v.image,alt:"",loading:"lazy"}):null,r("span",{class:`${it}-news-body`,children:[r("span",{class:`${it}-news-title`,children:v.title}),v.description?r("span",{class:`${it}-news-summary`,children:v.description}):null]})]},v.id))})}return r("div",{class:`${it}-module`,children:[r(Mo,{title:t.newsTitle,actions:r(Be,{panelProps:i,variant:"plain"})}),r("div",{class:`${it}-module-scroll`,children:f()})]})}var Zl={Icon:Vs,Root:e=>r(hp,{...e})};var Oo={chat:Wl,home:Ql,help:Xl,news:Zl};var mn=x.cssPrefix;function ec({modules:e,activeTab:t,strings:n,unreadCount:o,onSelect:i}){return r("nav",{class:`${mn}-tabbar`,role:"tablist","aria-label":n.panelTitle,children:e.map(a=>{let s=Oo[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:`${mn}-tab`,onClick:()=>i(a.id),"data-testid":he(S.tab,a.id),children:[r("span",{class:`${mn}-tab-icon`,"aria-hidden":"true",children:[r(s,{}),c?r("span",{class:`${mn}-tab-badge`,"data-testid":S.tabBadge,children:c}):null]}),r("span",{class:`${mn}-tab-label`,children:be(n,a.label)})]},a.id)})})}var tc=x.cssPrefix,vp="allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-downloads";function nc({url:e,title:t,strings:n,onBack:o,actions:i}){return r("div",{class:`${tc}-module`,children:[r(No,{title:t||n.moduleBack,backLabel:n.moduleBack,onBack:o,actions:i}),r("iframe",{class:`${tc}-content-frame`,src:e,title:t||"content",sandbox:vp,referrerpolicy:"no-referrer",loading:"lazy",allow:"fullscreen"})]})}var gn=x.cssPrefix,bp=B.scope("content");function oc({id:e,title:t,transport:n,strings:o,onBack:i,actions:a}){let[s,l]=T(null),[c,d]=T(!1),[u,_]=T(0),m=F(()=>{d(!1),l(null),_(f=>f+1)},[]);w(()=>{let f=!1;return n.listContent({ids:[e],limit:1}).then(v=>{if(f)return;let h=v.items[0];h?l(h):d(!0)}).catch(v=>{f||(bp.warn("listContent (reader) failed",{err:v}),d(!0))}),()=>{f=!0}},[n,e,u]);function g(){return c?r(De,{tone:"error",message:o.errorGeneric,onRetry:m,strings:o}):s===null?r(De,{message:o.contentLoading,strings:o}):r("article",{class:`${gn}-content`,"data-testid":S.contentView,children:[s.image?r("img",{class:`${gn}-content-hero`,src:s.image,alt:"",loading:"lazy"}):null,s.description?r("p",{class:`${gn}-content-subtitle`,children:s.description}):null,r(vl,{text:s.content??""})]})}return r("div",{class:`${gn}-module`,children:[r(No,{title:s?.title||t||o.moduleBack,backLabel:o.moduleBack,onBack:i,actions:a,testid:S.backHeader}),r("div",{class:`${gn}-module-scroll`,"data-testid":S.contentScroll,children:g()})]})}var ei=x.cssPrefix;function rc({panelProps:e,enabledModules:t,nav:n,unreadCount:o,onSelectConversation:i,onStartNewConversation:a,onSetPanelSize:s}){let l=e.options,c=l.strings,d=M(null);w(()=>{let $=d.current;if(!$)return;let de=ko($),U=q=>{q.key==="Escape"&&e.onClose?.()};return $.addEventListener("keydown",U),()=>{de(),$.removeEventListener("keydown",U)}},[e.onClose]);let u=M(null),_=F($=>{u.current?.attachFromDrop($)},[]),{visible:m}=To({containerRef:d,onDrop:_});yo(d.current,l.mode==="modal");let g=re(()=>n.sig.value).value,f=zl(g),v=l.modules.byId[g.activeTab],h=f?.kind==="iframe"||f?.kind==="content",I=t.length>1&&(Ul(g)||!h),b=M(null);w(()=>{if(h&&b.current===null)b.current=e.panelSize,e.panelSize==="normal"&&s("expanded");else if(!h&&b.current!==null){let $=b.current;b.current=null,s($)}},[h]);let C={push:n.push,pop:n.pop,switchTab:n.switchTab,switchToLayout:$=>{let de=t.find(U=>U.layout===$);de&&n.switchTab(de.id)},selectConversation:i,startNewConversation:a},N=$=>({options:l,transport:e.transport,strings:c,config:$,visitorId:e.visitorId,nav:C,panelProps:e}),z=r(Be,{panelProps:e,variant:"plain"}),K;if(f?.kind==="iframe")K=r(nc,{url:f.url,title:f.title,strings:c,onBack:n.pop,actions:z});else if(f?.kind==="content")K=r(oc,{id:f.id,title:f.title,transport:e.transport,strings:c,onBack:n.pop,actions:z});else if(v?.layout==="chat")K=r(Yr,{...e,containerEl:d.current,dragOver:m,composerAttachApiRef:u});else if(v){let $=Oo[v.layout].Root;K=$?r($,{...N(v)},v.id):null}else K=null;return r("div",{ref:d,class:`${ei}-panel ${ei}-messenger`,role:"dialog","aria-modal":"false","aria-label":c.panelTitle,style:{position:"relative"},"data-testid":S.messengerHome,children:[r("div",{class:`${ei}-messenger-body`,children:K}),I?r(ec,{modules:t,activeTab:g.activeTab,strings:c,unreadCount:o,onSelect:n.switchTab}):null,r(Qr,{poweredBy:l.poweredBy}),l.size.resize?.enabled&&!(v?.layout==="chat"&&!f)?r(Po,{panelEl:d.current,resize:l.size.resize,position:l.position,initialSize:e.initialWidgetSize,onSizeChange:e.onWidgetSizeChange,strings:c}):null]})}var hn=x.cssPrefix;function ic({strings:e,onClose:t}){return r("div",{class:`${hn}-panel ${hn}-modules-empty`,role:"dialog","aria-label":e.panelTitle,"data-testid":S.modulesEmpty,children:[t?r("button",{type:"button",class:`${hn}-icon-btn ${hn}-modules-empty-close`,onClick:t,"aria-label":e.close,title:e.close,children:r(Fe,{})}):null,r("p",{class:`${hn}-modules-empty-text`,children:e.modulesEmpty})]})}function ac({callout:e,persistence:t}){let n=e?.text??"",o=e?.persistent??!0,[i,a]=T(()=>o?!1:t.loadCalloutDismissed(n));w(()=>{a(o?!1:t.loadCalloutDismissed(n))},[n,o,t]);let s=F(()=>{a(!0),o||t.saveCalloutDismissed(n)},[t,n,o]);return{dismissed:i,dismissCallout:s}}var V=B.scope("app"),ti=x.cssPrefix;function sc(e,t){return ps({...e,text:be(t,e.text)})}function lc({options:e,hostElement:t,bus:n}){let[o]=T(()=>nt(e.widgetId,e.storage,e.aiAgentDeploymentId)),[i,a]=T(()=>o.getVisitorId()),s=o.loadUserPrefs(),[l,c]=T(()=>s.locale??e.locale),[d,u]=T(()=>s.themeMode??e.themeMode),[_,m]=T(()=>s.textSize??e.textSize),g=_t(o.loadConversationId()),f=_t([]),v=_t(0),[h,I]=T(!1),[b,C]=T([]);function N(){let p=e.modules.list,P=new Set(p.map(R=>R.id)),L=o.loadActiveModule();return L&&P.has(L)?L:p[0]?.id??""}function z(){return e.modules.list.find(p=>p.layout==="chat")?.id}let K=M();if(!K.current){let p=e.modules.list.map(P=>P.id);K.current=Fl(N(),p,P=>o.saveActiveModule(P))}let $=K.current,de=M(void 0);de.current=z();let[U,q]=T(!1),[We,ke]=T(null),[k,J]=T(!1),Z=e.mode==="standalone"||e.mode==="inline",pe=M(an(e,Lt(),o.loadPanelOpen(),o.loadPanelSize())),[fe,y]=T(pe.current.panelOpen),[D,me]=T(pe.current.panelOpen),Ce=M(D);Ce.current=D;let Te=M(!1),Je=M(void 0);w(()=>{fe&&me(!0)},[fe]);let Bt=M(!1),[ht,zt]=T(!1),{dismissed:Re,dismissCallout:Ut}=ac({callout:e.launcher.callout,persistence:o}),Ye=e.launcher.callout?.persistent??!0,vn=F(()=>{V.info("calloutDismiss"),n.emit("calloutDismiss",void 0),Ut()},[n,Ut]),[Le,vt]=T(pe.current.panelSize),pi=M(!1),[hc,zo]=T("chat"),[Wt,Gt]=T(!0),[Ge,bn]=T(!1),[vc,fi]=T(null),[Uo,xn]=T([]),[Pn,yn]=T(null),Sn=M(e.strings),[bc,xc]=T(void 0),[Pc,yc]=T(void 0),[Sc,kc]=T(()=>o.loadSidebarCollapsed()??!1),[Wo,wc]=T({}),[Y]=T(()=>new _o({agentApiBaseUrl:e.agentApiBaseUrl,dataApiBaseUrl:e.dataApiBaseUrl,auth:ts({publicKey:e.publicKey,aiAgentDeploymentId:e.aiAgentDeploymentId,publicKeyHeader:"x-public-key"}),endpoints:e.endpoints})),[Oe]=T(()=>new mo(f)),[ie]=T(()=>new bo(e.sound,e.haptics)),He=F(p=>{o.patchUserPrefs(p),Y.saveUserPrefs(o.loadUserPrefs()).catch(P=>{V.warn("saveUserPrefs failed",{err:P})})},[o,Y]);w(()=>{s.soundMuted!==void 0&&ie.setMuted(s.soundMuted)},[]),w(()=>{t.dataset.theme=d},[t,d,e]),w(()=>{t.dataset.textSize=_},[t,_,e]),w(()=>{ie.update(e.sound,e.haptics)},[ie,e.sound,e.haptics]),w(()=>()=>ie.destroy(),[ie]),w(()=>{let p=!0;return ie.mutedSig.subscribe(P=>{if(p){p=!1;return}He({soundMuted:P})})},[ie,He]),w(()=>{pi.current||!e.size.initialSize||(pi.current=!0,!o.loadPanelSize()&&vt(Rr(e.mode,e.size,Lt())))},[e.mode,e.size,o]),w(()=>{if(!U||Bt.current)return;Bt.current=!0;let p=an(e,Lt(),o.loadPanelOpen(),o.loadPanelSize());y(p.panelOpen),vt(p.panelSize)},[U,e,o]);let mi=M(!1),gi=M(!1),kn=M(null);w(()=>{if(!(!U||mi.current)){if(mi.current=!0,gi.current){let p=de.current;p&&$.switchTab(p);return}$.reset(N())}},[U]);let wn=F(p=>{!p||p.length===0||(f.value=p.map(P=>sc(P,Sn.current)))},[f]),Go=M(null),Cn=F(async p=>{try{let{formSubmissions:P}=await(p?Y.bootstrap(p):Go.current??Y.bootstrap()),L=new Map;return P.forEach((R,W)=>L.set(R.formId,W)),P.filter((R,W)=>!R.skipped||L.get(R.formId)===W).map((R,W)=>({key:`wire:${R.formId}:${R.createdAt??W}`,formId:R.formId,outcome:R.skipped?"skipped":"submitted",createdAt:co(R.createdAt),values:R.values}))}catch(P){return V.debug("bootstrap failed \u2014 no form markers (non-fatal)",{err:P}),[]}},[Y]),Vt=M(0),Kt=F((p,P)=>{let L=[...p.map(_e=>_e.createdAt),...P.map(_e=>_e.createdAt)].filter(_e=>_e!==void 0),R=(L.length?Math.min(...L):Date.now())-1,W=new Set(p.map(_e=>_e.id));return[...(Je.current?.messages??[]).filter(_e=>!W.has(_e.id)).map(_e=>{let Qe=sc(_e,Sn.current);return Qe.createdAt=R,Qe}),...p]},[]),Vo=F(async p=>{let P=Vt.current,L=()=>P!==Vt.current;I(!0);try{let[R,W]=await Promise.all([Y.loadConversation(p),Cn()]);if(L())return;let E=(R.messages??[]).map(Nr);C(W);let _e=kn.current?[kn.current]:[];E.length||_e.length?(f.value=[...Kt(E,W),..._e],Gt(R.canContinue??!0),xn(R.suggestions??[])):f.value=Kt([],W)}catch(R){if(L())return;V.warn("loadThread failed; resetting conversationId",{err:R,conversationId:p}),g.value=void 0,o.saveConversationId(void 0)}finally{L()||I(!1)}},[Y,Cn,f,g,o,Kt]),qt=F(async({newConversation:p})=>{let P=++Vt.current,L=()=>P!==Vt.current,R=g.value,W=p||!R?$e():R;W!==R&&(g.value=W,o.saveConversationId(W));let E;try{E=await Y.handshake({visitorId:i,conversationId:W,userPrefs:o.loadUserPrefs(),locale:l})}catch(Qe){if(L())return;n.emit("error",Qe),e.onError?.(Qe),p||q(!0);return}if(L())return;if(E.visitorId&&E.visitorId!==i&&(V.info("visitor rebound",{previous:i,current:E.visitorId,reason:E.rebind?.visitorId}),o.setVisitorId(E.visitorId),a(E.visitorId),n.emit("visitorRebound",{previous:i,current:E.visitorId,reason:E.rebind?.visitorId})),E.conversationId&&E.conversationId!==W&&(V.info("conversation rebound",{previous:W,current:E.conversationId,reason:E.rebind?.conversationId}),n.emit("conversationRebound",{previous:W,current:E.conversationId,reason:E.rebind?.conversationId})),E.agent&&fi(E.agent),e.mode==="page"&&(E.site&&Za(E.site)?xc(E.site):E.site&&V.warn("invalid site config, using fallback",{site:E.site}),E.blocks&&es(E.blocks)?yc(E.blocks):E.blocks&&V.warn("invalid blocks config, using fallback",{blocks:E.blocks})),E.userPrefs&&!p&&(o.saveUserPrefs(E.userPrefs),E.userPrefs.locale&&c(E.userPrefs.locale),E.userPrefs.soundMuted!==void 0&&ie.setMuted(E.userPrefs.soundMuted),E.userPrefs.themeMode&&u(E.userPrefs.themeMode),E.userPrefs.textSize&&m(E.userPrefs.textSize)),Je.current=E.welcome,p||n.emit("handshake",E),E.welcome?.suggestions){let Qe=Sn.current;xn(E.welcome.suggestions.map(Rn=>({...Rn,label:be(Qe,Rn.label),...Rn.text===void 0?{}:{text:be(Qe,Rn.text)}})))}!p&&R&&E.conversationId===R?Ce.current?Vo(R):Te.current=!0:(g.value=E.conversationId,o.saveConversationId(E.conversationId),wn(E.welcome?.messages)),p||q(!0)},[Y,i,o,e,n,g,ie,wn,Vo,l]),jt=JSON.stringify(e.userContext??null),Cc=JSON.stringify(e.pageContext??null),Tc=JSON.stringify(Wo);w(()=>{let p=Object.keys(Wo).length?{...Wo,...e.userContext}:e.userContext;Y.setContext(p,xp(e.pageContext))},[Y,jt,Cc,Tc]);let Ee=yt(l,e.availableLocales,e.defaultLocale);w(()=>{Y.setLocale(Ee)},[Y,Ee]),w(()=>{t.dir=Ri(Ee)?"rtl":"ltr"},[t,Ee]),w(()=>{Ee!==l&&c(Ee)},[Ee,l]);let Ec=F(async p=>{let P=null;try{for await(let L of p.iter){if(!P){P=uo(),kn.current=P,Oe.attach(P),f.value=[...f.value,P],bn(!0),yn(()=>p.cancel),gi.current=!0;let R=de.current;R&&$.switchTab(R),V.info("resumed in-flight reply on mount")}Oe.apply(L.chunk),L.chunk.type==="finish"&&L.chunk.canContinue===!1&&Gt(!1)}P&&(P.status="complete",ie.play("messageReceived"),ni(n,e,"assistant",Dr(P)))}catch(L){P&&(P.status="error",P.errorText=ut(L,e.strings),ie.play("error")),V.debug("mount resume ended without completing",{err:L})}finally{kn.current=null,P&&(Oe.detach(),bn(!1),yn(null),f.value=[...f.value])}},[Oe,f,ie,n,e,$]),hi=M(null);w(()=>{let p=g.value;return p&&Y.primeIdentity(i,p),qt({newConversation:!1}),()=>{Vt.current++,hi.current?.cancel()}},[]),w(()=>{if(D){if(Go.current=Y.bootstrap(),(async()=>{try{let p=await Go.current;ke(Zt((p??{forms:[]}).forms,Ee))}catch(p){V.debug("bootstrap failed \u2014 treating as no forms",{err:p})}finally{J(!0)}})(),Te.current){Te.current=!1;let p=g.value;p&&Vo(p)}if(g.value){let p=Y.resumeStream();hi.current=p,Ec(p)}}},[D]);let Tn=M(null);w(()=>{if(!D)return;if(Tn.current===null){Tn.current=Ee;return}if(Tn.current===Ee)return;Tn.current=Ee;let p=!1;return Y.bootstrap().then(P=>{p||ke(Zt((P??{forms:[]}).forms,Ee))}).catch(P=>V.debug("forms re-localize failed \u2014 keeping current copy",{err:P})),()=>{p=!0}},[D,Ee,Y]);let vi=M(jt);w(()=>{!U||vi.current===jt||(vi.current=jt,qt({newConversation:!1}))},[jt,U,qt]),w(()=>{Jn(t,lo(e.mode,Le,fe))},[t,fe,Le,e.mode]),w(()=>{if(e.mode!=="modal"||!fe)return;let p=P=>{P.composedPath().some(W=>W instanceof HTMLElement&&W.classList.contains(`${x.cssPrefix}-panel`))||y(!1)};return t.addEventListener("click",p),()=>t.removeEventListener("click",p)},[t,fe,e.mode]),w(()=>{if(e.mode!=="drawer"||!fe)return;let p=P=>{P.key==="Escape"&&y(!1)};return document.addEventListener("keydown",p),()=>document.removeEventListener("keydown",p)},[fe,e.mode]);let En=F(async(p,P)=>{let L=g.value??$e();g.value||(g.value=L,o.saveConversationId(L));let R=ss({messages:f.value.slice(0,-1).map(fs),conversationId:L,tools:e.features.tools,responseMode:e.responseMode,trigger:P,visitorId:i,userPrefs:o.loadUserPrefs()});bn(!0);let W=Y.sendMessage(R);yn(()=>W.cancel);try{for await(let E of W.iter)Oe.apply(E.chunk),E.chunk.type==="finish"&&E.chunk.canContinue===!1&&Gt(!1);p.status="complete",ie.play("messageReceived"),ni(n,e,"assistant",Dr(p))}catch(E){p.status="error",p.errorText=ut(E,e.strings),ie.play("error"),n.emit("error",E),e.onError?.(E)}finally{Oe.detach(),bn(!1),yn(null),f.value=[...f.value]}},[Y,Oe,f,g,e,n,ie,o,i]),In=F((p,P,L)=>{if(Ge)return;let R=f.value.at(-1),W=R?.partsSig.value.find(_e=>_e.kind==="tool"&&_e.toolCallId===p);if(!W){V.warn("resolveTool: tool part not found",{toolCallId:p});return}L(W),R&&(R.partsSig.value=[...R.partsSig.value]);let E=uo();f.value=[...f.value,E],Oe.attach(E),En(E,P)},[Ge,f,Oe,En]),bi=F((p,P)=>{V.info("toolResult",{toolCallId:p}),n.emit("toolResult",{toolCallId:p}),In(p,fo.toolResult,L=>{L.outputSig.value=P,L.stateSig.value="output"})},[n,In]),xi=F((p,P,L)=>{V.info("toolDecision",{toolCallId:p,approved:P}),n.emit("toolDecision",{toolCallId:p,approved:P}),In(p,fo.toolApproval,R=>{let W=R.approvalSig.value?.id??p;R.approvalSig.value={id:W,approved:P,reason:L},R.stateSig.value="output"})},[n,In]),Ic=xe(()=>({humanInLoop:e.features.humanInLoop,onResult:bi,onDecision:xi}),[e.features.humanInLoop,bi,xi]),Ac=()=>f.value.reduce((p,P)=>p+(P.role==="user"?1:0),0),bt=e.forms.list.length>0?e.forms:We??e.forms,ae=Nl({forms:bt,persistence:o,userContext:()=>e.userContext,messageCount:Ac,pageArea:()=>e.pageContext?.area?String(e.pageContext.area):void 0,conversationId:()=>g.value,onComplete:(p,P,L,R)=>{V.info("formSubmit",{formId:p.id,trigger:P,skipped:R}),n.emit("formSubmit",{formId:p.id,values:L,skipped:R}),C(E=>[...E.filter(_e=>!(_e.formId===p.id&&_e.outcome==="skipped")),{key:`local:${p.id}:${Date.now()}`,formId:p.id,outcome:R?"skipped":"submitted",createdAt:Date.now(),...R?{}:{values:L}}]);let W=g.value??$e();g.value||(g.value=W,o.saveConversationId(W),Y.primeIdentity(void 0,W)),!R&&p.mirrorToContext&&wc(E=>({...E,...L})),Y.submitForm({formId:p.id,conversationId:W,trigger:P,values:L,skipped:R})}}),Rc=re(()=>ae.activeForm.value);w(()=>{ae.refresh()},[bt,ae]);let Pi=e.pageContext?.area?String(e.pageContext.area):void 0,Lc=re(()=>f.value.length);w(()=>{U&&k&&ae.fire("pre-chat")},[U,k,ae]),w(()=>{k&&!Wt&&ae.fire("conversation-closed")},[k,Wt,ae]),w(()=>{U&&k&&Pi&&ae.fire("page-area")},[U,k,Pi,ae]);let Ko=xe(()=>{let p=bt.list.flatMap(P=>P.triggers).filter(P=>P.kind==="idle").map(P=>Number(P.param));return p.length?Math.min(...p)*1e3:0},[bt]);w(()=>{if(!Ko||!fe)return;let p=setTimeout(()=>ae.fire("idle"),Ko);return()=>clearTimeout(p)},[Ko,fe,ae,Lc.value]);let yi=F(async(p,P)=>{if(V.info("send",{textLen:p.length,attachments:P.length,streaming:Ge}),Ge)return;n.emit("send",{text:p,attachmentCount:P.length}),Uo.length>0&&xn([]);let L=await yp(Y,P,E=>{V.warn("upload failed",{err:E}),n.emit("error",E),e.onError?.(E)});ie.unlock(),ie.play("messageSent");let R=us(p,L),W=uo();f.value=[...f.value,R,W],Oe.attach(W),ni(n,e,"user",p),await En(W,fo.submitMessage),ae.fire("after-messages")},[Ge,Y,n,e,Uo.length,f,Oe,En,ae]),Mc=F(()=>{V.info("stop"),n.emit("stop",void 0),Pn?.()},[Pn,n]),Nc=F(()=>{ie.toggleMuted();let p=ie.mutedSig.value;V.info("soundToggle",{muted:p}),n.emit("soundToggle",{muted:p})},[ie,n]),Xt=F(()=>{if(Zs(e.mode,Le)==="exit-fullscreen"){V.info("close \u2192 exit-fullscreen",{mode:e.mode}),vt("normal"),n.emit("fullscreen",!1);return}V.info("close \u2192 panel closed",{mode:e.mode}),ae.fire("panel-close"),y(!1),o.savePanelOpen(!1),n.emit("close",void 0),e.onClose?.()},[n,e,o,Le,ae]),xt=F(()=>{e.modules.list.some(p=>p.layout==="chat")&&Y.listConversations({limit:50}).then(p=>{v.value=p.conversations.reduce((P,L)=>P+(L.unreadCount??0),0)}).catch(p=>V.debug("refreshUnread failed (non-fatal)",{err:p}))},[Y,e.modules,v]),Si=M(!1);w(()=>{!D||!U||Si.current||(Si.current=!0,xt())},[D,U,xt]);let qo=F(()=>{V.info("open",{mode:e.mode}),ie.unlock(),zt(!0),y(!0),o.savePanelOpen(!0),!Re&&!Ye&&vn(),setTimeout(()=>zt(!1),Pp),xt(),n.emit("open",void 0),e.onOpen?.()},[n,e,ie,o,Re,Ye,vn,xt]),jo=F(()=>{if(!f.value.some(P=>P.role==="user")&&Wt&&g.value){V.info("clear \u2192 reusing empty conversation",{conversationId:g.value}),f.value.length===0&&wn(Je.current?.messages);return}V.info("clear \u2192 new conversation",{wasStreaming:Ge}),n.emit("clear",void 0),Ge&&Pn?.(),It(()=>{f.value=[],g.value=void 0}),o.clearConversation(),Gt(!0),C([]),qt({newConversation:!0})},[Ge,Pn,f,g,o,qt,n,Wt,wn]),Xo=F(()=>{jo(),zo("chat");let p=e.modules.list.find(P=>P.layout==="chat")?.id;p&&$.switchTab(p)},[jo,$,e]),Jo=F(()=>{let p=Le==="expanded"?"normal":"expanded";V.info("expand",{from:Le,expanded:p==="expanded"}),vt(p),o.savePanelSize(p),n.emit("expand",p==="expanded")},[n,Le,o]),Yo=F(()=>{let p=Le==="fullscreen"?"normal":"fullscreen";V.info("fullscreen",{from:Le,fullscreen:p==="fullscreen"}),vt(p),o.savePanelSize(p),n.emit("fullscreen",p==="fullscreen")},[n,Le,o]),Dc=F(()=>{zo(p=>{let P=p==="history"?"chat":"history";return V.info("toggleHistory",{view:P}),n.emit("toggleHistory",{view:P}),P})},[n]),Oc=F(p=>{V.info("localeChange",{locale:p}),c(p),He({locale:p}),n.emit("localeChange",p)},[He,n]),$c=F(p=>{V.info("themeChange",{mode:p}),u(p),t.dataset.theme=p,He({themeMode:p}),n.emit("themeChange",p)},[t,He,n]),Hc=F(p=>{V.info("textSizeChange",{size:p}),m(p),t.dataset.textSize=p,He({textSize:p}),n.emit("textSizeChange",p)},[t,He,n]),Fc=F(()=>{kc(p=>{let P=!p;return V.info("sidebarToggle",{collapsed:P}),o.saveSidebarCollapsed(P),n.emit("sidebarToggle",{collapsed:P}),P})},[o,n]),Bc=F(p=>{V.info("resize",p),He({widgetSize:p}),n.emit("resize",p)},[He,n]),Qo=F(async p=>{V.info("selectConversation",{conversationId:p}),n.emit("selectConversation",{conversationId:p});try{let[P,L]=await Promise.all([Y.loadConversation(p),Cn(p)]),R=P.messages.map(Nr);It(()=>{f.value=Kt(R,L),g.value=P.conversationId}),C(L),o.saveConversationId(P.conversationId),P.agent&&fi(P.agent),Gt(P.canContinue),xn(P.suggestions??[]),zo("chat"),await Y.markRead(p),xt()}catch(P){n.emit("error",P),e.onError?.(P)}},[Y,f,g,n,e,o,xt,Cn,Kt]),An=M(null),ki=F(p=>{typeof p=="string"&&(k?ae.fire("manual",p):An.current=p)},[k,ae]);w(()=>{!k||!An.current||(ae.fire("manual",An.current),An.current=null)},[k,ae]),w(()=>va(t,{open:qo,close:Xt,expand:Jo,fullscreen:Yo,openForm:ki}),[t,qo,Xt,Jo,Yo,ki]);let we=xe(()=>_r(e,l,d,_),[e,l,d,_]);Sn.current=we.strings;let zc=xe(()=>b.map(p=>{let P=bt.list.find(L=>L.id===p.formId);return{...p,title:P?.title,form:P}}),[b,bt]),wi={options:we,transport:Y,feedback:ie,bus:n,view:hc,canSend:Wt,isStreaming:Ge,loadingMessages:h,messagesSig:f,agent:vc,suggestions:Uo,initialWidgetSize:s.widgetSize??null,visitorId:i,onClose:Xt,onClear:jo,onExpand:Jo,onFullscreen:Yo,onSoundToggle:Nc,onToggleHistory:Dc,onSelectHistoryConversation:Qo,onNewConversation:Xo,onLocaleChange:Oc,onThemeChange:$c,onTextSizeChange:Hc,onWidgetSizeChange:Bc,onSend:yi,onStop:Mc,onSuggestion:p=>{let P=p.text??p.label;V.info("suggestion",{text:P}),n.emit("suggestion",{text:P}),yi(P,[])},activeForm:Rc.value?.form??null,formMarkers:zc,onFormSubmit:ae.complete,onFormSkip:ae.skip,onFormFill:p=>ae.fire("manual",p),tool:Ic},Uc=p=>{Qo(p);let P=z();P&&$.switchTab(P)};if(!U)return null;let Jt=we.modules.list,Zo=p=>{let P=_n("close",we.mode,p);return Jt.length===0?r(ic,{strings:we.strings,onClose:P?Xt:void 0}):Jt.length===1&&Jt[0]?.layout==="chat"?r(Ml,{...wi,panelSize:p}):r(rc,{panelProps:{...wi,panelSize:p,onClose:P?Xt:void 0},enabledModules:Jt,nav:$,unreadCount:v.value,onSelectConversation:Uc,onStartNewConversation:Xo,onSetPanelSize:vt})};if(e.mode==="page"){let p=L=>{Qo(L.conversationId)},P=Jt.some(L=>L.layout==="chat");return r("div",{class:`${ti}-anchor`,children:r($l,{site:bc,blocks:Pc,transport:Y,strings:we.strings,locale:we.locale,visitorId:i,showConversations:P,onSelectConversation:p,onNewConversation:Xo,sidebarCollapsed:Sc,onToggleSidebarCollapsed:Fc,children:Zo("fullscreen")})})}if(Z){let p=e.mode==="standalone"?"fullscreen":Le;return r("div",{class:`${ti}-anchor`,children:Zo(p)})}let Ci=e.mode==="drawer",Ti=!(e.mode==="modal")&&!e.launcher.hidden&&(!fe||ht),Ei=Ti&&!ht&&!Re&&!Ci?we.launcher.callout:null;return r("div",{class:`${ti}-anchor`,"data-launcher-size":we.launcher.size,children:[fe?Zo(Le):null,Ti?r(Js,{onToggle:qo,launcher:we.launcher,strings:we.strings,leaving:ht,edgeTab:Ci}):null,Ei?r(Ys,{callout:Ei,launcherPosition:we.position,strings:we.strings,closeLabel:we.strings.close,onDismiss:vn}):null]})}function xp(e){let t=e?.url??(typeof location<"u"?location.href:void 0);if(!(!e&&!t))return{...e,...t?{url:t}:{}}}var Pp=120;async function yp(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 ni(e,t,n,o){let i={role:n,text:o};e.emit("message",i),t.onMessage?.(i)}var Sp=B.scope("error-boundary"),$o=class extends tt{constructor(){super(...arguments);G(this,"state",{crashed:!1})}componentDidCatch(n,o){Sp.error("widget render crashed",{error:n,componentStack:o?.componentStack}),this.setState({crashed:!0}),this.props.onError(n,o?.componentStack)}render(){return this.state.crashed?this.props.fallback:this.props.children}};var cc={open:()=>{},close:()=>{},expand:e=>({on:e}),fullscreen:e=>({on:e}),send:e=>({attachments:e.attachmentCount}),message:e=>({role:e.role}),stop:()=>{},clear:()=>{},suggestion:()=>{},toggleHistory:e=>({view:e.view}),handshake:()=>{},formSubmit:e=>({formId:e.formId,skipped:e.skipped}),toolResult:()=>{},toolDecision:e=>({approved:e.approved}),attach:e=>({count:e.count,bytes:e.totalBytes}),voiceStart:()=>{},voiceStop:e=>({ms:e.durationMs}),voiceCancel:()=>{},localeChange:e=>({locale:e}),themeChange:e=>({theme:e}),textSizeChange:e=>({size:e}),soundToggle:e=>({muted:e.muted}),sidebarToggle:e=>({collapsed:e.collapsed}),calloutDismiss:()=>{},error:()=>{}};function kp(){let e=navigator;return e.globalPrivacyControl===!0||e.doNotTrack==="1"}function wp(){return location.origin+location.pathname}function Cp(){try{return document.referrer?new URL(document.referrer).origin:""}catch{return""}}function dc(e,t){let n=Math.random(),o=0,i=0,a=new Set,s=(c,d)=>{let{tracking:u,publicKey:_,aiAgentDeploymentId:m,mode:g,themeMode:f}=t.getOptions();if(!u.enabled||kp()||n>=u.sampleRate)return;let v=performance.now();if(v-o>6e4&&(o=v,i=0),++i>60)return;let h=new URLSearchParams;h.set("v","1"),h.set("e",c),u.token&&h.set("tk",u.token),_&&h.set("pk",_),m&&h.set("dep",m),h.set("vid",t.getVisitorId());let I=t.getConversationId();I&&h.set("cid",I),h.set("url",wp());let b=Cp();b&&h.set("ref",b),h.set("sw",String(screen.width)),h.set("sh",String(screen.height)),h.set("vw",String(innerWidth)),h.set("vh",String(innerHeight)),h.set("dpr",String(devicePixelRatio)),h.set("lang",navigator.language);try{h.set("tz",Intl.DateTimeFormat().resolvedOptions().timeZone)}catch{}if(h.set("m",g),h.set("th",f),d)for(let[K,$]of Object.entries(d))$!==void 0&&h.set(K,String($));h.set("ts",String(Date.now()));let C=`${u.endpoint}?${h}`;if(C.length>2e3)return;let N=new Image(1,1);a.add(N);let z=()=>a.delete(N);N.addEventListener("load",z,{once:!0}),N.addEventListener("error",z,{once:!0}),N.src=C},l=Object.keys(cc).map(c=>e.on(c,d=>s(c,cc[c]?.(d))));return()=>{for(let c of l)c();a.clear()}}function Ho(e){let{bus:t,host:n,appRoot:o,persistence:i,reportError:a}=e,s=e.initialRaw,l,c=Ze(s),d=!0,u=()=>{c=Ze(l?ur(s,l):s)},_=()=>{Ta(n,ct(c.mode));let f=i.loadUserPrefs().themeMode;Ea(n,f?{...c,themeMode:f}:c),d&&(Jn(n,oi(c)),d=!1)},m=()=>{_(),wt(Xn($o,{onError:a},Xn(lc,{bus:t,hostElement:n,options:c})),o)};t.on("handshake",f=>{f.config&&(f.config.storageVersion&&i.rememberStorageVersion(f.config.storageVersion),l=f.config,u(),m())});let g=dc(t,{getOptions:()=>c,getVisitorId:()=>i.getVisitorId(),getConversationId:()=>i.loadConversationId()});return{getOptions:()=>c,getUserOptions:()=>s,render:m,setUserOptions:f=>{s=f,u(),m()},patchUserOptions:f=>{s={...s,...f},u(),m()},destroy:()=>g()}}function oi(e){if(e.mode==="standalone")return"standalone";if(e.mode==="inline")return"inline";let t=nt(e.widgetId,e.storage,e.aiAgentDeploymentId),{panelOpen:n,panelSize:o}=an(e,Lt(),t.loadPanelOpen(),t.loadPanelSize());return lo(e.mode,o,n)}var Tp=B.scope("hooks"),ii="*",ri=new Set;function ai(e,t,n){let o={widgetId:e,event:t,listener:n};return ri.add(o),()=>{ri.delete(o)}}function Ep(e,t,n){let o=[...ri];for(let i of o)if(Ip(i.widgetId,e.widgetId)&&!(i.event!==ii&&i.event!==t))try{i.listener(e,t,n)}catch(a){Tp.warn("hook listener threw",{event:t,error:a})}}function _c(e,t){let n=[];for(let o of Ap)n.push(t.on(o,i=>{Ep(e,o,i)}));return()=>{for(let o of n)o()}}function si(e){if(Array.isArray(e))for(let t of e){let n=Rp(t);n&&ai(n.widgetId,n.event,n.listener)}}function Ip(e,t){return e===ii||e===t}var Ap=["open","close","expand","fullscreen","resize","message","send","stop","clear","selectConversation","suggestion","toggleHistory","formSubmit","toolResult","toolDecision","attach","removeAttachment","voiceStart","voiceStop","voiceCancel","localeChange","themeChange","textSizeChange","soundToggle","sidebarToggle","calloutDismiss","error","handshake","visitorRebound","conversationRebound"];function Rp(e){let t,n,o;if(Array.isArray(e))[t,n,o]=e;else if(e&&typeof e=="object")({widgetId:t,event:n,listener:o}=e);else return null;return typeof t!="string"||typeof n!="string"||typeof o!="function"?null:{widgetId:t,event:n,listener:o}}var Xe=new Map;function Fo(e){e.debug!==void 0&&On(e.debug);let t=B.scope("mount");t.info("mount",{widgetId:e.widgetId,publicKey:e.publicKey,mode:e.presentation?.mode});let n=Ze(e),o=n.widgetId,i=Xe.get(o);i&&(t.debug("destroy existing instance at slot",{widgetId:o}),i.destroy());let a=oi(n),s=n.iframe?Ra({position:ct(n.mode)},n.position,a,n.mode,e.target??null):Ct({position:ct(n.mode),target:e.target??null});s.hostElement.dataset.widgetId=o;let l=new Tt,c=nt(o,n.storage,n.aiAgentDeploymentId),d=v=>{l.emit("error",v),u.getOptions().onError?.(v)},u=Ho({bus:l,host:s.hostElement,appRoot:s.appRoot,persistence:c,initialRaw:e,reportError:d});u.render();let _=s.hostElement,m=null,g=v=>{v.debug!==void 0&&On(v.debug),u.patchUserOptions(v)},f={widgetId:o,open:()=>tn(_,"open"),close:()=>tn(_,"close"),expand:()=>tn(_,"expand"),openForm:v=>tn(_,"openForm",v),on:(v,h)=>l.on(v,h),update:v=>{t.debug("update",{patch:v}),g(v)},setUserContext:v=>{t.debug("setUserContext",{keys:Object.keys(v)}),g({userContext:{...u.getUserOptions().userContext,...v}})},clearUserContext:()=>{t.debug("clearUserContext"),g({userContext:void 0})},setPageContext:v=>{t.debug("setPageContext",{keys:Object.keys(v)}),g({pageContext:{...u.getUserOptions().pageContext,...v}})},clearPageContext:()=>{t.debug("clearPageContext"),g({pageContext:void 0})},setDebug:v=>{On(v),t.info("debug level set",{level:Yt()})},debugLevel:()=>Yt(),onLog:v=>Qt(v),destroy:()=>{t.info("destroy",{widgetId:o}),m?.(),u.destroy(),l.clear(),wt(null,s.appRoot),s.destroy(),Xe.get(o)===f&&Xe.delete(o)}};return m=_c(f,l),Xe.set(o,f),f}function Bo(e){let t=e.widgetId??"default",n=Xe.get(t);return n?(n.update(e),n):Fo(e)}function li(e){if(e!==void 0){Xe.get(e)?.destroy();return}let t=[...Xe.values()];for(let n of t)n.destroy()}function Ue(e="default"){return Xe.get(e)??null}function uc(){return[...Xe.values()]}function ci(e,t,n){return ai(e,t,n)}var pc="0.1.0";var di=class extends HTMLElement{constructor(){super(...arguments);G(this,"bus",new Tt);G(this,"mountResult",null);G(this,"runtime",null)}static get observedAttributes(){return pr}connectedCallback(){this.boot()}disconnectedCallback(){this.mountResult&&(this.runtime?.destroy(),this.runtime=null,wt(null,this.mountResult.appRoot),this.bus.clear())}attributeChangedCallback(){this.isConnected&&this.boot()}boot(){let n=Bn(a=>this.getAttribute(a));if(this.runtime){this.runtime.setUserOptions(n);return}let o=Ze(n);this.mountResult||(this.mountResult=Ct({existingHost:this,position:ct(o.mode)}));let i=nt(o.widgetId,o.storage,o.aiAgentDeploymentId);this.runtime=Ho({bus:this.bus,host:this.mountResult.hostElement,appRoot:this.mountResult.appRoot,persistence:i,initialRaw:n,reportError:a=>this.bus.emit("error",a)}),this.runtime.render()}},fc=!1;function _i(){if(fc||typeof customElements>"u")return;let e=x.tagName;customElements.get(e)||customElements.define(e,di),fc=!0}typeof customElements<"u"&&_i();var mc=B.scope("iife"),ui={close:()=>Ue()?.close(),destroy:()=>li(),expand:()=>Ue()?.expand(),hook:(e,t,n)=>typeof e=="string"&&typeof t=="string"&&typeof n=="function"?ci(e,t,n):void 0,init:e=>Bo(e),mount:e=>Fo(e),on:(e,t)=>Ue()?.on(e,t),onLog:e=>Qt(e),open:()=>Ue()?.open(),setDebug:e=>Ue()?.setDebug(e),update:e=>Ue()?.update(e)};function gc(e,...t){let n=ui[e];if(!n){mc.warn("unknown command",{command:e});return}return n(...t)}function Lp(){let e=((n,...o)=>gc(n,...o));e.init=Bo,e.mount=Fo,e.destroy=li,e.getInstance=Ue,e.getAllInstances=uc,e.version=pc,e.hook=ci,e.debugLevel=()=>Yt(),e.onLog=Qt;let t=new Set(["init","mount","hook","onLog"]);for(let n of Object.keys(ui))t.has(n)||(e[n]=(...o)=>ui[n](...o));return e}function Mp(e){let t=e?.q;if(t)for(let n of t){let o=[...n],[i,...a]=o;if(typeof i=="string")try{gc(i,...a)}catch(s){mc.warn("queued command failed",{command:i,error:s})}}}function Np(){let e=[],t=e.push.bind(e);return e.push=(...n)=>{for(let o of n)si([o]);return t(...n)},e}function Dp(){let e=document.scripts;for(let t=e.length-1;t>=0;t--){let n=e[t];if(n?.src.includes("elements"))return n}return null}function Op(){if(typeof window>"u"||typeof document>"u")return;let e=globalThis[x.global],t=Lp();globalThis[x.global]=t,_i();let n=`${x.global}Hooks`,o=globalThis[n];if(si(o),globalThis[n]=Np(),Mp(e),Ue())return;let i=document.currentScript??Dp(),a=fr(i?.dataset);if(!a.publicKey)return;let s=()=>{Ue()||Bo(a)};if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",s,{once:!0});return}s()}Op();return jc($p);})();
|
|
40
40
|
//# sourceMappingURL=elements.js.map
|