@runtypelabs/persona 1.36.0 → 1.36.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -17,7 +17,7 @@
17
17
  <svg class="tvw-feedback-star" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
18
18
  <polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon>
19
19
  </svg>
20
- `,k.addEventListener("click",()=>{m=C,y.forEach((K,J)=>{let U=J<C;K.classList.toggle("selected",U),K.setAttribute("aria-checked",J===C-1?"true":"false")})}),y.push(k),M.appendChild(k)}g.appendChild(M);let S=null;if(d){let C=document.createElement("div");C.className="tvw-feedback-comment-container",S=document.createElement("textarea"),S.className="tvw-feedback-comment",S.placeholder=s,S.rows=3,S.setAttribute("aria-label","Additional comments"),C.appendChild(S),g.appendChild(C)}let I=document.createElement("div");I.className="tvw-feedback-actions";let v=document.createElement("button");v.type="button",v.className="tvw-feedback-btn tvw-feedback-btn-skip",v.textContent=a,v.addEventListener("click",()=>{o==null||o(),f.remove()});let O=document.createElement("button");return O.type="button",O.className="tvw-feedback-btn tvw-feedback-btn-submit",O.textContent=i,O.addEventListener("click",async()=>{if(m===null){M.classList.add("tvw-feedback-shake"),setTimeout(()=>M.classList.remove("tvw-feedback-shake"),500);return}O.disabled=!0,O.textContent="Submitting...";try{let C=(S==null?void 0:S.value.trim())||void 0;await n(m,C),f.remove()}catch(C){O.disabled=!1,O.textContent=i,console.error("[CSAT Feedback] Failed to submit:",C)}}),I.appendChild(v),I.appendChild(O),g.appendChild(I),f.appendChild(g),f}function ss(e){let{onSubmit:n,onDismiss:o,title:t="How likely are you to recommend us?",subtitle:r="On a scale of 0 to 10",commentPlaceholder:s="What could we do better? (optional)...",submitText:i="Submit",skipText:a="Skip",showComment:d=!0,lowLabel:p="Not likely",highLabel:f="Very likely"}=e,m=document.createElement("div");m.className="tvw-feedback-container tvw-feedback-nps",m.setAttribute("role","dialog"),m.setAttribute("aria-label","Net Promoter Score feedback");let g=null,w=document.createElement("div");w.className="tvw-feedback-content";let h=document.createElement("div");h.className="tvw-feedback-header";let R=document.createElement("h3");R.className="tvw-feedback-title",R.textContent=t,h.appendChild(R);let M=document.createElement("p");M.className="tvw-feedback-subtitle",M.textContent=r,h.appendChild(M),w.appendChild(h);let y=document.createElement("div");y.className="tvw-feedback-rating tvw-feedback-rating-nps",y.setAttribute("role","radiogroup"),y.setAttribute("aria-label","Likelihood rating from 0 to 10");let S=document.createElement("div");S.className="tvw-feedback-labels";let I=document.createElement("span");I.className="tvw-feedback-label-low",I.textContent=p;let v=document.createElement("span");v.className="tvw-feedback-label-high",v.textContent=f,S.appendChild(I),S.appendChild(v);let O=document.createElement("div");O.className="tvw-feedback-numbers";let C=[];for(let j=0;j<=10;j++){let D=document.createElement("button");D.type="button",D.className="tvw-feedback-rating-btn tvw-feedback-number-btn",D.setAttribute("role","radio"),D.setAttribute("aria-checked","false"),D.setAttribute("aria-label",`Rating ${j} out of 10`),D.textContent=String(j),D.dataset.rating=String(j),j<=6?D.classList.add("tvw-feedback-detractor"):j<=8?D.classList.add("tvw-feedback-passive"):D.classList.add("tvw-feedback-promoter"),D.addEventListener("click",()=>{g=j,C.forEach((Y,H)=>{Y.classList.toggle("selected",H===j),Y.setAttribute("aria-checked",H===j?"true":"false")})}),C.push(D),O.appendChild(D)}y.appendChild(S),y.appendChild(O),w.appendChild(y);let k=null;if(d){let j=document.createElement("div");j.className="tvw-feedback-comment-container",k=document.createElement("textarea"),k.className="tvw-feedback-comment",k.placeholder=s,k.rows=3,k.setAttribute("aria-label","Additional comments"),j.appendChild(k),w.appendChild(j)}let K=document.createElement("div");K.className="tvw-feedback-actions";let J=document.createElement("button");J.type="button",J.className="tvw-feedback-btn tvw-feedback-btn-skip",J.textContent=a,J.addEventListener("click",()=>{o==null||o(),m.remove()});let U=document.createElement("button");return U.type="button",U.className="tvw-feedback-btn tvw-feedback-btn-submit",U.textContent=i,U.addEventListener("click",async()=>{if(g===null){O.classList.add("tvw-feedback-shake"),setTimeout(()=>O.classList.remove("tvw-feedback-shake"),500);return}U.disabled=!0,U.textContent="Submitting...";try{let j=(k==null?void 0:k.value.trim())||void 0;await n(g,j),m.remove()}catch(j){U.disabled=!1,U.textContent=i,console.error("[NPS Feedback] Failed to submit:",j)}}),K.appendChild(J),K.appendChild(U),w.appendChild(K),m.appendChild(w),m}var un="persona-chat-history",Zi=30*1e3,Ms=e=>!e||typeof e!="object"?{}:{...e},ci=e=>e.map(n=>({...n,streaming:!1})),ui=(e,n)=>{let o=e!=null&&e.markdown?Sn(e.markdown):null;return t=>{var i,a,d;let r=(i=t.text)!=null?i:"",s=(a=t.message.rawContent)!=null?a:null;if(n){let p=n.process({text:r,raw:s!=null?s:r,message:t.message,streaming:t.streaming});p!==null&&(r=p.text,p.persist||(t.message.__skipPersist=!0))}return e!=null&&e.postprocessMessage?e.postprocessMessage({...t,text:r,raw:(d=s!=null?s:t.text)!=null?d:""}):o?o(r):Fn(r)}},os=(e,n,o)=>{var Bs,Is,Rs,Fs,$s,Ns,Os,Ds,_s,js,qs,zs,Us,Js,Ys,Ks,Xs;(!e.id||e.id!=="persona-root")&&(e.id="persona-root");let t=Vn(n),r=En.getForInstance(t.plugins);t.components&&dn.registerAll(t.components);let s=ii(),i=(Bs=t.storageAdapter)!=null?Bs:Gn(),a={},d=null;if(i!=null&&i.load)try{let l=i.load();if(l&&typeof l.then=="function")d=l;else if(l){let c=l;c.metadata&&(a=Ms(c.metadata)),(Is=c.messages)!=null&&Is.length&&(t={...t,initialMessages:c.messages})}}catch(l){typeof console!="undefined"&&console.error("[AgentWidget] Failed to load stored state:",l)}let p=()=>a,f=l=>{var A;a=(A=l({...a}))!=null?A:{},mn()},m=t.actionParsers&&t.actionParsers.length?t.actionParsers:[Mn],g=t.actionHandlers&&t.actionHandlers.length?t.actionHandlers:[en.message,en.messageAndClick],w=kn({parsers:m,handlers:g,getSessionMetadata:p,updateSessionMetadata:f,emit:s.emit,documentRef:typeof document!="undefined"?document:null});w.syncFromMetadata();let h=(Fs=(Rs=t.launcher)==null?void 0:Rs.enabled)!=null?Fs:!0,R=(Ns=($s=t.launcher)==null?void 0:$s.autoExpand)!=null?Ns:!1,M=R,y=h,S=(Ds=(Os=t.layout)==null?void 0:Os.header)==null?void 0:Ds.layout,I=h?R:!0,v=ui(t,w),O=(js=(_s=t.features)==null?void 0:_s.showReasoning)!=null?js:!0,C=(zs=(qs=t.features)==null?void 0:qs.showToolCalls)!=null?zs:!0,k={onCopy:l=>{var c,A;s.emit("message:copy",l),$!=null&&$.isClientTokenMode()&&$.submitMessageFeedback(l.id,"copy").catch(P=>{t.debug&&console.error("[AgentWidget] Failed to submit copy feedback:",P)}),(A=(c=t.messageActions)==null?void 0:c.onCopy)==null||A.call(c,l)},onFeedback:l=>{var c,A;s.emit("message:feedback",l),$!=null&&$.isClientTokenMode()&&$.submitMessageFeedback(l.messageId,l.type).catch(P=>{t.debug&&console.error("[AgentWidget] Failed to submit feedback:",P)}),(A=(c=t.messageActions)==null?void 0:c.onFeedback)==null||A.call(c,l)}},K=(Us=t.statusIndicator)!=null?Us:{},J=l=>{var c,A,P,b;return l==="idle"?(c=K.idleText)!=null?c:gt.idle:l==="connecting"?(A=K.connectingText)!=null?A:gt.connecting:l==="connected"?(P=K.connectedText)!=null?P:gt.connected:l==="error"?(b=K.errorText)!=null?b:gt.error:gt[l]},{wrapper:U,panel:j}=Qr(t),D=Zr(t,h),{container:Y,body:H,messagesWrapper:X,suggestions:Pe,textarea:V,sendButton:_,sendButtonWrapper:tt,composerForm:at,statusText:lt,introTitle:Lt,introSubtitle:Ft,closeButton:q,iconHolder:we,headerTitle:dt,headerSubtitle:ct,header:Ue,footer:ut,actionsRow:$t,leftActions:Pt,rightActions:Ht}=D,F=D.micButton,Oe=D.micButtonWrapper,me=D.attachmentButton,nt=D.attachmentButtonWrapper,he=D.attachmentInput,st=D.attachmentPreviewsContainer,Te=null;(Js=t.attachments)!=null&&Js.enabled&&he&&st&&(Te=Qt.fromConfig(t.attachments),Te.setPreviewsContainer(st),he.addEventListener("change",l=>{let c=l.target;Te==null||Te.handleFileSelect(c.files),c.value=""}));let xt=r.find(l=>l.renderHeader);if(xt!=null&&xt.renderHeader){let l=xt.renderHeader({config:t,defaultRenderer:()=>{let c=qt({config:t,showClose:h});return Zt(Y,c,t),c.header},onClose:()=>W(!1,"user")});if(l){let c=Y.querySelector(".tvw-border-b-cw-divider");c&&(c.replaceWith(l),Ue=l)}}let St=r.find(l=>l.renderComposer);if(St!=null&&St.renderComposer){let l=St.renderComposer({config:t,defaultRenderer:()=>on({config:t}).footer,onSubmit:c=>{$&&!$.isStreaming()&&$.sendMessage(c)},disabled:!1});l&&(ut.replaceWith(l),ut=l)}(()=>{var P,b;let l=(b=(P=t.layout)==null?void 0:P.slots)!=null?b:{},c=Q=>{switch(Q){case"body-top":return Y.querySelector(".tvw-rounded-2xl.tvw-bg-cw-surface.tvw-p-6")||null;case"messages":return X;case"footer-top":return Pe;case"composer":return at;case"footer-bottom":return lt;default:return null}},A=(Q,ue)=>{var T;switch(Q){case"header-left":case"header-center":case"header-right":if(Q==="header-left")Ue.insertBefore(ue,Ue.firstChild);else if(Q==="header-right")Ue.appendChild(ue);else{let G=Ue.querySelector(".tvw-flex-col");G?(T=G.parentNode)==null||T.insertBefore(ue,G.nextSibling):Ue.appendChild(ue)}break;case"body-top":let ee=H.querySelector(".tvw-rounded-2xl.tvw-bg-cw-surface.tvw-p-6");ee?ee.replaceWith(ue):H.insertBefore(ue,H.firstChild);break;case"body-bottom":H.appendChild(ue);break;case"footer-top":Pe.replaceWith(ue);break;case"footer-bottom":lt.replaceWith(ue);break;default:break}};for(let[Q,ue]of Object.entries(l))if(ue)try{let T=ue({config:t,defaultContent:()=>c(Q)});T&&A(Q,T)}catch(T){typeof console!="undefined"&&console.error(`[AgentWidget] Error rendering slot "${Q}":`,T)}})();let Je=l=>{let A=l.target.closest('button[data-expand-header="true"]');if(!A)return;let P=A.closest(".vanilla-reasoning-bubble, .vanilla-tool-bubble");if(!P)return;let b=P.getAttribute("data-message-id");if(!b)return;let Q=A.getAttribute("data-bubble-type");Q==="reasoning"?(an.has(b)?an.delete(b):an.add(b),ni(b,P)):Q==="tool"&&(ln.has(b)?ln.delete(b):ln.add(b),si(b,P,t))};X.addEventListener("pointerdown",l=>{l.target.closest('button[data-expand-header="true"]')&&(l.preventDefault(),Je(l))}),X.addEventListener("keydown",l=>{let c=l.target;(l.key==="Enter"||l.key===" ")&&c.closest('button[data-expand-header="true"]')&&(l.preventDefault(),Je(l))}),j.appendChild(Y),e.appendChild(U);let Qe=()=>{var pe,je,qe,rt,Tt,Z,Me,Kt,Xt,Pn,Hn,cs,ze,Bn,hn,fn;let l=(je=(pe=t.launcher)==null?void 0:pe.sidebarMode)!=null?je:!1,c=l||((rt=(qe=t.launcher)==null?void 0:qe.fullHeight)!=null?rt:!1),A=(Tt=t.theme)!=null?Tt:{},P=(Me=(Z=t.launcher)==null?void 0:Z.position)!=null?Me:"bottom-left",b=P==="bottom-left"||P==="top-left",Q=l?"none":"1px solid var(--tvw-cw-border)",ue=l?b?"2px 0 12px rgba(0, 0, 0, 0.08)":"-2px 0 12px rgba(0, 0, 0, 0.08)":"0 25px 50px -12px rgba(0, 0, 0, 0.25)",T=l?"0":"16px",ee=(Kt=A.panelBorder)!=null?Kt:Q,G=(Xt=A.panelShadow)!=null?Xt:ue,ve=(Pn=A.panelBorderRadius)!=null?Pn:T;e.style.cssText="",U.style.cssText="",j.style.cssText="",Y.style.cssText="",H.style.cssText="",ut.style.cssText="";let N=(cs=(Hn=t==null?void 0:t.launcher)==null?void 0:Hn.width)!=null?cs:t==null?void 0:t.launcherWidth,Fe=N!=null?N:"min(400px, calc(100vw - 24px))";l||(j.style.width=Fe,j.style.maxWidth=Fe),j.style.boxShadow=G,j.style.borderRadius=ve,Y.style.border=ee,Y.style.borderRadius=ve;let Ae=((ze=t.launcher)==null?void 0:ze.enabled)===!1;if(c&&(e.style.display="flex",e.style.flexDirection="column",e.style.height="100%",e.style.minHeight="0",U.style.display="flex",U.style.flexDirection="column",U.style.flex="1 1 0%",U.style.minHeight="0",U.style.maxHeight="100%",U.style.height="100%",Ae&&(U.style.overflow="hidden"),j.style.display="flex",j.style.flexDirection="column",j.style.flex="1 1 0%",j.style.minHeight="0",j.style.maxHeight="100%",j.style.height="100%",j.style.overflow="hidden",Y.style.display="flex",Y.style.flexDirection="column",Y.style.flex="1 1 0%",Y.style.minHeight="0",Y.style.maxHeight="100%",Y.style.overflow="hidden",H.style.flex="1 1 0%",H.style.minHeight="0",H.style.overflowY="auto",ut.style.flexShrink="0"),U.classList.remove("tvw-bottom-6","tvw-right-6","tvw-left-6","tvw-top-6","tvw-bottom-4","tvw-right-4","tvw-left-4","tvw-top-4"),!l&&!Ae&&((Bn=Wt[P])!=null?Bn:Wt["bottom-right"]).split(" ").forEach(wn=>U.classList.add(wn)),l){let Ut=(fn=(hn=t.launcher)==null?void 0:hn.sidebarWidth)!=null?fn:"420px";U.style.cssText=`
20
+ `,k.addEventListener("click",()=>{m=C,y.forEach((K,J)=>{let U=J<C;K.classList.toggle("selected",U),K.setAttribute("aria-checked",J===C-1?"true":"false")})}),y.push(k),M.appendChild(k)}g.appendChild(M);let S=null;if(d){let C=document.createElement("div");C.className="tvw-feedback-comment-container",S=document.createElement("textarea"),S.className="tvw-feedback-comment",S.placeholder=s,S.rows=3,S.setAttribute("aria-label","Additional comments"),C.appendChild(S),g.appendChild(C)}let I=document.createElement("div");I.className="tvw-feedback-actions";let v=document.createElement("button");v.type="button",v.className="tvw-feedback-btn tvw-feedback-btn-skip",v.textContent=a,v.addEventListener("click",()=>{o==null||o(),f.remove()});let O=document.createElement("button");return O.type="button",O.className="tvw-feedback-btn tvw-feedback-btn-submit",O.textContent=i,O.addEventListener("click",async()=>{if(m===null){M.classList.add("tvw-feedback-shake"),setTimeout(()=>M.classList.remove("tvw-feedback-shake"),500);return}O.disabled=!0,O.textContent="Submitting...";try{let C=(S==null?void 0:S.value.trim())||void 0;await n(m,C),f.remove()}catch(C){O.disabled=!1,O.textContent=i,console.error("[CSAT Feedback] Failed to submit:",C)}}),I.appendChild(v),I.appendChild(O),g.appendChild(I),f.appendChild(g),f}function ss(e){let{onSubmit:n,onDismiss:o,title:t="How likely are you to recommend us?",subtitle:r="On a scale of 0 to 10",commentPlaceholder:s="What could we do better? (optional)...",submitText:i="Submit",skipText:a="Skip",showComment:d=!0,lowLabel:p="Not likely",highLabel:f="Very likely"}=e,m=document.createElement("div");m.className="tvw-feedback-container tvw-feedback-nps",m.setAttribute("role","dialog"),m.setAttribute("aria-label","Net Promoter Score feedback");let g=null,w=document.createElement("div");w.className="tvw-feedback-content";let h=document.createElement("div");h.className="tvw-feedback-header";let R=document.createElement("h3");R.className="tvw-feedback-title",R.textContent=t,h.appendChild(R);let M=document.createElement("p");M.className="tvw-feedback-subtitle",M.textContent=r,h.appendChild(M),w.appendChild(h);let y=document.createElement("div");y.className="tvw-feedback-rating tvw-feedback-rating-nps",y.setAttribute("role","radiogroup"),y.setAttribute("aria-label","Likelihood rating from 0 to 10");let S=document.createElement("div");S.className="tvw-feedback-labels";let I=document.createElement("span");I.className="tvw-feedback-label-low",I.textContent=p;let v=document.createElement("span");v.className="tvw-feedback-label-high",v.textContent=f,S.appendChild(I),S.appendChild(v);let O=document.createElement("div");O.className="tvw-feedback-numbers";let C=[];for(let j=0;j<=10;j++){let D=document.createElement("button");D.type="button",D.className="tvw-feedback-rating-btn tvw-feedback-number-btn",D.setAttribute("role","radio"),D.setAttribute("aria-checked","false"),D.setAttribute("aria-label",`Rating ${j} out of 10`),D.textContent=String(j),D.dataset.rating=String(j),j<=6?D.classList.add("tvw-feedback-detractor"):j<=8?D.classList.add("tvw-feedback-passive"):D.classList.add("tvw-feedback-promoter"),D.addEventListener("click",()=>{g=j,C.forEach((Y,H)=>{Y.classList.toggle("selected",H===j),Y.setAttribute("aria-checked",H===j?"true":"false")})}),C.push(D),O.appendChild(D)}y.appendChild(S),y.appendChild(O),w.appendChild(y);let k=null;if(d){let j=document.createElement("div");j.className="tvw-feedback-comment-container",k=document.createElement("textarea"),k.className="tvw-feedback-comment",k.placeholder=s,k.rows=3,k.setAttribute("aria-label","Additional comments"),j.appendChild(k),w.appendChild(j)}let K=document.createElement("div");K.className="tvw-feedback-actions";let J=document.createElement("button");J.type="button",J.className="tvw-feedback-btn tvw-feedback-btn-skip",J.textContent=a,J.addEventListener("click",()=>{o==null||o(),m.remove()});let U=document.createElement("button");return U.type="button",U.className="tvw-feedback-btn tvw-feedback-btn-submit",U.textContent=i,U.addEventListener("click",async()=>{if(g===null){O.classList.add("tvw-feedback-shake"),setTimeout(()=>O.classList.remove("tvw-feedback-shake"),500);return}U.disabled=!0,U.textContent="Submitting...";try{let j=(k==null?void 0:k.value.trim())||void 0;await n(g,j),m.remove()}catch(j){U.disabled=!1,U.textContent=i,console.error("[NPS Feedback] Failed to submit:",j)}}),K.appendChild(J),K.appendChild(U),w.appendChild(K),m.appendChild(w),m}var un="persona-chat-history",Zi=30*1e3,Ms=e=>!e||typeof e!="object"?{}:{...e},ci=e=>e.map(n=>({...n,streaming:!1})),ui=(e,n)=>{let o=e!=null&&e.markdown?Sn(e.markdown):null;return t=>{var i,a,d;let r=(i=t.text)!=null?i:"",s=(a=t.message.rawContent)!=null?a:null;if(n){let p=n.process({text:r,raw:s!=null?s:r,message:t.message,streaming:t.streaming});p!==null&&(r=p.text,p.persist||(t.message.__skipPersist=!0))}return e!=null&&e.postprocessMessage?e.postprocessMessage({...t,text:r,raw:(d=s!=null?s:t.text)!=null?d:""}):o?o(r):Fn(r)}},os=(e,n,o)=>{var Bs,Is,Rs,Fs,$s,Ns,Os,Ds,_s,js,qs,zs,Us,Js,Ys,Ks,Xs;(!e.id||e.id!=="persona-root")&&(e.id="persona-root");let t=Vn(n),r=En.getForInstance(t.plugins);t.components&&dn.registerAll(t.components);let s=ii(),i=(Bs=t.storageAdapter)!=null?Bs:Gn(),a={},d=null;if(i!=null&&i.load)try{let l=i.load();if(l&&typeof l.then=="function")d=l;else if(l){let c=l;c.metadata&&(a=Ms(c.metadata)),(Is=c.messages)!=null&&Is.length&&(t={...t,initialMessages:c.messages})}}catch(l){typeof console!="undefined"&&console.error("[AgentWidget] Failed to load stored state:",l)}let p=()=>a,f=l=>{var A;a=(A=l({...a}))!=null?A:{},mn()},m=t.actionParsers&&t.actionParsers.length?t.actionParsers:[Mn],g=t.actionHandlers&&t.actionHandlers.length?t.actionHandlers:[en.message,en.messageAndClick],w=kn({parsers:m,handlers:g,getSessionMetadata:p,updateSessionMetadata:f,emit:s.emit,documentRef:typeof document!="undefined"?document:null});w.syncFromMetadata();let h=(Fs=(Rs=t.launcher)==null?void 0:Rs.enabled)!=null?Fs:!0,R=(Ns=($s=t.launcher)==null?void 0:$s.autoExpand)!=null?Ns:!1,M=R,y=h,S=(Ds=(Os=t.layout)==null?void 0:Os.header)==null?void 0:Ds.layout,I=h?R:!0,v=ui(t,w),O=(js=(_s=t.features)==null?void 0:_s.showReasoning)!=null?js:!0,C=(zs=(qs=t.features)==null?void 0:qs.showToolCalls)!=null?zs:!0,k={onCopy:l=>{var c,A;s.emit("message:copy",l),$!=null&&$.isClientTokenMode()&&$.submitMessageFeedback(l.id,"copy").catch(P=>{t.debug&&console.error("[AgentWidget] Failed to submit copy feedback:",P)}),(A=(c=t.messageActions)==null?void 0:c.onCopy)==null||A.call(c,l)},onFeedback:l=>{var c,A;s.emit("message:feedback",l),$!=null&&$.isClientTokenMode()&&$.submitMessageFeedback(l.messageId,l.type).catch(P=>{t.debug&&console.error("[AgentWidget] Failed to submit feedback:",P)}),(A=(c=t.messageActions)==null?void 0:c.onFeedback)==null||A.call(c,l)}},K=(Us=t.statusIndicator)!=null?Us:{},J=l=>{var c,A,P,b;return l==="idle"?(c=K.idleText)!=null?c:gt.idle:l==="connecting"?(A=K.connectingText)!=null?A:gt.connecting:l==="connected"?(P=K.connectedText)!=null?P:gt.connected:l==="error"?(b=K.errorText)!=null?b:gt.error:gt[l]},{wrapper:U,panel:j}=Qr(t),D=Zr(t,h),{container:Y,body:H,messagesWrapper:X,suggestions:Pe,textarea:V,sendButton:_,sendButtonWrapper:tt,composerForm:at,statusText:lt,introTitle:Lt,introSubtitle:Ft,closeButton:q,iconHolder:we,headerTitle:dt,headerSubtitle:ct,header:Ue,footer:ut,actionsRow:$t,leftActions:Pt,rightActions:Ht}=D,F=D.micButton,Oe=D.micButtonWrapper,me=D.attachmentButton,nt=D.attachmentButtonWrapper,he=D.attachmentInput,st=D.attachmentPreviewsContainer,Te=null;(Js=t.attachments)!=null&&Js.enabled&&he&&st&&(Te=Qt.fromConfig(t.attachments),Te.setPreviewsContainer(st),he.addEventListener("change",l=>{let c=l.target;Te==null||Te.handleFileSelect(c.files),c.value=""}));let xt=r.find(l=>l.renderHeader);if(xt!=null&&xt.renderHeader){let l=xt.renderHeader({config:t,defaultRenderer:()=>{let c=qt({config:t,showClose:h});return Zt(Y,c,t),c.header},onClose:()=>W(!1,"user")});if(l){let c=Y.querySelector(".tvw-border-b-cw-divider");c&&(c.replaceWith(l),Ue=l)}}let St=r.find(l=>l.renderComposer);if(St!=null&&St.renderComposer){let l=St.renderComposer({config:t,defaultRenderer:()=>on({config:t}).footer,onSubmit:c=>{$&&!$.isStreaming()&&$.sendMessage(c)},disabled:!1});l&&(ut.replaceWith(l),ut=l)}(()=>{var P,b;let l=(b=(P=t.layout)==null?void 0:P.slots)!=null?b:{},c=Q=>{switch(Q){case"body-top":return Y.querySelector(".tvw-rounded-2xl.tvw-bg-cw-surface.tvw-p-6")||null;case"messages":return X;case"footer-top":return Pe;case"composer":return at;case"footer-bottom":return lt;default:return null}},A=(Q,ue)=>{var T;switch(Q){case"header-left":case"header-center":case"header-right":if(Q==="header-left")Ue.insertBefore(ue,Ue.firstChild);else if(Q==="header-right")Ue.appendChild(ue);else{let G=Ue.querySelector(".tvw-flex-col");G?(T=G.parentNode)==null||T.insertBefore(ue,G.nextSibling):Ue.appendChild(ue)}break;case"body-top":{let G=H.querySelector(".tvw-rounded-2xl.tvw-bg-cw-surface.tvw-p-6");G?G.replaceWith(ue):H.insertBefore(ue,H.firstChild);break}case"body-bottom":H.appendChild(ue);break;case"footer-top":Pe.replaceWith(ue);break;case"footer-bottom":lt.replaceWith(ue);break;default:break}};for(let[Q,ue]of Object.entries(l))if(ue)try{let T=ue({config:t,defaultContent:()=>c(Q)});T&&A(Q,T)}catch(T){typeof console!="undefined"&&console.error(`[AgentWidget] Error rendering slot "${Q}":`,T)}})();let Je=l=>{let A=l.target.closest('button[data-expand-header="true"]');if(!A)return;let P=A.closest(".vanilla-reasoning-bubble, .vanilla-tool-bubble");if(!P)return;let b=P.getAttribute("data-message-id");if(!b)return;let Q=A.getAttribute("data-bubble-type");Q==="reasoning"?(an.has(b)?an.delete(b):an.add(b),ni(b,P)):Q==="tool"&&(ln.has(b)?ln.delete(b):ln.add(b),si(b,P,t))};X.addEventListener("pointerdown",l=>{l.target.closest('button[data-expand-header="true"]')&&(l.preventDefault(),Je(l))}),X.addEventListener("keydown",l=>{let c=l.target;(l.key==="Enter"||l.key===" ")&&c.closest('button[data-expand-header="true"]')&&(l.preventDefault(),Je(l))}),j.appendChild(Y),e.appendChild(U);let Qe=()=>{var pe,je,qe,rt,Tt,ee,Me,Kt,Xt,Pn,Hn,cs,ze,Bn,hn,fn;let l=(je=(pe=t.launcher)==null?void 0:pe.sidebarMode)!=null?je:!1,c=l||((rt=(qe=t.launcher)==null?void 0:qe.fullHeight)!=null?rt:!1),A=(Tt=t.theme)!=null?Tt:{},P=(Me=(ee=t.launcher)==null?void 0:ee.position)!=null?Me:"bottom-left",b=P==="bottom-left"||P==="top-left",Q=l?"none":"1px solid var(--tvw-cw-border)",ue=l?b?"2px 0 12px rgba(0, 0, 0, 0.08)":"-2px 0 12px rgba(0, 0, 0, 0.08)":"0 25px 50px -12px rgba(0, 0, 0, 0.25)",T=l?"0":"16px",G=(Kt=A.panelBorder)!=null?Kt:Q,Z=(Xt=A.panelShadow)!=null?Xt:ue,ve=(Pn=A.panelBorderRadius)!=null?Pn:T;e.style.cssText="",U.style.cssText="",j.style.cssText="",Y.style.cssText="",H.style.cssText="",ut.style.cssText="";let N=(cs=(Hn=t==null?void 0:t.launcher)==null?void 0:Hn.width)!=null?cs:t==null?void 0:t.launcherWidth,Fe=N!=null?N:"min(400px, calc(100vw - 24px))";l||(j.style.width=Fe,j.style.maxWidth=Fe),j.style.boxShadow=Z,j.style.borderRadius=ve,Y.style.border=G,Y.style.borderRadius=ve;let Ae=((ze=t.launcher)==null?void 0:ze.enabled)===!1;if(c&&(e.style.display="flex",e.style.flexDirection="column",e.style.height="100%",e.style.minHeight="0",U.style.display="flex",U.style.flexDirection="column",U.style.flex="1 1 0%",U.style.minHeight="0",U.style.maxHeight="100%",U.style.height="100%",Ae&&(U.style.overflow="hidden"),j.style.display="flex",j.style.flexDirection="column",j.style.flex="1 1 0%",j.style.minHeight="0",j.style.maxHeight="100%",j.style.height="100%",j.style.overflow="hidden",Y.style.display="flex",Y.style.flexDirection="column",Y.style.flex="1 1 0%",Y.style.minHeight="0",Y.style.maxHeight="100%",Y.style.overflow="hidden",H.style.flex="1 1 0%",H.style.minHeight="0",H.style.overflowY="auto",ut.style.flexShrink="0"),U.classList.remove("tvw-bottom-6","tvw-right-6","tvw-left-6","tvw-top-6","tvw-bottom-4","tvw-right-4","tvw-left-4","tvw-top-4"),!l&&!Ae&&((Bn=Wt[P])!=null?Bn:Wt["bottom-right"]).split(" ").forEach(wn=>U.classList.add(wn)),l){let Ut=(fn=(hn=t.launcher)==null?void 0:hn.sidebarWidth)!=null?fn:"420px";U.style.cssText=`
21
21
  position: fixed !important;
