@runtypelabs/persona 1.43.2 → 1.43.4
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 +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.global.js +1 -1
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -57,7 +57,7 @@ import{Marked as Gi}from"marked";var Qi=e=>{if(e)return e},cs=e=>{var o,s;let n=
|
|
|
57
57
|
flex-shrink: 0 !important;
|
|
58
58
|
border-top: none !important;
|
|
59
59
|
padding: 8px 16px 12px 16px !important;
|
|
60
|
-
`}if(!H){let pn="max-height: -moz-available !important; max-height: stretch !important;",gn=l?"":"padding-top: 1.25em !important;";Ie.style.cssText+=pn+gn}};it(),fs(e,t);let pt=[];G&&pt.push(()=>{ce!==null&&(cancelAnimationFrame(ce),ce=null),Z==null||Z.destroy(),Z=null,D==null||D.destroy(),D=null,N=null});let Nt=null,Wn=()=>{Nt&&(Nt(),Nt=null),t.colorScheme==="auto"&&(Nt=yi(()=>{fs(e,t)}))};Wn(),pt.push(()=>{Nt&&(Nt(),Nt=null)});let nn=Pi(Et),Jt=null,$,sn=!1,Vt=!0,ln=0,In=0,Xt=null,Gt=!1,hn=0,fn=!1,Zn=125,es=2e3,ts=5,Pn=50,wn=new Map,Ye={active:!1,manuallyDeactivated:!1,lastUserMessageWasVoice:!1,lastUserMessageId:null},Hn=(yr=(vr=t.voiceRecognition)==null?void 0:vr.autoResume)!=null?yr:!1,Bn=l=>{s.emit("voice:state",{active:Ye.active,source:l,timestamp:Date.now()})},Qt=()=>{c(l=>({...l,voiceState:{active:Ye.active,timestamp:Date.now(),manuallyDeactivated:Ye.manuallyDeactivated}}))},ns=()=>{var I,E;if(((I=t.voiceRecognition)==null?void 0:I.enabled)===!1)return;let l=Qs(a.voiceState),u=!!l.active,S=Number((E=l.timestamp)!=null?E:0);Ye.manuallyDeactivated=!!l.manuallyDeactivated,u&&Date.now()-S<Qa&&setTimeout(()=>{Ye.active||(Ye.manuallyDeactivated=!1,He("restore"))},1e3)},ss=()=>$?Ni($.getMessages()).filter(l=>!l.__skipPersist):[];function Rn(l){if(!(i!=null&&i.save))return;let S={messages:l?Ni(l):$?ss():[],metadata:a};try{let I=i.save(S);I instanceof Promise&&I.catch(E=>{typeof console!="undefined"&&console.error("[AgentWidget] Failed to persist state:",E)})}catch(I){typeof console!="undefined"&&console.error("[AgentWidget] Failed to persist state:",I)}}let dn=(l=!1)=>{if(!Vt)return;let u=Date.now();Gt&&u<hn&&!l||(Gt&&u>=hn&&(Gt=!1),!(!l&&!sn)&&(u-In<Zn||(In=u,Xt&&cancelAnimationFrame(Xt),Xt=requestAnimationFrame(()=>{Gt||!Vt||(fn=!0,Pe.scrollTop=Pe.scrollHeight,ln=Pe.scrollTop,requestAnimationFrame(()=>{fn=!1}),Xt=null)}))))},Zt=null,rs=()=>Ie.querySelector("#persona-scroll-container")||Pe,os=(l,u=500)=>{let S=l.scrollTop,I=l.clientHeight,E=l.scrollHeight,q=E-S;if(S+I>=E-2||Math.abs(q)<5)return;Zt!==null&&(cancelAnimationFrame(Zt),Zt=null);let le=performance.now(),Te=Re=>1-Math.pow(1-Re,3),Be=Re=>{let De=l.scrollHeight;De!==E&&(E=De,q=E-S);let ne=Re-le,H=Math.min(ne/u,1),he=Te(H),we=S+q*he;l.scrollTop=we,H<1?Zt=requestAnimationFrame(Be):(l.scrollTop=l.scrollHeight,Zt=null)};Zt=requestAnimationFrame(Be)},is=l=>{let u=new Map;l.forEach(S=>{let I=wn.get(S.id);u.set(S.id,{streaming:S.streaming,role:S.role}),!I&&S.role==="assistant"&&s.emit("assistant:message",S),S.role==="assistant"&&(I!=null&&I.streaming)&&S.streaming===!1&&s.emit("assistant:complete",S)}),wn.clear(),u.forEach((S,I)=>{wn.set(I,S)})},cn=(l,u,S)=>{var Be,Re,De,ne;let I=document.createElement("div"),q=(()=>{var he;let H=o.find(we=>we.renderLoadingIndicator);if(H!=null&&H.renderLoadingIndicator)return H.renderLoadingIndicator;if((he=t.loadingIndicator)!=null&&he.render)return t.loadingIndicator.render})();u.forEach(H=>{var mt,It;let he=null,we=o.find(K=>!!(H.variant==="reasoning"&&K.renderReasoning||H.variant==="tool"&&K.renderToolCall||!H.variant&&K.renderMessage)),Xe=(mt=t.layout)==null?void 0:mt.messages;if(we)if(H.variant==="reasoning"&&H.reasoning&&we.renderReasoning){if(!O)return;he=we.renderReasoning({message:H,defaultRenderer:()=>$s(H),config:t})}else if(H.variant==="tool"&&H.toolCall&&we.renderToolCall){if(!se)return;he=we.renderToolCall({message:H,defaultRenderer:()=>Os(H,t),config:t})}else we.renderMessage&&(he=we.renderMessage({message:H,defaultRenderer:()=>{let K=Vn(H,S,Xe,t.messageActions,Tt,{loadingIndicatorRenderer:q,widgetConfig:t});return H.role!=="user"&&Ds(K,H,t,$),K},config:t}));if(!he&&H.role==="assistant"&&!H.variant&&t.enableComponentStreaming!==!1&&Ys(H)){let je=Vs(H);if(je){let Kt=Ks(je,{config:t,message:H,transform:S});if(Kt){let zt=document.createElement("div");if(zt.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(" "),zt.id=`bubble-${H.id}`,zt.setAttribute("data-message-id",H.id),H.content&&H.content.trim()){let rn=document.createElement("div");rn.className="tvw-mb-3 tvw-text-sm tvw-leading-relaxed",rn.innerHTML=S({text:H.content,message:H,streaming:!!H.streaming,raw:H.rawContent}),zt.appendChild(rn)}zt.appendChild(Kt),he=zt}}}if(!he)if(H.variant==="reasoning"&&H.reasoning){if(!O)return;he=$s(H)}else if(H.variant==="tool"&&H.toolCall){if(!se)return;he=Os(H,t)}else{let K=(It=t.layout)==null?void 0:It.messages;K!=null&&K.renderUserMessage&&H.role==="user"?he=K.renderUserMessage({message:H,config:t,streaming:!!H.streaming}):K!=null&&K.renderAssistantMessage&&H.role==="assistant"?he=K.renderAssistantMessage({message:H,config:t,streaming:!!H.streaming}):he=Vn(H,S,K,t.messageActions,Tt,{loadingIndicatorRenderer:q,widgetConfig:t}),H.role!=="user"&&he&&Ds(he,H,t,$)}let Le=document.createElement("div");Le.className="tvw-flex",Le.id=`wrapper-${H.id}`,Le.setAttribute("data-wrapper-id",H.id),H.role==="user"&&Le.classList.add("tvw-justify-end"),Le.appendChild(he),I.appendChild(Le)});let be=u.some(H=>H.role==="assistant"&&H.streaming),le=u[u.length-1],Te=(le==null?void 0:le.role)==="assistant"&&!le.streaming;if(sn&&u.some(H=>H.role==="user")&&!be&&!Te){let H={config:t,streaming:!0,location:"standalone",defaultRenderer:Sn},he=o.find(Xe=>Xe.renderLoadingIndicator),we=null;if(he!=null&&he.renderLoadingIndicator&&(we=he.renderLoadingIndicator(H)),we===null&&((Be=t.loadingIndicator)!=null&&Be.render)&&(we=t.loadingIndicator.render(H)),we===null&&(we=Sn()),we){let Xe=document.createElement("div"),Le=((Re=t.loadingIndicator)==null?void 0:Re.showBubble)!==!1;Xe.className=Le?["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(" "):["tvw-max-w-[85%]","tvw-text-sm","tvw-leading-relaxed","tvw-text-cw-primary"].join(" "),Xe.setAttribute("data-typing-indicator","true"),Xe.appendChild(we);let mt=document.createElement("div");mt.className="tvw-flex",mt.id="wrapper-typing-indicator",mt.setAttribute("data-wrapper-id","typing-indicator"),mt.appendChild(Xe),I.appendChild(mt)}}if(!sn&&u.length>0){let H=u[u.length-1],he={config:t,lastMessage:H,messageCount:u.length},we=o.find(Le=>Le.renderIdleIndicator),Xe=null;if(we!=null&&we.renderIdleIndicator&&(Xe=we.renderIdleIndicator(he)),Xe===null&&((De=t.loadingIndicator)!=null&&De.renderIdle)&&(Xe=t.loadingIndicator.renderIdle(he)),Xe){let Le=document.createElement("div"),mt=((ne=t.loadingIndicator)==null?void 0:ne.showBubble)!==!1;Le.className=mt?["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(" "):["tvw-max-w-[85%]","tvw-text-sm","tvw-leading-relaxed","tvw-text-cw-primary"].join(" "),Le.setAttribute("data-idle-indicator","true"),Le.appendChild(Xe);let It=document.createElement("div");It.className="tvw-flex",It.id="wrapper-idle-indicator",It.setAttribute("data-wrapper-id","idle-indicator"),It.appendChild(Le),I.appendChild(It)}}bi(l,I),requestAnimationFrame(()=>{requestAnimationFrame(()=>{let H=rs();os(H)})})},un=()=>{b&&(f?(Ie.classList.remove("tvw-pointer-events-none","tvw-opacity-0"),ye.classList.remove("tvw-scale-95","tvw-opacity-0"),ye.classList.add("tvw-scale-100","tvw-opacity-100"),k?k.element.style.display="none":h&&(h.style.display="none")):(Ie.classList.add("tvw-pointer-events-none","tvw-opacity-0"),ye.classList.remove("tvw-scale-100","tvw-opacity-100"),ye.classList.add("tvw-scale-95","tvw-opacity-0"),k?k.element.style.display="":h&&(h.style.display="")))},tt=(l,u="user")=>{if(!b||f===l)return;let S=f;f=l,un(),f&&(M(),dn(!0));let I={open:f,source:u,timestamp:Date.now()};f&&!S?s.emit("widget:opened",I):!f&&S&&s.emit("widget:closed",I),s.emit("widget:state",{open:f,launcherEnabled:b,voiceActive:Ye.active,streaming:$.isStreaming()})},vn=l=>{J.disabled=l,j&&(j.disabled=l),nn.buttons.forEach(u=>{u.disabled=l})},Fn=()=>{var E,q,be,le,Te,Be,Re,De,ne,H,he,we,Xe,Le;Ot.textContent=(q=(E=t.copy)==null?void 0:E.welcomeTitle)!=null?q:"Hello \u{1F44B}",wt.textContent=(le=(be=t.copy)==null?void 0:be.welcomeSubtitle)!=null?le:"Ask anything about your account or products.",pe.placeholder=(Be=(Te=t.copy)==null?void 0:Te.inputPlaceholder)!=null?Be:"How can I help...",((De=(Re=t.sendButton)==null?void 0:Re.useIcon)!=null?De:!1)||(J.textContent=(H=(ne=t.copy)==null?void 0:ne.sendButtonLabel)!=null?H:"Send");let u=(we=(he=t.theme)==null?void 0:he.inputFontFamily)!=null?we:"sans-serif",S=(Le=(Xe=t.theme)==null?void 0:Xe.inputFontWeight)!=null?Le:"400",I=mt=>{switch(mt){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'}};pe.style.fontFamily=I(u),pe.style.fontWeight=S};t.clientToken&&(t={...t,getStoredSessionId:()=>{let l=a.sessionId;return typeof l=="string"?l:null},setStoredSessionId:l=>{c(u=>({...u,sessionId:l}))}}),$=new Un(t,{onMessagesChanged(l){cn(et,l,X),$&&(l.some(E=>E.role==="user")?nn.render([],$,pe,l):nn.render(t.suggestionChips,$,pe,l,t.suggestionChipsConfig)),dn(!sn),is(l);let u=[...l].reverse().find(I=>I.role==="user"),S=Ye.lastUserMessageId;u&&u.id!==S&&(Ye.lastUserMessageId=u.id,s.emit("user:message",u)),Ye.lastUserMessageWasVoice=!!(u!=null&&u.viaVoice),Rn(l)},onStatusChanged(l){var I;let u=(I=t.statusIndicator)!=null?I:{},S=E=>{var q,be,le,Te;return E==="idle"?(q=u.idleText)!=null?q:Pt.idle:E==="connecting"?(be=u.connectingText)!=null?be:Pt.connecting:E==="connected"?(le=u.connectedText)!=null?le:Pt.connected:E==="error"?(Te=u.errorText)!=null?Te:Pt.error:Pt[E]};ft.textContent=S(l)},onStreamingChanged(l){sn=l,vn(l),$&&cn(et,$.getMessages(),X),l||dn(!0)}}),D&&$.setSSEEventCallback((l,u)=>{D==null||D.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:l,timestamp:Date.now(),payload:JSON.stringify(u)})}),d&&d.then(l=>{var u;l&&(l.metadata&&(a=Qs(l.metadata),C.syncFromMetadata()),(u=l.messages)!=null&&u.length&&$.hydrateMessages(l.messages))}).catch(l=>{typeof console!="undefined"&&console.error("[AgentWidget] Failed to hydrate stored state:",l)});let $n=l=>{var E;l.preventDefault();let u=pe.value.trim(),S=(E=de==null?void 0:de.hasAttachments())!=null?E:!1;if(!u&&!S)return;let I;S&&(I=[],I.push(...de.getContentParts()),u&&I.push(Bs(u))),pe.value="",pe.style.height="auto",$.sendMessage(u,{contentParts:I}),S&&de.clearAttachments()},On=l=>{l.key==="Enter"&&!l.shiftKey&&(l.preventDefault(),J.click())},Ht=null,Dt=!1,en=null,B=null,Ee=()=>typeof window=="undefined"?null:window.webkitSpeechRecognition||window.SpeechRecognition||null,He=(l="user")=>{var q,be,le,Te;if(Dt||$.isStreaming())return;let u=Ee();if(!u)return;Ht=new u;let I=(be=((q=t.voiceRecognition)!=null?q:{}).pauseDuration)!=null?be:2e3;Ht.continuous=!0,Ht.interimResults=!0,Ht.lang="en-US";let E=pe.value;Ht.onresult=Be=>{let Re="",De="";for(let H=0;H<Be.results.length;H++){let he=Be.results[H],we=he[0].transcript;he.isFinal?Re+=we+" ":De=we}let ne=E+Re+De;pe.value=ne,en&&clearTimeout(en),(Re||De)&&(en=window.setTimeout(()=>{let H=pe.value.trim();H&&Ht&&Dt&&(Je(),pe.value="",pe.style.height="auto",$.sendMessage(H,{viaVoice:!0}))},I))},Ht.onerror=Be=>{Be.error!=="no-speech"&&Je()},Ht.onend=()=>{if(Dt){let Be=pe.value.trim();Be&&Be!==E.trim()&&(pe.value="",pe.style.height="auto",$.sendMessage(Be,{viaVoice:!0})),Je()}};try{if(Ht.start(),Dt=!0,Ye.active=!0,l!=="system"&&(Ye.manuallyDeactivated=!1),Bn(l),Qt(),j){B={backgroundColor:j.style.backgroundColor,color:j.style.color,borderColor:j.style.borderColor};let Be=(le=t.voiceRecognition)!=null?le:{},Re=(Te=Be.recordingBackgroundColor)!=null?Te:"#ef4444",De=Be.recordingIconColor,ne=Be.recordingBorderColor;if(j.classList.add("tvw-voice-recording"),j.style.backgroundColor=Re,De){j.style.color=De;let H=j.querySelector("svg");H&&H.setAttribute("stroke",De)}ne&&(j.style.borderColor=ne),j.setAttribute("aria-label","Stop voice recognition")}}catch{Je("system")}},Je=(l="user")=>{if(Dt){if(Dt=!1,en&&(clearTimeout(en),en=null),Ht){try{Ht.stop()}catch{}Ht=null}if(Ye.active=!1,Bn(l),Qt(),j){if(j.classList.remove("tvw-voice-recording"),B){j.style.backgroundColor=B.backgroundColor,j.style.color=B.color,j.style.borderColor=B.borderColor;let u=j.querySelector("svg");u&&u.setAttribute("stroke",B.color||"currentColor"),B=null}j.setAttribute("aria-label","Start voice recognition")}}},Ct=(l,u)=>{var we,Xe,Le,mt,It,K,je;if(!(typeof window!="undefined"&&(typeof window.webkitSpeechRecognition!="undefined"||typeof window.SpeechRecognition!="undefined")))return null;let I=p("div","tvw-send-button-wrapper"),E=p("button","tvw-rounded-button tvw-flex tvw-items-center tvw-justify-center disabled:tvw-opacity-50 tvw-cursor-pointer");E.type="button",E.setAttribute("aria-label","Start voice recognition");let q=(we=l==null?void 0:l.iconName)!=null?we:"mic",be=(Xe=u==null?void 0:u.size)!=null?Xe:"40px",le=(Le=l==null?void 0:l.iconSize)!=null?Le:be,Te=parseFloat(le)||24,Be=(mt=l==null?void 0:l.backgroundColor)!=null?mt:u==null?void 0:u.backgroundColor,Re=(It=l==null?void 0:l.iconColor)!=null?It:u==null?void 0:u.textColor;E.style.width=le,E.style.height=le,E.style.minWidth=le,E.style.minHeight=le,E.style.fontSize="18px",E.style.lineHeight="1";let De=Re||"currentColor",ne=oe(q,Te,De,1.5);ne?(E.appendChild(ne),E.style.color=De):(E.textContent="\u{1F3A4}",E.style.color=De),Be?E.style.backgroundColor=Be:E.classList.add("tvw-bg-cw-primary"),Re?E.style.color=Re:!Re&&!(u!=null&&u.textColor)&&E.classList.add("tvw-text-white"),l!=null&&l.borderWidth&&(E.style.borderWidth=l.borderWidth,E.style.borderStyle="solid"),l!=null&&l.borderColor&&(E.style.borderColor=l.borderColor),l!=null&&l.paddingX&&(E.style.paddingLeft=l.paddingX,E.style.paddingRight=l.paddingX),l!=null&&l.paddingY&&(E.style.paddingTop=l.paddingY,E.style.paddingBottom=l.paddingY),I.appendChild(E);let H=(K=l==null?void 0:l.tooltipText)!=null?K:"Start voice recognition";if(((je=l==null?void 0:l.showTooltip)!=null?je:!1)&&H){let Kt=p("div","tvw-send-button-tooltip");Kt.textContent=H,I.appendChild(Kt)}return{micButton:E,micButtonWrapper:I}},xt=()=>{if(Dt){let l=pe.value.trim();Ye.manuallyDeactivated=!0,Qt(),Je("user"),l&&(pe.value="",pe.style.height="auto",$.sendMessage(l))}else Ye.manuallyDeactivated=!1,Qt(),He("user")};j&&(j.addEventListener("click",xt),pt.push(()=>{Je("system"),j&&j.removeEventListener("click",xt)}));let st=s.on("assistant:complete",()=>{Hn&&(Ye.active||Ye.manuallyDeactivated||Hn==="assistant"&&!Ye.lastUserMessageWasVoice||setTimeout(()=>{!Ye.active&&!Ye.manuallyDeactivated&&He("auto")},600))});pt.push(st);let y=s.on("action:resubmit",()=>{setTimeout(()=>{$&&!$.isStreaming()&&$.continueConversation()},100)});pt.push(y);let Oe=()=>{tt(!f,"user")},k=null,h=null;if(b){let l=o.find(u=>u.renderLauncher);if(l!=null&&l.renderLauncher){let u=l.renderLauncher({config:t,defaultRenderer:()=>Jn(t,Oe).element,onToggle:Oe});u&&(h=u)}h||(k=Jn(t,Oe))}k?e.appendChild(k.element):h&&e.appendChild(h),un(),nn.render(t.suggestionChips,$,pe,void 0,t.suggestionChipsConfig),Fn(),vn($.isStreaming()),dn(!0),ns();let M=()=>{var S,I,E,q,be,le,Te,Be;let l=(I=(S=t.launcher)==null?void 0:S.sidebarMode)!=null?I:!1,u=l||((q=(E=t.launcher)==null?void 0:E.fullHeight)!=null?q:!1);if(!b){ye.style.height="",ye.style.width="";return}if(!l){let Re=(le=(be=t==null?void 0:t.launcher)==null?void 0:be.width)!=null?le:t==null?void 0:t.launcherWidth,De=Re!=null?Re:"min(400px, calc(100vw - 24px))";ye.style.width=De,ye.style.maxWidth=De}if(!u){let Re=window.innerHeight,De=64,ne=(Be=(Te=t.launcher)==null?void 0:Te.heightOffset)!=null?Be:0,H=Math.max(200,Re-De),he=Math.min(640,H),we=Math.max(200,he-ne);ye.style.height=`${we}px`}};M(),window.addEventListener("resize",M),pt.push(()=>window.removeEventListener("resize",M)),ln=Pe.scrollTop;let ae=()=>{let l=Pe.scrollTop,u=Pe.scrollHeight,S=Pe.clientHeight,I=u-l-S,E=Math.abs(l-ln);if(ln=l,!fn&&!(E<=ts)){if(!Vt&&I<Pn){Gt=!1,Vt=!0;return}Vt&&I>Pn&&(Gt=!0,hn=Date.now()+es,Vt=!1)}};Pe.addEventListener("scroll",ae,{passive:!0}),pt.push(()=>Pe.removeEventListener("scroll",ae)),pt.push(()=>{Xt&&cancelAnimationFrame(Xt)});let Ze=()=>{V&&(Jt&&(V.removeEventListener("click",Jt),Jt=null),b?(V.style.display="",Jt=()=>{f=!1,un()},V.addEventListener("click",Jt)):V.style.display="none")};Ze(),(()=>{let{clearChatButton:l}=ee;l&&l.addEventListener("click",()=>{$.clearMessages();try{localStorage.removeItem(Ln),t.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${Ln}`)}catch(S){console.error("[AgentWidget] Failed to clear default localStorage:",S)}if(t.clearChatHistoryStorageKey&&t.clearChatHistoryStorageKey!==Ln)try{localStorage.removeItem(t.clearChatHistoryStorageKey),t.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${t.clearChatHistoryStorageKey}`)}catch(S){console.error("[AgentWidget] Failed to clear custom localStorage:",S)}let u=new CustomEvent("persona:clear-chat",{detail:{timestamp:new Date().toISOString()}});if(window.dispatchEvent(u),i!=null&&i.clear)try{let S=i.clear();S instanceof Promise&&S.catch(I=>{typeof console!="undefined"&&console.error("[AgentWidget] Failed to clear storage adapter:",I)})}catch(S){typeof console!="undefined"&&console.error("[AgentWidget] Failed to clear storage adapter:",S)}a={},C.syncFromMetadata(),D==null||D.clear(),Z==null||Z.update()})})(),ut.addEventListener("submit",$n),pe.addEventListener("keydown",On),pt.push(()=>{ut.removeEventListener("submit",$n),pe.removeEventListener("keydown",On)}),pt.push(()=>{$.cancel()}),k?pt.push(()=>{k==null||k.destroy()}):h&&pt.push(()=>{h==null||h.remove()});let Ve={update(l){var Tr,Mr,Lr,kr,Wr,Ir,Pr,Hr,Br,Rr,Fr,$r,Or,Nr,Dr,jr,_r,qr,zr,Ur,Jr,Kr,Yr,Vr,Xr,Gr,Qr,Zr,eo,to,no,so,ro,oo,io,ao,lo,co,uo,po,go,mo,ho,fo,wo,vo,yo,bo,Co,xo,So,Ao,Eo,To,Mo,Lo,ko,Wo,Io,Po,Ho,Bo,Ro,Fo,$o,Oo,No,Do,jo,_o,qo,zo,Uo,Jo,Ko,Yo,Vo,Xo,Go,Qo,Zo,ei,ti,ni,si,ri;let u=t.toolCall,S=t.colorScheme;t={...t,...l},it(),fs(e,t),t.colorScheme!==S&&Wn();let I=ws.getForInstance(t.plugins);o.length=0,o.push(...I),b=(Mr=(Tr=t.launcher)==null?void 0:Tr.enabled)!=null?Mr:!0,A=(kr=(Lr=t.launcher)==null?void 0:Lr.autoExpand)!=null?kr:!1,O=(Ir=(Wr=t.features)==null?void 0:Wr.showReasoning)!=null?Ir:!0,se=(Hr=(Pr=t.features)==null?void 0:Pr.showToolCalls)!=null?Hr:!0;let E=G;if(G=(Rr=(Br=t.features)==null?void 0:Br.showEventStreamToggle)!=null?Rr:!1,G&&!E){if(D||(N=new Gn(ve),D=new Xn(re,N),N.open().then(()=>D==null?void 0:D.restore()).catch(()=>{}),$.setSSEEventCallback((L,Ce)=>{D.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:L,timestamp:Date.now(),payload:JSON.stringify(Ce)})})),!_&&Q){let L=($r=(Fr=t.features)==null?void 0:Fr.eventStream)==null?void 0:$r.classNames,Ce="tvw-inline-flex tvw-items-center tvw-justify-center tvw-rounded-full tvw-text-cw-muted hover:tvw-bg-gray-100 tvw-cursor-pointer tvw-border-none tvw-bg-transparent tvw-p-1"+(L!=null&&L.toggleButton?" "+L.toggleButton:"");_=p("button",Ce),_.style.width="28px",_.style.height="28px",_.type="button",_.setAttribute("aria-label","Event Stream"),_.title="Event Stream";let Ge=oe("activity","18px","currentColor",1.5);Ge&&_.appendChild(Ge);let me=ee.clearChatButtonWrapper,We=ee.closeButtonWrapper,ht=me||We;ht&&ht.parentNode===Q?Q.insertBefore(_,ht):Q.appendChild(_),_.addEventListener("click",()=>{fe?$e():xe()})}}else!G&&E&&($e(),_&&(_.remove(),_=null),D==null||D.clear(),N==null||N.destroy(),D=null,N=null);if(((Or=t.launcher)==null?void 0:Or.enabled)===!1&&k&&(k.destroy(),k=null),((Nr=t.launcher)==null?void 0:Nr.enabled)===!1&&h&&(h.remove(),h=null),((Dr=t.launcher)==null?void 0:Dr.enabled)!==!1&&!k&&!h){let L=o.find(Ce=>Ce.renderLauncher);if(L!=null&&L.renderLauncher){let Ce=L.renderLauncher({config:t,defaultRenderer:()=>Jn(t,Oe).element,onToggle:Oe});Ce&&(h=Ce,e.appendChild(h))}h||(k=Jn(t,Oe),e.appendChild(k.element))}k&&k.update(t),vt&&((jr=t.launcher)==null?void 0:jr.title)!==void 0&&(vt.textContent=t.launcher.title),yt&&((_r=t.launcher)==null?void 0:_r.subtitle)!==void 0&&(yt.textContent=t.launcher.subtitle);let q=(qr=t.layout)==null?void 0:qr.header;if((q==null?void 0:q.layout)!==Y&&Q){let L=q?Kn(t,q,{showClose:b,onClose:()=>tt(!1,"user")}):an({config:t,showClose:b,onClose:()=>tt(!1,"user")});Q.replaceWith(L.header),Q=L.header,Me=L.iconHolder,vt=L.headerTitle,yt=L.headerSubtitle,V=L.closeButton,Y=q==null?void 0:q.layout}else if(q&&(Me&&(Me.style.display=q.showIcon===!1?"none":""),vt&&(vt.style.display=q.showTitle===!1?"none":""),yt&&(yt.style.display=q.showSubtitle===!1?"none":""),V&&(V.style.display=q.showCloseButton===!1?"none":""),ee.clearChatButtonWrapper)){let L=q.showClearChat;if(L!==void 0){ee.clearChatButtonWrapper.style.display=L?"":"none";let{closeButtonWrapper:Ce}=ee;Ce&&!Ce.classList.contains("tvw-absolute")&&(L?Ce.classList.remove("tvw-ml-auto"):Ce.classList.add("tvw-ml-auto"))}}let le=((zr=t.layout)==null?void 0:zr.showHeader)!==!1;Q&&(Q.style.display=le?"":"none");let Te=((Ur=t.layout)==null?void 0:Ur.showFooter)!==!1;Fe&&(Fe.style.display=Te?"":"none"),b!==W?b?tt(A,"auto"):(f=!0,un()):A!==x&&tt(A,"auto"),x=A,W=b,M(),Ze(),JSON.stringify(l.toolCall)!==JSON.stringify(u)&&$&&cn(et,$.getMessages(),X);let ne=(Jr=t.launcher)!=null?Jr:{},H=(Kr=ne.headerIconHidden)!=null?Kr:!1,he=(Vr=(Yr=t.layout)==null?void 0:Yr.header)==null?void 0:Vr.showIcon,we=H||he===!1,Xe=ne.headerIconName,Le=(Xr=ne.headerIconSize)!=null?Xr:"48px";if(Me){let L=ue.querySelector(".tvw-border-b-cw-divider"),Ce=L==null?void 0:L.querySelector(".tvw-flex-col");if(we)Me.style.display="none",L&&Ce&&!L.contains(Ce)&&L.insertBefore(Ce,L.firstChild);else{if(Me.style.display="",Me.style.height=Le,Me.style.width=Le,L&&Ce&&(L.contains(Me)?Me.nextSibling!==Ce&&(Me.remove(),L.insertBefore(Me,Ce)):L.insertBefore(Me,Ce)),Xe){let me=parseFloat(Le)||24,We=oe(Xe,me*.6,"#ffffff",2);We?Me.replaceChildren(We):Me.textContent=(Gr=ne.agentIconText)!=null?Gr:"\u{1F4AC}"}else if(ne.iconUrl){let me=Me.querySelector("img");if(me)me.src=ne.iconUrl,me.style.height=Le,me.style.width=Le;else{let We=document.createElement("img");We.src=ne.iconUrl,We.alt="",We.className="tvw-rounded-xl tvw-object-cover",We.style.height=Le,We.style.width=Le,Me.replaceChildren(We)}}else{let me=Me.querySelector("svg"),We=Me.querySelector("img");(me||We)&&Me.replaceChildren(),Me.textContent=(Qr=ne.agentIconText)!=null?Qr:"\u{1F4AC}"}let Ge=Me.querySelector("img");Ge&&(Ge.style.height=Le,Ge.style.width=Le)}}let mt=(eo=(Zr=t.layout)==null?void 0:Zr.header)==null?void 0:eo.showTitle,It=(no=(to=t.layout)==null?void 0:to.header)==null?void 0:no.showSubtitle;if(vt&&(vt.style.display=mt===!1?"none":""),yt&&(yt.style.display=It===!1?"none":""),V){((ro=(so=t.layout)==null?void 0:so.header)==null?void 0:ro.showCloseButton)===!1?V.style.display="none":V.style.display="";let Ce=(oo=ne.closeButtonSize)!=null?oo:"32px",Ge=(io=ne.closeButtonPlacement)!=null?io:"inline";V.style.height=Ce,V.style.width=Ce;let{closeButtonWrapper:me}=ee,We=Ge==="top-right",ht=me==null?void 0:me.classList.contains("tvw-absolute");if(me&&We!==ht)if(me.remove(),We)me.className="tvw-absolute tvw-top-4 tvw-right-4 tvw-z-50",ue.style.position="relative",ue.appendChild(me);else{let Se=(lo=(ao=ne.clearChat)==null?void 0:ao.placement)!=null?lo:"inline",At=(uo=(co=ne.clearChat)==null?void 0:co.enabled)!=null?uo:!0;me.className=At&&Se==="inline"?"":"tvw-ml-auto";let Ft=ue.querySelector(".tvw-border-b-cw-divider");Ft&&Ft.appendChild(me)}if(ne.closeButtonColor?(V.style.color=ne.closeButtonColor,V.classList.remove("tvw-text-cw-muted")):(V.style.color="",V.classList.add("tvw-text-cw-muted")),ne.closeButtonBackgroundColor?(V.style.backgroundColor=ne.closeButtonBackgroundColor,V.classList.remove("hover:tvw-bg-gray-100")):(V.style.backgroundColor="",V.classList.add("hover:tvw-bg-gray-100")),ne.closeButtonBorderWidth||ne.closeButtonBorderColor){let Se=ne.closeButtonBorderWidth||"0px",At=ne.closeButtonBorderColor||"transparent";V.style.border=`${Se} solid ${At}`,V.classList.remove("tvw-border-none")}else V.style.border="",V.classList.add("tvw-border-none");ne.closeButtonBorderRadius?(V.style.borderRadius=ne.closeButtonBorderRadius,V.classList.remove("tvw-rounded-full")):(V.style.borderRadius="",V.classList.add("tvw-rounded-full")),ne.closeButtonPaddingX?(V.style.paddingLeft=ne.closeButtonPaddingX,V.style.paddingRight=ne.closeButtonPaddingX):(V.style.paddingLeft="",V.style.paddingRight=""),ne.closeButtonPaddingY?(V.style.paddingTop=ne.closeButtonPaddingY,V.style.paddingBottom=ne.closeButtonPaddingY):(V.style.paddingTop="",V.style.paddingBottom="");let kt=(po=ne.closeButtonIconName)!=null?po:"x",jt=(go=ne.closeButtonIconText)!=null?go:"\xD7";V.innerHTML="";let Bt=oe(kt,"20px",ne.closeButtonColor||"",2);Bt?V.appendChild(Bt):V.textContent=jt;let ot=(mo=ne.closeButtonTooltipText)!=null?mo:"Close chat",_t=(ho=ne.closeButtonShowTooltip)!=null?ho:!0;if(V.setAttribute("aria-label",ot),me&&(me._cleanupTooltip&&(me._cleanupTooltip(),delete me._cleanupTooltip),_t&&ot)){let Se=null,At=()=>{if(Se||!V)return;Se=p("div","tvw-clear-chat-tooltip"),Se.textContent=ot;let qn=p("div");qn.className="tvw-clear-chat-tooltip-arrow",Se.appendChild(qn);let mn=V.getBoundingClientRect();Se.style.position="fixed",Se.style.left=`${mn.left+mn.width/2}px`,Se.style.top=`${mn.top-8}px`,Se.style.transform="translate(-50%, -100%)",document.body.appendChild(Se)},Ft=()=>{Se&&Se.parentNode&&(Se.parentNode.removeChild(Se),Se=null)};me.addEventListener("mouseenter",At),me.addEventListener("mouseleave",Ft),V.addEventListener("focus",At),V.addEventListener("blur",Ft),me._cleanupTooltip=()=>{Ft(),me&&(me.removeEventListener("mouseenter",At),me.removeEventListener("mouseleave",Ft)),V&&(V.removeEventListener("focus",At),V.removeEventListener("blur",Ft))}}}let{clearChatButton:K,clearChatButtonWrapper:je}=ee;if(K){let L=(fo=ne.clearChat)!=null?fo:{},Ce=(wo=L.enabled)!=null?wo:!0,Ge=(yo=(vo=t.layout)==null?void 0:vo.header)==null?void 0:yo.showClearChat,me=Ge!==void 0?Ge:Ce,We=(bo=L.placement)!=null?bo:"inline";if(je){je.style.display=me?"":"none";let{closeButtonWrapper:ht}=ee;ht&&!ht.classList.contains("tvw-absolute")&&(me?ht.classList.remove("tvw-ml-auto"):ht.classList.add("tvw-ml-auto"));let kt=We==="top-right",jt=je.classList.contains("tvw-absolute");if(kt!==jt&&me){if(je.remove(),kt)je.className="tvw-absolute tvw-top-4 tvw-z-50",je.style.right="48px",ue.style.position="relative",ue.appendChild(je);else{je.className="tvw-relative tvw-ml-auto tvw-clear-chat-button-wrapper",je.style.right="";let ot=ue.querySelector(".tvw-border-b-cw-divider"),_t=ee.closeButtonWrapper;ot&&_t&&_t.parentElement===ot?ot.insertBefore(je,_t):ot&&ot.appendChild(je)}let Bt=ee.closeButtonWrapper;Bt&&!Bt.classList.contains("tvw-absolute")&&(kt?Bt.classList.add("tvw-ml-auto"):Bt.classList.remove("tvw-ml-auto"))}}if(me){let ht=(Co=L.size)!=null?Co:"32px";K.style.height=ht,K.style.width=ht;let kt=(xo=L.iconName)!=null?xo:"refresh-cw",jt=(So=L.iconColor)!=null?So:"";K.innerHTML="";let Bt=oe(kt,"20px",jt||"",2);if(Bt&&K.appendChild(Bt),jt?(K.style.color=jt,K.classList.remove("tvw-text-cw-muted")):(K.style.color="",K.classList.add("tvw-text-cw-muted")),L.backgroundColor?(K.style.backgroundColor=L.backgroundColor,K.classList.remove("hover:tvw-bg-gray-100")):(K.style.backgroundColor="",K.classList.add("hover:tvw-bg-gray-100")),L.borderWidth||L.borderColor){let Se=L.borderWidth||"0px",At=L.borderColor||"transparent";K.style.border=`${Se} solid ${At}`,K.classList.remove("tvw-border-none")}else K.style.border="",K.classList.add("tvw-border-none");L.borderRadius?(K.style.borderRadius=L.borderRadius,K.classList.remove("tvw-rounded-full")):(K.style.borderRadius="",K.classList.add("tvw-rounded-full")),L.paddingX?(K.style.paddingLeft=L.paddingX,K.style.paddingRight=L.paddingX):(K.style.paddingLeft="",K.style.paddingRight=""),L.paddingY?(K.style.paddingTop=L.paddingY,K.style.paddingBottom=L.paddingY):(K.style.paddingTop="",K.style.paddingBottom="");let ot=(Ao=L.tooltipText)!=null?Ao:"Clear chat",_t=(Eo=L.showTooltip)!=null?Eo:!0;if(K.setAttribute("aria-label",ot),je&&(je._cleanupTooltip&&(je._cleanupTooltip(),delete je._cleanupTooltip),_t&&ot)){let Se=null,At=()=>{if(Se||!K)return;Se=p("div","tvw-clear-chat-tooltip"),Se.textContent=ot;let qn=p("div");qn.className="tvw-clear-chat-tooltip-arrow",Se.appendChild(qn);let mn=K.getBoundingClientRect();Se.style.position="fixed",Se.style.left=`${mn.left+mn.width/2}px`,Se.style.top=`${mn.top-8}px`,Se.style.transform="translate(-50%, -100%)",document.body.appendChild(Se)},Ft=()=>{Se&&Se.parentNode&&(Se.parentNode.removeChild(Se),Se=null)};je.addEventListener("mouseenter",At),je.addEventListener("mouseleave",Ft),K.addEventListener("focus",At),K.addEventListener("blur",Ft),je._cleanupTooltip=()=>{Ft(),je&&(je.removeEventListener("mouseenter",At),je.removeEventListener("mouseleave",Ft)),K&&(K.removeEventListener("focus",At),K.removeEventListener("blur",Ft))}}}}let Kt=t.actionParsers&&t.actionParsers.length?t.actionParsers:[vs],zt=t.actionHandlers&&t.actionHandlers.length?t.actionHandlers:[Mn.message,Mn.messageAndClick];C=ys({parsers:Kt,handlers:zt,getSessionMetadata:v,updateSessionMetadata:c,emit:s.emit,documentRef:typeof document!="undefined"?document:null}),X=Di(t,C,P),$.updateConfig(t),cn(et,$.getMessages(),X),nn.render(t.suggestionChips,$,pe,void 0,t.suggestionChipsConfig),Fn(),vn($.isStreaming());let rn=((To=t.voiceRecognition)==null?void 0:To.enabled)===!0,as=typeof window!="undefined"&&(typeof window.webkitSpeechRecognition!="undefined"||typeof window.SpeechRecognition!="undefined");if(rn&&as)if(!j||!Qe){let L=Ct(t.voiceRecognition,t.sendButton);L&&(j=L.micButton,Qe=L.micButtonWrapper,Lt.insertBefore(Qe,ct),j.addEventListener("click",xt),j.disabled=$.isStreaming())}else{let L=(Mo=t.voiceRecognition)!=null?Mo:{},Ce=(Lo=t.sendButton)!=null?Lo:{},Ge=(ko=L.iconName)!=null?ko:"mic",me=(Wo=Ce.size)!=null?Wo:"40px",We=(Io=L.iconSize)!=null?Io:me,ht=parseFloat(We)||24;j.style.width=We,j.style.height=We,j.style.minWidth=We,j.style.minHeight=We;let kt=(Ho=(Po=L.iconColor)!=null?Po:Ce.textColor)!=null?Ho:"currentColor";j.innerHTML="";let jt=oe(Ge,ht,kt,2);jt?j.appendChild(jt):j.textContent="\u{1F3A4}";let Bt=(Bo=L.backgroundColor)!=null?Bo:Ce.backgroundColor;Bt?(j.style.backgroundColor=Bt,j.classList.remove("tvw-bg-cw-primary")):(j.style.backgroundColor="",j.classList.add("tvw-bg-cw-primary")),kt?(j.style.color=kt,j.classList.remove("tvw-text-white")):!kt&&!Ce.textColor&&(j.style.color="",j.classList.add("tvw-text-white")),L.borderWidth?(j.style.borderWidth=L.borderWidth,j.style.borderStyle="solid"):(j.style.borderWidth="",j.style.borderStyle=""),L.borderColor?j.style.borderColor=L.borderColor:j.style.borderColor="",L.paddingX?(j.style.paddingLeft=L.paddingX,j.style.paddingRight=L.paddingX):(j.style.paddingLeft="",j.style.paddingRight=""),L.paddingY?(j.style.paddingTop=L.paddingY,j.style.paddingBottom=L.paddingY):(j.style.paddingTop="",j.style.paddingBottom="");let ot=Qe==null?void 0:Qe.querySelector(".tvw-send-button-tooltip"),_t=(Ro=L.tooltipText)!=null?Ro:"Start voice recognition";if(((Fo=L.showTooltip)!=null?Fo:!1)&&_t)if(ot)ot.textContent=_t,ot.style.display="";else{let At=document.createElement("div");At.className="tvw-send-button-tooltip",At.textContent=_t,Qe==null||Qe.insertBefore(At,j)}else ot&&(ot.style.display="none");Qe.style.display="",j.disabled=$.isStreaming()}else j&&Qe&&(Qe.style.display="none",Dt&&Je());if((($o=t.attachments)==null?void 0:$o.enabled)===!0)if(!z||!Ae){let L=(Oo=t.attachments)!=null?Oo:{},Ge=(Do=((No=t.sendButton)!=null?No:{}).size)!=null?Do:"40px";ge||(ge=p("div","tvw-attachment-previews tvw-flex tvw-flex-wrap tvw-gap-2 tvw-mb-2"),ge.style.display="none",ut.insertBefore(ge,pe)),F||(F=document.createElement("input"),F.type="file",F.accept=((jo=L.allowedTypes)!=null?jo:on).join(","),F.multiple=((_o=L.maxFiles)!=null?_o:4)>1,F.style.display="none",F.setAttribute("aria-label","Attach files"),ut.insertBefore(F,pe)),z=p("div","tvw-send-button-wrapper"),Ae=p("button","tvw-rounded-button tvw-flex tvw-items-center tvw-justify-center disabled:tvw-opacity-50 tvw-cursor-pointer tvw-attachment-button"),Ae.type="button",Ae.setAttribute("aria-label",(qo=L.buttonTooltipText)!=null?qo:"Attach file");let me=(zo=L.buttonIconName)!=null?zo:"paperclip",We=Ge,ht=parseFloat(We)||40,kt=Math.round(ht*.6);Ae.style.width=We,Ae.style.height=We,Ae.style.minWidth=We,Ae.style.minHeight=We,Ae.style.fontSize="18px",Ae.style.lineHeight="1",Ae.style.backgroundColor="transparent",Ae.style.color="var(--cw-primary, #111827)",Ae.style.border="none",Ae.style.borderRadius="6px",Ae.style.transition="background-color 0.15s ease",Ae.addEventListener("mouseenter",()=>{Ae.style.backgroundColor="rgba(0, 0, 0, 0.05)"}),Ae.addEventListener("mouseleave",()=>{Ae.style.backgroundColor="transparent"});let jt=oe(me,kt,"currentColor",1.5);jt?Ae.appendChild(jt):Ae.textContent="\u{1F4CE}",Ae.addEventListener("click",_t=>{_t.preventDefault(),F==null||F.click()}),z.appendChild(Ae);let Bt=(Uo=L.buttonTooltipText)!=null?Uo:"Attach file",ot=p("div","tvw-send-button-tooltip");ot.textContent=Bt,z.appendChild(ot),Wt.append(z),!de&&F&&ge&&(de=Cn.fromConfig(L),de.setPreviewsContainer(ge),F.addEventListener("change",async()=>{de&&(F!=null&&F.files)&&(await de.handleFileSelect(F.files),F.value="")}))}else{z.style.display="";let L=(Jo=t.attachments)!=null?Jo:{};F&&(F.accept=((Ko=L.allowedTypes)!=null?Ko:on).join(","),F.multiple=((Yo=L.maxFiles)!=null?Yo:4)>1),de&&de.updateConfig({allowedTypes:L.allowedTypes,maxFileSize:L.maxFileSize,maxFiles:L.maxFiles})}else z&&(z.style.display="none"),de&&de.clearAttachments();let dt=(Vo=t.sendButton)!=null?Vo:{},ls=(Xo=dt.useIcon)!=null?Xo:!1,Nn=(Go=dt.iconText)!=null?Go:"\u2191",pn=dt.iconName,gn=(Qo=dt.tooltipText)!=null?Qo:"Send message",Vi=(Zo=dt.showTooltip)!=null?Zo:!1,Dn=(ei=dt.size)!=null?ei:"40px",ds=dt.backgroundColor,Yt=dt.textColor;if(ls){if(J.style.width=Dn,J.style.height=Dn,J.style.minWidth=Dn,J.style.minHeight=Dn,J.style.fontSize="18px",J.style.lineHeight="1",J.innerHTML="",pn){let L=parseFloat(Dn)||24,Ce=Yt&&typeof Yt=="string"&&Yt.trim()?Yt.trim():"currentColor",Ge=oe(pn,L,Ce,2);Ge?(J.appendChild(Ge),J.style.color=Ce):(J.textContent=Nn,Yt?J.style.color=Yt:J.classList.add("tvw-text-white"))}else J.textContent=Nn,Yt?J.style.color=Yt:J.classList.add("tvw-text-white");J.className="tvw-rounded-button tvw-flex tvw-items-center tvw-justify-center disabled:tvw-opacity-50 tvw-cursor-pointer",ds?(J.style.backgroundColor=ds,J.classList.remove("tvw-bg-cw-primary")):J.classList.add("tvw-bg-cw-primary")}else J.textContent=(ni=(ti=t.copy)==null?void 0:ti.sendButtonLabel)!=null?ni:"Send",J.style.width="",J.style.height="",J.style.minWidth="",J.style.minHeight="",J.style.fontSize="",J.style.lineHeight="",J.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",ds?(J.style.backgroundColor=ds,J.classList.remove("tvw-bg-cw-accent")):J.classList.add("tvw-bg-cw-accent"),Yt?J.style.color=Yt:J.classList.add("tvw-text-white");dt.borderWidth?(J.style.borderWidth=dt.borderWidth,J.style.borderStyle="solid"):(J.style.borderWidth="",J.style.borderStyle=""),dt.borderColor?J.style.borderColor=dt.borderColor:J.style.borderColor="",dt.paddingX?(J.style.paddingLeft=dt.paddingX,J.style.paddingRight=dt.paddingX):(J.style.paddingLeft="",J.style.paddingRight=""),dt.paddingY?(J.style.paddingTop=dt.paddingY,J.style.paddingBottom=dt.paddingY):(J.style.paddingTop="",J.style.paddingBottom="");let jn=ct==null?void 0:ct.querySelector(".tvw-send-button-tooltip");if(Vi&&gn)if(jn)jn.textContent=gn,jn.style.display="";else{let L=document.createElement("div");L.className="tvw-send-button-tooltip",L.textContent=gn,ct==null||ct.insertBefore(L,J)}else jn&&(jn.style.display="none");let _n=(si=t.statusIndicator)!=null?si:{},Xi=(ri=_n.visible)!=null?ri:!0;if(ft.style.display=Xi?"":"none",$){let L=$.getStatus(),Ce=Ge=>{var me,We,ht,kt;return Ge==="idle"?(me=_n.idleText)!=null?me:Pt.idle:Ge==="connecting"?(We=_n.connectingText)!=null?We:Pt.connecting:Ge==="connected"?(ht=_n.connectedText)!=null?ht:Pt.connected:Ge==="error"?(kt=_n.errorText)!=null?kt:Pt.error:Pt[Ge]};ft.textContent=Ce(L)}},open(){b&&tt(!0,"api")},close(){b&&tt(!1,"api")},toggle(){b&&tt(!f,"api")},clearChat(){$.clearMessages();try{localStorage.removeItem(Ln),t.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${Ln}`)}catch(u){console.error("[AgentWidget] Failed to clear default localStorage:",u)}if(t.clearChatHistoryStorageKey&&t.clearChatHistoryStorageKey!==Ln)try{localStorage.removeItem(t.clearChatHistoryStorageKey),t.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${t.clearChatHistoryStorageKey}`)}catch(u){console.error("[AgentWidget] Failed to clear custom localStorage:",u)}let l=new CustomEvent("persona:clear-chat",{detail:{timestamp:new Date().toISOString()}});if(window.dispatchEvent(l),i!=null&&i.clear)try{let u=i.clear();u instanceof Promise&&u.catch(S=>{typeof console!="undefined"&&console.error("[AgentWidget] Failed to clear storage adapter:",S)})}catch(u){typeof console!="undefined"&&console.error("[AgentWidget] Failed to clear storage adapter:",u)}a={},C.syncFromMetadata(),D==null||D.clear(),Z==null||Z.update()},setMessage(l){return!pe||$.isStreaming()?!1:(!f&&b&&tt(!0,"system"),pe.value=l,pe.dispatchEvent(new Event("input",{bubbles:!0})),!0)},submitMessage(l){if($.isStreaming())return!1;let u=(l==null?void 0:l.trim())||pe.value.trim();return u?(!f&&b&&tt(!0,"system"),pe.value="",pe.style.height="auto",$.sendMessage(u),!0):!1},startVoiceRecognition(){return Dt||$.isStreaming()||!Ee()?!1:(!f&&b&&tt(!0,"system"),Ye.manuallyDeactivated=!1,Qt(),He("user"),!0)},stopVoiceRecognition(){return Dt?(Ye.manuallyDeactivated=!0,Qt(),Je("user"),!0):!1},injectMessage(l){return!f&&b&&tt(!0,"system"),$.injectMessage(l)},injectAssistantMessage(l){!f&&b&&tt(!0,"system");let u=$.injectAssistantMessage(l);return R&&(R=!1,T&&(clearTimeout(T),T=null),setTimeout(()=>{$&&!$.isStreaming()&&$.continueConversation()},100)),u},injectUserMessage(l){return!f&&b&&tt(!0,"system"),$.injectUserMessage(l)},injectSystemMessage(l){return!f&&b&&tt(!0,"system"),$.injectSystemMessage(l)},injectMessageBatch(l){return!f&&b&&tt(!0,"system"),$.injectMessageBatch(l)},injectTestMessage(l){!f&&b&&tt(!0,"system"),$.injectTestEvent(l)},__pushEventStreamEvent(l){D&&D.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:l.type,timestamp:Date.now(),payload:JSON.stringify(l.payload)})},showEventStream(){!G||!D||xe()},hideEventStream(){fe&&$e()},isEventStreamVisible(){return fe},getMessages(){return $.getMessages()},getStatus(){return $.getStatus()},getPersistentMetadata(){return{...a}},updatePersistentMetadata(l){c(l)},on(l,u){return s.on(l,u)},off(l,u){s.off(l,u)},isOpen(){return b&&f},isVoiceActive(){return Ye.active},getState(){return{open:b&&f,launcherEnabled:b,voiceActive:Ye.active,streaming:$.isStreaming()}},showCSATFeedback(l){!f&&b&&tt(!0,"system");let u=et.querySelector(".tvw-feedback-container");u&&u.remove();let S=Xs({onSubmit:async(I,E)=>{var q;$.isClientTokenMode()&&await $.submitCSATFeedback(I,E),(q=l==null?void 0:l.onSubmit)==null||q.call(l,I,E)},onDismiss:l==null?void 0:l.onDismiss,...l});et.appendChild(S),S.scrollIntoView({behavior:"smooth",block:"end"})},showNPSFeedback(l){!f&&b&&tt(!0,"system");let u=et.querySelector(".tvw-feedback-container");u&&u.remove();let S=Gs({onSubmit:async(I,E)=>{var q;$.isClientTokenMode()&&await $.submitNPSFeedback(I,E),(q=l==null?void 0:l.onSubmit)==null||q.call(l,I,E)},onDismiss:l==null?void 0:l.onDismiss,...l});et.appendChild(S),S.scrollIntoView({behavior:"smooth",block:"end"})},async submitCSATFeedback(l,u){return $.submitCSATFeedback(l,u)},async submitNPSFeedback(l,u){return $.submitNPSFeedback(l,u)},destroy(){pt.forEach(l=>l()),Ie.remove(),k==null||k.destroy(),h==null||h.remove(),Jt&&V.removeEventListener("click",Jt)}};if((((br=r==null?void 0:r.debugTools)!=null?br:!1)||!!t.debug)&&typeof window!="undefined"){let l=window.AgentWidgetBrowser,u={controller:Ve,getMessages:Ve.getMessages,getStatus:Ve.getStatus,getMetadata:Ve.getPersistentMetadata,updateMetadata:Ve.updatePersistentMetadata,clearHistory:()=>Ve.clearChat(),setVoiceActive:S=>S?Ve.startVoiceRecognition():Ve.stopVoiceRecognition()};window.AgentWidgetBrowser=u,pt.push(()=>{window.AgentWidgetBrowser===u&&(window.AgentWidgetBrowser=l)})}if(G&&typeof window!="undefined"){let l=e.getAttribute("data-persona-instance")||e.id||"persona-"+Math.random().toString(36).slice(2,8),u=I=>{let E=I.detail;(!(E!=null&&E.instanceId)||E.instanceId===l)&&Ve.showEventStream()},S=I=>{let E=I.detail;(!(E!=null&&E.instanceId)||E.instanceId===l)&&Ve.hideEventStream()};window.addEventListener("persona:showEventStream",u),window.addEventListener("persona:hideEventStream",S),pt.push(()=>{window.removeEventListener("persona:showEventStream",u),window.removeEventListener("persona:hideEventStream",S)})}let _e=Za(t.persistState);if(_e&&b){let l=el(_e.storage),u=`${_e.keyPrefix}widget-open`,S=`${_e.keyPrefix}widget-voice`,I=`${_e.keyPrefix}widget-voice-mode`;if(l){let E=((Cr=_e.persist)==null?void 0:Cr.openState)&&l.getItem(u)==="true",q=((xr=_e.persist)==null?void 0:xr.voiceState)&&l.getItem(S)==="true",be=((Sr=_e.persist)==null?void 0:Sr.voiceState)&&l.getItem(I)==="true";if(E&&setTimeout(()=>{Ve.open(),setTimeout(()=>{var le;if(q||be)Ve.startVoiceRecognition();else if((le=_e.persist)!=null&&le.focusInput){let Te=e.querySelector("textarea");Te&&Te.focus()}},100)},0),(Ar=_e.persist)!=null&&Ar.openState&&(s.on("widget:opened",()=>{l.setItem(u,"true")}),s.on("widget:closed",()=>{l.setItem(u,"false")})),(Er=_e.persist)!=null&&Er.voiceState&&(s.on("voice:state",le=>{l.setItem(S,le.active?"true":"false")}),s.on("user:message",le=>{l.setItem(I,le.viaVoice?"true":"false")})),_e.clearOnChatClear){let le=()=>{l.removeItem(u),l.removeItem(S),l.removeItem(I)},Te=()=>le();window.addEventListener("persona:clear-chat",Te),pt.push(()=>{window.removeEventListener("persona:clear-chat",Te)})}}}return Ve};var er={},tl=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},nl=()=>{try{if(typeof er!="undefined"&&er.url)return new URL("../widget.css",er.url).href}catch{}return null},ji=e=>{let n=nl(),r=()=>{if(!(e instanceof ShadowRoot)||e.querySelector("link[data-persona]"))return;let t=document.head.querySelector("link[data-persona]");if(!t)return;let o=t.cloneNode(!0);e.insertBefore(o,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 r();else if(!document.head.querySelector("link[data-persona]")&&n){let o=document.createElement("link");o.rel="stylesheet",o.href=n,o.setAttribute("data-persona","true"),document.head.appendChild(o)}},_i=e=>{var g,v,c,m;let n=tl(e.target),r=document.createElement("div");r.className="persona-host";let t=(c=(v=(g=e.config)==null?void 0:g.launcher)==null?void 0:v.enabled)!=null?c:!0;t||(r.style.height="100%"),n.appendChild(r);let o=e.useShadowDom===!0,s,i;if(o){let w=r.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),ji(w)}else i=r,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"),r.appendChild(s),ji(r);n.id&&s.setAttribute("data-persona-instance",n.id);let a=Zs(s,e.config,{debugTools:e.debugTools});(m=e.onReady)==null||m.call(e);let d={...a,host:r,destroy(){a.destroy(),r.remove(),e.windowKey&&typeof window!="undefined"&&delete window[e.windowKey]}};return e.windowKey&&typeof window!="undefined"&&(window[e.windowKey]=d),d};var qi={name:"@runtypelabs/persona",version:"1.43.2",description:"Themeable, plugable streaming agent widget for websites, in plain JS with support for voice input and reasoning / tool output.",type:"module",main:"dist/index.cjs",module:"dist/index.js",types:"dist/index.d.ts",exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.cjs"},"./widget.css":{import:"./widget.css",default:"./dist/widget.css"}},files:["dist","widget.css","src"],scripts:{build:"rimraf dist && npm run build:styles && npm run build:client && npm run build:installer","build:styles":`node -e "const fs=require('fs');fs.mkdirSync('dist',{recursive:true});fs.copyFileSync('src/styles/widget.css','dist/widget.css');"`,"build:client":'tsup src/index.ts --format esm,cjs,iife --global-name AgentWidget --minify --sourcemap --splitting false --dts --loader ".css=text"',"build:installer":"tsup src/install.ts --format iife --global-name SiteAgentInstaller --out-dir dist --minify --sourcemap --no-splitting",lint:"eslint . --ext .ts",typecheck:"tsc --noEmit",test:"vitest","test:ui":"vitest --ui","test:run":"vitest run"},dependencies:{idiomorph:"^0.7.4",lucide:"^0.552.0",marked:"^12.0.2","partial-json":"^0.1.7",zod:"^3.22.4"},devDependencies:{"@types/node":"^20.12.7","@typescript-eslint/eslint-plugin":"^7.0.0","@typescript-eslint/parser":"^7.0.0","@vitest/ui":"^4.0.9",eslint:"^8.57.0","eslint-config-prettier":"^9.1.0","fake-indexeddb":"^6.2.5",postcss:"^8.4.38",rimraf:"^5.0.5",tailwindcss:"^3.4.10",tsup:"^8.0.1",typescript:"^5.4.5",vitest:"^4.0.9"},engines:{node:">=18.17.0"},license:"MIT",keywords:["ai","chat","widget","streaming","typescript","persona","agent"],repository:{type:"git",url:"git+https://github.com/runtypelabs/persona.git",directory:"packages/widget"},bugs:{url:"https://github.com/runtypelabs/persona/issues"},homepage:"https://github.com/runtypelabs/persona/tree/main/packages/widget#readme",publishConfig:{access:"public"}};var kn=qi.version;function tn(e){if(e!==void 0)return typeof e=="string"?e:Array.isArray(e)?`[${e.map(n=>n.toString()).join(", ")}]`:e.toString()}function rl(e){if(e)return{getHeaders:tn(e.getHeaders),onFeedback:tn(e.onFeedback),onCopy:tn(e.onCopy),requestMiddleware:tn(e.requestMiddleware),actionHandlers:tn(e.actionHandlers),actionParsers:tn(e.actionParsers),postprocessMessage:tn(e.postprocessMessage),contextProviders:tn(e.contextProviders),streamParser:tn(e.streamParser)}}var zi=`({ text, message }: any) => {
|
|
60
|
+
`}if(!H){let pn="max-height: -moz-available !important; max-height: stretch !important;",gn=l?"":"padding-top: 1.25em !important;";Ie.style.cssText+=pn+gn}};it(),fs(e,t);let pt=[];G&&pt.push(()=>{ce!==null&&(cancelAnimationFrame(ce),ce=null),Z==null||Z.destroy(),Z=null,D==null||D.destroy(),D=null,N=null});let Nt=null,Wn=()=>{Nt&&(Nt(),Nt=null),t.colorScheme==="auto"&&(Nt=yi(()=>{fs(e,t)}))};Wn(),pt.push(()=>{Nt&&(Nt(),Nt=null)});let nn=Pi(Et),Jt=null,$,sn=!1,Vt=!0,ln=0,In=0,Xt=null,Gt=!1,hn=0,fn=!1,Zn=125,es=2e3,ts=5,Pn=50,wn=new Map,Ye={active:!1,manuallyDeactivated:!1,lastUserMessageWasVoice:!1,lastUserMessageId:null},Hn=(yr=(vr=t.voiceRecognition)==null?void 0:vr.autoResume)!=null?yr:!1,Bn=l=>{s.emit("voice:state",{active:Ye.active,source:l,timestamp:Date.now()})},Qt=()=>{c(l=>({...l,voiceState:{active:Ye.active,timestamp:Date.now(),manuallyDeactivated:Ye.manuallyDeactivated}}))},ns=()=>{var I,E;if(((I=t.voiceRecognition)==null?void 0:I.enabled)===!1)return;let l=Qs(a.voiceState),u=!!l.active,S=Number((E=l.timestamp)!=null?E:0);Ye.manuallyDeactivated=!!l.manuallyDeactivated,u&&Date.now()-S<Qa&&setTimeout(()=>{Ye.active||(Ye.manuallyDeactivated=!1,He("restore"))},1e3)},ss=()=>$?Ni($.getMessages()).filter(l=>!l.__skipPersist):[];function Rn(l){if(!(i!=null&&i.save))return;let S={messages:l?Ni(l):$?ss():[],metadata:a};try{let I=i.save(S);I instanceof Promise&&I.catch(E=>{typeof console!="undefined"&&console.error("[AgentWidget] Failed to persist state:",E)})}catch(I){typeof console!="undefined"&&console.error("[AgentWidget] Failed to persist state:",I)}}let dn=(l=!1)=>{if(!Vt)return;let u=Date.now();Gt&&u<hn&&!l||(Gt&&u>=hn&&(Gt=!1),!(!l&&!sn)&&(u-In<Zn||(In=u,Xt&&cancelAnimationFrame(Xt),Xt=requestAnimationFrame(()=>{Gt||!Vt||(fn=!0,Pe.scrollTop=Pe.scrollHeight,ln=Pe.scrollTop,requestAnimationFrame(()=>{fn=!1}),Xt=null)}))))},Zt=null,rs=()=>Ie.querySelector("#persona-scroll-container")||Pe,os=(l,u=500)=>{let S=l.scrollTop,I=l.clientHeight,E=l.scrollHeight,q=E-S;if(S+I>=E-2||Math.abs(q)<5)return;Zt!==null&&(cancelAnimationFrame(Zt),Zt=null);let le=performance.now(),Te=Re=>1-Math.pow(1-Re,3),Be=Re=>{let De=l.scrollHeight;De!==E&&(E=De,q=E-S);let ne=Re-le,H=Math.min(ne/u,1),he=Te(H),we=S+q*he;l.scrollTop=we,H<1?Zt=requestAnimationFrame(Be):(l.scrollTop=l.scrollHeight,Zt=null)};Zt=requestAnimationFrame(Be)},is=l=>{let u=new Map;l.forEach(S=>{let I=wn.get(S.id);u.set(S.id,{streaming:S.streaming,role:S.role}),!I&&S.role==="assistant"&&s.emit("assistant:message",S),S.role==="assistant"&&(I!=null&&I.streaming)&&S.streaming===!1&&s.emit("assistant:complete",S)}),wn.clear(),u.forEach((S,I)=>{wn.set(I,S)})},cn=(l,u,S)=>{var Be,Re,De,ne;let I=document.createElement("div"),q=(()=>{var he;let H=o.find(we=>we.renderLoadingIndicator);if(H!=null&&H.renderLoadingIndicator)return H.renderLoadingIndicator;if((he=t.loadingIndicator)!=null&&he.render)return t.loadingIndicator.render})();u.forEach(H=>{var mt,It;let he=null,we=o.find(K=>!!(H.variant==="reasoning"&&K.renderReasoning||H.variant==="tool"&&K.renderToolCall||!H.variant&&K.renderMessage)),Xe=(mt=t.layout)==null?void 0:mt.messages;if(we)if(H.variant==="reasoning"&&H.reasoning&&we.renderReasoning){if(!O)return;he=we.renderReasoning({message:H,defaultRenderer:()=>$s(H),config:t})}else if(H.variant==="tool"&&H.toolCall&&we.renderToolCall){if(!se)return;he=we.renderToolCall({message:H,defaultRenderer:()=>Os(H,t),config:t})}else we.renderMessage&&(he=we.renderMessage({message:H,defaultRenderer:()=>{let K=Vn(H,S,Xe,t.messageActions,Tt,{loadingIndicatorRenderer:q,widgetConfig:t});return H.role!=="user"&&Ds(K,H,t,$),K},config:t}));if(!he&&H.role==="assistant"&&!H.variant&&t.enableComponentStreaming!==!1&&Ys(H)){let je=Vs(H);if(je){let Kt=Ks(je,{config:t,message:H,transform:S});if(Kt){let zt=document.createElement("div");if(zt.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(" "),zt.id=`bubble-${H.id}`,zt.setAttribute("data-message-id",H.id),H.content&&H.content.trim()){let rn=document.createElement("div");rn.className="tvw-mb-3 tvw-text-sm tvw-leading-relaxed",rn.innerHTML=S({text:H.content,message:H,streaming:!!H.streaming,raw:H.rawContent}),zt.appendChild(rn)}zt.appendChild(Kt),he=zt}}}if(!he)if(H.variant==="reasoning"&&H.reasoning){if(!O)return;he=$s(H)}else if(H.variant==="tool"&&H.toolCall){if(!se)return;he=Os(H,t)}else{let K=(It=t.layout)==null?void 0:It.messages;K!=null&&K.renderUserMessage&&H.role==="user"?he=K.renderUserMessage({message:H,config:t,streaming:!!H.streaming}):K!=null&&K.renderAssistantMessage&&H.role==="assistant"?he=K.renderAssistantMessage({message:H,config:t,streaming:!!H.streaming}):he=Vn(H,S,K,t.messageActions,Tt,{loadingIndicatorRenderer:q,widgetConfig:t}),H.role!=="user"&&he&&Ds(he,H,t,$)}let Le=document.createElement("div");Le.className="tvw-flex",Le.id=`wrapper-${H.id}`,Le.setAttribute("data-wrapper-id",H.id),H.role==="user"&&Le.classList.add("tvw-justify-end"),Le.appendChild(he),I.appendChild(Le)});let be=u.some(H=>H.role==="assistant"&&H.streaming),le=u[u.length-1],Te=(le==null?void 0:le.role)==="assistant"&&!le.streaming;if(sn&&u.some(H=>H.role==="user")&&!be&&!Te){let H={config:t,streaming:!0,location:"standalone",defaultRenderer:Sn},he=o.find(Xe=>Xe.renderLoadingIndicator),we=null;if(he!=null&&he.renderLoadingIndicator&&(we=he.renderLoadingIndicator(H)),we===null&&((Be=t.loadingIndicator)!=null&&Be.render)&&(we=t.loadingIndicator.render(H)),we===null&&(we=Sn()),we){let Xe=document.createElement("div"),Le=((Re=t.loadingIndicator)==null?void 0:Re.showBubble)!==!1;Xe.className=Le?["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(" "):["tvw-max-w-[85%]","tvw-text-sm","tvw-leading-relaxed","tvw-text-cw-primary"].join(" "),Xe.setAttribute("data-typing-indicator","true"),Xe.appendChild(we);let mt=document.createElement("div");mt.className="tvw-flex",mt.id="wrapper-typing-indicator",mt.setAttribute("data-wrapper-id","typing-indicator"),mt.appendChild(Xe),I.appendChild(mt)}}if(!sn&&u.length>0){let H=u[u.length-1],he={config:t,lastMessage:H,messageCount:u.length},we=o.find(Le=>Le.renderIdleIndicator),Xe=null;if(we!=null&&we.renderIdleIndicator&&(Xe=we.renderIdleIndicator(he)),Xe===null&&((De=t.loadingIndicator)!=null&&De.renderIdle)&&(Xe=t.loadingIndicator.renderIdle(he)),Xe){let Le=document.createElement("div"),mt=((ne=t.loadingIndicator)==null?void 0:ne.showBubble)!==!1;Le.className=mt?["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(" "):["tvw-max-w-[85%]","tvw-text-sm","tvw-leading-relaxed","tvw-text-cw-primary"].join(" "),Le.setAttribute("data-idle-indicator","true"),Le.appendChild(Xe);let It=document.createElement("div");It.className="tvw-flex",It.id="wrapper-idle-indicator",It.setAttribute("data-wrapper-id","idle-indicator"),It.appendChild(Le),I.appendChild(It)}}bi(l,I),requestAnimationFrame(()=>{requestAnimationFrame(()=>{let H=rs();os(H)})})},un=()=>{b&&(f?(Ie.classList.remove("tvw-pointer-events-none","tvw-opacity-0"),ye.classList.remove("tvw-scale-95","tvw-opacity-0"),ye.classList.add("tvw-scale-100","tvw-opacity-100"),k?k.element.style.display="none":h&&(h.style.display="none")):(Ie.classList.add("tvw-pointer-events-none","tvw-opacity-0"),ye.classList.remove("tvw-scale-100","tvw-opacity-100"),ye.classList.add("tvw-scale-95","tvw-opacity-0"),k?k.element.style.display="":h&&(h.style.display="")))},tt=(l,u="user")=>{if(!b||f===l)return;let S=f;f=l,un(),f&&(M(),dn(!0));let I={open:f,source:u,timestamp:Date.now()};f&&!S?s.emit("widget:opened",I):!f&&S&&s.emit("widget:closed",I),s.emit("widget:state",{open:f,launcherEnabled:b,voiceActive:Ye.active,streaming:$.isStreaming()})},vn=l=>{J.disabled=l,j&&(j.disabled=l),nn.buttons.forEach(u=>{u.disabled=l})},Fn=()=>{var E,q,be,le,Te,Be,Re,De,ne,H,he,we,Xe,Le;Ot.textContent=(q=(E=t.copy)==null?void 0:E.welcomeTitle)!=null?q:"Hello \u{1F44B}",wt.textContent=(le=(be=t.copy)==null?void 0:be.welcomeSubtitle)!=null?le:"Ask anything about your account or products.",pe.placeholder=(Be=(Te=t.copy)==null?void 0:Te.inputPlaceholder)!=null?Be:"How can I help...",((De=(Re=t.sendButton)==null?void 0:Re.useIcon)!=null?De:!1)||(J.textContent=(H=(ne=t.copy)==null?void 0:ne.sendButtonLabel)!=null?H:"Send");let u=(we=(he=t.theme)==null?void 0:he.inputFontFamily)!=null?we:"sans-serif",S=(Le=(Xe=t.theme)==null?void 0:Xe.inputFontWeight)!=null?Le:"400",I=mt=>{switch(mt){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'}};pe.style.fontFamily=I(u),pe.style.fontWeight=S};t.clientToken&&(t={...t,getStoredSessionId:()=>{let l=a.sessionId;return typeof l=="string"?l:null},setStoredSessionId:l=>{c(u=>({...u,sessionId:l}))}}),$=new Un(t,{onMessagesChanged(l){cn(et,l,X),$&&(l.some(E=>E.role==="user")?nn.render([],$,pe,l):nn.render(t.suggestionChips,$,pe,l,t.suggestionChipsConfig)),dn(!sn),is(l);let u=[...l].reverse().find(I=>I.role==="user"),S=Ye.lastUserMessageId;u&&u.id!==S&&(Ye.lastUserMessageId=u.id,s.emit("user:message",u)),Ye.lastUserMessageWasVoice=!!(u!=null&&u.viaVoice),Rn(l)},onStatusChanged(l){var I;let u=(I=t.statusIndicator)!=null?I:{},S=E=>{var q,be,le,Te;return E==="idle"?(q=u.idleText)!=null?q:Pt.idle:E==="connecting"?(be=u.connectingText)!=null?be:Pt.connecting:E==="connected"?(le=u.connectedText)!=null?le:Pt.connected:E==="error"?(Te=u.errorText)!=null?Te:Pt.error:Pt[E]};ft.textContent=S(l)},onStreamingChanged(l){sn=l,vn(l),$&&cn(et,$.getMessages(),X),l||dn(!0)}}),D&&$.setSSEEventCallback((l,u)=>{D==null||D.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:l,timestamp:Date.now(),payload:JSON.stringify(u)})}),d&&d.then(l=>{var u;l&&(l.metadata&&(a=Qs(l.metadata),C.syncFromMetadata()),(u=l.messages)!=null&&u.length&&$.hydrateMessages(l.messages))}).catch(l=>{typeof console!="undefined"&&console.error("[AgentWidget] Failed to hydrate stored state:",l)});let $n=l=>{var E;l.preventDefault();let u=pe.value.trim(),S=(E=de==null?void 0:de.hasAttachments())!=null?E:!1;if(!u&&!S)return;let I;S&&(I=[],I.push(...de.getContentParts()),u&&I.push(Bs(u))),pe.value="",pe.style.height="auto",$.sendMessage(u,{contentParts:I}),S&&de.clearAttachments()},On=l=>{l.key==="Enter"&&!l.shiftKey&&(l.preventDefault(),J.click())},Ht=null,Dt=!1,en=null,B=null,Ee=()=>typeof window=="undefined"?null:window.webkitSpeechRecognition||window.SpeechRecognition||null,He=(l="user")=>{var q,be,le,Te;if(Dt||$.isStreaming())return;let u=Ee();if(!u)return;Ht=new u;let I=(be=((q=t.voiceRecognition)!=null?q:{}).pauseDuration)!=null?be:2e3;Ht.continuous=!0,Ht.interimResults=!0,Ht.lang="en-US";let E=pe.value;Ht.onresult=Be=>{let Re="",De="";for(let H=0;H<Be.results.length;H++){let he=Be.results[H],we=he[0].transcript;he.isFinal?Re+=we+" ":De=we}let ne=E+Re+De;pe.value=ne,en&&clearTimeout(en),(Re||De)&&(en=window.setTimeout(()=>{let H=pe.value.trim();H&&Ht&&Dt&&(Je(),pe.value="",pe.style.height="auto",$.sendMessage(H,{viaVoice:!0}))},I))},Ht.onerror=Be=>{Be.error!=="no-speech"&&Je()},Ht.onend=()=>{if(Dt){let Be=pe.value.trim();Be&&Be!==E.trim()&&(pe.value="",pe.style.height="auto",$.sendMessage(Be,{viaVoice:!0})),Je()}};try{if(Ht.start(),Dt=!0,Ye.active=!0,l!=="system"&&(Ye.manuallyDeactivated=!1),Bn(l),Qt(),j){B={backgroundColor:j.style.backgroundColor,color:j.style.color,borderColor:j.style.borderColor};let Be=(le=t.voiceRecognition)!=null?le:{},Re=(Te=Be.recordingBackgroundColor)!=null?Te:"#ef4444",De=Be.recordingIconColor,ne=Be.recordingBorderColor;if(j.classList.add("tvw-voice-recording"),j.style.backgroundColor=Re,De){j.style.color=De;let H=j.querySelector("svg");H&&H.setAttribute("stroke",De)}ne&&(j.style.borderColor=ne),j.setAttribute("aria-label","Stop voice recognition")}}catch{Je("system")}},Je=(l="user")=>{if(Dt){if(Dt=!1,en&&(clearTimeout(en),en=null),Ht){try{Ht.stop()}catch{}Ht=null}if(Ye.active=!1,Bn(l),Qt(),j){if(j.classList.remove("tvw-voice-recording"),B){j.style.backgroundColor=B.backgroundColor,j.style.color=B.color,j.style.borderColor=B.borderColor;let u=j.querySelector("svg");u&&u.setAttribute("stroke",B.color||"currentColor"),B=null}j.setAttribute("aria-label","Start voice recognition")}}},Ct=(l,u)=>{var we,Xe,Le,mt,It,K,je;if(!(typeof window!="undefined"&&(typeof window.webkitSpeechRecognition!="undefined"||typeof window.SpeechRecognition!="undefined")))return null;let I=p("div","tvw-send-button-wrapper"),E=p("button","tvw-rounded-button tvw-flex tvw-items-center tvw-justify-center disabled:tvw-opacity-50 tvw-cursor-pointer");E.type="button",E.setAttribute("aria-label","Start voice recognition");let q=(we=l==null?void 0:l.iconName)!=null?we:"mic",be=(Xe=u==null?void 0:u.size)!=null?Xe:"40px",le=(Le=l==null?void 0:l.iconSize)!=null?Le:be,Te=parseFloat(le)||24,Be=(mt=l==null?void 0:l.backgroundColor)!=null?mt:u==null?void 0:u.backgroundColor,Re=(It=l==null?void 0:l.iconColor)!=null?It:u==null?void 0:u.textColor;E.style.width=le,E.style.height=le,E.style.minWidth=le,E.style.minHeight=le,E.style.fontSize="18px",E.style.lineHeight="1";let De=Re||"currentColor",ne=oe(q,Te,De,1.5);ne?(E.appendChild(ne),E.style.color=De):(E.textContent="\u{1F3A4}",E.style.color=De),Be?E.style.backgroundColor=Be:E.classList.add("tvw-bg-cw-primary"),Re?E.style.color=Re:!Re&&!(u!=null&&u.textColor)&&E.classList.add("tvw-text-white"),l!=null&&l.borderWidth&&(E.style.borderWidth=l.borderWidth,E.style.borderStyle="solid"),l!=null&&l.borderColor&&(E.style.borderColor=l.borderColor),l!=null&&l.paddingX&&(E.style.paddingLeft=l.paddingX,E.style.paddingRight=l.paddingX),l!=null&&l.paddingY&&(E.style.paddingTop=l.paddingY,E.style.paddingBottom=l.paddingY),I.appendChild(E);let H=(K=l==null?void 0:l.tooltipText)!=null?K:"Start voice recognition";if(((je=l==null?void 0:l.showTooltip)!=null?je:!1)&&H){let Kt=p("div","tvw-send-button-tooltip");Kt.textContent=H,I.appendChild(Kt)}return{micButton:E,micButtonWrapper:I}},xt=()=>{if(Dt){let l=pe.value.trim();Ye.manuallyDeactivated=!0,Qt(),Je("user"),l&&(pe.value="",pe.style.height="auto",$.sendMessage(l))}else Ye.manuallyDeactivated=!1,Qt(),He("user")};j&&(j.addEventListener("click",xt),pt.push(()=>{Je("system"),j&&j.removeEventListener("click",xt)}));let st=s.on("assistant:complete",()=>{Hn&&(Ye.active||Ye.manuallyDeactivated||Hn==="assistant"&&!Ye.lastUserMessageWasVoice||setTimeout(()=>{!Ye.active&&!Ye.manuallyDeactivated&&He("auto")},600))});pt.push(st);let y=s.on("action:resubmit",()=>{setTimeout(()=>{$&&!$.isStreaming()&&$.continueConversation()},100)});pt.push(y);let Oe=()=>{tt(!f,"user")},k=null,h=null;if(b){let l=o.find(u=>u.renderLauncher);if(l!=null&&l.renderLauncher){let u=l.renderLauncher({config:t,defaultRenderer:()=>Jn(t,Oe).element,onToggle:Oe});u&&(h=u)}h||(k=Jn(t,Oe))}k?e.appendChild(k.element):h&&e.appendChild(h),un(),nn.render(t.suggestionChips,$,pe,void 0,t.suggestionChipsConfig),Fn(),vn($.isStreaming()),dn(!0),ns();let M=()=>{var S,I,E,q,be,le,Te,Be;let l=(I=(S=t.launcher)==null?void 0:S.sidebarMode)!=null?I:!1,u=l||((q=(E=t.launcher)==null?void 0:E.fullHeight)!=null?q:!1);if(!b){ye.style.height="",ye.style.width="";return}if(!l){let Re=(le=(be=t==null?void 0:t.launcher)==null?void 0:be.width)!=null?le:t==null?void 0:t.launcherWidth,De=Re!=null?Re:"min(400px, calc(100vw - 24px))";ye.style.width=De,ye.style.maxWidth=De}if(!u){let Re=window.innerHeight,De=64,ne=(Be=(Te=t.launcher)==null?void 0:Te.heightOffset)!=null?Be:0,H=Math.max(200,Re-De),he=Math.min(640,H),we=Math.max(200,he-ne);ye.style.height=`${we}px`}};M(),window.addEventListener("resize",M),pt.push(()=>window.removeEventListener("resize",M)),ln=Pe.scrollTop;let ae=()=>{let l=Pe.scrollTop,u=Pe.scrollHeight,S=Pe.clientHeight,I=u-l-S,E=Math.abs(l-ln);if(ln=l,!fn&&!(E<=ts)){if(!Vt&&I<Pn){Gt=!1,Vt=!0;return}Vt&&I>Pn&&(Gt=!0,hn=Date.now()+es,Vt=!1)}};Pe.addEventListener("scroll",ae,{passive:!0}),pt.push(()=>Pe.removeEventListener("scroll",ae)),pt.push(()=>{Xt&&cancelAnimationFrame(Xt)});let Ze=()=>{V&&(Jt&&(V.removeEventListener("click",Jt),Jt=null),b?(V.style.display="",Jt=()=>{f=!1,un()},V.addEventListener("click",Jt)):V.style.display="none")};Ze(),(()=>{let{clearChatButton:l}=ee;l&&l.addEventListener("click",()=>{$.clearMessages();try{localStorage.removeItem(Ln),t.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${Ln}`)}catch(S){console.error("[AgentWidget] Failed to clear default localStorage:",S)}if(t.clearChatHistoryStorageKey&&t.clearChatHistoryStorageKey!==Ln)try{localStorage.removeItem(t.clearChatHistoryStorageKey),t.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${t.clearChatHistoryStorageKey}`)}catch(S){console.error("[AgentWidget] Failed to clear custom localStorage:",S)}let u=new CustomEvent("persona:clear-chat",{detail:{timestamp:new Date().toISOString()}});if(window.dispatchEvent(u),i!=null&&i.clear)try{let S=i.clear();S instanceof Promise&&S.catch(I=>{typeof console!="undefined"&&console.error("[AgentWidget] Failed to clear storage adapter:",I)})}catch(S){typeof console!="undefined"&&console.error("[AgentWidget] Failed to clear storage adapter:",S)}a={},C.syncFromMetadata(),D==null||D.clear(),Z==null||Z.update()})})(),ut.addEventListener("submit",$n),pe.addEventListener("keydown",On),pt.push(()=>{ut.removeEventListener("submit",$n),pe.removeEventListener("keydown",On)}),pt.push(()=>{$.cancel()}),k?pt.push(()=>{k==null||k.destroy()}):h&&pt.push(()=>{h==null||h.remove()});let Ve={update(l){var Tr,Mr,Lr,kr,Wr,Ir,Pr,Hr,Br,Rr,Fr,$r,Or,Nr,Dr,jr,_r,qr,zr,Ur,Jr,Kr,Yr,Vr,Xr,Gr,Qr,Zr,eo,to,no,so,ro,oo,io,ao,lo,co,uo,po,go,mo,ho,fo,wo,vo,yo,bo,Co,xo,So,Ao,Eo,To,Mo,Lo,ko,Wo,Io,Po,Ho,Bo,Ro,Fo,$o,Oo,No,Do,jo,_o,qo,zo,Uo,Jo,Ko,Yo,Vo,Xo,Go,Qo,Zo,ei,ti,ni,si,ri;let u=t.toolCall,S=t.colorScheme;t={...t,...l},it(),fs(e,t),t.colorScheme!==S&&Wn();let I=ws.getForInstance(t.plugins);o.length=0,o.push(...I),b=(Mr=(Tr=t.launcher)==null?void 0:Tr.enabled)!=null?Mr:!0,A=(kr=(Lr=t.launcher)==null?void 0:Lr.autoExpand)!=null?kr:!1,O=(Ir=(Wr=t.features)==null?void 0:Wr.showReasoning)!=null?Ir:!0,se=(Hr=(Pr=t.features)==null?void 0:Pr.showToolCalls)!=null?Hr:!0;let E=G;if(G=(Rr=(Br=t.features)==null?void 0:Br.showEventStreamToggle)!=null?Rr:!1,G&&!E){if(D||(N=new Gn(ve),D=new Xn(re,N),N.open().then(()=>D==null?void 0:D.restore()).catch(()=>{}),$.setSSEEventCallback((L,Ce)=>{D.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:L,timestamp:Date.now(),payload:JSON.stringify(Ce)})})),!_&&Q){let L=($r=(Fr=t.features)==null?void 0:Fr.eventStream)==null?void 0:$r.classNames,Ce="tvw-inline-flex tvw-items-center tvw-justify-center tvw-rounded-full tvw-text-cw-muted hover:tvw-bg-gray-100 tvw-cursor-pointer tvw-border-none tvw-bg-transparent tvw-p-1"+(L!=null&&L.toggleButton?" "+L.toggleButton:"");_=p("button",Ce),_.style.width="28px",_.style.height="28px",_.type="button",_.setAttribute("aria-label","Event Stream"),_.title="Event Stream";let Ge=oe("activity","18px","currentColor",1.5);Ge&&_.appendChild(Ge);let me=ee.clearChatButtonWrapper,We=ee.closeButtonWrapper,ht=me||We;ht&&ht.parentNode===Q?Q.insertBefore(_,ht):Q.appendChild(_),_.addEventListener("click",()=>{fe?$e():xe()})}}else!G&&E&&($e(),_&&(_.remove(),_=null),D==null||D.clear(),N==null||N.destroy(),D=null,N=null);if(((Or=t.launcher)==null?void 0:Or.enabled)===!1&&k&&(k.destroy(),k=null),((Nr=t.launcher)==null?void 0:Nr.enabled)===!1&&h&&(h.remove(),h=null),((Dr=t.launcher)==null?void 0:Dr.enabled)!==!1&&!k&&!h){let L=o.find(Ce=>Ce.renderLauncher);if(L!=null&&L.renderLauncher){let Ce=L.renderLauncher({config:t,defaultRenderer:()=>Jn(t,Oe).element,onToggle:Oe});Ce&&(h=Ce,e.appendChild(h))}h||(k=Jn(t,Oe),e.appendChild(k.element))}k&&k.update(t),vt&&((jr=t.launcher)==null?void 0:jr.title)!==void 0&&(vt.textContent=t.launcher.title),yt&&((_r=t.launcher)==null?void 0:_r.subtitle)!==void 0&&(yt.textContent=t.launcher.subtitle);let q=(qr=t.layout)==null?void 0:qr.header;if((q==null?void 0:q.layout)!==Y&&Q){let L=q?Kn(t,q,{showClose:b,onClose:()=>tt(!1,"user")}):an({config:t,showClose:b,onClose:()=>tt(!1,"user")});Q.replaceWith(L.header),Q=L.header,Me=L.iconHolder,vt=L.headerTitle,yt=L.headerSubtitle,V=L.closeButton,Y=q==null?void 0:q.layout}else if(q&&(Me&&(Me.style.display=q.showIcon===!1?"none":""),vt&&(vt.style.display=q.showTitle===!1?"none":""),yt&&(yt.style.display=q.showSubtitle===!1?"none":""),V&&(V.style.display=q.showCloseButton===!1?"none":""),ee.clearChatButtonWrapper)){let L=q.showClearChat;if(L!==void 0){ee.clearChatButtonWrapper.style.display=L?"":"none";let{closeButtonWrapper:Ce}=ee;Ce&&!Ce.classList.contains("tvw-absolute")&&(L?Ce.classList.remove("tvw-ml-auto"):Ce.classList.add("tvw-ml-auto"))}}let le=((zr=t.layout)==null?void 0:zr.showHeader)!==!1;Q&&(Q.style.display=le?"":"none");let Te=((Ur=t.layout)==null?void 0:Ur.showFooter)!==!1;Fe&&(Fe.style.display=Te?"":"none"),b!==W?b?tt(A,"auto"):(f=!0,un()):A!==x&&tt(A,"auto"),x=A,W=b,M(),Ze(),JSON.stringify(l.toolCall)!==JSON.stringify(u)&&$&&cn(et,$.getMessages(),X);let ne=(Jr=t.launcher)!=null?Jr:{},H=(Kr=ne.headerIconHidden)!=null?Kr:!1,he=(Vr=(Yr=t.layout)==null?void 0:Yr.header)==null?void 0:Vr.showIcon,we=H||he===!1,Xe=ne.headerIconName,Le=(Xr=ne.headerIconSize)!=null?Xr:"48px";if(Me){let L=ue.querySelector(".tvw-border-b-cw-divider"),Ce=L==null?void 0:L.querySelector(".tvw-flex-col");if(we)Me.style.display="none",L&&Ce&&!L.contains(Ce)&&L.insertBefore(Ce,L.firstChild);else{if(Me.style.display="",Me.style.height=Le,Me.style.width=Le,L&&Ce&&(L.contains(Me)?Me.nextSibling!==Ce&&(Me.remove(),L.insertBefore(Me,Ce)):L.insertBefore(Me,Ce)),Xe){let me=parseFloat(Le)||24,We=oe(Xe,me*.6,"#ffffff",2);We?Me.replaceChildren(We):Me.textContent=(Gr=ne.agentIconText)!=null?Gr:"\u{1F4AC}"}else if(ne.iconUrl){let me=Me.querySelector("img");if(me)me.src=ne.iconUrl,me.style.height=Le,me.style.width=Le;else{let We=document.createElement("img");We.src=ne.iconUrl,We.alt="",We.className="tvw-rounded-xl tvw-object-cover",We.style.height=Le,We.style.width=Le,Me.replaceChildren(We)}}else{let me=Me.querySelector("svg"),We=Me.querySelector("img");(me||We)&&Me.replaceChildren(),Me.textContent=(Qr=ne.agentIconText)!=null?Qr:"\u{1F4AC}"}let Ge=Me.querySelector("img");Ge&&(Ge.style.height=Le,Ge.style.width=Le)}}let mt=(eo=(Zr=t.layout)==null?void 0:Zr.header)==null?void 0:eo.showTitle,It=(no=(to=t.layout)==null?void 0:to.header)==null?void 0:no.showSubtitle;if(vt&&(vt.style.display=mt===!1?"none":""),yt&&(yt.style.display=It===!1?"none":""),V){((ro=(so=t.layout)==null?void 0:so.header)==null?void 0:ro.showCloseButton)===!1?V.style.display="none":V.style.display="";let Ce=(oo=ne.closeButtonSize)!=null?oo:"32px",Ge=(io=ne.closeButtonPlacement)!=null?io:"inline";V.style.height=Ce,V.style.width=Ce;let{closeButtonWrapper:me}=ee,We=Ge==="top-right",ht=me==null?void 0:me.classList.contains("tvw-absolute");if(me&&We!==ht)if(me.remove(),We)me.className="tvw-absolute tvw-top-4 tvw-right-4 tvw-z-50",ue.style.position="relative",ue.appendChild(me);else{let Se=(lo=(ao=ne.clearChat)==null?void 0:ao.placement)!=null?lo:"inline",At=(uo=(co=ne.clearChat)==null?void 0:co.enabled)!=null?uo:!0;me.className=At&&Se==="inline"?"":"tvw-ml-auto";let Ft=ue.querySelector(".tvw-border-b-cw-divider");Ft&&Ft.appendChild(me)}if(ne.closeButtonColor?(V.style.color=ne.closeButtonColor,V.classList.remove("tvw-text-cw-muted")):(V.style.color="",V.classList.add("tvw-text-cw-muted")),ne.closeButtonBackgroundColor?(V.style.backgroundColor=ne.closeButtonBackgroundColor,V.classList.remove("hover:tvw-bg-gray-100")):(V.style.backgroundColor="",V.classList.add("hover:tvw-bg-gray-100")),ne.closeButtonBorderWidth||ne.closeButtonBorderColor){let Se=ne.closeButtonBorderWidth||"0px",At=ne.closeButtonBorderColor||"transparent";V.style.border=`${Se} solid ${At}`,V.classList.remove("tvw-border-none")}else V.style.border="",V.classList.add("tvw-border-none");ne.closeButtonBorderRadius?(V.style.borderRadius=ne.closeButtonBorderRadius,V.classList.remove("tvw-rounded-full")):(V.style.borderRadius="",V.classList.add("tvw-rounded-full")),ne.closeButtonPaddingX?(V.style.paddingLeft=ne.closeButtonPaddingX,V.style.paddingRight=ne.closeButtonPaddingX):(V.style.paddingLeft="",V.style.paddingRight=""),ne.closeButtonPaddingY?(V.style.paddingTop=ne.closeButtonPaddingY,V.style.paddingBottom=ne.closeButtonPaddingY):(V.style.paddingTop="",V.style.paddingBottom="");let kt=(po=ne.closeButtonIconName)!=null?po:"x",jt=(go=ne.closeButtonIconText)!=null?go:"\xD7";V.innerHTML="";let Bt=oe(kt,"20px",ne.closeButtonColor||"",2);Bt?V.appendChild(Bt):V.textContent=jt;let ot=(mo=ne.closeButtonTooltipText)!=null?mo:"Close chat",_t=(ho=ne.closeButtonShowTooltip)!=null?ho:!0;if(V.setAttribute("aria-label",ot),me&&(me._cleanupTooltip&&(me._cleanupTooltip(),delete me._cleanupTooltip),_t&&ot)){let Se=null,At=()=>{if(Se||!V)return;Se=p("div","tvw-clear-chat-tooltip"),Se.textContent=ot;let qn=p("div");qn.className="tvw-clear-chat-tooltip-arrow",Se.appendChild(qn);let mn=V.getBoundingClientRect();Se.style.position="fixed",Se.style.left=`${mn.left+mn.width/2}px`,Se.style.top=`${mn.top-8}px`,Se.style.transform="translate(-50%, -100%)",document.body.appendChild(Se)},Ft=()=>{Se&&Se.parentNode&&(Se.parentNode.removeChild(Se),Se=null)};me.addEventListener("mouseenter",At),me.addEventListener("mouseleave",Ft),V.addEventListener("focus",At),V.addEventListener("blur",Ft),me._cleanupTooltip=()=>{Ft(),me&&(me.removeEventListener("mouseenter",At),me.removeEventListener("mouseleave",Ft)),V&&(V.removeEventListener("focus",At),V.removeEventListener("blur",Ft))}}}let{clearChatButton:K,clearChatButtonWrapper:je}=ee;if(K){let L=(fo=ne.clearChat)!=null?fo:{},Ce=(wo=L.enabled)!=null?wo:!0,Ge=(yo=(vo=t.layout)==null?void 0:vo.header)==null?void 0:yo.showClearChat,me=Ge!==void 0?Ge:Ce,We=(bo=L.placement)!=null?bo:"inline";if(je){je.style.display=me?"":"none";let{closeButtonWrapper:ht}=ee;ht&&!ht.classList.contains("tvw-absolute")&&(me?ht.classList.remove("tvw-ml-auto"):ht.classList.add("tvw-ml-auto"));let kt=We==="top-right",jt=je.classList.contains("tvw-absolute");if(kt!==jt&&me){if(je.remove(),kt)je.className="tvw-absolute tvw-top-4 tvw-z-50",je.style.right="48px",ue.style.position="relative",ue.appendChild(je);else{je.className="tvw-relative tvw-ml-auto tvw-clear-chat-button-wrapper",je.style.right="";let ot=ue.querySelector(".tvw-border-b-cw-divider"),_t=ee.closeButtonWrapper;ot&&_t&&_t.parentElement===ot?ot.insertBefore(je,_t):ot&&ot.appendChild(je)}let Bt=ee.closeButtonWrapper;Bt&&!Bt.classList.contains("tvw-absolute")&&(kt?Bt.classList.add("tvw-ml-auto"):Bt.classList.remove("tvw-ml-auto"))}}if(me){let ht=(Co=L.size)!=null?Co:"32px";K.style.height=ht,K.style.width=ht;let kt=(xo=L.iconName)!=null?xo:"refresh-cw",jt=(So=L.iconColor)!=null?So:"";K.innerHTML="";let Bt=oe(kt,"20px",jt||"",2);if(Bt&&K.appendChild(Bt),jt?(K.style.color=jt,K.classList.remove("tvw-text-cw-muted")):(K.style.color="",K.classList.add("tvw-text-cw-muted")),L.backgroundColor?(K.style.backgroundColor=L.backgroundColor,K.classList.remove("hover:tvw-bg-gray-100")):(K.style.backgroundColor="",K.classList.add("hover:tvw-bg-gray-100")),L.borderWidth||L.borderColor){let Se=L.borderWidth||"0px",At=L.borderColor||"transparent";K.style.border=`${Se} solid ${At}`,K.classList.remove("tvw-border-none")}else K.style.border="",K.classList.add("tvw-border-none");L.borderRadius?(K.style.borderRadius=L.borderRadius,K.classList.remove("tvw-rounded-full")):(K.style.borderRadius="",K.classList.add("tvw-rounded-full")),L.paddingX?(K.style.paddingLeft=L.paddingX,K.style.paddingRight=L.paddingX):(K.style.paddingLeft="",K.style.paddingRight=""),L.paddingY?(K.style.paddingTop=L.paddingY,K.style.paddingBottom=L.paddingY):(K.style.paddingTop="",K.style.paddingBottom="");let ot=(Ao=L.tooltipText)!=null?Ao:"Clear chat",_t=(Eo=L.showTooltip)!=null?Eo:!0;if(K.setAttribute("aria-label",ot),je&&(je._cleanupTooltip&&(je._cleanupTooltip(),delete je._cleanupTooltip),_t&&ot)){let Se=null,At=()=>{if(Se||!K)return;Se=p("div","tvw-clear-chat-tooltip"),Se.textContent=ot;let qn=p("div");qn.className="tvw-clear-chat-tooltip-arrow",Se.appendChild(qn);let mn=K.getBoundingClientRect();Se.style.position="fixed",Se.style.left=`${mn.left+mn.width/2}px`,Se.style.top=`${mn.top-8}px`,Se.style.transform="translate(-50%, -100%)",document.body.appendChild(Se)},Ft=()=>{Se&&Se.parentNode&&(Se.parentNode.removeChild(Se),Se=null)};je.addEventListener("mouseenter",At),je.addEventListener("mouseleave",Ft),K.addEventListener("focus",At),K.addEventListener("blur",Ft),je._cleanupTooltip=()=>{Ft(),je&&(je.removeEventListener("mouseenter",At),je.removeEventListener("mouseleave",Ft)),K&&(K.removeEventListener("focus",At),K.removeEventListener("blur",Ft))}}}}let Kt=t.actionParsers&&t.actionParsers.length?t.actionParsers:[vs],zt=t.actionHandlers&&t.actionHandlers.length?t.actionHandlers:[Mn.message,Mn.messageAndClick];C=ys({parsers:Kt,handlers:zt,getSessionMetadata:v,updateSessionMetadata:c,emit:s.emit,documentRef:typeof document!="undefined"?document:null}),X=Di(t,C,P),$.updateConfig(t),cn(et,$.getMessages(),X),nn.render(t.suggestionChips,$,pe,void 0,t.suggestionChipsConfig),Fn(),vn($.isStreaming());let rn=((To=t.voiceRecognition)==null?void 0:To.enabled)===!0,as=typeof window!="undefined"&&(typeof window.webkitSpeechRecognition!="undefined"||typeof window.SpeechRecognition!="undefined");if(rn&&as)if(!j||!Qe){let L=Ct(t.voiceRecognition,t.sendButton);L&&(j=L.micButton,Qe=L.micButtonWrapper,Lt.insertBefore(Qe,ct),j.addEventListener("click",xt),j.disabled=$.isStreaming())}else{let L=(Mo=t.voiceRecognition)!=null?Mo:{},Ce=(Lo=t.sendButton)!=null?Lo:{},Ge=(ko=L.iconName)!=null?ko:"mic",me=(Wo=Ce.size)!=null?Wo:"40px",We=(Io=L.iconSize)!=null?Io:me,ht=parseFloat(We)||24;j.style.width=We,j.style.height=We,j.style.minWidth=We,j.style.minHeight=We;let kt=(Ho=(Po=L.iconColor)!=null?Po:Ce.textColor)!=null?Ho:"currentColor";j.innerHTML="";let jt=oe(Ge,ht,kt,2);jt?j.appendChild(jt):j.textContent="\u{1F3A4}";let Bt=(Bo=L.backgroundColor)!=null?Bo:Ce.backgroundColor;Bt?(j.style.backgroundColor=Bt,j.classList.remove("tvw-bg-cw-primary")):(j.style.backgroundColor="",j.classList.add("tvw-bg-cw-primary")),kt?(j.style.color=kt,j.classList.remove("tvw-text-white")):!kt&&!Ce.textColor&&(j.style.color="",j.classList.add("tvw-text-white")),L.borderWidth?(j.style.borderWidth=L.borderWidth,j.style.borderStyle="solid"):(j.style.borderWidth="",j.style.borderStyle=""),L.borderColor?j.style.borderColor=L.borderColor:j.style.borderColor="",L.paddingX?(j.style.paddingLeft=L.paddingX,j.style.paddingRight=L.paddingX):(j.style.paddingLeft="",j.style.paddingRight=""),L.paddingY?(j.style.paddingTop=L.paddingY,j.style.paddingBottom=L.paddingY):(j.style.paddingTop="",j.style.paddingBottom="");let ot=Qe==null?void 0:Qe.querySelector(".tvw-send-button-tooltip"),_t=(Ro=L.tooltipText)!=null?Ro:"Start voice recognition";if(((Fo=L.showTooltip)!=null?Fo:!1)&&_t)if(ot)ot.textContent=_t,ot.style.display="";else{let At=document.createElement("div");At.className="tvw-send-button-tooltip",At.textContent=_t,Qe==null||Qe.insertBefore(At,j)}else ot&&(ot.style.display="none");Qe.style.display="",j.disabled=$.isStreaming()}else j&&Qe&&(Qe.style.display="none",Dt&&Je());if((($o=t.attachments)==null?void 0:$o.enabled)===!0)if(!z||!Ae){let L=(Oo=t.attachments)!=null?Oo:{},Ge=(Do=((No=t.sendButton)!=null?No:{}).size)!=null?Do:"40px";ge||(ge=p("div","tvw-attachment-previews tvw-flex tvw-flex-wrap tvw-gap-2 tvw-mb-2"),ge.style.display="none",ut.insertBefore(ge,pe)),F||(F=document.createElement("input"),F.type="file",F.accept=((jo=L.allowedTypes)!=null?jo:on).join(","),F.multiple=((_o=L.maxFiles)!=null?_o:4)>1,F.style.display="none",F.setAttribute("aria-label","Attach files"),ut.insertBefore(F,pe)),z=p("div","tvw-send-button-wrapper"),Ae=p("button","tvw-rounded-button tvw-flex tvw-items-center tvw-justify-center disabled:tvw-opacity-50 tvw-cursor-pointer tvw-attachment-button"),Ae.type="button",Ae.setAttribute("aria-label",(qo=L.buttonTooltipText)!=null?qo:"Attach file");let me=(zo=L.buttonIconName)!=null?zo:"paperclip",We=Ge,ht=parseFloat(We)||40,kt=Math.round(ht*.6);Ae.style.width=We,Ae.style.height=We,Ae.style.minWidth=We,Ae.style.minHeight=We,Ae.style.fontSize="18px",Ae.style.lineHeight="1",Ae.style.backgroundColor="transparent",Ae.style.color="var(--cw-primary, #111827)",Ae.style.border="none",Ae.style.borderRadius="6px",Ae.style.transition="background-color 0.15s ease",Ae.addEventListener("mouseenter",()=>{Ae.style.backgroundColor="rgba(0, 0, 0, 0.05)"}),Ae.addEventListener("mouseleave",()=>{Ae.style.backgroundColor="transparent"});let jt=oe(me,kt,"currentColor",1.5);jt?Ae.appendChild(jt):Ae.textContent="\u{1F4CE}",Ae.addEventListener("click",_t=>{_t.preventDefault(),F==null||F.click()}),z.appendChild(Ae);let Bt=(Uo=L.buttonTooltipText)!=null?Uo:"Attach file",ot=p("div","tvw-send-button-tooltip");ot.textContent=Bt,z.appendChild(ot),Wt.append(z),!de&&F&&ge&&(de=Cn.fromConfig(L),de.setPreviewsContainer(ge),F.addEventListener("change",async()=>{de&&(F!=null&&F.files)&&(await de.handleFileSelect(F.files),F.value="")}))}else{z.style.display="";let L=(Jo=t.attachments)!=null?Jo:{};F&&(F.accept=((Ko=L.allowedTypes)!=null?Ko:on).join(","),F.multiple=((Yo=L.maxFiles)!=null?Yo:4)>1),de&&de.updateConfig({allowedTypes:L.allowedTypes,maxFileSize:L.maxFileSize,maxFiles:L.maxFiles})}else z&&(z.style.display="none"),de&&de.clearAttachments();let dt=(Vo=t.sendButton)!=null?Vo:{},ls=(Xo=dt.useIcon)!=null?Xo:!1,Nn=(Go=dt.iconText)!=null?Go:"\u2191",pn=dt.iconName,gn=(Qo=dt.tooltipText)!=null?Qo:"Send message",Vi=(Zo=dt.showTooltip)!=null?Zo:!1,Dn=(ei=dt.size)!=null?ei:"40px",ds=dt.backgroundColor,Yt=dt.textColor;if(ls){if(J.style.width=Dn,J.style.height=Dn,J.style.minWidth=Dn,J.style.minHeight=Dn,J.style.fontSize="18px",J.style.lineHeight="1",J.innerHTML="",pn){let L=parseFloat(Dn)||24,Ce=Yt&&typeof Yt=="string"&&Yt.trim()?Yt.trim():"currentColor",Ge=oe(pn,L,Ce,2);Ge?(J.appendChild(Ge),J.style.color=Ce):(J.textContent=Nn,Yt?J.style.color=Yt:J.classList.add("tvw-text-white"))}else J.textContent=Nn,Yt?J.style.color=Yt:J.classList.add("tvw-text-white");J.className="tvw-rounded-button tvw-flex tvw-items-center tvw-justify-center disabled:tvw-opacity-50 tvw-cursor-pointer",ds?(J.style.backgroundColor=ds,J.classList.remove("tvw-bg-cw-primary")):J.classList.add("tvw-bg-cw-primary")}else J.textContent=(ni=(ti=t.copy)==null?void 0:ti.sendButtonLabel)!=null?ni:"Send",J.style.width="",J.style.height="",J.style.minWidth="",J.style.minHeight="",J.style.fontSize="",J.style.lineHeight="",J.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",ds?(J.style.backgroundColor=ds,J.classList.remove("tvw-bg-cw-accent")):J.classList.add("tvw-bg-cw-accent"),Yt?J.style.color=Yt:J.classList.add("tvw-text-white");dt.borderWidth?(J.style.borderWidth=dt.borderWidth,J.style.borderStyle="solid"):(J.style.borderWidth="",J.style.borderStyle=""),dt.borderColor?J.style.borderColor=dt.borderColor:J.style.borderColor="",dt.paddingX?(J.style.paddingLeft=dt.paddingX,J.style.paddingRight=dt.paddingX):(J.style.paddingLeft="",J.style.paddingRight=""),dt.paddingY?(J.style.paddingTop=dt.paddingY,J.style.paddingBottom=dt.paddingY):(J.style.paddingTop="",J.style.paddingBottom="");let jn=ct==null?void 0:ct.querySelector(".tvw-send-button-tooltip");if(Vi&&gn)if(jn)jn.textContent=gn,jn.style.display="";else{let L=document.createElement("div");L.className="tvw-send-button-tooltip",L.textContent=gn,ct==null||ct.insertBefore(L,J)}else jn&&(jn.style.display="none");let _n=(si=t.statusIndicator)!=null?si:{},Xi=(ri=_n.visible)!=null?ri:!0;if(ft.style.display=Xi?"":"none",$){let L=$.getStatus(),Ce=Ge=>{var me,We,ht,kt;return Ge==="idle"?(me=_n.idleText)!=null?me:Pt.idle:Ge==="connecting"?(We=_n.connectingText)!=null?We:Pt.connecting:Ge==="connected"?(ht=_n.connectedText)!=null?ht:Pt.connected:Ge==="error"?(kt=_n.errorText)!=null?kt:Pt.error:Pt[Ge]};ft.textContent=Ce(L)}},open(){b&&tt(!0,"api")},close(){b&&tt(!1,"api")},toggle(){b&&tt(!f,"api")},clearChat(){$.clearMessages();try{localStorage.removeItem(Ln),t.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${Ln}`)}catch(u){console.error("[AgentWidget] Failed to clear default localStorage:",u)}if(t.clearChatHistoryStorageKey&&t.clearChatHistoryStorageKey!==Ln)try{localStorage.removeItem(t.clearChatHistoryStorageKey),t.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${t.clearChatHistoryStorageKey}`)}catch(u){console.error("[AgentWidget] Failed to clear custom localStorage:",u)}let l=new CustomEvent("persona:clear-chat",{detail:{timestamp:new Date().toISOString()}});if(window.dispatchEvent(l),i!=null&&i.clear)try{let u=i.clear();u instanceof Promise&&u.catch(S=>{typeof console!="undefined"&&console.error("[AgentWidget] Failed to clear storage adapter:",S)})}catch(u){typeof console!="undefined"&&console.error("[AgentWidget] Failed to clear storage adapter:",u)}a={},C.syncFromMetadata(),D==null||D.clear(),Z==null||Z.update()},setMessage(l){return!pe||$.isStreaming()?!1:(!f&&b&&tt(!0,"system"),pe.value=l,pe.dispatchEvent(new Event("input",{bubbles:!0})),!0)},submitMessage(l){if($.isStreaming())return!1;let u=(l==null?void 0:l.trim())||pe.value.trim();return u?(!f&&b&&tt(!0,"system"),pe.value="",pe.style.height="auto",$.sendMessage(u),!0):!1},startVoiceRecognition(){return Dt||$.isStreaming()||!Ee()?!1:(!f&&b&&tt(!0,"system"),Ye.manuallyDeactivated=!1,Qt(),He("user"),!0)},stopVoiceRecognition(){return Dt?(Ye.manuallyDeactivated=!0,Qt(),Je("user"),!0):!1},injectMessage(l){return!f&&b&&tt(!0,"system"),$.injectMessage(l)},injectAssistantMessage(l){!f&&b&&tt(!0,"system");let u=$.injectAssistantMessage(l);return R&&(R=!1,T&&(clearTimeout(T),T=null),setTimeout(()=>{$&&!$.isStreaming()&&$.continueConversation()},100)),u},injectUserMessage(l){return!f&&b&&tt(!0,"system"),$.injectUserMessage(l)},injectSystemMessage(l){return!f&&b&&tt(!0,"system"),$.injectSystemMessage(l)},injectMessageBatch(l){return!f&&b&&tt(!0,"system"),$.injectMessageBatch(l)},injectTestMessage(l){!f&&b&&tt(!0,"system"),$.injectTestEvent(l)},__pushEventStreamEvent(l){D&&D.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:l.type,timestamp:Date.now(),payload:JSON.stringify(l.payload)})},showEventStream(){!G||!D||xe()},hideEventStream(){fe&&$e()},isEventStreamVisible(){return fe},getMessages(){return $.getMessages()},getStatus(){return $.getStatus()},getPersistentMetadata(){return{...a}},updatePersistentMetadata(l){c(l)},on(l,u){return s.on(l,u)},off(l,u){s.off(l,u)},isOpen(){return b&&f},isVoiceActive(){return Ye.active},getState(){return{open:b&&f,launcherEnabled:b,voiceActive:Ye.active,streaming:$.isStreaming()}},showCSATFeedback(l){!f&&b&&tt(!0,"system");let u=et.querySelector(".tvw-feedback-container");u&&u.remove();let S=Xs({onSubmit:async(I,E)=>{var q;$.isClientTokenMode()&&await $.submitCSATFeedback(I,E),(q=l==null?void 0:l.onSubmit)==null||q.call(l,I,E)},onDismiss:l==null?void 0:l.onDismiss,...l});et.appendChild(S),S.scrollIntoView({behavior:"smooth",block:"end"})},showNPSFeedback(l){!f&&b&&tt(!0,"system");let u=et.querySelector(".tvw-feedback-container");u&&u.remove();let S=Gs({onSubmit:async(I,E)=>{var q;$.isClientTokenMode()&&await $.submitNPSFeedback(I,E),(q=l==null?void 0:l.onSubmit)==null||q.call(l,I,E)},onDismiss:l==null?void 0:l.onDismiss,...l});et.appendChild(S),S.scrollIntoView({behavior:"smooth",block:"end"})},async submitCSATFeedback(l,u){return $.submitCSATFeedback(l,u)},async submitNPSFeedback(l,u){return $.submitNPSFeedback(l,u)},destroy(){pt.forEach(l=>l()),Ie.remove(),k==null||k.destroy(),h==null||h.remove(),Jt&&V.removeEventListener("click",Jt)}};if((((br=r==null?void 0:r.debugTools)!=null?br:!1)||!!t.debug)&&typeof window!="undefined"){let l=window.AgentWidgetBrowser,u={controller:Ve,getMessages:Ve.getMessages,getStatus:Ve.getStatus,getMetadata:Ve.getPersistentMetadata,updateMetadata:Ve.updatePersistentMetadata,clearHistory:()=>Ve.clearChat(),setVoiceActive:S=>S?Ve.startVoiceRecognition():Ve.stopVoiceRecognition()};window.AgentWidgetBrowser=u,pt.push(()=>{window.AgentWidgetBrowser===u&&(window.AgentWidgetBrowser=l)})}if(G&&typeof window!="undefined"){let l=e.getAttribute("data-persona-instance")||e.id||"persona-"+Math.random().toString(36).slice(2,8),u=I=>{let E=I.detail;(!(E!=null&&E.instanceId)||E.instanceId===l)&&Ve.showEventStream()},S=I=>{let E=I.detail;(!(E!=null&&E.instanceId)||E.instanceId===l)&&Ve.hideEventStream()};window.addEventListener("persona:showEventStream",u),window.addEventListener("persona:hideEventStream",S),pt.push(()=>{window.removeEventListener("persona:showEventStream",u),window.removeEventListener("persona:hideEventStream",S)})}let _e=Za(t.persistState);if(_e&&b){let l=el(_e.storage),u=`${_e.keyPrefix}widget-open`,S=`${_e.keyPrefix}widget-voice`,I=`${_e.keyPrefix}widget-voice-mode`;if(l){let E=((Cr=_e.persist)==null?void 0:Cr.openState)&&l.getItem(u)==="true",q=((xr=_e.persist)==null?void 0:xr.voiceState)&&l.getItem(S)==="true",be=((Sr=_e.persist)==null?void 0:Sr.voiceState)&&l.getItem(I)==="true";if(E&&setTimeout(()=>{Ve.open(),setTimeout(()=>{var le;if(q||be)Ve.startVoiceRecognition();else if((le=_e.persist)!=null&&le.focusInput){let Te=e.querySelector("textarea");Te&&Te.focus()}},100)},0),(Ar=_e.persist)!=null&&Ar.openState&&(s.on("widget:opened",()=>{l.setItem(u,"true")}),s.on("widget:closed",()=>{l.setItem(u,"false")})),(Er=_e.persist)!=null&&Er.voiceState&&(s.on("voice:state",le=>{l.setItem(S,le.active?"true":"false")}),s.on("user:message",le=>{l.setItem(I,le.viaVoice?"true":"false")})),_e.clearOnChatClear){let le=()=>{l.removeItem(u),l.removeItem(S),l.removeItem(I)},Te=()=>le();window.addEventListener("persona:clear-chat",Te),pt.push(()=>{window.removeEventListener("persona:clear-chat",Te)})}}}return Ve};var er={},tl=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},nl=()=>{try{if(typeof er!="undefined"&&er.url)return new URL("../widget.css",er.url).href}catch{}return null},ji=e=>{let n=nl(),r=()=>{if(!(e instanceof ShadowRoot)||e.querySelector("link[data-persona]"))return;let t=document.head.querySelector("link[data-persona]");if(!t)return;let o=t.cloneNode(!0);e.insertBefore(o,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 r();else if(!document.head.querySelector("link[data-persona]")&&n){let o=document.createElement("link");o.rel="stylesheet",o.href=n,o.setAttribute("data-persona","true"),document.head.appendChild(o)}},_i=e=>{var g,v,c,m;let n=tl(e.target),r=document.createElement("div");r.className="persona-host";let t=(c=(v=(g=e.config)==null?void 0:g.launcher)==null?void 0:v.enabled)!=null?c:!0;t||(r.style.height="100%"),n.appendChild(r);let o=e.useShadowDom===!0,s,i;if(o){let w=r.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),ji(w)}else i=r,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"),r.appendChild(s),ji(r);n.id&&s.setAttribute("data-persona-instance",n.id);let a=Zs(s,e.config,{debugTools:e.debugTools});(m=e.onReady)==null||m.call(e);let d={...a,host:r,destroy(){a.destroy(),r.remove(),e.windowKey&&typeof window!="undefined"&&delete window[e.windowKey]}};return e.windowKey&&typeof window!="undefined"&&(window[e.windowKey]=d),d};var qi={name:"@runtypelabs/persona",version:"1.43.4",description:"Themeable, pluggable streaming agent widget for websites, in plain JS with support for voice input and reasoning / tool output.",type:"module",main:"dist/index.cjs",module:"dist/index.js",types:"dist/index.d.ts",exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.cjs"},"./widget.css":{import:"./widget.css",default:"./dist/widget.css"}},files:["dist","widget.css","src"],scripts:{build:"rimraf dist && npm run build:styles && npm run build:client && npm run build:installer","build:styles":`node -e "const fs=require('fs');fs.mkdirSync('dist',{recursive:true});fs.copyFileSync('src/styles/widget.css','dist/widget.css');"`,"build:client":'tsup src/index.ts --format esm,cjs,iife --global-name AgentWidget --minify --sourcemap --splitting false --dts --loader ".css=text"',"build:installer":"tsup src/install.ts --format iife --global-name SiteAgentInstaller --out-dir dist --minify --sourcemap --no-splitting",lint:"eslint . --ext .ts",typecheck:"tsc --noEmit",test:"vitest","test:ui":"vitest --ui","test:run":"vitest run"},dependencies:{idiomorph:"^0.7.4",lucide:"^0.552.0",marked:"^12.0.2","partial-json":"^0.1.7",zod:"^3.22.4"},devDependencies:{"@types/node":"^20.12.7","@typescript-eslint/eslint-plugin":"^7.0.0","@typescript-eslint/parser":"^7.0.0","@vitest/ui":"^4.0.9",eslint:"^8.57.0","eslint-config-prettier":"^9.1.0","fake-indexeddb":"^6.2.5",postcss:"^8.4.38",rimraf:"^5.0.5",tailwindcss:"^3.4.10",tsup:"^8.0.1",typescript:"^5.4.5",vitest:"^4.0.9"},engines:{node:">=18.17.0"},license:"MIT",keywords:["ai","chat","widget","streaming","typescript","persona","agent"],repository:{type:"git",url:"git+https://github.com/runtypelabs/persona.git",directory:"packages/widget"},bugs:{url:"https://github.com/runtypelabs/persona/issues"},homepage:"https://github.com/runtypelabs/persona/tree/main/packages/widget#readme",publishConfig:{access:"public"}};var kn=qi.version;function tn(e){if(e!==void 0)return typeof e=="string"?e:Array.isArray(e)?`[${e.map(n=>n.toString()).join(", ")}]`:e.toString()}function rl(e){if(e)return{getHeaders:tn(e.getHeaders),onFeedback:tn(e.onFeedback),onCopy:tn(e.onCopy),requestMiddleware:tn(e.requestMiddleware),actionHandlers:tn(e.actionHandlers),actionParsers:tn(e.actionParsers),postprocessMessage:tn(e.postprocessMessage),contextProviders:tn(e.contextProviders),streamParser:tn(e.streamParser)}}var zi=`({ 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
|