22
22
  top: 0 !important;
23
23
  bottom: 0 !important;
@@ -40,7 +40,7 @@
40
40
  min-height: 0 !important;
41
41
  margin: 0 !important;
42
42
  padding: 0 !important;
43
- box-shadow: ${G} !important;
43
+ box-shadow: ${Z} !important;
44
44
  border-radius: ${ve} !important;
45
45
  `,j.style.setProperty("width","100%","important"),j.style.setProperty("max-width","100%","important"),Y.style.cssText=`
46
46
  display: flex !important;
@@ -52,12 +52,12 @@
52
52
  max-height: 100% !important;
53
53
  overflow: hidden !important;
54
54
  border-radius: ${ve} !important;
55
- border: ${ee} !important;
55
+ border: ${G} !important;
56
56
  `,ut.style.cssText=`
57
57
  flex-shrink: 0 !important;
58
58
  border-top: none !important;
59
59
  padding: 8px 16px 12px 16px !important;
60
- `}if(!Ae){let Ut="max-height: -moz-available !important; max-height: stretch !important;",wn=l?"":"padding-top: 1.25em !important;";U.style.cssText+=Ut+wn}};Qe(),Kn(e,t);let He=[],Ye=null,kt=()=>{Ye&&(Ye(),Ye=null),t.colorScheme==="auto"&&(Ye=Xr(()=>{Kn(e,t)}))};kt(),He.push(()=>{Ye&&(Ye(),Ye=null)});let ft=oi(Pe),ot=null,$,wt=!1,yt=!0,At=0,te=0,ye=null,Re=!1,vt=0,Ze=!1,Bt=125,It=2e3,Nt=5,tn=50,Ot=new Map,We={active:!1,manuallyDeactivated:!1,lastUserMessageWasVoice:!1},pn=(Ks=(Ys=t.voiceRecognition)==null?void 0:Ys.autoResume)!=null?Ks:!1,gn=l=>{s.emit("voice:state",{active:We.active,source:l,timestamp:Date.now()})},Dt=()=>{f(l=>({...l,voiceState:{active:We.active,timestamp:Date.now(),manuallyDeactivated:We.manuallyDeactivated}}))},Wn=()=>{var P,b;if(((P=t.voiceRecognition)==null?void 0:P.enabled)===!1)return;let l=Ms(a.voiceState),c=!!l.active,A=Number((b=l.timestamp)!=null?b:0);We.manuallyDeactivated=!!l.manuallyDeactivated,c&&Date.now()-A<Zi&&setTimeout(()=>{We.active||(We.manuallyDeactivated=!1,_e("restore"))},1e3)},Ln=()=>$?ci($.getMessages()).filter(l=>!l.__skipPersist):[];function mn(l){if(!(i!=null&&i.save))return;let A={messages:l?ci(l):$?Ln():[],metadata:a};try{let P=i.save(A);P instanceof Promise&&P.catch(b=>{typeof console!="undefined"&&console.error("[AgentWidget] Failed to persist state:",b)})}catch(P){typeof console!="undefined"&&console.error("[AgentWidget] Failed to persist state:",P)}}let Yt=(l=!1)=>{if(!yt)return;let c=Date.now();Re&&c<vt&&!l||(Re&&c>=vt&&(Re=!1),!(!l&&!wt)&&(c-te<Bt||(te=c,ye&&cancelAnimationFrame(ye),ye=requestAnimationFrame(()=>{Re||!yt||(Ze=!0,H.scrollTop=H.scrollHeight,At=H.scrollTop,requestAnimationFrame(()=>{Ze=!1}),ye=null)}))))},L=null,le=()=>U.querySelector("#persona-scroll-container")||H,Se=(l,c=500)=>{let A=l.scrollTop,P=l.clientHeight,b=l.scrollHeight,Q=b-A;if(A+P>=b-2||Math.abs(Q)<5)return;L!==null&&(cancelAnimationFrame(L),L=null);let T=performance.now(),ee=ve=>1-Math.pow(1-ve,3),G=ve=>{let N=l.scrollHeight;N!==b&&(b=N,Q=b-A);let Fe=ve-T,Ae=Math.min(Fe/c,1),pe=ee(Ae),je=A+Q*pe;l.scrollTop=je,Ae<1?L=requestAnimationFrame(G):(l.scrollTop=l.scrollHeight,L=null)};L=requestAnimationFrame(G)},De=l=>{let c=new Map;l.forEach(A=>{let P=Ot.get(A.id);c.set(A.id,{streaming:A.streaming,role:A.role}),!P&&A.role==="assistant"&&s.emit("assistant:message",A),A.role==="assistant"&&(P!=null&&P.streaming)&&A.streaming===!1&&s.emit("assistant:complete",A)}),Ot.clear(),c.forEach((A,P)=>{Ot.set(P,A)})},Ke=(l,c,A)=>{let P=document.createElement("div");c.forEach(T=>{var Fe,Ae;let ee=null,G=r.find(pe=>!!(T.variant==="reasoning"&&pe.renderReasoning||T.variant==="tool"&&pe.renderToolCall||!T.variant&&pe.renderMessage)),ve=(Fe=t.layout)==null?void 0:Fe.messages;if(G)if(T.variant==="reasoning"&&T.reasoning&&G.renderReasoning){if(!O)return;ee=G.renderReasoning({message:T,defaultRenderer:()=>vs(T),config:t})}else if(T.variant==="tool"&&T.toolCall&&G.renderToolCall){if(!C)return;ee=G.renderToolCall({message:T,defaultRenderer:()=>bs(T,t),config:t})}else G.renderMessage&&(ee=G.renderMessage({message:T,defaultRenderer:()=>{let pe=rn(T,A,ve,t.messageActions,k);return T.role!=="user"&&Cs(pe,T,t,$),pe},config:t}));if(!ee&&T.role==="assistant"&&!T.variant&&t.enableComponentStreaming!==!1&&es(T)){let je=ts(T);if(je){let qe=Zn(je,{config:t,message:T,transform:A});if(qe){let rt=document.createElement("div");if(rt.className=["vanilla-message-bubble","tvw-max-w-[85%]","tvw-rounded-2xl","tvw-bg-cw-surface","tvw-border","tvw-border-cw-message-border","tvw-p-4"].join(" "),rt.id=`bubble-${T.id}`,rt.setAttribute("data-message-id",T.id),T.content&&T.content.trim()){let Tt=document.createElement("div");Tt.className="tvw-mb-3 tvw-text-sm tvw-leading-relaxed",Tt.innerHTML=A({text:T.content,message:T,streaming:!!T.streaming,raw:T.rawContent}),rt.appendChild(Tt)}rt.appendChild(qe),ee=rt}}}if(!ee)if(T.variant==="reasoning"&&T.reasoning){if(!O)return;ee=vs(T)}else if(T.variant==="tool"&&T.toolCall){if(!C)return;ee=bs(T,t)}else{let pe=(Ae=t.layout)==null?void 0:Ae.messages;pe!=null&&pe.renderUserMessage&&T.role==="user"?ee=pe.renderUserMessage({message:T,config:t,streaming:!!T.streaming}):pe!=null&&pe.renderAssistantMessage&&T.role==="assistant"?ee=pe.renderAssistantMessage({message:T,config:t,streaming:!!T.streaming}):ee=rn(T,A,pe,t.messageActions,k),T.role!=="user"&&ee&&Cs(ee,T,t,$)}let N=document.createElement("div");N.className="tvw-flex",N.id=`wrapper-${T.id}`,N.setAttribute("data-wrapper-id",T.id),T.role==="user"&&N.classList.add("tvw-justify-end"),N.appendChild(ee),P.appendChild(N)});let b=c.some(T=>T.role==="assistant"&&T.streaming),Q=c[c.length-1],ue=(Q==null?void 0:Q.role)==="assistant"&&!Q.streaming;if(wt&&c.some(T=>T.role==="user")&&!b&&!ue){let T=Tn(),ee=document.createElement("div");ee.className=["tvw-max-w-[85%]","tvw-rounded-2xl","tvw-text-sm","tvw-leading-relaxed","tvw-shadow-sm","tvw-bg-cw-surface","tvw-border","tvw-border-cw-message-border","tvw-text-cw-primary","tvw-px-5","tvw-py-3"].join(" "),ee.setAttribute("data-typing-indicator","true"),ee.appendChild(T);let G=document.createElement("div");G.className="tvw-flex",G.id="wrapper-typing-indicator",G.setAttribute("data-wrapper-id","typing-indicator"),G.appendChild(ee),P.appendChild(G)}Gr(l,P),requestAnimationFrame(()=>{requestAnimationFrame(()=>{let T=le();Se(T)})})},Le=()=>{h&&(I?(U.classList.remove("tvw-pointer-events-none","tvw-opacity-0"),j.classList.remove("tvw-scale-95","tvw-opacity-0"),j.classList.add("tvw-scale-100","tvw-opacity-100"),se?se.element.style.display="none":de&&(de.style.display="none")):(U.classList.add("tvw-pointer-events-none","tvw-opacity-0"),j.classList.remove("tvw-scale-100","tvw-opacity-100"),j.classList.add("tvw-scale-95","tvw-opacity-0"),se?se.element.style.display="":de&&(de.style.display="")))},W=(l,c="user")=>{if(!h||I===l)return;let A=I;I=l,Le(),I&&(mt(),Yt(!0));let P={open:I,source:c,timestamp:Date.now()};I&&!A?s.emit("widget:opened",P):!I&&A&&s.emit("widget:closed",P),s.emit("widget:state",{open:I,launcherEnabled:h,voiceActive:We.active,streaming:$.isStreaming()})},bt=l=>{_.disabled=l,F&&(F.disabled=l),ft.buttons.forEach(c=>{c.disabled=l})},oe=()=>{var b,Q,ue,T,ee,G,ve,N,Fe,Ae,pe,je,qe,rt;Lt.textContent=(Q=(b=t.copy)==null?void 0:b.welcomeTitle)!=null?Q:"Hello \u{1F44B}",Ft.textContent=(T=(ue=t.copy)==null?void 0:ue.welcomeSubtitle)!=null?T:"Ask anything about your account or products.",V.placeholder=(G=(ee=t.copy)==null?void 0:ee.inputPlaceholder)!=null?G:"How can I help...",((N=(ve=t.sendButton)==null?void 0:ve.useIcon)!=null?N:!1)||(_.textContent=(Ae=(Fe=t.copy)==null?void 0:Fe.sendButtonLabel)!=null?Ae:"Send");let c=(je=(pe=t.theme)==null?void 0:pe.inputFontFamily)!=null?je:"sans-serif",A=(rt=(qe=t.theme)==null?void 0:qe.inputFontWeight)!=null?rt:"400",P=Tt=>{switch(Tt){case"serif":return'Georgia, "Times New Roman", Times, serif';case"mono":return'"Courier New", Courier, "Lucida Console", Monaco, monospace';case"sans-serif":default:return'-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif'}};V.style.fontFamily=P(c),V.style.fontWeight=A};t.clientToken&&(t={...t,getStoredSessionId:()=>{let l=a.session_id;return typeof l=="string"?l:null},setStoredSessionId:l=>{f(c=>({...c,session_id:l}))}}),$=new nn(t,{onMessagesChanged(l){Ke(X,l,v),$&&(l.some(P=>P.role==="user")?ft.render([],$,V,l):ft.render(t.suggestionChips,$,V,l,t.suggestionChipsConfig)),Yt(!wt),De(l);let c=[...l].reverse().find(A=>A.role==="user");We.lastUserMessageWasVoice=!!(c!=null&&c.viaVoice),mn(l)},onStatusChanged(l){var P;let c=(P=t.statusIndicator)!=null?P:{},A=b=>{var Q,ue,T,ee;return b==="idle"?(Q=c.idleText)!=null?Q:gt.idle:b==="connecting"?(ue=c.connectingText)!=null?ue:gt.connecting:b==="connected"?(T=c.connectedText)!=null?T:gt.connected:b==="error"?(ee=c.errorText)!=null?ee:gt.error:gt[b]};lt.textContent=A(l)},onStreamingChanged(l){wt=l,bt(l),$&&Ke(X,$.getMessages(),v),l||Yt(!0)}}),d&&d.then(l=>{var c;l&&(l.metadata&&(a=Ms(l.metadata),w.syncFromMetadata()),(c=l.messages)!=null&&c.length&&$.hydrateMessages(l.messages))}).catch(l=>{typeof console!="undefined"&&console.error("[AgentWidget] Failed to hydrate stored state:",l)});let B=l=>{var b;l.preventDefault();let c=V.value.trim(),A=(b=Te==null?void 0:Te.hasAttachments())!=null?b:!1;if(!c&&!A)return;let P;A&&(P=[],P.push(...Te.getContentParts()),c&&P.push(Un(c))),V.value="",V.style.height="auto",$.sendMessage(c,{contentParts:P}),A&&Te.clearAttachments()},E=l=>{l.key==="Enter"&&!l.shiftKey&&(l.preventDefault(),_.click())},z=null,fe=!1,Ee=null,Xe=null,Ie=()=>typeof window=="undefined"?null:window.webkitSpeechRecognition||window.SpeechRecognition||null,_e=(l="user")=>{var Q,ue,T,ee;if(fe||$.isStreaming())return;let c=Ie();if(!c)return;z=new c;let P=(ue=((Q=t.voiceRecognition)!=null?Q:{}).pauseDuration)!=null?ue:2e3;z.continuous=!0,z.interimResults=!0,z.lang="en-US";let b=V.value;z.onresult=G=>{let ve="",N="";for(let Ae=0;Ae<G.results.length;Ae++){let pe=G.results[Ae],je=pe[0].transcript;pe.isFinal?ve+=je+" ":N=je}let Fe=b+ve+N;V.value=Fe,Ee&&clearTimeout(Ee),(ve||N)&&(Ee=window.setTimeout(()=>{let Ae=V.value.trim();Ae&&z&&fe&&(ke(),V.value="",V.style.height="auto",$.sendMessage(Ae,{viaVoice:!0}))},P))},z.onerror=G=>{G.error!=="no-speech"&&ke()},z.onend=()=>{if(fe){let G=V.value.trim();G&&G!==b.trim()&&(V.value="",V.style.height="auto",$.sendMessage(G,{viaVoice:!0})),ke()}};try{if(z.start(),fe=!0,We.active=!0,l!=="system"&&(We.manuallyDeactivated=!1),gn(l),Dt(),F){Xe={backgroundColor:F.style.backgroundColor,color:F.style.color,borderColor:F.style.borderColor};let G=(T=t.voiceRecognition)!=null?T:{},ve=(ee=G.recordingBackgroundColor)!=null?ee:"#ef4444",N=G.recordingIconColor,Fe=G.recordingBorderColor;if(F.classList.add("tvw-voice-recording"),F.style.backgroundColor=ve,N){F.style.color=N;let Ae=F.querySelector("svg");Ae&&Ae.setAttribute("stroke",N)}Fe&&(F.style.borderColor=Fe),F.setAttribute("aria-label","Stop voice recognition")}}catch{ke("system")}},ke=(l="user")=>{if(fe){if(fe=!1,Ee&&(clearTimeout(Ee),Ee=null),z){try{z.stop()}catch{}z=null}if(We.active=!1,gn(l),Dt(),F){if(F.classList.remove("tvw-voice-recording"),Xe){F.style.backgroundColor=Xe.backgroundColor,F.style.color=Xe.color,F.style.borderColor=Xe.borderColor;let c=F.querySelector("svg");c&&c.setAttribute("stroke",Xe.color||"currentColor"),Xe=null}F.setAttribute("aria-label","Start voice recognition")}}},Ce=(l,c)=>{var je,qe,rt,Tt,Z,Me,Kt;if(!(typeof window!="undefined"&&(typeof window.webkitSpeechRecognition!="undefined"||typeof window.SpeechRecognition!="undefined")))return null;let P=u("div","tvw-send-button-wrapper"),b=u("button","tvw-rounded-button tvw-flex tvw-items-center tvw-justify-center disabled:tvw-opacity-50 tvw-cursor-pointer");b.type="button",b.setAttribute("aria-label","Start voice recognition");let Q=(je=l==null?void 0:l.iconName)!=null?je:"mic",ue=(qe=c==null?void 0:c.size)!=null?qe:"40px",T=(rt=l==null?void 0:l.iconSize)!=null?rt:ue,ee=parseFloat(T)||24,G=(Tt=l==null?void 0:l.backgroundColor)!=null?Tt:c==null?void 0:c.backgroundColor,ve=(Z=l==null?void 0:l.iconColor)!=null?Z:c==null?void 0:c.textColor;b.style.width=T,b.style.height=T,b.style.minWidth=T,b.style.minHeight=T,b.style.fontSize="18px",b.style.lineHeight="1";let N=ve||"currentColor",Fe=re(Q,ee,N,1.5);Fe?(b.appendChild(Fe),b.style.color=N):(b.textContent="\u{1F3A4}",b.style.color=N),G?b.style.backgroundColor=G:b.classList.add("tvw-bg-cw-primary"),ve?b.style.color=ve:!ve&&!(c!=null&&c.textColor)&&b.classList.add("tvw-text-white"),l!=null&&l.borderWidth&&(b.style.borderWidth=l.borderWidth,b.style.borderStyle="solid"),l!=null&&l.borderColor&&(b.style.borderColor=l.borderColor),l!=null&&l.paddingX&&(b.style.paddingLeft=l.paddingX,b.style.paddingRight=l.paddingX),l!=null&&l.paddingY&&(b.style.paddingTop=l.paddingY,b.style.paddingBottom=l.paddingY),P.appendChild(b);let Ae=(Me=l==null?void 0:l.tooltipText)!=null?Me:"Start voice recognition";if(((Kt=l==null?void 0:l.showTooltip)!=null?Kt:!1)&&Ae){let Xt=u("div","tvw-send-button-tooltip");Xt.textContent=Ae,P.appendChild(Xt)}return{micButton:b,micButtonWrapper:P}},xe=()=>{if(fe){let l=V.value.trim();We.manuallyDeactivated=!0,Dt(),ke("user"),l&&(V.value="",V.style.height="auto",$.sendMessage(l))}else We.manuallyDeactivated=!1,Dt(),_e("user")};F&&(F.addEventListener("click",xe),He.push(()=>{ke("system"),F&&F.removeEventListener("click",xe)}));let Ve=s.on("assistant:complete",()=>{pn&&(We.active||We.manuallyDeactivated||pn==="assistant"&&!We.lastUserMessageWasVoice||setTimeout(()=>{!We.active&&!We.manuallyDeactivated&&_e("auto")},600))});He.push(Ve);let ce=()=>{W(!I,"user")},se=null,de=null;if(h){let l=r.find(c=>c.renderLauncher);if(l!=null&&l.renderLauncher){let c=l.renderLauncher({config:t,defaultRenderer:()=>An(t,ce).element,onToggle:ce});c&&(de=c)}de||(se=An(t,ce))}se?e.appendChild(se.element):de&&e.appendChild(de),Le(),ft.render(t.suggestionChips,$,V,void 0,t.suggestionChipsConfig),oe(),bt($.isStreaming()),Yt(!0),Wn();let mt=()=>{var A,P,b,Q,ue,T,ee,G;let l=(P=(A=t.launcher)==null?void 0:A.sidebarMode)!=null?P:!1,c=l||((Q=(b=t.launcher)==null?void 0:b.fullHeight)!=null?Q:!1);if(!h){j.style.height="",j.style.width="";return}if(!l){let ve=(T=(ue=t==null?void 0:t.launcher)==null?void 0:ue.width)!=null?T:t==null?void 0:t.launcherWidth,N=ve!=null?ve:"min(400px, calc(100vw - 24px))";j.style.width=N,j.style.maxWidth=N}if(!c){let ve=window.innerHeight,N=64,Fe=(G=(ee=t.launcher)==null?void 0:ee.heightOffset)!=null?G:0,Ae=Math.max(200,ve-N),pe=Math.min(640,Ae),je=Math.max(200,pe-Fe);j.style.height=`${je}px`}};mt(),window.addEventListener("resize",mt),He.push(()=>window.removeEventListener("resize",mt)),At=H.scrollTop;let Ps=()=>{let l=H.scrollTop,c=H.scrollHeight,A=H.clientHeight,P=c-l-A,b=Math.abs(l-At);if(At=l,!Ze&&!(b<=Nt)){if(!yt&&P<tn){Re=!1,yt=!0;return}yt&&P>tn&&(Re=!0,vt=Date.now()+It,yt=!1)}};H.addEventListener("scroll",Ps,{passive:!0}),He.push(()=>H.removeEventListener("scroll",Ps)),He.push(()=>{ye&&cancelAnimationFrame(ye)});let Hs=()=>{q&&(ot&&(q.removeEventListener("click",ot),ot=null),h?(q.style.display="",ot=()=>{I=!1,Le()},q.addEventListener("click",ot)):q.style.display="none")};Hs(),(()=>{let{clearChatButton:l}=D;l&&l.addEventListener("click",()=>{$.clearMessages();try{localStorage.removeItem(un),t.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${un}`)}catch(A){console.error("[AgentWidget] Failed to clear default localStorage:",A)}if(t.clearChatHistoryStorageKey&&t.clearChatHistoryStorageKey!==un)try{localStorage.removeItem(t.clearChatHistoryStorageKey),t.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${t.clearChatHistoryStorageKey}`)}catch(A){console.error("[AgentWidget] Failed to clear custom localStorage:",A)}let c=new CustomEvent("persona:clear-chat",{detail:{timestamp:new Date().toISOString()}});if(window.dispatchEvent(c),i!=null&&i.clear)try{let A=i.clear();A instanceof Promise&&A.catch(P=>{typeof console!="undefined"&&console.error("[AgentWidget] Failed to clear storage adapter:",P)})}catch(A){typeof console!="undefined"&&console.error("[AgentWidget] Failed to clear storage adapter:",A)}a={},w.syncFromMetadata()})})(),at.addEventListener("submit",B),V.addEventListener("keydown",E),He.push(()=>{at.removeEventListener("submit",B),V.removeEventListener("keydown",E)}),He.push(()=>{$.cancel()}),se?He.push(()=>{se==null||se.destroy()}):de&&He.push(()=>{de==null||de.remove()});let _t={update(l){var Vs,Gs,Qs,Zs,eo,to,no,so,oo,ro,io,ao,lo,co,uo,po,go,mo,ho,fo,wo,yo,vo,bo,Co,xo,So,Ao,To,Eo,Mo,ko,Wo,Lo,Po,Ho,Bo,Io,Ro,Fo,$o,No,Oo,Do,_o,jo,qo,zo,Uo,Jo,Yo,Ko,Xo,Vo,Go,Qo,Zo,er,tr,nr,sr,or,rr,ir,ar,lr,dr,cr,ur,pr,gr,mr,hr,fr,wr,yr,vr,br,Cr,xr,Sr,Ar;let c=t.toolCall,A=t.colorScheme;t={...t,...l},Qe(),Kn(e,t),t.colorScheme!==A&&kt();let P=En.getForInstance(t.plugins);if(r.length=0,r.push(...P),h=(Gs=(Vs=t.launcher)==null?void 0:Vs.enabled)!=null?Gs:!0,R=(Zs=(Qs=t.launcher)==null?void 0:Qs.autoExpand)!=null?Zs:!1,O=(to=(eo=t.features)==null?void 0:eo.showReasoning)!=null?to:!0,C=(so=(no=t.features)==null?void 0:no.showToolCalls)!=null?so:!0,((oo=t.launcher)==null?void 0:oo.enabled)===!1&&se&&(se.destroy(),se=null),((ro=t.launcher)==null?void 0:ro.enabled)===!1&&de&&(de.remove(),de=null),((io=t.launcher)==null?void 0:io.enabled)!==!1&&!se&&!de){let x=r.find(ge=>ge.renderLauncher);if(x!=null&&x.renderLauncher){let ge=x.renderLauncher({config:t,defaultRenderer:()=>An(t,ce).element,onToggle:ce});ge&&(de=ge,e.appendChild(de))}de||(se=An(t,ce),e.appendChild(se.element))}se&&se.update(t),dt&&((ao=t.launcher)==null?void 0:ao.title)!==void 0&&(dt.textContent=t.launcher.title),ct&&((lo=t.launcher)==null?void 0:lo.subtitle)!==void 0&&(ct.textContent=t.launcher.subtitle);let b=(co=t.layout)==null?void 0:co.header;if((b==null?void 0:b.layout)!==S&&Ue){let x=b?sn(t,b,{showClose:h,onClose:()=>W(!1,"user")}):qt({config:t,showClose:h,onClose:()=>W(!1,"user")});Ue.replaceWith(x.header),Ue=x.header,we=x.iconHolder,dt=x.headerTitle,ct=x.headerSubtitle,q=x.closeButton,S=b==null?void 0:b.layout}else if(b&&(we&&(we.style.display=b.showIcon===!1?"none":""),dt&&(dt.style.display=b.showTitle===!1?"none":""),ct&&(ct.style.display=b.showSubtitle===!1?"none":""),q&&(q.style.display=b.showCloseButton===!1?"none":""),D.clearChatButtonWrapper)){let x=b.showClearChat;if(x!==void 0){D.clearChatButtonWrapper.style.display=x?"":"none";let{closeButtonWrapper:ge}=D;ge&&!ge.classList.contains("tvw-absolute")&&(x?ge.classList.remove("tvw-ml-auto"):ge.classList.add("tvw-ml-auto"))}}let ue=((uo=t.layout)==null?void 0:uo.showHeader)!==!1;Ue&&(Ue.style.display=ue?"":"none");let T=((po=t.layout)==null?void 0:po.showFooter)!==!1;ut&&(ut.style.display=T?"":"none"),h!==y?h?W(R,"auto"):(I=!0,Le()):R!==M&&W(R,"auto"),M=R,y=h,mt(),Hs(),JSON.stringify(l.toolCall)!==JSON.stringify(c)&&$&&Ke(X,$.getMessages(),v);let N=(go=t.launcher)!=null?go:{},Fe=(mo=N.headerIconHidden)!=null?mo:!1,Ae=(fo=(ho=t.layout)==null?void 0:ho.header)==null?void 0:fo.showIcon,pe=Fe||Ae===!1,je=N.headerIconName,qe=(wo=N.headerIconSize)!=null?wo:"48px";if(we){let x=Y.querySelector(".tvw-border-b-cw-divider"),ge=x==null?void 0:x.querySelector(".tvw-flex-col");if(pe)we.style.display="none",x&&ge&&!x.contains(ge)&&x.insertBefore(ge,x.firstChild);else{if(we.style.display="",we.style.height=qe,we.style.width=qe,x&&ge&&(x.contains(we)?we.nextSibling!==ge&&(we.remove(),x.insertBefore(we,ge)):x.insertBefore(we,ge)),je){let ne=parseFloat(qe)||24,be=re(je,ne*.6,"#ffffff",2);be?we.replaceChildren(be):we.textContent=(yo=N.agentIconText)!=null?yo:"\u{1F4AC}"}else if(N.iconUrl){let ne=we.querySelector("img");if(ne)ne.src=N.iconUrl,ne.style.height=qe,ne.style.width=qe;else{let be=document.createElement("img");be.src=N.iconUrl,be.alt="",be.className="tvw-rounded-xl tvw-object-cover",be.style.height=qe,be.style.width=qe,we.replaceChildren(be)}}else{let ne=we.querySelector("svg"),be=we.querySelector("img");(ne||be)&&we.replaceChildren(),we.textContent=(vo=N.agentIconText)!=null?vo:"\u{1F4AC}"}let $e=we.querySelector("img");$e&&($e.style.height=qe,$e.style.width=qe)}}let rt=(Co=(bo=t.layout)==null?void 0:bo.header)==null?void 0:Co.showTitle,Tt=(So=(xo=t.layout)==null?void 0:xo.header)==null?void 0:So.showSubtitle;if(dt&&(dt.style.display=rt===!1?"none":""),ct&&(ct.style.display=Tt===!1?"none":""),q){((To=(Ao=t.layout)==null?void 0:Ao.header)==null?void 0:To.showCloseButton)===!1?q.style.display="none":q.style.display="";let ge=(Eo=N.closeButtonSize)!=null?Eo:"32px",$e=(Mo=N.closeButtonPlacement)!=null?Mo:"inline";q.style.height=ge,q.style.width=ge;let{closeButtonWrapper:ne}=D,be=$e==="top-right",pt=ne==null?void 0:ne.classList.contains("tvw-absolute");if(ne&&be!==pt)if(ne.remove(),be)ne.className="tvw-absolute tvw-top-4 tvw-right-4 tvw-z-50",Y.style.position="relative",Y.appendChild(ne);else{let ie=(Wo=(ko=N.clearChat)==null?void 0:ko.placement)!=null?Wo:"inline",Ge=(Po=(Lo=N.clearChat)==null?void 0:Lo.enabled)!=null?Po:!0;ne.className=Ge&&ie==="inline"?"":"tvw-ml-auto";let Ct=Y.querySelector(".tvw-border-b-cw-divider");Ct&&Ct.appendChild(ne)}if(N.closeButtonColor?(q.style.color=N.closeButtonColor,q.classList.remove("tvw-text-cw-muted")):(q.style.color="",q.classList.add("tvw-text-cw-muted")),N.closeButtonBackgroundColor?(q.style.backgroundColor=N.closeButtonBackgroundColor,q.classList.remove("hover:tvw-bg-gray-100")):(q.style.backgroundColor="",q.classList.add("hover:tvw-bg-gray-100")),N.closeButtonBorderWidth||N.closeButtonBorderColor){let ie=N.closeButtonBorderWidth||"0px",Ge=N.closeButtonBorderColor||"transparent";q.style.border=`${ie} solid ${Ge}`,q.classList.remove("tvw-border-none")}else q.style.border="",q.classList.add("tvw-border-none");N.closeButtonBorderRadius?(q.style.borderRadius=N.closeButtonBorderRadius,q.classList.remove("tvw-rounded-full")):(q.style.borderRadius="",q.classList.add("tvw-rounded-full")),N.closeButtonPaddingX?(q.style.paddingLeft=N.closeButtonPaddingX,q.style.paddingRight=N.closeButtonPaddingX):(q.style.paddingLeft="",q.style.paddingRight=""),N.closeButtonPaddingY?(q.style.paddingTop=N.closeButtonPaddingY,q.style.paddingBottom=N.closeButtonPaddingY):(q.style.paddingTop="",q.style.paddingBottom="");let it=(Ho=N.closeButtonIconName)!=null?Ho:"x",Et=(Bo=N.closeButtonIconText)!=null?Bo:"\xD7";q.innerHTML="";let ht=re(it,"20px",N.closeButtonColor||"",2);ht?q.appendChild(ht):q.textContent=Et;let Ne=(Io=N.closeButtonTooltipText)!=null?Io:"Close chat",Mt=(Ro=N.closeButtonShowTooltip)!=null?Ro:!0;if(q.setAttribute("aria-label",Ne),ne&&(ne._cleanupTooltip&&(ne._cleanupTooltip(),delete ne._cleanupTooltip),Mt&&Ne)){let ie=null,Ge=()=>{if(ie||!q)return;ie=u("div","tvw-clear-chat-tooltip"),ie.textContent=Ne;let Cn=u("div");Cn.className="tvw-clear-chat-tooltip-arrow",ie.appendChild(Cn);let Vt=q.getBoundingClientRect();ie.style.position="fixed",ie.style.left=`${Vt.left+Vt.width/2}px`,ie.style.top=`${Vt.top-8}px`,ie.style.transform="translate(-50%, -100%)",document.body.appendChild(ie)},Ct=()=>{ie&&ie.parentNode&&(ie.parentNode.removeChild(ie),ie=null)};ne.addEventListener("mouseenter",Ge),ne.addEventListener("mouseleave",Ct),q.addEventListener("focus",Ge),q.addEventListener("blur",Ct),ne._cleanupTooltip=()=>{Ct(),ne&&(ne.removeEventListener("mouseenter",Ge),ne.removeEventListener("mouseleave",Ct)),q&&(q.removeEventListener("focus",Ge),q.removeEventListener("blur",Ct))}}}let{clearChatButton:Z,clearChatButtonWrapper:Me}=D;if(Z){let x=(Fo=N.clearChat)!=null?Fo:{},ge=($o=x.enabled)!=null?$o:!0,$e=(Oo=(No=t.layout)==null?void 0:No.header)==null?void 0:Oo.showClearChat,ne=$e!==void 0?$e:ge,be=(Do=x.placement)!=null?Do:"inline";if(Me){Me.style.display=ne?"":"none";let{closeButtonWrapper:pt}=D;pt&&!pt.classList.contains("tvw-absolute")&&(ne?pt.classList.remove("tvw-ml-auto"):pt.classList.add("tvw-ml-auto"));let it=be==="top-right",Et=Me.classList.contains("tvw-absolute");if(it!==Et&&ne){if(Me.remove(),it)Me.className="tvw-absolute tvw-top-4 tvw-z-50",Me.style.right="48px",Y.style.position="relative",Y.appendChild(Me);else{Me.className="tvw-relative tvw-ml-auto tvw-clear-chat-button-wrapper",Me.style.right="";let Ne=Y.querySelector(".tvw-border-b-cw-divider"),Mt=D.closeButtonWrapper;Ne&&Mt&&Mt.parentElement===Ne?Ne.insertBefore(Me,Mt):Ne&&Ne.appendChild(Me)}let ht=D.closeButtonWrapper;ht&&!ht.classList.contains("tvw-absolute")&&(it?ht.classList.add("tvw-ml-auto"):ht.classList.remove("tvw-ml-auto"))}}if(ne){let pt=(_o=x.size)!=null?_o:"32px";Z.style.height=pt,Z.style.width=pt;let it=(jo=x.iconName)!=null?jo:"refresh-cw",Et=(qo=x.iconColor)!=null?qo:"";Z.innerHTML="";let ht=re(it,"20px",Et||"",2);if(ht&&Z.appendChild(ht),Et?(Z.style.color=Et,Z.classList.remove("tvw-text-cw-muted")):(Z.style.color="",Z.classList.add("tvw-text-cw-muted")),x.backgroundColor?(Z.style.backgroundColor=x.backgroundColor,Z.classList.remove("hover:tvw-bg-gray-100")):(Z.style.backgroundColor="",Z.classList.add("hover:tvw-bg-gray-100")),x.borderWidth||x.borderColor){let ie=x.borderWidth||"0px",Ge=x.borderColor||"transparent";Z.style.border=`${ie} solid ${Ge}`,Z.classList.remove("tvw-border-none")}else Z.style.border="",Z.classList.add("tvw-border-none");x.borderRadius?(Z.style.borderRadius=x.borderRadius,Z.classList.remove("tvw-rounded-full")):(Z.style.borderRadius="",Z.classList.add("tvw-rounded-full")),x.paddingX?(Z.style.paddingLeft=x.paddingX,Z.style.paddingRight=x.paddingX):(Z.style.paddingLeft="",Z.style.paddingRight=""),x.paddingY?(Z.style.paddingTop=x.paddingY,Z.style.paddingBottom=x.paddingY):(Z.style.paddingTop="",Z.style.paddingBottom="");let Ne=(zo=x.tooltipText)!=null?zo:"Clear chat",Mt=(Uo=x.showTooltip)!=null?Uo:!0;if(Z.setAttribute("aria-label",Ne),Me&&(Me._cleanupTooltip&&(Me._cleanupTooltip(),delete Me._cleanupTooltip),Mt&&Ne)){let ie=null,Ge=()=>{if(ie||!Z)return;ie=u("div","tvw-clear-chat-tooltip"),ie.textContent=Ne;let Cn=u("div");Cn.className="tvw-clear-chat-tooltip-arrow",ie.appendChild(Cn);let Vt=Z.getBoundingClientRect();ie.style.position="fixed",ie.style.left=`${Vt.left+Vt.width/2}px`,ie.style.top=`${Vt.top-8}px`,ie.style.transform="translate(-50%, -100%)",document.body.appendChild(ie)},Ct=()=>{ie&&ie.parentNode&&(ie.parentNode.removeChild(ie),ie=null)};Me.addEventListener("mouseenter",Ge),Me.addEventListener("mouseleave",Ct),Z.addEventListener("focus",Ge),Z.addEventListener("blur",Ct),Me._cleanupTooltip=()=>{Ct(),Me&&(Me.removeEventListener("mouseenter",Ge),Me.removeEventListener("mouseleave",Ct)),Z&&(Z.removeEventListener("focus",Ge),Z.removeEventListener("blur",Ct))}}}}let Kt=t.actionParsers&&t.actionParsers.length?t.actionParsers:[Mn],Xt=t.actionHandlers&&t.actionHandlers.length?t.actionHandlers:[en.message,en.messageAndClick];w=kn({parsers:Kt,handlers:Xt,getSessionMetadata:p,updateSessionMetadata:f,emit:s.emit,documentRef:typeof document!="undefined"?document:null}),v=ui(t,w),$.updateConfig(t),Ke(X,$.getMessages(),v),ft.render(t.suggestionChips,$,V,void 0,t.suggestionChipsConfig),oe(),bt($.isStreaming());let Pn=((Jo=t.voiceRecognition)==null?void 0:Jo.enabled)===!0,Hn=typeof window!="undefined"&&(typeof window.webkitSpeechRecognition!="undefined"||typeof window.SpeechRecognition!="undefined");if(Pn&&Hn)if(!F||!Oe){let x=Ce(t.voiceRecognition,t.sendButton);x&&(F=x.micButton,Oe=x.micButtonWrapper,Ht.insertBefore(Oe,tt),F.addEventListener("click",xe),F.disabled=$.isStreaming())}else{let x=(Yo=t.voiceRecognition)!=null?Yo:{},ge=(Ko=t.sendButton)!=null?Ko:{},$e=(Xo=x.iconName)!=null?Xo:"mic",ne=(Vo=ge.size)!=null?Vo:"40px",be=(Go=x.iconSize)!=null?Go:ne,pt=parseFloat(be)||24;F.style.width=be,F.style.height=be,F.style.minWidth=be,F.style.minHeight=be;let it=(Zo=(Qo=x.iconColor)!=null?Qo:ge.textColor)!=null?Zo:"currentColor";F.innerHTML="";let Et=re($e,pt,it,2);Et?F.appendChild(Et):F.textContent="\u{1F3A4}";let ht=(er=x.backgroundColor)!=null?er:ge.backgroundColor;ht?(F.style.backgroundColor=ht,F.classList.remove("tvw-bg-cw-primary")):(F.style.backgroundColor="",F.classList.add("tvw-bg-cw-primary")),it?(F.style.color=it,F.classList.remove("tvw-text-white")):!it&&!ge.textColor&&(F.style.color="",F.classList.add("tvw-text-white")),x.borderWidth?(F.style.borderWidth=x.borderWidth,F.style.borderStyle="solid"):(F.style.borderWidth="",F.style.borderStyle=""),x.borderColor?F.style.borderColor=x.borderColor:F.style.borderColor="",x.paddingX?(F.style.paddingLeft=x.paddingX,F.style.paddingRight=x.paddingX):(F.style.paddingLeft="",F.style.paddingRight=""),x.paddingY?(F.style.paddingTop=x.paddingY,F.style.paddingBottom=x.paddingY):(F.style.paddingTop="",F.style.paddingBottom="");let Ne=Oe==null?void 0:Oe.querySelector(".tvw-send-button-tooltip"),Mt=(tr=x.tooltipText)!=null?tr:"Start voice recognition";if(((nr=x.showTooltip)!=null?nr:!1)&&Mt)if(Ne)Ne.textContent=Mt,Ne.style.display="";else{let Ge=document.createElement("div");Ge.className="tvw-send-button-tooltip",Ge.textContent=Mt,Oe==null||Oe.insertBefore(Ge,F)}else Ne&&(Ne.style.display="none");Oe.style.display="",F.disabled=$.isStreaming()}else F&&Oe&&(Oe.style.display="none",fe&&ke());if(((sr=t.attachments)==null?void 0:sr.enabled)===!0)if(!nt||!me){let x=(or=t.attachments)!=null?or:{},$e=(ir=((rr=t.sendButton)!=null?rr:{}).size)!=null?ir:"40px";st||(st=u("div","tvw-attachment-previews tvw-flex tvw-flex-wrap tvw-gap-2 tvw-mb-2"),st.style.display="none",at.insertBefore(st,V)),he||(he=document.createElement("input"),he.type="file",he.accept=((ar=x.allowedTypes)!=null?ar:Jt).join(","),he.multiple=((lr=x.maxFiles)!=null?lr:4)>1,he.style.display="none",he.setAttribute("aria-label","Attach files"),at.insertBefore(he,V)),nt=u("div","tvw-send-button-wrapper"),me=u("button","tvw-rounded-button tvw-flex tvw-items-center tvw-justify-center disabled:tvw-opacity-50 tvw-cursor-pointer tvw-attachment-button"),me.type="button",me.setAttribute("aria-label",(dr=x.buttonTooltipText)!=null?dr:"Attach file");let ne=(cr=x.buttonIconName)!=null?cr:"paperclip",be=$e,pt=parseFloat(be)||40,it=Math.round(pt*.6);me.style.width=be,me.style.height=be,me.style.minWidth=be,me.style.minHeight=be,me.style.fontSize="18px",me.style.lineHeight="1",me.style.backgroundColor="transparent",me.style.color="var(--cw-primary, #111827)",me.style.border="none",me.style.borderRadius="6px",me.style.transition="background-color 0.15s ease",me.addEventListener("mouseenter",()=>{me.style.backgroundColor="rgba(0, 0, 0, 0.05)"}),me.addEventListener("mouseleave",()=>{me.style.backgroundColor="transparent"});let Et=re(ne,it,"currentColor",1.5);Et?me.appendChild(Et):me.textContent="\u{1F4CE}",me.addEventListener("click",Mt=>{Mt.preventDefault(),he==null||he.click()}),nt.appendChild(me);let ht=(ur=x.buttonTooltipText)!=null?ur:"Attach file",Ne=u("div","tvw-send-button-tooltip");Ne.textContent=ht,nt.appendChild(Ne),Pt.append(nt),!Te&&he&&st&&(Te=Qt.fromConfig(x),Te.setPreviewsContainer(st),he.addEventListener("change",async()=>{Te&&(he!=null&&he.files)&&(await Te.handleFileSelect(he.files),he.value="")}))}else{nt.style.display="";let x=(pr=t.attachments)!=null?pr:{};he&&(he.accept=((gr=x.allowedTypes)!=null?gr:Jt).join(","),he.multiple=((mr=x.maxFiles)!=null?mr:4)>1),Te&&Te.updateConfig({allowedTypes:x.allowedTypes,maxFileSize:x.maxFileSize,maxFiles:x.maxFiles})}else nt&&(nt.style.display="none"),Te&&Te.clearAttachments();let ze=(hr=t.sendButton)!=null?hr:{},Bn=(fr=ze.useIcon)!=null?fr:!1,hn=(wr=ze.iconText)!=null?wr:"\u2191",fn=ze.iconName,Ut=(yr=ze.tooltipText)!=null?yr:"Send message",wn=(vr=ze.showTooltip)!=null?vr:!1,yn=(br=ze.size)!=null?br:"40px",In=ze.backgroundColor,Rt=ze.textColor;if(Bn){if(_.style.width=yn,_.style.height=yn,_.style.minWidth=yn,_.style.minHeight=yn,_.style.fontSize="18px",_.style.lineHeight="1",_.innerHTML="",fn){let x=parseFloat(yn)||24,ge=Rt&&typeof Rt=="string"&&Rt.trim()?Rt.trim():"currentColor",$e=re(fn,x,ge,2);$e?(_.appendChild($e),_.style.color=ge):(_.textContent=hn,Rt?_.style.color=Rt:_.classList.add("tvw-text-white"))}else _.textContent=hn,Rt?_.style.color=Rt:_.classList.add("tvw-text-white");_.className="tvw-rounded-button tvw-flex tvw-items-center tvw-justify-center disabled:tvw-opacity-50 tvw-cursor-pointer",In?(_.style.backgroundColor=In,_.classList.remove("tvw-bg-cw-primary")):_.classList.add("tvw-bg-cw-primary")}else _.textContent=(xr=(Cr=t.copy)==null?void 0:Cr.sendButtonLabel)!=null?xr:"Send",_.style.width="",_.style.height="",_.style.minWidth="",_.style.minHeight="",_.style.fontSize="",_.style.lineHeight="",_.className="tvw-rounded-button tvw-bg-cw-accent tvw-px-4 tvw-py-2 tvw-text-sm tvw-font-semibold tvw-text-white disabled:tvw-opacity-50 tvw-cursor-pointer",In?(_.style.backgroundColor=In,_.classList.remove("tvw-bg-cw-accent")):_.classList.add("tvw-bg-cw-accent"),Rt?_.style.color=Rt:_.classList.add("tvw-text-white");ze.borderWidth?(_.style.borderWidth=ze.borderWidth,_.style.borderStyle="solid"):(_.style.borderWidth="",_.style.borderStyle=""),ze.borderColor?_.style.borderColor=ze.borderColor:_.style.borderColor="",ze.paddingX?(_.style.paddingLeft=ze.paddingX,_.style.paddingRight=ze.paddingX):(_.style.paddingLeft="",_.style.paddingRight=""),ze.paddingY?(_.style.paddingTop=ze.paddingY,_.style.paddingBottom=ze.paddingY):(_.style.paddingTop="",_.style.paddingBottom="");let vn=tt==null?void 0:tt.querySelector(".tvw-send-button-tooltip");if(wn&&Ut)if(vn)vn.textContent=Ut,vn.style.display="";else{let x=document.createElement("div");x.className="tvw-send-button-tooltip",x.textContent=Ut,tt==null||tt.insertBefore(x,_)}else vn&&(vn.style.display="none");let bn=(Sr=t.statusIndicator)!=null?Sr:{},vi=(Ar=bn.visible)!=null?Ar:!0;if(lt.style.display=vi?"":"none",$){let x=$.getStatus(),ge=$e=>{var ne,be,pt,it;return $e==="idle"?(ne=bn.idleText)!=null?ne:gt.idle:$e==="connecting"?(be=bn.connectingText)!=null?be:gt.connecting:$e==="connected"?(pt=bn.connectedText)!=null?pt:gt.connected:$e==="error"?(it=bn.errorText)!=null?it:gt.error:gt[$e]};lt.textContent=ge(x)}},open(){h&&W(!0,"api")},close(){h&&W(!1,"api")},toggle(){h&&W(!I,"api")},clearChat(){$.clearMessages();try{localStorage.removeItem(un),t.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${un}`)}catch(c){console.error("[AgentWidget] Failed to clear default localStorage:",c)}if(t.clearChatHistoryStorageKey&&t.clearChatHistoryStorageKey!==un)try{localStorage.removeItem(t.clearChatHistoryStorageKey),t.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${t.clearChatHistoryStorageKey}`)}catch(c){console.error("[AgentWidget] Failed to clear custom localStorage:",c)}let l=new CustomEvent("persona:clear-chat",{detail:{timestamp:new Date().toISOString()}});if(window.dispatchEvent(l),i!=null&&i.clear)try{let c=i.clear();c instanceof Promise&&c.catch(A=>{typeof console!="undefined"&&console.error("[AgentWidget] Failed to clear storage adapter:",A)})}catch(c){typeof console!="undefined"&&console.error("[AgentWidget] Failed to clear storage adapter:",c)}a={},w.syncFromMetadata()},setMessage(l){return!V||$.isStreaming()?!1:(!I&&h&&W(!0,"system"),V.value=l,V.dispatchEvent(new Event("input",{bubbles:!0})),!0)},submitMessage(l){if($.isStreaming())return!1;let c=(l==null?void 0:l.trim())||V.value.trim();return c?(!I&&h&&W(!0,"system"),V.value="",V.style.height="auto",$.sendMessage(c),!0):!1},startVoiceRecognition(){return fe||$.isStreaming()||!Ie()?!1:(!I&&h&&W(!0,"system"),We.manuallyDeactivated=!1,Dt(),_e("user"),!0)},stopVoiceRecognition(){return fe?(We.manuallyDeactivated=!0,Dt(),ke("user"),!0):!1},injectTestMessage(l){!I&&h&&W(!0,"system"),$.injectTestEvent(l)},getMessages(){return $.getMessages()},getStatus(){return $.getStatus()},getPersistentMetadata(){return{...a}},updatePersistentMetadata(l){f(l)},on(l,c){return s.on(l,c)},off(l,c){s.off(l,c)},isOpen(){return h&&I},isVoiceActive(){return We.active},getState(){return{open:h&&I,launcherEnabled:h,voiceActive:We.active,streaming:$.isStreaming()}},showCSATFeedback(l){!I&&h&&W(!0,"system");let c=X.querySelector(".tvw-feedback-container");c&&c.remove();let A=ns({onSubmit:async(P,b)=>{var Q;$.isClientTokenMode()&&await $.submitCSATFeedback(P,b),(Q=l==null?void 0:l.onSubmit)==null||Q.call(l,P,b)},onDismiss:l==null?void 0:l.onDismiss,...l});X.appendChild(A),A.scrollIntoView({behavior:"smooth",block:"end"})},showNPSFeedback(l){!I&&h&&W(!0,"system");let c=X.querySelector(".tvw-feedback-container");c&&c.remove();let A=ss({onSubmit:async(P,b)=>{var Q;$.isClientTokenMode()&&await $.submitNPSFeedback(P,b),(Q=l==null?void 0:l.onSubmit)==null||Q.call(l,P,b)},onDismiss:l==null?void 0:l.onDismiss,...l});X.appendChild(A),A.scrollIntoView({behavior:"smooth",block:"end"})},async submitCSATFeedback(l,c){return $.submitCSATFeedback(l,c)},async submitNPSFeedback(l,c){return $.submitNPSFeedback(l,c)},destroy(){He.forEach(l=>l()),U.remove(),se==null||se.destroy(),de==null||de.remove(),ot&&q.removeEventListener("click",ot)}};if((((Xs=o==null?void 0:o.debugTools)!=null?Xs:!1)||!!t.debug)&&typeof window!="undefined"){let l=window.AgentWidgetBrowser,c={controller:_t,getMessages:_t.getMessages,getStatus:_t.getStatus,getMetadata:_t.getPersistentMetadata,updateMetadata:_t.updatePersistentMetadata,clearHistory:()=>_t.clearChat(),setVoiceActive:A=>A?_t.startVoiceRecognition():_t.stopVoiceRecognition()};window.AgentWidgetBrowser=c,He.push(()=>{window.AgentWidgetBrowser===c&&(window.AgentWidgetBrowser=l)})}return _t};var ks={},ea=e=>{if(typeof window=="undefined"||typeof document=="undefined")throw new Error("Chat widget can only be mounted in a browser environment");if(typeof e=="string"){let n=document.querySelector(e);if(!n)throw new Error(`Chat widget target "${e}" was not found`);return n}return e},ta=()=>{try{if(typeof ks!="undefined"&&ks.url)return new URL("../widget.css",ks.url).href}catch{}return null},pi=e=>{let n=ta(),o=()=>{if(!(e instanceof ShadowRoot)||e.querySelector("link[data-persona]"))return;let t=document.head.querySelector("link[data-persona]");if(!t)return;let r=t.cloneNode(!0);e.insertBefore(r,e.firstChild)};if(e instanceof ShadowRoot)if(n){let t=document.createElement("link");t.rel="stylesheet",t.href=n,t.setAttribute("data-persona","true"),e.insertBefore(t,e.firstChild)}else o();else if(!document.head.querySelector("link[data-persona]")&&n){let r=document.createElement("link");r.rel="stylesheet",r.href=n,r.setAttribute("data-persona","true"),document.head.appendChild(r)}},Ws=e=>{var p,f,m,g;let n=ea(e.target),o=document.createElement("div");o.className="persona-host";let t=(m=(f=(p=e.config)==null?void 0:p.launcher)==null?void 0:f.enabled)!=null?m:!0;t||(o.style.height="100%"),n.appendChild(o);let r=e.useShadowDom===!0,s,i;if(r){let w=o.attachShadow({mode:"open"});i=w,s=document.createElement("div"),s.id="persona-root",t||(s.style.height="100%",s.style.display="flex",s.style.flexDirection="column",s.style.flex="1",s.style.minHeight="0"),w.appendChild(s),pi(w)}else i=o,s=document.createElement("div"),s.id="persona-root",t||(s.style.height="100%",s.style.display="flex",s.style.flexDirection="column",s.style.flex="1",s.style.minHeight="0"),o.appendChild(s),pi(o);let a=os(s,e.config,{debugTools:e.debugTools});(g=e.onReady)==null||g.call(e);let d={...a,host:o,destroy(){a.destroy(),o.remove(),e.windowKey&&typeof window!="undefined"&&delete window[e.windowKey]}};return e.windowKey&&typeof window!="undefined"&&(window[e.windowKey]=d),d};function zt(e){if(e!==void 0)return typeof e=="string"?e:Array.isArray(e)?`[${e.map(n=>n.toString()).join(", ")}]`:e.toString()}function na(e){if(e)return{getHeaders:zt(e.getHeaders),onFeedback:zt(e.onFeedback),onCopy:zt(e.onCopy),requestMiddleware:zt(e.requestMiddleware),actionHandlers:zt(e.actionHandlers),actionParsers:zt(e.actionParsers),postprocessMessage:zt(e.postprocessMessage),contextProviders:zt(e.contextProviders),streamParser:zt(e.streamParser)}}var gi=`({ text, message }: any) => {
60
+ `}if(!Ae){let Ut="max-height: -moz-available !important; max-height: stretch !important;",wn=l?"":"padding-top: 1.25em !important;";U.style.cssText+=Ut+wn}};Qe(),Kn(e,t);let He=[],Ye=null,kt=()=>{Ye&&(Ye(),Ye=null),t.colorScheme==="auto"&&(Ye=Xr(()=>{Kn(e,t)}))};kt(),He.push(()=>{Ye&&(Ye(),Ye=null)});let ft=oi(Pe),ot=null,$,wt=!1,yt=!0,At=0,te=0,ye=null,Re=!1,vt=0,Ze=!1,Bt=125,It=2e3,Nt=5,tn=50,Ot=new Map,We={active:!1,manuallyDeactivated:!1,lastUserMessageWasVoice:!1},pn=(Ks=(Ys=t.voiceRecognition)==null?void 0:Ys.autoResume)!=null?Ks:!1,gn=l=>{s.emit("voice:state",{active:We.active,source:l,timestamp:Date.now()})},Dt=()=>{f(l=>({...l,voiceState:{active:We.active,timestamp:Date.now(),manuallyDeactivated:We.manuallyDeactivated}}))},Wn=()=>{var P,b;if(((P=t.voiceRecognition)==null?void 0:P.enabled)===!1)return;let l=Ms(a.voiceState),c=!!l.active,A=Number((b=l.timestamp)!=null?b:0);We.manuallyDeactivated=!!l.manuallyDeactivated,c&&Date.now()-A<Zi&&setTimeout(()=>{We.active||(We.manuallyDeactivated=!1,_e("restore"))},1e3)},Ln=()=>$?ci($.getMessages()).filter(l=>!l.__skipPersist):[];function mn(l){if(!(i!=null&&i.save))return;let A={messages:l?ci(l):$?Ln():[],metadata:a};try{let P=i.save(A);P instanceof Promise&&P.catch(b=>{typeof console!="undefined"&&console.error("[AgentWidget] Failed to persist state:",b)})}catch(P){typeof console!="undefined"&&console.error("[AgentWidget] Failed to persist state:",P)}}let Yt=(l=!1)=>{if(!yt)return;let c=Date.now();Re&&c<vt&&!l||(Re&&c>=vt&&(Re=!1),!(!l&&!wt)&&(c-te<Bt||(te=c,ye&&cancelAnimationFrame(ye),ye=requestAnimationFrame(()=>{Re||!yt||(Ze=!0,H.scrollTop=H.scrollHeight,At=H.scrollTop,requestAnimationFrame(()=>{Ze=!1}),ye=null)}))))},L=null,le=()=>U.querySelector("#persona-scroll-container")||H,Se=(l,c=500)=>{let A=l.scrollTop,P=l.clientHeight,b=l.scrollHeight,Q=b-A;if(A+P>=b-2||Math.abs(Q)<5)return;L!==null&&(cancelAnimationFrame(L),L=null);let T=performance.now(),G=ve=>1-Math.pow(1-ve,3),Z=ve=>{let N=l.scrollHeight;N!==b&&(b=N,Q=b-A);let Fe=ve-T,Ae=Math.min(Fe/c,1),pe=G(Ae),je=A+Q*pe;l.scrollTop=je,Ae<1?L=requestAnimationFrame(Z):(l.scrollTop=l.scrollHeight,L=null)};L=requestAnimationFrame(Z)},De=l=>{let c=new Map;l.forEach(A=>{let P=Ot.get(A.id);c.set(A.id,{streaming:A.streaming,role:A.role}),!P&&A.role==="assistant"&&s.emit("assistant:message",A),A.role==="assistant"&&(P!=null&&P.streaming)&&A.streaming===!1&&s.emit("assistant:complete",A)}),Ot.clear(),c.forEach((A,P)=>{Ot.set(P,A)})},Ke=(l,c,A)=>{let P=document.createElement("div");c.forEach(T=>{var Fe,Ae;let G=null,Z=r.find(pe=>!!(T.variant==="reasoning"&&pe.renderReasoning||T.variant==="tool"&&pe.renderToolCall||!T.variant&&pe.renderMessage)),ve=(Fe=t.layout)==null?void 0:Fe.messages;if(Z)if(T.variant==="reasoning"&&T.reasoning&&Z.renderReasoning){if(!O)return;G=Z.renderReasoning({message:T,defaultRenderer:()=>vs(T),config:t})}else if(T.variant==="tool"&&T.toolCall&&Z.renderToolCall){if(!C)return;G=Z.renderToolCall({message:T,defaultRenderer:()=>bs(T,t),config:t})}else Z.renderMessage&&(G=Z.renderMessage({message:T,defaultRenderer:()=>{let pe=rn(T,A,ve,t.messageActions,k);return T.role!=="user"&&Cs(pe,T,t,$),pe},config:t}));if(!G&&T.role==="assistant"&&!T.variant&&t.enableComponentStreaming!==!1&&es(T)){let je=ts(T);if(je){let qe=Zn(je,{config:t,message:T,transform:A});if(qe){let rt=document.createElement("div");if(rt.className=["vanilla-message-bubble","tvw-max-w-[85%]","tvw-rounded-2xl","tvw-bg-cw-surface","tvw-border","tvw-border-cw-message-border","tvw-p-4"].join(" "),rt.id=`bubble-${T.id}`,rt.setAttribute("data-message-id",T.id),T.content&&T.content.trim()){let Tt=document.createElement("div");Tt.className="tvw-mb-3 tvw-text-sm tvw-leading-relaxed",Tt.innerHTML=A({text:T.content,message:T,streaming:!!T.streaming,raw:T.rawContent}),rt.appendChild(Tt)}rt.appendChild(qe),G=rt}}}if(!G)if(T.variant==="reasoning"&&T.reasoning){if(!O)return;G=vs(T)}else if(T.variant==="tool"&&T.toolCall){if(!C)return;G=bs(T,t)}else{let pe=(Ae=t.layout)==null?void 0:Ae.messages;pe!=null&&pe.renderUserMessage&&T.role==="user"?G=pe.renderUserMessage({message:T,config:t,streaming:!!T.streaming}):pe!=null&&pe.renderAssistantMessage&&T.role==="assistant"?G=pe.renderAssistantMessage({message:T,config:t,streaming:!!T.streaming}):G=rn(T,A,pe,t.messageActions,k),T.role!=="user"&&G&&Cs(G,T,t,$)}let N=document.createElement("div");N.className="tvw-flex",N.id=`wrapper-${T.id}`,N.setAttribute("data-wrapper-id",T.id),T.role==="user"&&N.classList.add("tvw-justify-end"),N.appendChild(G),P.appendChild(N)});let b=c.some(T=>T.role==="assistant"&&T.streaming),Q=c[c.length-1],ue=(Q==null?void 0:Q.role)==="assistant"&&!Q.streaming;if(wt&&c.some(T=>T.role==="user")&&!b&&!ue){let T=Tn(),G=document.createElement("div");G.className=["tvw-max-w-[85%]","tvw-rounded-2xl","tvw-text-sm","tvw-leading-relaxed","tvw-shadow-sm","tvw-bg-cw-surface","tvw-border","tvw-border-cw-message-border","tvw-text-cw-primary","tvw-px-5","tvw-py-3"].join(" "),G.setAttribute("data-typing-indicator","true"),G.appendChild(T);let Z=document.createElement("div");Z.className="tvw-flex",Z.id="wrapper-typing-indicator",Z.setAttribute("data-wrapper-id","typing-indicator"),Z.appendChild(G),P.appendChild(Z)}Gr(l,P),requestAnimationFrame(()=>{requestAnimationFrame(()=>{let T=le();Se(T)})})},Le=()=>{h&&(I?(U.classList.remove("tvw-pointer-events-none","tvw-opacity-0"),j.classList.remove("tvw-scale-95","tvw-opacity-0"),j.classList.add("tvw-scale-100","tvw-opacity-100"),se?se.element.style.display="none":de&&(de.style.display="none")):(U.classList.add("tvw-pointer-events-none","tvw-opacity-0"),j.classList.remove("tvw-scale-100","tvw-opacity-100"),j.classList.add("tvw-scale-95","tvw-opacity-0"),se?se.element.style.display="":de&&(de.style.display="")))},W=(l,c="user")=>{if(!h||I===l)return;let A=I;I=l,Le(),I&&(mt(),Yt(!0));let P={open:I,source:c,timestamp:Date.now()};I&&!A?s.emit("widget:opened",P):!I&&A&&s.emit("widget:closed",P),s.emit("widget:state",{open:I,launcherEnabled:h,voiceActive:We.active,streaming:$.isStreaming()})},bt=l=>{_.disabled=l,F&&(F.disabled=l),ft.buttons.forEach(c=>{c.disabled=l})},oe=()=>{var b,Q,ue,T,G,Z,ve,N,Fe,Ae,pe,je,qe,rt;Lt.textContent=(Q=(b=t.copy)==null?void 0:b.welcomeTitle)!=null?Q:"Hello \u{1F44B}",Ft.textContent=(T=(ue=t.copy)==null?void 0:ue.welcomeSubtitle)!=null?T:"Ask anything about your account or products.",V.placeholder=(Z=(G=t.copy)==null?void 0:G.inputPlaceholder)!=null?Z:"How can I help...",((N=(ve=t.sendButton)==null?void 0:ve.useIcon)!=null?N:!1)||(_.textContent=(Ae=(Fe=t.copy)==null?void 0:Fe.sendButtonLabel)!=null?Ae:"Send");let c=(je=(pe=t.theme)==null?void 0:pe.inputFontFamily)!=null?je:"sans-serif",A=(rt=(qe=t.theme)==null?void 0:qe.inputFontWeight)!=null?rt:"400",P=Tt=>{switch(Tt){case"serif":return'Georgia, "Times New Roman", Times, serif';case"mono":return'"Courier New", Courier, "Lucida Console", Monaco, monospace';case"sans-serif":default:return'-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif'}};V.style.fontFamily=P(c),V.style.fontWeight=A};t.clientToken&&(t={...t,getStoredSessionId:()=>{let l=a.session_id;return typeof l=="string"?l:null},setStoredSessionId:l=>{f(c=>({...c,session_id:l}))}}),$=new nn(t,{onMessagesChanged(l){Ke(X,l,v),$&&(l.some(P=>P.role==="user")?ft.render([],$,V,l):ft.render(t.suggestionChips,$,V,l,t.suggestionChipsConfig)),Yt(!wt),De(l);let c=[...l].reverse().find(A=>A.role==="user");We.lastUserMessageWasVoice=!!(c!=null&&c.viaVoice),mn(l)},onStatusChanged(l){var P;let c=(P=t.statusIndicator)!=null?P:{},A=b=>{var Q,ue,T,G;return b==="idle"?(Q=c.idleText)!=null?Q:gt.idle:b==="connecting"?(ue=c.connectingText)!=null?ue:gt.connecting:b==="connected"?(T=c.connectedText)!=null?T:gt.connected:b==="error"?(G=c.errorText)!=null?G:gt.error:gt[b]};lt.textContent=A(l)},onStreamingChanged(l){wt=l,bt(l),$&&Ke(X,$.getMessages(),v),l||Yt(!0)}}),d&&d.then(l=>{var c;l&&(l.metadata&&(a=Ms(l.metadata),w.syncFromMetadata()),(c=l.messages)!=null&&c.length&&$.hydrateMessages(l.messages))}).catch(l=>{typeof console!="undefined"&&console.error("[AgentWidget] Failed to hydrate stored state:",l)});let B=l=>{var b;l.preventDefault();let c=V.value.trim(),A=(b=Te==null?void 0:Te.hasAttachments())!=null?b:!1;if(!c&&!A)return;let P;A&&(P=[],P.push(...Te.getContentParts()),c&&P.push(Un(c))),V.value="",V.style.height="auto",$.sendMessage(c,{contentParts:P}),A&&Te.clearAttachments()},E=l=>{l.key==="Enter"&&!l.shiftKey&&(l.preventDefault(),_.click())},z=null,fe=!1,Ee=null,Xe=null,Ie=()=>typeof window=="undefined"?null:window.webkitSpeechRecognition||window.SpeechRecognition||null,_e=(l="user")=>{var Q,ue,T,G;if(fe||$.isStreaming())return;let c=Ie();if(!c)return;z=new c;let P=(ue=((Q=t.voiceRecognition)!=null?Q:{}).pauseDuration)!=null?ue:2e3;z.continuous=!0,z.interimResults=!0,z.lang="en-US";let b=V.value;z.onresult=Z=>{let ve="",N="";for(let Ae=0;Ae<Z.results.length;Ae++){let pe=Z.results[Ae],je=pe[0].transcript;pe.isFinal?ve+=je+" ":N=je}let Fe=b+ve+N;V.value=Fe,Ee&&clearTimeout(Ee),(ve||N)&&(Ee=window.setTimeout(()=>{let Ae=V.value.trim();Ae&&z&&fe&&(ke(),V.value="",V.style.height="auto",$.sendMessage(Ae,{viaVoice:!0}))},P))},z.onerror=Z=>{Z.error!=="no-speech"&&ke()},z.onend=()=>{if(fe){let Z=V.value.trim();Z&&Z!==b.trim()&&(V.value="",V.style.height="auto",$.sendMessage(Z,{viaVoice:!0})),ke()}};try{if(z.start(),fe=!0,We.active=!0,l!=="system"&&(We.manuallyDeactivated=!1),gn(l),Dt(),F){Xe={backgroundColor:F.style.backgroundColor,color:F.style.color,borderColor:F.style.borderColor};let Z=(T=t.voiceRecognition)!=null?T:{},ve=(G=Z.recordingBackgroundColor)!=null?G:"#ef4444",N=Z.recordingIconColor,Fe=Z.recordingBorderColor;if(F.classList.add("tvw-voice-recording"),F.style.backgroundColor=ve,N){F.style.color=N;let Ae=F.querySelector("svg");Ae&&Ae.setAttribute("stroke",N)}Fe&&(F.style.borderColor=Fe),F.setAttribute("aria-label","Stop voice recognition")}}catch{ke("system")}},ke=(l="user")=>{if(fe){if(fe=!1,Ee&&(clearTimeout(Ee),Ee=null),z){try{z.stop()}catch{}z=null}if(We.active=!1,gn(l),Dt(),F){if(F.classList.remove("tvw-voice-recording"),Xe){F.style.backgroundColor=Xe.backgroundColor,F.style.color=Xe.color,F.style.borderColor=Xe.borderColor;let c=F.querySelector("svg");c&&c.setAttribute("stroke",Xe.color||"currentColor"),Xe=null}F.setAttribute("aria-label","Start voice recognition")}}},Ce=(l,c)=>{var je,qe,rt,Tt,ee,Me,Kt;if(!(typeof window!="undefined"&&(typeof window.webkitSpeechRecognition!="undefined"||typeof window.SpeechRecognition!="undefined")))return null;let P=u("div","tvw-send-button-wrapper"),b=u("button","tvw-rounded-button tvw-flex tvw-items-center tvw-justify-center disabled:tvw-opacity-50 tvw-cursor-pointer");b.type="button",b.setAttribute("aria-label","Start voice recognition");let Q=(je=l==null?void 0:l.iconName)!=null?je:"mic",ue=(qe=c==null?void 0:c.size)!=null?qe:"40px",T=(rt=l==null?void 0:l.iconSize)!=null?rt:ue,G=parseFloat(T)||24,Z=(Tt=l==null?void 0:l.backgroundColor)!=null?Tt:c==null?void 0:c.backgroundColor,ve=(ee=l==null?void 0:l.iconColor)!=null?ee:c==null?void 0:c.textColor;b.style.width=T,b.style.height=T,b.style.minWidth=T,b.style.minHeight=T,b.style.fontSize="18px",b.style.lineHeight="1";let N=ve||"currentColor",Fe=re(Q,G,N,1.5);Fe?(b.appendChild(Fe),b.style.color=N):(b.textContent="\u{1F3A4}",b.style.color=N),Z?b.style.backgroundColor=Z:b.classList.add("tvw-bg-cw-primary"),ve?b.style.color=ve:!ve&&!(c!=null&&c.textColor)&&b.classList.add("tvw-text-white"),l!=null&&l.borderWidth&&(b.style.borderWidth=l.borderWidth,b.style.borderStyle="solid"),l!=null&&l.borderColor&&(b.style.borderColor=l.borderColor),l!=null&&l.paddingX&&(b.style.paddingLeft=l.paddingX,b.style.paddingRight=l.paddingX),l!=null&&l.paddingY&&(b.style.paddingTop=l.paddingY,b.style.paddingBottom=l.paddingY),P.appendChild(b);let Ae=(Me=l==null?void 0:l.tooltipText)!=null?Me:"Start voice recognition";if(((Kt=l==null?void 0:l.showTooltip)!=null?Kt:!1)&&Ae){let Xt=u("div","tvw-send-button-tooltip");Xt.textContent=Ae,P.appendChild(Xt)}return{micButton:b,micButtonWrapper:P}},xe=()=>{if(fe){let l=V.value.trim();We.manuallyDeactivated=!0,Dt(),ke("user"),l&&(V.value="",V.style.height="auto",$.sendMessage(l))}else We.manuallyDeactivated=!1,Dt(),_e("user")};F&&(F.addEventListener("click",xe),He.push(()=>{ke("system"),F&&F.removeEventListener("click",xe)}));let Ve=s.on("assistant:complete",()=>{pn&&(We.active||We.manuallyDeactivated||pn==="assistant"&&!We.lastUserMessageWasVoice||setTimeout(()=>{!We.active&&!We.manuallyDeactivated&&_e("auto")},600))});He.push(Ve);let ce=()=>{W(!I,"user")},se=null,de=null;if(h){let l=r.find(c=>c.renderLauncher);if(l!=null&&l.renderLauncher){let c=l.renderLauncher({config:t,defaultRenderer:()=>An(t,ce).element,onToggle:ce});c&&(de=c)}de||(se=An(t,ce))}se?e.appendChild(se.element):de&&e.appendChild(de),Le(),ft.render(t.suggestionChips,$,V,void 0,t.suggestionChipsConfig),oe(),bt($.isStreaming()),Yt(!0),Wn();let mt=()=>{var A,P,b,Q,ue,T,G,Z;let l=(P=(A=t.launcher)==null?void 0:A.sidebarMode)!=null?P:!1,c=l||((Q=(b=t.launcher)==null?void 0:b.fullHeight)!=null?Q:!1);if(!h){j.style.height="",j.style.width="";return}if(!l){let ve=(T=(ue=t==null?void 0:t.launcher)==null?void 0:ue.width)!=null?T:t==null?void 0:t.launcherWidth,N=ve!=null?ve:"min(400px, calc(100vw - 24px))";j.style.width=N,j.style.maxWidth=N}if(!c){let ve=window.innerHeight,N=64,Fe=(Z=(G=t.launcher)==null?void 0:G.heightOffset)!=null?Z:0,Ae=Math.max(200,ve-N),pe=Math.min(640,Ae),je=Math.max(200,pe-Fe);j.style.height=`${je}px`}};mt(),window.addEventListener("resize",mt),He.push(()=>window.removeEventListener("resize",mt)),At=H.scrollTop;let Ps=()=>{let l=H.scrollTop,c=H.scrollHeight,A=H.clientHeight,P=c-l-A,b=Math.abs(l-At);if(At=l,!Ze&&!(b<=Nt)){if(!yt&&P<tn){Re=!1,yt=!0;return}yt&&P>tn&&(Re=!0,vt=Date.now()+It,yt=!1)}};H.addEventListener("scroll",Ps,{passive:!0}),He.push(()=>H.removeEventListener("scroll",Ps)),He.push(()=>{ye&&cancelAnimationFrame(ye)});let Hs=()=>{q&&(ot&&(q.removeEventListener("click",ot),ot=null),h?(q.style.display="",ot=()=>{I=!1,Le()},q.addEventListener("click",ot)):q.style.display="none")};Hs(),(()=>{let{clearChatButton:l}=D;l&&l.addEventListener("click",()=>{$.clearMessages();try{localStorage.removeItem(un),t.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${un}`)}catch(A){console.error("[AgentWidget] Failed to clear default localStorage:",A)}if(t.clearChatHistoryStorageKey&&t.clearChatHistoryStorageKey!==un)try{localStorage.removeItem(t.clearChatHistoryStorageKey),t.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${t.clearChatHistoryStorageKey}`)}catch(A){console.error("[AgentWidget] Failed to clear custom localStorage:",A)}let c=new CustomEvent("persona:clear-chat",{detail:{timestamp:new Date().toISOString()}});if(window.dispatchEvent(c),i!=null&&i.clear)try{let A=i.clear();A instanceof Promise&&A.catch(P=>{typeof console!="undefined"&&console.error("[AgentWidget] Failed to clear storage adapter:",P)})}catch(A){typeof console!="undefined"&&console.error("[AgentWidget] Failed to clear storage adapter:",A)}a={},w.syncFromMetadata()})})(),at.addEventListener("submit",B),V.addEventListener("keydown",E),He.push(()=>{at.removeEventListener("submit",B),V.removeEventListener("keydown",E)}),He.push(()=>{$.cancel()}),se?He.push(()=>{se==null||se.destroy()}):de&&He.push(()=>{de==null||de.remove()});let _t={update(l){var Vs,Gs,Qs,Zs,eo,to,no,so,oo,ro,io,ao,lo,co,uo,po,go,mo,ho,fo,wo,yo,vo,bo,Co,xo,So,Ao,To,Eo,Mo,ko,Wo,Lo,Po,Ho,Bo,Io,Ro,Fo,$o,No,Oo,Do,_o,jo,qo,zo,Uo,Jo,Yo,Ko,Xo,Vo,Go,Qo,Zo,er,tr,nr,sr,or,rr,ir,ar,lr,dr,cr,ur,pr,gr,mr,hr,fr,wr,yr,vr,br,Cr,xr,Sr,Ar;let c=t.toolCall,A=t.colorScheme;t={...t,...l},Qe(),Kn(e,t),t.colorScheme!==A&&kt();let P=En.getForInstance(t.plugins);if(r.length=0,r.push(...P),h=(Gs=(Vs=t.launcher)==null?void 0:Vs.enabled)!=null?Gs:!0,R=(Zs=(Qs=t.launcher)==null?void 0:Qs.autoExpand)!=null?Zs:!1,O=(to=(eo=t.features)==null?void 0:eo.showReasoning)!=null?to:!0,C=(so=(no=t.features)==null?void 0:no.showToolCalls)!=null?so:!0,((oo=t.launcher)==null?void 0:oo.enabled)===!1&&se&&(se.destroy(),se=null),((ro=t.launcher)==null?void 0:ro.enabled)===!1&&de&&(de.remove(),de=null),((io=t.launcher)==null?void 0:io.enabled)!==!1&&!se&&!de){let x=r.find(ge=>ge.renderLauncher);if(x!=null&&x.renderLauncher){let ge=x.renderLauncher({config:t,defaultRenderer:()=>An(t,ce).element,onToggle:ce});ge&&(de=ge,e.appendChild(de))}de||(se=An(t,ce),e.appendChild(se.element))}se&&se.update(t),dt&&((ao=t.launcher)==null?void 0:ao.title)!==void 0&&(dt.textContent=t.launcher.title),ct&&((lo=t.launcher)==null?void 0:lo.subtitle)!==void 0&&(ct.textContent=t.launcher.subtitle);let b=(co=t.layout)==null?void 0:co.header;if((b==null?void 0:b.layout)!==S&&Ue){let x=b?sn(t,b,{showClose:h,onClose:()=>W(!1,"user")}):qt({config:t,showClose:h,onClose:()=>W(!1,"user")});Ue.replaceWith(x.header),Ue=x.header,we=x.iconHolder,dt=x.headerTitle,ct=x.headerSubtitle,q=x.closeButton,S=b==null?void 0:b.layout}else if(b&&(we&&(we.style.display=b.showIcon===!1?"none":""),dt&&(dt.style.display=b.showTitle===!1?"none":""),ct&&(ct.style.display=b.showSubtitle===!1?"none":""),q&&(q.style.display=b.showCloseButton===!1?"none":""),D.clearChatButtonWrapper)){let x=b.showClearChat;if(x!==void 0){D.clearChatButtonWrapper.style.display=x?"":"none";let{closeButtonWrapper:ge}=D;ge&&!ge.classList.contains("tvw-absolute")&&(x?ge.classList.remove("tvw-ml-auto"):ge.classList.add("tvw-ml-auto"))}}let ue=((uo=t.layout)==null?void 0:uo.showHeader)!==!1;Ue&&(Ue.style.display=ue?"":"none");let T=((po=t.layout)==null?void 0:po.showFooter)!==!1;ut&&(ut.style.display=T?"":"none"),h!==y?h?W(R,"auto"):(I=!0,Le()):R!==M&&W(R,"auto"),M=R,y=h,mt(),Hs(),JSON.stringify(l.toolCall)!==JSON.stringify(c)&&$&&Ke(X,$.getMessages(),v);let N=(go=t.launcher)!=null?go:{},Fe=(mo=N.headerIconHidden)!=null?mo:!1,Ae=(fo=(ho=t.layout)==null?void 0:ho.header)==null?void 0:fo.showIcon,pe=Fe||Ae===!1,je=N.headerIconName,qe=(wo=N.headerIconSize)!=null?wo:"48px";if(we){let x=Y.querySelector(".tvw-border-b-cw-divider"),ge=x==null?void 0:x.querySelector(".tvw-flex-col");if(pe)we.style.display="none",x&&ge&&!x.contains(ge)&&x.insertBefore(ge,x.firstChild);else{if(we.style.display="",we.style.height=qe,we.style.width=qe,x&&ge&&(x.contains(we)?we.nextSibling!==ge&&(we.remove(),x.insertBefore(we,ge)):x.insertBefore(we,ge)),je){let ne=parseFloat(qe)||24,be=re(je,ne*.6,"#ffffff",2);be?we.replaceChildren(be):we.textContent=(yo=N.agentIconText)!=null?yo:"\u{1F4AC}"}else if(N.iconUrl){let ne=we.querySelector("img");if(ne)ne.src=N.iconUrl,ne.style.height=qe,ne.style.width=qe;else{let be=document.createElement("img");be.src=N.iconUrl,be.alt="",be.className="tvw-rounded-xl tvw-object-cover",be.style.height=qe,be.style.width=qe,we.replaceChildren(be)}}else{let ne=we.querySelector("svg"),be=we.querySelector("img");(ne||be)&&we.replaceChildren(),we.textContent=(vo=N.agentIconText)!=null?vo:"\u{1F4AC}"}let $e=we.querySelector("img");$e&&($e.style.height=qe,$e.style.width=qe)}}let rt=(Co=(bo=t.layout)==null?void 0:bo.header)==null?void 0:Co.showTitle,Tt=(So=(xo=t.layout)==null?void 0:xo.header)==null?void 0:So.showSubtitle;if(dt&&(dt.style.display=rt===!1?"none":""),ct&&(ct.style.display=Tt===!1?"none":""),q){((To=(Ao=t.layout)==null?void 0:Ao.header)==null?void 0:To.showCloseButton)===!1?q.style.display="none":q.style.display="";let ge=(Eo=N.closeButtonSize)!=null?Eo:"32px",$e=(Mo=N.closeButtonPlacement)!=null?Mo:"inline";q.style.height=ge,q.style.width=ge;let{closeButtonWrapper:ne}=D,be=$e==="top-right",pt=ne==null?void 0:ne.classList.contains("tvw-absolute");if(ne&&be!==pt)if(ne.remove(),be)ne.className="tvw-absolute tvw-top-4 tvw-right-4 tvw-z-50",Y.style.position="relative",Y.appendChild(ne);else{let ie=(Wo=(ko=N.clearChat)==null?void 0:ko.placement)!=null?Wo:"inline",Ge=(Po=(Lo=N.clearChat)==null?void 0:Lo.enabled)!=null?Po:!0;ne.className=Ge&&ie==="inline"?"":"tvw-ml-auto";let Ct=Y.querySelector(".tvw-border-b-cw-divider");Ct&&Ct.appendChild(ne)}if(N.closeButtonColor?(q.style.color=N.closeButtonColor,q.classList.remove("tvw-text-cw-muted")):(q.style.color="",q.classList.add("tvw-text-cw-muted")),N.closeButtonBackgroundColor?(q.style.backgroundColor=N.closeButtonBackgroundColor,q.classList.remove("hover:tvw-bg-gray-100")):(q.style.backgroundColor="",q.classList.add("hover:tvw-bg-gray-100")),N.closeButtonBorderWidth||N.closeButtonBorderColor){let ie=N.closeButtonBorderWidth||"0px",Ge=N.closeButtonBorderColor||"transparent";q.style.border=`${ie} solid ${Ge}`,q.classList.remove("tvw-border-none")}else q.style.border="",q.classList.add("tvw-border-none");N.closeButtonBorderRadius?(q.style.borderRadius=N.closeButtonBorderRadius,q.classList.remove("tvw-rounded-full")):(q.style.borderRadius="",q.classList.add("tvw-rounded-full")),N.closeButtonPaddingX?(q.style.paddingLeft=N.closeButtonPaddingX,q.style.paddingRight=N.closeButtonPaddingX):(q.style.paddingLeft="",q.style.paddingRight=""),N.closeButtonPaddingY?(q.style.paddingTop=N.closeButtonPaddingY,q.style.paddingBottom=N.closeButtonPaddingY):(q.style.paddingTop="",q.style.paddingBottom="");let it=(Ho=N.closeButtonIconName)!=null?Ho:"x",Et=(Bo=N.closeButtonIconText)!=null?Bo:"\xD7";q.innerHTML="";let ht=re(it,"20px",N.closeButtonColor||"",2);ht?q.appendChild(ht):q.textContent=Et;let Ne=(Io=N.closeButtonTooltipText)!=null?Io:"Close chat",Mt=(Ro=N.closeButtonShowTooltip)!=null?Ro:!0;if(q.setAttribute("aria-label",Ne),ne&&(ne._cleanupTooltip&&(ne._cleanupTooltip(),delete ne._cleanupTooltip),Mt&&Ne)){let ie=null,Ge=()=>{if(ie||!q)return;ie=u("div","tvw-clear-chat-tooltip"),ie.textContent=Ne;let Cn=u("div");Cn.className="tvw-clear-chat-tooltip-arrow",ie.appendChild(Cn);let Vt=q.getBoundingClientRect();ie.style.position="fixed",ie.style.left=`${Vt.left+Vt.width/2}px`,ie.style.top=`${Vt.top-8}px`,ie.style.transform="translate(-50%, -100%)",document.body.appendChild(ie)},Ct=()=>{ie&&ie.parentNode&&(ie.parentNode.removeChild(ie),ie=null)};ne.addEventListener("mouseenter",Ge),ne.addEventListener("mouseleave",Ct),q.addEventListener("focus",Ge),q.addEventListener("blur",Ct),ne._cleanupTooltip=()=>{Ct(),ne&&(ne.removeEventListener("mouseenter",Ge),ne.removeEventListener("mouseleave",Ct)),q&&(q.removeEventListener("focus",Ge),q.removeEventListener("blur",Ct))}}}let{clearChatButton:ee,clearChatButtonWrapper:Me}=D;if(ee){let x=(Fo=N.clearChat)!=null?Fo:{},ge=($o=x.enabled)!=null?$o:!0,$e=(Oo=(No=t.layout)==null?void 0:No.header)==null?void 0:Oo.showClearChat,ne=$e!==void 0?$e:ge,be=(Do=x.placement)!=null?Do:"inline";if(Me){Me.style.display=ne?"":"none";let{closeButtonWrapper:pt}=D;pt&&!pt.classList.contains("tvw-absolute")&&(ne?pt.classList.remove("tvw-ml-auto"):pt.classList.add("tvw-ml-auto"));let it=be==="top-right",Et=Me.classList.contains("tvw-absolute");if(it!==Et&&ne){if(Me.remove(),it)Me.className="tvw-absolute tvw-top-4 tvw-z-50",Me.style.right="48px",Y.style.position="relative",Y.appendChild(Me);else{Me.className="tvw-relative tvw-ml-auto tvw-clear-chat-button-wrapper",Me.style.right="";let Ne=Y.querySelector(".tvw-border-b-cw-divider"),Mt=D.closeButtonWrapper;Ne&&Mt&&Mt.parentElement===Ne?Ne.insertBefore(Me,Mt):Ne&&Ne.appendChild(Me)}let ht=D.closeButtonWrapper;ht&&!ht.classList.contains("tvw-absolute")&&(it?ht.classList.add("tvw-ml-auto"):ht.classList.remove("tvw-ml-auto"))}}if(ne){let pt=(_o=x.size)!=null?_o:"32px";ee.style.height=pt,ee.style.width=pt;let it=(jo=x.iconName)!=null?jo:"refresh-cw",Et=(qo=x.iconColor)!=null?qo:"";ee.innerHTML="";let ht=re(it,"20px",Et||"",2);if(ht&&ee.appendChild(ht),Et?(ee.style.color=Et,ee.classList.remove("tvw-text-cw-muted")):(ee.style.color="",ee.classList.add("tvw-text-cw-muted")),x.backgroundColor?(ee.style.backgroundColor=x.backgroundColor,ee.classList.remove("hover:tvw-bg-gray-100")):(ee.style.backgroundColor="",ee.classList.add("hover:tvw-bg-gray-100")),x.borderWidth||x.borderColor){let ie=x.borderWidth||"0px",Ge=x.borderColor||"transparent";ee.style.border=`${ie} solid ${Ge}`,ee.classList.remove("tvw-border-none")}else ee.style.border="",ee.classList.add("tvw-border-none");x.borderRadius?(ee.style.borderRadius=x.borderRadius,ee.classList.remove("tvw-rounded-full")):(ee.style.borderRadius="",ee.classList.add("tvw-rounded-full")),x.paddingX?(ee.style.paddingLeft=x.paddingX,ee.style.paddingRight=x.paddingX):(ee.style.paddingLeft="",ee.style.paddingRight=""),x.paddingY?(ee.style.paddingTop=x.paddingY,ee.style.paddingBottom=x.paddingY):(ee.style.paddingTop="",ee.style.paddingBottom="");let Ne=(zo=x.tooltipText)!=null?zo:"Clear chat",Mt=(Uo=x.showTooltip)!=null?Uo:!0;if(ee.setAttribute("aria-label",Ne),Me&&(Me._cleanupTooltip&&(Me._cleanupTooltip(),delete Me._cleanupTooltip),Mt&&Ne)){let ie=null,Ge=()=>{if(ie||!ee)return;ie=u("div","tvw-clear-chat-tooltip"),ie.textContent=Ne;let Cn=u("div");Cn.className="tvw-clear-chat-tooltip-arrow",ie.appendChild(Cn);let Vt=ee.getBoundingClientRect();ie.style.position="fixed",ie.style.left=`${Vt.left+Vt.width/2}px`,ie.style.top=`${Vt.top-8}px`,ie.style.transform="translate(-50%, -100%)",document.body.appendChild(ie)},Ct=()=>{ie&&ie.parentNode&&(ie.parentNode.removeChild(ie),ie=null)};Me.addEventListener("mouseenter",Ge),Me.addEventListener("mouseleave",Ct),ee.addEventListener("focus",Ge),ee.addEventListener("blur",Ct),Me._cleanupTooltip=()=>{Ct(),Me&&(Me.removeEventListener("mouseenter",Ge),Me.removeEventListener("mouseleave",Ct)),ee&&(ee.removeEventListener("focus",Ge),ee.removeEventListener("blur",Ct))}}}}let Kt=t.actionParsers&&t.actionParsers.length?t.actionParsers:[Mn],Xt=t.actionHandlers&&t.actionHandlers.length?t.actionHandlers:[en.message,en.messageAndClick];w=kn({parsers:Kt,handlers:Xt,getSessionMetadata:p,updateSessionMetadata:f,emit:s.emit,documentRef:typeof document!="undefined"?document:null}),v=ui(t,w),$.updateConfig(t),Ke(X,$.getMessages(),v),ft.render(t.suggestionChips,$,V,void 0,t.suggestionChipsConfig),oe(),bt($.isStreaming());let Pn=((Jo=t.voiceRecognition)==null?void 0:Jo.enabled)===!0,Hn=typeof window!="undefined"&&(typeof window.webkitSpeechRecognition!="undefined"||typeof window.SpeechRecognition!="undefined");if(Pn&&Hn)if(!F||!Oe){let x=Ce(t.voiceRecognition,t.sendButton);x&&(F=x.micButton,Oe=x.micButtonWrapper,Ht.insertBefore(Oe,tt),F.addEventListener("click",xe),F.disabled=$.isStreaming())}else{let x=(Yo=t.voiceRecognition)!=null?Yo:{},ge=(Ko=t.sendButton)!=null?Ko:{},$e=(Xo=x.iconName)!=null?Xo:"mic",ne=(Vo=ge.size)!=null?Vo:"40px",be=(Go=x.iconSize)!=null?Go:ne,pt=parseFloat(be)||24;F.style.width=be,F.style.height=be,F.style.minWidth=be,F.style.minHeight=be;let it=(Zo=(Qo=x.iconColor)!=null?Qo:ge.textColor)!=null?Zo:"currentColor";F.innerHTML="";let Et=re($e,pt,it,2);Et?F.appendChild(Et):F.textContent="\u{1F3A4}";let ht=(er=x.backgroundColor)!=null?er:ge.backgroundColor;ht?(F.style.backgroundColor=ht,F.classList.remove("tvw-bg-cw-primary")):(F.style.backgroundColor="",F.classList.add("tvw-bg-cw-primary")),it?(F.style.color=it,F.classList.remove("tvw-text-white")):!it&&!ge.textColor&&(F.style.color="",F.classList.add("tvw-text-white")),x.borderWidth?(F.style.borderWidth=x.borderWidth,F.style.borderStyle="solid"):(F.style.borderWidth="",F.style.borderStyle=""),x.borderColor?F.style.borderColor=x.borderColor:F.style.borderColor="",x.paddingX?(F.style.paddingLeft=x.paddingX,F.style.paddingRight=x.paddingX):(F.style.paddingLeft="",F.style.paddingRight=""),x.paddingY?(F.style.paddingTop=x.paddingY,F.style.paddingBottom=x.paddingY):(F.style.paddingTop="",F.style.paddingBottom="");let Ne=Oe==null?void 0:Oe.querySelector(".tvw-send-button-tooltip"),Mt=(tr=x.tooltipText)!=null?tr:"Start voice recognition";if(((nr=x.showTooltip)!=null?nr:!1)&&Mt)if(Ne)Ne.textContent=Mt,Ne.style.display="";else{let Ge=document.createElement("div");Ge.className="tvw-send-button-tooltip",Ge.textContent=Mt,Oe==null||Oe.insertBefore(Ge,F)}else Ne&&(Ne.style.display="none");Oe.style.display="",F.disabled=$.isStreaming()}else F&&Oe&&(Oe.style.display="none",fe&&ke());if(((sr=t.attachments)==null?void 0:sr.enabled)===!0)if(!nt||!me){let x=(or=t.attachments)!=null?or:{},$e=(ir=((rr=t.sendButton)!=null?rr:{}).size)!=null?ir:"40px";st||(st=u("div","tvw-attachment-previews tvw-flex tvw-flex-wrap tvw-gap-2 tvw-mb-2"),st.style.display="none",at.insertBefore(st,V)),he||(he=document.createElement("input"),he.type="file",he.accept=((ar=x.allowedTypes)!=null?ar:Jt).join(","),he.multiple=((lr=x.maxFiles)!=null?lr:4)>1,he.style.display="none",he.setAttribute("aria-label","Attach files"),at.insertBefore(he,V)),nt=u("div","tvw-send-button-wrapper"),me=u("button","tvw-rounded-button tvw-flex tvw-items-center tvw-justify-center disabled:tvw-opacity-50 tvw-cursor-pointer tvw-attachment-button"),me.type="button",me.setAttribute("aria-label",(dr=x.buttonTooltipText)!=null?dr:"Attach file");let ne=(cr=x.buttonIconName)!=null?cr:"paperclip",be=$e,pt=parseFloat(be)||40,it=Math.round(pt*.6);me.style.width=be,me.style.height=be,me.style.minWidth=be,me.style.minHeight=be,me.style.fontSize="18px",me.style.lineHeight="1",me.style.backgroundColor="transparent",me.style.color="var(--cw-primary, #111827)",me.style.border="none",me.style.borderRadius="6px",me.style.transition="background-color 0.15s ease",me.addEventListener("mouseenter",()=>{me.style.backgroundColor="rgba(0, 0, 0, 0.05)"}),me.addEventListener("mouseleave",()=>{me.style.backgroundColor="transparent"});let Et=re(ne,it,"currentColor",1.5);Et?me.appendChild(Et):me.textContent="\u{1F4CE}",me.addEventListener("click",Mt=>{Mt.preventDefault(),he==null||he.click()}),nt.appendChild(me);let ht=(ur=x.buttonTooltipText)!=null?ur:"Attach file",Ne=u("div","tvw-send-button-tooltip");Ne.textContent=ht,nt.appendChild(Ne),Pt.append(nt),!Te&&he&&st&&(Te=Qt.fromConfig(x),Te.setPreviewsContainer(st),he.addEventListener("change",async()=>{Te&&(he!=null&&he.files)&&(await Te.handleFileSelect(he.files),he.value="")}))}else{nt.style.display="";let x=(pr=t.attachments)!=null?pr:{};he&&(he.accept=((gr=x.allowedTypes)!=null?gr:Jt).join(","),he.multiple=((mr=x.maxFiles)!=null?mr:4)>1),Te&&Te.updateConfig({allowedTypes:x.allowedTypes,maxFileSize:x.maxFileSize,maxFiles:x.maxFiles})}else nt&&(nt.style.display="none"),Te&&Te.clearAttachments();let ze=(hr=t.sendButton)!=null?hr:{},Bn=(fr=ze.useIcon)!=null?fr:!1,hn=(wr=ze.iconText)!=null?wr:"\u2191",fn=ze.iconName,Ut=(yr=ze.tooltipText)!=null?yr:"Send message",wn=(vr=ze.showTooltip)!=null?vr:!1,yn=(br=ze.size)!=null?br:"40px",In=ze.backgroundColor,Rt=ze.textColor;if(Bn){if(_.style.width=yn,_.style.height=yn,_.style.minWidth=yn,_.style.minHeight=yn,_.style.fontSize="18px",_.style.lineHeight="1",_.innerHTML="",fn){let x=parseFloat(yn)||24,ge=Rt&&typeof Rt=="string"&&Rt.trim()?Rt.trim():"currentColor",$e=re(fn,x,ge,2);$e?(_.appendChild($e),_.style.color=ge):(_.textContent=hn,Rt?_.style.color=Rt:_.classList.add("tvw-text-white"))}else _.textContent=hn,Rt?_.style.color=Rt:_.classList.add("tvw-text-white");_.className="tvw-rounded-button tvw-flex tvw-items-center tvw-justify-center disabled:tvw-opacity-50 tvw-cursor-pointer",In?(_.style.backgroundColor=In,_.classList.remove("tvw-bg-cw-primary")):_.classList.add("tvw-bg-cw-primary")}else _.textContent=(xr=(Cr=t.copy)==null?void 0:Cr.sendButtonLabel)!=null?xr:"Send",_.style.width="",_.style.height="",_.style.minWidth="",_.style.minHeight="",_.style.fontSize="",_.style.lineHeight="",_.className="tvw-rounded-button tvw-bg-cw-accent tvw-px-4 tvw-py-2 tvw-text-sm tvw-font-semibold tvw-text-white disabled:tvw-opacity-50 tvw-cursor-pointer",In?(_.style.backgroundColor=In,_.classList.remove("tvw-bg-cw-accent")):_.classList.add("tvw-bg-cw-accent"),Rt?_.style.color=Rt:_.classList.add("tvw-text-white");ze.borderWidth?(_.style.borderWidth=ze.borderWidth,_.style.borderStyle="solid"):(_.style.borderWidth="",_.style.borderStyle=""),ze.borderColor?_.style.borderColor=ze.borderColor:_.style.borderColor="",ze.paddingX?(_.style.paddingLeft=ze.paddingX,_.style.paddingRight=ze.paddingX):(_.style.paddingLeft="",_.style.paddingRight=""),ze.paddingY?(_.style.paddingTop=ze.paddingY,_.style.paddingBottom=ze.paddingY):(_.style.paddingTop="",_.style.paddingBottom="");let vn=tt==null?void 0:tt.querySelector(".tvw-send-button-tooltip");if(wn&&Ut)if(vn)vn.textContent=Ut,vn.style.display="";else{let x=document.createElement("div");x.className="tvw-send-button-tooltip",x.textContent=Ut,tt==null||tt.insertBefore(x,_)}else vn&&(vn.style.display="none");let bn=(Sr=t.statusIndicator)!=null?Sr:{},vi=(Ar=bn.visible)!=null?Ar:!0;if(lt.style.display=vi?"":"none",$){let x=$.getStatus(),ge=$e=>{var ne,be,pt,it;return $e==="idle"?(ne=bn.idleText)!=null?ne:gt.idle:$e==="connecting"?(be=bn.connectingText)!=null?be:gt.connecting:$e==="connected"?(pt=bn.connectedText)!=null?pt:gt.connected:$e==="error"?(it=bn.errorText)!=null?it:gt.error:gt[$e]};lt.textContent=ge(x)}},open(){h&&W(!0,"api")},close(){h&&W(!1,"api")},toggle(){h&&W(!I,"api")},clearChat(){$.clearMessages();try{localStorage.removeItem(un),t.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${un}`)}catch(c){console.error("[AgentWidget] Failed to clear default localStorage:",c)}if(t.clearChatHistoryStorageKey&&t.clearChatHistoryStorageKey!==un)try{localStorage.removeItem(t.clearChatHistoryStorageKey),t.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${t.clearChatHistoryStorageKey}`)}catch(c){console.error("[AgentWidget] Failed to clear custom localStorage:",c)}let l=new CustomEvent("persona:clear-chat",{detail:{timestamp:new Date().toISOString()}});if(window.dispatchEvent(l),i!=null&&i.clear)try{let c=i.clear();c instanceof Promise&&c.catch(A=>{typeof console!="undefined"&&console.error("[AgentWidget] Failed to clear storage adapter:",A)})}catch(c){typeof console!="undefined"&&console.error("[AgentWidget] Failed to clear storage adapter:",c)}a={},w.syncFromMetadata()},setMessage(l){return!V||$.isStreaming()?!1:(!I&&h&&W(!0,"system"),V.value=l,V.dispatchEvent(new Event("input",{bubbles:!0})),!0)},submitMessage(l){if($.isStreaming())return!1;let c=(l==null?void 0:l.trim())||V.value.trim();return c?(!I&&h&&W(!0,"system"),V.value="",V.style.height="auto",$.sendMessage(c),!0):!1},startVoiceRecognition(){return fe||$.isStreaming()||!Ie()?!1:(!I&&h&&W(!0,"system"),We.manuallyDeactivated=!1,Dt(),_e("user"),!0)},stopVoiceRecognition(){return fe?(We.manuallyDeactivated=!0,Dt(),ke("user"),!0):!1},injectTestMessage(l){!I&&h&&W(!0,"system"),$.injectTestEvent(l)},getMessages(){return $.getMessages()},getStatus(){return $.getStatus()},getPersistentMetadata(){return{...a}},updatePersistentMetadata(l){f(l)},on(l,c){return s.on(l,c)},off(l,c){s.off(l,c)},isOpen(){return h&&I},isVoiceActive(){return We.active},getState(){return{open:h&&I,launcherEnabled:h,voiceActive:We.active,streaming:$.isStreaming()}},showCSATFeedback(l){!I&&h&&W(!0,"system");let c=X.querySelector(".tvw-feedback-container");c&&c.remove();let A=ns({onSubmit:async(P,b)=>{var Q;$.isClientTokenMode()&&await $.submitCSATFeedback(P,b),(Q=l==null?void 0:l.onSubmit)==null||Q.call(l,P,b)},onDismiss:l==null?void 0:l.onDismiss,...l});X.appendChild(A),A.scrollIntoView({behavior:"smooth",block:"end"})},showNPSFeedback(l){!I&&h&&W(!0,"system");let c=X.querySelector(".tvw-feedback-container");c&&c.remove();let A=ss({onSubmit:async(P,b)=>{var Q;$.isClientTokenMode()&&await $.submitNPSFeedback(P,b),(Q=l==null?void 0:l.onSubmit)==null||Q.call(l,P,b)},onDismiss:l==null?void 0:l.onDismiss,...l});X.appendChild(A),A.scrollIntoView({behavior:"smooth",block:"end"})},async submitCSATFeedback(l,c){return $.submitCSATFeedback(l,c)},async submitNPSFeedback(l,c){return $.submitNPSFeedback(l,c)},destroy(){He.forEach(l=>l()),U.remove(),se==null||se.destroy(),de==null||de.remove(),ot&&q.removeEventListener("click",ot)}};if((((Xs=o==null?void 0:o.debugTools)!=null?Xs:!1)||!!t.debug)&&typeof window!="undefined"){let l=window.AgentWidgetBrowser,c={controller:_t,getMessages:_t.getMessages,getStatus:_t.getStatus,getMetadata:_t.getPersistentMetadata,updateMetadata:_t.updatePersistentMetadata,clearHistory:()=>_t.clearChat(),setVoiceActive:A=>A?_t.startVoiceRecognition():_t.stopVoiceRecognition()};window.AgentWidgetBrowser=c,He.push(()=>{window.AgentWidgetBrowser===c&&(window.AgentWidgetBrowser=l)})}return _t};var ks={},ea=e=>{if(typeof window=="undefined"||typeof document=="undefined")throw new Error("Chat widget can only be mounted in a browser environment");if(typeof e=="string"){let n=document.querySelector(e);if(!n)throw new Error(`Chat widget target "${e}" was not found`);return n}return e},ta=()=>{try{if(typeof ks!="undefined"&&ks.url)return new URL("../widget.css",ks.url).href}catch{}return null},pi=e=>{let n=ta(),o=()=>{if(!(e instanceof ShadowRoot)||e.querySelector("link[data-persona]"))return;let t=document.head.querySelector("link[data-persona]");if(!t)return;let r=t.cloneNode(!0);e.insertBefore(r,e.firstChild)};if(e instanceof ShadowRoot)if(n){let t=document.createElement("link");t.rel="stylesheet",t.href=n,t.setAttribute("data-persona","true"),e.insertBefore(t,e.firstChild)}else o();else if(!document.head.querySelector("link[data-persona]")&&n){let r=document.createElement("link");r.rel="stylesheet",r.href=n,r.setAttribute("data-persona","true"),document.head.appendChild(r)}},Ws=e=>{var p,f,m,g;let n=ea(e.target),o=document.createElement("div");o.className="persona-host";let t=(m=(f=(p=e.config)==null?void 0:p.launcher)==null?void 0:f.enabled)!=null?m:!0;t||(o.style.height="100%"),n.appendChild(o);let r=e.useShadowDom===!0,s,i;if(r){let w=o.attachShadow({mode:"open"});i=w,s=document.createElement("div"),s.id="persona-root",t||(s.style.height="100%",s.style.display="flex",s.style.flexDirection="column",s.style.flex="1",s.style.minHeight="0"),w.appendChild(s),pi(w)}else i=o,s=document.createElement("div"),s.id="persona-root",t||(s.style.height="100%",s.style.display="flex",s.style.flexDirection="column",s.style.flex="1",s.style.minHeight="0"),o.appendChild(s),pi(o);let a=os(s,e.config,{debugTools:e.debugTools});(g=e.onReady)==null||g.call(e);let d={...a,host:o,destroy(){a.destroy(),o.remove(),e.windowKey&&typeof window!="undefined"&&delete window[e.windowKey]}};return e.windowKey&&typeof window!="undefined"&&(window[e.windowKey]=d),d};function zt(e){if(e!==void 0)return typeof e=="string"?e:Array.isArray(e)?`[${e.map(n=>n.toString()).join(", ")}]`:e.toString()}function na(e){if(e)return{getHeaders:zt(e.getHeaders),onFeedback:zt(e.onFeedback),onCopy:zt(e.onCopy),requestMiddleware:zt(e.requestMiddleware),actionHandlers:zt(e.actionHandlers),actionParsers:zt(e.actionParsers),postprocessMessage:zt(e.postprocessMessage),contextProviders:zt(e.contextProviders),streamParser:zt(e.streamParser)}}var gi=`({ text, message }: any) => {
61
61
  const jsonSource = (message as any).rawContent || text || message.content;
62
62
  if (!jsonSource || typeof jsonSource !== 'string') return null;
63
63
  let cleanJson = jsonSource