@runtypelabs/persona 4.33.0 → 4.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/activity-ui.d.cts +3 -15
- package/dist/activity-ui.d.ts +3 -15
- package/dist/animations/glyph-cycle.d.cts +1 -3
- package/dist/animations/glyph-cycle.d.ts +1 -3
- package/dist/animations/wipe.d.cts +1 -3
- package/dist/animations/wipe.d.ts +1 -3
- package/dist/approval-ui.cjs +2 -2
- package/dist/approval-ui.d.cts +3 -15
- package/dist/approval-ui.d.ts +3 -15
- package/dist/approval-ui.js +1 -1
- package/dist/artifacts-ui.cjs +1 -1
- package/dist/artifacts-ui.d.cts +3 -21
- package/dist/artifacts-ui.d.ts +3 -21
- package/dist/background-runtime.d.cts +2 -3
- package/dist/background-runtime.d.ts +2 -3
- package/dist/{chunk-gu34lr-P.js → chunk-Brdx4NCz.js} +1 -1
- package/dist/{chunk-dLJWKfOb.js → chunk-C-rux8Q9.js} +1 -1
- package/dist/{chunk-Ds_twaZn.js → chunk-C4v-HNhS.js} +1 -1
- package/dist/{chunk-Bkma5hIU.js → chunk-CE4seJxF.js} +1 -1
- package/dist/{chunk-D6U0E82p.js → chunk-CV8EPIhT.js} +1 -1
- package/dist/{chunk-ql5N2I_t.js → chunk-CWzHNuVK.js} +1 -1
- package/dist/{chunk-DbGLjU2P.js → chunk-CYpt7PsO.js} +1 -1
- package/dist/{chunk-DOZmcve8.js → chunk-Csr59G5V.js} +1 -1
- package/dist/{chunk-DW7Vg_l2.js → chunk-CxNPSY-b.js} +1 -1
- package/dist/chunk-Dqa_GOcj.js +1 -0
- package/dist/chunk-DsWv3EGF.js +1 -0
- package/dist/{chunk-C7-m0EmI.js → chunk-NUNdcnAZ.js} +1 -1
- package/dist/{chunk-CXQJG7pb.js → chunk-YMkMvAsa.js} +2 -2
- package/dist/{chunk-C-EHtpbB.js → chunk-h5aOI_Pa.js} +1 -1
- package/dist/chunk-kizhspe5.js +1 -0
- package/dist/client-dispatch.js +1 -1
- package/dist/client-history.js +1 -1
- package/dist/client-stream.js +1 -1
- package/dist/{code-generators-DqauYyfX.d.cts → code-generators-DPAqTcAz.d.cts} +0 -2
- package/dist/{code-generators-DqauYyfX.d.ts → code-generators-DPAqTcAz.d.ts} +0 -2
- package/dist/codegen.cjs +1 -1
- package/dist/codegen.d.cts +1 -1
- package/dist/codegen.d.ts +1 -1
- package/dist/codegen.js +1 -1
- package/dist/composer-actions-runtime.cjs +1 -1
- package/dist/composer-actions-runtime.d.cts +4 -20
- package/dist/composer-actions-runtime.d.ts +4 -20
- package/dist/composer-actions-runtime.js +1 -1
- package/dist/{composer-input-DnqGCXZz.d.ts → composer-input-i_FiUp6J.d.cts} +1 -7
- package/dist/{composer-input-DnqGCXZz.d.cts → composer-input-i_FiUp6J.d.ts} +1 -7
- package/dist/{composer-store-6Iwy6WLI.d.ts → composer-store-DhGNgG7Z.d.cts} +1 -3
- package/dist/{composer-store-6Iwy6WLI.d.cts → composer-store-DhGNgG7Z.d.ts} +1 -3
- package/dist/config-diagnostics.d.cts +0 -2
- package/dist/config-diagnostics.d.ts +0 -2
- package/dist/{context-mention-manager-B-rHF98n.d.ts → context-mention-manager-DL-xwGfL.d.cts} +2 -6
- package/dist/{context-mention-manager-B-rHF98n.d.cts → context-mention-manager-DL-xwGfL.d.ts} +2 -6
- package/dist/context-mentions-inline.cjs +1 -1
- package/dist/context-mentions-inline.d.cts +2 -4
- package/dist/context-mentions-inline.d.ts +2 -4
- package/dist/context-mentions-inline.js +1 -1
- package/dist/context-mentions.cjs +1 -1
- package/dist/context-mentions.d.cts +3 -9
- package/dist/context-mentions.d.ts +3 -9
- package/dist/{defaults-BuOjqUAG.d.ts → defaults-Bga2Xrsp.d.cts} +1 -5
- package/dist/{defaults-BuOjqUAG.d.cts → defaults-Bga2Xrsp.d.ts} +1 -5
- package/dist/dictation-runtime.cjs +1 -1
- package/dist/dictation-runtime.d.cts +4 -13
- package/dist/dictation-runtime.d.ts +4 -13
- package/dist/dictation-runtime.js +1 -1
- package/dist/{dom-context-DHTabIn7.d.cts → dom-context-Bw-_9Evh.d.cts} +0 -2
- package/dist/{dom-context-DHTabIn7.d.ts → dom-context-Bw-_9Evh.d.ts} +0 -2
- package/dist/event-stream-view.cjs +1 -1
- package/dist/event-stream-view.d.cts +3 -16
- package/dist/event-stream-view.d.ts +3 -16
- package/dist/{fallback-speech-engine-SqEfkGda.d.ts → fallback-speech-engine-kLdyPcmk.d.cts} +1 -3
- package/dist/{fallback-speech-engine-SqEfkGda.d.cts → fallback-speech-engine-kLdyPcmk.d.ts} +1 -3
- package/dist/{feature-preferences-DqAmje-2.d.ts → feature-preferences-CmwZGKrf.d.cts} +1 -5
- package/dist/{feature-preferences-DqAmje-2.d.cts → feature-preferences-CmwZGKrf.d.ts} +1 -5
- package/dist/forms-ui.d.cts +2 -4
- package/dist/forms-ui.d.ts +2 -4
- package/dist/{history-confirm-dialog-B3L7QNcO.d.cts → history-confirm-dialog-i46-lPN_.d.cts} +2 -14
- package/dist/{history-confirm-dialog-B3L7QNcO.d.ts → history-confirm-dialog-i46-lPN_.d.ts} +2 -14
- package/dist/history-shell.cjs +1 -1
- package/dist/history-shell.d.cts +8 -27
- package/dist/history-shell.d.ts +8 -27
- package/dist/history-shell.js +1 -1
- package/dist/history-view.d.cts +1 -1
- package/dist/history-view.d.ts +1 -1
- package/dist/icons-extra.cjs +1 -1
- package/dist/icons-extra.d.cts +0 -2
- package/dist/icons-extra.d.ts +0 -2
- package/dist/index.cjs +45 -45
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +10 -10
- package/dist/index.d.ts +10 -10
- package/dist/index.global.js +1 -1
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +49 -49
- package/dist/index.js.map +1 -1
- package/dist/install.global.js +1 -1
- package/dist/install.global.js.map +1 -1
- package/dist/launcher.global.js +2 -2
- package/dist/launcher.global.js.map +1 -1
- package/dist/{loading-label-runtime-loader-JecjOfJS.d.ts → loading-label-runtime-loader-Ccr3ETd3.d.cts} +1 -3
- package/dist/{loading-label-runtime-loader-JecjOfJS.d.cts → loading-label-runtime-loader-Ccr3ETd3.d.ts} +1 -3
- package/dist/loading-label-runtime.cjs +1 -1
- package/dist/loading-label-runtime.d.cts +1 -1
- package/dist/loading-label-runtime.d.ts +1 -1
- package/dist/loading-label-runtime.js +1 -1
- package/dist/markdown-parsers.js +1 -1
- package/dist/{message-bubble-CBYtpDsT.d.ts → message-bubble-C6AVaH7f.d.cts} +20 -3
- package/dist/{message-bubble-CBYtpDsT.d.cts → message-bubble-C6AVaH7f.d.ts} +20 -3
- package/dist/{plugin-kit-C1mRjLgW.d.cts → plugin-kit-BVggqE3C.d.cts} +0 -2
- package/dist/{plugin-kit-C1mRjLgW.d.ts → plugin-kit-BVggqE3C.d.ts} +0 -2
- package/dist/plugin-kit.d.cts +1 -1
- package/dist/plugin-kit.d.ts +1 -1
- package/dist/preferences-runtime.cjs +1 -1
- package/dist/preferences-runtime.d.cts +1 -1
- package/dist/preferences-runtime.d.ts +1 -1
- package/dist/preferences-runtime.js +1 -1
- package/dist/{preview-_UJwwt2L.d.cts → preview-BMdRffo4.d.cts} +2 -6
- package/dist/{preview-_UJwwt2L.d.ts → preview-BMdRffo4.d.ts} +2 -6
- package/dist/{registry-B5ZV3K-h.d.ts → registry-B16l8s1b.d.cts} +1 -8
- package/dist/{registry-B5ZV3K-h.d.cts → registry-B16l8s1b.d.ts} +1 -8
- package/dist/{session-Bys8_XuB.d.cts → session-CtZHe7fc.d.cts} +8 -92
- package/dist/{session-Bys8_XuB.d.ts → session-CtZHe7fc.d.ts} +8 -92
- package/dist/session-reconnect.d.cts +2 -4
- package/dist/session-reconnect.d.ts +2 -4
- package/dist/smart-dom-reader.d.cts +2 -8
- package/dist/smart-dom-reader.d.ts +2 -8
- package/dist/testing.d.cts +0 -2
- package/dist/testing.d.ts +0 -2
- package/dist/theme-editor-preview.cjs +42 -42
- package/dist/theme-editor-preview.d.cts +1 -1
- package/dist/theme-editor-preview.d.ts +1 -1
- package/dist/theme-editor-preview.js +25 -25
- package/dist/theme-editor.cjs +25 -5
- package/dist/theme-editor.d.cts +2 -22
- package/dist/theme-editor.d.ts +2 -22
- package/dist/theme-editor.js +1 -1
- package/dist/theme-reference.cjs +1 -1
- package/dist/theme-reference.d.cts +2 -4
- package/dist/theme-reference.d.ts +2 -4
- package/dist/theme-reference.js +1 -1
- package/dist/{tool-loading-animation-d5qAQcwv.d.ts → tool-loading-animation-D2cyFvmM.d.cts} +1 -7
- package/dist/{tool-loading-animation-d5qAQcwv.d.cts → tool-loading-animation-D2cyFvmM.d.ts} +1 -7
- package/dist/{tooltip-BkW-8MnD.d.cts → tooltip-DbXkAuJL.d.cts} +0 -2
- package/dist/{tooltip-BkW-8MnD.d.ts → tooltip-DbXkAuJL.d.ts} +0 -2
- package/dist/{turn-activity-ui-q6fHVnx-.d.cts → turn-activity-ui-Do1Nd-Ow.d.cts} +2 -12
- package/dist/{turn-activity-ui-q6fHVnx-.d.ts → turn-activity-ui-Do1Nd-Ow.d.ts} +2 -12
- package/dist/turn-activity-ui.d.cts +1 -1
- package/dist/turn-activity-ui.d.ts +1 -1
- package/dist/{types-B_mj21jg.d.cts → types-BC7MRxO5.d.cts} +76 -29
- package/dist/{types-B_mj21jg.d.ts → types-BC7MRxO5.d.ts} +76 -29
- package/dist/ui-extras.js +3 -3
- package/dist/voice-client-tools.d.cts +1 -3
- package/dist/voice-client-tools.d.ts +1 -3
- package/dist/voice-runtime.cjs +1 -1
- package/dist/voice-runtime.d.cts +2 -12
- package/dist/voice-runtime.d.ts +2 -12
- package/dist/voice-runtime.js +2 -2
- package/dist/voice-worklet-player.d.cts +2 -6
- package/dist/voice-worklet-player.d.ts +2 -6
- package/dist/{webmcp-runtime-entry-ClEO3qdI.d.ts → webmcp-runtime-entry-B8g46vS0.d.cts} +1 -5
- package/dist/{webmcp-runtime-entry-ClEO3qdI.d.cts → webmcp-runtime-entry-B8g46vS0.d.ts} +1 -5
- package/dist/webmcp-runtime.d.cts +1 -1
- package/dist/webmcp-runtime.d.ts +1 -1
- package/dist/widget.css +1 -1
- package/package.json +4 -4
- package/src/components/event-stream-view.test.ts +5 -0
- package/src/components/message-bubble.ts +26 -6
- package/src/components/scroll-to-bottom.test.ts +135 -0
- package/src/components/scroll-to-bottom.ts +50 -13
- package/src/components/user-message-collapse.ts +117 -0
- package/src/defaults.ts +6 -0
- package/src/styles/widget.css +56 -0
- package/src/theme-reference.ts +2 -2
- package/src/types/theme.ts +29 -0
- package/src/types.ts +49 -5
- package/src/ui.scroll-additive.test.ts +219 -117
- package/src/ui.scroll.test.ts +176 -13
- package/src/ui.ts +230 -107
- package/src/ui.turn-activity.test.ts +7 -7
- package/src/ui.user-message-collapse.test.ts +540 -0
- package/src/utils/auto-follow.test.ts +0 -38
- package/src/utils/auto-follow.ts +0 -35
- package/src/utils/theme.test.ts +23 -0
- package/src/utils/tokens.ts +16 -0
- package/dist/chunk-CVMIncEY.js +0 -1
- package/dist/chunk-DVgzoVCB.js +0 -1
- package/dist/chunk-d54BJdKd.js +0 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,n as l,o as u,p as d,r as f,t as p,u as m,v as h,y as g}from"./chunk-CEPM3FOp.js";import{n as _,r as v,t as y}from"./chunk-BnfM7-qg.js";import{t as b}from"./chunk-CnxIZOzx.js";import{A as x,C as S,D as C,E as ee,F as w,I as T,M as te,N as E,O as ne,P as re,S as ie,T as ae,_ as oe,a as se,b as ce,c as le,d as ue,f as de,g as fe,h as pe,i as me,j as he,k as ge,l as _e,m as ve,n as ye,o as be,r as xe,s as Se,t as Ce,u as we,v as D,w as Te,x as Ee,y as De}from"./chunk-d54BJdKd.js";import{_ as Oe,a as ke,c as Ae,d as je,f as Me,g as Ne,h as Pe,i as Fe,l as Ie,m as Le,o as Re,p as ze,r as Be,s as Ve,u as He,v as Ue}from"./chunk-D1G8tgYc.js";import{i as We,r as O,t as k}from"./chunk-D5BxWOFB.js";import{i as Ge,n as Ke,r as qe}from"./chunk-Bb41bKyp.js";import{a as Je,c as Ye,i as Xe,l as Ze,n as Qe,o as $e,r as et,s as tt,t as nt}from"./chunk-CVMIncEY.js";import{a as rt,i as it,n as at,o as ot,r as st}from"./chunk-BAdIgC5d.js";import{n as ct,r as A}from"./chunk-DDZBCAer.js";import{n as lt,r as ut,t as dt}from"./chunk-BvhTpG6k.js";import{f as ft,r as pt,s as mt,u as ht}from"./chunk-Dj2a9f9w.js";import{a as gt,i as _t,r as vt}from"./chunk-xzeTUTrE.js";import{a as yt,c as bt,i as xt,n as St,o as j,r as M,s as N,t as Ct,u as wt}from"./chunk-BRM3bHcJ.js";import{m as Tt,n as Et}from"./chunk-mEFmAbxE.js";import{t as Dt}from"./chunk-DVgzoVCB.js";import{t as Ot}from"./chunk-C8560fIY.js";import{a as kt,c as At,d as jt,l as Mt,n as Nt,o as Pt,t as Ft,u as It}from"./chunk-BlTD-Wgn.js";import{t as Lt}from"./chunk-aTmHfQO_.js";import{r as Rt,t as zt}from"./chunk-i4qGOJAL.js";import{c as Bt,f as Vt,l as Ht,m as Ut,n as Wt,r as Gt,s as Kt,t as qt,u as Jt}from"./chunk-BEDTp-dm.js";import{n as Yt,t as Xt}from"./chunk-BAkaTZpd.js";import{n as Zt,t as Qt}from"./chunk-Crczk7D3.js";import{n as $t}from"./chunk-py2YB6PV.js";import{a as en,i as tn,n as nn,o as rn,s as an}from"./chunk-Cy1A8vbF.js";import{a as on,c as sn,i as cn,l as ln,n as un,o as dn,r as fn,s as pn,t as mn,u as hn}from"./chunk-BExOAPZb.js";import{n as gn}from"./chunk-DTDHeUsG.js";import{Activity as _n,ArrowRight as vn,Check as yn,ChevronUp as bn,Copy as xn,File as Sn,FileCode as Cn,FileSpreadsheet as wn,FileText as Tn,MessageSquare as En,X as Dn}from"lucide";import"partial-json";import{Idiomorph as On}from"idiomorph";const kn=e=>{let t=0,n=!1,r=Promise.resolve(),i=()=>{},a,o=e.inert===!0,s=()=>{a?.remove(),a=void 0,e.removeAttribute(`data-persona-preparing`),e.inert=o};return{get ready(){return r},prepare(o,c,l=!1){let u=++t;if(i(),!o.length){if(c(),u!==t)return;s(),r=Promise.resolve();return}!l&&!a&&(a=e.ownerDocument.createElement(`style`),a.textContent=`[data-persona-preparing],[data-persona-preparing] *{visibility:hidden!important}`,e.append(a)),l||(e.setAttribute(`data-persona-preparing`,``),e.inert=!0);let d=new Promise((e,t)=>{i=()=>t(/* @__PURE__ */ Error(`Widget destroyed before ready`))});r=Promise.race([Promise.all(o),d]).then(()=>{if(n)throw Error(`Widget destroyed before ready`);if(u!==t||(c(),u!==t))return r;s()},e=>{if(!n&&u!==t)return r;throw e}),r.catch(()=>{})},destroy(){n=!0,++t,i(),s()}}},An={defaultProvenance:d,suppliedPath:e,hasExplicitThemeStyle:t,getExplicitLegacyStyle:f},{setLoader:jn,load:Mn,provide:Nn,getSync:Pn}=v({fallbackImport:()=>import(`./chunk-B4ecQzeK.js`)}),Fn=Mn,In=Pn,{setLoader:Ln,load:Rn,provide:zn}=v({fallbackImport:()=>import(`./chunk-C3cPmtjr.js`)});let Bn=null;const Vn=()=>Promise.all([Rn(),Fn()]).then(([e,t])=>(Object.assign(t.turnUi,e),Bn=e)),Hn=()=>Bn,{setLoader:Un,load:Wn,provide:Gn,getSync:Kn}=v({fallbackImport:()=>import(`./chunk-C7-m0EmI.js`)}),qn=Wn,Jn=Kn,{setLoader:Yn,load:P,provide:F,getSync:Xn}=v({fallbackImport:()=>import(`./chunk-DbGLjU2P.js`)}),I=P,Zn=Xn,{setLoader:L,load:R,getSync:z,provide:Qn}=v({fallbackImport:()=>import(`./chunk-Ds_twaZn.js`)}),$n=R,er=z;function tr(e){let{items:t,onSelect:n,anchor:r,position:i=`bottom-left`,portal:a,onOpenChange:o}=e,s=k(`div`,`persona-dropdown-menu persona-hidden`);s.setAttribute(`role`,`menu`),s.setAttribute(`data-persona-theme-zone`,`dropdown`),a?(s.style.position=`fixed`,s.style.zIndex=String(qe)):(s.style.position=`absolute`,s.style.top=`100%`,s.style.marginTop=`4px`,i===`bottom-right`?s.style.right=`0`:s.style.left=`0`);for(let e of t){if(e.dividerBefore){let e=document.createElement(`hr`);s.appendChild(e)}let t=document.createElement(`button`);if(t.type=`button`,t.setAttribute(`role`,`menuitem`),t.setAttribute(`data-dropdown-item-id`,e.id),e.destructive&&t.setAttribute(`data-destructive`,``),e.icon){let n=T(e.icon,16,`currentColor`,1.5);n&&t.appendChild(n)}let r=document.createElement(`span`);r.textContent=e.label,t.appendChild(r),t.addEventListener(`click`,t=>{t.stopPropagation(),d(),n(e.id)}),s.appendChild(t)}let c=null;function l(){if(!a)return;let e=r.getBoundingClientRect();s.style.top=`${e.bottom+4}px`,i===`bottom-right`?(s.style.right=`${window.innerWidth-e.right}px`,s.style.left=`auto`):(s.style.left=`${e.left}px`,s.style.right=`auto`)}function u(){let e=s.classList.contains(`persona-hidden`);l(),s.classList.remove(`persona-hidden`),e&&o?.(!0),requestAnimationFrame(()=>{let e=e=>{!s.contains(e.target)&&!r.contains(e.target)&&d()};document.addEventListener(`click`,e,!0),c=()=>document.removeEventListener(`click`,e,!0)})}function d(){let e=!s.classList.contains(`persona-hidden`);s.classList.add(`persona-hidden`),c?.(),c=null,e&&o?.(!1)}function f(){s.classList.contains(`persona-hidden`)?u():d()}function p(){d(),s.remove()}return a&&a.appendChild(s),{element:s,show:u,hide:d,toggle:f,destroy:p}}function nr(e){let{icon:t,label:n,size:r,strokeWidth:i,className:a,chromeless:o,onClick:s,aria:c}=e,l=k(`button`,We(!o&&`persona-icon-btn`,a));l.type=`button`,l.setAttribute(`aria-label`,n),l.title=n;let u=T(t,r??16,`currentColor`,i??2);if(u&&l.appendChild(u),s&&l.addEventListener(`click`,s),c)for(let[e,t]of Object.entries(c))l.setAttribute(e,t);return l}function B(e){let{icon:t,label:n,variant:r=`default`,size:i=`sm`,iconSize:a,className:o,onClick:s,aria:c}=e,l=`persona-label-btn`;r!=="default"&&(l+=` persona-label-btn--`+r),l+=` persona-label-btn--`+i,o&&(l+=` `+o);let u=k(`button`,l);if(u.type=`button`,u.setAttribute(`aria-label`,n),t){let e=T(t,a??14,`currentColor`,2);e&&u.appendChild(e)}let d=k(`span`);if(d.textContent=n,u.appendChild(d),s&&u.addEventListener(`click`,s),c)for(let[e,t]of Object.entries(c))u.setAttribute(e,t);return u}function rr(e){let{items:t,selectedId:n,onSelect:r,className:i}=e,a=k(`div`,`persona-toggle-group`+(i?` `+i:``));a.setAttribute(`role`,`group`);let o=n,s=[];function c(){for(let e of s)e.btn.setAttribute(`aria-pressed`,e.id===o?`true`:`false`)}for(let e of t){let t;e.icon?t=nr({icon:e.icon,label:e.label,className:e.className,onClick:()=>{o=e.id,c(),r(e.id)}}):(t=k(`button`,`persona-icon-btn`+(e.className?` `+e.className:``)),t.type=`button`,t.setAttribute(`aria-label`,e.label),t.title=e.label,t.textContent=e.label,t.addEventListener(`click`,()=>{o=e.id,c(),r(e.id)})),t.setAttribute(`aria-pressed`,e.id===o?`true`:`false`),s.push({id:e.id,btn:t}),a.appendChild(t)}function l(e){o=e,c()}return{element:a,setSelected:l}}function ir(e){let{label:t,icon:n,iconSize:r,iconOnly:i,menuItems:a,onSelect:o,onPrimary:s,position:c=`bottom-left`,portal:l,chevronLabel:u=`More options`,chevronIconSize:d,className:f,primaryClassName:p,chevronClassName:m}=e,h=k(`div`,`persona-split-btn`+(f?` `+f:``)),g={label:t,className:`persona-split-btn-primary`+(p?` `+p:``),onClick:s},_=i&&n?nr({...g,icon:n,size:r??14}):B({...g,icon:n,iconSize:r??14}),v=nr({icon:`chevron-down`,label:u,size:d??14,className:`persona-split-btn-chevron`+(m?` `+m:``),aria:{"aria-haspopup":`true`,"aria-expanded":`false`}});h.append(_,v);let y=null,b=()=>{if(y)return y;let e=(typeof l==`function`?l():l)??void 0;return y=tr({items:a,onSelect:o,anchor:h,position:c,portal:e,onOpenChange:e=>{v.setAttribute(`aria-expanded`,e?`true`:`false`)}}),e||h.appendChild(y.element),y};return h.isConnected?b():requestAnimationFrame(()=>{y||b()}),v.addEventListener(`click`,e=>{e.stopPropagation(),b().toggle()}),{element:h,primaryButton:_,chevronButton:v,openMenu:()=>b().show(),closeMenu:()=>y?.hide(),toggleMenu:()=>b().toggle(),destroy:()=>{y?.destroy(),h.remove()}}}function V(e){let{label:t,icon:n=`chevron-down`,menuItems:r,onSelect:i,position:a=`bottom-left`,portal:o,className:s,hover:c}=e,l=k(`div`,`persona-combo-btn`+(s?` `+s:``));l.style.position=`relative`,l.style.display=`inline-flex`,l.style.alignItems=`center`,l.style.cursor=`pointer`,l.setAttribute(`role`,`button`),l.setAttribute(`tabindex`,`0`),l.setAttribute(`aria-haspopup`,`true`),l.setAttribute(`aria-expanded`,`false`),l.setAttribute(`aria-label`,t);let u=k(`span`,`persona-combo-btn-label`);u.textContent=t,l.appendChild(u);let d=T(n,14,`currentColor`,2);d&&(d.style.marginLeft=`4px`,d.style.opacity=`0.6`,l.appendChild(d)),c&&(l.style.borderRadius=c.borderRadius??`10px`,l.style.padding=c.padding??`6px 4px 6px 12px`,l.style.border=`1px solid transparent`,l.style.transition=`background-color 0.15s ease, border-color 0.15s ease`,l.addEventListener(`mouseenter`,()=>{l.style.backgroundColor=c.background??``,l.style.borderColor=c.border??``}),l.addEventListener(`mouseleave`,()=>{l.style.backgroundColor=``,l.style.borderColor=`transparent`}));let f=tr({items:r,onSelect:e=>{l.setAttribute(`aria-expanded`,`false`),i(e)},anchor:l,position:a,portal:o});o||l.appendChild(f.element);let p=()=>l.getAttribute(`data-persona-menu-locked`)===`true`;return l.addEventListener(`click`,e=>{if(e.stopPropagation(),p())return;let t=!f.element.classList.contains(`persona-hidden`);l.setAttribute(`aria-expanded`,t?`false`:`true`),f.toggle()}),l.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),l.click())}),{element:l,setLabel:e=>{u.textContent=e,l.setAttribute(`aria-label`,e)},open:()=>{l.setAttribute(`aria-expanded`,`true`),f.show()},close:()=>{l.setAttribute(`aria-expanded`,`false`),f.hide()},toggle:()=>{let e=!f.element.classList.contains(`persona-hidden`);l.setAttribute(`aria-expanded`,e?`false`:`true`),f.toggle()},destroy:()=>{f.destroy(),l.remove()}}}const ar=[`PersonaArtifactCard`,`PersonaArtifactInline`],{setLoader:or,load:sr,provide:cr,getSync:lr}=v({fallbackImport:()=>import(`./chunk-6CUrH_jm.js`)});let ur=null;const dr=/* @__PURE__ */ new Set,fr=e=>{if(ur)return ur;ur=e,e.initArtifactsUi({componentRegistry:ze,loadingLabels:Zn(),buttons:{createIconButton:nr,createLabelButton:B,createSplitButton:ir,createToggleGroup:rr}});for(let t of ar)ze.has(t)||ze.register(t,t===`PersonaArtifactCard`?e.PersonaArtifactCard:e.PersonaArtifactInline,{bubbleChrome:!1});let t=Ne();t?e.__provideMarkdownParsers(t):Ue(()=>{let t=Ne();t&&e.__provideMarkdownParsers(t)}),e.__setIconsExtraLoader!==_&&e.__setIconsExtraLoader(y);let n=[...dr];dr.clear();for(let e of n)try{e()}catch{}return e},pr=()=>Promise.all([sr(),I()]).then(([e])=>fr(e)),mr=()=>{if(ur)return ur;if(!Zn())return null;let e=lr();return e?fr(e):null},hr=e=>ur?()=>{}:(dr.add(e),()=>{dr.delete(e)}),{setLoader:gr,load:_r,provide:vr,getSync:H}=v({fallbackImport:()=>import(`./chunk-D6U0E82p.js`)}),yr=_r,br=H,{setLoader:xr,load:Sr,getSync:Cr}=v({fallbackImport:()=>import(`./chunk-CXQJG7pb.js`)}),wr=Sr,Tr=Cr;function Er(e,t){let n=e.voiceRecognition,r=t.voiceRecognition;return n?.enabled===!0!=(r?.enabled===!0)||n?.provider?.type!==r?.provider?.type||n?.provider?.custom!==r?.provider?.custom||kr(e)!==kr(t)||n?.provider?.runtype?.createPlaybackEngine!==r?.provider?.runtype?.createPlaybackEngine||JSON.stringify(n?.provider?.runtype)!==JSON.stringify(r?.provider?.runtype)||e.agentId!==t.agentId||e.clientToken!==t.clientToken||e.apiUrl!==t.apiUrl}function Dr(e){return e?.type===`runtype`||e?.type===`custom`}const Or=()=>typeof window<`u`&&(`SpeechRecognition`in window||`webkitSpeechRecognition`in window);function U(e){try{if(e?.type===`custom`&&e.custom){let t=e.custom,n=typeof t==`function`?t():t;return!!n&&typeof n.startListening==`function`}return e?.type===`runtype`&&e.runtype?!0:Or()}catch{return!1}}function kr(e){let t=e.voiceRecognition;return Dr(t?.provider)&&(t?.provider?.type!==`custom`||!!t.dictation?.provider||!t.dictation&&t.completionBehavior!==`review`)}const Ar=e=>{let t=[],n=(e,n,r)=>{e&&!n&&t.push(r())};n(!0,Jn(),qn),n(!0,Ne(),Oe);let r=e.turnActivity?.enabled===!0;n(r,Hn(),Vn);let i=r||e.features?.showToolCalls!==!1||e.features?.showReasoning!==!1;n(i,In(),Fn),n(i||e.loadingLabel?.animation!==`none`&&(!!e.loadingLabel?.animate||(e.loadingIndicator?.variant??(e.future?.v5Defaults?`label`:`dots`))===`label`),Zn(),I),n(e.voiceRecognition?.enabled!==!1,er(),$n),n(e.voiceRecognition?.enabled!==!1&&kr(e),Tr(),wr),n(e.features?.artifacts?.enabled===!0,mr(),pr),n(e.contextMentions?.enabled===!0,br(),yr);let a=w();return a&&t.push(a),t};function jr(){let e=null,t=()=>{e!==null&&cancelAnimationFrame(e),e=null};return{get active(){return e!==null},cancel:t,start(n,r,i,a,o,s=()=>!0){t();let c=n.scrollTop,l=performance.now();if(Math.abs(r()-c)<1){n.scrollTop=r(),a(),o();return}let u=d=>{if(!s()){t(),o();return}let f=Math.min(Math.max(0,(d-l)/i),1);n.scrollTop=c+(r()-c)*(1-(1-f)**3),a(),f<1?e=requestAnimationFrame(u):(e=null,o())};e=requestAnimationFrame(u)}}}function Mr(e,t,n,r,i){let a=jr(),o=!1,s,c=!1,l=e=>{e&&(c=!1),a.active&&(a.cancel(),s=e,c=!!e,i())},u=e=>{[`PageUp`,`PageDown`,`Home`,`End`,`ArrowUp`,`ArrowDown`,` `].includes(e.key)&&l(e)},d=e=>{e.deltaY!==0&&l(e)};return e.addEventListener(`wheel`,d,{passive:!0}),e.addEventListener(`touchstart`,l,{passive:!0}),e.addEventListener(`pointerdown`,l,{passive:!0}),t.addEventListener(`keydown`,u),{get active(){return a.active},cancel:l,get interrupted(){return c},interruptedBy:e=>s===e,start(t){if(o)return;a.cancel(),c=!1,s=void 0;let i=(t.features?.scrollToBottom?.scrollBehavior??(t.future?.v5Defaults?`smooth`:`instant`))===`smooth`,l=t.features?.scrollToBottom?.scrollDurationMs??220,u=Number.isFinite(l)&&l>=0?l:220,d=typeof matchMedia==`function`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches;!i||d||u===0?(e.scrollTop=Xe(e),n(),r()):a.start(e,()=>Xe(e),u,n,r)},destroy(){o=!0,a.cancel(),e.removeEventListener(`wheel`,d),e.removeEventListener(`touchstart`,l),e.removeEventListener(`pointerdown`,l),t.removeEventListener(`keydown`,u)}}}function Nr(e,t,n){let r=k(`button`,`persona-scroll-to-bottom-indicator persona-absolute persona-bottom-3 persona-left-1/2 persona-z-10 persona-text-xs persona-transform persona--translate-x-1/2 persona-cursor-pointer`);r.type=`button`,r.setAttribute(`data-persona-scroll-to-bottom-visible`,`false`),r.disabled=!0,r.tabIndex=-1,r.setAttribute(`aria-hidden`,`true`),r.setAttribute(`data-persona-scroll-to-bottom`,`true`);let i=k(`span`,`persona-flex persona-items-center persona-justify-center`);i.setAttribute(`aria-hidden`,`true`);let a=k(`span`,``),o=k(`span`,``);o.setAttribute(`data-persona-scroll-to-bottom-count`,``),r.appendChild(i),r.appendChild(a),r.appendChild(o);let s={},c={activity:`idle`,visible:!1,hovered:!1,focused:!1,reducedMotion:!1},l,u,d,f=``,p=typeof matchMedia==`function`?matchMedia(`(prefers-reduced-motion: reduce)`):void 0;c.reducedMotion=p?.matches??!1;let m=e=>console.warn(`Persona scroll icon failed`,e),h=()=>({config:s,state:{...c},view:t,signal:d.signal}),g=()=>{d?.abort();try{u?.destroy?.()}catch(e){m(e)}u=void 0,d=void 0,i.innerHTML=``,f=``},_=()=>{if(u?.element)return;let t=s.features?.scrollToBottom,n=c.activity===`generating-below`&&(t?.streamingIndicator??(s.future?.v5Defaults?`dots`:`arrow`))===`dots`,r=n?`dots`:`arrow:${t?.iconName??`arrow-down`}`;if(f!==r){if(f=r,i.innerHTML=``,n){let e=k(`span`,`persona-scroll-to-bottom-dots`);for(let t=0;t<3;t++){let n=k(`span`,``);n.style.animationDelay=`${t*150}ms`,e.appendChild(n)}i.appendChild(e)}else{let n=e(t?.iconName??`arrow-down`,`14px`,`currentColor`,2);n&&i.appendChild(n)}}},v=e=>{let t=s.features?.scrollToBottom?.enabled===!1?void 0:s.features?.scrollToBottom?.renderIcon;if(t!==l){if(g(),l=t,l){d=new AbortController;try{let e=l(h());u=e&&`element`in e?e:e?{element:e}:void 0,u?.element&&i.appendChild(u.element)}catch(e){m(e),g()}}}else if(e&&u?.update)try{u.update(h())}catch(e){m(e),g()}_()},y=e=>Object.keys(e).some(t=>e[t]!==c[t]),b=e=>{let t=y(e);c=e,v(t)},x=()=>b({...c,hovered:!0}),S=()=>b({...c,hovered:!1}),C=()=>b({...c,focused:!0}),ee=()=>b({...c,focused:!1}),w=()=>b({...c,reducedMotion:p?.matches??!1}),T=new AbortController;for(let[e,t]of[[`mouseenter`,x],[`mouseleave`,S],[`focus`,C],[`blur`,ee]])r.addEventListener(e,t,{signal:T.signal});return p?.addEventListener?.(`change`,w),{element:r,update(e,t,i=!1,l=0){let u=s.features?.scrollToBottom,d=e.features?.scrollToBottom,f=s.future?.v5Defaults!==e.future?.v5Defaults||[`enabled`,`iconName`,`label`,`streamingIndicator`,`transition`,`scrollBehavior`,`scrollDurationMs`].some(e=>u?.[e]!==d?.[e]);s=e;let p=s.features?.scrollToBottom;t&&=p?.enabled!==!1;let m=r.getRootNode().activeElement===r;r.setAttribute(`data-persona-scroll-to-bottom-visible`,String(t));let h=p?.enabled===!1?`none`:p?.transition??(s.future?.v5Defaults?`fade`:`none`);r.setAttribute(`data-persona-scroll-to-bottom-transition`,h),i&&t?r.setAttribute(`data-persona-scroll-to-bottom-streaming`,``):r.removeAttribute(`data-persona-scroll-to-bottom-streaming`),r.style.display=!t&&h===`none`?`none`:``,r.disabled=!t,r.tabIndex=t?0:-1,r.setAttribute(`aria-hidden`,String(!t)),!t&&m&&(r.blur(),n&&(n.hasAttribute(`tabindex`)||(n.tabIndex=-1),n.focus({preventScroll:!0})));let g=p?.label??``,_=g||`Jump to latest`;r.setAttribute(`aria-label`,`${_}${l>0?` (${l} new)`:``}${i&&t?` (response streaming below)`:``}`),r.title=g,r.setAttribute(`data-persona-scroll-to-bottom-has-label`,String(!!g)),a.textContent=g,a.style.display=g?``:`none`,o.textContent=l>0?String(l):``,o.style.display=l>0?``:`none`;let b={...c,visible:t,hovered:t&&c.hovered,focused:t&&c.focused,activity:i&&t?`generating-below`:`idle`},x=f||y(b);c=b,v(x)},destroy(){g(),T.abort(),p?.removeEventListener?.(`change`,w),r.remove()}}}function Pr(e){let t=/* @__PURE__ */ new Map,n=(t,n)=>({slot:t,signal:n.abort.signal,config:e.config(),defaultContent:()=>e.defaultContent(t)}),r=(n,r)=>{t.delete(n),r.abort.abort();try{r.result.destroy?.()}catch(e){console.error(`[AgentWidget] Error destroying slot "${n}":`,e)}e.remove(n,r.result.element)};return{update(){let i=e.config().layout?.slots??{};for(let[e,n]of t)i[e]!==n.renderer&&r(e,n);for(let[a,o]of Object.entries(i)){if(!o)continue;let i=t.get(a);try{if(!i){i={renderer:o,abort:new AbortController,result:{element:null}},t.set(a,i);let e=o(n(a,i));i.result=e===null||`nodeType`in e?{element:e}:e}else if(i.result.update){let t=i.result.update(n(a,i));t!==void 0&&t!==i.result.element&&(e.remove(a,i.result.element),i.result.element=t)}i.result.element&&e.mount(a,i.result.element)}catch(e){i&&r(a,i),console.error(`[AgentWidget] Error rendering slot "${a}":`,e)}}},remount(){for(let[n,r]of t)r.result.element&&e.mount(n,r.result.element)},detach(n){for(let r of n){let n=t.get(r);n&&e.remove(r,n.result.element)}},destroy(){for(let[e,n]of t)r(e,n)}}}const Fr=`var(--persona-md-table-scroll-fade, 24px)`,Ir=/* @__PURE__ */ new WeakSet;function Lr(e){e.querySelectorAll(`table`).forEach(e=>{if(e.parentElement?.classList.contains(`persona-table-scroll`))return;let t=document.createElement(`div`);t.className=`persona-table-scroll`,e.replaceWith(t),t.appendChild(e)})}function Rr(e){let t=e.scrollWidth-e.clientWidth;if(t<=1){e.removeAttribute(`data-persona-scroll-x`);return}e.setAttribute(`data-persona-scroll-x`,``);let n=getComputedStyle(e).direction===`rtl`?t+e.scrollLeft:e.scrollLeft,r=t-n;e.style.setProperty(`--persona-fade-l`,n<=1?`0px`:Fr),e.style.setProperty(`--persona-fade-r`,r<=1?`0px`:Fr)}function zr(e){Ir.has(e)||(Ir.add(e),e.addEventListener(`scroll`,e=>{let t=e.target;t?.classList?.contains(`persona-table-scroll`)&&Rr(t)},!0)),e.querySelectorAll(`.persona-table-scroll`).forEach(Rr)}const{setLoader:Br,load:Vr,provide:Hr,getSync:Ur}=v({fallbackImport:()=>import(`./chunk-gu34lr-P.js`)}),Wr=Vr,Gr=Ur,{setLoader:Kr,load:qr,provide:Jr,getSync:Yr}=v({fallbackImport:()=>import(`./chunk-dLJWKfOb.js`)}),Xr=qr,Zr=Yr,{setLoader:Qr,load:$r}=v({fallbackImport:()=>import(`./chunk-CzLEhoB_.js`)}),ei=$r,{setLoader:ti,load:ni}=v({fallbackImport:()=>import(`./chunk-lA5CJCgK.js`)}),ri=ni;function ii(e){return e.startsWith(`agent_`)?{kind:`agentId`,agentId:e}:e.startsWith(`flow_`)?{kind:`flowId`,flowId:e}:null}function ai(e,t){let n=e.trim();if(!n)throw Error("[Persona] `target` is empty.");let r=n.indexOf(`:`);if(r>0){let e=n.slice(0,r),i=n.slice(r+1);if(e===`runtype`){let e=ii(i);if(e)return e;throw Error(`[Persona] target "runtype:${i}" is not a valid Runtype agent_/flow_ id.`)}let a=t?.[e];if(!a)throw Error(`[Persona] No target provider registered for "${e}". Add a \`targetProviders.${e}\` resolver, or use a Runtype agent_/flow_ id.`);return{kind:`payload`,payload:a(i).payload}}let i=ii(n);if(i)return i;let a=t?.default;if(a)return{kind:`payload`,payload:a(n).payload};throw Error(`[Persona] target "${n}" has no provider prefix and is not a Runtype agent_/flow_ id. Use "<provider>:${n}", a Runtype TypeID, or register a \`targetProviders.default\` resolver.`)}const{setLoader:oi,load:si,provide:ci}=v({fallbackImport:()=>import(`./chunk-DW7Vg_l2.js`)}),li=si;var ui=class extends Error{constructor(e,t,n){super(t),this.name=`HistoryClientError`,this.code=e,n?.retryAfterSeconds!==void 0&&(this.retryAfterSeconds=n.retryAfterSeconds)}};const di=e=>`reason`in e?e.reason:void 0;function fi(e){switch(e){case`json`:return yt;case`regex-json`:return N;case`xml`:return bt;default:return j}}var pi=class{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;#C;#w;#T;constructor(e={},t={}){if(this.#f=0,this.#p=/* @__PURE__ */ new Set,this.#m=null,this.clientSession=null,this.#h=null,this.#g=!1,this.lastSentClientToolsFingerprint=null,this.clientToolsFingerprintSessionId=null,this.#_=null,this.#v=!1,this.#y=!1,this.#b=!1,this.#x=null,this.#S=/* @__PURE__ */ new Set,this.#C=/* @__PURE__ */ new Set,this.webMcpBridge=null,this.#w=null,this.#U=null,this.#G=null,this.#i=e,this.#r=t,e.target&&(e.agentId||e.flowId||e.agent))throw Error("[Persona] `target` is mutually exclusive with `agentId`, `flowId`, and `agent`. Set only one routing field.");this.#e=e.apiUrl??`https://api.runtype.com/v1/dispatch`,this.#t={"Content-Type":`application/json`,"X-Persona-Version":Dt,...e.headers},this.#n=!!e.debug,this.#a=e.streamParser??fi(e.parserType),this.#o=e.contextProviders??[],this.#s=e.requestMiddleware,this.#c=e.customFetch,this.#l=e.parseSSEEvent,this.#u=e.getHeaders,e.webmcp?.enabled===!0&&(this.#w=this.#E(e.webmcp))}#E(e){return ei().then(t=>{let n=new t.WebMcpBridge(e,{recordToolDisplayTitles:ot,getToolDisplayTitle:st,loadPolyfill:rt});return this.#T!==void 0&&n.setConfirmHandler(this.#T),this.webMcpBridge=n,n}).catch(e=>(this.#w=null,console.warn(`[Persona] Failed to load the WebMCP runtime chunk`,e),null))}#D(){return this.webMcpBridge?Promise.resolve(this.webMcpBridge):this.#i.webmcp?.enabled===!0?(this.#w||=this.#E(this.#i.webmcp),this.#w):Promise.resolve(null)}updateConfig(e){this.#i=e}setHistoryInternals(e){this.#r=e}cancelStreams(){if(this.#f+=1,this.#i.backgroundConversations)for(let e of this.#p)e.cancel().catch(()=>{})}setSSEEventCallback(e){this.#d=e}setWebMcpConfirmHandler(e){this.#T=e,this.webMcpBridge?.setConfirmHandler(e)}isWebMcpOperational(){return this.webMcpBridge?.isOperational()===!0}getVoiceClientTools(){if(this.#i.webmcp?.enabled!==!0)return null;let e=()=>this.#D(),t={open:async e=>(await ri()).createVoiceClientToolsSession(t,e),snapshot:async()=>{let t=await(await e())?.snapshotForDispatch()??[];return{tools:t,fingerprint:at(t)}},onChange:t=>{let n=null,r=!1;return e().then(e=>{e&&!r&&(n=e.watchToolChanges(t))}),()=>{r=!0,n?.()}},execute:async(t,n,r)=>{let i=await e();return i?i.executeVoiceToolCall(t,n,r):{status:`failed`,error:{message:`WebMCP runtime failed to load.`}}}};return t}executeWebMcpToolCall(e,t,n,r){return this.#i.webmcp?.enabled===!0?this.#D().then(i=>i?i.executeToolCall(e,t,n,r):{isError:!0,content:[{type:`text`,text:`WebMCP runtime failed to load.`}]}):null}getSSEEventCallback(){return this.#d}isClientTokenMode(){return!!this.#i.clientToken}#O(){let{agentId:e,flowId:t,target:n,targetProviders:r}=this.#i;if(!n)return{agentId:e,flowId:t};let i=ai(n,r);return i.kind===`agentId`?{agentId:i.agentId}:i.kind===`flowId`?{flowId:i.flowId}:{targetPayload:i.payload}}isAgentMode(){return!!(this.#i.agent||this.#O().agentId)}#k(){return this.#i.apiUrl?.replace(/\/+$/,``).replace(/\/v1\/dispatch$/,``)||`https://api.runtype.com`}#A(e){return`${this.#k()}/v1/client/${e}`}getClientSession(){return this.clientSession}async reconnectClientTokenStream(e){let t=await this.initSession(),n=!1;for(;;){let r=t.conversationId,i=await this.readVisitorToken();if(t.durableRecovery?.enabled!==!0||!r||!i)throw new ui(`visitor_token_missing`,`Durable recovery is not enabled for this client session`);let a=`${this.#k()}/v1/client/conversations/${encodeURIComponent(r)}/executions/${encodeURIComponent(e.executionId)}/events`,o=new URLSearchParams({sessionId:t.sessionId,after:e.after}),s=await fetch(`${a}?${o}`,{method:`GET`,headers:{"X-Persona-Version":Dt,"X-Visitor-Token":i},signal:e.signal});if(s.status===401&&!n){n=!0;let e=await li();t=await e.recoverFromUnauthorized(this.#K(),await e.readErrorCode(this.#K(),s),null,!0)}else{if(!s.ok)throw await(await li()).historyErrorFor(this.#K(),s,!0);return s}}}async warmSession(){let e=this.clientSession;return!this.isClientTokenMode()||this.#h||e&&/* @__PURE__ */ new Date<e.expiresAt||this.#g===e?null:(this.#g=e,this.initSession().catch(()=>null))}async initSession(){if(!this.isClientTokenMode())throw Error(`initSession() only available in client token mode`);if(this.clientSession&&/* @__PURE__ */ new Date<this.clientSession.expiresAt)return this.clientSession;if(this.#h)return this.#h;let e=this.#h=this.#R().then(t=>this.#h===e?(this.clientSession=t,this.#g=!1,this.resetClientToolsFingerprint(),this.#i.onSessionInit?.(t),t):this.initSession()).finally(()=>{this.#h===e&&(this.#h=null)});return e}#j(){return this.#i.features?.history?.enabled===!0&&this.isClientTokenMode()&&!this.#v}async readVisitorToken(){let e=this.#r.visitorStore;return e?(await e.ready,await e.get()??null):null}#M(){if(!this.#v){this.#I({state:`unavailable`,reason:`history_disabled`}),this.#v=!0,!this.#y&&typeof console<`u`&&(this.#y=!0,console.warn(`[Persona] Visitor history is disabled for this surface; continuing without it.`)),this.#r.onHistoryAvailabilityChanged?.(!1);for(let e of[...this.#C])e(!1)}}getHistoryIdentityStatus(){return this.#x??this.#N()}subscribeHistoryIdentityStatus(e){return this.#S.add(e),()=>{this.#S.delete(e)}}subscribeHistoryAvailability(e){return this.#C.add(e),this.#v&&e(!1),()=>{this.#C.delete(e)}}#N(){return this.isClientTokenMode()?this.#i.features?.history?.enabled!==!0||this.#v?{state:`unavailable`,reason:`history_disabled`}:this.#P():{state:`unavailable`,reason:`ineligible_mode`}}#P(){let e=this.#x;return e?.state===`browser_only`?e:this.#F()}#F(){return this.#i.features?.history?.scope===`browser`?{state:`browser_only`,reason:`configured_browser_scope`}:this.#i.getIdentityProof?{state:`browser_only`,reason:`proof_unavailable_before_binding`}:{state:`browser_only`,reason:`no_identity_provider`}}#I(e){let t=this.getHistoryIdentityStatus(),n=t.state===e.state&&di(t)===di(e);if(this.#x=e,!n){this.#r.onHistoryIdentityStatusChanged?.(e);for(let t of[...this.#S])t(e)}}async#L(e){return new((Zr())??await(Xr())).ClientDispatch(this.#q()).createClientSession(e)}async#R(){return new((Zr())??await(Xr())).ClientDispatch(this.#q()).initializeSession()}async#z(e){let t=this.#i.getStoredSessionId?.()||null,n=this.#i.getStoredConversationId?.()||null,r=await this.#L({storedSessionId:t,identityProof:e}),i=this.#B(r,n,!1);return this.clientSession=i,this.#h=null,this.#g=!1,this.resetClientToolsFingerprint(),i}#B(e,t,n){let r=e.conversationId;return r&&t&&(n||r!==t)&&this.#r.onHistoryContinuityChanged?.({previousConversationId:t,conversationId:r}),this.#i.setStoredSessionId?.(e.sessionId),r&&(this.#i.setStoredConversationId?.(r),this.#r.setStoredConversationRevision?.(e.conversationRevision??null)),e}#V(e){let t=!1;return{session:e,commit:()=>{t||(t=!0,this.clientSession=e,this.#g=!1,this.resetClientToolsFingerprint())},discard:()=>{t=!0}}}async prepareConversationSession(e,t){if(!this.isClientTokenMode())throw Error(`prepareConversationSession() only available in client token mode`);if(!this.#j())throw new ui(`history_disabled`,`Visitor history is disabled for this surface`);await this.#r.historyBootstrapReady;let n=t?.proof??null;if(!await this.readVisitorToken()&&!n)throw new ui(`conversation_credential_missing`,`Reopening a conversation requires a stored visitor token or an identity proof`);let r=await this.#L({conversationId:e,identityProof:n});return this.#V(r)}async prepareNewConversationSession(){if(!this.isClientTokenMode())throw Error(`prepareNewConversationSession() only available in client token mode`);await this.#r.historyBootstrapReady;let e=await this.#L({});return this.#V(e)}handleExternalCredentialChange(){this.clearClientSession(),this.#j()&&this.#I(this.#F())}clearClientSession(){this.clientSession=null,this.#h=null,this.#g=!1,this.resetClientToolsFingerprint()}resetClientToolsFingerprint(){this.lastSentClientToolsFingerprint=null,this.clientToolsFingerprintSessionId=null,this.#_=null}async sendFeedback(e){if(!this.isClientTokenMode())throw Error(`sendFeedback() only available in client token mode`);if(!this.getClientSession())throw Error(`No active session. Please initialize session first.`);return new((Zr())??await(Xr())).ClientDispatch(this.#q()).sendFeedback(e)}async submitMessageFeedback(e,t){let n=this.getClientSession()??await this.initSession();return this.sendFeedback({sessionId:n.sessionId,messageId:e,type:t})}async submitCSATFeedback(e,t){let n=this.getClientSession()??await this.initSession();return this.sendFeedback({sessionId:n.sessionId,type:`csat`,rating:e,comment:t})}async submitNPSFeedback(e,t){let n=this.getClientSession()??await this.initSession();return this.sendFeedback({sessionId:n.sessionId,type:`nps`,rating:e,comment:t})}async#H(e){e?.throwIfAborted();let t=this.#i.identityProvider;if(t===void 0)return;let n=this.#i.getIdentityProof;if(!t.trim()||!n)throw Error(`Chat identity requires identityProvider and getIdentityProof.`);let r,i;try{let t=Promise.resolve().then(()=>n());r=e?await Promise.race([t,new Promise((t,n)=>{i=()=>n(e.reason),e.addEventListener(`abort`,i,{once:!0}),e.aborted&&i()})]):await t}catch{throw e?.throwIfAborted(),Error(`The identity proof provider failed.`)}finally{i&&e?.removeEventListener(`abort`,i)}if(typeof r!=`string`||!r.trim())throw Error(`A fresh identity proof is required to send this message.`);return{provider:t,token:r}}#U;#W(){let e=this;return this.#U??={get config(){return e.#i},headers:this.#t,getHeaders:this.#u,debug:this.#n,clientApiBase:()=>e.#k(),getClientApiUrl:t=>e.#A(t),getWebMcpBridge:()=>e.#D(),sendWithClientToolsDiff:(t,n,r,i)=>e.#J(t,n,r,i),initSession:()=>e.initSession(),readVisitorToken:()=>e.readVisitorToken(),isClientTokenMode:()=>e.isClientTokenMode()}}#G;#K(){let e=this;return this.#G??={HistoryClientError:ui,get config(){return e.#i},get historyInternals(){return e.#r},get clientSession(){return e.clientSession},clientApiBase:()=>e.#k(),setHistoryIdentityStatus:t=>e.#I(t),browserOnlyStatus:()=>e.#P(),derivedBrowserOnly:()=>e.#F(),reinitWithProof:t=>e.#z(t),isHistoryCapable:()=>e.#j(),clearClientSession:()=>e.clearClientSession(),initSession:()=>e.initSession(),readVisitorToken:()=>e.readVisitorToken(),isClientTokenMode:()=>e.isClientTokenMode()}}async listConversations(e){return(await li()).listConversations(this.#K(),e)}async getConversation(e,t){return(await li()).getConversation(this.#K(),e,t)}async finalizeDisplayProjections(e,t){return(await li()).finalizeDisplayProjections(this.#K(),e,t)}async deleteConversation(e,t){return(await li()).deleteConversation(this.#K(),e,t)}async deleteAllConversations(e){return(await li()).deleteAllConversations(this.#K(),e)}async resetVisitor(){return(await li()).resetVisitor(this.#K())}async dispatch(e,t){e.signal?.throwIfAborted(),Wr().catch(()=>{});let n=this.isClientTokenMode(),r=this.isAgentMode(),i=lt();n&&(this.#m=i),t({type:`status`,status:`connecting`});let a=Zr()??await Xr().catch(e=>{let r=e instanceof Error?e:Error(String(e));throw(!n||this.#m===i)&&t({type:`error`,error:r}),r});if(e.signal?.throwIfAborted(),n&&this.#m!==i)throw new DOMException(`Turn superseded`,`AbortError`);let o=new a.ClientDispatch(this.#q());return n?o.dispatchClientToken(e,t,i):r?o.dispatchAgent(e,t):o.dispatchProxy(e,t)}#q(){let e=this;return Object.setPrototypeOf({HistoryClientError:ui,get claimInFlight(){return e.#b},set claimInFlight(t){e.#b=t},get clientToolsFingerprintSessionId(){return e.clientToolsFingerprintSessionId},set clientToolsFingerprintSessionId(t){e.clientToolsFingerprintSessionId=t},get lastSentClientToolsFingerprint(){return e.lastSentClientToolsFingerprint},set lastSentClientToolsFingerprint(t){e.lastSentClientToolsFingerprint=t},get sentNonEmptyClientToolsSessionId(){return e.#_},set sentNonEmptyClientToolsSessionId(t){e.#_=t},get historyInternals(){return e.#r},markHistoryUnavailable:()=>e.#M(),apiUrl:this.#e,contextProviders:this.#o,requestMiddleware:this.#s,customFetch:this.#c,get clientSession(){return e.clientSession},set clientSession(t){e.clientSession=t},isCurrentTurn:t=>e.#m===t,isHistoryCapable:()=>e.#j(),createClientSession:t=>e.#L(t),finishInit:(t,n,r)=>e.#B(t,n,r),resetSessionWarmLatch:()=>{e.#g=!1},resetClientToolsFingerprint:()=>e.resetClientToolsFingerprint(),clearClientSession:()=>e.clearClientSession(),resolveChatIdentityProof:t=>e.#H(t),routing:()=>e.#O(),builtInClientTools:wt,streamResponse:(...t)=>e.#Y(...t)},this.#W())}async processStream(e,t,n,r,i,a,o){t({type:`status`,status:`connected`});try{await this.#Y(e,t,n,r,i,a,o)}finally{t({type:`status`,status:`idle`})}}async resolveApproval(e,t,n){return(await Wr()).resolveApproval(this.#W(),e,t,n)}async#J(e,t,n,r){return new((Zr())??await(Xr())).ClientDispatch(this.#q()).sendWithClientToolsDiff(e,t,n,r)}async resumeFlow(e,t,n){return(await Wr()).resumeFlow(this.#W(),e,t,n)}async#Y(e,t,n,r,i,a,o){let{streamResponse:s}=Gr()??await Wr();return s({config:()=>this.#i,streamGeneration:()=>this.#f,streamReaders:this.#p,createStreamParser:this.#a,parseSSEEvent:this.#l,onSSEEvent:(e,t)=>this.#d?.(e,t)},e,t,n,r,i,a,o)}};const{setLoader:mi,load:hi}=v({fallbackImport:()=>import(`./chunk-CsBLSRM_.js`)}),gi=hi,{setLoader:_i,load:vi,provide:W,getSync:G}=v({fallbackImport:()=>import(`./chunk-BL6v2bXy.js`)}),K=vi,yi=G,bi=e=>typeof e==`object`&&!!e&&!Array.isArray(e),xi=(e,t)=>{let n=/* @__PURE__ */ new Set;return(Array.isArray(e)?e:[]).flatMap(e=>{if(!bi(e))return[];let{toolCallId:r,name:i}=e;if(typeof r!=`string`||!r||typeof i!=`string`||!i||n.has(r))return[];n.add(r);let a=bi(e.arguments)?e.arguments:{},o=e.result??null;return[{id:`voice-tool-${r}`,role:`assistant`,variant:`tool`,content:``,createdAt:t,streaming:!1,toolCall:{id:r,name:i,status:`complete`,args:a,result:o},agentMetadata:{clientToolAnswer:{toolCallId:r,toolName:i,args:a,result:o}}}]})},Si=e=>e.sourceLabel?`quoted-text source=${e.sourceLabel}`:`quoted-text`;function Ci(e){let t=e?.text?.trim()??``;return t?Lt(Si(e),t):``}function wi(e){let t=Ci(e.quote);return t?e.contentParts&&e.contentParts.length>0?{contentParts:[kt(t),...e.contentParts]}:{llmContent:[t,e.text].filter(Boolean).join(`
|
|
1
|
+
import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,n as l,o as u,p as d,r as f,t as p,u as m,v as h,y as g}from"./chunk-CEPM3FOp.js";import{n as _,r as v,t as y}from"./chunk-BnfM7-qg.js";import{t as b}from"./chunk-CnxIZOzx.js";import{A as x,C as S,D as C,E as ee,F as w,I as T,M as te,N as E,O as ne,P as re,S as ie,T as ae,_ as D,a as oe,b as se,c as ce,d as le,f as ue,g as de,h as fe,i as pe,j as me,k as he,l as ge,m as _e,n as ve,o as ye,r as be,s as xe,t as Se,u as Ce,v as we,w as Te,x as Ee,y as De}from"./chunk-DsWv3EGF.js";import{_ as Oe,a as ke,c as Ae,d as je,f as Me,g as O,h as Ne,i as Pe,l as Fe,m as Ie,o as Le,p as Re,r as ze,s as Be,u as Ve,v as He}from"./chunk-D1G8tgYc.js";import{i as Ue,r as k,t as A}from"./chunk-D5BxWOFB.js";import{i as We,n as Ge,r as Ke}from"./chunk-Bb41bKyp.js";import{a as qe,c as Je,i as Ye,n as Xe,o as Ze,r as Qe,s as $e,t as et}from"./chunk-kizhspe5.js";import{a as tt,i as nt,n as rt,o as it,r as at}from"./chunk-BAdIgC5d.js";import{n as ot,r as st}from"./chunk-DDZBCAer.js";import{n as ct,r as lt,t as ut}from"./chunk-BvhTpG6k.js";import{f as dt,r as ft,s as pt,u as mt}from"./chunk-Dj2a9f9w.js";import{a as ht,i as gt,r as _t}from"./chunk-xzeTUTrE.js";import{a as vt,c as yt,i as bt,n as xt,o as St,r as Ct,s as wt,t as Tt,u as j}from"./chunk-BRM3bHcJ.js";import{m as Et,n as Dt}from"./chunk-mEFmAbxE.js";import{t as M}from"./chunk-Dqa_GOcj.js";import{t as Ot}from"./chunk-C8560fIY.js";import{a as kt,c as N,d as At,l as jt,n as Mt,o as Nt,t as Pt,u as Ft}from"./chunk-BlTD-Wgn.js";import{t as It}from"./chunk-aTmHfQO_.js";import{r as Lt,t as Rt}from"./chunk-i4qGOJAL.js";import{c as zt,f as Bt,l as Vt,m as Ht,n as Ut,r as Wt,s as Gt,t as Kt,u as qt}from"./chunk-BEDTp-dm.js";import{n as Jt,t as Yt}from"./chunk-BAkaTZpd.js";import{n as Xt,t as Zt}from"./chunk-Crczk7D3.js";import{n as Qt}from"./chunk-py2YB6PV.js";import{a as $t,i as en,n as tn,o as nn,s as rn}from"./chunk-Cy1A8vbF.js";import{a as an,c as on,i as sn,l as cn,n as ln,o as un,r as dn,s as fn,t as pn,u as mn}from"./chunk-BExOAPZb.js";import{n as hn}from"./chunk-DTDHeUsG.js";import{Activity as gn,ArrowRight as _n,Check as vn,ChevronUp as yn,Copy as bn,File as xn,FileCode as Sn,FileSpreadsheet as Cn,FileText as wn,MessageSquare as Tn,X as En}from"lucide";import"partial-json";import{Idiomorph as Dn}from"idiomorph";const On=e=>{let t=0,n=!1,r=Promise.resolve(),i=()=>{},a,o=e.inert===!0,s=()=>{a?.remove(),a=void 0,e.removeAttribute(`data-persona-preparing`),e.inert=o};return{get ready(){return r},prepare(o,c,l=!1){let u=++t;if(i(),!o.length){if(c(),u!==t)return;s(),r=Promise.resolve();return}!l&&!a&&(a=e.ownerDocument.createElement(`style`),a.textContent=`[data-persona-preparing],[data-persona-preparing] *{visibility:hidden!important}`,e.append(a)),l||(e.setAttribute(`data-persona-preparing`,``),e.inert=!0);let d=new Promise((e,t)=>{i=()=>t(/* @__PURE__ */ Error(`Widget destroyed before ready`))});r=Promise.race([Promise.all(o),d]).then(()=>{if(n)throw Error(`Widget destroyed before ready`);if(u!==t||(c(),u!==t))return r;s()},e=>{if(!n&&u!==t)return r;throw e}),r.catch(()=>{})},destroy(){n=!0,++t,i(),s()}}},kn={defaultProvenance:d,suppliedPath:e,hasExplicitThemeStyle:t,getExplicitLegacyStyle:f},{setLoader:An,load:jn,provide:Mn,getSync:Nn}=v({fallbackImport:()=>import(`./chunk-B4ecQzeK.js`)}),Pn=jn,Fn=Nn,{setLoader:In,load:Ln,provide:Rn}=v({fallbackImport:()=>import(`./chunk-C3cPmtjr.js`)});let zn=null;const Bn=()=>Promise.all([Ln(),Pn()]).then(([e,t])=>(Object.assign(t.turnUi,e),zn=e)),Vn=()=>zn,{setLoader:Hn,load:Un,provide:Wn,getSync:Gn}=v({fallbackImport:()=>import(`./chunk-NUNdcnAZ.js`)}),Kn=Un,qn=Gn,{setLoader:Jn,load:Yn,provide:Xn,getSync:Zn}=v({fallbackImport:()=>import(`./chunk-CYpt7PsO.js`)}),Qn=Yn,$n=Zn,{setLoader:P,load:F,getSync:er,provide:I}=v({fallbackImport:()=>import(`./chunk-C4v-HNhS.js`)}),tr=F,nr=er;function L(e){let{items:t,onSelect:n,anchor:r,position:i=`bottom-left`,portal:a,onOpenChange:o}=e,s=A(`div`,`persona-dropdown-menu persona-hidden`);s.setAttribute(`role`,`menu`),s.setAttribute(`data-persona-theme-zone`,`dropdown`),a?(s.style.position=`fixed`,s.style.zIndex=String(Ke)):(s.style.position=`absolute`,s.style.top=`100%`,s.style.marginTop=`4px`,i===`bottom-right`?s.style.right=`0`:s.style.left=`0`);for(let e of t){if(e.dividerBefore){let e=document.createElement(`hr`);s.appendChild(e)}let t=document.createElement(`button`);if(t.type=`button`,t.setAttribute(`role`,`menuitem`),t.setAttribute(`data-dropdown-item-id`,e.id),e.destructive&&t.setAttribute(`data-destructive`,``),e.icon){let n=T(e.icon,16,`currentColor`,1.5);n&&t.appendChild(n)}let r=document.createElement(`span`);r.textContent=e.label,t.appendChild(r),t.addEventListener(`click`,t=>{t.stopPropagation(),d(),n(e.id)}),s.appendChild(t)}let c=null;function l(){if(!a)return;let e=r.getBoundingClientRect();s.style.top=`${e.bottom+4}px`,i===`bottom-right`?(s.style.right=`${window.innerWidth-e.right}px`,s.style.left=`auto`):(s.style.left=`${e.left}px`,s.style.right=`auto`)}function u(){let e=s.classList.contains(`persona-hidden`);l(),s.classList.remove(`persona-hidden`),e&&o?.(!0),requestAnimationFrame(()=>{let e=e=>{!s.contains(e.target)&&!r.contains(e.target)&&d()};document.addEventListener(`click`,e,!0),c=()=>document.removeEventListener(`click`,e,!0)})}function d(){let e=!s.classList.contains(`persona-hidden`);s.classList.add(`persona-hidden`),c?.(),c=null,e&&o?.(!1)}function f(){s.classList.contains(`persona-hidden`)?u():d()}function p(){d(),s.remove()}return a&&a.appendChild(s),{element:s,show:u,hide:d,toggle:f,destroy:p}}function R(e){let{icon:t,label:n,size:r,strokeWidth:i,className:a,chromeless:o,onClick:s,aria:c}=e,l=A(`button`,Ue(!o&&`persona-icon-btn`,a));l.type=`button`,l.setAttribute(`aria-label`,n),l.title=n;let u=T(t,r??16,`currentColor`,i??2);if(u&&l.appendChild(u),s&&l.addEventListener(`click`,s),c)for(let[e,t]of Object.entries(c))l.setAttribute(e,t);return l}function z(e){let{icon:t,label:n,variant:r=`default`,size:i=`sm`,iconSize:a,className:o,onClick:s,aria:c}=e,l=`persona-label-btn`;r!=="default"&&(l+=` persona-label-btn--`+r),l+=` persona-label-btn--`+i,o&&(l+=` `+o);let u=A(`button`,l);if(u.type=`button`,u.setAttribute(`aria-label`,n),t){let e=T(t,a??14,`currentColor`,2);e&&u.appendChild(e)}let d=A(`span`);if(d.textContent=n,u.appendChild(d),s&&u.addEventListener(`click`,s),c)for(let[e,t]of Object.entries(c))u.setAttribute(e,t);return u}function rr(e){let{items:t,selectedId:n,onSelect:r,className:i}=e,a=A(`div`,`persona-toggle-group`+(i?` `+i:``));a.setAttribute(`role`,`group`);let o=n,s=[];function c(){for(let e of s)e.btn.setAttribute(`aria-pressed`,e.id===o?`true`:`false`)}for(let e of t){let t;e.icon?t=R({icon:e.icon,label:e.label,className:e.className,onClick:()=>{o=e.id,c(),r(e.id)}}):(t=A(`button`,`persona-icon-btn`+(e.className?` `+e.className:``)),t.type=`button`,t.setAttribute(`aria-label`,e.label),t.title=e.label,t.textContent=e.label,t.addEventListener(`click`,()=>{o=e.id,c(),r(e.id)})),t.setAttribute(`aria-pressed`,e.id===o?`true`:`false`),s.push({id:e.id,btn:t}),a.appendChild(t)}function l(e){o=e,c()}return{element:a,setSelected:l}}function ir(e){let{label:t,icon:n,iconSize:r,iconOnly:i,menuItems:a,onSelect:o,onPrimary:s,position:c=`bottom-left`,portal:l,chevronLabel:u=`More options`,chevronIconSize:d,className:f,primaryClassName:p,chevronClassName:m}=e,h=A(`div`,`persona-split-btn`+(f?` `+f:``)),g={label:t,className:`persona-split-btn-primary`+(p?` `+p:``),onClick:s},_=i&&n?R({...g,icon:n,size:r??14}):z({...g,icon:n,iconSize:r??14}),v=R({icon:`chevron-down`,label:u,size:d??14,className:`persona-split-btn-chevron`+(m?` `+m:``),aria:{"aria-haspopup":`true`,"aria-expanded":`false`}});h.append(_,v);let y=null,b=()=>{if(y)return y;let e=(typeof l==`function`?l():l)??void 0;return y=L({items:a,onSelect:o,anchor:h,position:c,portal:e,onOpenChange:e=>{v.setAttribute(`aria-expanded`,e?`true`:`false`)}}),e||h.appendChild(y.element),y};return h.isConnected?b():requestAnimationFrame(()=>{y||b()}),v.addEventListener(`click`,e=>{e.stopPropagation(),b().toggle()}),{element:h,primaryButton:_,chevronButton:v,openMenu:()=>b().show(),closeMenu:()=>y?.hide(),toggleMenu:()=>b().toggle(),destroy:()=>{y?.destroy(),h.remove()}}}function ar(e){let{label:t,icon:n=`chevron-down`,menuItems:r,onSelect:i,position:a=`bottom-left`,portal:o,className:s,hover:c}=e,l=A(`div`,`persona-combo-btn`+(s?` `+s:``));l.style.position=`relative`,l.style.display=`inline-flex`,l.style.alignItems=`center`,l.style.cursor=`pointer`,l.setAttribute(`role`,`button`),l.setAttribute(`tabindex`,`0`),l.setAttribute(`aria-haspopup`,`true`),l.setAttribute(`aria-expanded`,`false`),l.setAttribute(`aria-label`,t);let u=A(`span`,`persona-combo-btn-label`);u.textContent=t,l.appendChild(u);let d=T(n,14,`currentColor`,2);d&&(d.style.marginLeft=`4px`,d.style.opacity=`0.6`,l.appendChild(d)),c&&(l.style.borderRadius=c.borderRadius??`10px`,l.style.padding=c.padding??`6px 4px 6px 12px`,l.style.border=`1px solid transparent`,l.style.transition=`background-color 0.15s ease, border-color 0.15s ease`,l.addEventListener(`mouseenter`,()=>{l.style.backgroundColor=c.background??``,l.style.borderColor=c.border??``}),l.addEventListener(`mouseleave`,()=>{l.style.backgroundColor=``,l.style.borderColor=`transparent`}));let f=L({items:r,onSelect:e=>{l.setAttribute(`aria-expanded`,`false`),i(e)},anchor:l,position:a,portal:o});o||l.appendChild(f.element);let p=()=>l.getAttribute(`data-persona-menu-locked`)===`true`;return l.addEventListener(`click`,e=>{if(e.stopPropagation(),p())return;let t=!f.element.classList.contains(`persona-hidden`);l.setAttribute(`aria-expanded`,t?`false`:`true`),f.toggle()}),l.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),l.click())}),{element:l,setLabel:e=>{u.textContent=e,l.setAttribute(`aria-label`,e)},open:()=>{l.setAttribute(`aria-expanded`,`true`),f.show()},close:()=>{l.setAttribute(`aria-expanded`,`false`),f.hide()},toggle:()=>{let e=!f.element.classList.contains(`persona-hidden`);l.setAttribute(`aria-expanded`,e?`false`:`true`),f.toggle()},destroy:()=>{f.destroy(),l.remove()}}}const B=[`PersonaArtifactCard`,`PersonaArtifactInline`],{setLoader:or,load:sr,provide:V,getSync:cr}=v({fallbackImport:()=>import(`./chunk-6CUrH_jm.js`)});let lr=null;const ur=/* @__PURE__ */ new Set,dr=e=>{if(lr)return lr;lr=e,e.initArtifactsUi({componentRegistry:Re,loadingLabels:$n(),buttons:{createIconButton:R,createLabelButton:z,createSplitButton:ir,createToggleGroup:rr}});for(let t of B)Re.has(t)||Re.register(t,t===`PersonaArtifactCard`?e.PersonaArtifactCard:e.PersonaArtifactInline,{bubbleChrome:!1});let t=O();t?e.__provideMarkdownParsers(t):He(()=>{let t=O();t&&e.__provideMarkdownParsers(t)}),e.__setIconsExtraLoader!==_&&e.__setIconsExtraLoader(y);let n=[...ur];ur.clear();for(let e of n)try{e()}catch{}return e},fr=()=>Promise.all([sr(),Qn()]).then(([e])=>dr(e)),pr=()=>{if(lr)return lr;if(!$n())return null;let e=cr();return e?dr(e):null},mr=e=>lr?()=>{}:(ur.add(e),()=>{ur.delete(e)}),{setLoader:hr,load:gr,provide:_r,getSync:vr}=v({fallbackImport:()=>import(`./chunk-CV8EPIhT.js`)}),yr=gr,br=vr,{setLoader:xr,load:Sr,getSync:Cr}=v({fallbackImport:()=>import(`./chunk-YMkMvAsa.js`)}),wr=Sr,Tr=Cr;function H(e,t){let n=e.voiceRecognition,r=t.voiceRecognition;return n?.enabled===!0!=(r?.enabled===!0)||n?.provider?.type!==r?.provider?.type||n?.provider?.custom!==r?.provider?.custom||kr(e)!==kr(t)||n?.provider?.runtype?.createPlaybackEngine!==r?.provider?.runtype?.createPlaybackEngine||JSON.stringify(n?.provider?.runtype)!==JSON.stringify(r?.provider?.runtype)||e.agentId!==t.agentId||e.clientToken!==t.clientToken||e.apiUrl!==t.apiUrl}function Er(e){return e?.type===`runtype`||e?.type===`custom`}const Dr=()=>typeof window<`u`&&(`SpeechRecognition`in window||`webkitSpeechRecognition`in window);function Or(e){try{if(e?.type===`custom`&&e.custom){let t=e.custom,n=typeof t==`function`?t():t;return!!n&&typeof n.startListening==`function`}return e?.type===`runtype`&&e.runtype?!0:Dr()}catch{return!1}}function kr(e){let t=e.voiceRecognition;return Er(t?.provider)&&(t?.provider?.type!==`custom`||!!t.dictation?.provider||!t.dictation&&t.completionBehavior!==`review`)}const Ar=e=>{let t=[],n=(e,n,r)=>{e&&!n&&t.push(r())};n(!0,qn(),Kn),n(!0,O(),Oe);let r=e.turnActivity?.enabled===!0;n(r,Vn(),Bn);let i=r||e.features?.showToolCalls!==!1||e.features?.showReasoning!==!1;n(i,Fn(),Pn),n(i||e.loadingLabel?.animation!==`none`&&(!!e.loadingLabel?.animate||(e.loadingIndicator?.variant??(e.future?.v5Defaults?`label`:`dots`))===`label`),$n(),Qn),n(e.voiceRecognition?.enabled!==!1,nr(),tr),n(e.voiceRecognition?.enabled!==!1&&kr(e),Tr(),wr),n(e.features?.artifacts?.enabled===!0,pr(),fr),n(e.contextMentions?.enabled===!0,br(),yr);let a=w();return a&&t.push(a),t};function jr(){let e=null,t=()=>{e!==null&&cancelAnimationFrame(e),e=null};return{get active(){return e!==null},cancel:t,start(n,r,i,a,o,s=()=>!0){t();let c=n.scrollTop,l=performance.now();if(Math.abs(r()-c)<1){n.scrollTop=r(),a(),o();return}let u=d=>{if(!s()){t(),o();return}let f=Math.min(Math.max(0,(d-l)/i),1);n.scrollTop=c+(r()-c)*(1-(1-f)**3),a(),f<1?e=requestAnimationFrame(u):(e=null,o())};e=requestAnimationFrame(u)}}}function Mr(e,t,n,r,i){let a=jr(),o=!1,s,c=!1,l=e=>{e&&(c=!1),a.active&&(a.cancel(),s=e,c=!!e,i())},u=e=>{[`PageUp`,`PageDown`,`Home`,`End`,`ArrowUp`,`ArrowDown`,` `].includes(e.key)&&l(e)},d=e=>{e.deltaY!==0&&l(e)};return e.addEventListener(`wheel`,d,{passive:!0}),e.addEventListener(`touchstart`,l,{passive:!0}),e.addEventListener(`pointerdown`,l,{passive:!0}),t.addEventListener(`keydown`,u),{get active(){return a.active},cancel:l,get interrupted(){return c},interruptedBy:e=>s===e,start(t){if(o)return;a.cancel(),c=!1,s=void 0;let i=(t.features?.scrollToBottom?.scrollBehavior??(t.future?.v5Defaults?`smooth`:`instant`))===`smooth`,l=t.features?.scrollToBottom?.scrollDurationMs??220,u=Number.isFinite(l)&&l>=0?l:220,d=typeof matchMedia==`function`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches;!i||d||u===0?(e.scrollTop=Ye(e),n(),r()):a.start(e,()=>Ye(e),u,n,r)},destroy(){o=!0,a.cancel(),e.removeEventListener(`wheel`,d),e.removeEventListener(`touchstart`,l),e.removeEventListener(`pointerdown`,l),t.removeEventListener(`keydown`,u)}}}function Nr(e,t,n){let r=A(`button`,`persona-scroll-to-bottom-indicator persona-absolute persona-bottom-3 persona-left-1/2 persona-z-10 persona-text-xs persona-transform persona--translate-x-1/2 persona-cursor-pointer`);r.type=`button`,r.setAttribute(`data-persona-scroll-to-bottom-visible`,`false`),r.disabled=!0,r.tabIndex=-1,r.setAttribute(`aria-hidden`,`true`),r.setAttribute(`data-persona-scroll-to-bottom`,`true`);let i=A(`span`,`persona-flex persona-items-center persona-justify-center`);i.setAttribute(`aria-hidden`,`true`);let a=A(`span`,``),o=A(`span`,``);o.setAttribute(`data-persona-scroll-to-bottom-count`,``),r.append(i,a,o);let s={},c={activity:`idle`,visible:!1,hovered:!1,focused:!1,reducedMotion:!1},l,u,d,f=``,p=typeof matchMedia==`function`?matchMedia(`(prefers-reduced-motion: reduce)`):void 0,m=[],h=()=>{let e=getComputedStyle(r);return{width:`${r.offsetWidth}px`,backgroundColor:e.backgroundColor,borderColor:e.borderColor,color:e.color}},g=e=>{let t=getComputedStyle(r),n=t.getPropertyValue(`--persona-motion-duration-base`),i=parseFloat(n)*(n.includes(`ms`)?1:1e3);if(i===0)return;let o={duration:i>0?i:200,easing:t.getPropertyValue(`--persona-motion-easing`).trim()||`ease-out`},s=a.style.display===`none`?null:{overflow:`hidden`};m=[r.animate([{...e,...s},{...h(),...s}],o)],s&&m.push(a.animate([{opacity:0},{opacity:1}],o))};c.reducedMotion=p?.matches??!1;let _=e=>console.warn(`Persona scroll icon failed`,e),v=()=>({config:s,state:{...c},view:t,signal:d.signal}),y=()=>{d?.abort();try{u?.destroy?.()}catch(e){_(e)}u=void 0,d=void 0,i.innerHTML=``,f=``},b=()=>{if(u?.element)return;let t=s.features?.scrollToBottom,n=c.activity===`generating-below`&&(t?.streamingIndicator??(s.future?.v5Defaults?`dots`:`arrow`))===`dots`,r=c.activity===`approval-below`?`shield-check`:t?.iconName??`arrow-down`,a=n?`dots`:`arrow:${r}`;if(f!==a){if(f=a,i.innerHTML=``,n){let e=A(`span`,`persona-scroll-to-bottom-dots`);for(let t=0;t<3;t++){let n=A(`span`,``);n.style.animationDelay=`${t*150}ms`,e.appendChild(n)}i.appendChild(e)}else{let t=e(r,`14px`,`currentColor`,2);t&&i.appendChild(t)}}},x=e=>{let t=s.features?.scrollToBottom?.enabled===!1?void 0:s.features?.scrollToBottom?.renderIcon;if(t!==l){if(y(),l=t,l){d=new AbortController;try{let e=l(v());u=e&&`element`in e?e:e?{element:e}:void 0,u?.element&&i.appendChild(u.element)}catch(e){_(e),y()}}}else if(e&&u?.update)try{u.update(v())}catch(e){_(e),y()}b()},S=e=>Object.keys(e).some(t=>e[t]!==c[t]),C=e=>{let t=S(e);c=e,x(t)},ee=()=>C({...c,hovered:!0}),w=()=>C({...c,hovered:!1}),T=()=>C({...c,focused:!0}),te=()=>C({...c,focused:!1}),E=()=>C({...c,reducedMotion:p?.matches??!1}),ne=new AbortController;for(let[e,t]of[[`mouseenter`,ee],[`mouseleave`,w],[`focus`,T],[`blur`,te]])r.addEventListener(e,t,{signal:ne.signal});return p?.addEventListener?.(`change`,E),{element:r,update(e,t,i=!1,l=0,u=!1){let d=s.features?.scrollToBottom,f=e.features?.scrollToBottom,p=s.future?.v5Defaults!==e.future?.v5Defaults||[`enabled`,`iconName`,`label`,`approvalLabel`,`streamingIndicator`,`transition`,`scrollBehavior`,`scrollDurationMs`].some(e=>d?.[e]!==f?.[e]);s=e;let _=s.features?.scrollToBottom;t&&=_?.enabled!==!1;let v=r.getRootNode().activeElement===r;r.setAttribute(`data-persona-scroll-to-bottom-visible`,String(t));let y=_?.enabled===!1?`none`:_?.transition??(s.future?.v5Defaults?`fade`:`none`);r.setAttribute(`data-persona-scroll-to-bottom-transition`,y),i&&t?r.setAttribute(`data-persona-scroll-to-bottom-streaming`,``):r.removeAttribute(`data-persona-scroll-to-bottom-streaming`),r.style.display=!t&&y===`none`?`none`:``,r.disabled=!t,r.tabIndex=t?0:-1,r.setAttribute(`aria-hidden`,String(!t)),!t&&v&&(r.blur(),n&&(n.hasAttribute(`tabindex`)||(n.tabIndex=-1),n.focus({preventScroll:!0})));let b=u&&t,C=c.visible&&t&&c.activity===`approval-below`!==b;(C||!t)&&m.forEach(e=>e.cancel());let ee=C&&!c.reducedMotion&&typeof r.animate==`function`?h():null,w=_?.approvalLabel??`Approval needed`,T=b&&w?w:_?.label??``,te=_?.label||`Jump to latest`;r.setAttribute(`aria-label`,b?`${w||`Approval needed`} below. ${te}`:`${te}${l>0?` (${l} new)`:``}${i&&t?` (response streaming below)`:``}`),r.title=T,r.setAttribute(`data-persona-scroll-to-bottom-has-label`,String(!!T)),b?r.setAttribute(`data-persona-scroll-to-bottom-approval`,``):r.removeAttribute(`data-persona-scroll-to-bottom-approval`),a.textContent=T,a.style.display=T?``:`none`;let E=b?0:l;o.textContent=E>0?String(E):``,o.style.display=E>0?``:`none`;let ne=b?`approval-below`:i&&t?`generating-below`:`idle`,re={...c,visible:t,hovered:t&&c.hovered,focused:t&&c.focused,activity:ne},ie=p||S(re);c=re,x(ie),ee&&g(ee)},destroy(){m.forEach(e=>e.cancel()),y(),ne.abort(),p?.removeEventListener?.(`change`,E),r.remove()}}}function Pr(e){let t=/* @__PURE__ */ new Map,n=(t,n)=>({slot:t,signal:n.abort.signal,config:e.config(),defaultContent:()=>e.defaultContent(t)}),r=(n,r)=>{t.delete(n),r.abort.abort();try{r.result.destroy?.()}catch(e){console.error(`[AgentWidget] Error destroying slot "${n}":`,e)}e.remove(n,r.result.element)};return{update(){let i=e.config().layout?.slots??{};for(let[e,n]of t)i[e]!==n.renderer&&r(e,n);for(let[a,o]of Object.entries(i)){if(!o)continue;let i=t.get(a);try{if(!i){i={renderer:o,abort:new AbortController,result:{element:null}},t.set(a,i);let e=o(n(a,i));i.result=e===null||`nodeType`in e?{element:e}:e}else if(i.result.update){let t=i.result.update(n(a,i));t!==void 0&&t!==i.result.element&&(e.remove(a,i.result.element),i.result.element=t)}i.result.element&&e.mount(a,i.result.element)}catch(e){i&&r(a,i),console.error(`[AgentWidget] Error rendering slot "${a}":`,e)}}},remount(){for(let[n,r]of t)r.result.element&&e.mount(n,r.result.element)},detach(n){for(let r of n){let n=t.get(r);n&&e.remove(r,n.result.element)}},destroy(){for(let[e,n]of t)r(e,n)}}}const Fr=`var(--persona-md-table-scroll-fade, 24px)`,Ir=/* @__PURE__ */ new WeakSet;function Lr(e){e.querySelectorAll(`table`).forEach(e=>{if(e.parentElement?.classList.contains(`persona-table-scroll`))return;let t=document.createElement(`div`);t.className=`persona-table-scroll`,e.replaceWith(t),t.appendChild(e)})}function Rr(e){let t=e.scrollWidth-e.clientWidth;if(t<=1){e.removeAttribute(`data-persona-scroll-x`);return}e.setAttribute(`data-persona-scroll-x`,``);let n=getComputedStyle(e).direction===`rtl`?t+e.scrollLeft:e.scrollLeft,r=t-n;e.style.setProperty(`--persona-fade-l`,n<=1?`0px`:Fr),e.style.setProperty(`--persona-fade-r`,r<=1?`0px`:Fr)}function zr(e){Ir.has(e)||(Ir.add(e),e.addEventListener(`scroll`,e=>{let t=e.target;t?.classList?.contains(`persona-table-scroll`)&&Rr(t)},!0)),e.querySelectorAll(`.persona-table-scroll`).forEach(Rr)}const{setLoader:U,load:Br,provide:Vr,getSync:Hr}=v({fallbackImport:()=>import(`./chunk-Brdx4NCz.js`)}),Ur=Br,Wr=Hr,{setLoader:Gr,load:Kr,provide:qr,getSync:Jr}=v({fallbackImport:()=>import(`./chunk-C-rux8Q9.js`)}),Yr=Kr,Xr=Jr,{setLoader:Zr,load:Qr}=v({fallbackImport:()=>import(`./chunk-CzLEhoB_.js`)}),$r=Qr,{setLoader:ei,load:ti}=v({fallbackImport:()=>import(`./chunk-lA5CJCgK.js`)}),ni=ti;function ri(e){return e.startsWith(`agent_`)?{kind:`agentId`,agentId:e}:e.startsWith(`flow_`)?{kind:`flowId`,flowId:e}:null}function ii(e,t){let n=e.trim();if(!n)throw Error("[Persona] `target` is empty.");let r=n.indexOf(`:`);if(r>0){let e=n.slice(0,r),i=n.slice(r+1);if(e===`runtype`){let e=ri(i);if(e)return e;throw Error(`[Persona] target "runtype:${i}" is not a valid Runtype agent_/flow_ id.`)}let a=t?.[e];if(!a)throw Error(`[Persona] No target provider registered for "${e}". Add a \`targetProviders.${e}\` resolver, or use a Runtype agent_/flow_ id.`);return{kind:`payload`,payload:a(i).payload}}let i=ri(n);if(i)return i;let a=t?.default;if(a)return{kind:`payload`,payload:a(n).payload};throw Error(`[Persona] target "${n}" has no provider prefix and is not a Runtype agent_/flow_ id. Use "<provider>:${n}", a Runtype TypeID, or register a \`targetProviders.default\` resolver.`)}const{setLoader:ai,load:oi,provide:si}=v({fallbackImport:()=>import(`./chunk-CxNPSY-b.js`)}),ci=oi;var li=class extends Error{constructor(e,t,n){super(t),this.name=`HistoryClientError`,this.code=e,n?.retryAfterSeconds!==void 0&&(this.retryAfterSeconds=n.retryAfterSeconds)}};const ui=e=>`reason`in e?e.reason:void 0;function di(e){switch(e){case`json`:return vt;case`regex-json`:return wt;case`xml`:return yt;default:return St}}var fi=class{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;#C;#w;#T;constructor(e={},t={}){if(this.#f=0,this.#p=/* @__PURE__ */ new Set,this.#m=null,this.clientSession=null,this.#h=null,this.#g=!1,this.lastSentClientToolsFingerprint=null,this.clientToolsFingerprintSessionId=null,this.#_=null,this.#v=!1,this.#y=!1,this.#b=!1,this.#x=null,this.#S=/* @__PURE__ */ new Set,this.#C=/* @__PURE__ */ new Set,this.webMcpBridge=null,this.#w=null,this.#U=null,this.#G=null,this.#i=e,this.#r=t,e.target&&(e.agentId||e.flowId||e.agent))throw Error("[Persona] `target` is mutually exclusive with `agentId`, `flowId`, and `agent`. Set only one routing field.");this.#e=e.apiUrl??`https://api.runtype.com/v1/dispatch`,this.#t={"Content-Type":`application/json`,"X-Persona-Version":M,...e.headers},this.#n=!!e.debug,this.#a=e.streamParser??di(e.parserType),this.#o=e.contextProviders??[],this.#s=e.requestMiddleware,this.#c=e.customFetch,this.#l=e.parseSSEEvent,this.#u=e.getHeaders,e.webmcp?.enabled===!0&&(this.#w=this.#E(e.webmcp))}#E(e){return $r().then(t=>{let n=new t.WebMcpBridge(e,{recordToolDisplayTitles:it,getToolDisplayTitle:at,loadPolyfill:tt});return this.#T!==void 0&&n.setConfirmHandler(this.#T),this.webMcpBridge=n,n}).catch(e=>(this.#w=null,console.warn(`[Persona] Failed to load the WebMCP runtime chunk`,e),null))}#D(){return this.webMcpBridge?Promise.resolve(this.webMcpBridge):this.#i.webmcp?.enabled===!0?(this.#w||=this.#E(this.#i.webmcp),this.#w):Promise.resolve(null)}updateConfig(e){this.#i=e}setHistoryInternals(e){this.#r=e}cancelStreams(){if(this.#f+=1,this.#i.backgroundConversations)for(let e of this.#p)e.cancel().catch(()=>{})}setSSEEventCallback(e){this.#d=e}setWebMcpConfirmHandler(e){this.#T=e,this.webMcpBridge?.setConfirmHandler(e)}isWebMcpOperational(){return this.webMcpBridge?.isOperational()===!0}getVoiceClientTools(){if(this.#i.webmcp?.enabled!==!0)return null;let e=()=>this.#D(),t={open:async e=>(await ni()).createVoiceClientToolsSession(t,e),snapshot:async()=>{let t=await(await e())?.snapshotForDispatch()??[];return{tools:t,fingerprint:rt(t)}},onChange:t=>{let n=null,r=!1;return e().then(e=>{e&&!r&&(n=e.watchToolChanges(t))}),()=>{r=!0,n?.()}},execute:async(t,n,r)=>{let i=await e();return i?i.executeVoiceToolCall(t,n,r):{status:`failed`,error:{message:`WebMCP runtime failed to load.`}}}};return t}executeWebMcpToolCall(e,t,n,r){return this.#i.webmcp?.enabled===!0?this.#D().then(i=>i?i.executeToolCall(e,t,n,r):{isError:!0,content:[{type:`text`,text:`WebMCP runtime failed to load.`}]}):null}getSSEEventCallback(){return this.#d}isClientTokenMode(){return!!this.#i.clientToken}#O(){let{agentId:e,flowId:t,target:n,targetProviders:r}=this.#i;if(!n)return{agentId:e,flowId:t};let i=ii(n,r);return i.kind===`agentId`?{agentId:i.agentId}:i.kind===`flowId`?{flowId:i.flowId}:{targetPayload:i.payload}}isAgentMode(){return!!(this.#i.agent||this.#O().agentId)}#k(){return this.#i.apiUrl?.replace(/\/+$/,``).replace(/\/v1\/dispatch$/,``)||`https://api.runtype.com`}#A(e){return`${this.#k()}/v1/client/${e}`}getClientSession(){return this.clientSession}async reconnectClientTokenStream(e){let t=await this.initSession(),n=!1;for(;;){let r=t.conversationId,i=await this.readVisitorToken();if(t.durableRecovery?.enabled!==!0||!r||!i)throw new li(`visitor_token_missing`,`Durable recovery is not enabled for this client session`);let a=`${this.#k()}/v1/client/conversations/${encodeURIComponent(r)}/executions/${encodeURIComponent(e.executionId)}/events`,o=new URLSearchParams({sessionId:t.sessionId,after:e.after}),s=await fetch(`${a}?${o}`,{method:`GET`,headers:{"X-Persona-Version":M,"X-Visitor-Token":i},signal:e.signal});if(s.status===401&&!n){n=!0;let e=await ci();t=await e.recoverFromUnauthorized(this.#K(),await e.readErrorCode(this.#K(),s),null,!0)}else{if(!s.ok)throw await(await ci()).historyErrorFor(this.#K(),s,!0);return s}}}async warmSession(){let e=this.clientSession;return!this.isClientTokenMode()||this.#h||e&&/* @__PURE__ */ new Date<e.expiresAt||this.#g===e?null:(this.#g=e,this.initSession().catch(()=>null))}async initSession(){if(!this.isClientTokenMode())throw Error(`initSession() only available in client token mode`);if(this.clientSession&&/* @__PURE__ */ new Date<this.clientSession.expiresAt)return this.clientSession;if(this.#h)return this.#h;let e=this.#h=this.#R().then(t=>this.#h===e?(this.clientSession=t,this.#g=!1,this.resetClientToolsFingerprint(),this.#i.onSessionInit?.(t),t):this.initSession()).finally(()=>{this.#h===e&&(this.#h=null)});return e}#j(){return this.#i.features?.history?.enabled===!0&&this.isClientTokenMode()&&!this.#v}async readVisitorToken(){let e=this.#r.visitorStore;return e?(await e.ready,await e.get()??null):null}#M(){if(!this.#v){this.#I({state:`unavailable`,reason:`history_disabled`}),this.#v=!0,!this.#y&&typeof console<`u`&&(this.#y=!0,console.warn(`[Persona] Visitor history is disabled for this surface; continuing without it.`)),this.#r.onHistoryAvailabilityChanged?.(!1);for(let e of[...this.#C])e(!1)}}getHistoryIdentityStatus(){return this.#x??this.#N()}subscribeHistoryIdentityStatus(e){return this.#S.add(e),()=>{this.#S.delete(e)}}subscribeHistoryAvailability(e){return this.#C.add(e),this.#v&&e(!1),()=>{this.#C.delete(e)}}#N(){return this.isClientTokenMode()?this.#i.features?.history?.enabled!==!0||this.#v?{state:`unavailable`,reason:`history_disabled`}:this.#P():{state:`unavailable`,reason:`ineligible_mode`}}#P(){let e=this.#x;return e?.state===`browser_only`?e:this.#F()}#F(){return this.#i.features?.history?.scope===`browser`?{state:`browser_only`,reason:`configured_browser_scope`}:this.#i.getIdentityProof?{state:`browser_only`,reason:`proof_unavailable_before_binding`}:{state:`browser_only`,reason:`no_identity_provider`}}#I(e){let t=this.getHistoryIdentityStatus(),n=t.state===e.state&&ui(t)===ui(e);if(this.#x=e,!n){this.#r.onHistoryIdentityStatusChanged?.(e);for(let t of[...this.#S])t(e)}}async#L(e){return new((Xr())??await(Yr())).ClientDispatch(this.#q()).createClientSession(e)}async#R(){return new((Xr())??await(Yr())).ClientDispatch(this.#q()).initializeSession()}async#z(e){let t=this.#i.getStoredSessionId?.()||null,n=this.#i.getStoredConversationId?.()||null,r=await this.#L({storedSessionId:t,identityProof:e}),i=this.#B(r,n,!1);return this.clientSession=i,this.#h=null,this.#g=!1,this.resetClientToolsFingerprint(),i}#B(e,t,n){let r=e.conversationId;return r&&t&&(n||r!==t)&&this.#r.onHistoryContinuityChanged?.({previousConversationId:t,conversationId:r}),this.#i.setStoredSessionId?.(e.sessionId),r&&(this.#i.setStoredConversationId?.(r),this.#r.setStoredConversationRevision?.(e.conversationRevision??null)),e}#V(e){let t=!1;return{session:e,commit:()=>{t||(t=!0,this.clientSession=e,this.#g=!1,this.resetClientToolsFingerprint())},discard:()=>{t=!0}}}async prepareConversationSession(e,t){if(!this.isClientTokenMode())throw Error(`prepareConversationSession() only available in client token mode`);if(!this.#j())throw new li(`history_disabled`,`Visitor history is disabled for this surface`);await this.#r.historyBootstrapReady;let n=t?.proof??null;if(!await this.readVisitorToken()&&!n)throw new li(`conversation_credential_missing`,`Reopening a conversation requires a stored visitor token or an identity proof`);let r=await this.#L({conversationId:e,identityProof:n});return this.#V(r)}async prepareNewConversationSession(){if(!this.isClientTokenMode())throw Error(`prepareNewConversationSession() only available in client token mode`);await this.#r.historyBootstrapReady;let e=await this.#L({});return this.#V(e)}handleExternalCredentialChange(){this.clearClientSession(),this.#j()&&this.#I(this.#F())}clearClientSession(){this.clientSession=null,this.#h=null,this.#g=!1,this.resetClientToolsFingerprint()}resetClientToolsFingerprint(){this.lastSentClientToolsFingerprint=null,this.clientToolsFingerprintSessionId=null,this.#_=null}async sendFeedback(e){if(!this.isClientTokenMode())throw Error(`sendFeedback() only available in client token mode`);if(!this.getClientSession())throw Error(`No active session. Please initialize session first.`);return new((Xr())??await(Yr())).ClientDispatch(this.#q()).sendFeedback(e)}async submitMessageFeedback(e,t){let n=this.getClientSession()??await this.initSession();return this.sendFeedback({sessionId:n.sessionId,messageId:e,type:t})}async submitCSATFeedback(e,t){let n=this.getClientSession()??await this.initSession();return this.sendFeedback({sessionId:n.sessionId,type:`csat`,rating:e,comment:t})}async submitNPSFeedback(e,t){let n=this.getClientSession()??await this.initSession();return this.sendFeedback({sessionId:n.sessionId,type:`nps`,rating:e,comment:t})}async#H(e){e?.throwIfAborted();let t=this.#i.identityProvider;if(t===void 0)return;let n=this.#i.getIdentityProof;if(!t.trim()||!n)throw Error(`Chat identity requires identityProvider and getIdentityProof.`);let r,i;try{let t=Promise.resolve().then(()=>n());r=e?await Promise.race([t,new Promise((t,n)=>{i=()=>n(e.reason),e.addEventListener(`abort`,i,{once:!0}),e.aborted&&i()})]):await t}catch{throw e?.throwIfAborted(),Error(`The identity proof provider failed.`)}finally{i&&e?.removeEventListener(`abort`,i)}if(typeof r!=`string`||!r.trim())throw Error(`A fresh identity proof is required to send this message.`);return{provider:t,token:r}}#U;#W(){let e=this;return this.#U??={get config(){return e.#i},headers:this.#t,getHeaders:this.#u,debug:this.#n,clientApiBase:()=>e.#k(),getClientApiUrl:t=>e.#A(t),getWebMcpBridge:()=>e.#D(),sendWithClientToolsDiff:(t,n,r,i)=>e.#J(t,n,r,i),initSession:()=>e.initSession(),readVisitorToken:()=>e.readVisitorToken(),isClientTokenMode:()=>e.isClientTokenMode()}}#G;#K(){let e=this;return this.#G??={HistoryClientError:li,get config(){return e.#i},get historyInternals(){return e.#r},get clientSession(){return e.clientSession},clientApiBase:()=>e.#k(),setHistoryIdentityStatus:t=>e.#I(t),browserOnlyStatus:()=>e.#P(),derivedBrowserOnly:()=>e.#F(),reinitWithProof:t=>e.#z(t),isHistoryCapable:()=>e.#j(),clearClientSession:()=>e.clearClientSession(),initSession:()=>e.initSession(),readVisitorToken:()=>e.readVisitorToken(),isClientTokenMode:()=>e.isClientTokenMode()}}async listConversations(e){return(await ci()).listConversations(this.#K(),e)}async getConversation(e,t){return(await ci()).getConversation(this.#K(),e,t)}async finalizeDisplayProjections(e,t){return(await ci()).finalizeDisplayProjections(this.#K(),e,t)}async deleteConversation(e,t){return(await ci()).deleteConversation(this.#K(),e,t)}async deleteAllConversations(e){return(await ci()).deleteAllConversations(this.#K(),e)}async resetVisitor(){return(await ci()).resetVisitor(this.#K())}async dispatch(e,t){e.signal?.throwIfAborted(),Ur().catch(()=>{});let n=this.isClientTokenMode(),r=this.isAgentMode(),i=ct();n&&(this.#m=i),t({type:`status`,status:`connecting`});let a=Xr()??await Yr().catch(e=>{let r=e instanceof Error?e:Error(String(e));throw n&&this.#m!==i||t({type:`error`,error:r}),r});if(e.signal?.throwIfAborted(),n&&this.#m!==i)throw new DOMException(`Turn superseded`,`AbortError`);let o=new a.ClientDispatch(this.#q());return n?o.dispatchClientToken(e,t,i):r?o.dispatchAgent(e,t):o.dispatchProxy(e,t)}#q(){let e=this;return Object.setPrototypeOf({HistoryClientError:li,get claimInFlight(){return e.#b},set claimInFlight(t){e.#b=t},get clientToolsFingerprintSessionId(){return e.clientToolsFingerprintSessionId},set clientToolsFingerprintSessionId(t){e.clientToolsFingerprintSessionId=t},get lastSentClientToolsFingerprint(){return e.lastSentClientToolsFingerprint},set lastSentClientToolsFingerprint(t){e.lastSentClientToolsFingerprint=t},get sentNonEmptyClientToolsSessionId(){return e.#_},set sentNonEmptyClientToolsSessionId(t){e.#_=t},get historyInternals(){return e.#r},markHistoryUnavailable:()=>e.#M(),apiUrl:this.#e,contextProviders:this.#o,requestMiddleware:this.#s,customFetch:this.#c,get clientSession(){return e.clientSession},set clientSession(t){e.clientSession=t},isCurrentTurn:t=>e.#m===t,isHistoryCapable:()=>e.#j(),createClientSession:t=>e.#L(t),finishInit:(t,n,r)=>e.#B(t,n,r),resetSessionWarmLatch:()=>{e.#g=!1},resetClientToolsFingerprint:()=>e.resetClientToolsFingerprint(),clearClientSession:()=>e.clearClientSession(),resolveChatIdentityProof:t=>e.#H(t),routing:()=>e.#O(),builtInClientTools:j,streamResponse:(...t)=>e.#Y(...t)},this.#W())}async processStream(e,t,n,r,i,a,o){t({type:`status`,status:`connected`});try{await this.#Y(e,t,n,r,i,a,o)}finally{t({type:`status`,status:`idle`})}}async resolveApproval(e,t,n){return(await Ur()).resolveApproval(this.#W(),e,t,n)}async#J(e,t,n,r){return new((Xr())??await(Yr())).ClientDispatch(this.#q()).sendWithClientToolsDiff(e,t,n,r)}async resumeFlow(e,t,n){return(await Ur()).resumeFlow(this.#W(),e,t,n)}async#Y(e,t,n,r,i,a,o){let{streamResponse:s}=Wr()??await Ur();return s({config:()=>this.#i,streamGeneration:()=>this.#f,streamReaders:this.#p,createStreamParser:this.#a,parseSSEEvent:this.#l,onSSEEvent:(e,t)=>this.#d?.(e,t)},e,t,n,r,i,a,o)}};const{setLoader:pi,load:mi}=v({fallbackImport:()=>import(`./chunk-CsBLSRM_.js`)}),hi=mi,{setLoader:gi,load:_i,provide:vi,getSync:yi}=v({fallbackImport:()=>import(`./chunk-BL6v2bXy.js`)}),bi=_i,xi=yi,W=e=>typeof e==`object`&&!!e&&!Array.isArray(e),G=(e,t)=>{let n=/* @__PURE__ */ new Set;return(Array.isArray(e)?e:[]).flatMap(e=>{if(!W(e))return[];let{toolCallId:r,name:i}=e;if(typeof r!=`string`||!r||typeof i!=`string`||!i||n.has(r))return[];n.add(r);let a=W(e.arguments)?e.arguments:{},o=e.result??null;return[{id:`voice-tool-${r}`,role:`assistant`,variant:`tool`,content:``,createdAt:t,streaming:!1,toolCall:{id:r,name:i,status:`complete`,args:a,result:o},agentMetadata:{clientToolAnswer:{toolCallId:r,toolName:i,args:a,result:o}}}]})},K=e=>e.sourceLabel?`quoted-text source=${e.sourceLabel}`:`quoted-text`;function Si(e){let t=e?.text?.trim()??``;return t?It(K(e),t):``}function Ci(e){let t=Si(e.quote);return t?e.contentParts&&e.contentParts.length>0?{contentParts:[kt(t),...e.contentParts]}:{llmContent:[t,e.text].filter(Boolean).join(`
|
|
2
2
|
|
|
3
|
-
`)}:{}}function
|
|
3
|
+
`)}:{}}function wi(e,t=140){let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,t-1)}…`}function Ti(e,t){let n=e.findIndex(e=>e.id===t);if(n===-1||e[n].role!==`user`)return null;let r=n+1;for(;r<e.length&&e[r].role!==`user`;)r+=1;return{start:n,end:r}}function Ei(e,t){let n=e.findIndex(e=>e.id===t);return n>=0&&e[n].role===`user`&&!e.slice(n+1).some(e=>e.role===`operator`)}function Di(e,t){let n=e.findIndex(e=>e.id===t);if(n<=0)return null;for(let t=n-1;t>=0;--t){if(e[t].role===`operator`)return null;if(e[t].role===`user`)return e[t].id}return null}function Oi(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.role===`user`||n.role===`operator`||n.streaming)return null;if(!(n.role!==`assistant`||n.variant))return Di(e,n.id)?n.id:null}return null}function ki(e){return e.role!==`user`||e.variant||e.streaming||e.contentParts?.length||e.contextMentions?.length||e.contentSegments?.length||e.mentionContext&&Object.keys(e.mentionContext).length>0||e.rawContent!==void 0||e.llmContent!==void 0&&e.llmContent!==e.content||e.quote?!1:typeof e.content==`string`&&e.content.length>0}function Ai(e,t){let{config:n,message:r,onPropsUpdate:i}=t,a=Ne(n,e.component);if(!a){if(B.includes(e.component)){fr().catch(()=>{});let e=A(`div`,`persona-w-full`);return e.setAttribute(`data-persona-artifact-pending`,`true`),e}return console.warn(`[ComponentMiddleware] Component "${e.component}" not found in registry. Falling back to default rendering.`),null}let o=t.context??{message:r,config:n,signal:t.signal??new AbortController().signal,updateProps:e=>{i&&i(e)}};try{return a(e.props,o)}catch(t){return console.error(`[ComponentMiddleware] Error rendering component "${e.component}":`,t),null}}function ji(e){if(typeof e.rawContent==`string`&&e.rawContent.length>0)return e.rawContent;if(typeof e.content==`string`){let t=e.content.trim();if(t.startsWith(`{`)||t.startsWith(`[`))return e.content}return null}function Mi(e){let t=ji(e);if(!t)return!1;try{let e=JSON.parse(t);return typeof e==`object`&&!!e&&`component`in e&&typeof e.component==`string`}catch{return!1}}function Ni(e){let t=ji(e);if(!t)return null;try{let e=JSON.parse(t);if(typeof e==`object`&&e&&`component`in e&&typeof e.component==`string`){let n=e;return{component:n.component,props:n.props&&typeof n.props==`object`&&n.props!==null?n.props:{},raw:t}}}catch{}return null}function Pi(e){for(let t of[`Microsoft Jenny Online (Natural) - English (United States)`,`Microsoft Aria Online (Natural) - English (United States)`,`Microsoft Guy Online (Natural) - English (United States)`,`Google US English`,`Google UK English Female`,`Ava (Premium)`,`Evan (Enhanced)`,`Samantha (Enhanced)`,`Samantha`,`Daniel`,`Karen`,`Microsoft David Desktop - English (United States)`,`Microsoft Zira Desktop - English (United States)`]){let n=e.find(e=>e.name===t);if(n)return n}return e.find(e=>e.lang.startsWith(`en`))??e[0]}var Fi=class e{constructor(e={}){this.options=e,this.id=`browser`,this.supportsPause=!0}static isSupported(){return typeof window<`u`&&`speechSynthesis`in window}speak(t,n){if(!e.isSupported()){n.onError?.(/* @__PURE__ */ Error(`Web Speech API is unavailable`));return}let r=window.speechSynthesis;r.cancel();let i=new SpeechSynthesisUtterance(t.text),a=r.getVoices();if(t.voice){let e=a.find(e=>e.name===t.voice);e&&(i.voice=e)}else a.length>0&&(i.voice=this.options.pickVoice?this.options.pickVoice(a):Pi(a));t.rate!==void 0&&(i.rate=t.rate),t.pitch!==void 0&&(i.pitch=t.pitch),i.onend=()=>n.onEnd?.(),i.onerror=e=>{let t=e.error;t===`canceled`||t===`interrupted`?n.onEnd?.():n.onError?.(Error(t||`Speech synthesis failed`))},setTimeout(()=>{r.speak(i),n.onStart?.()},50)}pause(){e.isSupported()&&window.speechSynthesis.pause()}resume(){e.isSupported()&&window.speechSynthesis.resume()}stop(){e.isSupported()&&window.speechSynthesis.cancel()}},Ii=class{#e=null;#t=null;#n=`idle`;#r=/* @__PURE__ */ new Set;#i=0;#a;constructor(e){this.#a=e}get supportsPause(){return this.#e?.supportsPause??!0}stateFor(e){return this.#t===e?this.#n:`idle`}activeMessageId(){return this.#t}onChange(e){return this.#r.add(e),()=>this.#r.delete(e)}toggle(e,t){if(this.#t===e){if(this.#n===`playing`){this.#e?.supportsPause?(this.#e.pause(),this.#o(e,`paused`)):this.stop();return}if(this.#n===`paused`){this.#e?.resume(),this.#o(e,`playing`);return}if(this.#n===`loading`){this.stop();return}}this.play(e,t)}async play(e,t){let n=++this.#i;this.#e?.stop(),this.#o(e,`loading`);try{if(!this.#e){let e=await this.#a();if(n!==this.#i)return;if(!e){this.#o(null,`idle`);return}this.#e=e}this.#e.speak(t,{onStart:()=>{n===this.#i&&this.#o(e,`playing`)},onEnd:()=>{n===this.#i&&this.#o(null,`idle`)},onError:()=>{n===this.#i&&this.#o(null,`idle`)}})}catch{n===this.#i&&this.#o(null,`idle`)}}stop(){this.#i++,this.#e?.stop(),this.#o(null,`idle`)}destroy(){this.stop(),this.#e?.destroy?.(),this.#e=null,this.#r.clear()}#o(e,t){this.#t=t===`idle`?null:e,this.#n=t;for(let e of this.#r)e(this.#t,this.#n)}},Li=class{#e;#t=!1;start(e){this.#e=e,this.#t=!1}cancel(){this.#t=!0}accepts(e){return!this.#t&&(!e||!this.#e||e===this.#e)}};function Ri(e){if(!e)return``;let t=zi(e);return Bi(t===null?e:t)}function zi(e){let t=e.trim(),n=t.match(/^```(?:json)?\s*([\s\S]*?)\s*```$/i);if(n&&(t=n[1].trim()),!t.startsWith(`{`))return null;try{let e=JSON.parse(t);if(e&&typeof e==`object`&&typeof e.text==`string`)return e.text}catch{}return null}function Bi(e){if(!e)return``;let t=e;return t=t.replace(/```[\s\S]*?```/g,` `),t=t.replace(/~~~[\s\S]*?~~~/g,` `),t=t.replace(/`([^`]+)`/g,`$1`),t=t.replace(/!\[([^\]]*)\]\([^)]*\)/g,`$1`),t=t.replace(/\[([^\]]+)\]\([^)]*\)/g,`$1`),t=t.replace(/\[([^\]]+)\]\[[^\]]*\]/g,`$1`),t=t.replace(/<\/?[a-zA-Z][^>]*>/g,` `),t=t.replace(/^[ \t]*#{1,6}[ \t]+/gm,``),t=t.replace(/^[ \t]*>[ \t]?/gm,``),t=t.replace(/^[ \t]*[-*+][ \t]+/gm,``),t=t.replace(/^[ \t]*\d+\.[ \t]+/gm,``),t=t.replace(/^[ \t]*([-*_])([ \t]*\1){2,}[ \t]*$/gm,` `),t=t.replace(/(\*\*|__)(.*?)\1/g,`$2`),t=t.replace(/(\*|_)(.*?)\1/g,`$2`),t=t.replace(/~~(.*?)~~/g,`$1`),t=t.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`).replace(/ /g,` `),t=t.replace(/[ \t]+/g,` `),t=t.replace(/[ \t]*\n[ \t]*/g,`
|
|
4
4
|
`),t=t.replace(/\n{2,}/g,`
|
|
5
|
-
`),t.trim()}const Hi=()=>import(`./chunk-59UOGW9N.js`),{setLoader:Ui,load:Wi}=v({fallbackImport:()=>import(`./chunk-DvGdwBMD.js`)}),Gi=Wi,Ki=/* @__PURE__ */ `apiUrl.clientToken.flowId.agentId.target.targetProviders.agent.agentOptions.headers.getHeaders.webmcp.streamParser.parserType.contextProviders.requestMiddleware.modelMessageTransform.customFetch.backgroundConversations.parseSSEEvent.onSessionInit.onSessionExpired.getStoredSessionId.setStoredSessionId.getIdentityProof.identityProvider.getStoredConversationId.setStoredConversationId.clearStoredConversationId.clearStoredSessionId`.split(`.`);function qi(e,t){return Ki.some(n=>e[n]!==t[n])}var Ji=class extends Error{constructor(e,t){super(t),this.name=`SessionHistoryError`,this.code=e}};function Yi(e,t){let n=e instanceof Error?e:Error(String(e));if(typeof t==`string`)return t;if(typeof t==`function`)return t(n);let r=n.message.trim(),i=/^(Failed to fetch|fetch failed|Load failed|NetworkError when attempting to fetch resource\.?)$/i.test(r),a=/^(Chat backend|Agent execution) request failed: \d{3}\b/.test(r),o=i?`Sorry: I couldn't reach the assistant. Please check your connection and try again.`:a?`Sorry: the chat service couldn't complete the request. Please try again.`:`Sorry: the chat encountered an unexpected error. Please reload the page and try again.`;return r?`${o}\n\n_Details: ${r}_`:o}const Xi=e=>it(e)||e===`suggest_replies`;var Zi=class e{#e;#t;#n;#r;#i(e){if(this.#a(`cancel`),this.#n=!1,this.#e={runId:`run-${dt()}`,timestamp:Date.now()},this.#t={run:this.#e,messageIds:/* @__PURE__ */ new Set},e)for(let t of this.messages)t.role===`assistant`&&t.agentMetadata?.executionId===e&&this.#t.messageIds.add(t.id);this.callbacks.onRunStarted?.({...this.#e})}#a(e,t=this.#e){if(t!==this.#e)return;this.#r!==null&&clearTimeout(this.#r),this.#r=null;let n=this.#e;if(this.#e=null,n){let t=n;t.timestamp=Date.now(),t.outcome=e,this.callbacks.onRunFinished?.(t)}}#o(){if(!this.#e||this.#r!==null)return;let e=this.#e;this.#r=setTimeout(()=>{this.#r=null,this.#e===e&&(!this.#n&&(this.streaming||this.#f||this.#_t()||this.webMcpAwaitBatches.size||this.webMcpResolveControllers.size)||this.#a(this.#n?`error`:`success`))},0)}#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;#C;#w;#T;#E;#D;#O;#k;#A;#j;#M;#N;#P;#F;#I;#L;#R;#z;#B;#V;#H;#U;#W;#G;#K;#q;#J;#Y;constructor(e={},t,n={}){this.config=e,this.callbacks=t,this.historyInternals=n,this.status=`idle`,this.#e=null,this.#n=!1,this.#r=null,this.streaming=!1,this.#s=/* @__PURE__ */ new Map,this.abortController=null,this.#l=Date.now(),this.clientSession=null,this.agentExecution=null,this.#u=null,this.#d=null,this.#f=!1,this.#m=null,this.#h=null,this.#g=null,this.#_=null,this.#v=null,this.#y=null,this.artifacts=/* @__PURE__ */ new Map,this.#b=null,this.webMcpInflightKeys=/* @__PURE__ */ new Set,this.webMcpResolvedKeys=/* @__PURE__ */ new Set,this.webMcpResolveControllers=/* @__PURE__ */ new Set,this.#x=0,this.webMcpApprovalResolvers=/* @__PURE__ */ new Map,this.#S=0,this.approvalTokens=/* @__PURE__ */ new Map,this.webMcpAwaitBatches=/* @__PURE__ */ new Map,this.#C=null,this.#w=null,this.#T=0,this.#E=0,this.#D=!1,this.#O=`disconnected`,this.#k=null,this.#A=null,this.#j=null,this.#M=0,this.#N=0,this.#P=null,this.#F=Promise.resolve(),this.#I=!1,this.#L=null,this.#R=!1,this.#z=null,this.#B=/* @__PURE__ */ new Map,this.#V=null,this.#H=/* @__PURE__ */ new Map,this.#U=null,this.#W=null,this.#G=!1,this.#K=null,this.#q=null,this.#J=!1,this.#Y=null,this.#Q=null,this.#$=null,this.#ee=new Ri,this.#te=Promise.resolve(),this.#ne=null,this.#re=null,this.ttsSpokenMessageIds=/* @__PURE__ */ new Set,this.readAloud=new Li(()=>this.#ie()),this.#Ze=null,this.#Qe=0,this.handleEvent=(e,t=!1)=>{if(this.#m){this.#m.push({event:e,readOnlyReplay:t});return}let n=this.#re,r=!1;if(n&&(e.type===`error`||e.type===`status`&&e.status===`error`?n.failed=!0:e.type===`message`&&e.message.role===`assistant`&&(n.dropped||this.ttsSpokenMessageIds.add(e.message.id),n.ids.includes(e.message.id)||n.ids.push(e.message.id),r=!0)),e.type===`message`){this.#e&&!t&&e.message.role===`assistant`&&this.#t?.messageIds.add(e.message.id),this.upsertMessage(e.message),(e.message.agentMetadata?.awaitingLocalTool||e.message.variant===`approval`&&e.message.approval?.status===`pending`)&&this.#dt(`needs-attention`),r&&n.onUpdate?.(),e.message.variant===`approval`&&e.message.approval&&e.message.approval.status!==`pending`&&this.#s.set(e.message.id,this.#c),e.message.role===`assistant`&&!e.message.variant&&e.message.streaming&&(this.#d=e.message.id),(e.message.variant===`approval`||e.message.agentMetadata?.awaitingLocalTool===!0)&&K().catch(()=>{});let i=e.message.toolCall,a=!!i?.name&&(it(i.name)||i.name===`suggest_replies`&>(this.config).enabled);e.message.agentMetadata?.awaitingLocalTool===!0&&a&&!t&&this.messages.find(t=>t.id===e.message.id)?.agentMetadata?.awaitingLocalTool===!0&&this.#et(e.message),e.message.agentMetadata?.executionId&&(!this.agentExecution||this.agentExecution.executionId!==e.message.agentMetadata.executionId?this.agentExecution={executionId:e.message.agentMetadata.executionId,agentId:``,agentName:e.message.agentMetadata.agentName??``,status:`running`,currentIteration:e.message.agentMetadata.iteration??0,maxTurns:0}:e.message.agentMetadata.iteration!==void 0&&(this.agentExecution.currentIteration=e.message.agentMetadata.iteration))}else if(e.type===`cursor`)this.#p=e.checkpoint,this.#ht(e.id);else if(e.type===`status`){if(e.executionId&&(this.agentExecution={executionId:e.executionId,agentId:``,agentName:``,status:`running`,currentIteration:0,maxTurns:0},this.#dt(`running`)),e.status===`idle`&&!e.terminal&&this.#gt()){this.#vt();return}if(e.status===`error`?this.#dt(`failed`):e.terminal&&e.status===`idle`&&this.#dt(`completed`),this.#Ot(e.status),e.status===`connecting`)this.#kt(!0);else if(e.status===`idle`||e.status===`error`){this.#_t()||this.#Et(),this.webMcpResolveControllers.size===0&&(this.#kt(!1),this.abortController=null,this.#He(),this.#Le());let t=this.webMcpAwaitBatches.size>0||this.webMcpResolveControllers.size>0;this.agentExecution?.status===`running`&&(e.status===`error`?this.agentExecution.status=`error`:t||(this.agentExecution.status=`complete`)),this.#tt()}}else e.type===`error`?(this.#dt(`failed`),this.#Ot(`error`),this.#Et(),this.webMcpResolveControllers.size===0&&(this.#kt(!1),this.abortController=null),this.agentExecution?.status===`running`&&(this.agentExecution.status=`error`),this.callbacks.onError?.(e.error)):(e.type===`artifact_start`||e.type===`artifact_delta`||e.type===`artifact_update`||e.type===`artifact_complete`)&&this.#ct(e)},this.historyInternals=this.#ue(n),this.messages=[...e.initialMessages??[]].map(e=>({...A(e),sequence:e.sequence??this.#It()})),this.messages=this.#Rt(this.messages),this.client=new pi(e,this.historyInternals),this.#Oe(),this.#Xe();for(let t of e.initialArtifacts??[])this.artifacts.set(t.id,{...t,status:`complete`});e.initialSelectedArtifactId!=null&&(this.#b=e.initialSelectedArtifactId),this.messages.length&&this.callbacks.onMessagesChanged([...this.messages]),this.artifacts.size>0&&this.#st(),this.callbacks.onStatusChanged(this.status),this.#Z(),this.#X()}#X(){this.config.voiceRecognition?.provider&&wr().catch(()=>{})}#Z(){let e=this.config.textToSpeech;if(e?.provider!==`runtype`||e.createEngine)return;let t=e.host??this.config.apiUrl,n=e.agentId??this.config.voiceRecognition?.provider?.runtype?.agentId??this.config.agentId;t&&n&&this.config.clientToken&&Hi().catch(()=>{})}setSSEEventCallback(e){this.client.setSSEEventCallback(e)}isClientTokenMode(){return this.client.isClientTokenMode()}isAgentMode(){return this.client.isAgentMode()}getAgentExecution(){return this.agentExecution}isAgentExecuting(){return this.agentExecution?.status===`running`}isVoiceSupported(){return U(this.config.voiceRecognition?.provider)}isVoiceActive(){return this.#D}getVoiceStatus(){return this.#O}getVoiceNotice(){return this.#C?.takeNotice?.()??null}getVoiceDisclosure(){return this.#C?.getDisclosure?.()??null}getVoiceLevel(){return this.#C?.onLevel?this.#E:null}getVoiceInterruptionMode(){return this.#C?.getInterruptionMode?this.#C.getInterruptionMode():`none`}stopVoicePlayback(){this.#C?.stopPlayback&&(this.#ee.cancel(),this.#ne?.cancel(),this.#C.stopPlayback())}isBargeInActive(){return this.#C?.isBargeInActive?.()??!1}async deactivateBargeIn(){this.#C?.deactivateBargeIn&&await this.#C.deactivateBargeIn()}#Q;#$;#ee;#te;#ne;#re;#ie(){let e=this.config.textToSpeech;if(e?.createEngine)return e.createEngine();let t=Ii.isSupported()?new Ii({pickVoice:e?.pickVoice}):null;if(e?.provider===`runtype`){let n=e.host??this.config.apiUrl,r=e.agentId??this.config.voiceRecognition?.provider?.runtype?.agentId??this.config.agentId,i=this.config.clientToken,a=e.browserFallback!==!1;if(n&&r&&i)return Hi().then(({RuntypeSpeechEngine:o,FallbackSpeechEngine:s})=>{let c=new o({host:n,agentId:r,clientToken:i,voice:e.voice,prebufferMs:e.prebufferMs,createPlaybackEngine:e.createPlaybackEngine});return a&&t?new s(c,t,{onFallback:e=>console.warn(`[persona] Runtype read-aloud failed; using browser voice. ${e.message}`)}):c});if(a&&t)return i&&console.warn(`[persona] textToSpeech.provider 'runtype' is missing an agentId; using the browser voice. Set textToSpeech.agentId (or voiceRecognition.provider.runtype.agentId).`),t}return t}setupVoice(e){try{let t=e||this.getVoiceConfigFromConfig();if(!t)throw Error(`Voice configuration not provided`);this.cleanupVoice();let n=this.#te,r=++this.#T;this.#w=wr().then(async e=>{await n,r===this.#T&&this.#ae(e,e.createVoiceProvider(t))}).catch(e=>{console.error(`Failed to setup voice:`,e)}).finally(()=>{r===this.#T&&(this.#w=null)})}catch(e){console.error(`Failed to setup voice:`,e)}}#ae(e,t){this.#C=t;let n=this;e.wireSessionVoice({session:this,provider:()=>n.#C,generation:()=>n.#T,get keyed(){return n.#ne},set keyed(e){n.#ne=e},get pendingUser(){return n.#Q},set pendingUser(e){n.#Q=e},get pendingAssistant(){return n.#$},set pendingAssistant(e){n.#$=e},turns:()=>n.#ee,busy:()=>n.#oe(),setStreaming:e=>n.#kt(e),setDelegation:e=>{n.#re=e},setLevel:e=>{n.#E=e},setStatus:e=>{n.#O=e,n.#D=e===`listening`},settlePending:e=>n.#ce(e)},t,e.KeyedVoiceTranscript,e.createVoiceSessionBridge)}async toggleVoice(){let e=this.#T;if(!this.#C&&this.#w&&await this.#w,e===this.#T){if(!this.#C)console.error(`Voice not configured`);else if(this.#D)await this.#C.stopListening();else{this.stopSpeaking();try{await this.#C.startListening()}catch(e){console.error(`Failed to start voice:`,e)}}}}prewarmVoice(){if(!Dr(this.config.voiceRecognition?.provider)){this.warmClientSession();return}let e=this.#T,t=()=>{let t=this.#C;t?.prewarm&&e===this.#T&&(this.#D||this.isBargeInActive()||Promise.resolve().then(()=>t.prewarm?.()).catch(()=>{}))};!this.#C&&this.#w?this.#w.then(t,()=>{}):t()}#oe(){return!!this.abortController||this.webMcpResolveControllers.size>0||this.webMcpAwaitBatches.size>0||this.#f||this.status===`resuming`}cleanupVoice(){let e=this.#C!==null;if(this.#T++,this.#w=null,this.#C){let e=this.#C;this.#C=null,this.#te=this.#se(e)}this.#D=!1,this.#O=`disconnected`,this.#ce(!0),this.#ne?.settle(),this.#ne=null,this.#ee=new Ri,e&&this.callbacks.onVoiceStatusChanged?.(`disconnected`)}async#se(e){try{await e.disconnect()}catch(e){console.error(`Failed to disconnect voice:`,e)}}#ce(e){let t=e?this.#Q:null,n=this.#$;(t||n)&&(n&&this.#ee.cancel(),e&&(this.#Q=null),this.#$=null,n&&this.ttsSpokenMessageIds.add(n),this.messages=this.messages.flatMap(e=>e.id!==t&&e.id!==n?[e]:e.id===n&&!e.content.trim()?[]:[{...e,streaming:!1,voiceProcessing:!1}]),this.callbacks.onMessagesChanged([...this.messages]),n&&this.#kt(!1))}getVoiceConfigFromConfig(){if(!this.config.voiceRecognition?.provider)return;let e=this.config.voiceRecognition.provider;switch(e.type){case`runtype`:return{type:`runtype`,runtype:{agentId:e.runtype?.agentId??this.config.agentId??``,clientToken:e.runtype?.clientToken??this.config.clientToken,host:e.runtype?.host??this.config.apiUrl,voiceId:e.runtype?.voiceId,createPlaybackEngine:e.runtype?.createPlaybackEngine,prewarmMode:e.runtype?.prewarmMode,attachIdleMs:e.runtype?.attachIdleMs,clientDelegation:e.runtype?.clientDelegation,callContext:e.runtype?.callContext,approvalTimeoutMs:e.runtype?.approvalTimeoutMs,disclosureText:e.runtype?.disclosureText}};case`browser`:return{type:`browser`,browser:{language:e.browser?.language||`en-US`,continuous:e.browser?.continuous}};case`custom`:return{type:`custom`,custom:e.custom};default:return}}async initClientSession(){if(!this.isClientTokenMode())return null;this.config.features?.history?.enabled&&(await this.historyInternals.historyBootstrapReady,this.#W=this.historyInternals.getStoredConversationRevision?.()??null,this.#G=!0);try{let e=await this.client.initSession();return this.setClientSession(e),e}catch(e){return this.callbacks.onError?.(e instanceof Error?e:Error(String(e))),null}}warmClientSession(){let e=!this.messages.length;this.client.warmSession().then(t=>{t&&this.client.getClientSession()===t&&this.setClientSession(t,e)})}setClientSession(e,t){this.clientSession=e,this.#le(e,t)}#le(e,t=!this.messages.length){if(this.#I||!e.config.welcomeMessage||!t)return;let n=this.messages[0],r={id:`welcome-${Date.now()}`,role:`assistant`,content:e.config.welcomeMessage,createdAt:n?.createdAt??(/* @__PURE__ */ new Date()).toISOString(),sequence:n?(n.sequence??0)-1:this.#It()};this.#Pt(r)}getClientSession(){return this.clientSession??this.client.getClientSession()}isSessionValid(){let e=this.getClientSession();return e?/* @__PURE__ */ new Date<e.expiresAt:!1}clearClientSession(){this.clientSession=null,this.client.clearClientSession()}getClient(){return this.client}async submitMessageFeedback(e,t){return this.client.submitMessageFeedback(e,t)}async submitCSATFeedback(e,t){return this.client.submitCSATFeedback(e,t)}async submitNPSFeedback(e,t){return this.client.submitNPSFeedback(e,t)}setHistoryInternals(e){e.historyProvider!==this.historyInternals.historyProvider&&(this.#M+=1,this.#N+=1,this.config.backgroundConversations&&this.cancel(),this.#ut()),this.historyInternals=this.#ue(e),this.client.setHistoryInternals(this.historyInternals),this.#Oe()}destroy(){this.#ut(),this.#M+=1,this.#N+=1,this.cancel(),this.#t=void 0,this.cleanupVoice(),this.#K?.(),this.#K=null,this.#q=null}#ue(e){let t=e.onHistoryContinuityChanged;return{...e,onHistoryContinuityChanged:e=>{this.#De(e),t?.(e)}}}get#de(){return this.historyInternals.historyProvider??null}#fe(){let e=this.#de;if(!e)throw new Ji(`history_unavailable`,`No conversation history provider is installed`);return e}#pe(e){let t=this.#fe(),n=e??this.config.features?.history?.scope,r=this.config.getIdentityProof?`verified-user`:`browser`,i=n??(t.capabilities.scopes.includes(r)?r:t.capabilities.scopes[0]??r);if(!t.capabilities.scopes.includes(i))throw new Ot(`unsupported_scope`,`This history scope is not supported.`);return{scope:i}}getHistoryState(){return{activeConversationId:this.#k,conversationRevision:this.#A,nextMessageCursor:this.#j,recovery:this.#L,sendBlocked:this.#R}}getActiveConversationId(){return this.#k}#me(){this.callbacks.onHistoryStateChanged?.(this.getHistoryState())}#he(e,t){this.callbacks.onHistoryNotice?.({code:e,message:t})}async awaitHistorySettled(){let e=this.#z;e&&await e.catch(()=>{});let t=this.#V;t&&await t.catch(()=>{})}#ge(){if(this.streaming||this.status===`paused`||this.status===`resuming`)throw new Ji(`conversation_busy`,`Finish or stop the current turn before switching conversations`)}listConversations(e){return this.#fe().list({...e?.cursor?{cursor:e.cursor}:{},...e?.limit===void 0?{}:{limit:e.limit},...e?.targetId===void 0?{}:{targetId:e.targetId},context:this.#pe(e?.scope)})}async openConversation(e,t){let n=this.#fe();t?.busy===`background`&&this.assertBackgroundSwitchable(),t?.busy===`stop`&&this.cancel(),t?.busy!==`background`&&this.#ge();let r=this.#pe(t?.scope),i=++this.#M,a=this.#N;if(t?.busy===`background`&&await this.#lt(),await this.awaitHistorySettled(),i!==this.#M)throw new Ji(`superseded`,`A later selection won`);let o=await n.getPage(e,{context:r});if(i!==this.#M)throw new Ji(`superseded`,`A later selection won`);let s=await n.prepareOpen(e,{context:r}),c=this.#F.then(async()=>{if(i!==this.#M)throw s.discard(),new Ji(`superseded`,`A later selection won`);t?.busy===`stop`&&this.cancel();try{t?.busy===`background`?this.assertBackgroundSwitchable():this.#ge()}catch(e){throw s.discard(),e}let r=this.#k,c=this.#e;t?.onBeforeCommit?.(),t?.busy===`background`&&(this.#m=[]),this.#I=!0,this.#P=a;try{if(await this.#Ce(s),a!==this.#N||n!==this.#de)throw new Ji(`superseded`,`The history identity changed`);if(t?.busy===`background`&&r&&this.#u){let e={conversationId:r,handle:this.#u,messages:this.messages,artifacts:this.getArtifacts(),selectedArtifactId:this.#b,streamCheckpoint:this.#p};this.#h?.save(e)}this.#k=s.conversationId||e,this.#A=s.conversationRevision||o.conversationRevision||null,this.#j=o.nextCursor,this.#L=null,this.#R=!1,this.#Te();for(let e of o.messages)this.#H.set(e.id,e.content);this.#we();let i=this.#h?.take(this.#k);return this.hydrateMessages(i?.messages??o.messages),i&&(this.hydrateArtifacts(i.artifacts,i.selectedArtifactId,!0),this.#mt(i)),t?.onCommitted?.(),this.#me(),{summary:o.summary,nextMessageCursor:o.nextCursor}}finally{this.#I=!1,this.#P=null;let e=this.#m;if(this.#m=null,e&&this.#e===c&&this.#k===r)for(let{event:t,readOnlyReplay:n}of e)this.handleEvent(t,n)}}),l=c.then(()=>{},()=>{});this.#F=l,this.#z=l;try{return await c}finally{this.#z===l&&(this.#z=null)}}loadOlderMessages(e,t,n){let r=this.#fe(),i=this.#pe(n?.scope),a=t??this.#j;if(!a)return Promise.resolve({messages:[],nextMessageCursor:null});let o=`${e} ${a}`,s=this.#B.get(o);if(s)return s;let c=this.#_e(r,e,a,i).finally(()=>{this.#B.delete(o)});return this.#B.set(o,c),c}async#_e(e,t,n,r){let i=this.messages[0]?.createdAt,a=await e.getPage(t,{cursor:n,...i?{beforeCreatedAt:i}:{},context:r});if(this.#k&&this.#k!==t)return{messages:[],nextMessageCursor:a.nextCursor};let o=this.#ve(a.messages),s=Rt(this.messages,o);this.messages=this.#Rt(s.map(e=>this.#Ft(e))),this.#j=a.nextCursor;for(let e of a.messages)this.#H.set(e.id,e.content);return this.historyInternals.setStoredMessageCursor?.(a.nextCursor),this.callbacks.onMessagesChanged([...this.messages]),this.#me(),{messages:o,nextMessageCursor:a.nextCursor}}#ve(e){let t=new Map(this.messages.map(e=>[e.id,e]));return e.map(e=>{let n=t.get(e.id);if(n){if(this.webMcpApprovalResolvers.has(n.id)||n.approval&&ct(n.approval)&&n.approval.id===e.approval?.id&&n.approval.status!==`pending`&&e.approval?.status===`pending`)return n;let t=n.agentMetadata?.executionId,r=[...n.toolCall?[n.toolCall]:[],...n.tools??[]];if(t&&r.some(e=>this.webMcpInflightKeys.has(`${t}:${e.id}`)||this.webMcpResolvedKeys.has(`${t}:${e.id}`)))return n}return A(e)})}async startNewConversation(e){let t=this.#fe(),n=this.#pe(e?.scope),r=++this.#M,i=this.#N;await this.awaitHistorySettled();let a=await t.prepareStartNew({context:n}),o=this.#F.then(async()=>{if(r!==this.#M)throw a.discard(),new Ji(`superseded`,`A later action won`);e?.onBeforeCommit?.(),this.#I=!0,this.#P=i;try{await this.#Ce(a)}finally{this.#I=!1,this.#P=null}if(i!==this.#N||t!==this.#de)throw new Ji(`superseded`,`The history identity changed`);this.#Ee(!1,!0),this.#k=a.conversationId||null,this.#A=a.conversationRevision||null,this.#j=null,this.#L=null,this.#R=!1,this.#we(),this.clientSession&&this.#le(this.clientSession),e?.onCommitted?.(),this.#me()}),s=o.then(()=>{},()=>{});this.#F=s,this.#z=s;try{await o}finally{this.#z===s&&(this.#z=null)}}async#ye(e,t=!1){this.#Ee(t),await this.#Ce(e),this.#k=e.conversationId||null,this.#A=e.conversationRevision||null,this.#j=null,this.#L=null,this.#R=!1,this.#we(),this.#me()}async deleteConversation(e,t){let n=this.#fe(),r=this.#pe(t?.scope);await this.awaitHistorySettled(),await n.delete(e,{context:r}),this.#h?.clear(e),e===this.#k&&await this.#be(r)}async updateConversation(e,t,n){let r=this.#fe();if(!r.update)throw new Ji(`history_unavailable`,`This history provider cannot update conversations`);let i=this.#pe(n?.scope);return await this.awaitHistorySettled(),r.update(e,t,{context:i})}canUpdateConversations(){return typeof this.#de?.update==`function`}async clearConversationHistory(e){let t=this.#fe(),n=this.#pe(e?.scope);await this.awaitHistorySettled();let r=await t.deleteAll({...e?.targetId===void 0?{}:{targetId:e.targetId},context:n});return this.#ut(),await this.#be(n),r}async resetHistoryDevice(){let e=this.#fe();if(!e.resetDevice)throw new Ji(`history_unavailable`,`This history provider cannot reset the device`);this.#ut(),this.#M+=1,this.#N+=1,this.#V=null;try{return await e.resetDevice()}finally{this.#Ee(),this.#k=null,this.#A=null,this.#j=null,this.#L=null,this.#R=!1,this.#me()}}async#be(e){this.#M+=1,this.#N+=1,this.#V=null,this.#Ee(),this.#k=null,this.#A=null,this.#j=null,this.#R=!0,this.#L=null,this.#me(),await this.#xe(e)}async#xe(e){let t=this.#de;if(!t)this.#R=!1,this.#me();else try{let n=await t.prepareStartNew({context:e});await this.#ye(n)}catch{this.#R=!0,this.#L=`new_conversation_required`,this.#me(),this.#he(`new_conversation_required`,`That conversation was deleted. Start a new conversation to continue.`)}}async#Se(){if(this.#L===`new_conversation_required`&&this.#de&&(this.#L=null,await this.#xe(this.#pe()),this.#L===`new_conversation_required`))throw new Ji(`new_conversation_required`,`A new conversation is required before sending`)}async#Ce(e){if(await e.commit(),this.#P!==null&&this.#P!==this.#N)return;let t=this.client.getClientSession();t&&t.sessionId!==this.clientSession?.sessionId&&this.bindActivatedSession(t)}bindActivatedSession(e){(this.#P===null||this.#P===this.#N)&&(this.clientSession=e,this.config.setStoredSessionId?.(e.sessionId),e.conversationId&&(this.#k=e.conversationId,this.#A=e.conversationRevision??null,this.config.setStoredConversationId?.(e.conversationId),this.historyInternals.setStoredConversationRevision?.(e.conversationRevision??null)),this.#I||this.#le(e))}#we(){this.#k?this.config.setStoredConversationId?.(this.#k):this.config.clearStoredConversationId?.(),this.historyInternals.setStoredConversationRevision?.(this.#A),this.historyInternals.setStoredMessageCursor?.(this.#j)}#Te(){this.#t=void 0,this.historyInternals.setStoredResumableHandle?.(null),this.agentExecution=null,this.#ot(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear(),this.client.resetClientToolsFingerprint(),this.#H.clear(),this.#Pe(null)}#Ee(e=!1,t=!1){this.client.cancelStreams(),this.stopSpeaking(),this.abortController?.abort(),this.abortController=null,this.#Tt(),this.#rt(),this.#Qe++,this.messages=[],this.#Te(),this.#B.clear(),t||this.config.clearStoredSessionId?.(),this.config.clearStoredConversationId?.(),this.historyInternals.setStoredConversationRevision?.(null),this.historyInternals.setStoredMessageCursor?.(null),e||this.#kt(!1),this.#Ot(`idle`),this.callbacks.onMessagesChanged([...this.messages]),e||this.#a(`cancel`)}#De(e){this.#ut(),this.#M+=1,this.#N+=1,this.#V=null,this.#R=!0,this.#Ee(),this.#k=e.conversationId,this.#A=null,this.#j=null,this.#L=null,this.#me(),this.#he(`history_continuity_reset`,`This browser was reconnected to a different conversation, so the previous messages were cleared.`),this.#z=Promise.resolve().then(()=>{this.#R=!1,this.#z=null,this.#me()})}#Oe(){let e=this.historyInternals.visitorStore??null;e!==this.#q&&(this.#K?.(),this.#K=null,this.#q=e,e&&(this.#K=e.subscribe(e=>this.#ke(e))))}#ke(e){if(e.source!==`external`||e.previousToken===null)return;this.#ut(),this.clientSession=null,this.client.handleExternalCredentialChange(),this.#M+=1,this.#N+=1,this.#V=null,this.#J=!0,this.#Y=null;let t=this.messages.length>0;t||this.#k!==null||(this.config.getStoredConversationId?.()??null)!==null?this.#Ee():(this.config.clearStoredSessionId?.(),this.config.clearStoredConversationId?.(),this.#B.clear(),this.#Pe(null)),this.#k=null,this.#A=null,this.#j=null,this.#L=null,this.#me(),this.callbacks.onHistoryScopeInvalidated?.(),t&&this.#he(`history_continuity_reset`,`This browser's conversation history was reset in another tab, so the previous messages were cleared.`)}#Ae(){return this.#J?(this.#Y||=this.#je().finally(()=>{this.#Y=null}),this.#Y):Promise.resolve()}async#je(){if(!this.isClientTokenMode())this.#J=!1;else try{this.bindActivatedSession(await this.client.initSession()),this.#J=!1}catch{}}reconcileBootConversation(e){let t=this.#de,n=this.clientSession?.conversationId??this.config.getStoredConversationId?.()??this.#k;if(!t||!n)return Promise.resolve();let r=this.#pe(e?.scope);this.#R=!0,this.#me();let i=this.#Me(t,n,r).finally(()=>{this.#R=this.#L!==null,this.#z===i&&(this.#z=null),this.#me()});return this.#z=i,i}async#Me(e,t,n){this.#k=t;let r=this.clientSession?.conversationRevision??this.#A??null,i=this.#G?this.#W:this.historyInternals.getStoredConversationRevision?.()??null;if(this.#G=!1,this.#j=this.historyInternals.getStoredMessageCursor?.()??this.#j,await this.replayPendingProjections(),r&&i&&r===i){this.#A=r;return}let a=await e.getPage(t,{context:n}),o=this.#ve(a.messages),s=new Set(a.messages.map(e=>e.id)),c=this.messages.some(e=>s.has(e.id)),l=a.messages[0]?.createdAt,u;if(!c)u=o.map(e=>this.#Ft(e));else{let e=this.#u?this.#d:null,t=this.messages.filter(t=>s.has(t.id)||t.id===e?!0:l!==void 0&&t.createdAt<l);u=Rt(t,o).map(e=>this.#Ft(e))}this.#j=a.nextCursor,this.#A=a.conversationRevision||r||null,this.#H.clear();for(let e of a.messages)this.#H.set(e.id,e.content);this.#we(),this.#t=void 0,this.messages=this.#Rt(u),this.callbacks.onMessagesChanged([...this.messages])}#Ne(){return this.config.features?.history?.enabled===!0&&this.isClientTokenMode()}#Pe(e){this.#U=e,this.historyInternals.setPendingDisplayProjections?.(e)}#Fe(){return this.historyInternals.getPendingDisplayProjections?.()??this.#U}#Ie(e){if(this.#Ne())for(let t of e){let e=zt(t);e!==void 0&&this.#H.set(t.id,e)}}#Le(){if(!this.#Ne())return;let e=this.#k;if(!e)return;let t=[];for(let e of this.messages){if(e.role!==`assistant`||e.streaming)continue;let n=zt(e);n!==void 0&&this.#H.get(e.id)!==n&&t.push({id:e.id,displayContent:n})}t.length!==0&&(this.#Pe({conversationId:e,messageIds:t.map(e=>e.id)}),this.#Re(e,t))}#Re(e,t){let n=(this.#V??Promise.resolve()).catch(()=>{}).then(()=>this.#ze(e,t,!1)).finally(()=>{this.#V===n&&(this.#V=null)});this.#V=n}async#ze(e,t,n){if(this.#k!==e)return;let r=t.filter(e=>this.#H.get(e.id)!==e.displayContent);if(r.length===0)this.#Ve(e,t);else try{let{conversationRevision:n}=await this.client.finalizeDisplayProjections(e,r);for(let e of r)this.#H.set(e.id,e.displayContent);this.#k===e&&n&&(this.#A=n),this.#Ve(e,t)}catch(i){if(!n&&this.#Be(i)){await this.#ze(e,r,!0);return}if(i instanceof ui&&(i.code===`not_found`||i.code===`conversation_deleted`)){this.#Ve(e,t);return}this.#he(`projection_finalization_failed`,`Some message formatting could not be saved for history; it will be retried.`)}}#Be(e){return e instanceof ui?e.code===`request_failed`:e instanceof Error}#Ve(e,t){let n=this.#Fe();if(!n||n.conversationId!==e)return;let r=new Set(t.map(e=>e.id)),i=n.messageIds.filter(e=>!r.has(e));this.#Pe(i.length?{conversationId:e,messageIds:i}:null)}async replayPendingProjections(){if(!this.#Ne())return;let e=this.#Fe();if(!e)return;if(this.#k&&e.conversationId!==this.#k){this.#Pe(null);return}let t=[];for(let n of e.messageIds){let e=this.messages.find(e=>e.id===n);e&&typeof e.content==`string`&&t.push({id:n,displayContent:e.content})}t.length===0?this.#Pe(null):(this.#Re(e.conversationId,t),await this.#V?.catch(()=>{}))}#He(){this.#k&&(this.#A=null,this.historyInternals.setStoredConversationRevision?.(null))}async#Ue(){await this.awaitHistorySettled(),await this.#Ae(),this.#L===`new_conversation_required`&&await this.#Se()}static#We(e){return e instanceof ui&&e.code===`conversation_deleted`}async#Ge(t,n,r,i,a){let o=this.#e,s=e=>{this.#e===o&&this.handleEvent(e)};this.#Ie(t);try{await this.client.dispatch({messages:t,signal:n.signal,assistantMessageId:r,composerOptions:a?.composerOptions,interrupt:a?.interrupt,voiceSpoken:a?.voiceSpoken,voicePriorToolResults:a?.voicePriorToolResults},s);return}catch(t){if(n.signal.aborted||this.#e!==o||!e.#We(t))throw t;let c=await this.#Ke(i);if(!c)throw t;this.#Ie([c]),await this.client.dispatch({messages:[c],signal:n.signal,assistantMessageId:r,composerOptions:a?.composerOptions,voiceSpoken:a?.voiceSpoken,voicePriorToolResults:a?.voicePriorToolResults},s)}}async#Ke(e){let t=this.messages.find(t=>t.id===e);if(!t)return null;let n={...t};this.#M+=1,this.#N+=1,this.#V=null,this.#Ee(!0),this.#k=null,this.#A=null,this.#j=null,this.#I=!0;try{let e=this.#de;if(e){let t=await e.prepareStartNew({context:this.#pe()});await this.#ye(t,!0)}else{this.client.clearClientSession();let e=await this.client.initSession();this.bindActivatedSession(e)}}catch{return this.#R=!0,this.#L=`new_conversation_required`,this.#me(),this.#he(`new_conversation_required`,`That conversation was deleted. Start a new conversation to continue.`),null}finally{this.#I=!1}return this.#Pt(n),this.#kt(!0),this.#he(`conversation_deleted_recovered`,`That conversation was deleted. Started a new conversation.`),this.messages.find(e=>e.id===n.id)??n}updateConfig(e){let t=this.config.features?.artifacts?.display,n={...this.config,...e},r=Er(this.config,n),i=qi(this.config,n);i&&(this.cancel(),this.#ut()),this.config=n,r&&(this.cleanupVoice(),n.voiceRecognition?.enabled===!0&&kr(n)&&this.setupVoice());let a=JSON.stringify(t)!==JSON.stringify(n.features?.artifacts?.display);if(!i){this.client.updateConfig(n),a&&this.#at();return}this.#rt(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear();let o=this.client.getSSEEventCallback();this.#M+=1,this.#N+=1,this.client=new pi(this.config,this.historyInternals),a&&this.#at(),this.#Xe(),o&&this.client.setSSEEventCallback(o)}getMessages(){return[...this.messages]}getStatus(){return this.status}getRunActivity(){return this.#t}isStreaming(){return this.streaming}injectTestEvent(e){this.handleEvent(e)}injectMessage(e){let t=this.#qe(e);return this.upsertMessage(t),t}#qe(e){let{role:t,content:n,llmContent:r,contentParts:i,id:a,createdAt:o,sequence:s,streaming:c=!1,voiceProcessing:l,voiceCaption:u,rawContent:d}=e;return{id:a??(t===`user`?ut():t===`assistant`?dt():`${t===`operator`?`operator`:`system`}-${Date.now()}-${Math.random().toString(16).slice(2)}`),role:t,content:n,createdAt:o??(/* @__PURE__ */ new Date()).toISOString(),sequence:s??this.#It(),streaming:c,...r!==void 0&&{llmContent:r},...i!==void 0&&{contentParts:i},...l!==void 0&&{voiceProcessing:l},...u&&{voiceCaption:u},...d!==void 0&&{rawContent:d},...e.dispatchError!==void 0&&{dispatchError:e.dispatchError},...e.author!==void 0&&{author:{...e.author}}}}injectAssistantMessage(e){return this.injectMessage({...e,role:`assistant`})}injectUserMessage(e){return this.injectMessage({...e,role:`user`})}injectSystemMessage(e){return this.injectMessage({...e,role:`system`})}injectMessageBatch(e){let t=e.map(e=>this.#qe(e));return this.messages=this.#Rt([...this.messages,...t]),this.callbacks.onMessagesChanged([...this.messages]),t}injectComponentDirective(e){let{component:t,props:n={},text:r=``,llmContent:i,id:a,createdAt:o,sequence:s}=e,c={text:r,component:t,props:n};return this.injectMessage({role:`assistant`,content:r,rawContent:JSON.stringify(c),...i!==void 0&&{llmContent:i},...a!==void 0&&{id:a},...o!==void 0&&{createdAt:o},...s!==void 0&&{sequence:s}})}updateComponentProps(e,t){let n=this.messages.find(t=>t.id===e),r=n&&Pi(n);return!n||n.role!==`assistant`||n.variant||!r?!1:(this.upsertMessage({...n,rawContent:JSON.stringify({text:n.content,component:r.component,props:t})}),!0)}removeComponentMessage(e){let t=this.messages.find(t=>t.id===e);return!t||t.role!==`assistant`||t.variant||!Pi(t)?!1:(this.messages=this.messages.filter(t=>t.id!==e),this.callbacks.onMessagesChanged([...this.messages]),!0)}async#Je(e,t,n){let r;try{r=await n()}catch{return}let i=r.blocks.join(`
|
|
5
|
+
`),t.trim()}const Vi=()=>import(`./chunk-59UOGW9N.js`),{setLoader:Hi,load:Ui}=v({fallbackImport:()=>import(`./chunk-DvGdwBMD.js`)}),Wi=Ui,Gi=/* @__PURE__ */ `apiUrl.clientToken.flowId.agentId.target.targetProviders.agent.agentOptions.headers.getHeaders.webmcp.streamParser.parserType.contextProviders.requestMiddleware.modelMessageTransform.customFetch.backgroundConversations.parseSSEEvent.onSessionInit.onSessionExpired.getStoredSessionId.setStoredSessionId.getIdentityProof.identityProvider.getStoredConversationId.setStoredConversationId.clearStoredConversationId.clearStoredSessionId`.split(`.`);function Ki(e,t){return Gi.some(n=>e[n]!==t[n])}var qi=class extends Error{constructor(e,t){super(t),this.name=`SessionHistoryError`,this.code=e}};function Ji(e,t){let n=e instanceof Error?e:Error(String(e));if(typeof t==`string`)return t;if(typeof t==`function`)return t(n);let r=n.message.trim(),i=/^(Failed to fetch|fetch failed|Load failed|NetworkError when attempting to fetch resource\.?)$/i.test(r),a=/^(Chat backend|Agent execution) request failed: \d{3}\b/.test(r),o=i?`Sorry: I couldn't reach the assistant. Please check your connection and try again.`:a?`Sorry: the chat service couldn't complete the request. Please try again.`:`Sorry: the chat encountered an unexpected error. Please reload the page and try again.`;return r?`${o}\n\n_Details: ${r}_`:o}const Yi=e=>nt(e)||e===`suggest_replies`;var Xi=class e{#e;#t;#n;#r;#i(e){if(this.#a(`cancel`),this.#n=!1,this.#e={runId:`run-${ut()}`,timestamp:Date.now()},this.#t={run:this.#e,messageIds:/* @__PURE__ */ new Set},e)for(let t of this.messages)t.role===`assistant`&&t.agentMetadata?.executionId===e&&this.#t.messageIds.add(t.id);this.callbacks.onRunStarted?.({...this.#e})}#a(e,t=this.#e){if(t!==this.#e)return;this.#r!==null&&clearTimeout(this.#r),this.#r=null;let n=this.#e;if(this.#e=null,n){let t=n;t.timestamp=Date.now(),t.outcome=e,this.callbacks.onRunFinished?.(t)}}#o(){if(!this.#e||this.#r!==null)return;let e=this.#e;this.#r=setTimeout(()=>{this.#r=null,this.#e===e&&(!this.#n&&(this.streaming||this.#f||this.#_t()||this.webMcpAwaitBatches.size||this.webMcpResolveControllers.size)||this.#a(this.#n?`error`:`success`))},0)}#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;#C;#w;#T;#E;#D;#O;#k;#A;#j;#M;#N;#P;#F;#I;#L;#R;#z;#B;#V;#H;#U;#W;#G;#K;#q;#J;#Y;constructor(e={},t,n={}){this.config=e,this.callbacks=t,this.historyInternals=n,this.status=`idle`,this.#e=null,this.#n=!1,this.#r=null,this.streaming=!1,this.#s=/* @__PURE__ */ new Map,this.abortController=null,this.#l=Date.now(),this.clientSession=null,this.agentExecution=null,this.#u=null,this.#d=null,this.#f=!1,this.#m=null,this.#h=null,this.#g=null,this.#_=null,this.#v=null,this.#y=null,this.artifacts=/* @__PURE__ */ new Map,this.#b=null,this.webMcpInflightKeys=/* @__PURE__ */ new Set,this.webMcpResolvedKeys=/* @__PURE__ */ new Set,this.webMcpResolveControllers=/* @__PURE__ */ new Set,this.#x=0,this.webMcpApprovalResolvers=/* @__PURE__ */ new Map,this.#S=0,this.approvalTokens=/* @__PURE__ */ new Map,this.webMcpAwaitBatches=/* @__PURE__ */ new Map,this.#C=null,this.#w=null,this.#T=0,this.#E=0,this.#D=!1,this.#O=`disconnected`,this.#k=null,this.#A=null,this.#j=null,this.#M=0,this.#N=0,this.#P=null,this.#F=Promise.resolve(),this.#I=!1,this.#L=null,this.#R=!1,this.#z=null,this.#B=/* @__PURE__ */ new Map,this.#V=null,this.#H=/* @__PURE__ */ new Map,this.#U=null,this.#W=null,this.#G=!1,this.#K=null,this.#q=null,this.#J=!1,this.#Y=null,this.#Q=null,this.#$=null,this.#ee=new Li,this.#te=Promise.resolve(),this.#ne=null,this.#re=null,this.ttsSpokenMessageIds=/* @__PURE__ */ new Set,this.readAloud=new Ii(()=>this.#ie()),this.#Ze=null,this.#Qe=0,this.handleEvent=(e,t=!1)=>{if(this.#m){this.#m.push({event:e,readOnlyReplay:t});return}let n=this.#re,r=!1;if(n&&(e.type===`error`||e.type===`status`&&e.status===`error`?n.failed=!0:e.type===`message`&&e.message.role===`assistant`&&(n.dropped||this.ttsSpokenMessageIds.add(e.message.id),n.ids.includes(e.message.id)||n.ids.push(e.message.id),r=!0)),e.type===`message`){this.#e&&!t&&e.message.role===`assistant`&&this.#t?.messageIds.add(e.message.id),this.upsertMessage(e.message),(e.message.agentMetadata?.awaitingLocalTool||e.message.variant===`approval`&&e.message.approval?.status===`pending`)&&this.#dt(`needs-attention`),r&&n.onUpdate?.(),e.message.variant===`approval`&&e.message.approval&&e.message.approval.status!==`pending`&&this.#s.set(e.message.id,this.#c),e.message.role===`assistant`&&!e.message.variant&&e.message.streaming&&(this.#d=e.message.id),(e.message.variant===`approval`||e.message.agentMetadata?.awaitingLocalTool===!0)&&bi().catch(()=>{});let i=e.message.toolCall,a=!!i?.name&&(nt(i.name)||i.name===`suggest_replies`&&ht(this.config).enabled);e.message.agentMetadata?.awaitingLocalTool===!0&&a&&!t&&this.messages.find(t=>t.id===e.message.id)?.agentMetadata?.awaitingLocalTool===!0&&this.#et(e.message),e.message.agentMetadata?.executionId&&(!this.agentExecution||this.agentExecution.executionId!==e.message.agentMetadata.executionId?this.agentExecution={executionId:e.message.agentMetadata.executionId,agentId:``,agentName:e.message.agentMetadata.agentName??``,status:`running`,currentIteration:e.message.agentMetadata.iteration??0,maxTurns:0}:e.message.agentMetadata.iteration!==void 0&&(this.agentExecution.currentIteration=e.message.agentMetadata.iteration))}else if(e.type===`cursor`)this.#p=e.checkpoint,this.#ht(e.id);else if(e.type===`status`){if(e.executionId&&(this.agentExecution={executionId:e.executionId,agentId:``,agentName:``,status:`running`,currentIteration:0,maxTurns:0},this.#dt(`running`)),e.status===`idle`&&!e.terminal&&this.#gt()){this.#vt();return}if(e.status===`error`?this.#dt(`failed`):e.terminal&&e.status===`idle`&&this.#dt(`completed`),this.#Ot(e.status),e.status===`connecting`)this.#kt(!0);else if(e.status===`idle`||e.status===`error`){this.#_t()||this.#Et(),this.webMcpResolveControllers.size===0&&(this.#kt(!1),this.abortController=null,this.#He(),this.#Le());let t=this.webMcpAwaitBatches.size>0||this.webMcpResolveControllers.size>0;this.agentExecution?.status===`running`&&(e.status===`error`?this.agentExecution.status=`error`:t||(this.agentExecution.status=`complete`)),this.#tt()}}else e.type===`error`?(this.#dt(`failed`),this.#Ot(`error`),this.#Et(),this.webMcpResolveControllers.size===0&&(this.#kt(!1),this.abortController=null),this.agentExecution?.status===`running`&&(this.agentExecution.status=`error`),this.callbacks.onError?.(e.error)):(e.type===`artifact_start`||e.type===`artifact_delta`||e.type===`artifact_update`||e.type===`artifact_complete`)&&this.#ct(e)},this.historyInternals=this.#ue(n),this.messages=[...e.initialMessages??[]].map(e=>({...st(e),sequence:e.sequence??this.#It()})),this.messages=this.#Rt(this.messages),this.client=new fi(e,this.historyInternals),this.#Oe(),this.#Xe();for(let t of e.initialArtifacts??[])this.artifacts.set(t.id,{...t,status:`complete`});e.initialSelectedArtifactId!=null&&(this.#b=e.initialSelectedArtifactId),this.messages.length&&this.callbacks.onMessagesChanged([...this.messages]),this.artifacts.size>0&&this.#st(),this.callbacks.onStatusChanged(this.status),this.#Z(),this.#X()}#X(){this.config.voiceRecognition?.provider&&wr().catch(()=>{})}#Z(){let e=this.config.textToSpeech;if(e?.provider!==`runtype`||e.createEngine)return;let t=e.host??this.config.apiUrl,n=e.agentId??this.config.voiceRecognition?.provider?.runtype?.agentId??this.config.agentId;t&&n&&this.config.clientToken&&Vi().catch(()=>{})}setSSEEventCallback(e){this.client.setSSEEventCallback(e)}isClientTokenMode(){return this.client.isClientTokenMode()}isAgentMode(){return this.client.isAgentMode()}getAgentExecution(){return this.agentExecution}isAgentExecuting(){return this.agentExecution?.status===`running`}isVoiceSupported(){return Or(this.config.voiceRecognition?.provider)}isVoiceActive(){return this.#D}getVoiceStatus(){return this.#O}getVoiceNotice(){return this.#C?.takeNotice?.()??null}getVoiceDisclosure(){return this.#C?.getDisclosure?.()??null}getVoiceLevel(){return this.#C?.onLevel?this.#E:null}getVoiceInterruptionMode(){return this.#C?.getInterruptionMode?this.#C.getInterruptionMode():`none`}stopVoicePlayback(){this.#C?.stopPlayback&&(this.#ee.cancel(),this.#ne?.cancel(),this.#C.stopPlayback())}isBargeInActive(){return this.#C?.isBargeInActive?.()??!1}async deactivateBargeIn(){this.#C?.deactivateBargeIn&&await this.#C.deactivateBargeIn()}#Q;#$;#ee;#te;#ne;#re;#ie(){let e=this.config.textToSpeech;if(e?.createEngine)return e.createEngine();let t=Fi.isSupported()?new Fi({pickVoice:e?.pickVoice}):null;if(e?.provider===`runtype`){let n=e.host??this.config.apiUrl,r=e.agentId??this.config.voiceRecognition?.provider?.runtype?.agentId??this.config.agentId,i=this.config.clientToken,a=e.browserFallback!==!1;if(n&&r&&i)return Vi().then(({RuntypeSpeechEngine:o,FallbackSpeechEngine:s})=>{let c=new o({host:n,agentId:r,clientToken:i,voice:e.voice,prebufferMs:e.prebufferMs,createPlaybackEngine:e.createPlaybackEngine});return a&&t?new s(c,t,{onFallback:e=>console.warn(`[persona] Runtype read-aloud failed; using browser voice. ${e.message}`)}):c});if(a&&t)return i&&console.warn(`[persona] textToSpeech.provider 'runtype' is missing an agentId; using the browser voice. Set textToSpeech.agentId (or voiceRecognition.provider.runtype.agentId).`),t}return t}setupVoice(e){try{let t=e||this.getVoiceConfigFromConfig();if(!t)throw Error(`Voice configuration not provided`);this.cleanupVoice();let n=this.#te,r=++this.#T;this.#w=wr().then(async e=>{await n,r===this.#T&&this.#ae(e,e.createVoiceProvider(t))}).catch(e=>{console.error(`Failed to setup voice:`,e)}).finally(()=>{r===this.#T&&(this.#w=null)})}catch(e){console.error(`Failed to setup voice:`,e)}}#ae(e,t){this.#C=t;let n=this;e.wireSessionVoice({session:this,provider:()=>n.#C,generation:()=>n.#T,get keyed(){return n.#ne},set keyed(e){n.#ne=e},get pendingUser(){return n.#Q},set pendingUser(e){n.#Q=e},get pendingAssistant(){return n.#$},set pendingAssistant(e){n.#$=e},turns:()=>n.#ee,busy:()=>n.#oe(),setStreaming:e=>n.#kt(e),setDelegation:e=>{n.#re=e},setLevel:e=>{n.#E=e},setStatus:e=>{n.#O=e,n.#D=e===`listening`},settlePending:e=>n.#ce(e)},t,e.KeyedVoiceTranscript,e.createVoiceSessionBridge)}async toggleVoice(){let e=this.#T;if(!this.#C&&this.#w&&await this.#w,e===this.#T){if(!this.#C)console.error(`Voice not configured`);else if(this.#D)await this.#C.stopListening();else{this.stopSpeaking();try{await this.#C.startListening()}catch(e){console.error(`Failed to start voice:`,e)}}}}prewarmVoice(){if(!Er(this.config.voiceRecognition?.provider)){this.warmClientSession();return}let e=this.#T,t=()=>{let t=this.#C;t?.prewarm&&e===this.#T&&(this.#D||this.isBargeInActive()||Promise.resolve().then(()=>t.prewarm?.()).catch(()=>{}))};!this.#C&&this.#w?this.#w.then(t,()=>{}):t()}#oe(){return!!this.abortController||this.webMcpResolveControllers.size>0||this.webMcpAwaitBatches.size>0||this.#f||this.status===`resuming`}cleanupVoice(){let e=this.#C!==null;if(this.#T++,this.#w=null,this.#C){let e=this.#C;this.#C=null,this.#te=this.#se(e)}this.#D=!1,this.#O=`disconnected`,this.#ce(!0),this.#ne?.settle(),this.#ne=null,this.#ee=new Li,e&&this.callbacks.onVoiceStatusChanged?.(`disconnected`)}async#se(e){try{await e.disconnect()}catch(e){console.error(`Failed to disconnect voice:`,e)}}#ce(e){let t=e?this.#Q:null,n=this.#$;(t||n)&&(n&&this.#ee.cancel(),e&&(this.#Q=null),this.#$=null,n&&this.ttsSpokenMessageIds.add(n),this.messages=this.messages.flatMap(e=>e.id!==t&&e.id!==n?[e]:e.id===n&&!e.content.trim()?[]:[{...e,streaming:!1,voiceProcessing:!1}]),this.callbacks.onMessagesChanged([...this.messages]),n&&this.#kt(!1))}getVoiceConfigFromConfig(){if(!this.config.voiceRecognition?.provider)return;let e=this.config.voiceRecognition.provider;switch(e.type){case`runtype`:return{type:`runtype`,runtype:{agentId:e.runtype?.agentId??this.config.agentId??``,clientToken:e.runtype?.clientToken??this.config.clientToken,host:e.runtype?.host??this.config.apiUrl,voiceId:e.runtype?.voiceId,createPlaybackEngine:e.runtype?.createPlaybackEngine,prewarmMode:e.runtype?.prewarmMode,attachIdleMs:e.runtype?.attachIdleMs,clientDelegation:e.runtype?.clientDelegation,callContext:e.runtype?.callContext,approvalTimeoutMs:e.runtype?.approvalTimeoutMs,disclosureText:e.runtype?.disclosureText}};case`browser`:return{type:`browser`,browser:{language:e.browser?.language||`en-US`,continuous:e.browser?.continuous}};case`custom`:return{type:`custom`,custom:e.custom};default:return}}async initClientSession(){if(!this.isClientTokenMode())return null;this.config.features?.history?.enabled&&(await this.historyInternals.historyBootstrapReady,this.#W=this.historyInternals.getStoredConversationRevision?.()??null,this.#G=!0);try{let e=await this.client.initSession();return this.setClientSession(e),e}catch(e){return this.callbacks.onError?.(e instanceof Error?e:Error(String(e))),null}}warmClientSession(){let e=!this.messages.length;this.client.warmSession().then(t=>{t&&this.client.getClientSession()===t&&this.setClientSession(t,e)})}setClientSession(e,t){this.clientSession=e,this.#le(e,t)}#le(e,t=!this.messages.length){if(this.#I||!e.config.welcomeMessage||!t)return;let n=this.messages[0],r={id:`welcome-${Date.now()}`,role:`assistant`,content:e.config.welcomeMessage,createdAt:n?.createdAt??(/* @__PURE__ */ new Date()).toISOString(),sequence:n?(n.sequence??0)-1:this.#It()};this.#Pt(r)}getClientSession(){return this.clientSession??this.client.getClientSession()}isSessionValid(){let e=this.getClientSession();return e?/* @__PURE__ */ new Date<e.expiresAt:!1}clearClientSession(){this.clientSession=null,this.client.clearClientSession()}getClient(){return this.client}async submitMessageFeedback(e,t){return this.client.submitMessageFeedback(e,t)}async submitCSATFeedback(e,t){return this.client.submitCSATFeedback(e,t)}async submitNPSFeedback(e,t){return this.client.submitNPSFeedback(e,t)}setHistoryInternals(e){e.historyProvider!==this.historyInternals.historyProvider&&(this.#M+=1,this.#N+=1,this.config.backgroundConversations&&this.cancel(),this.#ut()),this.historyInternals=this.#ue(e),this.client.setHistoryInternals(this.historyInternals),this.#Oe()}destroy(){this.#ut(),this.#M+=1,this.#N+=1,this.cancel(),this.#t=void 0,this.cleanupVoice(),this.#K?.(),this.#K=null,this.#q=null}#ue(e){let t=e.onHistoryContinuityChanged;return{...e,onHistoryContinuityChanged:e=>{this.#De(e),t?.(e)}}}get#de(){return this.historyInternals.historyProvider??null}#fe(){let e=this.#de;if(!e)throw new qi(`history_unavailable`,`No conversation history provider is installed`);return e}#pe(e){let t=this.#fe(),n=e??this.config.features?.history?.scope,r=this.config.getIdentityProof?`verified-user`:`browser`,i=n??(t.capabilities.scopes.includes(r)?r:t.capabilities.scopes[0]??r);if(!t.capabilities.scopes.includes(i))throw new Ot(`unsupported_scope`,`This history scope is not supported.`);return{scope:i}}getHistoryState(){return{activeConversationId:this.#k,conversationRevision:this.#A,nextMessageCursor:this.#j,recovery:this.#L,sendBlocked:this.#R}}getActiveConversationId(){return this.#k}#me(){this.callbacks.onHistoryStateChanged?.(this.getHistoryState())}#he(e,t){this.callbacks.onHistoryNotice?.({code:e,message:t})}async awaitHistorySettled(){let e=this.#z;e&&await e.catch(()=>{});let t=this.#V;t&&await t.catch(()=>{})}#ge(){if(this.streaming||this.status===`paused`||this.status===`resuming`)throw new qi(`conversation_busy`,`Finish or stop the current turn before switching conversations`)}listConversations(e){return this.#fe().list({...e?.cursor?{cursor:e.cursor}:{},...e?.limit===void 0?{}:{limit:e.limit},...e?.targetId===void 0?{}:{targetId:e.targetId},context:this.#pe(e?.scope)})}async openConversation(e,t){let n=this.#fe();t?.busy===`background`&&this.assertBackgroundSwitchable(),t?.busy===`stop`&&this.cancel(),t?.busy!==`background`&&this.#ge();let r=this.#pe(t?.scope),i=++this.#M,a=this.#N;if(t?.busy===`background`&&await this.#lt(),await this.awaitHistorySettled(),i!==this.#M)throw new qi(`superseded`,`A later selection won`);let o=await n.getPage(e,{context:r});if(i!==this.#M)throw new qi(`superseded`,`A later selection won`);let s=await n.prepareOpen(e,{context:r}),c=this.#F.then(async()=>{if(i!==this.#M)throw s.discard(),new qi(`superseded`,`A later selection won`);t?.busy===`stop`&&this.cancel();try{t?.busy===`background`?this.assertBackgroundSwitchable():this.#ge()}catch(e){throw s.discard(),e}let r=this.#k,c=this.#e;t?.onBeforeCommit?.(),t?.busy===`background`&&(this.#m=[]),this.#I=!0,this.#P=a;try{if(await this.#Ce(s),a!==this.#N||n!==this.#de)throw new qi(`superseded`,`The history identity changed`);if(t?.busy===`background`&&r&&this.#u){let e={conversationId:r,handle:this.#u,messages:this.messages,artifacts:this.getArtifacts(),selectedArtifactId:this.#b,streamCheckpoint:this.#p};this.#h?.save(e)}this.#k=s.conversationId||e,this.#A=s.conversationRevision||o.conversationRevision||null,this.#j=o.nextCursor,this.#L=null,this.#R=!1,this.#Te();for(let e of o.messages)this.#H.set(e.id,e.content);this.#we();let i=this.#h?.take(this.#k);return this.hydrateMessages(i?.messages??o.messages),i&&(this.hydrateArtifacts(i.artifacts,i.selectedArtifactId,!0),this.#mt(i)),t?.onCommitted?.(),this.#me(),{summary:o.summary,nextMessageCursor:o.nextCursor}}finally{this.#I=!1,this.#P=null;let e=this.#m;if(this.#m=null,e&&this.#e===c&&this.#k===r)for(let{event:t,readOnlyReplay:n}of e)this.handleEvent(t,n)}}),l=c.then(()=>{},()=>{});this.#F=l,this.#z=l;try{return await c}finally{this.#z===l&&(this.#z=null)}}loadOlderMessages(e,t,n){let r=this.#fe(),i=this.#pe(n?.scope),a=t??this.#j;if(!a)return Promise.resolve({messages:[],nextMessageCursor:null});let o=`${e} ${a}`,s=this.#B.get(o);if(s)return s;let c=this.#_e(r,e,a,i).finally(()=>{this.#B.delete(o)});return this.#B.set(o,c),c}async#_e(e,t,n,r){let i=this.messages[0]?.createdAt,a=await e.getPage(t,{cursor:n,...i?{beforeCreatedAt:i}:{},context:r});if(this.#k&&this.#k!==t)return{messages:[],nextMessageCursor:a.nextCursor};let o=this.#ve(a.messages),s=Lt(this.messages,o);this.messages=this.#Rt(s.map(e=>this.#Ft(e))),this.#j=a.nextCursor;for(let e of a.messages)this.#H.set(e.id,e.content);return this.historyInternals.setStoredMessageCursor?.(a.nextCursor),this.callbacks.onMessagesChanged([...this.messages]),this.#me(),{messages:o,nextMessageCursor:a.nextCursor}}#ve(e){let t=new Map(this.messages.map(e=>[e.id,e]));return e.map(e=>{let n=t.get(e.id);if(n){if(this.webMcpApprovalResolvers.has(n.id)||n.approval&&ot(n.approval)&&n.approval.id===e.approval?.id&&n.approval.status!==`pending`&&e.approval?.status===`pending`)return n;let t=n.agentMetadata?.executionId,r=[...n.toolCall?[n.toolCall]:[],...n.tools??[]];if(t&&r.some(e=>this.webMcpInflightKeys.has(`${t}:${e.id}`)||this.webMcpResolvedKeys.has(`${t}:${e.id}`)))return n}return st(e)})}async startNewConversation(e){let t=this.#fe(),n=this.#pe(e?.scope),r=++this.#M,i=this.#N;await this.awaitHistorySettled();let a=await t.prepareStartNew({context:n}),o=this.#F.then(async()=>{if(r!==this.#M)throw a.discard(),new qi(`superseded`,`A later action won`);e?.onBeforeCommit?.(),this.#I=!0,this.#P=i;try{await this.#Ce(a)}finally{this.#I=!1,this.#P=null}if(i!==this.#N||t!==this.#de)throw new qi(`superseded`,`The history identity changed`);this.#Ee(!1,!0),this.#k=a.conversationId||null,this.#A=a.conversationRevision||null,this.#j=null,this.#L=null,this.#R=!1,this.#we(),this.clientSession&&this.#le(this.clientSession),e?.onCommitted?.(),this.#me()}),s=o.then(()=>{},()=>{});this.#F=s,this.#z=s;try{await o}finally{this.#z===s&&(this.#z=null)}}async#ye(e,t=!1){this.#Ee(t),await this.#Ce(e),this.#k=e.conversationId||null,this.#A=e.conversationRevision||null,this.#j=null,this.#L=null,this.#R=!1,this.#we(),this.#me()}async deleteConversation(e,t){let n=this.#fe(),r=this.#pe(t?.scope);await this.awaitHistorySettled(),await n.delete(e,{context:r}),this.#h?.clear(e),e===this.#k&&await this.#be(r)}async updateConversation(e,t,n){let r=this.#fe();if(!r.update)throw new qi(`history_unavailable`,`This history provider cannot update conversations`);let i=this.#pe(n?.scope);return await this.awaitHistorySettled(),r.update(e,t,{context:i})}canUpdateConversations(){return typeof this.#de?.update==`function`}async clearConversationHistory(e){let t=this.#fe(),n=this.#pe(e?.scope);await this.awaitHistorySettled();let r=await t.deleteAll({...e?.targetId===void 0?{}:{targetId:e.targetId},context:n});return this.#ut(),await this.#be(n),r}async resetHistoryDevice(){let e=this.#fe();if(!e.resetDevice)throw new qi(`history_unavailable`,`This history provider cannot reset the device`);this.#ut(),this.#M+=1,this.#N+=1,this.#V=null;try{return await e.resetDevice()}finally{this.#Ee(),this.#k=null,this.#A=null,this.#j=null,this.#L=null,this.#R=!1,this.#me()}}async#be(e){this.#M+=1,this.#N+=1,this.#V=null,this.#Ee(),this.#k=null,this.#A=null,this.#j=null,this.#R=!0,this.#L=null,this.#me(),await this.#xe(e)}async#xe(e){let t=this.#de;if(!t)this.#R=!1,this.#me();else try{let n=await t.prepareStartNew({context:e});await this.#ye(n)}catch{this.#R=!0,this.#L=`new_conversation_required`,this.#me(),this.#he(`new_conversation_required`,`That conversation was deleted. Start a new conversation to continue.`)}}async#Se(){if(this.#L===`new_conversation_required`&&this.#de&&(this.#L=null,await this.#xe(this.#pe()),this.#L===`new_conversation_required`))throw new qi(`new_conversation_required`,`A new conversation is required before sending`)}async#Ce(e){if(await e.commit(),this.#P!==null&&this.#P!==this.#N)return;let t=this.client.getClientSession();t&&t.sessionId!==this.clientSession?.sessionId&&this.bindActivatedSession(t)}bindActivatedSession(e){(this.#P===null||this.#P===this.#N)&&(this.clientSession=e,this.config.setStoredSessionId?.(e.sessionId),e.conversationId&&(this.#k=e.conversationId,this.#A=e.conversationRevision??null,this.config.setStoredConversationId?.(e.conversationId),this.historyInternals.setStoredConversationRevision?.(e.conversationRevision??null)),this.#I||this.#le(e))}#we(){this.#k?this.config.setStoredConversationId?.(this.#k):this.config.clearStoredConversationId?.(),this.historyInternals.setStoredConversationRevision?.(this.#A),this.historyInternals.setStoredMessageCursor?.(this.#j)}#Te(){this.#t=void 0,this.historyInternals.setStoredResumableHandle?.(null),this.agentExecution=null,this.#ot(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear(),this.client.resetClientToolsFingerprint(),this.#H.clear(),this.#Pe(null)}#Ee(e=!1,t=!1){this.client.cancelStreams(),this.stopSpeaking(),this.abortController?.abort(),this.abortController=null,this.#Tt(),this.#rt(),this.#Qe++,this.messages=[],this.#Te(),this.#B.clear(),t||this.config.clearStoredSessionId?.(),this.config.clearStoredConversationId?.(),this.historyInternals.setStoredConversationRevision?.(null),this.historyInternals.setStoredMessageCursor?.(null),e||this.#kt(!1),this.#Ot(`idle`),this.callbacks.onMessagesChanged([...this.messages]),e||this.#a(`cancel`)}#De(e){this.#ut(),this.#M+=1,this.#N+=1,this.#V=null,this.#R=!0,this.#Ee(),this.#k=e.conversationId,this.#A=null,this.#j=null,this.#L=null,this.#me(),this.#he(`history_continuity_reset`,`This browser was reconnected to a different conversation, so the previous messages were cleared.`),this.#z=Promise.resolve().then(()=>{this.#R=!1,this.#z=null,this.#me()})}#Oe(){let e=this.historyInternals.visitorStore??null;e!==this.#q&&(this.#K?.(),this.#K=null,this.#q=e,e&&(this.#K=e.subscribe(e=>this.#ke(e))))}#ke(e){if(e.source!==`external`||e.previousToken===null)return;this.#ut(),this.clientSession=null,this.client.handleExternalCredentialChange(),this.#M+=1,this.#N+=1,this.#V=null,this.#J=!0,this.#Y=null;let t=this.messages.length>0;t||this.#k!==null||(this.config.getStoredConversationId?.()??null)!==null?this.#Ee():(this.config.clearStoredSessionId?.(),this.config.clearStoredConversationId?.(),this.#B.clear(),this.#Pe(null)),this.#k=null,this.#A=null,this.#j=null,this.#L=null,this.#me(),this.callbacks.onHistoryScopeInvalidated?.(),t&&this.#he(`history_continuity_reset`,`This browser's conversation history was reset in another tab, so the previous messages were cleared.`)}#Ae(){return this.#J?(this.#Y||=this.#je().finally(()=>{this.#Y=null}),this.#Y):Promise.resolve()}async#je(){if(!this.isClientTokenMode())this.#J=!1;else try{this.bindActivatedSession(await this.client.initSession()),this.#J=!1}catch{}}reconcileBootConversation(e){let t=this.#de,n=this.clientSession?.conversationId??this.config.getStoredConversationId?.()??this.#k;if(!t||!n)return Promise.resolve();let r=this.#pe(e?.scope);this.#R=!0,this.#me();let i=this.#Me(t,n,r).finally(()=>{this.#R=this.#L!==null,this.#z===i&&(this.#z=null),this.#me()});return this.#z=i,i}async#Me(e,t,n){this.#k=t;let r=this.clientSession?.conversationRevision??this.#A??null,i=this.#G?this.#W:this.historyInternals.getStoredConversationRevision?.()??null;if(this.#G=!1,this.#j=this.historyInternals.getStoredMessageCursor?.()??this.#j,await this.replayPendingProjections(),r&&i&&r===i){this.#A=r;return}let a=await e.getPage(t,{context:n}),o=this.#ve(a.messages),s=new Set(a.messages.map(e=>e.id)),c=this.messages.some(e=>s.has(e.id)),l=a.messages[0]?.createdAt,u;if(!c)u=o.map(e=>this.#Ft(e));else{let e=this.#u?this.#d:null,t=this.messages.filter(t=>s.has(t.id)||t.id===e?!0:l!==void 0&&t.createdAt<l);u=Lt(t,o).map(e=>this.#Ft(e))}this.#j=a.nextCursor,this.#A=a.conversationRevision||r||null,this.#H.clear();for(let e of a.messages)this.#H.set(e.id,e.content);this.#we(),this.#t=void 0,this.messages=this.#Rt(u),this.callbacks.onMessagesChanged([...this.messages])}#Ne(){return this.config.features?.history?.enabled===!0&&this.isClientTokenMode()}#Pe(e){this.#U=e,this.historyInternals.setPendingDisplayProjections?.(e)}#Fe(){return this.historyInternals.getPendingDisplayProjections?.()??this.#U}#Ie(e){if(this.#Ne())for(let t of e){let e=Rt(t);e!==void 0&&this.#H.set(t.id,e)}}#Le(){if(!this.#Ne())return;let e=this.#k;if(!e)return;let t=[];for(let e of this.messages){if(e.role!==`assistant`||e.streaming)continue;let n=Rt(e);n!==void 0&&this.#H.get(e.id)!==n&&t.push({id:e.id,displayContent:n})}t.length!==0&&(this.#Pe({conversationId:e,messageIds:t.map(e=>e.id)}),this.#Re(e,t))}#Re(e,t){let n=(this.#V??Promise.resolve()).catch(()=>{}).then(()=>this.#ze(e,t,!1)).finally(()=>{this.#V===n&&(this.#V=null)});this.#V=n}async#ze(e,t,n){if(this.#k!==e)return;let r=t.filter(e=>this.#H.get(e.id)!==e.displayContent);if(r.length===0)this.#Ve(e,t);else try{let{conversationRevision:n}=await this.client.finalizeDisplayProjections(e,r);for(let e of r)this.#H.set(e.id,e.displayContent);this.#k===e&&n&&(this.#A=n),this.#Ve(e,t)}catch(i){if(!n&&this.#Be(i)){await this.#ze(e,r,!0);return}if(i instanceof li&&(i.code===`not_found`||i.code===`conversation_deleted`)){this.#Ve(e,t);return}this.#he(`projection_finalization_failed`,`Some message formatting could not be saved for history; it will be retried.`)}}#Be(e){return e instanceof li?e.code===`request_failed`:e instanceof Error}#Ve(e,t){let n=this.#Fe();if(!n||n.conversationId!==e)return;let r=new Set(t.map(e=>e.id)),i=n.messageIds.filter(e=>!r.has(e));this.#Pe(i.length?{conversationId:e,messageIds:i}:null)}async replayPendingProjections(){if(!this.#Ne())return;let e=this.#Fe();if(!e)return;if(this.#k&&e.conversationId!==this.#k){this.#Pe(null);return}let t=[];for(let n of e.messageIds){let e=this.messages.find(e=>e.id===n);e&&typeof e.content==`string`&&t.push({id:n,displayContent:e.content})}t.length===0?this.#Pe(null):(this.#Re(e.conversationId,t),await this.#V?.catch(()=>{}))}#He(){this.#k&&(this.#A=null,this.historyInternals.setStoredConversationRevision?.(null))}async#Ue(){await this.awaitHistorySettled(),await this.#Ae(),this.#L===`new_conversation_required`&&await this.#Se()}static#We(e){return e instanceof li&&e.code===`conversation_deleted`}async#Ge(t,n,r,i,a){let o=this.#e,s=e=>{this.#e===o&&this.handleEvent(e)};this.#Ie(t);try{await this.client.dispatch({messages:t,signal:n.signal,assistantMessageId:r,composerOptions:a?.composerOptions,interrupt:a?.interrupt,voiceSpoken:a?.voiceSpoken,voicePriorToolResults:a?.voicePriorToolResults},s);return}catch(t){if(n.signal.aborted||this.#e!==o||!e.#We(t))throw t;let c=await this.#Ke(i);if(!c)throw t;this.#Ie([c]),await this.client.dispatch({messages:[c],signal:n.signal,assistantMessageId:r,composerOptions:a?.composerOptions,voiceSpoken:a?.voiceSpoken,voicePriorToolResults:a?.voicePriorToolResults},s)}}async#Ke(e){let t=this.messages.find(t=>t.id===e);if(!t)return null;let n={...t};this.#M+=1,this.#N+=1,this.#V=null,this.#Ee(!0),this.#k=null,this.#A=null,this.#j=null,this.#I=!0;try{let e=this.#de;if(e){let t=await e.prepareStartNew({context:this.#pe()});await this.#ye(t,!0)}else{this.client.clearClientSession();let e=await this.client.initSession();this.bindActivatedSession(e)}}catch{return this.#R=!0,this.#L=`new_conversation_required`,this.#me(),this.#he(`new_conversation_required`,`That conversation was deleted. Start a new conversation to continue.`),null}finally{this.#I=!1}return this.#Pt(n),this.#kt(!0),this.#he(`conversation_deleted_recovered`,`That conversation was deleted. Started a new conversation.`),this.messages.find(e=>e.id===n.id)??n}updateConfig(e){let t=this.config.features?.artifacts?.display,n={...this.config,...e},r=H(this.config,n),i=Ki(this.config,n);i&&(this.cancel(),this.#ut()),this.config=n,r&&(this.cleanupVoice(),n.voiceRecognition?.enabled===!0&&kr(n)&&this.setupVoice());let a=JSON.stringify(t)!==JSON.stringify(n.features?.artifacts?.display);if(!i){this.client.updateConfig(n),a&&this.#at();return}this.#rt(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear();let o=this.client.getSSEEventCallback();this.#M+=1,this.#N+=1,this.client=new fi(this.config,this.historyInternals),a&&this.#at(),this.#Xe(),o&&this.client.setSSEEventCallback(o)}getMessages(){return[...this.messages]}getStatus(){return this.status}getRunActivity(){return this.#t}isStreaming(){return this.streaming}injectTestEvent(e){this.handleEvent(e)}injectMessage(e){let t=this.#qe(e);return this.upsertMessage(t),t}#qe(e){let{role:t,content:n,llmContent:r,contentParts:i,id:a,createdAt:o,sequence:s,streaming:c=!1,voiceProcessing:l,voiceCaption:u,rawContent:d}=e;return{id:a??(t===`user`?lt():t===`assistant`?ut():`${t===`operator`?`operator`:`system`}-${Date.now()}-${Math.random().toString(16).slice(2)}`),role:t,content:n,createdAt:o??(/* @__PURE__ */ new Date()).toISOString(),sequence:s??this.#It(),streaming:c,...r!==void 0&&{llmContent:r},...i!==void 0&&{contentParts:i},...l!==void 0&&{voiceProcessing:l},...u&&{voiceCaption:u},...d!==void 0&&{rawContent:d},...e.dispatchError!==void 0&&{dispatchError:e.dispatchError},...e.author!==void 0&&{author:{...e.author}}}}injectAssistantMessage(e){return this.injectMessage({...e,role:`assistant`})}injectUserMessage(e){return this.injectMessage({...e,role:`user`})}injectSystemMessage(e){return this.injectMessage({...e,role:`system`})}injectMessageBatch(e){let t=e.map(e=>this.#qe(e));return this.messages=this.#Rt([...this.messages,...t]),this.callbacks.onMessagesChanged([...this.messages]),t}injectComponentDirective(e){let{component:t,props:n={},text:r=``,llmContent:i,id:a,createdAt:o,sequence:s}=e,c={text:r,component:t,props:n};return this.injectMessage({role:`assistant`,content:r,rawContent:JSON.stringify(c),...i!==void 0&&{llmContent:i},...a!==void 0&&{id:a},...o!==void 0&&{createdAt:o},...s!==void 0&&{sequence:s}})}updateComponentProps(e,t){let n=this.messages.find(t=>t.id===e),r=n&&Ni(n);return!n||n.role!==`assistant`||n.variant||!r?!1:(this.upsertMessage({...n,rawContent:JSON.stringify({text:n.content,component:r.component,props:t})}),!0)}removeComponentMessage(e){let t=this.messages.find(t=>t.id===e);return!t||t.role!==`assistant`||t.variant||!Ni(t)?!1:(this.messages=this.messages.filter(t=>t.id!==e),this.callbacks.onMessagesChanged([...this.messages]),!0)}async#Je(e,t,n){let r;try{r=await n()}catch{return}let i=r.blocks.join(`
|
|
6
6
|
|
|
7
7
|
`),a=[i,t].filter(Boolean).join(`
|
|
8
8
|
|
|
9
|
-
`),o=Array.isArray(e.contentParts)&&e.contentParts.length>0,s=r.contentParts.length>0;if(o){let t=[];i&&t.push(kt(i)),t.push(...r.contentParts),t.push(...e.contentParts),e.contentParts=t}else if(s){let t=[];a&&t.push(kt(a)),t.push(...r.contentParts),e.contentParts=t}else i&&(e.llmContent=a);Object.keys(r.context).length>0&&(e.mentionContext=r.context)}async sendMessage(e,t){let n=e.trim(),r=!!t?.replayFields&&(t.replayFields.llmContent!==void 0||t.replayFields.rawContent!==void 0||(t.replayFields.contextMentions?.length??0)>0);if(!n&&(!t?.contentParts||t.contentParts.length===0)&&(!t?.mentions||t.mentions.refs.length===0)&&!r)return;this.#re&&!t?.voiceTurn&&(this.#re.failed=!0,this.#re=null),(this.#z||this.#V||this.#R||this.#J)&&await this.#Ue(),this.stopSpeaking(),this.client.cancelStreams(),this.abortController?.abort(),this.#i(),this.#rt(),this.#Qe++,this.#Tt();let i=t?.voiceTurn?.userMessageId,a=i?this.messages.find(e=>e.id===i&&e.role===`user`):void 0,o=a?.id??ut(),s=dt();this.#d=null;let c=t?.contentParts&&Mt(t.contentParts)?Nt:``,l={id:o,role:`user`,content:n||c,createdAt:(/* @__PURE__ */ new Date()).toISOString(),sequence:this.#It(),viaVoice:t?.viaVoice||!1,...t?.contentParts&&t.contentParts.length>0&&{contentParts:t.contentParts},...t?.mentions&&t.mentions.refs.length>0&&{contextMentions:t.mentions.refs},...t?.contentSegments&&t.contentSegments.length>0&&{contentSegments:t.contentSegments},...t?.composerOptions&&{composerOptions:t.composerOptions},...t?.replayFields??{}};a?(a.viaVoice=!0,delete a.voiceCaption,a.content.trim()!==n&&(a.llmContent=n),this.callbacks.onMessagesChanged([...this.messages])):this.#Pt(l),this.#kt(!0);let u=new AbortController;this.abortController=u;let d=this.#e;if(t?.mentions){let e=this.messages.find(e=>e.id===o)??l;if(await this.#Je(e,n,t.mentions.finalize),u.signal.aborted||this.abortController!==u)return;this.callbacks.onMessagesChanged([...this.messages])}if(t?.quote&&!t.replayFields){let e=this.messages.find(e=>e.id===o)??l,n=wi({quote:t.quote,text:e.llmContent??e.content,contentParts:e.contentParts});n.contentParts&&(e.contentParts=n.contentParts),n.llmContent!==void 0&&(e.llmContent=n.llmContent),(n.contentParts||n.llmContent!==void 0)&&(e.quote={...t.quote},this.callbacks.onMessagesChanged([...this.messages]))}let f=(/* @__PURE__ */ new Date()).toISOString(),p=a?[...this.messages.filter(e=>e!==a),{...a,createdAt:f}]:[...this.messages],m=(a??this.messages.find(e=>e.id===o))?.createdAt??f,h=xi(t?.voiceTurn?.priorToolResults,m);for(let e of h)this.messages.some(t=>t.id===e.id)||(this.#Pt(e),p.push({...e,createdAt:f}));let g=h.map(({agentMetadata:e})=>{let{toolCallId:t,toolName:n,args:r,result:i}=e.clientToolAnswer;return{toolCallId:t,name:n,arguments:r,result:i}});try{await this.#Ge(p,u,s,o,{composerOptions:t?.composerOptions,interrupt:t?.interrupt,voiceSpoken:!!t?.voiceTurn,...g.length>0&&{voicePriorToolResults:g}})}catch(e){if(this.#e!==d||this.status===`resuming`||this.#f)return;this.#re&&(this.#re.failed=!0);let t=e instanceof Error&&(e.name===`AbortError`||e.message.includes(`aborted`)||e.message.includes(`abort`));t||this.#At(e),this.#Ot(`idle`),this.#kt(!1),this.abortController=null,this.#a(t?`cancel`:`error`,d),t||(e instanceof Error?this.callbacks.onError?.(e):this.callbacks.onError?.(Error(String(e))))}}resubmitFrom(e,t){let n=Ei(this.messages,e);if(!n||!Di(this.messages,e))return!1;let r=this.messages[n.start],i=t.replacement,a=i?i.text:r.content,o=i?i.contentParts:r.contentParts;if(!(a?.trim()||(o?.length??0)>0||!i&&(r.llmContent?.trim()?.length??0)>0))return!1;let s=i?void 0:{...r.llmContent!==void 0&&{llmContent:r.llmContent},...r.rawContent!==void 0&&{rawContent:r.rawContent},...r.mentionContext&&{mentionContext:r.mentionContext},...r.contextMentions&&{contextMentions:r.contextMentions},...r.quote&&{quote:r.quote}},c=i?this.#Ye(i.options):r.composerOptions,l=i?i.contentSegments:r.contentSegments,u=i?i.options?.quote:void 0,d=i?i.viaVoice:r.viaVoice;return this.cancel(),this.messages=this.messages.slice(0,n.start),this.sendMessage(a??``,{...o?.length?{contentParts:[...o]}:{},...l?.length?{contentSegments:[...l]}:{},...c?{composerOptions:c}:{},...u?{quote:u}:{},...s&&Object.keys(s).length>0?{replayFields:s}:{},viaVoice:d===!0}),!0}#Ye(e){if(!e)return;let t={};return e.selectedModelId&&(t.selectedModelId=e.selectedModelId),e.activeModeIds?.length&&(t.activeModeIds=[...e.activeModeIds]),Object.keys(t).length>0?t:void 0}async continueConversation(){if(this.streaming)return;(this.#z||this.#V||this.#R||this.#J)&&await this.#Ue(),this.abortController?.abort(),this.#Tt(),this.#i();let e=dt();this.#d=null,this.#kt(!0);let t=new AbortController;this.abortController=t;let n=this.#e,r=[...this.messages];try{await this.client.dispatch({messages:r,signal:t.signal,assistantMessageId:e},e=>{this.#e===n&&this.handleEvent(e)})}catch(e){if(this.#e!==n||this.status===`resuming`||this.#f)return;let t=e instanceof Error&&(e.name===`AbortError`||e.message.includes(`aborted`)||e.message.includes(`abort`));t||this.#At(e),this.#a(t?`cancel`:`error`,n),this.#Ot(`idle`),this.#kt(!1),this.abortController=null,t||(e instanceof Error?this.callbacks.onError?.(e):this.callbacks.onError?.(Error(String(e))))}}async connectStream(e,t){if(this.streaming&&!t?.allowReentry)return;this.#e||this.#i(),t?.allowReentry||this.abortController?.abort(),t?.preserveAssistantId&&t.assistantMessageId&&(this.#d=t.assistantMessageId);let n=t?.preserveAssistantId?t.assistantMessageId:void 0,r=!1;for(let e of this.messages)e.streaming&&e.id!==n&&(e.streaming=!1,r=!0);r&&this.callbacks.onMessagesChanged([...this.messages]),this.#kt(!0);let i=this.#e,a={};try{await this.client.processStream(e,e=>{if(this.#e!==i)return;let n=this.#c;this.#c=a;try{this.handleEvent(e,t?.readOnlyReplay)}finally{this.#c=n}},t?.assistantMessageId,t?.seedContent,this.abortController?.signal,t?.readOnlyReplay?this.messages:void 0,t?.readOnlyReplay?this.#p:void 0),this.#jt(a)}catch(e){if(this.#e!==i)return;if(this.status===`resuming`||this.#f){this.#Mt(a);return}this.#jt(a),this.#Ot(`error`),this.webMcpResolveControllers.size===0&&(this.#kt(!1),this.abortController=null),this.callbacks.onError?.(e instanceof Error?e:Error(String(e)))}}#Xe(){let e=this.config.webmcp;e?.enabled===!0&&!e.onConfirm&&this.client.setWebMcpConfirmHandler(e=>this.requestWebMcpApproval(e))}requestWebMcpApproval(e){try{if(this.config.webmcp?.autoApprove?.(e)===!0)return Promise.resolve(!0)}catch{}if(e.signal?.aborted)return Promise.resolve(!1);let t;do t=`webmcp-${++this.#S}`;while(this.messages.some(e=>e.id===`approval-${t}`||e.approval?.id===t));let n={id:t,status:`pending`,agentId:``,executionId:``,toolName:e.toolName,...e.toolCallId?{toolCallId:e.toolCallId}:{},toolType:`webmcp`,description:e.description??`Allow the assistant to run ${e.toolName}?`,parameters:e.args},r=`approval-${n.id}`;return this.upsertMessage({id:r,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!1,variant:`approval`,approval:n}),new Promise(t=>{this.webMcpApprovalResolvers.set(r,t),e.signal?.addEventListener(`abort`,()=>this.resolveWebMcpApproval(r,`timeout`),{once:!0})})}resolveWebMcpApproval(e,t){let n=this.webMcpApprovalResolvers.get(e);if(!n)return;this.webMcpApprovalResolvers.delete(e);let r=this.messages.find(t=>t.id===e);r?.approval&&this.upsertMessage({...r,approval:{...r.approval,status:t,resolvedAt:Date.now()}}),n(t===`approved`)}#Ze;#Qe;#$e(e){let t=this.#Ze??={s:this,setStreaming:e=>this.#kt(e),appendMessage:e=>this.#Pt(e),nextSequence:()=>this.#It(),settleApprovalPausedToolCall:e=>this.#Nt(e),resumeAfter:e=>this.#u?.executionId===e?this.#u.lastEventId:void 0},n=yi();if(n)return e(n,t);let r=this.#Qe;return K().then(n=>r===this.#Qe?e(n,t):void 0,e=>{this.callbacks.onError?.(e instanceof Error?e:Error(String(e)))})}resolveApproval(e,t,n){return this.#$e((r,i)=>r.resolveApproval(i,e,t,n))}resolveAskUserQuestion(e,t){return this.#$e((n,r)=>n.resolveAskUserQuestion(r,e,t))}resolveWebMcpToolCall(e){return this.#$e((t,n)=>t.resolveWebMcpToolCall(n,e))}persistAskUserQuestionProgress(e,t){let n=this.messages.find(t=>t.id===e.id);n&&this.upsertMessage({...n,agentMetadata:{...n.agentMetadata,askUserQuestionAnswers:t.answers,askUserQuestionIndex:t.currentIndex}})}markAskUserQuestionResolved(e,t){let n=this.messages.find(t=>t.id===e.id);n&&this.upsertMessage({...n,agentMetadata:{...n.agentMetadata,awaitingLocalTool:!1,askUserQuestionAnswered:!0,...t?{askUserQuestionAnswers:t}:{}}})}#et(e){let t=e.agentMetadata?.executionId,n=e.toolCall?.id;if(!t||!n){let t=this.#x;queueMicrotask(()=>{t===this.#x&&this.resolveWebMcpToolCall(e)});return}let r=this.webMcpAwaitBatches.get(t);r||(r={snapshots:[],seen:/* @__PURE__ */ new Set},this.webMcpAwaitBatches.set(t,r)),!r.seen.has(n)&&(r.seen.add(n),r.snapshots.push(e))}#tt(){if(this.webMcpAwaitBatches.size===0)return;let e=this.#x;queueMicrotask(()=>{if(e===this.#x)for(let e of[...this.webMcpAwaitBatches.keys()])this.#nt(e)})}#nt(e){let t=this.webMcpAwaitBatches.get(e);if(!t)return;this.webMcpAwaitBatches.delete(e);let{snapshots:n}=t;n.length===1?this.resolveWebMcpToolCall(n[0]):n.length>1&&this.#$e((t,r)=>t.resolveWebMcpToolCallBatch(r,e,n))}#rt(){for(let e of this.webMcpResolveControllers)e.abort();this.webMcpResolveControllers.clear();for(let e of[...this.webMcpApprovalResolvers.keys()])this.resolveWebMcpApproval(e,`denied`);this.webMcpAwaitBatches.clear(),this.#x++}cancel(){this.client.cancelStreams(),this.abortController?.abort(),this.abortController=null,this.#Tt(),this.#rt(),this.#Qe++,this.webMcpInflightKeys.clear(),this.stopSpeaking(),this.stopVoicePlayback(),this.#kt(!1),this.#Ot(`idle`),this.#a(`cancel`)}clearMessages(){this.client.cancelStreams(),this.#ut(),this.stopSpeaking(),this.abortController?.abort(),this.abortController=null,this.#Tt(),this.#rt(),this.#Qe++,this.#t=void 0,this.messages=[],this.agentExecution=null,this.#ot(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear(),this.client.resetClientToolsFingerprint(),this.#kt(!1),this.#Ot(`idle`),this.callbacks.onMessagesChanged([...this.messages]),this.#a(`cancel`)}getArtifacts(){return[...this.artifacts.values()]}getArtifactById(e){return this.artifacts.get(e)}getSelectedArtifactId(){return this.#b}selectArtifact(e){this.#b=e,this.#st()}clearArtifacts(){this.#ot()}upsertArtifact(e){let t=e.id||`art_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,n=e.artifactType===`markdown`?{id:t,artifactType:`markdown`,title:e.title,status:`complete`,markdown:e.content,...e.file?{file:e.file}:{},...e.presentation?{presentation:e.presentation}:{}}:{id:t,artifactType:`component`,title:e.title,status:`complete`,component:e.component,props:e.props??{},...e.presentation?{presentation:e.presentation}:{}};return this.artifacts.set(t,n),this.#b=t,this.#st(),e.transcript!==!1&&this.#it(n),n}#it(e){let t=`artifact-ref-${e.id}`,n=xt(this.config.features?.artifacts,e),r=Ct(n,{artifactId:e.id,title:e.title,artifactType:e.artifactType,status:`complete`,...e.file?{file:e.file}:{},...e.presentation?{presentation:e.presentation}:{},...e.component?{component:e.component}:{},...e.props?{componentProps:e.props}:{},...e.markdown===void 0?{}:{markdown:e.markdown}}),i=this.messages.find(e=>e.id===t);i?(i.rawContent=r,i.streaming=!1,this.callbacks.onMessagesChanged([...this.messages])):this.injectAssistantMessage({id:t,content:``,rawContent:r})}#at(){let e=!1;for(let t of this.artifacts.values()){let n=this.messages.find(e=>e.id===`artifact-ref-${t.id}`);if(!n)continue;let r=xt(this.config.features?.artifacts,t),i=Ct(r,{artifactId:t.id,title:t.title,artifactType:t.artifactType,status:t.status,...t.file?{file:t.file}:{},...t.presentation?{presentation:t.presentation}:{},...t.component?{component:t.component}:{},...t.props?{componentProps:t.props}:{},...t.markdown===void 0?{}:{markdown:t.markdown}});n.rawContent!==i&&(n.rawContent=i,n.streaming=t.status===`streaming`,e=!0)}e&&this.callbacks.onMessagesChanged([...this.messages])}#ot(){(this.artifacts.size!==0||this.#b!==null)&&(this.artifacts.clear(),this.#b=null,this.#st())}#st(){this.callbacks.onArtifactsState?.({artifacts:[...this.artifacts.values()],selectedId:this.#b})}#ct(e){switch(e.type){case`artifact_start`:e.artifactType===`markdown`?this.artifacts.set(e.id,{id:e.id,artifactType:`markdown`,title:e.title,status:`streaming`,markdown:``,...e.file?{file:e.file}:{}}):this.artifacts.set(e.id,{id:e.id,artifactType:`component`,title:e.title,status:`streaming`,component:e.component??``,props:{}}),this.#b=e.id;break;case`artifact_delta`:{let t=this.artifacts.get(e.id);t?.artifactType===`markdown`&&(t.markdown=(t.markdown??``)+e.artDelta);break}case`artifact_update`:{let t=this.artifacts.get(e.id);t?.artifactType===`component`&&(t.props={...t.props,...e.props},e.component&&(t.component=e.component));break}case`artifact_complete`:{let t=this.artifacts.get(e.id);t&&(t.status=`complete`);break}default:return}this.#st()}hydrateMessages(e){this.client.cancelStreams(),this.abortController?.abort(),this.abortController=null,this.#Tt(),this.#rt(),this.#Qe++,this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear(),this.#t=void 0,this.messages=this.#Rt(e.map(e=>({...A(e),streaming:!1,sequence:e.sequence??this.#It()}))),this.#kt(!1),this.#Ot(`idle`),this.callbacks.onMessagesChanged([...this.messages]),this.#a(`cancel`)}hydrateArtifacts(e,t=null,n=!1){this.artifacts.clear();for(let t of e)this.artifacts.set(t.id,{...t,status:n?t.status:`complete`});this.#b=t,this.#st()}assertBackgroundSwitchable(){let e=this.config.backgroundConversations;if(e?.capabilities?.durableExecution!==!0||e.capabilities?.readOnlyReplay!==!0||typeof e.reconnectStream!=`function`)throw new Ji(`background_unavailable`,`This backend does not support background conversations`);if(this.config.parseSSEEvent)throw new Ji(`background_unavailable`,`Background replay requires the native event parser`);if(this.#_t()||this.webMcpResolveControllers.size||this.webMcpAwaitBatches.size||(this.streaming||this.#f)&&(!this.#u||!this.#k))throw new Ji(`conversation_busy`,`This turn cannot safely continue in the background`)}async#lt(){if(this.#h)return;let e=this.config.backgroundConversations,t=this.#N,{BackgroundConversationController:n}=await gi();if(t!==this.#N||e!==this.config.backgroundConversations)throw new Ji(`superseded`,`The history identity changed`);if(this.#h)return;this.#h=new n(e,e=>{this.#ft(e)});let r=!0;this.#g=this.#de?.subscribeIdentityStatus(()=>{r||(this.#h?.clear(),this.cancel())})??null,r=!1}#ut(){this.#h?.clear(),this.#h=null,this.#g?.(),this.#g=null}#dt(e){let t=this.#u?.executionId??this.agentExecution?.executionId,n=this.#k;if(!this.config.backgroundConversations||!t||!n)return;let r={conversationId:n,executionId:t,status:e,detached:!1};this.#ft(r)}#ft(e){try{this.config.onConversationExecutionState?.(e)}catch{}try{this.callbacks.onConversationExecutionState?.(e)}catch{}}#pt(){let e=this.config.backgroundConversations,t=this.#k;return e&&t?n=>e.reconnectStream({...n,conversationId:t}):this.config.reconnectStream}#mt(e){this.#i(e.handle.executionId),this.#d=e.handle.assistantMessageId;let t=this.messages.find(e=>e.id===this.#d);t&&(t.streaming=e.streamCheckpoint?.openAssistant??!0),this.#p=e.streamCheckpoint,this.agentExecution={executionId:e.handle.executionId,agentId:``,agentName:``,status:`running`,currentIteration:0,maxTurns:0},this.#u=e.handle,this.#Dt(!0),this.#dt(e.observedStatus??`running`),this.#vt()}#ht(e){let t=this.agentExecution?.executionId;if(!t||!this.#d||this.agentExecution?.status!==`running`)return;let n=this.#u===null;this.#u={executionId:t,lastEventId:e,assistantMessageId:this.#d,status:`running`},this.#Dt(n),n&&this.#dt(`running`)}#gt(){return this.#u!==null&&typeof this.#pt()==`function`&&this.abortController?.signal.aborted!==!0&&this.webMcpResolveControllers.size===0&&this.webMcpAwaitBatches.size===0&&!this.#_t()}#_t(){return this.messages.some(e=>e.agentMetadata?.awaitingLocalTool===!0&&e.agentMetadata?.askUserQuestionAnswered!==!0||e.variant===`approval`&&e.approval?.status===`pending`)}#vt(){this.#f||this.#u&&typeof this.#pt()==`function`&&(this.#f=!0,this.callbacks.onReconnect?.({phase:`paused`,handle:this.#u}),this.#kt(!0),this.#Ot(`resuming`),this.#yt().then(e=>{this.#f&&this.#u&&e.begin()}))}#yt(){return this.#_?Promise.resolve(this.#_):(this.#v||(this.#v=Gi().then(({createReconnectController:e})=>{let t=e(this.#bt());return this.#_=t,t}),this.#v.catch(()=>{this.#v=null})),this.#v)}#bt(){let e=this;return{get config(){return{...e.config,reconnectStream:e.#pt()}},getResumable:()=>e.#u,clearResumable:()=>e.#Et(),getStatus:()=>e.status,setStatus:t=>e.#Ot(t),setStreaming:t=>e.#kt(t),setReconnecting:t=>{e.#f=t},setAbortController:t=>{e.abortController=t},getMessages:()=>e.messages,isAwaitPending:()=>e.#_t(),notifyMessagesChanged:()=>e.callbacks.onMessagesChanged([...e.messages]),resumeConnect:(t,n,r)=>e.connectStream(t,{assistantMessageId:n,allowReentry:!0,preserveAssistantId:!0,seedContent:r,readOnlyReplay:!!e.config.backgroundConversations}),appendMessage:t=>e.#Pt(t),settleParked:t=>e.#xt(t),nextSequence:()=>e.#It(),emitReconnect:t=>e.callbacks.onReconnect?.(t),buildErrorContent:t=>Yi(Error(t),e.config.errorMessage),onError:t=>e.callbacks.onError?.(t)}}reconnectNow(){this.#f?this.#_?.wake():this.#vt()}resumeFromHandle(e){if(typeof this.config.reconnectStream!=`function`||this.#f)return;if(this.#i(e.executionId),this.#_t()){this.#St(e.executionId),this.#u={executionId:e.executionId,lastEventId:e.after,assistantMessageId:this.#d??``,status:`running`};return}let t=this.#Ct(e.executionId)?dt():this.#wt();t||(t=dt(),this.#Pt({id:t,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!0,sequence:this.#It()})),this.#d=t,this.#St(e.executionId),this.#u={executionId:e.executionId,lastEventId:e.after,assistantMessageId:t,status:`running`},this.#vt()}#xt(e){let t=this.webMcpResolveControllers.size>0||this.webMcpAwaitBatches.size>0;if(!t&&!this.#_t()){if(!this.#Ct(e))return!1;this.#Et()}if(this.#f=!1,!t){let e=!1;for(let t of this.messages)t.streaming&&(t.streaming=!1,e=!0);e&&this.callbacks.onMessagesChanged([...this.messages]),this.#kt(!1),this.abortController=null}return this.#Ot(`idle`),!0}#St(e){this.agentExecution||={executionId:e,agentId:``,agentName:``,status:`running`,currentIteration:0,maxTurns:0}}#Ct(e){return this.messages.some(t=>t.agentMetadata?.executionId===e&&[t.toolCall,...t.tools??[]].some(e=>e?.interrupted===!0))}#wt(){for(let e=this.messages.length-1;e>=0;e--){let t=this.messages[e];if(t.role===`assistant`&&!t.variant)return t.streaming=!0,this.callbacks.onMessagesChanged([...this.messages]),t.id;if(t.role===`user`)break}return null}#Tt(){this.#f=!1,this.#_?.teardown(),this.#Et()}#Et(){this.#y&&=(clearTimeout(this.#y),null);let e=this.#u!==null;this.#u=null,this.#p=void 0,e&&this.config.onExecutionState?.(null)}#Dt(e){let t=this.config.onExecutionState;t&&(e?(this.#y&&=(clearTimeout(this.#y),null),t(this.#u)):this.#y||=setTimeout(()=>{this.#y=null,this.config.onExecutionState?.(this.#u)},500))}getResumableHandle(){return this.#u}#Ot(e){e===`error`&&(this.#n=!0,this.#o()),this.status!==e&&(this.status=e,this.callbacks.onStatusChanged(e))}#kt(e){if(e||this.#o(),this.streaming===e)return;let t=this.streaming;this.streaming=e,this.callbacks.onStreamingChanged(e),t&&!e&&(this.#jt(void 0),this.speakLatestAssistantMessage())}speakLatestAssistantMessage(e){let t=this.config.textToSpeech;if(!t?.enabled||!(!t.provider||t.provider===`browser`||t.provider===`runtype`&&t.browserFallback))return;let n=[...this.messages].reverse().find(e=>e.role===`assistant`&&e.content&&!e.voiceProcessing);if(!n||e&&!e.includes(n.id))return;if(this.ttsSpokenMessageIds.has(n.id)){this.ttsSpokenMessageIds.delete(n.id);return}let r=zi(n.content);r.trim()&&this.readAloud.play(n.id,{text:r,voice:t.voice,rate:t.rate,pitch:t.pitch})}static pickBestVoice(e){return Fi(e)}toggleReadAloud(e){let t=this.messages.find(t=>t.id===e);if(!t||t.role!==`assistant`)return;let n=zi(t.content||``);if(!n.trim())return;let r=this.config.textToSpeech;this.readAloud.toggle(e,{text:n,voice:r?.voice,rate:r?.rate,pitch:r?.pitch})}getReadAloudState(e){return this.readAloud.stateFor(e)}onReadAloudChange(e){return this.readAloud.onChange(e)}stopSpeaking(){this.readAloud.stop(),typeof window<`u`&&`speechSynthesis`in window&&window.speechSynthesis.cancel()}#At(e){for(let e of this.messages)e.streaming=!1;let t=Yi(e,this.config.errorMessage);t?this.#Pt({id:dt(),role:`assistant`,content:t,dispatchError:!0,localOnly:!0,createdAt:(/* @__PURE__ */ new Date()).toISOString(),sequence:this.#It()}):this.callbacks.onMessagesChanged([...this.messages])}#jt(e){for(let[t,n]of[...this.#s])n===e&&(this.#s.delete(t),this.#Nt(t))}#Mt(e){for(let[t,n]of this.#s)n===e&&this.#s.set(t,void 0)}#Nt(e){let t=this.messages.find(t=>t.id===e)?.approval,n=t?.toolCallId,r=n&&this.messages.find(e=>e.toolCall?.id===n),i=r&&r.toolCall;if(!i||i.status===`complete`||t.status===`pending`)return;let a={...i,status:`complete`,approvalStatus:t.status,completedAt:Date.now(),...t.status===`approved`?{superseded:!0}:{success:!1,error:t.status===`denied`?`Denied`:`Approval timed out`}};this.upsertMessage({...r,streaming:!1,toolCall:a})}#Pt(e){let t=this.#Ft(e),n=this.messages[this.messages.length-1];this.messages=!n||this.#Lt(n,t)<=0?[...this.messages,t]:this.#Rt([...this.messages,t]),this.callbacks.onMessagesChanged([...this.messages])}upsertMessage(e){let t=this.#Ft(e),n=this.messages.findIndex(e=>e.id===t.id);if(n===-1){this.#Pt(t);return}this.messages=this.messages.map((e,r)=>{if(r!==n||e.toolCall?.name&&it(e.toolCall.name)&&e.toolCall.status===`complete`&&t.toolCall?.id===e.toolCall.id&&t.toolCall.status!==`complete`&&(t.toolCall.status===`pending`&&!t.toolCall.name||!e.toolCall.interrupted&&(e.toolCall.result!==void 0||e.toolCall.success!==void 0)&&(!t.agentMetadata?.executionId||t.agentMetadata.executionId===e.agentMetadata?.executionId)))return e;let i={...e,...t};e.agentMetadata?.askUserQuestionAnswered===!0&&t.agentMetadata&&(i.agentMetadata={...t.agentMetadata,askUserQuestionAnswered:!0,...e.agentMetadata.askUserQuestionAnswers?{askUserQuestionAnswers:e.agentMetadata.askUserQuestionAnswers}:{},awaitingLocalTool:!1}),e.agentMetadata?.suggestRepliesResolved===!0&&t.agentMetadata&&(i.agentMetadata={...i.agentMetadata??t.agentMetadata,suggestRepliesResolved:!0,awaitingLocalTool:!1});let a=e.agentMetadata?.clientToolAnswer;if(a&&i.agentMetadata&&!i.agentMetadata.clientToolAnswer&&(i.agentMetadata={...i.agentMetadata,clientToolAnswer:a}),e.approval&&t.approval&&e.approval.id===t.approval.id){let n=e.approval,r=t.approval;i.approval={...n,...r,executionId:r.executionId||n.executionId,toolCallId:r.toolCallId||n.toolCallId,toolName:r.toolName||n.toolName,description:r.description||n.description,toolType:r.toolType??n.toolType,reason:r.reason??n.reason,parameters:r.parameters??n.parameters}}let o=t.toolCall?.name,s=t.agentMetadata?.executionId,c=t.toolCall?.id;if(o&&Xi(o)&&s&&c&&t.agentMetadata?.awaitingLocalTool===!0){let t=`${s}:${c}`,n=this.webMcpInflightKeys.has(t),r=this.webMcpResolvedKeys.has(t),a=e.toolCall?.name,o=e.agentMetadata?.executionId===s&&e.toolCall?.id===c&&a!==void 0&&Xi(a)&&e.toolCall?.status===`complete`&&!e.toolCall.interrupted;(n||r||o)&&(i.agentMetadata={...i.agentMetadata??{},awaitingLocalTool:!1},i.toolCall=e.toolCall,i.streaming=e.streaming)}return i});let r=this.messages[n],i=this.messages[n-1],a=this.messages[n+1];(i&&this.#Lt(i,r)>0||a&&this.#Lt(r,a)>0)&&(this.messages=this.#Rt(this.messages)),this.callbacks.onMessagesChanged([...this.messages])}#Ft(e){return e.sequence===void 0?{...e,sequence:this.#It()}:{...e}}#It(){return this.#l++}#Lt(e,t){let n=new Date(e.createdAt).getTime(),r=new Date(t.createdAt).getTime();if(!Number.isNaN(n)&&!Number.isNaN(r)&&n!==r)return n-r;let i=e.sequence??0,a=t.sequence??0;return i===a?e.id.localeCompare(t.id):i-a}#Rt(e){return[...e].sort((e,t)=>this.#Lt(e,t))}};function Qi(e){let t=k(`div`,`persona-attachment-preview persona-relative persona-inline-block`),n=e,r=``,i=()=>{let{state:e}=n,r=n.config.attachments?.preview,i=e.kind===`image`,a=i?r?.image:r?.file,o=i?r?.image?.layout??`thumbnail`:r?.file?.layout??`tile`;if(t.dataset.kind=e.kind,t.dataset.layout=o,t.dataset.fileIcon=String(r?.file?.icon!==!1),t.dataset.iconPlacement=r?.file?.iconPlacement??`start`,t.dataset.removeVisibility=a?.remove?.visibility??`always`,t.dataset.removePlacement=a?.remove?.placement??`overlap`,t.replaceChildren(),i&&e.previewUrl){let n=O(`img`,{className:`persona-attachment-image`,attrs:{src:e.previewUrl,alt:e.name},style:{objectFit:r?.image?.fit??`cover`}}),i=r?.image?.name??`hidden`;if(o===`chip`||i!==`hidden`){let r=k(`div`,`persona-attachment-image-card`);r.append(n),i!==`hidden`&&r.append(O(`span`,{className:`persona-attachment-file-name`,text:i===`basename`?e.name.replace(/\.[^.]+$/,``):e.name})),t.append(r)}else t.append(n)}else{let n=k(`div`,`persona-attachment-file`),i=e.mimeType,a=i.includes(`spreadsheet`)||i.includes(`excel`)?wn:i===`application/json`?Cn:i===`application/pdf`||i.startsWith(`text/`)||i.includes(`word`)?Tn:Sn,o=(r?.file?.iconName?T(r.file.iconName,20,`currentColor`,1.5):null)??b(a,20,`currentColor`,1.5);o&&r?.file?.icon!==!1&&(o.classList.add(`persona-attachment-file-icon`),n.append(o));let s=k(`div`,`persona-attachment-file-copy`),c=r?.file?.name??`hidden`;c!==`hidden`&&s.append(O(`span`,{className:`persona-attachment-file-name`,text:c===`basename`?e.name.replace(/\.[^.]+$/,``):e.name}));let l=r?.file?.metadata,u=l===`size`?e.size<1024?`${e.size} B`:e.size<1048576?`${Math.round(e.size/1024)} KB`:`${(e.size/1048576).toFixed(1)} MB`:l===`line-count`&&e.lineCount!==void 0?`${e.lineCount} ${e.lineCount===1?`line`:`lines`}`:``;u&&s.append(O(`span`,{className:`persona-attachment-file-metadata`,text:u})),s.childNodes.length&&n.append(s);let d=r?.file?.badge??`type`;d!==`none`&&n.append(O(`span`,{className:`persona-attachment-file-badge`,text:d===`extension`?e.name.match(/\.([^.]+)$/)?.[1].toUpperCase()??At(i,e.name):At(i,e.name)})),t.append(n)}let s=O(`div`,{className:`persona-attachment-status`,attrs:{"data-persona-attachment-status":``}}),c=k(`div`,`persona-attachment-progress`);c.append(k(`div`,`persona-attachment-progress__bar`));let l=O(`button`,{className:`persona-attachment-retry`,attrs:{type:`button`,"aria-label":`Retry upload`}}),u=T(`rotate-cw`,12,`#ffffff`,2);u?l.append(u):l.textContent=`↻`,l.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),n.actions.retry()}),s.append(c,l);let d=O(`button`,{className:`persona-attachment-remove`,attrs:{type:`button`,"aria-label":`Remove attachment`}}),f=b(Dn,10,`currentColor`,2);f?d.append(f):d.textContent=`×`,d.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),n.actions.remove()}),t.append(s),((a?.remove?.placement===`inline`?t.querySelector(`.persona-attachment-file, .persona-attachment-image-card`):null)??t).append(d)},a=e=>{n=e;let{state:a}=n,o=JSON.stringify([n.config.attachments?.preview,a.lineCount,a.previewUrl]);r!==o&&(r=o,i()),t.dataset.status=a.status,t.setAttribute(`aria-busy`,String(a.status===`uploading`||a.status===`processing`)),t.title=a.status===`error`?`${a.name}: ${a.error??`Upload failed`}`:a.name;let s=t.querySelector(`.persona-attachment-progress__bar`);s&&(s.style.width=typeof a.progress==`number`?`${Math.round(a.progress*100)}%`:``)};return a(e),{element:t,update:a}}const $i={add:e=>Pt(e)},q=e=>Number.isFinite(e)?Math.min(1,Math.max(0,e)):0,ea={allowedTypes:Ft,maxFileSize:10485760,maxFiles:4};function ta(){return`attach_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}var na=class e{#e=[];#t;#n=/* @__PURE__ */ new Set;#r=/* @__PURE__ */ new Map;#i=null;#a=/* @__PURE__ */ new Map;#o=/* @__PURE__ */ new WeakMap;#s=!1;#c=!1;constructor(e={}){this.#t={allowedTypes:e.allowedTypes??ea.allowedTypes,maxFileSize:e.maxFileSize??ea.maxFileSize,maxFiles:e.maxFiles??ea.maxFiles,onFileRejected:e.onFileRejected,onAttachmentsChange:e.onAttachmentsChange,preview:e.preview,widgetConfig:e.widgetConfig,instanceId:e.instanceId,renderAttachmentPreview:e.renderAttachmentPreview,adapter:e.adapter}}#l(){return typeof this.#t.adapter?.add==`function`}#u(){return this.#l()?this.#t.adapter:$i}setPreviewsContainer(e){this.#i!==e&&this.#y(),this.#i=e}remountPreviews(e){if(this.#y(),this.#i=e,e){e.innerHTML=``;for(let e of this.#e)this.#g(e)}this.#x()}updateConfig(e){if(`allowedTypes`in e&&(this.#t.allowedTypes=e.allowedTypes?.length?e.allowedTypes:ea.allowedTypes),`maxFileSize`in e&&(this.#t.maxFileSize=e.maxFileSize??ea.maxFileSize),`maxFiles`in e&&(this.#t.maxFiles=e.maxFiles??ea.maxFiles),`onFileRejected`in e&&(this.#t.onFileRejected=e.onFileRejected),e.onAttachmentsChange!==void 0&&(this.#t.onAttachmentsChange=e.onAttachmentsChange),`adapter`in e&&(this.#t.adapter=e.adapter),`preview`in e&&(this.#t.preview=e.preview),`widgetConfig`in e&&(this.#t.widgetConfig=e.widgetConfig),`instanceId`in e&&(this.#t.instanceId=e.instanceId),`renderAttachmentPreview`in e&&e.renderAttachmentPreview!==this.#t.renderAttachmentPreview)this.#t.renderAttachmentPreview=e.renderAttachmentPreview,this.remountPreviews(this.#i);else for(let e of this.#e)this.#_(e),this.#b(e)}isReady(){return this.#e.every(e=>e.status===`ready`)}getAttachments(){return[...this.#e]}getContentParts(){return this.#e.map(e=>e.contentPart).filter(e=>e!==null)}hasAttachments(){return this.#e.length>0}count(){return this.#e.length}async handleFileSelect(e){e&&e.length!==0&&await this.handleFiles(Array.from(e))}async handleFiles(e){if(!e.length||this.#s)return;let t=[];for(let n of e){if(this.#e.length>=this.#t.maxFiles){this.#t.onFileRejected?.(n,`count`);continue}let e=jt(n,this.#t.allowedTypes,this.#t.maxFileSize);if(!e.valid){let t=e.error?.includes(`type`)?`type`:`size`;this.#t.onFileRejected?.(n,t);continue}let r={id:ta(),file:n,previewUrl:It(n)?URL.createObjectURL(n):null,contentPart:null,status:this.#l()?`uploading`:`processing`,progress:this.#l()?0:void 0};this.#e.push(r),this.#g(r),t.push(r),this.#b(r)}this.#x(),this.#m(),await Promise.all(t.map(e=>this.#d(e)))}async#d(e){let t=new AbortController;this.#a.set(e.id,t);let n=this.#u(),r=()=>this.#s||t.signal.aborted||this.#a.get(e.id)!==t||!this.#e.includes(e);try{let i=await n.add(e.file,{signal:t.signal,onProgress:t=>{r()||e.status!==`uploading`||(e.progress=q(t),this.#_(e),this.#m())}});if(r()){this.#s&&this.#c&&this.#p(i,n);return}this.#o.set(e,n),e.contentPart=i,e.status=`ready`,e.progress=void 0,e.error=void 0}catch(t){if(r())return;e.status=`error`,e.progress=void 0,e.error=t instanceof Error?t.message:String(t??`Upload failed`)}finally{this.#a.get(e.id)===t&&this.#a.delete(e.id)}this.#_(e),this.#m()}retryAttachment(e){let t=this.#e.find(t=>t.id===e);!t||t.status!==`error`||this.#s||(t.status=this.#l()?`uploading`:`processing`,t.progress=this.#l()?0:void 0,t.error=void 0,this.#_(t),this.#m(),this.#d(t))}#f(e){let t=this.#a.get(e);t&&(this.#a.delete(e),t.abort())}removeAttachment(e){let t=this.#e.findIndex(t=>t.id===e);if(t===-1)return;let n=this.#e[t];this.#f(e),n.previewUrl&&URL.revokeObjectURL(n.previewUrl),this.#e.splice(t,1),this.#v(e),this.#n.delete(e);let r=this.#i?.querySelector(`[data-attachment-id="${e}"]`);r&&r.remove(),n.status===`ready`&&n.contentPart&&this.#p(n.contentPart,this.#o.get(n)),this.#x(),this.#m()}async#p(e,t){try{await t?.remove?.(e,{signal:new AbortController().signal})}catch(e){console.error(`[AttachmentManager] adapter.remove failed:`,e)}}clearAttachments(){this.#y(),this.#n.clear();for(let e of this.#e)this.#f(e.id),e.previewUrl&&URL.revokeObjectURL(e.previewUrl);this.#e=[],this.#a.clear(),this.#i&&(this.#i.innerHTML=``),this.#x(),this.#m()}destroy(e){if(!this.#s){this.#s=!0,this.#y(),this.#c=e?.release===!0;for(let e of this.#a.values())e.abort();this.#a.clear();for(let e of this.#e)e.previewUrl&&URL.revokeObjectURL(e.previewUrl),this.#c&&e.status===`ready`&&e.contentPart&&this.#p(e.contentPart,this.#o.get(e));this.#e=[],this.#i=null}}#m(){this.#s||this.#t.onAttachmentsChange?.(this.getAttachments())}#h(e){let t={instanceId:this.#t.instanceId??``,state:Object.freeze({id:e.id,name:e.file.name,mimeType:e.file.type,size:e.file.size,status:e.status,progress:e.progress,error:e.error,lineCount:e.lineCount,kind:It(e.file)?`image`:`file`,previewUrl:e.previewUrl}),config:{...this.#t.widgetConfig,attachments:{...this.#t.widgetConfig?.attachments,preview:this.#t.preview}},actions:{remove:()=>this.removeAttachment(e.id),retry:()=>this.retryAttachment(e.id)},defaultRenderer:()=>Qi(t)};return t}#g(e){if(!this.#i)return;let t=this.#h(e),n=null;try{n=this.#t.renderAttachmentPreview?.(t)??null}catch(e){console.error(`[AttachmentManager] preview renderer failed:`,e)}n??=t.defaultRenderer();let r=n instanceof HTMLElement?{element:n}:n;r.element.dataset.attachmentId=e.id,this.#r.set(e.id,r),this.#i.appendChild(r.element)}#_(e){try{this.#r.get(e.id)?.update?.(this.#h(e))}catch(e){console.error(`[AttachmentManager] preview update failed:`,e)}}#v(e){let t=this.#r.get(e);if(t){this.#r.delete(e);try{t.destroy?.()}catch(e){console.error(`[AttachmentManager] preview cleanup failed:`,e)}finally{t.element.remove()}}}#y(){for(let e of this.#r.keys())this.#v(e)}async#b(e){let t=e.file;if(!this.#n.has(e.id)&&!(this.#t.preview?.file?.metadata!==`line-count`||t.size>1048576||![`text/plain`,`text/markdown`,`text/csv`,`application/json`].includes(t.type))){this.#n.add(e.id);try{let n=await new Promise((e,n)=>{let r=new FileReader;r.onload=()=>e(String(r.result??``)),r.onerror=()=>n(r.error),r.readAsText(t)});if(this.#s||!this.#e.includes(e)||n.includes(`\0`))return;e.lineCount=n===``?0:n.split(/\r\n|\r|\n/).length-+!!/\r?\n$|\r$/.test(n),this.#_(e)}catch{}}}#x(){this.#i&&(this.#i.style.display=this.#e.length>0?`flex`:`none`)}static fromConfig(t,n){return new e({allowedTypes:t?.allowedTypes,maxFileSize:t?.maxFileSize,maxFiles:t?.maxFiles,onFileRejected:t?.onFileRejected,onAttachmentsChange:n,preview:t?.preview,adapter:t?.adapter})}};const ra=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]),ia=(e,t)=>e.length===t.length&&e.every((e,n)=>{let r=t[n];return e.id===r.id&&e.name===r.name&&e.mimeType===r.mimeType&&e.size===r.size&&e.status===r.status&&e.progress===r.progress&&e.error===r.error});function aa(){let e={text:``,attachments:[],mentionRefs:[],selectedModelId:void 0,activeModeIds:[],quote:void 0,pendingSubmission:void 0,preparing:!1,streaming:!1,inputDisabled:!1,sendDisabled:!1},t=/* @__PURE__ */ new Set,n=null,r=!1,i=!1,a=()=>e.preparing?`preparing`:e.streaming?`streaming`:`idle`,o=()=>{let t=a();return Object.freeze({text:e.text,attachments:Object.freeze(e.attachments.map(e=>Object.freeze({...e}))),mentionRefs:Object.freeze([...e.mentionRefs]),selectedModelId:e.selectedModelId,activeModeIds:Object.freeze([...e.activeModeIds]),quote:e.quote?Object.freeze({...e.quote}):void 0,pendingSubmission:e.pendingSubmission,phase:t,inputDisabled:e.inputDisabled,sendDisabled:t!==`idle`||e.sendDisabled||e.inputDisabled})},s=()=>(n||=o(),n),c=()=>{if(r=!1,i||t.size===0)return;let e=s();for(let n of[...t])try{n(e)}catch(e){typeof console<`u`&&console.error(`[AgentWidget] composer state listener failed:`,e)}},l=()=>{n=null,!(i||r)&&(r=!0,queueMicrotask(c))};return{getState:s,subscribe:e=>(t.add(e),()=>t.delete(e)),setText:t=>{e.text!==t&&(e.text=t,l())},setAttachments:t=>{ia(e.attachments,t)||(e.attachments=[...t],l())},setMentionRefs:t=>{ra(e.mentionRefs,t)||(e.mentionRefs=[...t],l())},setSelectedModelId:t=>{e.selectedModelId!==t&&(e.selectedModelId=t,l())},setActiveModeIds:t=>{ra(e.activeModeIds,t)||(e.activeModeIds=[...t],l())},setQuote:t=>{let n=e.quote;(n?.text!==t?.text||n?.messageId!==t?.messageId||n?.sourceLabel!==t?.sourceLabel)&&(e.quote=t?{...t}:void 0,l())},setPendingSubmission:t=>{e.pendingSubmission!==t&&(e.pendingSubmission=t,l())},setPreparing:t=>{e.preparing!==t&&(e.preparing=t,l())},setStreaming:t=>{e.streaming!==t&&(e.streaming=t,l())},setInputDisabled:t=>{e.inputDisabled!==t&&(e.inputDisabled=t,l())},setSendDisabled:t=>{e.sendDisabled!==t&&(e.sendDisabled=t,l())},flush:()=>{r&&c()},destroy:()=>{i=!0,r=!1,t.clear()}}}const J=(e,...t)=>{for(let n of t){let t=e.querySelector(n);if(t)return t}return null},oa=(e,t)=>{let n=k(`div`,e);return n.setAttribute(t,``),n.setAttribute(`data-persona-composer-synthesized`,``),n.style.display=`contents`,n};function sa(e,t={}){let n=J(e,`[data-persona-composer-form]`),r=J(e,`[data-persona-composer-input]`);if(!n||!r){let e=`[Persona] composer surface is missing required element(s): ${[!n&&`form`,!r&&`input`].filter(Boolean).join(`, `)}. Mark them with data-persona-composer-form / data-persona-composer-input.`;if(t.debug&&(n||r))throw Error(e);return typeof console<`u`&&console.warn(e),null}let i={header:J(e,`[data-persona-composer-header]`),body:J(e,`[data-persona-composer-body]`),actionsStart:J(e,`[data-persona-composer-actions-start]`,`.persona-widget-composer__left-actions`),actionsEnd:J(e,`[data-persona-composer-actions-end]`,`.persona-widget-composer__right-actions`),actionsRow:J(e,`[data-persona-composer-actions]`,`.persona-widget-composer .persona-flex.persona-items-center.persona-justify-between`),suggestions:J(e,`[data-persona-composer-suggestions]`,`.persona-mb-3.persona-flex.persona-flex-wrap.persona-gap-2`),status:J(e,`[data-persona-composer-status]`)},a=/* @__PURE__ */ new Set,o=i.header;o||(a.add(`header`),o=oa(`persona-widget-composer__header`,`data-persona-composer-header`),n.parentNode?n.parentNode.insertBefore(o,n):e.appendChild(o));let s=i.body??r.parentElement??n,c=(e,t,n,r,i)=>{if(t)return t;a.add(e);let o=oa(n,r);return i.appendChild(o),o},l=c(`actionsStart`,i.actionsStart,`persona-widget-composer__left-actions`,`data-persona-composer-actions-start`,n),u=c(`actionsEnd`,i.actionsEnd,`persona-widget-composer__right-actions`,`data-persona-composer-actions-end`,n),d=c(`suggestions`,i.suggestions,`persona-widget-composer__suggestions`,`data-persona-composer-suggestions`,e),f=c(`status`,i.status,`persona-widget-composer__status`,`data-persona-composer-status`,e),p=[],m=(e,t)=>e.target===t.target&&e.type===t.type&&e.handler===t.handler,h=J(e,`[data-persona-composer-attachment-input]`,`input[type="file"]`)??void 0;return{footer:e,form:n,input:r,header:o,body:s,actionsStart:l,actionsEnd:u,suggestions:d,status:f,attachmentInput:h,attachmentPreviews:J(e,`[data-persona-composer-attachment-previews]`,`.persona-attachment-previews`)??void 0,attachmentButton:J(e,`[data-persona-composer-attachment-button]`,`.persona-attachment-button`)??void 0,sendButton:J(e,`[data-persona-composer-submit]`)??void 0,micButton:J(e,`[data-persona-composer-mic]`)??void 0,synthesized:a,found:i,addListener:(e,t,n,r)=>{e.addEventListener(t,n,r),p.push({target:e,type:t,handler:n,options:r})},removeListener:(e,t,n,r)=>{e.removeEventListener(t,n,r),p=p.filter(r=>!m(r,{target:e,type:t,handler:n}))},destroy:()=>{for(let e of p)e.target.removeEventListener(e.type,e.handler,e.options);p=[]}}}function ca(e){let t=O(`div`,{className:`persona-composer-quote`,attrs:{"data-persona-composer-quote":``}});t.style.display=`none`;let n=``,r=!1,i=n=>{let r=k(`span`,`persona-composer-quote-bar`),i=k(`div`,`persona-composer-quote-content`);if(n.sourceLabel){let e=k(`div`,`persona-composer-quote-source`);e.textContent=n.sourceLabel,i.appendChild(e)}let a=O(`div`,{className:`persona-composer-quote-text`,attrs:{"data-persona-composer-quote-text":``}});a.textContent=Ti(n.text),i.appendChild(a);let o=O(`button`,{className:`persona-composer-quote-dismiss`,attrs:{type:`button`,"aria-label":e.dismissLabel??`Remove quote`,"data-persona-composer-quote-dismiss":``}}),s=T(`x`,12,`currentColor`,2);s?o.appendChild(s):o.textContent=`×`,o.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),e.onDismiss()}),t.replaceChildren(r,i,o)};return{element:t,render:e=>{if(r)return;let a=e?`${e.sourceLabel??``}${e.text}`:``;a!==n&&(n=a,e?(i(e),t.style.display=`flex`):(t.replaceChildren(),t.style.display=`none`))},destroy:()=>{r=!0,t.replaceChildren(),t.remove()}}}function la(e){let t=O(`div`,{className:`persona-composer-pending`,attrs:{"data-persona-composer-pending":``}});t.style.display=`none`;let n,r=!1,i=(e,t,n,r)=>{let i=O(`button`,{className:`persona-composer-pending-action`,attrs:{type:`button`,"aria-label":t,[n]:``}}),a=T(e,12,`currentColor`,2);return a?i.appendChild(a):i.textContent=t,i.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),r()}),i},a=e=>{let t=Ti(e.text??``,90);if(t)return t;let n=e.contentParts?.length??0;return n>0?n===1?`1 attachment`:`${n} attachments`:(e.mentionRefs?.length??0)>0?e.mentionRefs.map(e=>e.label).join(`, `):`Queued message`};return{element:t,render:o=>{if(r||o===n)return;if(n=o,!o){t.replaceChildren(),t.style.display=`none`;return}let s=k(`span`,`persona-composer-pending-badge`);s.textContent=e.label??`Sends next`;let c=O(`div`,{className:`persona-composer-pending-text`,attrs:{"data-persona-composer-pending-text":``}});c.textContent=a(o),t.replaceChildren(s,c,i(`pencil`,e.editLabel??`Edit queued message`,`data-persona-composer-pending-edit`,e.onEdit),i(`x`,e.removeLabel??`Remove queued message`,`data-persona-composer-pending-remove`,e.onRemove)),t.style.display=`flex`},destroy:()=>{r=!0,t.replaceChildren(),t.remove()}}}function ua(e){let t=O(`div`,{className:`persona-message-edit`,attrs:{"data-persona-message-edit":e.messageId,"data-preserve-runtime":``}}),n=O(`textarea`,{className:`persona-message-edit-input`,attrs:{rows:`1`,dir:`auto`,"aria-label":`Edit message`,"data-persona-message-edit-input":``}});n.value=e.initialText;let r=()=>{n.style.height=`auto`,n.style.height=`${n.scrollHeight}px`};n.addEventListener(`input`,r);let i=k(`div`,`persona-message-edit-actions`),a=(e,t,n,r)=>{let i=O(`button`,{className:`persona-message-edit-button ${t}`,attrs:{type:`button`,[n]:``},text:e});return i.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),r()}),i},o=()=>{let t=n.value.trim();t&&e.onSave(t)};return i.append(a(e.cancelLabel??`Cancel`,`persona-message-edit-cancel`,`data-persona-message-edit-cancel`,e.onCancel),a(e.saveLabel??`Send`,`persona-message-edit-save`,`data-persona-message-edit-save`,o)),n.addEventListener(`keydown`,t=>{t.key===`Escape`?(t.preventDefault(),t.stopPropagation(),e.onCancel()):t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),o())}),t.append(n,i),{element:t,getValue:()=>n.value,focus:()=>{n.focus();let e=n.value.length;n.setSelectionRange(e,e),r()},destroy:()=>{t.replaceChildren(),t.remove()}}}function da(e){let t=e.text??``;if(t.trim().length>0||(e.mentionRefs?.length??0)>0||(e.activeModeIds?.length??0)>0||e.quote||e.selectedModelId)return{text:t,...e.mentionRefs?.length?{mentionRefs:[...e.mentionRefs]}:{},...e.contentSegments?.length?{contentSegments:[...e.contentSegments]}:{},...e.selectedModelId?{selectedModelId:e.selectedModelId}:{},...e.activeModeIds?.length?{activeModeIds:[...e.activeModeIds]}:{},...e.quote?{quote:{...e.quote}}:{}}}function fa(e,t){if(!e||typeof e.text!=`string`)return;let n=new Set(t.mentionSourceIds),r=(e.mentionRefs??[]).filter(e=>n.has(e.sourceId)),i=r.length===(e.mentionRefs?.length??0)&&r.length>0,a=new Set(t.modes.map(e=>e.id)),o=(e.activeModeIds??[]).filter(e=>a.has(e)),s=e.selectedModelId&&t.modelIds.includes(e.selectedModelId)?e.selectedModelId:void 0;return{text:e.text,...i?{mentionRefs:r}:{},...i&&e.contentSegments?.length?{contentSegments:e.contentSegments}:{},...s?{selectedModelId:s}:{},...o.length?{activeModeIds:o}:{},...e.quote?.text?{quote:e.quote}:{}}}function pa(e){let t=e.delay??500,n=null,r=!1,i=()=>{n!==null&&(clearTimeout(n),n=null)};return{schedule:()=>{r||(i(),n=setTimeout(()=>{n=null,e.write()},t))},flush:()=>{r||n===null||(i(),e.write())},cancel:i,destroy:()=>{r=!0,i()}}}function ma(e){return e.wrapped||e.text.includes(`
|
|
10
|
-
`)?!1:!(e.hasAttachments||e.hasChips||e.hasQuote||e.hasPendingSubmission)}function ha(){let e=!1;return{observe:(t,n)=>n?(t&&(e=!0),e):(e=!1,!1),release:()=>{e=!1}}}function ga(e){if(!e)return!1;let t=e.ownerDocument?.defaultView;if(!t?.getComputedStyle)return!1;let n=t.getComputedStyle(e),r=Number.parseFloat(n.lineHeight),i=Number.parseFloat(n.fontSize),a=Number.isFinite(r)&&r>0?r:Number.isFinite(i)&&i>0?i*1.4:0;if(!a)return!1;let o=(Number.parseFloat(n.paddingTop)||0)+(Number.parseFloat(n.paddingBottom)||0),s=e.style.height,c=e.style.getPropertyPriority(`height`),l=e.tagName===`TEXTAREA`;l&&(e.style.height=`auto`);let u=e.scrollHeight-o;return l&&e.style.setProperty(`height`,s,c),u>a*1.5}function _a(e){return Object.freeze({text:e.text,contentParts:e.contentParts?Object.freeze([...e.contentParts]):void 0,mentionRefs:Object.freeze([...e.mentionRefs]),contentSegments:e.contentSegments?Object.freeze([...e.contentSegments]):void 0,options:Object.freeze({...e.options}),viaVoice:e.viaVoice})}function va(e){return e.inputDisabled===!0||e.sendDisabled===!0||e.hasAttachments&&!e.attachmentsReady?!1:!!e.text||e.hasAttachments||e.hasMentions||e.hasServerMentions}const ya=e=>typeof e?.then==`function`;function ba(e,t){return t===!1?{status:`canceled`}:(!t||typeof t!=`object`||(typeof t.text==`string`&&(e.text=t.text),t.options&&(e.options={...e.options,...t.options})),{status:`proceed`})}function xa(e,t,n){let r;try{r=e(_a(t),{signal:n})}catch(e){return{status:`error`,error:e}}return ya(r)?Promise.resolve(r).then(e=>n.aborted?{status:`aborted`}:ba(t,e),e=>n.aborted?{status:`aborted`}:{status:`error`,error:e}):ba(t,r)}const Sa=e=>e?.launcher?.variant??(e?.future?.v5Defaults===!0?`circle`:`pill`),Ca={background:`semantic.colors.primary`,foreground:`semantic.colors.textInverse`,border:`transparent`,size:`48px`,iconSize:`24px`,borderRadius:`palette.radius.full`,shadow:`0 8px 24px rgba(0,0,0,.16)`,offset:`20px`},wa=`16px`,Ta=`transparent`,Ea={colors:{primary:{50:`#ffffff`,100:`#f5f5f5`,200:`#d4d4d4`,300:`#a3a3a3`,400:`#737373`,500:`#171717`,600:`#0f0f0f`,700:`#0a0a0a`,800:`#050505`,900:`#030303`,950:`#000000`},secondary:{50:`#f5f3ff`,100:`#ede9fe`,200:`#ddd6fe`,300:`#c4b5fd`,400:`#a78bfa`,500:`#8b5cf6`,600:`#7c3aed`,700:`#6d28d9`,800:`#5b21b6`,900:`#4c1d95`,950:`#2e1065`},accent:{50:`#ecfeff`,100:`#cffafe`,200:`#a5f3fc`,300:`#67e8f9`,400:`#22d3ee`,500:`#06b6d4`,600:`#0891b2`,700:`#0e7490`,800:`#155e75`,900:`#164e63`,950:`#083344`},gray:{50:`#f9fafb`,100:`#f3f4f6`,200:`#e5e7eb`,300:`#d1d5db`,400:`#9ca3af`,500:`#6b7280`,600:`#4b5563`,700:`#374151`,800:`#1f2937`,900:`#111827`,950:`#030712`},success:{50:`#f0fdf4`,100:`#dcfce7`,200:`#bbf7d0`,300:`#86efac`,400:`#4ade80`,500:`#22c55e`,600:`#16a34a`,700:`#15803d`,800:`#166534`,900:`#14532d`},warning:{50:`#fefce8`,100:`#fef9c3`,200:`#fef08a`,300:`#fde047`,400:`#facc15`,500:`#eab308`,600:`#ca8a04`,700:`#a16207`,800:`#854d0e`,900:`#713f12`},error:{50:`#fef2f2`,100:`#fee2e2`,200:`#fecaca`,300:`#fca5a5`,400:`#f87171`,500:`#ef4444`,600:`#dc2626`,700:`#b91c1c`,800:`#991b1b`,900:`#7f1d1d`},info:{50:`#eff6ff`,100:`#dbeafe`,200:`#bfdbfe`,300:`#93c5fd`,400:`#60a5fa`,500:`#3b82f6`,600:`#2563eb`,700:`#1d4ed8`,800:`#1e40af`,900:`#1e3a8a`,950:`#172554`},purple:{50:`#faf5ff`,100:`#f3e8ff`,200:`#e9d5ff`,300:`#d8b4fe`,400:`#c084fc`,500:`#a855f7`,600:`#9333ea`,700:`#7e22ce`,800:`#6b21a8`,900:`#581c87`,950:`#3b0764`},teal:{50:`#f0fdfa`,100:`#ccfbf1`,200:`#99f6e4`,300:`#5eead4`,400:`#2dd4bf`,500:`#14b8a6`,600:`#0d9488`,700:`#0f766e`,800:`#115e59`,900:`#134e4a`,950:`#042f2e`}},spacing:(()=>{let e={};for(let t of[0,1,2,3,4,5,6,8,10,12,16,20,24,32,40,48,56,64])e[t]=t===0?`0px`:`${t/4}rem`;return e})(),typography:{fontFamily:{sans:`system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif`,serif:`Georgia, Cambria, "Times New Roman", Times, serif`,mono:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace`},fontSize:{xs:`0.75rem`,sm:`0.875rem`,base:`1rem`,lg:`1.125rem`,xl:`1.25rem`,"2xl":`1.5rem`,"3xl":`1.875rem`,"4xl":`2.25rem`},fontWeight:{normal:`400`,medium:`500`,semibold:`600`,bold:`700`},lineHeight:{tight:`1.25`,normal:`1.5`,relaxed:`1.625`}},shadows:{none:`none`,sm:`0 1px 2px 0 rgb(0 0 0 / 0.05)`,md:`0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`,lg:`0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)`,xl:`0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)`,"2xl":`0 25px 50px -12px rgb(0 0 0 / 0.25)`},borders:{none:`none`,sm:`1px solid`,md:`2px solid`,lg:`4px solid`},radius:{none:`0px`,sm:`0.125rem`,md:`0.375rem`,lg:`0.5rem`,xl:`0.75rem`,"2xl":`1rem`,full:`9999px`}},Da={colors:{primary:`palette.colors.primary.500`,secondary:`palette.colors.secondary.500`,accent:`palette.colors.primary.600`,surface:`palette.colors.gray.50`,background:`palette.colors.gray.50`,container:`palette.colors.gray.50`,text:`palette.colors.gray.900`,textMuted:`palette.colors.gray.500`,textInverse:`palette.colors.gray.50`,border:`palette.colors.gray.200`,divider:`palette.colors.gray.200`,interactive:{default:`palette.colors.primary.600`,hover:`palette.colors.primary.700`,focus:`palette.colors.primary.600`,active:`palette.colors.primary.600`,disabled:`palette.colors.gray.300`},feedback:{success:`palette.colors.success.500`,warning:`palette.colors.warning.500`,error:`palette.colors.error.500`,info:`palette.colors.info.500`}},spacing:{xs:`palette.spacing.1`,sm:`palette.spacing.2`,md:`palette.spacing.4`,lg:`palette.spacing.6`,xl:`palette.spacing.8`,"2xl":`palette.spacing.10`},typography:{fontFamily:`palette.typography.fontFamily.sans`,fontSize:`palette.typography.fontSize.base`,fontWeight:`palette.typography.fontWeight.normal`,lineHeight:`palette.typography.lineHeight.normal`}},Oa={button:{primary:{background:`palette.colors.primary.500`,foreground:`palette.colors.primary.50`,borderRadius:`palette.radius.lg`,padding:`semantic.spacing.md`},secondary:{background:`semantic.colors.surface`,foreground:`semantic.colors.secondary`,borderRadius:`palette.radius.lg`,padding:`semantic.spacing.md`},ghost:{background:`transparent`,foreground:`semantic.colors.text`,borderRadius:`palette.radius.md`,padding:`semantic.spacing.sm`,hoverBackground:`rgba(0, 0, 0, 0.05)`}},input:{background:`semantic.colors.surface`,placeholder:`semantic.colors.textMuted`,borderRadius:`palette.radius.lg`,padding:`semantic.spacing.md`,focus:{border:`palette.colors.gray.400`,ring:`palette.colors.gray.400`}},launcher:{background:`semantic.colors.surface`,foreground:`semantic.colors.primary`,border:`semantic.colors.border`,size:`60px`,iconSize:`28px`,borderRadius:`palette.radius.full`,shadow:`palette.shadows.lg`},panel:{width:de,maxWidth:`none`,height:`min(640px, max(200px, calc(100vh - 64px)))`,maxHeight:`none`,borderRadius:`palette.radius.xl`,shadow:`palette.shadows.xl`,inset:wa,canvasBackground:Ta,modes:{floating:{border:`1px solid var(--persona-border)`,shadow:`palette.shadows.xl`,borderRadius:`palette.radius.xl`},inline:{border:`1px solid var(--persona-border)`,shadow:`none`,borderRadius:`palette.radius.xl`},docked:{border:`none`,shadow:`none`,borderRadius:`palette.radius.xl`},sidebar:{border:`none`,borderRadius:`0`},mobile:{border:`none`,shadow:`none`,borderRadius:`0`}}},header:{background:`palette.colors.primary.500`,foreground:`palette.colors.primary.50`,borderRadius:`palette.radius.xl palette.radius.xl 0 0`,padding:`20px 24px`,minimalPadding:`16px 24px`,iconBackground:`palette.colors.primary.600`,iconForeground:`palette.colors.primary.50`},message:{gap:`12px`,user:{background:`palette.colors.primary.500`,text:`palette.colors.primary.50`,borderRadius:`palette.radius.lg`,shadow:`palette.shadows.sm`},assistant:{background:`semantic.colors.container`,text:`semantic.colors.text`,borderRadius:`palette.radius.lg`,border:`semantic.colors.border`,shadow:`palette.shadows.sm`},operator:{background:`color-mix(in srgb, var(--persona-primary) 6%, var(--persona-container))`,text:`semantic.colors.text`,borderRadius:`palette.radius.lg`,border:`color-mix(in srgb, var(--persona-primary) 20%, var(--persona-container))`,borderWidth:`1px`,shadow:`palette.shadows.sm`},border:`semantic.colors.border`},introCard:{background:`transparent`,borderRadius:`palette.radius.2xl`,padding:`semantic.spacing.lg`,shadow:`palette.shadows.none`},suggestion:{chip:{background:`semantic.colors.surface`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,borderRadius:`palette.radius.full`,padding:`0.5rem 0.875rem`,gap:`0.5rem`,itemGap:`8px`,minHeight:`36px`,fontSize:`0.8125rem`,lineHeight:`1.25`,iconSize:`16px`,hoverBackground:`palette.colors.gray.100`,hoverBorder:`palette.colors.gray.300`,pressedBackground:`palette.colors.gray.200`,focusRing:`semantic.colors.interactive.focus`,disabledOpacity:`0.5`},card:{background:`semantic.colors.surface`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,borderRadius:`palette.radius.xl`,padding:`1rem`,shadow:`palette.shadows.sm`,gap:`0.625rem`,itemGap:`8px`,minHeight:`72px`,fontSize:`0.875rem`,lineHeight:`1.35`,iconSize:`18px`,hoverBackground:`palette.colors.gray.100`,hoverBorder:`palette.colors.gray.300`,pressedBackground:`palette.colors.gray.200`,focusRing:`semantic.colors.interactive.focus`,disabledOpacity:`0.5`},list:{background:`transparent`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,borderRadius:`palette.radius.md`,padding:`0.75rem`,gap:`0.625rem`,itemGap:`8px`,minHeight:`44px`,fontSize:`0.875rem`,lineHeight:`1.35`,iconSize:`17px`,hoverBackground:`palette.colors.gray.100`,hoverBorder:`palette.colors.gray.300`,pressedBackground:`palette.colors.gray.200`,focusRing:`semantic.colors.interactive.focus`,disabledOpacity:`0.5`}},toolBubble:{shadow:`palette.shadows.sm`},reasoningBubble:{shadow:`palette.shadows.sm`},composer:{shadow:`palette.shadows.none`},scrollbar:{thumb:`semantic.colors.border`,track:`transparent`},markdown:{inlineCode:{background:`palette.colors.gray.50`,foreground:`palette.colors.gray.900`},link:{foreground:`palette.colors.primary.600`},prose:{fontFamily:`inherit`},codeBlock:{background:`semantic.colors.container`,borderColor:`semantic.colors.border`,textColor:`inherit`,borderRadius:`palette.radius.md`},table:{headerBackground:`semantic.colors.container`,borderColor:`semantic.colors.border`},hr:{color:`semantic.colors.divider`},blockquote:{borderColor:`palette.colors.gray.900`,background:`transparent`,textColor:`palette.colors.gray.500`}},collapsibleWidget:{container:`palette.colors.gray.50`,surface:`semantic.colors.surface`,border:`semantic.colors.border`},voice:{recording:{indicator:`palette.colors.error.500`,background:`palette.colors.error.50`,border:`palette.colors.error.200`},processing:{icon:`palette.colors.primary.500`,background:`palette.colors.primary.50`},speaking:{icon:`palette.colors.success.500`}},approval:{requested:{background:`semantic.colors.surface`,border:`semantic.colors.border`,text:`palette.colors.gray.900`,shadow:`0 1px 2px 0 rgba(11, 11, 11, 0.06), 0 2px 8px 0 rgba(11, 11, 11, 0.04)`},approve:{background:`semantic.colors.primary`,foreground:`semantic.colors.textInverse`,borderRadius:`palette.radius.md`,padding:`semantic.spacing.sm`},deny:{background:`semantic.colors.container`,foreground:`semantic.colors.text`,borderRadius:`palette.radius.md`,padding:`semantic.spacing.sm`}},attachment:{image:{background:`palette.colors.gray.100`,border:`palette.colors.gray.200`}},eventStream:{badge:{flow:{background:`palette.colors.success.100`,foreground:`palette.colors.success.700`},step:{background:`palette.colors.primary.100`,foreground:`palette.colors.primary.700`},reasoning:{background:`palette.colors.warning.100`,foreground:`palette.colors.warning.700`},tool:{background:`palette.colors.purple.100`,foreground:`palette.colors.purple.800`},agent:{background:`palette.colors.teal.100`,foreground:`palette.colors.teal.800`},error:{background:`palette.colors.error.100`,foreground:`palette.colors.error.700`},default:{background:`palette.colors.gray.100`,foreground:`palette.colors.gray.600`}}},scrollToBottom:{background:`components.button.primary.background`,foreground:`components.button.primary.foreground`,border:`semantic.colors.primary`,size:`40px`,borderRadius:`palette.radius.full`,shadow:`palette.shadows.sm`,padding:`0.5rem 0.875rem`,gap:`0.5rem`,fontSize:`0.875rem`,iconSize:`14px`},artifact:{pane:{background:`semantic.colors.container`,toolbarBackground:`semantic.colors.container`}}},ka=Ea.colors.gray,Aa={50:`#fafafa`,100:`#f5f5f5`,200:`#e5e5e5`,300:`#d4d4d4`,400:`#a3a3a3`,500:`#737373`,600:`#525252`,700:`#404040`,800:`#262626`,900:`#171717`,950:`#0a0a0a`},ja={...Ea,colors:{...Ea.colors,gray:ka}},Ma={...Ea,colors:{...Ea.colors,gray:Aa},radius:{none:`0px`,sm:`4px`,md:`8px`,lg:`12px`,xl:`16px`,"2xl":`24px`,full:`9999px`}},Na=Da,Pa={...Da,colors:{...Da.colors,surface:`#ffffff`,background:`#ffffff`,container:`semantic.colors.surface`,textInverse:`#ffffff`},typography:{...Da.typography,fontSize:`14px`,lineHeight:`1.5`}},Fa=Oa,Ia={...Oa,scrollToBottom:{...Oa.scrollToBottom,background:`semantic.colors.surface`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,size:`32px`},messageActions:{background:`transparent`,border:`none`,hoverBackground:`components.button.ghost.hoverBackground`,hoverForeground:`semantic.colors.text`,borderRadius:`palette.radius.md`},launcher:Ca,activity:{labelSize:`13px`,iconSize:`16px`,indent:`0px`,transcriptGap:`0px`,responseGap:`12px`,groupIndent:`16px`,groupGap:`2px`,groupPadding:`2px 0`,bodyPadding:`4px 0`,bodyFontWeight:`400`,sectionGap:`8px`,bodySurface:`transparent`},toolBubble:{shadow:`none`},reasoningBubble:{shadow:`none`},input:{...Oa.input,borderRadius:`palette.radius.full`},introCard:{...Oa.introCard,title:{fontSize:`22px`,fontWeight:`500`}},suggestion:{chip:{...Oa.suggestion.chip,fontWeight:`400`},card:{...Oa.suggestion.card,fontWeight:`400`},list:{...Oa.suggestion.list,fontWeight:`400`}},panel:{...Oa.panel,width:`min(400px, calc(100vw - 24px))`,height:`min(704px, calc(100dvh - 104px))`,borderRadius:`palette.radius.xl`},header:{...Oa.header,background:`semantic.colors.container`,foreground:`semantic.colors.text`,padding:`8px 8px 8px 16px`,minimalPadding:`8px 8px 8px 16px`,minHeight:`48px`,borderBottom:`none`,iconBackground:`transparent`,iconForeground:`semantic.colors.text`,iconScale:`1`,iconPadding:`auto`,controlSize:`28px`,controlIconSize:`16px`,controlStrokeWidth:`1.5`,actionIconForeground:`semantic.colors.textMuted`,controlBorderRadius:`8px`,controlHoverBackground:`color-mix(in srgb, var(--persona-text) 8%, transparent)`,controlHoverForeground:`semantic.colors.text`,controlFocusOutline:`2px solid color-mix(in srgb, var(--persona-text) 50%, transparent)`,title:{fontSize:`14px`,fontWeight:`500`,lineHeight:`1.5`}},message:{...Oa.message,gap:`20px`,fullscreenGap:`28px`,topFadeHeight:`18px`,user:{...Oa.message.user,background:`palette.colors.gray.100`,text:`semantic.colors.text`,borderRadius:`palette.radius.xl`,shadow:`none`,padding:`8px 14px`,fontSize:`14px`,lineHeight:`1.5`},assistant:{...Oa.message.assistant,background:`transparent`,border:`transparent`,borderWidth:`0px`,borderRadius:`0px`,shadow:`none`,padding:`0px`,fontSize:`14px`,lineHeight:`1.55`},operator:{...Oa.message.operator,background:`transparent`,border:`semantic.colors.border`,borderRadius:`palette.radius.xl`,shadow:`none`,padding:`8px 14px`,fontSize:`14px`,lineHeight:`1.5`}},artifact:{...Oa.artifact,card:{background:`semantic.colors.surface`,border:`1px solid var(--persona-border)`,borderRadius:`palette.radius.lg`,hoverBackground:`components.button.ghost.hoverBackground`,hoverBorderColor:`semantic.colors.border`},inline:{background:`semantic.colors.surface`,border:`1px solid var(--persona-border)`,borderRadius:`palette.radius.lg`,chromeBackground:`semantic.colors.surface`,chromeBorder:`semantic.colors.border`,titleColor:`semantic.colors.text`,mutedColor:`semantic.colors.textMuted`}},composer:{...Oa.composer,padding:`8px`,fontSize:`15px`,lineHeight:`1.5`,controlSize:`32px`,controlIconSize:`20px`,expandedPadding:`12px 16px`,expandedBorderRadius:`24px`,sendIconSize:`18px`,sendButtonRadius:`9999px`,footerBorder:`none`,overflowMenu:{borderRadius:`12px`},overlayBand:`linear-gradient(to bottom, transparent, var(--persona-container) 24px)`,focusBorderColor:`color-mix(in srgb, var(--persona-text) 28%, var(--persona-border))`,focusRing:`1px solid color-mix(in srgb, var(--persona-text) 12%, transparent)`}},La=e=>fe({future:e}),Ra=e=>La(e)===`v5`?{palette:Ma,semantic:Pa,components:Ia}:{palette:ja,semantic:Na,components:Fa};function za(e,t){if(!t.startsWith(`palette.`)&&!t.startsWith(`semantic.`)&&!t.startsWith(`components.`))return t;let n=t.split(`.`),r=e;for(let e of n){if(r==null)return;r=r[e]}return typeof r==`string`&&(r.startsWith(`palette.`)||r.startsWith(`semantic.`)||r.startsWith(`components.`))?za(e,r):r}function Ba(e){let t={};function n(r,i){for(let[a,o]of Object.entries(r)){let r=`${i}.${a}`;if(typeof o==`string`){let n=za(e,o);n!==void 0&&(t[r]={path:r,value:n,type:i.includes(`color`)?`color`:i.includes(`spacing`)?`spacing`:i.includes(`typography`)?`typography`:i.includes(`shadow`)?`shadow`:i.includes(`border`)?`border`:`color`})}else typeof o==`object`&&o&&n(o,r)}}return n(e.palette,`palette`),n(e.semantic,`semantic`),n(e.components,`components`),t}function Va(e){let t=[],n=[];return e.palette||t.push({path:`palette`,message:`Theme must include a palette`,severity:`error`}),e.semantic||n.push({path:`semantic`,message:`No semantic tokens defined - defaults will be used`,severity:`warning`}),e.components||n.push({path:`components`,message:`No component tokens defined - defaults will be used`,severity:`warning`}),{valid:t.length===0,errors:t,warnings:n}}function Ha(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t&&typeof t==`object`&&!Array.isArray(t)&&r&&typeof r==`object`&&!Array.isArray(r)?Ha(t,r):r}return n}function Ua(e,t={}){let n=Ra(t.future),r=e?.components,i={palette:{...n.palette,...e?.palette,colors:{...n.palette.colors,...e?.palette?.colors},spacing:{...n.palette.spacing,...e?.palette?.spacing},typography:{...n.palette.typography,...e?.palette?.typography},shadows:{...n.palette.shadows,...e?.palette?.shadows},borders:{...n.palette.borders,...e?.palette?.borders},radius:{...n.palette.radius,...e?.palette?.radius}},semantic:{...n.semantic,...e?.semantic,colors:{...n.semantic.colors,...e?.semantic?.colors,interactive:{...n.semantic.colors.interactive,...e?.semantic?.colors?.interactive},feedback:{...n.semantic.colors.feedback,...e?.semantic?.colors?.feedback}},spacing:{...n.semantic.spacing,...e?.semantic?.spacing},typography:{...n.semantic.typography,...e?.semantic?.typography}},components:r?Ha(n.components,r):n.components},a=r?.activity;for(let e of[`toolBubble`,`reasoningBubble`]){let t=i.components[e]={...i.components[e]};for(let n of[`rowHeight`,`labelSize`,`iconSize`,`indent`,`bodySurface`])a?.[n]!==void 0&&(n!==`bodySurface`||r?.[e]?.bodySurface===void 0)&&(t[n]=a[n])}let o=r?.collapsibleWidget?.surface;fe(t)===`v4`&&o!==void 0&&a?.bodySurface===void 0&&(i.components.activity={...i.components.activity,bodySurface:o});let s=r?.header;s?.padding!==void 0&&s.minimalPadding===void 0&&(i.components.header.minimalPadding=i.components.header.padding);let c=r?.composer;i.components.composer={...i.components.composer},c?.padding!==void 0&&c.expandedPadding===void 0&&(i.components.composer.expandedPadding=c.padding),r?.input?.borderRadius!==void 0&&c?.expandedBorderRadius===void 0&&(i.components.composer.expandedBorderRadius=r.input.borderRadius);let l=r?.message;if(l?.gap!==void 0&&l.fullscreenGap===void 0&&(i.components.message.fullscreenGap=i.components.message.gap),t.validate!==!1){let e=Va(i);if(!e.valid)throw Error(`Theme validation failed: ${e.errors.map(e=>e.message).join(`, `)}`)}if(t.plugins)for(let e of t.plugins)i=e.transform(i);return i}const Wa=e=>e.trim()===`0`?`0px`:e,Ga=`--persona-`,Ka=e=>{if(!e)return;let t=e.trim().toLowerCase(),n;if(t.charCodeAt(0)===35){let e=t.slice(1);if(!/^[0-9a-f]+$/.test(e))return;e.length===3||e.length===4?n=[0,1,2].map(t=>parseInt(e[t]+e[t],16)):(e.length===6||e.length===8)&&(n=[0,2,4].map(t=>parseInt(e.slice(t,t+2),16)))}else{let e=t.match(/^rgba?\(([^)]+)\)$/);if(e){let t=e[1].split(/[,/\s]+/).filter(Boolean);t.length>=3&&(n=t.slice(0,3).map(e=>{let t=e.endsWith(`%`),n=parseFloat(t?e.slice(0,-1):e);return t?n/100*255:n}))}}if(!n||n.some(e=>!Number.isFinite(e)))return;let[r,i,a]=n.map(e=>{let t=Math.max(0,Math.min(255,e))/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4});return .2126*r+.7152*i+.0722*a},qa=(e,t)=>{for(let[n,...r]of t){let t;for(let n of r)if(t=n.charCodeAt(0)===61?n.slice(1):e[Ga+n],t!==void 0)break;t!==void 0&&(e[Ga+n]=t)}},Ja=[[`primary`,`semantic-colors-primary`,`palette-colors-primary-500`],[`secondary`,`semantic-colors-secondary`,`palette-colors-secondary-500`],[`accent`,`semantic-colors-accent`,`palette-colors-accent-500`],[`surface`,`semantic-colors-surface`,`palette-colors-gray-50`],[`background`,`semantic-colors-background`,`palette-colors-gray-50`],[`container`,`semantic-colors-container`,`palette-colors-gray-100`],[`text`,`semantic-colors-text`,`palette-colors-gray-900`],[`text-muted`,`semantic-colors-textMuted`,`palette-colors-gray-500`],[`text-inverse`,`semantic-colors-textInverse`,`palette-colors-gray-50`],[`border`,`semantic-colors-border`,`palette-colors-gray-200`],[`divider`,`semantic-colors-divider`,`palette-colors-gray-200`],[`muted`,`text-muted`],[`font-family`,`semantic-typography-fontFamily`,`palette-typography-fontFamily-sans`],[`font-size`,`semantic-typography-fontSize`,`palette-typography-fontSize-base`],[`font-weight`,`semantic-typography-fontWeight`,`palette-typography-fontWeight-normal`],[`line-height`,`semantic-typography-lineHeight`,`palette-typography-lineHeight-normal`],[`input-font-family`,`font-family`],[`input-font-weight`,`font-weight`],[`radius-sm`,`palette-radius-sm`,`=0.125rem`],[`radius-md`,`palette-radius-md`,`=0.375rem`],[`radius-lg`,`palette-radius-lg`,`=0.5rem`],[`radius-xl`,`palette-radius-xl`,`=0.75rem`],[`radius-full`,`palette-radius-full`,`=9999px`],[`launcher-radius`,`components-launcher-borderRadius`,`palette-radius-full`,`=9999px`],[`launcher-bg`,`components-launcher-background`,`surface`],[`launcher-fg`,`components-launcher-foreground`,`primary`]],Ya=e=>{let t=Ba(e),n={};for(let[e,r]of Object.entries(t)){let t=e.replace(/\./g,`-`);n[`--persona-${t}`]=r.value}return n},Xa=e=>{let t=e[`--persona-components-launcher-foreground`];e[`--persona-launcher-fg-muted`]=t&&t!==e[`--persona-primary`]?`color-mix(in srgb, ${t} 70%, transparent)`:e[`--persona-muted`]},Za=e=>{if(e[`--persona-components-header-iconPadding`]===`auto`){let t=(e[`--persona-components-header-iconBackground`]??e[`--persona-primary`]).trim().toLowerCase(),n=t.match(/^(?:rgba?|hsla?)\(([^)]+)\)$/)?.[1].split(/[,\s/]+/).filter(Boolean);e[`--persona-components-header-iconPadding`]=t===`transparent`||/^#(?:[\da-f]{3}0|[\da-f]{6}00)$/.test(t)||n?.length===4&&parseFloat(n[3])===0?`0px`:`6px`}};function Qa(e){let t=Ya(e);qa(t,Ja),qa(t,[[`ask-sheet-bg`,`components-askUserQuestion-sheet-background`],[`ask-sheet-border`,`components-askUserQuestion-sheet-border`],[`ask-sheet-shadow`,`components-askUserQuestion-sheet-shadow`],[`ask-pill-bg`,`components-askUserQuestion-pill-background`],[`ask-pill-fg`,`components-askUserQuestion-pill-foreground`],[`ask-pill-radius`,`components-askUserQuestion-pill-borderRadius`],[`ask-pill-bg-selected`,`components-askUserQuestion-pill-selectedBackground`],[`ask-pill-fg-selected`,`components-askUserQuestion-pill-selectedForeground`],[`ask-input-bg`,`components-askUserQuestion-customInput-background`],[`voice-recording-indicator`,`components-voice-recording-indicator`,`palette-colors-error-500`],[`voice-recording-bg`,`components-voice-recording-background`,`palette-colors-error-50`],[`voice-processing-icon`,`components-voice-processing-icon`,`palette-colors-primary-500`],[`voice-speaking-icon`,`components-voice-speaking-icon`,`palette-colors-success-500`],[`approval-bg`,`components-approval-requested-background`,`surface`],[`approval-border`,`components-approval-requested-border`,`border`],[`approval-text`,`components-approval-requested-text`,`palette-colors-gray-900`],[`approval-shadow`,`components-approval-requested-shadow`,`=0 1px 2px 0 rgba(11, 11, 11, 0.06), 0 2px 8px 0 rgba(11, 11, 11, 0.04)`],[`approval-approve-bg`,`components-approval-approve-background`,`button-primary-bg`],[`approval-deny-bg`,`components-approval-deny-background`,`container`],[`attachment-image-bg`,`components-attachment-image-background`,`palette-colors-gray-100`],[`attachment-image-border`,`components-attachment-image-border`,`palette-colors-gray-200`]]),Xa(t),qa(t,[[`launcher-border`,`components-launcher-border`,`border`],[`button-primary-bg`,`components-button-primary-background`,`primary`],[`button-primary-fg`,`components-button-primary-foreground`,`text-inverse`],[`button-radius`,`components-button-primary-borderRadius`,`palette-radius-full`,`=9999px`],[`button-stop-bg`,`components-button-stop-background`],[`button-stop-fg`,`components-button-stop-foreground`]]),qa(t,[[`button-ghost-bg`,`components-button-ghost-background`,`=transparent`],[`button-ghost-fg`,`components-button-ghost-foreground`,`text`],[`button-ghost-radius`,`components-button-ghost-borderRadius`,`radius-md`,`=0.375rem`],[`button-ghost-hover-bg`,`components-button-ghost-hoverBackground`,`=rgba(0, 0, 0, 0.05)`],[`panel-radius`,`components-panel-borderRadius`,`radius-xl`,`=0.75rem`]]),t[`--persona-panel-border`]=t[`--persona-components-panel-border`]??`1px solid ${t[`--persona-border`]}`,qa(t,[[`panel-shadow`,`components-panel-shadow`,`palette-shadows-xl`,`=0 25px 50px -12px rgba(0, 0, 0, 0.25)`]]),t[`--persona-panel-inset`]=t[`--persona-components-panel-inset`]??`16px`,t[`--persona-panel-canvas-bg`]=t[`--persona-components-panel-canvasBackground`]??`transparent`,qa(t,[[`launcher-shadow`,`components-launcher-shadow`,`=0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)`],[`input-radius`,`components-input-borderRadius`,`radius-lg`,`=0.5rem`],[`message-user-radius`,`components-message-user-borderRadius`,`radius-lg`,`=0.5rem`],[`message-assistant-radius`,`components-message-assistant-borderRadius`,`radius-lg`,`=0.5rem`]]);let n=(n,r,i,a=``)=>{if(n)for(let[o,s,c]of i){let i=n[a+o];i&&(t[`--persona-${r}${s}`]=c?za(e,i)??i:i)}};qa(t,[[`header-bg`,`components-header-background`,`surface`]]);let r=t[`--persona-header-bg`],i=t[`--persona-components-header-foreground`],a=i?`color-mix(in srgb, ${i} 72%, ${r})`:void 0;t[`--persona-header-border`]=t[`--persona-components-header-border`]??(i?`color-mix(in srgb, ${i} 14%, ${r})`:void 0)??t[`--persona-divider`],qa(t,[[`header-icon-bg`,`components-header-iconBackground`,`primary`],[`header-icon-fg`,`components-header-iconForeground`,`text-inverse`]]),Za(t),t[`--persona-header-title-fg`]=t[`--persona-components-header-title-color`]??t[`--persona-components-header-titleForeground`]??i??t[`--persona-primary`],t[`--persona-header-subtitle-fg`]=t[`--persona-components-header-subtitle-color`]??t[`--persona-components-header-subtitleForeground`]??a??t[`--persona-text-muted`],t[`--persona-header-action-icon-fg`]=t[`--persona-components-header-actionIconForeground`]??a??t[`--persona-muted`],qa(t,[[`header-control-size`,`components-header-controlSize`,`=32px`],[`header-control-icon-size`,`components-header-controlIconSize`,`=16px`]]),n(e.components?.header,`header-`,[[`shadow`,`shadow`],[`borderBottom`,`border-bottom`],[`minHeight`,`min-height`]]),n(t,`history-rail-header-`,[[`background`,`bg`],[`border`,`border`],[`minHeight`,`min-height`]],`--persona-components-history-railHeader-`),n(t,`history-overlay-`,[[`margin`,`margin`],[`borderRadius`,`radius`],[`shadow`,`shadow`],[`background`,`bg`]],`--persona-components-history-overlay-`),n(t,`history-menu-`,[[`background`,`bg`],[`borderRadius`,`radius`]],`--persona-components-history-menu-`);let o=e.components?.history?.motion;if(o){let e=e=>{if(e===void 0)return;let t=String(e).trim();return/^\d+(\.\d+)?$/.test(t)?`${t}ms`:t},n=e(o.enterDurationMs);n!==void 0&&(t[`--persona-history-enter-ms`]=n);let r=e(o.exitDurationMs);r!==void 0&&(t[`--persona-history-exit-ms`]=r),o.enterEasing&&(t[`--persona-history-enter-easing`]=o.enterEasing),o.exitEasing&&(t[`--persona-history-exit-easing`]=o.exitEasing)}let s=t[`--persona-components-history-dangerForeground`];s&&(t[`--persona-history-danger-fg`]=s),t[`--persona-danger`]=t[`--persona-components-history-confirm-dangerBackground`]??t[`--persona-palette-colors-error-700`]??`#b42318`,t[`--persona-danger-fg`]=t[`--persona-components-history-confirm-dangerForeground`]??`#ffffff`;for(let e of[`scrim`,`shadow`]){let n=t[`--persona-components-history-confirm-${e}`];n&&(t[`--persona-history-confirm-${e}`]=n)}n(t,`tooltip-`,[[`background`,`background`],[`foreground`,`foreground`],[`hintForeground`,`hint-fg`],[`borderRadius`,`radius`],[`fontSize`,`font-size`],[`padding`,`padding`],[`maxWidth`,`max-width`],[`shadow`,`shadow`]],`--persona-components-tooltip-`),e.components?.tooltip?.arrow===!1&&(t[`--persona-tooltip-arrow-display`]=`none`),n(t,`scroll-to-bottom-count-`,[[`background`,`bg`],[`foreground`,`fg`],[`border`,`border`],[`borderRadius`,`radius`],[`size`,`size`],[`padding`,`padding`],[`fontSize`,`font-size`],[`fontWeight`,`font-weight`]],`--persona-components-scrollToBottom-countBadge-`),n(t,`message-action-`,[[`background`,`bg`],[`border`,`border`],[`hoverBackground`,`hover-bg`],[`hoverForeground`,`hover-fg`],[`borderRadius`,`radius`]],`--persona-components-messageActions-`),qa(t,[[`intro-card-bg`,`components-introCard-background`,`=transparent`],[`intro-card-radius`,`components-introCard-borderRadius`,`=1rem`]]);let c=t[`--persona-components-introCard-background`],l=t[`--persona-components-introCard-shadow`],u=(!c||c===`transparent`||c===`none`)&&(!l||l===`none`),d=t[`--persona-components-introCard-padding`]??`1.5rem`;t[`--persona-intro-card-padding`]=u&&d===`1.5rem`?`1.5rem 0`:d,qa(t,[[`intro-card-shadow`,`components-introCard-shadow`,`=none`],[`intro-card-border`,`components-introCard-border`,`=none`],[`input-background`,`components-input-background`,`surface`],[`input-placeholder`,`components-input-placeholder`,`text-muted`],[`input-backdrop-filter`,`components-input-backdropFilter`,`=none`],[`message-user-bg`,`components-message-user-background`,`accent`],[`message-user-text`,`components-message-user-text`,`text-inverse`],[`message-user-shadow`,`components-message-user-shadow`,`=0 5px 15px rgba(15, 23, 42, 0.08)`],[`message-assistant-bg`,`components-message-assistant-background`,`surface`],[`message-assistant-text`,`components-message-assistant-text`,`text`],[`message-assistant-border`,`components-message-assistant-border`,`border`],[`message-assistant-shadow`,`components-message-assistant-shadow`,`=0 1px 2px 0 rgb(0 0 0 / 0.05)`],[`scroll-to-bottom-bg`,`components-scrollToBottom-background`,`button-primary-bg`,`accent`],[`scroll-to-bottom-fg`,`components-scrollToBottom-foreground`,`button-primary-fg`,`text-inverse`],[`scroll-to-bottom-border`,`components-scrollToBottom-border`,`primary`],[`scroll-to-bottom-size`,`components-scrollToBottom-size`,`=40px`],[`scroll-to-bottom-radius`,`components-scrollToBottom-borderRadius`,`button-radius`,`radius-full`,`=9999px`],[`scroll-to-bottom-shadow`,`components-scrollToBottom-shadow`,`palette-shadows-sm`,`=0 1px 2px 0 rgb(0 0 0 / 0.05)`],[`scroll-to-bottom-padding`,`components-scrollToBottom-padding`,`=0.5rem 0.875rem`],[`scroll-to-bottom-gap`,`components-scrollToBottom-gap`,`=0.5rem`],[`scroll-to-bottom-font-size`,`components-scrollToBottom-fontSize`,`palette-typography-fontSize-sm`,`=0.875rem`],[`scroll-to-bottom-icon-size`,`components-scrollToBottom-iconSize`,`=14px`],[`event-badge-flow-bg`,`components-eventStream-badge-flow-background`,`=#dcfce7`],[`event-badge-flow-fg`,`components-eventStream-badge-flow-foreground`,`=#15803d`],[`event-badge-step-bg`,`components-eventStream-badge-step-background`,`=#f5f5f5`],[`event-badge-step-fg`,`components-eventStream-badge-step-foreground`,`=#0a0a0a`],[`event-badge-reasoning-bg`,`components-eventStream-badge-reasoning-background`,`=#fef9c3`],[`event-badge-reasoning-fg`,`components-eventStream-badge-reasoning-foreground`,`=#a16207`],[`event-badge-tool-bg`,`components-eventStream-badge-tool-background`,`=#f3e8ff`],[`event-badge-tool-fg`,`components-eventStream-badge-tool-foreground`,`=#6b21a8`],[`event-badge-agent-bg`,`components-eventStream-badge-agent-background`,`=#ccfbf1`],[`event-badge-agent-fg`,`components-eventStream-badge-agent-foreground`,`=#115e59`],[`event-badge-error-bg`,`components-eventStream-badge-error-background`,`=#fee2e2`],[`event-badge-error-fg`,`components-eventStream-badge-error-foreground`,`=#b91c1c`],[`event-badge-default-bg`,`components-eventStream-badge-default-background`,`=#f3f4f6`],[`event-badge-default-fg`,`components-eventStream-badge-default-foreground`,`=#4b5563`],[`tool-bubble-shadow`,`components-toolBubble-shadow`,`=0 5px 15px rgba(15, 23, 42, 0.08)`],[`reasoning-bubble-shadow`,`components-reasoningBubble-shadow`,`=0 5px 15px rgba(15, 23, 42, 0.08)`],[`composer-shadow`,`components-composer-shadow`,`=none`]]),qa(t,[[`panel-background`,`components-panel-background`,`surface`],[`transcript-background`,`components-message-background`,`container`],[`transcript-top-fade-background`,`components-message-topFadeBackground`,`transcript-background`],[`composer-footer-background`,`components-composer-footerBackground`,`surface`],[`composer-footer-padding`,`components-composer-footerPadding`,`=1rem 1.5rem`],[`composer-padding`,`components-composer-padding`,`=0.75rem 1rem`],[`composer-gap`,`components-composer-gap`,`=0.5rem`],[`composer-font-size`,`components-composer-fontSize`,`=0.875rem`],[`composer-line-height`,`components-composer-lineHeight`,`=1.25rem`],[`composer-control-size`,`components-composer-controlSize`,`=40px`],[`composer-control-icon-size`,`components-composer-controlIconSize`,`=24px`],[`motion-duration-fast`,`components-motion-durationFast`,`=120ms`],[`motion-duration-base`,`components-motion-durationBase`,`=200ms`],[`motion-easing`,`components-motion-easing`,`=cubic-bezier(0.2, 0, 0, 1)`],[`composer-border-color`,`components-composer-borderColor`,`border`,`=#e5e7eb`],[`composer-overlay-band`,`components-composer-overlayBand`,`=transparent`],[`scrollbar-thumb`,`components-scrollbar-thumb`,`border`,`=#e5e7eb`],[`scrollbar-track`,`components-scrollbar-track`,`=transparent`],[`md-inline-code-bg`,`components-markdown-inlineCode-background`,`container`],[`md-inline-code-color`,`components-markdown-inlineCode-foreground`,`text`],[`md-link-color`,`components-markdown-link-foreground`,`accent`,`=#0f0f0f`]]),n(t,`md-`,[[`h1-fontSize`,`h1-size`],[`h1-fontWeight`,`h1-weight`],[`h2-fontSize`,`h2-size`],[`h2-fontWeight`,`h2-weight`]],`--persona-components-markdown-heading-`);let f=t[`--persona-components-markdown-prose-fontFamily`];f&&f!==`inherit`&&(t[`--persona-md-prose-font-family`]=f),qa(t,[[`md-code-block-bg`,`components-markdown-codeBlock-background`,`container`],[`md-code-block-border-color`,`components-markdown-codeBlock-borderColor`,`border`],[`md-code-block-text-color`,`components-markdown-codeBlock-textColor`,`=inherit`]]),qa(t,[[`md-code-block-border-radius`,`components-markdown-codeBlock-borderRadius`,`radius-md`,`=0.375rem`]]),qa(t,[[`md-table-header-bg`,`components-markdown-table-headerBackground`,`container`],[`md-table-border-color`,`components-markdown-table-borderColor`,`border`]]),qa(t,[[`md-hr-color`,`components-markdown-hr-color`,`divider`]]),qa(t,[[`md-blockquote-border-color`,`components-markdown-blockquote-borderColor`,`palette-colors-gray-900`],[`md-blockquote-bg`,`components-markdown-blockquote-background`,`=transparent`],[`md-blockquote-text-color`,`components-markdown-blockquote-textColor`,`palette-colors-gray-500`]]);for(let[e,n]of[[`container`,`surface`],[`surface`,`surface`],[`border`,`border`]]){let r=t[`--persona-components-collapsibleWidget-${e}`]??t[`--persona-${n}`];r!==void 0&&(t[`--persona-cw-${e}`]=r,t[`--cw-${e}`]=r)}qa(t,[[`message-border`,`components-message-border`,`border`]]),qa(t,[[`message-user-padding`,`components-message-user-padding`],[`message-user-max-width`,`components-message-user-maxWidth`],[`message-user-font-size`,`components-message-user-fontSize`],[`message-user-font-family`,`components-message-user-fontFamily`],[`message-user-line-height`,`components-message-user-lineHeight`],[`message-assistant-padding`,`components-message-assistant-padding`],[`message-assistant-border-width`,`components-message-assistant-borderWidth`],[`message-assistant-max-width`,`components-message-assistant-maxWidth`],[`message-assistant-font-size`,`components-message-assistant-fontSize`],[`message-assistant-font-family`,`components-message-assistant-fontFamily`],[`message-assistant-line-height`,`components-message-assistant-lineHeight`],[`message-operator-padding`,`components-message-operator-padding`],[`message-operator-max-width`,`components-message-operator-maxWidth`],[`message-operator-font-size`,`components-message-operator-fontSize`],[`message-operator-font-family`,`components-message-operator-fontFamily`],[`message-operator-line-height`,`components-message-operator-lineHeight`]]);let p=e.components;n(p?.iconButton,`icon-btn-`,[[`background`,`bg`],[`border`,`border`],[`color`,`color`],[`padding`,`padding`],[`borderRadius`,`radius`],[`hoverBackground`,`hover-bg`],[`hoverColor`,`hover-color`],[`activeBackground`,`active-bg`],[`activeBorder`,`active-border`]]),n(p?.labelButton,`label-btn-`,[[`background`,`bg`],[`border`,`border`],[`color`,`color`],[`padding`,`padding`],[`borderRadius`,`radius`],[`hoverBackground`,`hover-bg`],[`fontSize`,`font-size`],[`gap`,`gap`]]),n(p?.toggleGroup,`toggle-group-`,[[`gap`,`gap`],[`borderRadius`,`radius`]]);let m=p?.artifact;if(m?.toolbar){let r=m.toolbar;n(r,`artifact-toolbar-icon-`,[[`iconHoverColor`,`hover-color`],[`iconHoverBackground`,`hover-bg`],[`iconPadding`,`padding`],[`iconBorderRadius`,`radius`],[`iconBorder`,`border`]]),r.toggleGroupGap&&(t[`--persona-artifact-toolbar-toggle-group-gap`]=Wa(r.toggleGroupGap)),r.toggleBorderRadius&&(t[`--persona-artifact-toolbar-toggle-radius`]=r.toggleBorderRadius),r.toggleGroupPadding&&(t[`--persona-artifact-toolbar-toggle-group-padding`]=Wa(r.toggleGroupPadding)),n(r,`artifact-toolbar-toggle-group-`,[[`toggleGroupBorder`,`border`],[`toggleGroupBorderRadius`,`radius`]]),r.toggleGroupBackground&&(t[`--persona-artifact-toolbar-toggle-group-bg`]=za(e,r.toggleGroupBackground)??r.toggleGroupBackground),n(r,`artifact-toolbar-copy-`,[[`copyBackground`,`bg`],[`copyBorder`,`border`],[`copyColor`,`color`]]),r.copyBorderRadius&&(t[`--persona-artifact-toolbar-copy-radius`]=Wa(r.copyBorderRadius)),r.copyPadding&&(t[`--persona-artifact-toolbar-copy-padding`]=r.copyPadding),r.copyMenuBackground&&(t[`--persona-artifact-toolbar-copy-menu-bg`]=r.copyMenuBackground,t[`--persona-dropdown-bg`]=t[`--persona-dropdown-bg`]??r.copyMenuBackground),r.copyMenuBorder&&(t[`--persona-artifact-toolbar-copy-menu-border`]=r.copyMenuBorder,t[`--persona-dropdown-border`]=t[`--persona-dropdown-border`]??r.copyMenuBorder),r.copyMenuShadow&&(t[`--persona-artifact-toolbar-copy-menu-shadow`]=r.copyMenuShadow,t[`--persona-dropdown-shadow`]=t[`--persona-dropdown-shadow`]??r.copyMenuShadow),r.copyMenuBorderRadius&&(t[`--persona-artifact-toolbar-copy-menu-radius`]=r.copyMenuBorderRadius,t[`--persona-dropdown-radius`]=t[`--persona-dropdown-radius`]??r.copyMenuBorderRadius),r.copyMenuItemHoverBackground&&(t[`--persona-artifact-toolbar-copy-menu-item-hover-bg`]=r.copyMenuItemHoverBackground,t[`--persona-dropdown-item-hover-bg`]=t[`--persona-dropdown-item-hover-bg`]??r.copyMenuItemHoverBackground),n(r,`artifact-toolbar-`,[[`iconBackground`,`icon-bg`],[`toolbarBorder`,`border`]])}if(m?.tab){let e=m.tab;n(e,`artifact-tab-`,[[`background`,`bg`],[`activeBackground`,`active-bg`],[`activeBorder`,`active-border`],[`borderRadius`,`radius`],[`textColor`,`color`],[`hoverBackground`,`hover-bg`],[`listBackground`,`list-bg`],[`listBorderColor`,`list-border-color`],[`listPadding`,`list-padding`]])}if(m?.pane){let n=m.pane;n.toolbarBackground&&(t[`--persona-artifact-toolbar-bg`]=za(e,n.toolbarBackground)??n.toolbarBackground)}n(m?.card,`artifact-card-`,[[`background`,`bg`,!0],[`border`,`border`],[`borderRadius`,`radius`,!0],[`hoverBackground`,`hover-bg`,!0],[`hoverBorderColor`,`hover-border`,!0]]),n(m?.inline,`artifact-inline-`,[[`background`,`bg`,!0],[`border`,`border`],[`borderRadius`,`radius`,!0],[`chromeBackground`,`chrome-bg`,!0],[`chromeBorder`,`chrome-border`,!0],[`titleColor`,`title-color`,!0],[`mutedColor`,`muted-color`,!0],[`frameHeight`,`frame-height`]]);let h=p?.code;h&&(n(h,`code-`,[[`keywordColor`,`keyword-color`],[`stringColor`,`string-color`],[`commentColor`,`comment-color`],[`numberColor`,`number-color`],[`tagColor`,`tag-color`],[`attrColor`,`attr-color`],[`propertyColor`,`property-color`],[`lineNumberColor`,`line-number-color`],[`gutterBorderColor`,`gutter-border-color`]]),h.background&&(t[`--persona-code-bg`]=za(e,h.background)??h.background));let g=t[`--persona-surface`],_=t[`--persona-container`],v=t[`--persona-palette-colors-gray-100`]??`#f3f4f6`,y=t[`--persona-palette-colors-gray-200`]??`#e5e7eb`,b=t[`--persona-palette-colors-gray-300`]??`#d1d5db`,x=!_||_===g,S=Ka(g??t[`--persona-background`]),C=x&&S!==void 0&&S<.179,ee=C?`rgba(255, 255, 255, 0.08)`:v,w=C?`rgba(255, 255, 255, 0.12)`:y,T=C?`rgba(255, 255, 255, 0.16)`:b,te=x?ee:_,E=x?w:_;return t[`--persona-icon-btn-hover-bg`]=t[`--persona-icon-btn-hover-bg`]??te,t[`--persona-icon-btn-active-bg`]=t[`--persona-icon-btn-active-bg`]??E,x&&(t[`--persona-icon-btn-active-border`]=t[`--persona-icon-btn-active-border`]??T),t[`--persona-label-btn-hover-bg`]=t[`--persona-label-btn-hover-bg`]??te,t[`--persona-artifact-tab-hover-bg`]=t[`--persona-artifact-tab-hover-bg`]??te,t[`--persona-artifact-card-hover-bg`]=t[`--persona-artifact-card-hover-bg`]??te,t}const $a=e=>!!e&&`launcher`in e&&(e.launcher?.sidebarMode===!0||e.launcher?.mountMode===`docked`),eo=(e,t)=>{if(!t||!$a(t))return e;let n=t.theme?.components?.panel?.width,r=t.darkTheme?.components?.panel?.width;return(uo(t)===`dark`?r??n:n)==null?{...e,components:{...e.components,panel:{...e.components.panel,width:fe(t)===`v5`?`400px`:`420px`}}}:e},to={colors:{primary:{50:`#ffffff`,100:`#f5f5f5`,200:`#d4d4d4`,300:`#a3a3a3`,400:`#737373`,500:`#171717`,600:`#0f0f0f`,700:`#0a0a0a`,800:`#050505`,900:`#030303`,950:`#000000`},secondary:{50:`#f5f3ff`,100:`#ede9fe`,200:`#ddd6fe`,300:`#c4b5fd`,400:`#a78bfa`,500:`#8b5cf6`,600:`#7c3aed`,700:`#6d28d9`,800:`#5b21b6`,900:`#4c1d95`,950:`#2e1065`},accent:{50:`#ecfeff`,100:`#cffafe`,200:`#a5f3fc`,300:`#67e8f9`,400:`#22d3ee`,500:`#06b6d4`,600:`#0891b2`,700:`#0e7490`,800:`#155e75`,900:`#164e63`,950:`#083344`},gray:{50:`#f9fafb`,100:`#f3f4f6`,200:`#e5e7eb`,300:`#d1d5db`,400:`#9ca3af`,500:`#6b7280`,600:`#4b5563`,700:`#374151`,800:`#1f2937`,900:`#111827`,950:`#030712`},success:{50:`#f0fdf4`,100:`#dcfce7`,200:`#bbf7d0`,300:`#86efac`,400:`#4ade80`,500:`#22c55e`,600:`#16a34a`,700:`#15803d`,800:`#166534`,900:`#14532d`},warning:{50:`#fefce8`,100:`#fef9c3`,200:`#fef08a`,300:`#fde047`,400:`#facc15`,500:`#eab308`,600:`#ca8a04`,700:`#a16207`,800:`#854d0e`,900:`#713f12`},error:{50:`#fef2f2`,100:`#fee2e2`,200:`#fecaca`,300:`#fca5a5`,400:`#f87171`,500:`#ef4444`,600:`#dc2626`,700:`#b91c1c`,800:`#991b1b`,900:`#7f1d1d`}}},no={components:{button:{ghost:{hoverBackground:`rgba(255, 255, 255, 0.08)`}},markdown:{link:{foreground:`palette.colors.primary.300`}},eventStream:{badge:{flow:{background:`palette.colors.success.900`,foreground:`palette.colors.success.300`},step:{background:`palette.colors.primary.800`,foreground:`palette.colors.primary.200`},reasoning:{background:`palette.colors.warning.900`,foreground:`palette.colors.warning.300`},tool:{background:`palette.colors.purple.900`,foreground:`palette.colors.purple.300`},agent:{background:`palette.colors.teal.900`,foreground:`palette.colors.teal.300`},error:{background:`palette.colors.error.900`,foreground:`palette.colors.error.300`},default:{background:`palette.colors.gray.800`,foreground:`palette.colors.gray.300`}}},history:{dangerForeground:`#f87171`,confirm:{dangerBackground:`palette.colors.error.600`,scrim:`rgba(0, 0, 0, 0.6)`}}}},ro=to,io={...ro,colors:{...ro.colors,primary:{50:`#0f0f10`,100:`#27272a`,200:`#3f3f46`,300:`#52525b`,400:`#71717a`,500:`#f4f4f5`,600:`#e4e4e7`,700:`#d4d4d8`,800:`#a1a1aa`,900:`#fafafa`,950:`#ffffff`},gray:{50:`#1a1a1b`,100:`#27272a`,200:`#2a2a2d`,300:`#52525b`,400:`#71717a`,500:`#a1a1aa`,600:`#b4b4bd`,700:`#d4d4d8`,800:`#e4e4e7`,900:`#f4f4f5`,950:`#fafafa`}}},ao=no,oo={semantic:{colors:{primary:`palette.colors.primary.500`,accent:`palette.colors.primary.600`,background:`#0f0f10`,surface:`palette.colors.gray.50`,container:`#1c1c20`,text:`palette.colors.gray.900`,textMuted:`palette.colors.gray.500`,textInverse:`#0f0f10`,border:`palette.colors.gray.200`,divider:`palette.colors.gray.200`,interactive:{default:`palette.colors.primary.600`,hover:`palette.colors.primary.700`,focus:`palette.colors.primary.600`,active:`palette.colors.primary.600`}}},components:{...no.components,button:{...no.components?.button,primary:{background:`semantic.colors.primary`,foreground:`palette.colors.primary.50`}},markdown:{inlineCode:{background:`palette.colors.gray.100`,foreground:`semantic.colors.text`},link:{foreground:`semantic.colors.accent`},codeBlock:{background:`semantic.colors.container`,borderColor:`semantic.colors.border`,textColor:`semantic.colors.text`},table:{headerBackground:`palette.colors.gray.100`,borderColor:`semantic.colors.border`},blockquote:{background:`semantic.colors.container`,borderColor:`palette.colors.gray.300`,textColor:`semantic.colors.textMuted`}},eventStream:{...no.components?.eventStream,badge:{...no.components?.eventStream?.badge,step:{background:`palette.colors.gray.100`,foreground:`palette.colors.gray.700`},default:{background:`palette.colors.gray.100`,foreground:`palette.colors.gray.700`}}}}},so=e=>fe({future:e})===`v5`?{palette:io,components:oo}:{palette:ro,components:ao},Y=e=>{if(e&&typeof e==`object`&&!Array.isArray(e))return e},co=()=>typeof document<`u`&&document.documentElement.classList.contains(`dark`)||typeof window<`u`&&window.matchMedia?.(`(prefers-color-scheme: dark)`).matches?`dark`:`light`,lo=e=>{let t=e?.colorScheme??r(e?.brand)??`light`;return t===`light`?`light`:t===`dark`?`dark`:co()},uo=e=>lo(e),fo=(e,t={})=>Ua(e,t),po=(e,t={})=>{let n=so(t.future),r=i(n.components,e??{})??{};return Ua({...r,palette:{...r.palette,colors:fe(t)===`v5`?i(n.palette.colors,r.palette?.colors):{...n.palette.colors,...r.palette?.colors}}},{validate:!1,future:t.future})},mo=e=>{let n=uo(e),r=i(m(e?.brand,n,Ra(e?.future).components,e?.future?.v5Defaults),Y(e?.theme)),a=Sa(e)===`circle`?Ca:{...Fa.launcher,...e?.future?.v5Defaults?{offset:`1.5rem`}:{}},o=tn(e),s=i({components:{launcher:a,...o?{panel:{background:`transparent`,modes:{inline:{border:`none`,shadow:`none`,borderRadius:`0`}}},header:{background:`transparent`},message:{background:`transparent`},composer:{footerBackground:`transparent`,footerBorder:`none`,overlayBand:`transparent`}}:{}}},r),c=Y(e?.darkTheme),u=eo(n===`dark`?po(i(s??{},c??{}),{future:e?.future}):fo(s,{future:e?.future}),e);return Object.defineProperty(u,ho,{value:[...l,`suggestion.chip.padding`,`suggestion.chip.fontWeight`].filter(r=>t(e,r,n))}),u},ho=Symbol(`persona.themeConsumerPaths`),go=e=>{let t=Qa(e);t[`--persona-suggestion-compat-padding`]=`6px 12px`,t[`--persona-suggestion-compat-weight`]=`500`;for(let n of e[ho]??[]){let e=n.split(`.`).join(`-`),r=t[`--persona-components-${e}`];r!==void 0&&(t[n===`suggestion.chip.padding`?`--persona-suggestion-compat-padding`:n===`suggestion.chip.fontWeight`?`--persona-suggestion-compat-weight`:`--persona-consumer-${e}`]=r)}return t},_o=/* @__PURE__ */ new WeakMap,vo=(e,t)=>{yo(e,go(mo(t)),t)},yo=(e,t,n)=>{for(let n of _o.get(e)??[])n in t||e.style.removeProperty(n);_o.set(e,Object.keys(t));for(let[n,r]of Object.entries(t))e.style.setProperty(n,r);e.setAttribute(`data-persona-color-scheme`,uo(n)),e.setAttribute(`data-persona-defaults`,fe(n))},bo=e=>{let t=[];if(typeof document<`u`&&typeof MutationObserver<`u`){let n=new MutationObserver(()=>{e(co())});n.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),t.push(()=>n.disconnect())}if(typeof window<`u`&&window.matchMedia){let n=window.matchMedia(`(prefers-color-scheme: dark)`),r=()=>e(co());n.addEventListener?(n.addEventListener(`change`,r),t.push(()=>n.removeEventListener(`change`,r))):n.addListener&&(n.addListener(r),t.push(()=>n.removeListener(r)))}return()=>{t.forEach(e=>e())}},xo=(e,t)=>e?.layout?.contentMaxWidth??(t?e?.launcher?.composerBar?.contentMaxWidth??`720px`:`768px`),So=(e,t)=>t||e?.composer?.placement!==`overlay`?`block`:`overlay`,Co=e=>{if(typeof e!=`string`)return null;let t=/^\s*(\d+(?:\.\d+)?)\s*%\s*$/.exec(e);if(!t)return null;let n=Number(t[1])/100;return n>0&&n<1?n:null},wo=e=>Math.max(0,Math.round(e.columnHeight*(1-e.fraction))-e.footerHeight),To=()=>{if(typeof navigator>`u`)return!1;let e=navigator.userAgentData?.platform??navigator.platform??``;return/mac|iphone|ipad|ipod/i.test(e)},Eo=(e,t)=>{console.warn(`[persona] ${e} shortcut: ${t}`)},Do=e=>{let t=e.toLowerCase().split(`+`).map(e=>e.trim()),n=t.pop(),r={key:n,mod:!1,shift:!1,alt:!1};for(let n of t)if(n===`mod`||n===`cmd`||n===`ctrl`)r.mod=!0;else if(n===`shift`)r.shift=!0;else if(n===`alt`||n===`option`)r.alt=!0;else return Eo(`unknown modifier in`,e),null;return!r.mod||r.shift&&r.alt||/^(enter|esc(ape)?)$/.test(n)||!/^([^+\s]|[a-z]{2,12})$/.test(n)?(Eo(`unsupported`,e),null):(n===`space`&&(r.key=` `),r)},Oo=e=>`ArrowUp ArrowDown ArrowLeft ArrowRight PageUp PageDown Space`.split(` `).find(t=>t.toLowerCase()===e)??(e===` `?`Space`:e.length===1?e.toUpperCase():e[0].toUpperCase()+e.slice(1)),ko=(e,t)=>{let n=Do(e);if(!n)return``;let r=To(),i=Oo(n.key);if(!t&&r)return`${n.alt?`⌥`:``}${n.shift?`⇧`:``}⌘${i}`;let a=[t?r?`Meta`:`Control`:`Ctrl`];return n.alt&&a.push(`Alt`),n.shift&&a.push(`Shift`),a.push(i),a.join(`+`)},Ao=e=>ko(e,!1),jo=e=>ko(e,!0),Mo=(e,t)=>t.key?.toLowerCase()===e.key&&(To()?t.metaKey:t.ctrlKey)===e.mod&&!(To()?t.ctrlKey:t.metaKey)&&t.shiftKey===e.shift&&t.altKey===e.alt,No=e=>{if(!(e instanceof HTMLElement))return!1;let t=e.tagName;return t===`INPUT`||t===`TEXTAREA`||t===`SELECT`||e.isContentEditable},Po=e=>{let t=/* @__PURE__ */ new Map,n=e?.ownerDocument??(typeof document<`u`?document:null),r=(t,n)=>{if((t.scope??`widget`)===`page`)return!0;if(!e)return!1;let r=n.composedPath?.();return r?.length?r.includes(e):e.contains(n.target)},i=e=>{if(e.isComposing||!t.size)return;let n=e.composedPath?.()[0]??e.target;for(let i of t.values())if(Mo(i.parsed,e)&&i.when?.()!==!1&&r(i,e)&&(i.allowInInput||!No(n))){e.preventDefault();try{i.run(e)}catch(e){Eo(`${i.id} threw on`,i.combo),console.warn(e)}return}};return n?.addEventListener(`keydown`,i),{register(e){let n=Do(e.combo);if(!n)return()=>{};let r=`${n.mod?`m`:``}${n.shift?`s`:``}${n.alt?`a`:``}${n.key}`,i=t.get(r);return i?(Eo(`${i.id} already owns`,e.combo),()=>{}):(t.set(r,{...e,parsed:n}),e.element?.setAttribute(`aria-keyshortcuts`,jo(e.combo)),()=>{t.get(r)?.id===e.id&&t.delete(r),e.element?.removeAttribute(`aria-keyshortcuts`)})},destroy(){t.clear(),n?.removeEventListener(`keydown`,i)}}},Fo=(e,t,n={})=>{let{preserveTypingAnimation:r=!0}=n;On.morph(e,t.innerHTML,{morphStyle:`innerHTML`,callbacks:{beforeNodeMorphed(e,t){if(e instanceof HTMLElement){if(t instanceof HTMLElement&&t.hasAttribute(`data-persona-reuse`)&&e.id===t.id)return!1;if(r){if(e.classList.contains(`persona-animate-typing`)||e.hasAttribute(`data-preserve-runtime`))return!1;if(e.hasAttribute(`data-tool-elapsed`))return t instanceof HTMLElement&&t.getAttribute(`data-tool-elapsed`)===e.getAttribute(`data-tool-elapsed`)?!1:void 0;if(e.hasAttribute(`data-preserve-animation`))return t instanceof HTMLElement&&(!t.hasAttribute(`data-preserve-animation`)||(e.dataset.personaLoadingLabel?e.dataset.personaLoadingAnimation!==t.dataset.personaLoadingAnimation:e.textContent!==t.textContent))&&void 0}}}}})},Io=e=>e.replace(/^\n+/,``).replace(/\s+$/,``),Lo={index:-1,draft:``};function Ro(e){let{direction:t,history:n,currentValue:r,atStart:i,state:a}=e,o=a.index!==-1;if(n.length===0)return{handled:!1,state:a};if(t===`up`){if(!o&&!i)return{handled:!1,state:a};if(!o){let e=n.length-1;return{handled:!0,value:n[e],state:{index:e,draft:r}}}if(a.index>0){let e=a.index-1;return{handled:!0,value:n[e],state:{index:e,draft:a.draft}}}return{handled:!0,state:a}}if(!o)return{handled:!1,state:a};if(a.index<n.length-1){let e=a.index+1;return{handled:!0,value:n[e],state:{index:e,draft:a.draft}}}return{handled:!0,value:a.draft,state:{index:-1,draft:a.draft}}}const zo=/* @__PURE__ */ new WeakMap;function Bo(e){if(typeof e==`string`)return e.length;if(!e)return 0;if(typeof e!=`object`)return JSON.stringify(e)?.length??0;let t=zo.get(e);return t===void 0&&(t=JSON.stringify(e)?.length??0,zo.set(e,t)),t}function Vo(e,t){return[e.id,e.role,e.author?.id??``,e.author?.displayName??``,e.author?.kind??``,e.content?.length??0,e.content?.slice(-32)??``,e.streaming?`1`:`0`,e.voiceProcessing?`1`:`0`,e.variant??``,e.dispatchError?`1`:`0`,e.rawContent?.length??0,e.llmContent?.length??0,e.approval?.status??``,e.toolCall?.status??``,e.toolCall?.name??``,e.toolCall?.chunks?.length??0,e.toolCall?.chunks?.[e.toolCall.chunks.length-1]?.slice(-32)??``,Bo(e.toolCall?.args),e.reasoning?.chunks?.length??0,e.reasoning?.chunks?.[e.reasoning.chunks.length-1]?.length??0,e.reasoning?.chunks?.[e.reasoning.chunks.length-1]?.slice(-32)??``,e.contentParts?.length??0,e.stopReason??``,e.toolCall?.actionTitle??``,t].join(`\0`)}function Ho(){return/* @__PURE__ */ new Map}function Uo(e,t,n){let r=e.get(t);return r&&r.fingerprint===n?r.wrapper:null}function Wo(e,t,n,r){e.set(t,{fingerprint:n,wrapper:r})}function Go(e,t){for(let n of e.keys())t.has(n)||e.delete(n)}const{setLoader:Ko,load:qo}=v({fallbackImport:()=>import(`./chunk-Dg7uqL8l.js`)}),Jo=qo;function Yo(e,t=Ke){let n=e.style.position,r=e.style.zIndex,i=e.style.isolation,a=getComputedStyle(e),o=a.position===`static`||a.position===``;return o&&(e.style.position=`relative`),e.style.zIndex=String(t),e.style.isolation=`isolate`,()=>{o&&(e.style.position=n),e.style.zIndex=r,e.style.isolation=i}}let Xo=0,Zo=null;function Qo(e=document){if(Xo++,Xo===1){let t=e.body,n=(e.defaultView??window).scrollY||e.documentElement.scrollTop;Zo={originalOverflow:t.style.overflow,originalPosition:t.style.position,originalTop:t.style.top,originalWidth:t.style.width,scrollY:n},t.style.overflow=`hidden`,t.style.position=`fixed`,t.style.top=`-${n}px`,t.style.width=`100%`}let t=!1;return()=>{if(!t&&(t=!0,Xo=Math.max(0,Xo-1),Xo===0&&Zo)){let t=e.body,n=e.defaultView??window;t.style.overflow=Zo.originalOverflow,t.style.position=Zo.originalPosition,t.style.top=Zo.originalTop,t.style.width=Zo.originalWidth,n.scrollTo(0,Zo.scrollY),Zo=null}}}const $o={side:`right`,width:`420px`,animate:!0,reveal:`resize`,maxHeight:`100dvh`},es=e=>(e?.launcher?.mountMode??`floating`)===`docked`,ts=e=>(e?.launcher?.mountMode??`floating`)===`composer-bar`,ns=e=>{let t=e?.launcher?.dock,n=nn(e).dockWidth?t?.width:za(mo(e),`components.panel.width`);return{side:t?.side??$o.side,width:n??$o.width,animate:t?.animate??$o.animate,reveal:t?.reveal??$o.reveal,maxHeight:t?.maxHeight??$o.maxHeight}},rs=e=>e.closest(`[data-persona-instance]`)?.dataset.personaInstance,is=e=>e===`followUp`?`follow-up`:e,as=(e,t=0)=>{if(typeof e==`string`){let t=e.trim();return t?{id:t,label:t,prompt:t,emphasis:`default`}:null}let n=e.label.trim();if(!n)return null;let r=e.prompt?.trim()||n;return{id:e.id?.trim()||r||`suggestion-${t}`,label:n,prompt:r,description:e.description?.trim()||void 0,icon:e.icon,iconColor:e.iconColor?.trim()||void 0,behavior:e.behavior,emphasis:e.emphasis??`default`}},os=/* @__PURE__ */ new WeakSet,ss=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,cs=e=>{ss()||e.forEach((e,t)=>{typeof e.animate==`function`&&e.animate([{opacity:`0`,transform:`translateY(4px)`},{opacity:`1`,transform:`none`}],{duration:250,delay:t*60,easing:`ease-out`,fill:`backwards`})})},ls=e=>{let{item:n,index:r,surface:i,source:a,variant:o,streaming:c,config:l,plugins:u,chipsConfig:d,session:f,getTextarea:p,eventTarget:m,submitPrompt:h}=e,g=i===`followUp`,_=n.behavior,v=()=>{if(f.isStreaming()||m.closest(`[inert]`))return;let e={instanceId:rs(m),suggestion:{...n},surface:i,source:a,behavior:_},t=m.dispatchEvent(new CustomEvent(`persona:suggestion:selected`,{detail:e,bubbles:!0,composed:!0,cancelable:!0}));if(g&&m.dispatchEvent(new CustomEvent(`persona:suggestReplies:selected`,{detail:{instanceId:rs(m),suggestion:n.prompt},bubbles:!0,composed:!0})),!t)return;for(let e of u)if(e.onSuggestionSelect?.({suggestion:{...n},surface:i,source:a,variant:o,config:l})===!1)return;let r=p();_===`fill`?(r.value=n.prompt,r.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0})),r.focus()):h?h(n.prompt):(r.value=``,f.sendMessage(n.prompt))},y=()=>{let e=k(`button`,`persona-suggestion persona-suggestion--${o}`);if(e.type=`button`,e.disabled=c,e.dataset.suggestionId=n.id,e.dataset.emphasis=n.emphasis,e.dataset.behavior=_,o===`chip`){let n=l.suggestionChipsConfig===d?l:{suggestionChipsConfig:d},r=e=>s(n,`suggestionChipsConfig.${e}`),i=e=>t(l,`suggestion.chip.${e}`,`light`)||t(l,`suggestion.chip.${e}`,`dark`);d?.fontWeight&&(e.style.fontWeight=!r(`fontWeight`)&&i(`fontWeight`)?`var(--persona-suggestion-compat-weight, 500)`:d.fontWeight);let a=i(`padding`);a&&(e.classList.add(`persona-theme-padding`),e.style.setProperty(`--persona-theme-padding`,`var(--persona-suggestion-compat-padding, 6px 12px)`)),d?.paddingX&&(r(`paddingX`)||!a)&&(e.style.paddingLeft=d.paddingX,e.style.paddingRight=d.paddingX),d?.paddingY&&(r(`paddingY`)||!a)&&(e.style.paddingTop=d.paddingY,e.style.paddingBottom=d.paddingY)}if(n.icon){let t=T(n.icon,`var(--persona-suggestion-icon-size)`,`currentColor`,1.8);t&&(t.classList.add(`persona-suggestion__icon`),n.iconColor&&(t.style.color=n.iconColor),e.appendChild(t))}let r=k(`span`,`persona-suggestion__copy`);if(r.appendChild(O(`span`,{className:`persona-suggestion__label`,text:n.label})),n.description&&o!==`chip`&&r.appendChild(O(`span`,{className:`persona-suggestion__description`,text:n.description})),e.appendChild(r),o!==`chip`){let t=b(vn,16,`currentColor`,1.8);t&&(t.classList.add(`persona-suggestion__arrow`),e.appendChild(t))}return e.addEventListener(`click`,v),e},x=null;for(let e of u)if(e.renderSuggestion&&(x=e.renderSuggestion({suggestion:{...n},index:r,surface:i,source:a,variant:o,streaming:c,config:l,defaultRenderer:y,select:v}),x))break;return x??=y(),x.dataset.suggestionId||=n.id,x.dataset.behavior||=_,x.dataset.emphasis||=n.emphasis,x instanceof HTMLButtonElement||x.setAttribute(`aria-disabled`,c?`true`:`false`),x},us=e=>{let t=[],n=[],r=null,i=null,a=()=>{e.removeAttribute(`data-scroll-left`),e.removeAttribute(`data-scroll-right`)},o=()=>{if(i=null,e.toggleAttribute(`data-edge-to-edge`,e.hasAttribute(`data-hide-scrollbar`)&&(e.hasAttribute(`data-persona-composer-suggestions`)||e.dataset.personaSuggestions===`follow-up`)&&e.dataset.variant===`chip`&&e.dataset.overflow===`scroll`),e.hasAttribute(`data-edge-to-edge`)&&e.parentElement){let t=e.parentElement,n=getComputedStyle(t),r=parseFloat(n.paddingLeft)||0,i=parseFloat(n.paddingRight)||0;e.style.setProperty(`--persona-suggestion-bleed-left`,`${r}px`),e.style.setProperty(`--persona-suggestion-bleed-right`,`${i}px`);let a=t.closest(`.persona-widget-container`)?.querySelector(`form`),o=t.getBoundingClientRect(),s=a?.getBoundingClientRect();e.style.setProperty(`--persona-suggestion-inset-left`,`${s?.width?s.left-o.left:r}px`),e.style.setProperty(`--persona-suggestion-inset-right`,`${s?.width?o.right-s.right:i}px`)}if(e.hidden||e.dataset.variant!==`chip`||e.dataset.overflow!==`scroll`){a();return}let t=Math.max(0,e.scrollWidth-e.clientWidth);if(t<=1){a();return}let n=getComputedStyle(e).direction===`rtl`,r=Math.min(t,Math.max(0,Math.abs(e.scrollLeft))),o=r<=4,s=r>=t-4,c=n?!s:!o,l=n?!o:!s;e.toggleAttribute(`data-scroll-left`,c),e.toggleAttribute(`data-scroll-right`,l)},s=()=>{i!==null||typeof requestAnimationFrame!=`function`?typeof requestAnimationFrame!=`function`&&o():i=requestAnimationFrame(o)};e.addEventListener(`scroll`,s,{passive:!0});let c=typeof ResizeObserver==`function`?new ResizeObserver(s):null;return c?.observe(e),{buttons:t,elements:n,destroy:()=>{e.removeEventListener(`scroll`,s),c?.disconnect(),i!==null&&typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(i),i=null},render:(i,c,l,u,d,f)=>{e.replaceChildren(),t.length=0,n.length=0;let p=f?.source??`config`,m=f?.surface??(p===`config`?`starter`:`followUp`),h=m===`followUp`,g=f?.variant??`chip`,_=f?.behavior??`send`,v=f?.overflow??`wrap`,y=f?.config??{},b=f?.plugins??[];e.toggleAttribute(`data-hide-scrollbar`,y.future?.v5Defaults===!0),e.dataset.edgeStyle=y.suggestions?.[h?`followUps`:`starters`]?.edgeStyle??`fade`;let x=typeof f?.maxItems==`number`?Math.max(0,Math.floor(f.maxItems)):void 0,S=h?`followUps`:`starters`;!os.has(y)&&y.debug===!0&&g!==`chip`&&y.suggestions?.[S]?.overflow!==void 0&&(os.add(y),console.info(`[persona] suggestions.${S}.overflow applies to the "chip" variant only; the "${g}" variant manages its own stacking.`));let C=e=>e.map(as).filter(e=>e!==null).map(e=>({...e,behavior:e.behavior??_})),ee=C(i??[]);b.forEach(e=>{e.transformSuggestions&&(ee=C(e.transformSuggestions({suggestions:ee.map(e=>({...e})),surface:m,source:p,config:y})))});let w=x===void 0?ee:ee.slice(0,x);if(!w.length){e.hidden=!0,r=null,a();return}if(!h&&(u??c.getMessages()).some(e=>e.role===`user`)){e.hidden=!0,r=null;return}e.hidden=!1,e.classList.add(`persona-suggestions`),e.dataset.personaSuggestionSurface=is(m),e.dataset.variant=g,e.dataset.overflow=v;let T=document.createDocumentFragment(),te=c.isStreaming();w.forEach((r,i)=>{let a=ls({item:r,index:i,surface:m,source:p,variant:g,streaming:te,config:y,plugins:b,chipsConfig:d,session:c,getTextarea:()=>l,eventTarget:e,submitPrompt:f?.submitPrompt});T.appendChild(a),n.push(a),[...a instanceof HTMLButtonElement?[a]:[],...Array.from(a.querySelectorAll(`button`))].forEach(e=>{t.includes(e)||(e.disabled=te,t.push(e))})}),e.appendChild(T),o(),s();let E=JSON.stringify({normalized:w,surface:m,variant:g,source:p});E!==r&&(r=E,cs(n),e.dispatchEvent(new CustomEvent(`persona:suggestion:shown`,{detail:{instanceId:rs(e),suggestions:w.map(e=>({...e})),surface:m,source:p,variant:g},bubbles:!0,composed:!0})),h&&e.dispatchEvent(new CustomEvent(`persona:suggestReplies:shown`,{detail:{instanceId:rs(e),suggestions:w.map(e=>e.prompt)},bubbles:!0,composed:!0})))}}},ds={"bottom-right":`persona-bottom-6 persona-right-6`,"bottom-left":`persona-bottom-6 persona-left-6`,"top-right":`persona-top-6 persona-right-6`,"top-left":`persona-top-6 persona-left-6`},fs={x:[1.4,1.05]},ps=`persona-relative persona-ml-auto persona-inline-flex persona-items-center persona-justify-center`,ms=(e,t,n={})=>{let{iconSize:r,iconText:i}=n,[a,o]=fs[t]??[1,1.5],s=!r;e.classList.toggle(`persona-header-control--glyph`,s),e.classList.toggle(`persona-header-control--sparse`,s&&a!==1);let c=T(t,`${Math.round((parseFloat(r??``)||16)*a)}px`,`currentColor`,o);c?(c.style.display=`block`,s||(c.style.strokeWidth=`calc(var(--persona-components-header-controlStrokeWidth, 1.5) * ${Number((o/1.5).toFixed(4))})`),e.replaceChildren(c)):i&&(e.textContent=i)},hs=e=>{let{ariaLabel:t,tooltip:n=!0,tooltipHint:r,iconName:i,iconText:a,wrapperClassName:o=ps,size:s,iconSize:c,color:l,backgroundColor:u,borderWidth:d,borderColor:f,borderRadius:p,paddingX:m,paddingY:h,hidden:g,extraClassName:_,attrs:v}=e,y=k(`div`,o),b=!!(d||f),x=O(`button`,{className:We(`persona-header-control`,`persona-inline-flex persona-items-center persona-justify-center persona-cursor-pointer`,!u&&`persona-bg-transparent hover:persona-bg-gray-100`,!b&&`persona-border-none`,!p&&`persona-rounded-full`,_),attrs:{type:`button`,"aria-label":t,...v},style:{width:s,height:s,minWidth:s,minHeight:s,display:g?`none`:void 0,color:l||ys.actionIconColor,backgroundColor:u,border:b?`${d||`0px`} solid ${f||`transparent`}`:void 0,borderRadius:p,paddingLeft:m,paddingRight:m,paddingTop:h,paddingBottom:h}});return i?ms(x,i,{iconSize:c,iconText:a}):a&&(x.textContent=a),y.appendChild(x),Ee({anchor:x,trigger:y,text:()=>x.getAttribute(`aria-label`)??t,hint:r,enabled:n}),{button:x,wrapper:y}},gs=(e,t,n,r={})=>{let i=t?.launcher,a=i?.clearChat,o=e=>n===`close`?`launcher.closeButton${e[0].toUpperCase()}${e.slice(1)}`:`launcher.clearChat.${e===`color`?`iconColor`:e}`,s=e=>ce(t,o(e)),c=(e,r)=>De(t,`header.${n}`,e,r),l=(e,t,n)=>s(e)||c(t,n),u=r.buttonSize||s(`size`);D(e,u||c(`size`,`var(--persona-header-control-size, 32px)`),u),!u&&c(`size`,``)===``&&(e.style.width=e.style.height=``);let d=n===`close`?i?.closeButtonBackgroundColor:a?.backgroundColor;e.style.color=l(`color`,`foreground`,ys.actionIconColor),e.style.backgroundColor=s(`backgroundColor`)||(c(`background`,``)?c(`background`,d||`transparent`):d||``),e.classList.toggle(`hover:persona-bg-gray-100`,!d&&!s(`backgroundColor`)&&c(`background`,``)===``);let f=n===`close`?i?.closeButtonBorderWidth:a?.borderWidth,p=n===`close`?i?.closeButtonBorderColor:a?.borderColor,m=!!(f||p||c(`borderWidth`,``)||c(`borderColor`,``));e.style.border=m?`${l(`borderWidth`,`borderWidth`,f||`0px`)} solid ${l(`borderColor`,`borderColor`,p||`transparent`)}`:``,e.classList.toggle(`persona-border-none`,!m);let h=n===`close`?i?.closeButtonBorderRadius:a?.borderRadius;e.style.borderRadius=s(`borderRadius`)||(c(`borderRadius`,``)?c(`borderRadius`,`var(--persona-components-header-controlBorderRadius, 9999px)`):h||``),e.classList.toggle(`persona-rounded-full`,!e.style.borderRadius);let g=n===`close`?i?.closeButtonPaddingX:a?.paddingX,_=n===`close`?i?.closeButtonPaddingY:a?.paddingY,v=c(`padding`,`0px`);oe(e,v,s(`paddingX`)||(v===`0px`?g:void 0),s(`paddingY`)||(v===`0px`?_:void 0));let y=n===`close`?i?.closeButtonIconName??`x`:a?.iconName??`refresh-cw`;ms(e,y,{iconSize:r.iconSize,iconText:n===`close`?i?.closeButtonIconText??`×`:void 0});let b=e.querySelector(`svg`);if(b){let e=fs[y]?.[0]??1,t=c(`iconSize`,``);!r.iconSize&&t&&(b.style.width=b.style.height=`calc(${c(`iconSize`,`var(--persona-header-control-icon-size, 16px)`)} * ${e})`),c(`iconStrokeWidth`,``)&&(b.style.strokeWidth=`calc(${c(`iconStrokeWidth`,`var(--persona-components-header-controlStrokeWidth, 1.5)`)} * ${e===1?1:.7})`)}},_s=(e,t={})=>{let{showClose:n=!0,wrapperClassName:r=ps,buttonSize:i,iconSize:a}=t,o=e?.launcher??{},s=o.closeButtonTooltipText??`Close chat`,c=o.closeButtonShowTooltip??!0,{button:l,wrapper:u}=hs({ariaLabel:s,tooltip:c,iconName:o.closeButtonIconName??`x`,iconText:o.closeButtonIconText??`×`,wrapperClassName:r,size:i??o.closeButtonSize,iconSize:a,color:o.closeButtonColor,backgroundColor:o.closeButtonBackgroundColor,borderWidth:o.closeButtonBorderWidth,borderColor:o.closeButtonBorderColor,borderRadius:o.closeButtonBorderRadius,paddingX:o.closeButtonPaddingX,paddingY:o.closeButtonPaddingY,hidden:!n});return gs(l,e,`close`,{buttonSize:i,iconSize:a}),{button:l,wrapper:u}},vs=(e,t={})=>{let{wrapperClassName:n=`persona-relative persona-ml-auto persona-clear-chat-button-wrapper`,buttonSize:r,iconSize:i}=t,a=(e?.launcher??{}).clearChat??{},o=a.tooltipText??`Clear chat`,s=a.showTooltip??!0,{button:c,wrapper:l}=hs({ariaLabel:o,tooltip:s,iconName:a.iconName??`refresh-cw`,wrapperClassName:n,size:r??a.size,iconSize:i,color:a.iconColor,backgroundColor:a.backgroundColor,borderWidth:a.borderWidth,borderColor:a.borderColor,borderRadius:a.borderRadius,paddingX:a.paddingX,paddingY:a.paddingY});return gs(c,e,`clear`,{buttonSize:r,iconSize:i}),{button:c,wrapper:l}},ys={titleColor:`var(--persona-header-title-fg, var(--persona-primary, #0f0f0f))`,subtitleColor:`var(--persona-header-subtitle-fg, var(--persona-text-muted, var(--persona-muted, #9ca3af)))`,actionIconColor:`var(--persona-header-control-state-fg, var(--persona-header-action-icon-fg, var(--persona-muted, #9ca3af)))`,minHeight:`var(--persona-header-min-height, auto)`},bs={fontFamily:`var(--persona-components-header-title-fontFamily, inherit)`,fontSize:`var(--persona-components-header-title-fontSize, 1rem)`,fontWeight:`var(--persona-components-header-title-fontWeight, 600)`,lineHeight:`var(--persona-components-header-title-lineHeight, 1.5rem)`,letterSpacing:`var(--persona-components-header-title-letterSpacing, normal)`},xs={fontFamily:`var(--persona-components-header-subtitle-fontFamily, inherit)`,fontSize:`var(--persona-components-header-subtitle-fontSize, 0.75rem)`,fontWeight:`var(--persona-components-header-subtitle-fontWeight, inherit)`,lineHeight:`var(--persona-components-header-subtitle-lineHeight, 1rem)`,letterSpacing:`var(--persona-components-header-subtitle-letterSpacing, normal)`},Ss=e=>{let{config:t,showClose:n=!0}=e,r=O(`div`,{className:`persona-widget-header persona-flex persona-items-center persona-gap-3`,attrs:{"data-persona-theme-zone":`header`},style:{padding:`var(--persona-components-header-padding, 20px 24px)`,minHeight:ys.minHeight,backgroundColor:`var(--persona-header-bg, var(--persona-surface, #ffffff))`,borderBottomColor:`var(--persona-header-border, var(--persona-divider, #f1f5f9))`,boxShadow:`var(--persona-header-shadow, none)`,borderBottom:`var(--persona-header-border-bottom, 1px solid var(--persona-header-border, var(--persona-divider, #f1f5f9)))`}}),i=t?.launcher??{},a=i.headerIconSize??`40px`,o=i.closeButtonPlacement??`inline`,s=i.headerIconHidden??!1,c=i.headerIconName,l=O(`div`,{className:`persona-flex persona-items-center persona-justify-center persona-rounded-xl persona-text-xl`,style:{height:a,width:a,boxSizing:`content-box`,padding:`var(--persona-components-header-iconPadding, 0px)`,flexShrink:`0`,backgroundColor:`var(--persona-header-icon-bg, var(--persona-primary, #0f0f0f))`,color:`var(--persona-header-icon-fg, var(--persona-text-inverse, #ffffff))`}});if(!s){if(c){let e=parseFloat(a)||24,n=T(c,e*.6,`currentColor`,1);n?(n.style.width=`calc(${e}px * var(--persona-components-header-iconScale, 0.6))`,n.style.height=`calc(${e}px * var(--persona-components-header-iconScale, 0.6))`,l.replaceChildren(n)):l.textContent=t?.launcher?.agentIconText??`💬`}else if(t?.launcher?.iconUrl){let e=k(`img`);e.src=t.launcher.iconUrl,e.alt=``,e.className=`persona-rounded-xl persona-object-cover`,e.style.height=a,e.style.width=a,l.replaceChildren(e)}else l.textContent=t?.launcher?.agentIconText??`💬`}let u=k(`div`,`persona-flex persona-flex-col persona-flex-1 persona-min-w-0`),d=O(`span`,{className:`persona-text-base persona-font-semibold`,text:t?.launcher?.title??`Chat Assistant`,style:{color:ys.titleColor,...bs}}),f=O(`span`,{className:`persona-text-xs`,text:t?.launcher?.subtitle??`Here to help you get answers fast`,style:{color:ys.subtitleColor,...xs}});u.append(d,f),s?r.append(u):r.append(l,u);let p=i.clearChat??{},m=p.enabled??!0,h=p.placement??`inline`,g=null,_=null;if(m){let e=vs(t,{wrapperClassName:h===`top-right`?`persona-absolute persona-top-4 persona-z-50`:`persona-relative persona-ml-auto persona-clear-chat-button-wrapper`});g=e.button,_=e.wrapper,h===`top-right`&&(_.style.right=`48px`),h===`inline`&&r.appendChild(_)}let{button:v,wrapper:y}=_s(t,{showClose:n,wrapperClassName:o===`top-right`?`persona-absolute persona-top-4 persona-right-4 persona-z-50`:m&&h===`inline`?`persona-relative persona-inline-flex persona-items-center persona-justify-center`:`persona-relative persona-ml-auto persona-inline-flex persona-items-center persona-justify-center`});return o!==`top-right`&&r.appendChild(y),{header:r,iconHolder:l,headerTitle:d,headerSubtitle:f,closeButton:v,closeButtonWrapper:y,clearChatButton:g,clearChatButtonWrapper:_}},Cs=(e,t,n)=>{let r=n?.launcher??{},i=r.closeButtonPlacement??`inline`,a=r.clearChat?.placement??`inline`;e.appendChild(t.header),i===`top-right`&&(e.style.position=`relative`,e.appendChild(t.closeButtonWrapper)),t.clearChatButtonWrapper&&a===`top-right`&&(e.style.position=`relative`,e.appendChild(t.clearChatButtonWrapper))},ws=e=>{let t=Ss({config:e.config,showClose:e.showClose,onClose:e.onClose,onClearChat:e.onClearChat}),n=e.layoutHeaderConfig?.onTitleClick;if(n){let e=t.headerTitle.parentElement;e&&(e.style.cursor=`pointer`,e.setAttribute(`role`,`button`),e.setAttribute(`tabindex`,`0`),e.addEventListener(`click`,()=>n()),e.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n())}))}return t};function Ts(e,t,n){if(t?.length)for(let r of t){let{button:t,wrapper:i}=hs({ariaLabel:r.ariaLabel??r.label??r.id,iconName:r.icon,iconText:r.icon?void 0:r.label,tooltipHint:r.shortcut?Ao(r.shortcut):void 0,wrapperClassName:`persona-relative persona-inline-flex persona-items-center persona-justify-center`});if(t.setAttribute(`data-persona-header-action`,r.id),r.shortcut){let e=jo(r.shortcut);e&&t.setAttribute(`aria-keyshortcuts`,e)}if(r.menuItems?.length){let e=tr({items:r.menuItems,onSelect:e=>n?.(e),anchor:i,position:`bottom-right`});i.appendChild(e.element),t.addEventListener(`click`,t=>{t.stopPropagation(),e.toggle()})}else t.addEventListener(`click`,()=>n?.(r.id));e.appendChild(i)}}const Es={default:ws,minimal:e=>{let{config:t,showClose:n=!0,onClose:r,layoutHeaderConfig:i,onHeaderAction:a}=e,o=t?.launcher??{},s=k(`div`,`persona-flex persona-items-center persona-justify-between`);s.setAttribute(`data-persona-theme-zone`,`header`),s.style.minHeight=ys.minHeight,s.style.padding=`var(--persona-components-header-minimalPadding, var(--persona-components-header-padding, 16px 24px))`,s.style.backgroundColor=`var(--persona-header-bg, var(--persona-surface, #ffffff))`,s.style.borderBottomColor=`var(--persona-header-border, var(--persona-divider, #f1f5f9))`,s.style.boxShadow=`var(--persona-header-shadow, none)`,s.style.borderBottom=`var(--persona-header-border-bottom, 1px solid var(--persona-header-border, var(--persona-divider, #f1f5f9)))`;let c=i?.titleMenu,l,u;if(c){let e=V({label:o.title??`Chat Assistant`,menuItems:c.menuItems,onSelect:t=>{let n=n=>{n===!1&&e.element.dispatchEvent(new CustomEvent(`persona:title-menu-builtin`,{bubbles:!0,composed:!0,detail:{actionId:t,instanceId:e.element.closest(`[data-persona-instance]`)?.dataset.personaInstance}}))},r=c.onSelect(t);r instanceof Promise?r.then(n,()=>{}):n(r)},hover:c.hover,className:``});l=e.element,l.style.color=ys.titleColor,u=l.querySelector(`.persona-combo-btn-label`)??l}else{if(l=k(`div`,`persona-flex persona-min-w-0 persona-flex-1 persona-items-center persona-gap-1`),u=k(`span`,`persona-text-base persona-font-semibold persona-truncate`),u.style.color=ys.titleColor,Object.assign(u.style,bs),u.textContent=o.title??`Chat Assistant`,l.appendChild(u),i?.onTitleClick){l.style.cursor=`pointer`,l.setAttribute(`role`,`button`),l.setAttribute(`tabindex`,`0`);let e=i.onTitleClick;l.addEventListener(`click`,t=>{t.target.closest(`button`)||e()}),l.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e())})}let e=i?.titleRowHover;e&&(l.style.borderRadius=e.borderRadius??`10px`,l.style.padding=e.padding??`6px 4px 6px 12px`,l.style.margin=`-6px 0 -6px -12px`,l.style.border=`1px solid transparent`,l.style.transition=`background-color 0.15s ease, border-color 0.15s ease`,l.style.width=`fit-content`,l.style.flex=`none`,l.addEventListener(`mouseenter`,()=>{l.style.backgroundColor=e.background??``,l.style.borderColor=e.border??``}),l.addEventListener(`mouseleave`,()=>{l.style.backgroundColor=``,l.style.borderColor=`transparent`}))}s.appendChild(l);let d=`persona-relative persona-inline-flex persona-items-center persona-justify-center`,{button:f,wrapper:p}=_s(t,{showClose:n,wrapperClassName:d});r&&f.addEventListener(`click`,r);let m=k(`div`,`persona-flex persona-items-center persona-gap-1`);c||Ts(m,i?.trailingActions,i?.onAction??a);let h=o.clearChat??{},g=null,_=null;if(h.enabled??!0){let e=h.placement??`inline`,n=vs(t,{wrapperClassName:e===`top-right`?`persona-absolute persona-top-4 persona-z-50`:d});g=n.button,_=n.wrapper,e===`top-right`?_.style.right=`48px`:m.appendChild(_)}m.appendChild(p),s.appendChild(m);let v=k(`div`);v.style.display=`none`;let y=k(`span`);return y.style.display=`none`,{header:s,iconHolder:v,headerTitle:u,headerSubtitle:y,closeButton:f,closeButtonWrapper:p,clearChatButton:g,clearChatButtonWrapper:_}}},Ds=e=>Es[e]??Es.default,Os=(e,t,n)=>{if(t?.render){let r=t.render({config:e,onClose:n?.onClose,onClearChat:n?.onClearChat,trailingActions:t.trailingActions,onAction:t.onAction}),i=k(`div`);i.style.display=`none`;let a=k(`span`),o=k(`span`),s=k(`button`);s.style.display=`none`;let c=k(`div`);return c.style.display=`none`,{header:r,iconHolder:i,headerTitle:a,headerSubtitle:o,closeButton:s,closeButtonWrapper:c,clearChatButton:null,clearChatButtonWrapper:null}}let r=t?.layout??`default`,i=Ds(r)({config:e,showClose:t?.showCloseButton??n?.showClose??!0,onClose:n?.onClose,onClearChat:n?.onClearChat,layoutHeaderConfig:t,onHeaderAction:t?.onAction});return t&&(t.showIcon===!1&&(i.iconHolder.style.display=`none`),t.showTitle===!1&&(i.headerTitle.style.display=`none`),t.showSubtitle===!1&&(i.headerSubtitle.style.display=`none`),t.showCloseButton===!1&&(i.closeButton.style.display=`none`),t.showClearChat===!1&&i.clearChatButtonWrapper&&(i.clearChatButtonWrapper.style.display=`none`)),i};function ks(e,t){if(!t.defaultPrevented){for(let n of t.composedPath()){if(n===e)break;if(n instanceof Element&&n.matches(`button, input, textarea, select, a[href], label, [contenteditable]:not([contenteditable="false"]), [role="button"], [role="link"], [role="checkbox"], [role="radio"], [role="combobox"], [tabindex]`))return}(e.querySelector(`[data-persona-composer-input][contenteditable="true"]`)??e.querySelector(`textarea[data-persona-composer-input]`))?.focus()}}const As=e=>{let{config:t}=e,n=O(`div`,{className:`persona-widget-footer persona-border-t-persona-divider persona-bg-persona-surface persona-px-6 persona-py-4`,attrs:{"data-persona-theme-zone":`composer`}}),r=we(),i=O(`form`,{className:`persona-widget-composer persona-flex persona-flex-col persona-gap-2 persona-rounded-2xl persona-border persona-border-persona-border persona-bg-persona-input-background persona-px-4 persona-py-3`,attrs:{"data-persona-composer-form":``}}),{textarea:a,attachAutoResize:o}=be(t);o();let s=le(t),c=Se(t),l=se(t),u=_e(t),d=O(`div`,{className:`persona-widget-composer__header`,attrs:{"data-persona-composer-header":``},style:{display:`contents`}});i.append(d),l&&(d.append(l.previewsContainer),i.append(l.input)),i.append(a);let f=O(`div`,{className:`persona-widget-composer__actions persona-flex persona-items-center persona-justify-between persona-w-full`,attrs:{"data-persona-composer-actions":``}}),p=O(`div`,{className:`persona-widget-composer__left-actions persona-flex persona-items-center persona-gap-2`,attrs:{"data-persona-composer-actions-start":``}}),m=O(`div`,{className:`persona-widget-composer__right-actions persona-flex persona-items-center persona-gap-2`,attrs:{"data-persona-composer-actions-end":``}});return l&&p.append(l.wrapper),c&&m.append(c.wrapper),m.append(s.wrapper),f.append(p,m),i.append(f),i.addEventListener(`click`,e=>{ks(i,e)}),t?.statusIndicator?.mode===`transient`?n.append(r,u,i):n.append(r,i,u),{footer:n,suggestions:r,composerForm:i,header:d,textarea:a,sendButton:s.button,sendButtonWrapper:s.wrapper,micButton:c?.button??null,micButtonWrapper:c?.wrapper??null,statusText:u,attachmentButton:l?.button??null,attachmentButtonWrapper:l?.wrapper??null,attachmentInput:l?.input??null,attachmentPreviewsContainer:l?.previewsContainer??null,actionsRow:f,leftActions:p,rightActions:m,setSendButtonMode:s.setMode}},X=()=>{let e=O(`button`,{className:`persona-pill-peek`,attrs:{type:`button`,"data-persona-pill-peek":``,"aria-label":`Show conversation`,tabindex:`-1`}}),t=k(`span`,`persona-pill-peek__icon`),n=b(En,16,`currentColor`,1.5);n&&t.appendChild(n);let r=k(`span`,`persona-pill-peek__text`),i=k(`span`,`persona-pill-peek__caret`),a=b(bn,16,`currentColor`,1.5);return a&&i.appendChild(a),e.append(t,r,i),{root:e,textNode:r}},js=e=>{let{config:t}=e,n=O(`div`,{className:`persona-widget-footer persona-widget-footer--pill`,attrs:{"data-persona-theme-zone":`composer`}}),r=we(),i=_e(t);i.style.display=`none`;let{textarea:a,attachAutoResize:o}=be(t,{defaultMaxLines:5});o();let s=le(t),c=Se(t),l=se(t);l&&l.previewsContainer.classList.add(`persona-pill-composer__previews`);let u=O(`form`,{className:`persona-widget-composer persona-pill-composer`,attrs:{"data-persona-composer-form":``}}),d=O(`div`,{className:`persona-widget-composer__left-actions persona-pill-composer__left`,attrs:{"data-persona-composer-actions-start":``}});l&&d.append(l.wrapper);let f=O(`div`,{className:`persona-widget-composer__right-actions persona-pill-composer__right`,attrs:{"data-persona-composer-actions-end":``}});c&&f.append(c.wrapper),f.append(s.wrapper),u.addEventListener(`click`,e=>{ks(u,e)}),l&&u.append(l.input),u.append(d,a,f);let p=O(`div`,{className:`persona-pill-composer__header`,attrs:{"data-persona-composer-header":``},style:{display:`contents`}});n.append(p),l&&p.append(l.previewsContainer),n.append(r,u,i);let m=u;return{footer:n,suggestions:r,composerForm:u,header:p,textarea:a,sendButton:s.button,sendButtonWrapper:s.wrapper,micButton:c?.button??null,micButtonWrapper:c?.wrapper??null,statusText:i,attachmentButton:l?.button??null,attachmentButtonWrapper:l?.wrapper??null,attachmentInput:l?.input??null,attachmentPreviewsContainer:l?.previewsContainer??null,actionsRow:m,leftActions:d,rightActions:f,setSendButtonMode:s.setMode}},Ms=e=>{switch(e){case`max_tool_calls`:return`Tool limit reached.`;case`length`:return`Output token limit reached.`;case`content_filter`:return`The provider filtered this response.`;case`error`:return`Something went wrong generating this response.`;default:return null}},Ns=(e,t)=>{if(!e)return null;let n=Ms(e);if(n===null)return null;let r=t?.[e];return(r===void 0?n:r)||null},Ps=(e,t)=>O(`div`,{className:`persona-message-stop-reason persona-text-xs persona-mt-2 persona-italic`,attrs:{"data-stop-reason":e,role:`note`},style:{opacity:`0.75`},text:t}),Fs=e=>{let t=e.toLowerCase();return!t.startsWith(`data:image/svg+xml`)&&!!(/^(?:https?|blob):/i.test(e)||t.startsWith(`data:image/`)||!e.includes(`:`))},Is=e=>{let t=e.toLowerCase();return t.startsWith(`javascript:`)||t.startsWith(`data:text/html`)||t.startsWith(`data:text/javascript`)||t.startsWith(`data:text/xml`)||t.startsWith(`data:application/xhtml`)||t.startsWith(`data:image/svg+xml`)?!1:!!(/^(?:https?|blob):/i.test(e)||t.startsWith(`data:`)||!e.includes(`:`))},Ls=e=>!e.contentParts||e.contentParts.length===0?[]:e.contentParts.filter(e=>e.type===`image`&&typeof e.image==`string`&&e.image.trim().length>0),Rs=e=>!e.contentParts||e.contentParts.length===0?[]:e.contentParts.filter(e=>e.type===`audio`&&typeof e.audio==`string`&&e.audio.trim().length>0),zs=e=>!e.contentParts||e.contentParts.length===0?[]:e.contentParts.filter(e=>e.type===`video`&&typeof e.video==`string`&&e.video.trim().length>0),Bs=e=>!e.contentParts||e.contentParts.length===0?[]:e.contentParts.filter(e=>e.type===`file`&&typeof e.data==`string`&&e.data.trim().length>0),Vs=e=>{if(!e||e.length===0)return null;let t=O(`div`,{className:`persona-mention-context-row persona-message-mentions`,attrs:{"data-message-mentions":``}});t.style.display=`flex`;for(let n of e){let e=O(`div`,{className:`persona-mention-chip persona-mention-chip-readonly`,attrs:{"data-status":`ready`,title:n.label}}),r=k(`span`,`persona-mention-chip-icon`),i=T(n.iconName??`at-sign`,13,`currentColor`,2);i&&r.appendChild(i),e.appendChild(r),e.appendChild(O(`span`,{className:`persona-mention-chip-label`,text:n.label})),t.appendChild(e)}return t},Hs=(e,t)=>{let n=document.createDocumentFragment();for(let r of e)r.kind===`text`?n.appendChild(document.createTextNode(r.text)):n.appendChild(Ce(r.ref,{readonly:!0,render:t}));return n},Us=(e,t,n,r)=>{let i=Math.random().toString(36).slice(2,8),a=e=>`${i}:${e}`,o=n(t.map((e,t)=>e.kind===`text`?e.text:a(t)).join(``));if(!t.every((e,t)=>e.kind===`text`||o.includes(a(t)))){e.replaceChildren(Hs(t,r));return}e.innerHTML=o;let s=RegExp(`${i}:(\\d+)`),c=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),l=[];for(let e=c.nextNode();e;e=c.nextNode())l.push(e);for(let e of l){let n=e;for(let e=s.exec(n.data);e;e=s.exec(n.data)){let i=t[Number(e[1])],a=n.splitText(e.index);a.data=a.data.slice(e[0].length),i?.kind===`mention`&&a.parentNode?.insertBefore(Ce(i.ref,{readonly:!0,render:r}),a),n=a}}},Ws=(e,t,n)=>{if(e.length===0)return null;try{let r=k(`div`,`persona-flex persona-flex-col persona-gap-2`);r.setAttribute(`data-message-attachments`,`images`),t&&(r.style.marginBottom=`8px`);let i=0,a=!1,o=()=>{a||(a=!0,r.remove(),n?.())};return e.forEach((e,t)=>{let n=k(`img`);n.alt=e.alt?.trim()||`Attached image ${t+1}`,n.loading=`lazy`,n.decoding=`async`,n.referrerPolicy=`no-referrer`,n.style.display=`block`,n.style.width=`100%`,n.style.maxWidth=`320px`,n.style.maxHeight=`320px`,n.style.height=`auto`,n.style.objectFit=`contain`,n.style.borderRadius=`10px`,n.style.backgroundColor=`var(--persona-attachment-image-bg, var(--persona-container, #f3f4f6))`,n.style.border=`1px solid var(--persona-attachment-image-border, var(--persona-border, #e5e7eb))`;let a=!1;i+=1,n.addEventListener(`error`,()=>{a||(a=!0,i=Math.max(0,i-1),n.remove(),i===0&&o())}),n.addEventListener(`load`,()=>{a=!0}),Fs(e.image)?(n.src=e.image,r.appendChild(n)):(a=!0,i=Math.max(0,i-1),n.remove())}),i===0?(o(),null):r}catch{return n?.(),null}},Z=e=>{if(e.length===0)return null;try{let t=k(`div`,`persona-flex persona-flex-col persona-gap-2`);t.setAttribute(`data-message-attachments`,`audio`);let n=0;return e.forEach(e=>{if(!Is(e.audio))return;let r=k(`audio`);r.controls=!0,r.preload=`metadata`,r.src=e.audio,r.style.display=`block`,r.style.width=`100%`,r.style.maxWidth=`320px`,t.appendChild(r),n+=1}),n===0?(t.remove(),null):t}catch{return null}},Gs=e=>{if(e.length===0)return null;try{let t=k(`div`,`persona-flex persona-flex-col persona-gap-2`);t.setAttribute(`data-message-attachments`,`video`);let n=0;return e.forEach(e=>{if(!Is(e.video))return;let r=k(`video`);r.controls=!0,r.preload=`metadata`,r.src=e.video,r.style.display=`block`,r.style.width=`100%`,r.style.maxWidth=`320px`,r.style.maxHeight=`320px`,r.style.borderRadius=`10px`,r.style.backgroundColor=`var(--persona-attachment-image-bg, var(--persona-container, #f3f4f6))`,t.appendChild(r),n+=1}),n===0?(t.remove(),null):t}catch{return null}},Ks=e=>{if(e.length===0)return null;try{let t=k(`div`,`persona-flex persona-flex-col persona-gap-2`);t.setAttribute(`data-message-attachments`,`files`);let n=0;return e.forEach(e=>{if(!Is(e.data))return;let r=k(`a`);r.href=e.data,r.download=e.filename,r.target=`_blank`,r.rel=`noopener noreferrer`,r.textContent=e.filename,r.className=`persona-message-file-attachment`,r.style.display=`inline-flex`,r.style.alignItems=`center`,r.style.gap=`6px`,r.style.padding=`6px 10px`,r.style.borderRadius=`8px`,r.style.fontSize=`0.875rem`,r.style.textDecoration=`underline`,r.style.backgroundColor=`var(--persona-attachment-file-bg, var(--persona-container, #f3f4f6))`,r.style.border=`1px solid var(--persona-attachment-file-border, var(--persona-border, #e5e7eb))`,r.style.color=`inherit`,t.appendChild(r),n+=1}),n===0?(t.remove(),null):t}catch{return null}},qs=(e={})=>{let t=e.loadingIndicator,n=e.future?.v5Defaults;if((t?.variant??(n?`label`:`dots`))===`label`){let r=O(`div`,{className:`persona-loading-label`,attrs:{role:`status`}});n&&t?.showBubble!==!0&&r.classList.add(`persona-activity-row`,`persona-activity-header`);let i=e.features?.toolCallDisplay,a=t?.iconVisibility??(i?.grouped!==!1&&(i?.groupedMode??`collapsible`)===`collapsible`?i?.groupIconVisibility:void 0)??i?.iconVisibility,o=t?.iconName??`loader-circle`;if(a!==`never`&&(n||t?.iconName||t?.iconVisibility)){let e=T(o,16);e&&(e.classList.add(`persona-activity-icon`),e.dataset.loadingIconAnimation=t?.iconAnimation??(o===`loader-circle`?`spin`:`none`),r.appendChild(e))}let s=O(`span`,{text:t?.label??`Thinking…`});return r.appendChild(s),Zn()?.applyLoadingLabel(s,e,`waiting`),r}let r=k(`div`,`persona-flex persona-items-center persona-space-x-1 persona-h-5 persona-mt-2`);for(let e=0;e<3;e++){let t=k(`div`,`persona-animate-typing persona-rounded-full persona-h-1.5 persona-w-1.5`);t.style.backgroundColor=`currentColor`,t.style.opacity=`0.4`,t.style.animationDelay=`${e*250}ms`,r.appendChild(t)}let i=k(`span`,`persona-sr-only`);return i.textContent=`Loading`,r.appendChild(i),r},Js=(e,t,n)=>t?.({config:n??{},streaming:!0,location:e,defaultRenderer:()=>qs(n)})??qs(n),Ys=(e,t)=>{let n=k(`div`,`persona-flex-shrink-0 persona-w-8 persona-h-8 persona-rounded-full persona-flex persona-items-center persona-justify-center persona-text-sm`),r=t===`operator`,i=t===`user`?e.userAvatar:r?e.operatorAvatar:e.assistantAvatar,a=()=>{n.classList.add(...r?[`persona-bg-persona-container`,`persona-text-persona-text`,`persona-border`]:[t===`user`?`persona-bg-persona-accent`:`persona-bg-persona-primary`,`persona-text-white`])};if(i){if(i.startsWith(`http`)||i.startsWith(`/`)||i.startsWith(`data:`)){let e=k(`img`);e.src=i,e.alt=t===`user`?`User`:r?`Operator`:`Assistant`,e.className=`persona-w-full persona-h-full persona-rounded-full persona-object-cover`,n.appendChild(e)}else n.textContent=i,a()}else n.textContent=t===`user`?`U`:r?`O`:`A`,a();return n},Xs=(e,t,n=`div`)=>{let r=k(n,`persona-text-xs persona-text-persona-muted`),i=new Date(e.createdAt);return r.textContent=t.format?t.format(i):i.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}),r},Zs=/* @__PURE__ */ new Set([`persona-bg-persona-container`,`persona-text-persona-text`,`persona-border-persona-message-border`]),Qs=(e,t=`bubble`)=>{if(e===`operator`){let e=Qs(`assistant`,t).flatMap(e=>e===`persona-message-assistant-bubble`?[`persona-message-operator-bubble`]:Zs.has(e)?[]:[e]);return t===`flat`?[...e,`persona-px-3`]:e}let n=[`persona-message-bubble`];switch(t){case`flat`:e===`user`?n.push(`persona-message-user-bubble`,`persona-ml-auto`,`persona-text-persona-primary`,`persona-py-2`):n.push(`persona-message-assistant-bubble`,`persona-text-persona-text`,`persona-py-2`);break;case`minimal`:n.push(`persona-text-sm`,`persona-leading-relaxed`),e===`user`?n.push(`persona-message-user-bubble`,`persona-ml-auto`,`persona-bg-persona-accent`,`persona-text-white`,`persona-px-3`,`persona-py-2`,`persona-rounded-lg`):n.push(`persona-message-assistant-bubble`,`persona-bg-persona-container`,`persona-text-persona-text`,`persona-px-3`,`persona-py-2`,`persona-rounded-lg`);break;default:n.push(`persona-rounded-2xl`,`persona-text-sm`,`persona-leading-relaxed`,`persona-shadow-sm`),e===`user`?n.push(`persona-message-user-bubble`,`persona-ml-auto`,`persona-bg-persona-accent`,`persona-text-white`,`persona-px-5`,`persona-py-3`):n.push(`persona-message-assistant-bubble`,`persona-bg-persona-container`,`persona-border`,`persona-border-persona-message-border`,`persona-text-persona-text`,`persona-px-5`,`persona-py-3`)}return n},$s={bubble:{padding:`0.75rem 1.25rem`,fontSize:`0.875rem`,lineHeight:`1.75`},minimal:{padding:`0.5rem 0.75rem`,fontSize:`0.875rem`,lineHeight:`1.75`},flat:{padding:`0.5rem 0`,fontSize:`inherit`,lineHeight:`inherit`}},ec=(e,t,n=`bubble`,r)=>{if(!r)return;let i=t===`user`||t===`operator`?t:`assistant`,a=$s[n??`bubble`]??$s.bubble;r.padding&&(e.style.padding=`var(--persona-message-${i}-padding, ${a.padding})`),r.fontSize&&(e.style.fontSize=`var(--persona-message-${i}-font-size, ${a.fontSize})`),r.lineHeight&&(e.style.lineHeight=`var(--persona-message-${i}-line-height, ${a.lineHeight})`),r.fontFamily&&(e.style.fontFamily=`var(--persona-message-${i}-font-family, inherit)`)},tc=e=>`custom:${e}`,nc=(e,t)=>t!==`user`&&t!==`assistant`&&t!==`operator`?[]:(e?.custom??[]).filter(e=>(e.roles??[`assistant`]).includes(t)),rc=(e,t,n,r,i=!1)=>{let a=t.showCopy??!0,o=t.showUpvote??!1,s=t.showDownvote??!1,c=t.showReadAloud??!1,l=(t.showRegenerate??!1)&&r?.canRegenerate===!0,u=(t.showEdit??!1)&&r?.canEdit===!0,d=(t.showQuote??!1)&&r?.canQuote!==!1,f=nc(t,e.role);if(!a&&!o&&!s&&!c&&!l&&!u&&!d&&f.length===0){let t=k(`div`);return t.style.display=`none`,t.id=`actions-${e.id}`,t.setAttribute(`data-actions-for`,e.id),t}let p=t.visibility??(i&&r?.isLastAssistant?`always`:`hover`),m=t.align??`right`,h=t.layout??`pill-inside`,g={left:`persona-message-actions-left`,center:`persona-message-actions-center`,right:`persona-message-actions-right`}[m],_={"pill-inside":`persona-message-actions-pill`,"row-inside":`persona-message-actions-row`}[h],v=k(`div`,`persona-message-actions persona-flex persona-items-center persona-gap-1 persona-mt-2 ${g} ${_} ${p===`hover`?`persona-message-actions-hover`:``} ${i?`persona-message-actions-adaptive`:``}`);v.id=`actions-${e.id}`,v.setAttribute(`data-actions-for`,e.id);let y=(e,t,n)=>{let r=nr({icon:e,label:t,size:14,className:`persona-message-action-btn`,chromeless:!0});return r.setAttribute(`data-action`,n),r};a&&v.appendChild(y(`copy`,`Copy message`,`copy`)),c&&v.appendChild(y(`volume-2`,`Read aloud`,`read-aloud`)),o&&v.appendChild(y(`thumbs-up`,`Upvote`,`upvote`)),s&&v.appendChild(y(`thumbs-down`,`Downvote`,`downvote`)),l&&v.appendChild(y(`refresh-cw`,`Regenerate response`,`regenerate`)),u&&v.appendChild(y(`pencil`,`Edit message`,`edit`)),d&&v.appendChild(y(`quote`,`Quote message`,`quote`));for(let e of f)v.appendChild(y(e.iconName??`ellipsis`,e.label,tc(e.id)));return v},ic=(e,t,n,r,i,a)=>{let o=n??{},s=o.layout??`bubble`,c=o.avatar,l=o.timestamp,u=c?.show??!1,d=l?.show??!1,f=c?.position??`left`,p=l?.position??`below`,m=Qs(e.role,s),h=k(`div`,m.join(` `));h.id=`bubble-${e.id}`,h.setAttribute(`data-message-id`,e.id);let g=e.role===`operator`;g&&a?.widgetConfig?.future?.v5Defaults===!0&&h.classList.add(`persona-border`),h.setAttribute(`data-persona-theme-zone`,e.role===`user`?`user-message`:g?`operator-message`:`assistant-message`);let _=Ra(a?.widgetConfig?.future).components.message,v=a?.widgetConfig?.theme?.components?.message,y=a?.widgetConfig?.darkTheme?.components?.message;if(ec(h,e.role,s,e.role===`user`?{..._.user,...v?.user,...y?.user}:g?{..._.operator,...v?.operator,...y?.operator}:{..._.assistant,...v?.assistant,...y?.assistant}),s===`flat`&&!g?(h.style.backgroundColor=`transparent`,h.style.color=e.role===`user`?`var(--persona-primary, var(--persona-text))`:`var(--persona-message-assistant-text, var(--persona-text))`):e.role===`user`?(h.style.backgroundColor=`var(--persona-message-user-bg, var(--persona-accent))`,h.style.color=`var(--persona-message-user-text, white)`):e.role===`assistant`?(h.style.backgroundColor=`var(--persona-message-assistant-bg, var(--persona-container))`,h.style.color=`var(--persona-message-assistant-text, var(--persona-text))`):g&&(h.style.backgroundColor=`var(--persona-components-message-operator-background, var(--persona-container))`,h.style.color=`var(--persona-components-message-operator-text, var(--persona-text))`),g){let t=k(`div`,`persona-message-author persona-text-xs persona-font-medium persona-mb-1`),n=a?.widgetConfig?.copy?.operatorLabel,r=typeof n==`string`&&n.trim()?n.trim():`Human operator`,i=typeof e.author?.displayName==`string`?e.author.displayName.trim():``;t.textContent=i?`${i} · ${r}`:r,h.setAttribute(`role`,`group`),h.setAttribute(`aria-label`,t.textContent),h.appendChild(t)}let b=Ls(e),x=e.content?.trim()??``,S=b.length>0&&x===`[Image]`,C=sn(a?.widgetConfig?.features?.streamAnimation),ee=a?.widgetConfig?.features?.streamAnimation?.plugins,w=e.role===`assistant`&&C.type!==`none`?ln(C.type,ee):null,T=e.role===`assistant`&&w?.isAnimating?.(e)===!0,te=e.role===`assistant`&&w!==null&&(!!e.streaming||T);te&&w?.bubbleClass&&h.classList.add(w.bubbleClass);let E=document.createElement(`div`);E.classList.add(`persona-message-content`),e.streaming&&E.classList.add(`persona-content-streaming`),te&&w&&(w.containerClass&&E.classList.add(w.containerClass),E.style.setProperty(`--persona-stream-step`,`${C.speed}ms`),E.style.setProperty(`--persona-stream-duration`,`${C.duration}ms`));let ne=te?un(e.content??``,C.buffer,w,e,!!e.streaming):e.content??``,re=()=>{let n=t({text:ne,message:e,streaming:!!e.streaming,raw:e.rawContent});return te&&w?.wrap===`char`?hn(n,`char`,e.id,{skipTags:w.skipTags}):te&&w?.wrap===`word`?hn(n,`word`,e.id,{skipTags:w.skipTags}):n},ie=null;if(S?(ie=document.createElement(`div`),ie.innerHTML=re(),ie.style.display=`none`,E.appendChild(ie)):e.contentSegments?.length?Us(E,e.contentSegments,n=>t({text:n,message:e,streaming:!!e.streaming,raw:e.rawContent}),a?.widgetConfig?.contextMentions?.renderMentionToken):E.innerHTML=re(),te&&w?.useCaret&&!S&&x){let e=cn(),t=E.querySelectorAll(`.persona-stream-char, .persona-stream-word`),n=t[t.length-1];if(n?.parentNode)n.parentNode.insertBefore(e,n.nextSibling);else{let t=E.lastElementChild;t?t.appendChild(e):E.appendChild(e)}}if(d&&p===`inline`&&e.createdAt){let t=Xs(e,l,`span`);t.classList.add(`persona-timestamp-inline`);let n=E.lastElementChild;n?n.appendChild(t):E.appendChild(t)}if(b.length>0){let e=Ws(b,!S&&!!x,()=>{S&&ie&&(ie.style.display=``)});e?h.appendChild(e):S&&ie&&(ie.style.display=``)}let ae=Rs(e);if(ae.length>0){let e=Z(ae);e&&h.appendChild(e)}let oe=zs(e);if(oe.length>0){let e=Gs(oe);e&&h.appendChild(e)}let se=Bs(e);if(se.length>0){let e=Ks(se);e&&h.appendChild(e)}let ce=e.contentSegments?.length?null:Vs(e.contextMentions);if(ce&&h.appendChild(ce),h.appendChild(E),d&&p===`below`&&e.createdAt){let t=Xs(e,l);t.classList.add(`persona-mt-1`),h.appendChild(t)}let le=e.role===`assistant`?Ns(e.stopReason,a?.widgetConfig?.copy?.stopReasonNotice):null;if(e.streaming&&e.role===`assistant`){let e=!!(ne&&ne.trim()),t=C.placeholder===`skeleton`,n=t&&C.buffer===`line`&&e;if(e)n&&h.appendChild(fn());else if(t)h.appendChild(fn());else{let e=Js(`inline`,a?.loadingIndicatorRenderer,a?.widgetConfig);e&&h.appendChild(e)}}le&&e.stopReason&&!e.streaming&&(x||(E.style.display=`none`),h.appendChild(Ps(e.stopReason,le)));let ue=(e.role===`assistant`||g)&&!e.streaming&&!e.voiceCaption&&(x.length>0||g&&nc(r,`operator`).length>0)&&r?.enabled!==!1,de=a?.actionEligibility,fe=e.role===`user`&&!e.streaming&&r?.enabled!==!1&&(r?.showEdit===!0&&de?.canEdit===!0||r?.showQuote===!0&&de?.canQuote===!0||nc(r,`user`).length>0);if((ue||fe)&&r){let t=rc(e,fe?{...r,showCopy:!1,showUpvote:!1,showDownvote:!1,showReadAloud:!1}:g?{...r,showCopy:x.length>0&&r.showCopy!==!1,showUpvote:!1,showDownvote:!1,showReadAloud:!1,showRegenerate:!1,showEdit:!1,showQuote:!1}:r,i,de,a?.widgetConfig?.future?.v5Defaults===!0&&r.visibility===void 0);h.appendChild(t)}if(!u||e.role===`system`)return h;let pe=k(`div`,`persona-message-with-avatar persona-flex persona-gap-2 ${e.role===`user`?`persona-flex-row-reverse`:``}`),me=Ys(c,e.role);return f===`right`||f===`left`&&e.role===`user`?pe.append(h,me):pe.append(me,h),pe},ac=(e,t)=>{if(e.replaceChildren(),!t)e.hidden=!0;else if(typeof t==`function`){let n=null;try{n=t()}catch(e){console.warn(`[persona] welcome.icon renderer threw`,e)}if(!n){e.hidden=!0;return}e.appendChild(n),e.hidden=!1}else{if(t.type===`lucide`){let n=T(t.name,40);if(!n){e.hidden=!0;return}e.appendChild(n)}else t.type===`image`?e.appendChild(O(`img`,{className:`persona-welcome-icon-image`,attrs:{src:t.url,alt:t.alt}})):e.appendChild(O(`span`,{className:`persona-welcome-icon-text`,text:t.text}));e.hidden=!1}},oc=(e,t,n={})=>{let r=O(`div`,{className:`persona-welcome-icon`,attrs:{"data-persona-welcome-icon":``}});r.hidden=!0;let i=k(`p`,`persona-welcome-kicker`);i.hidden=!0;let a=k(`h2`,`persona-welcome-title`),o=k(`p`,`persona-welcome-subtitle`),s=O(`div`,{className:`persona-welcome-head-text`},i,a),c=O(`div`,{className:`persona-welcome-title-row`},r,s);return{host:O(`div`,{className:`persona-welcome persona-rounded-2xl`,attrs:{"data-persona-welcome":``,"data-persona-intro-card":``,"data-persona-welcome-variant":`card`},style:{background:`var(--persona-intro-card-bg, transparent)`,boxShadow:n.flatShadow?`none`:`var(--persona-intro-card-shadow, none)`,border:`var(--persona-intro-card-border, none)`}},c,o,t),iconHolder:r,kicker:i,title:a,subtitle:o,starterSuggestions:t}},sc=(e,t,n)=>{t.hidden=!n,t.style.display=n?``:`none`,e.classList.toggle(`persona-gap-6`,n),e.classList.toggle(`persona-gap-3`,!n)},cc=(e,t)=>{e.title.textContent=t.title,e.kicker.textContent=t.kicker??``,e.kicker.hidden=!t.kicker,e.subtitle.textContent=t.subtitle,e.subtitle.hidden=t.subtitle===``,ac(e.iconHolder,t.icon),e.host.setAttribute(`data-persona-welcome-variant`,t.variant),e.host.setAttribute(`data-persona-welcome-dismiss`,t.dismiss),e.host.setAttribute(`data-persona-welcome-layout`,t.layout??`top`),e.host.setAttribute(`data-persona-welcome-anchor`,t.anchor??`bottom`),t.iconPlacement===`inline`?e.host.setAttribute(`data-persona-welcome-icon-placement`,`inline`):e.host.removeAttribute(`data-persona-welcome-icon-placement`),t.align?e.host.setAttribute(`data-persona-welcome-align`,t.align):e.host.removeAttribute(`data-persona-welcome-align`)},lc=`data-persona-welcome-overlay`,uc=`persona-welcome-overlay-active`,dc=/* @__PURE__ */ new WeakMap,fc=(e,t,n)=>{n.setAttribute(`data-persona-welcome-plugin`,``),t.appendChild(n),t.setAttribute(`data-persona-welcome-content`,`plugin`),t.setAttribute(lc,``),e.classList.contains(uc)||(dc.set(e,e.scrollTop),e.classList.add(uc),e.scrollTop=0)},pc=(e,t,n)=>{n&&n!==t&&n.remove(),t.removeAttribute(`data-persona-welcome-content`),t.removeAttribute(lc),e.classList.contains(uc)&&(e.classList.remove(uc),e.scrollTop=dc.get(e)??e.scrollTop,dc.delete(e))},mc=()=>{let e=O(`div`,{className:`persona-welcome-greeting persona-flex persona-flex-col`,attrs:{"data-persona-welcome-greeting":``}});return e.hidden=!0,e},hc=(e,t,n)=>{if(e.replaceChildren(),!t){e.hidden=!0;return}let r=n?.layout?.messages?.layout??`bubble`,i=O(`div`,{className:Qs(`assistant`,r).join(` `),attrs:{"data-persona-theme-zone":`assistant-message`},text:t,style:r===`flat`?{backgroundColor:`transparent`,color:`var(--persona-message-assistant-text, var(--persona-text))`}:{backgroundColor:`var(--persona-message-assistant-bg, var(--persona-container))`,color:`var(--persona-message-assistant-text, var(--persona-text))`}});e.appendChild(O(`div`,{className:`persona-flex`},i)),e.hidden=!1},gc=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,_c=(e,t)=>{if(gc()||typeof e.animate!=`function`||!e.isConnected)return t(null),null;let n=e.getBoundingClientRect(),r=e.parentElement,i=0,a=0,o=0;if(r){let t=getComputedStyle(r);i=parseFloat(t.rowGap)||0;let s=e.previousElementSibling,c=e.nextElementSibling,l=r.getBoundingClientRect().top+(parseFloat(t.borderTopWidth)||0)+(parseFloat(t.paddingTop)||0)-r.scrollTop;a=Math.max(0,s?n.top-s.getBoundingClientRect().bottom-i:n.top-l),o=Math.max(0,c?c.getBoundingClientRect().top-n.bottom-i:0)}let s=e.style.overflow;e.style.overflow=`hidden`;let c=getComputedStyle(e),l=parseFloat(c.paddingTop)||0,u=parseFloat(c.paddingBottom)||0,d=e.animate([{opacity:`1`,transform:`none`,height:`${n.height}px`,minHeight:`0px`,paddingTop:`${l}px`,paddingBottom:`${u}px`,marginTop:`${a}px`,marginBottom:`${o}px`},{opacity:`0`,transform:`translateY(-4px)`,height:`0px`,minHeight:`0px`,paddingTop:`0px`,paddingBottom:`0px`,marginTop:`0px`,marginBottom:`${-i}px`}],{duration:180,easing:`ease-out`,fill:`forwards`}),f=!1,p=()=>{f||(f=!0,e.style.overflow=s,t(d))};return d.finished.then(p).catch(p),d},vc=(e,t,n,r=260)=>{if(t<=1||gc()||typeof e.animate!=`function`||!e.isConnected)return null;let i=n===`drop`?-t:t;return e.animate([{transform:`translateY(${i}px)`},{transform:`none`}],{duration:r,easing:`cubic-bezier(0.2, 0, 0, 1)`,fill:`none`})},yc=/* @__PURE__ */ new WeakSet,bc=(e,t)=>!!e&&e[t]!==void 0,xc=(e,t)=>{e&&e.debug===!0&&t.length&&!yc.has(e)&&(yc.add(e),t.forEach(e=>console.warn(`[persona] ${e}`)))},Sc=(e,t=e?.launcher?.fullHeight===!0&&!e.launcher.sidebarMode&&e.launcher.mountMode!==`docked`)=>{let n=e?.welcome,r=e?.copy,i=e?.future?.v5Defaults===!0,a=n?.layout??(i?`centered`:`top`),o=bc(n,`variant`)?n.variant:r?.showWelcomeCard===!1?`none`:`card`,s=o===`hero`&&!i&&n?.layout===void 0?`on-first-message`:bc(n,`dismiss`)?n.dismiss:i||o===`hero`?`on-first-message`:`never`,c=[];for(let[e,t]of[[`title`,`welcomeTitle`],[`subtitle`,`welcomeSubtitle`],[`variant`,`showWelcomeCard`]])bc(n,e)&&bc(r,t)&&c.push(`welcome.${e} and copy.${t} are both set; welcome.${e} wins. copy.${t} is deprecated.`);o===`hero`&&bc(n,`message`)&&c.push(`welcome.message is ignored when welcome.variant is "hero": the hero is the greeting.`),!i&&n?.layout===void 0&&o===`hero`&&bc(n,`dismiss`)&&n.dismiss!==`on-first-message`&&c.push(`welcome.dismiss is pinned to "on-first-message" when welcome.variant is "hero".`);let l=n?.anchor??(o!==`none`&&a===`centered`&&t?`center`:`bottom`),u=Co(n?.anchorComposerTop)!==null;return bc(n,`anchorComposerTop`)&&!u&&c.push(`welcome.anchorComposerTop must be a percentage between 0% and 100%; falling back to "44%".`),l!==`center`&&(bc(n,`anchorComposerTop`)||bc(n,`composerGap`))&&c.push(`welcome.anchorComposerTop is ignored unless welcome.anchor is "center".`),xc(e,c),{title:bc(n,`title`)?n.title:r?.welcomeTitle??(i?`What can I help with?`:`Hello 👋`),kicker:n?.kicker??``,subtitle:bc(n,`subtitle`)?n.subtitle:r?.welcomeSubtitle??(i?``:`I can answer questions and help you get things done here.`),icon:n?.icon,align:n?.align===`start`||n?.align===`center`?n.align:a===`centered`?`center`:void 0,iconPlacement:n?.icon&&typeof n.icon!=`function`&&n.icon.placement===`inline`?`inline`:`above`,variant:o,dismiss:s,message:o===`hero`?void 0:n?.message,layout:a,anchor:l,anchorComposerTop:u?n.anchorComposerTop:`44%`,composerGap:n?.composerGap?.trim()||`24px`}},Cc=e=>!!(e.content.trim()||e.contentParts?.some(e=>e.type!==`text`||e.text.trim())),wc=(e=[])=>e.some(e=>e.role===`user`||e.role===`operator`&&Cc(e)||e.role===`assistant`&&(Cc(e)||e.toolCall||e.tools?.length||e.reasoning||e.approval)),Tc=e=>wc(e)?`active`:`empty`,Ec=(e,t)=>e.variant!==`none`&&(e.dismiss===`never`||!wc(t)),Dc=`var(--persona-components-panel-height)`,Oc=e=>{let t=nn(e),n=t.launcherWidth?e?.launcher?.width:t.legacyLauncherWidth?e?.launcherWidth:void 0,r=e?.launcher?.heightOffset??0,i=r===0?`max(200px, ${Dc})`:`max(200px, calc(${Dc} - ${r}px))`;return{width:n??`var(--persona-components-panel-width)`,maxWidth:n??`var(--persona-components-panel-maxWidth)`,height:i,maxHeight:`var(--persona-components-panel-maxHeight)`}},kc=e=>{let t=nn(e);return t.launcherWidth||t.legacyLauncherWidth||e?.theme?.components?.panel?.width!==void 0?Oc(e).width:`100%`},Ac=`16px`,jc=`10px`,Mc=`14px`,Nc=e=>{let t=e?.launcher?.enabled??!0,n=es(e);if(ts(e)){let t=e?.launcher?.composerBar??{},n=k(`div`,`persona-widget-wrapper persona-fixed persona-transition`);n.setAttribute(`data-persona-composer-bar`,``),n.dataset.state=`collapsed`,n.dataset.expandedSize=t.expandedSize??`anchored`,n.style.zIndex=String(e?.launcher?.zIndex??1e5);let r=k(`div`,`persona-widget-panel persona-relative persona-flex persona-flex-1 persona-min-h-0 persona-flex-col`);r.style.width=`100%`,n.appendChild(r);let i=k(`div`,`persona-widget-pill-root`);return i.setAttribute(`data-persona-composer-bar`,``),i.dataset.state=`collapsed`,i.dataset.expandedSize=t.expandedSize??`anchored`,i.style.zIndex=String(e?.launcher?.zIndex??1e5),{wrapper:n,panel:r,pillRoot:i}}if(n){let e=k(`div`,`persona-relative persona-h-full persona-w-full persona-flex persona-flex-1 persona-min-h-0 persona-flex-col`),t=k(`div`,`persona-relative persona-h-full persona-w-full persona-flex persona-flex-1 persona-min-h-0 persona-flex-col`);return e.appendChild(t),{wrapper:e,panel:t}}if(!t){let t=k(`div`,`persona-relative persona-h-full persona-flex persona-flex-col persona-flex-1 persona-min-h-0`),n=k(`div`,`persona-relative persona-flex-1 persona-flex persona-flex-col persona-min-h-0`);return t.style.width=kc(e),n.style.width=`100%`,t.appendChild(n),{wrapper:t,panel:n}}let r=e?.launcher??{},i=r.position&&ds[r.position]?ds[r.position]:ds[`bottom-right`],a=k(`div`,`persona-widget-wrapper persona-fixed ${i} persona-transition`);a.style.zIndex=String(e?.launcher?.zIndex??1e5);let o=k(`div`,`persona-widget-panel persona-relative persona-min-h-[320px]`),s=Oc(e);return o.style.width=s.width,o.style.maxWidth=s.maxWidth,a.appendChild(o),{wrapper:a,panel:o}},Pc=e=>{let t=O(`div`,{className:`persona-suggestions`,attrs:{"data-persona-suggestions":is(e)}});return t.hidden=!0,t},Fc=(e,t)=>{let n=Pc(`starter`),r=oc(e,n,{flatShadow:es(e)}),i=Sc(e);cc(r,i),sc(t,r.host,Ec(i,e?.initialMessages));let a=mc();return hc(a,i.message,e),{welcome:r,greetingHost:a}},Ic=(e,t)=>{let n=k(`div`,`persona-widget-container persona-relative persona-flex persona-flex-1 persona-min-h-0 persona-flex-col persona-text-persona-primary`);n.setAttribute(`data-persona-theme-zone`,`container`);let{button:r,wrapper:i}=_s(e,{showClose:t,wrapperClassName:`persona-composer-bar-close`,buttonSize:Ac,iconSize:jc});i.style.position=`absolute`,i.style.top=`8px`,i.style.right=`8px`,i.style.zIndex=`10`;let a=e?.launcher?.clearChat?.enabled??!0,o=null,s=null;if(a){let t=vs(e,{wrapperClassName:`persona-composer-bar-clear-chat`,buttonSize:Ac,iconSize:Mc});o=t.button,s=t.wrapper,s.style.position=`absolute`,s.style.top=`8px`,s.style.right=`32px`,s.style.zIndex=`10`}let c=O(`span`,{className:`persona-widget-header`,attrs:{"data-persona-theme-zone":`header`},style:{display:`none`}}),l=O(`div`,{className:`persona-widget-body persona-flex persona-flex-1 persona-min-h-0 persona-flex-col persona-gap-6 persona-overflow-y-auto persona-bg-persona-container persona-px-6 persona-py-6`,attrs:{id:`persona-scroll-container`,"data-persona-theme-zone":`messages`},style:{paddingTop:`48px`}});l.style.setProperty(`scrollbar-gutter`,`stable`);let{welcome:u,greetingHost:d}=Fc(e,l),{host:f,title:p,subtitle:m}=u,h=u.starterSuggestions,g=k(`div`,`persona-widget-messages persona-flex persona-flex-col`);g.style.gap=`var(--persona-components-message-gap, 12px)`;let _=Pc(`followUp`),v=xo(e,!0);v&&(g.style.maxWidth=v,g.style.marginLeft=`auto`,g.style.marginRight=`auto`,g.style.width=`100%`),l.append(f,d,g,_);let y=O(`div`,{className:`persona-composer-overlay persona-pointer-events-none`,attrs:{"data-persona-composer-overlay":``},style:{position:`absolute`,left:`0`,right:`0`,bottom:`calc(var(--persona-composer-overlay-height, 0px) + var(--persona-composer-lift, 0px))`,zIndex:`20`}}),b=js({config:e}),{root:x,textNode:S}=X();return n.append(c,i,l,y),s&&n.appendChild(s),{container:n,body:l,messagesWrapper:g,starterSuggestions:h,transcriptSuggestions:_,composerOverlay:y,suggestions:b.suggestions,textarea:b.textarea,sendButton:b.sendButton,sendButtonWrapper:b.sendButtonWrapper,micButton:b.micButton,micButtonWrapper:b.micButtonWrapper,composerForm:b.composerForm,statusText:b.statusText,welcomeHost:f,welcomeIconHolder:u.iconHolder,greetingHost:d,introKicker:u.kicker,introTitle:p,introSubtitle:m,closeButton:r,closeButtonWrapper:i,clearChatButton:o,clearChatButtonWrapper:s,iconHolder:k(`span`),headerTitle:k(`span`),headerSubtitle:k(`span`),header:c,footer:b.footer,attachmentButton:b.attachmentButton,attachmentButtonWrapper:b.attachmentButtonWrapper,attachmentInput:b.attachmentInput,attachmentPreviewsContainer:b.attachmentPreviewsContainer,actionsRow:b.actionsRow,leftActions:b.leftActions,rightActions:b.rightActions,setSendButtonMode:b.setSendButtonMode,peekBanner:x,peekTextNode:S}},Lc=(e,t=!0)=>{if(ts(e))return Ic(e,t);let n=O(`div`,{className:`persona-widget-container persona-flex persona-h-full persona-w-full persona-flex-1 persona-min-h-0 persona-flex-col persona-text-persona-primary persona-bg-persona-surface persona-rounded-2xl persona-overflow-hidden persona-border persona-border-persona-border`,attrs:{"data-persona-theme-zone":`container`}}),r=e?.layout?.header,i=en(e),a=r?Os(e,r,{showClose:t}):Ss({config:e,showClose:t}),o=O(`div`,{className:`persona-widget-body persona-flex persona-flex-1 persona-min-h-0 persona-flex-col persona-gap-6 persona-overflow-y-auto persona-bg-persona-container persona-px-6 persona-py-6`,attrs:{id:`persona-scroll-container`,"data-persona-theme-zone":`messages`}});o.style.setProperty(`scrollbar-gutter`,`stable`);let{welcome:s,greetingHost:c}=Fc(e,o),{host:l,title:u,subtitle:d}=s,f=s.starterSuggestions,p=k(`div`,`persona-widget-messages persona-flex persona-flex-col`);p.style.gap=`var(--persona-components-message-gap, 12px)`;let m=Pc(`followUp`),h=xo(e,!1);h&&(p.style.maxWidth=h,p.style.marginLeft=`auto`,p.style.marginRight=`auto`,p.style.width=`100%`),o.append(l,c,p,m);let g=As({config:e}),_=e?.layout?.showFooter!==!1;i||(a.header.style.display=`none`),Cs(n,a,e),n.append(o);let v=O(`div`,{className:`persona-composer-overlay persona-pointer-events-none`,attrs:{"data-persona-composer-overlay":``},style:{position:`absolute`,left:`0`,right:`0`,bottom:`calc(var(--persona-composer-overlay-height, 0px) + var(--persona-composer-lift, 0px))`,zIndex:`20`}});return _||(g.footer.style.display=`none`),n.append(g.footer),n.append(v),{container:n,body:o,messagesWrapper:p,starterSuggestions:f,transcriptSuggestions:m,composerOverlay:v,suggestions:g.suggestions,textarea:g.textarea,sendButton:g.sendButton,sendButtonWrapper:g.sendButtonWrapper,micButton:g.micButton,micButtonWrapper:g.micButtonWrapper,composerForm:g.composerForm,statusText:g.statusText,welcomeHost:l,welcomeIconHolder:s.iconHolder,greetingHost:c,introKicker:s.kicker,introTitle:u,introSubtitle:d,closeButton:a.closeButton,closeButtonWrapper:a.closeButtonWrapper,clearChatButton:a.clearChatButton,clearChatButtonWrapper:a.clearChatButtonWrapper,iconHolder:a.iconHolder,headerTitle:a.headerTitle,headerSubtitle:a.headerSubtitle,header:a.header,footer:g.footer,attachmentButton:g.attachmentButton,attachmentButtonWrapper:g.attachmentButtonWrapper,attachmentInput:g.attachmentInput,attachmentPreviewsContainer:g.attachmentPreviewsContainer,actionsRow:g.actionsRow,leftActions:g.leftActions,rightActions:g.rightActions,setSendButtonMode:g.setSendButtonMode}},Rc=(e,t)=>{let n=k(`button`);n.type=`button`,n.innerHTML=`
|
|
9
|
+
`),o=Array.isArray(e.contentParts)&&e.contentParts.length>0,s=r.contentParts.length>0;if(o){let t=[];i&&t.push(kt(i)),t.push(...r.contentParts),t.push(...e.contentParts),e.contentParts=t}else if(s){let t=[];a&&t.push(kt(a)),t.push(...r.contentParts),e.contentParts=t}else i&&(e.llmContent=a);Object.keys(r.context).length>0&&(e.mentionContext=r.context)}async sendMessage(e,t){let n=e.trim(),r=!!t?.replayFields&&(t.replayFields.llmContent!==void 0||t.replayFields.rawContent!==void 0||(t.replayFields.contextMentions?.length??0)>0);if(!n&&(!t?.contentParts||t.contentParts.length===0)&&(!t?.mentions||t.mentions.refs.length===0)&&!r)return;this.#re&&!t?.voiceTurn&&(this.#re.failed=!0,this.#re=null),(this.#z||this.#V||this.#R||this.#J)&&await this.#Ue(),this.stopSpeaking(),this.client.cancelStreams(),this.abortController?.abort(),this.#i(),this.#rt(),this.#Qe++,this.#Tt();let i=t?.voiceTurn?.userMessageId,a=i?this.messages.find(e=>e.id===i&&e.role===`user`):void 0,o=a?.id??lt(),s=ut();this.#d=null;let c=t?.contentParts&&jt(t.contentParts)?Mt:``,l={id:o,role:`user`,content:n||c,createdAt:(/* @__PURE__ */ new Date()).toISOString(),sequence:this.#It(),viaVoice:t?.viaVoice||!1,...t?.contentParts&&t.contentParts.length>0&&{contentParts:t.contentParts},...t?.mentions&&t.mentions.refs.length>0&&{contextMentions:t.mentions.refs},...t?.contentSegments&&t.contentSegments.length>0&&{contentSegments:t.contentSegments},...t?.composerOptions&&{composerOptions:t.composerOptions},...t?.replayFields??{}};a?(a.viaVoice=!0,delete a.voiceCaption,a.content.trim()!==n&&(a.llmContent=n),this.callbacks.onMessagesChanged([...this.messages])):this.#Pt(l),this.#kt(!0);let u=new AbortController;this.abortController=u;let d=this.#e;if(t?.mentions){let e=this.messages.find(e=>e.id===o)??l;if(await this.#Je(e,n,t.mentions.finalize),u.signal.aborted||this.abortController!==u)return;this.callbacks.onMessagesChanged([...this.messages])}if(t?.quote&&!t.replayFields){let e=this.messages.find(e=>e.id===o)??l,n=Ci({quote:t.quote,text:e.llmContent??e.content,contentParts:e.contentParts});n.contentParts&&(e.contentParts=n.contentParts),n.llmContent!==void 0&&(e.llmContent=n.llmContent),(n.contentParts||n.llmContent!==void 0)&&(e.quote={...t.quote},this.callbacks.onMessagesChanged([...this.messages]))}let f=(/* @__PURE__ */ new Date()).toISOString(),p=a?[...this.messages.filter(e=>e!==a),{...a,createdAt:f}]:[...this.messages],m=(a??this.messages.find(e=>e.id===o))?.createdAt??f,h=G(t?.voiceTurn?.priorToolResults,m);for(let e of h)this.messages.some(t=>t.id===e.id)||(this.#Pt(e),p.push({...e,createdAt:f}));let g=h.map(({agentMetadata:e})=>{let{toolCallId:t,toolName:n,args:r,result:i}=e.clientToolAnswer;return{toolCallId:t,name:n,arguments:r,result:i}});try{await this.#Ge(p,u,s,o,{composerOptions:t?.composerOptions,interrupt:t?.interrupt,voiceSpoken:!!t?.voiceTurn,...g.length>0&&{voicePriorToolResults:g}})}catch(e){if(this.#e!==d||this.status===`resuming`||this.#f)return;this.#re&&(this.#re.failed=!0);let t=e instanceof Error&&(e.name===`AbortError`||e.message.includes(`aborted`)||e.message.includes(`abort`));t||this.#At(e),this.#Ot(`idle`),this.#kt(!1),this.abortController=null,this.#a(t?`cancel`:`error`,d),t||(e instanceof Error?this.callbacks.onError?.(e):this.callbacks.onError?.(Error(String(e))))}}resubmitFrom(e,t){let n=Ti(this.messages,e);if(!n||!Ei(this.messages,e))return!1;let r=this.messages[n.start],i=t.replacement,a=i?i.text:r.content,o=i?i.contentParts:r.contentParts;if(!(a?.trim()||(o?.length??0)>0||!i&&(r.llmContent?.trim()?.length??0)>0))return!1;let s=i?void 0:{...r.llmContent!==void 0&&{llmContent:r.llmContent},...r.rawContent!==void 0&&{rawContent:r.rawContent},...r.mentionContext&&{mentionContext:r.mentionContext},...r.contextMentions&&{contextMentions:r.contextMentions},...r.quote&&{quote:r.quote}},c=i?this.#Ye(i.options):r.composerOptions,l=i?i.contentSegments:r.contentSegments,u=i?i.options?.quote:void 0,d=i?i.viaVoice:r.viaVoice;return this.cancel(),this.messages=this.messages.slice(0,n.start),this.sendMessage(a??``,{...o?.length?{contentParts:[...o]}:{},...l?.length?{contentSegments:[...l]}:{},...c?{composerOptions:c}:{},...u?{quote:u}:{},...s&&Object.keys(s).length>0?{replayFields:s}:{},viaVoice:d===!0}),!0}#Ye(e){if(!e)return;let t={};return e.selectedModelId&&(t.selectedModelId=e.selectedModelId),e.activeModeIds?.length&&(t.activeModeIds=[...e.activeModeIds]),Object.keys(t).length>0?t:void 0}async continueConversation(){if(this.streaming)return;(this.#z||this.#V||this.#R||this.#J)&&await this.#Ue(),this.abortController?.abort(),this.#Tt(),this.#i();let e=ut();this.#d=null,this.#kt(!0);let t=new AbortController;this.abortController=t;let n=this.#e,r=[...this.messages];try{await this.client.dispatch({messages:r,signal:t.signal,assistantMessageId:e},e=>{this.#e===n&&this.handleEvent(e)})}catch(e){if(this.#e!==n||this.status===`resuming`||this.#f)return;let t=e instanceof Error&&(e.name===`AbortError`||e.message.includes(`aborted`)||e.message.includes(`abort`));t||this.#At(e),this.#a(t?`cancel`:`error`,n),this.#Ot(`idle`),this.#kt(!1),this.abortController=null,t||(e instanceof Error?this.callbacks.onError?.(e):this.callbacks.onError?.(Error(String(e))))}}async connectStream(e,t){if(this.streaming&&!t?.allowReentry)return;this.#e||this.#i(),t?.allowReentry||this.abortController?.abort(),t?.preserveAssistantId&&t.assistantMessageId&&(this.#d=t.assistantMessageId);let n=t?.preserveAssistantId?t.assistantMessageId:void 0,r=!1;for(let e of this.messages)e.streaming&&e.id!==n&&(e.streaming=!1,r=!0);r&&this.callbacks.onMessagesChanged([...this.messages]),this.#kt(!0);let i=this.#e,a={};try{await this.client.processStream(e,e=>{if(this.#e!==i)return;let n=this.#c;this.#c=a;try{this.handleEvent(e,t?.readOnlyReplay)}finally{this.#c=n}},t?.assistantMessageId,t?.seedContent,this.abortController?.signal,t?.readOnlyReplay?this.messages:void 0,t?.readOnlyReplay?this.#p:void 0),this.#jt(a)}catch(e){if(this.#e!==i)return;if(this.status===`resuming`||this.#f){this.#Mt(a);return}this.#jt(a),this.#Ot(`error`),this.webMcpResolveControllers.size===0&&(this.#kt(!1),this.abortController=null),this.callbacks.onError?.(e instanceof Error?e:Error(String(e)))}}#Xe(){let e=this.config.webmcp;e?.enabled===!0&&!e.onConfirm&&this.client.setWebMcpConfirmHandler(e=>this.requestWebMcpApproval(e))}requestWebMcpApproval(e){try{if(this.config.webmcp?.autoApprove?.(e)===!0)return Promise.resolve(!0)}catch{}if(e.signal?.aborted)return Promise.resolve(!1);let t;do t=`webmcp-${++this.#S}`;while(this.messages.some(e=>e.id===`approval-${t}`||e.approval?.id===t));let n={id:t,status:`pending`,agentId:``,executionId:``,toolName:e.toolName,...e.toolCallId?{toolCallId:e.toolCallId}:{},toolType:`webmcp`,description:e.description??`Allow the assistant to run ${e.toolName}?`,parameters:e.args},r=`approval-${n.id}`;return this.upsertMessage({id:r,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!1,variant:`approval`,approval:n}),new Promise(t=>{this.webMcpApprovalResolvers.set(r,t),e.signal?.addEventListener(`abort`,()=>this.resolveWebMcpApproval(r,`timeout`),{once:!0})})}resolveWebMcpApproval(e,t){let n=this.webMcpApprovalResolvers.get(e);if(!n)return;this.webMcpApprovalResolvers.delete(e);let r=this.messages.find(t=>t.id===e);r?.approval&&this.upsertMessage({...r,approval:{...r.approval,status:t,resolvedAt:Date.now()}}),n(t===`approved`)}#Ze;#Qe;#$e(e){let t=this.#Ze??={s:this,setStreaming:e=>this.#kt(e),appendMessage:e=>this.#Pt(e),nextSequence:()=>this.#It(),settleApprovalPausedToolCall:e=>this.#Nt(e),resumeAfter:e=>this.#u?.executionId===e?this.#u.lastEventId:void 0},n=xi();if(n)return e(n,t);let r=this.#Qe;return bi().then(n=>r===this.#Qe?e(n,t):void 0,e=>{this.callbacks.onError?.(e instanceof Error?e:Error(String(e)))})}resolveApproval(e,t,n){return this.#$e((r,i)=>r.resolveApproval(i,e,t,n))}resolveAskUserQuestion(e,t){return this.#$e((n,r)=>n.resolveAskUserQuestion(r,e,t))}resolveWebMcpToolCall(e){return this.#$e((t,n)=>t.resolveWebMcpToolCall(n,e))}persistAskUserQuestionProgress(e,t){let n=this.messages.find(t=>t.id===e.id);n&&this.upsertMessage({...n,agentMetadata:{...n.agentMetadata,askUserQuestionAnswers:t.answers,askUserQuestionIndex:t.currentIndex}})}markAskUserQuestionResolved(e,t){let n=this.messages.find(t=>t.id===e.id);n&&this.upsertMessage({...n,agentMetadata:{...n.agentMetadata,awaitingLocalTool:!1,askUserQuestionAnswered:!0,...t?{askUserQuestionAnswers:t}:{}}})}#et(e){let t=e.agentMetadata?.executionId,n=e.toolCall?.id;if(!t||!n){let t=this.#x;queueMicrotask(()=>{t===this.#x&&this.resolveWebMcpToolCall(e)});return}let r=this.webMcpAwaitBatches.get(t);r||(r={snapshots:[],seen:/* @__PURE__ */ new Set},this.webMcpAwaitBatches.set(t,r)),!r.seen.has(n)&&(r.seen.add(n),r.snapshots.push(e))}#tt(){if(this.webMcpAwaitBatches.size===0)return;let e=this.#x;queueMicrotask(()=>{if(e===this.#x)for(let e of[...this.webMcpAwaitBatches.keys()])this.#nt(e)})}#nt(e){let t=this.webMcpAwaitBatches.get(e);if(!t)return;this.webMcpAwaitBatches.delete(e);let{snapshots:n}=t;n.length===1?this.resolveWebMcpToolCall(n[0]):n.length>1&&this.#$e((t,r)=>t.resolveWebMcpToolCallBatch(r,e,n))}#rt(){for(let e of this.webMcpResolveControllers)e.abort();this.webMcpResolveControllers.clear();for(let e of[...this.webMcpApprovalResolvers.keys()])this.resolveWebMcpApproval(e,`denied`);this.webMcpAwaitBatches.clear(),this.#x++}cancel(){this.client.cancelStreams(),this.abortController?.abort(),this.abortController=null,this.#Tt(),this.#rt(),this.#Qe++,this.webMcpInflightKeys.clear(),this.stopSpeaking(),this.stopVoicePlayback(),this.#kt(!1),this.#Ot(`idle`),this.#a(`cancel`)}clearMessages(){this.client.cancelStreams(),this.#ut(),this.stopSpeaking(),this.abortController?.abort(),this.abortController=null,this.#Tt(),this.#rt(),this.#Qe++,this.#t=void 0,this.messages=[],this.agentExecution=null,this.#ot(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear(),this.client.resetClientToolsFingerprint(),this.#kt(!1),this.#Ot(`idle`),this.callbacks.onMessagesChanged([...this.messages]),this.#a(`cancel`)}getArtifacts(){return[...this.artifacts.values()]}getArtifactById(e){return this.artifacts.get(e)}getSelectedArtifactId(){return this.#b}selectArtifact(e){this.#b=e,this.#st()}clearArtifacts(){this.#ot()}upsertArtifact(e){let t=e.id||`art_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,n=e.artifactType===`markdown`?{id:t,artifactType:`markdown`,title:e.title,status:`complete`,markdown:e.content,...e.file?{file:e.file}:{},...e.presentation?{presentation:e.presentation}:{}}:{id:t,artifactType:`component`,title:e.title,status:`complete`,component:e.component,props:e.props??{},...e.presentation?{presentation:e.presentation}:{}};return this.artifacts.set(t,n),this.#b=t,this.#st(),e.transcript!==!1&&this.#it(n),n}#it(e){let t=`artifact-ref-${e.id}`,n=bt(this.config.features?.artifacts,e),r=Tt(n,{artifactId:e.id,title:e.title,artifactType:e.artifactType,status:`complete`,...e.file?{file:e.file}:{},...e.presentation?{presentation:e.presentation}:{},...e.component?{component:e.component}:{},...e.props?{componentProps:e.props}:{},...e.markdown===void 0?{}:{markdown:e.markdown}}),i=this.messages.find(e=>e.id===t);i?(i.rawContent=r,i.streaming=!1,this.callbacks.onMessagesChanged([...this.messages])):this.injectAssistantMessage({id:t,content:``,rawContent:r})}#at(){let e=!1;for(let t of this.artifacts.values()){let n=this.messages.find(e=>e.id===`artifact-ref-${t.id}`);if(!n)continue;let r=bt(this.config.features?.artifacts,t),i=Tt(r,{artifactId:t.id,title:t.title,artifactType:t.artifactType,status:t.status,...t.file?{file:t.file}:{},...t.presentation?{presentation:t.presentation}:{},...t.component?{component:t.component}:{},...t.props?{componentProps:t.props}:{},...t.markdown===void 0?{}:{markdown:t.markdown}});n.rawContent!==i&&(n.rawContent=i,n.streaming=t.status===`streaming`,e=!0)}e&&this.callbacks.onMessagesChanged([...this.messages])}#ot(){(this.artifacts.size!==0||this.#b!==null)&&(this.artifacts.clear(),this.#b=null,this.#st())}#st(){this.callbacks.onArtifactsState?.({artifacts:[...this.artifacts.values()],selectedId:this.#b})}#ct(e){switch(e.type){case`artifact_start`:e.artifactType===`markdown`?this.artifacts.set(e.id,{id:e.id,artifactType:`markdown`,title:e.title,status:`streaming`,markdown:``,...e.file?{file:e.file}:{}}):this.artifacts.set(e.id,{id:e.id,artifactType:`component`,title:e.title,status:`streaming`,component:e.component??``,props:{}}),this.#b=e.id;break;case`artifact_delta`:{let t=this.artifacts.get(e.id);t?.artifactType===`markdown`&&(t.markdown=(t.markdown??``)+e.artDelta);break}case`artifact_update`:{let t=this.artifacts.get(e.id);t?.artifactType===`component`&&(t.props={...t.props,...e.props},e.component&&(t.component=e.component));break}case`artifact_complete`:{let t=this.artifacts.get(e.id);t&&(t.status=`complete`);break}default:return}this.#st()}hydrateMessages(e){this.client.cancelStreams(),this.abortController?.abort(),this.abortController=null,this.#Tt(),this.#rt(),this.#Qe++,this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear(),this.#t=void 0,this.messages=this.#Rt(e.map(e=>({...st(e),streaming:!1,sequence:e.sequence??this.#It()}))),this.#kt(!1),this.#Ot(`idle`),this.callbacks.onMessagesChanged([...this.messages]),this.#a(`cancel`)}hydrateArtifacts(e,t=null,n=!1){this.artifacts.clear();for(let t of e)this.artifacts.set(t.id,{...t,status:n?t.status:`complete`});this.#b=t,this.#st()}assertBackgroundSwitchable(){let e=this.config.backgroundConversations;if(e?.capabilities?.durableExecution!==!0||e.capabilities?.readOnlyReplay!==!0||typeof e.reconnectStream!=`function`)throw new qi(`background_unavailable`,`This backend does not support background conversations`);if(this.config.parseSSEEvent)throw new qi(`background_unavailable`,`Background replay requires the native event parser`);if(this.#_t()||this.webMcpResolveControllers.size||this.webMcpAwaitBatches.size||(this.streaming||this.#f)&&(!this.#u||!this.#k))throw new qi(`conversation_busy`,`This turn cannot safely continue in the background`)}async#lt(){if(this.#h)return;let e=this.config.backgroundConversations,t=this.#N,{BackgroundConversationController:n}=await hi();if(t!==this.#N||e!==this.config.backgroundConversations)throw new qi(`superseded`,`The history identity changed`);if(this.#h)return;this.#h=new n(e,e=>{this.#ft(e)});let r=!0;this.#g=this.#de?.subscribeIdentityStatus(()=>{r||(this.#h?.clear(),this.cancel())})??null,r=!1}#ut(){this.#h?.clear(),this.#h=null,this.#g?.(),this.#g=null}#dt(e){let t=this.#u?.executionId??this.agentExecution?.executionId,n=this.#k;if(!this.config.backgroundConversations||!t||!n)return;let r={conversationId:n,executionId:t,status:e,detached:!1};this.#ft(r)}#ft(e){try{this.config.onConversationExecutionState?.(e)}catch{}try{this.callbacks.onConversationExecutionState?.(e)}catch{}}#pt(){let e=this.config.backgroundConversations,t=this.#k;return e&&t?n=>e.reconnectStream({...n,conversationId:t}):this.config.reconnectStream}#mt(e){this.#i(e.handle.executionId),this.#d=e.handle.assistantMessageId;let t=this.messages.find(e=>e.id===this.#d);t&&(t.streaming=e.streamCheckpoint?.openAssistant??!0),this.#p=e.streamCheckpoint,this.agentExecution={executionId:e.handle.executionId,agentId:``,agentName:``,status:`running`,currentIteration:0,maxTurns:0},this.#u=e.handle,this.#Dt(!0),this.#dt(e.observedStatus??`running`),this.#vt()}#ht(e){let t=this.agentExecution?.executionId;if(!t||!this.#d||this.agentExecution?.status!==`running`)return;let n=this.#u===null;this.#u={executionId:t,lastEventId:e,assistantMessageId:this.#d,status:`running`},this.#Dt(n),n&&this.#dt(`running`)}#gt(){return this.#u!==null&&typeof this.#pt()==`function`&&this.abortController?.signal.aborted!==!0&&this.webMcpResolveControllers.size===0&&this.webMcpAwaitBatches.size===0&&!this.#_t()}#_t(){return this.messages.some(e=>e.agentMetadata?.awaitingLocalTool===!0&&e.agentMetadata?.askUserQuestionAnswered!==!0||e.variant===`approval`&&e.approval?.status===`pending`)}#vt(){this.#f||this.#u&&typeof this.#pt()==`function`&&(this.#f=!0,this.callbacks.onReconnect?.({phase:`paused`,handle:this.#u}),this.#kt(!0),this.#Ot(`resuming`),this.#yt().then(e=>{this.#f&&this.#u&&e.begin()}))}#yt(){return this.#_?Promise.resolve(this.#_):(this.#v||(this.#v=Wi().then(({createReconnectController:e})=>{let t=e(this.#bt());return this.#_=t,t}),this.#v.catch(()=>{this.#v=null})),this.#v)}#bt(){let e=this;return{get config(){return{...e.config,reconnectStream:e.#pt()}},getResumable:()=>e.#u,clearResumable:()=>e.#Et(),getStatus:()=>e.status,setStatus:t=>e.#Ot(t),setStreaming:t=>e.#kt(t),setReconnecting:t=>{e.#f=t},setAbortController:t=>{e.abortController=t},getMessages:()=>e.messages,isAwaitPending:()=>e.#_t(),notifyMessagesChanged:()=>e.callbacks.onMessagesChanged([...e.messages]),resumeConnect:(t,n,r)=>e.connectStream(t,{assistantMessageId:n,allowReentry:!0,preserveAssistantId:!0,seedContent:r,readOnlyReplay:!!e.config.backgroundConversations}),appendMessage:t=>e.#Pt(t),settleParked:t=>e.#xt(t),nextSequence:()=>e.#It(),emitReconnect:t=>e.callbacks.onReconnect?.(t),buildErrorContent:t=>Ji(Error(t),e.config.errorMessage),onError:t=>e.callbacks.onError?.(t)}}reconnectNow(){this.#f?this.#_?.wake():this.#vt()}resumeFromHandle(e){if(typeof this.config.reconnectStream!=`function`||this.#f)return;if(this.#i(e.executionId),this.#_t()){this.#St(e.executionId),this.#u={executionId:e.executionId,lastEventId:e.after,assistantMessageId:this.#d??``,status:`running`};return}let t=this.#Ct(e.executionId)?ut():this.#wt();t||(t=ut(),this.#Pt({id:t,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!0,sequence:this.#It()})),this.#d=t,this.#St(e.executionId),this.#u={executionId:e.executionId,lastEventId:e.after,assistantMessageId:t,status:`running`},this.#vt()}#xt(e){let t=this.webMcpResolveControllers.size>0||this.webMcpAwaitBatches.size>0;if(!t&&!this.#_t()){if(!this.#Ct(e))return!1;this.#Et()}if(this.#f=!1,!t){let e=!1;for(let t of this.messages)t.streaming&&(t.streaming=!1,e=!0);e&&this.callbacks.onMessagesChanged([...this.messages]),this.#kt(!1),this.abortController=null}return this.#Ot(`idle`),!0}#St(e){this.agentExecution||={executionId:e,agentId:``,agentName:``,status:`running`,currentIteration:0,maxTurns:0}}#Ct(e){return this.messages.some(t=>t.agentMetadata?.executionId===e&&[t.toolCall,...t.tools??[]].some(e=>e?.interrupted===!0))}#wt(){for(let e=this.messages.length-1;e>=0;e--){let t=this.messages[e];if(t.role===`assistant`&&!t.variant)return t.streaming=!0,this.callbacks.onMessagesChanged([...this.messages]),t.id;if(t.role===`user`)break}return null}#Tt(){this.#f=!1,this.#_?.teardown(),this.#Et()}#Et(){this.#y&&=(clearTimeout(this.#y),null);let e=this.#u!==null;this.#u=null,this.#p=void 0,e&&this.config.onExecutionState?.(null)}#Dt(e){let t=this.config.onExecutionState;t&&(e?(this.#y&&=(clearTimeout(this.#y),null),t(this.#u)):this.#y||=setTimeout(()=>{this.#y=null,this.config.onExecutionState?.(this.#u)},500))}getResumableHandle(){return this.#u}#Ot(e){e===`error`&&(this.#n=!0,this.#o()),this.status!==e&&(this.status=e,this.callbacks.onStatusChanged(e))}#kt(e){if(e||this.#o(),this.streaming===e)return;let t=this.streaming;this.streaming=e,this.callbacks.onStreamingChanged(e),t&&!e&&(this.#jt(void 0),this.speakLatestAssistantMessage())}speakLatestAssistantMessage(e){let t=this.config.textToSpeech;if(!t?.enabled||!(!t.provider||t.provider===`browser`||t.provider===`runtype`&&t.browserFallback))return;let n=[...this.messages].reverse().find(e=>e.role===`assistant`&&e.content&&!e.voiceProcessing);if(!n||e&&!e.includes(n.id))return;if(this.ttsSpokenMessageIds.has(n.id)){this.ttsSpokenMessageIds.delete(n.id);return}let r=Ri(n.content);r.trim()&&this.readAloud.play(n.id,{text:r,voice:t.voice,rate:t.rate,pitch:t.pitch})}static pickBestVoice(e){return Pi(e)}toggleReadAloud(e){let t=this.messages.find(t=>t.id===e);if(!t||t.role!==`assistant`)return;let n=Ri(t.content||``);if(!n.trim())return;let r=this.config.textToSpeech;this.readAloud.toggle(e,{text:n,voice:r?.voice,rate:r?.rate,pitch:r?.pitch})}getReadAloudState(e){return this.readAloud.stateFor(e)}onReadAloudChange(e){return this.readAloud.onChange(e)}stopSpeaking(){this.readAloud.stop(),typeof window<`u`&&`speechSynthesis`in window&&window.speechSynthesis.cancel()}#At(e){for(let e of this.messages)e.streaming=!1;let t=Ji(e,this.config.errorMessage);t?this.#Pt({id:ut(),role:`assistant`,content:t,dispatchError:!0,localOnly:!0,createdAt:(/* @__PURE__ */ new Date()).toISOString(),sequence:this.#It()}):this.callbacks.onMessagesChanged([...this.messages])}#jt(e){for(let[t,n]of[...this.#s])n===e&&(this.#s.delete(t),this.#Nt(t))}#Mt(e){for(let[t,n]of this.#s)n===e&&this.#s.set(t,void 0)}#Nt(e){let t=this.messages.find(t=>t.id===e)?.approval,n=t?.toolCallId,r=n&&this.messages.find(e=>e.toolCall?.id===n),i=r&&r.toolCall;if(!i||i.status===`complete`||t.status===`pending`)return;let a={...i,status:`complete`,approvalStatus:t.status,completedAt:Date.now(),...t.status===`approved`?{superseded:!0}:{success:!1,error:t.status===`denied`?`Denied`:`Approval timed out`}};this.upsertMessage({...r,streaming:!1,toolCall:a})}#Pt(e){let t=this.#Ft(e),n=this.messages[this.messages.length-1];this.messages=!n||this.#Lt(n,t)<=0?[...this.messages,t]:this.#Rt([...this.messages,t]),this.callbacks.onMessagesChanged([...this.messages])}upsertMessage(e){let t=this.#Ft(e),n=this.messages.findIndex(e=>e.id===t.id);if(n===-1){this.#Pt(t);return}this.messages=this.messages.map((e,r)=>{if(r!==n||e.toolCall?.name&&nt(e.toolCall.name)&&e.toolCall.status===`complete`&&t.toolCall?.id===e.toolCall.id&&t.toolCall.status!==`complete`&&(t.toolCall.status===`pending`&&!t.toolCall.name||!e.toolCall.interrupted&&(e.toolCall.result!==void 0||e.toolCall.success!==void 0)&&(!t.agentMetadata?.executionId||t.agentMetadata.executionId===e.agentMetadata?.executionId)))return e;let i={...e,...t};e.agentMetadata?.askUserQuestionAnswered===!0&&t.agentMetadata&&(i.agentMetadata={...t.agentMetadata,askUserQuestionAnswered:!0,...e.agentMetadata.askUserQuestionAnswers?{askUserQuestionAnswers:e.agentMetadata.askUserQuestionAnswers}:{},awaitingLocalTool:!1}),e.agentMetadata?.suggestRepliesResolved===!0&&t.agentMetadata&&(i.agentMetadata={...i.agentMetadata??t.agentMetadata,suggestRepliesResolved:!0,awaitingLocalTool:!1});let a=e.agentMetadata?.clientToolAnswer;if(a&&i.agentMetadata&&!i.agentMetadata.clientToolAnswer&&(i.agentMetadata={...i.agentMetadata,clientToolAnswer:a}),e.approval&&t.approval&&e.approval.id===t.approval.id){let n=e.approval,r=t.approval;i.approval={...n,...r,executionId:r.executionId||n.executionId,toolCallId:r.toolCallId||n.toolCallId,toolName:r.toolName||n.toolName,description:r.description||n.description,toolType:r.toolType??n.toolType,reason:r.reason??n.reason,parameters:r.parameters??n.parameters}}let o=t.toolCall?.name,s=t.agentMetadata?.executionId,c=t.toolCall?.id;if(o&&Yi(o)&&s&&c&&t.agentMetadata?.awaitingLocalTool===!0){let t=`${s}:${c}`,n=this.webMcpInflightKeys.has(t),r=this.webMcpResolvedKeys.has(t),a=e.toolCall?.name,o=e.agentMetadata?.executionId===s&&e.toolCall?.id===c&&a!==void 0&&Yi(a)&&e.toolCall?.status===`complete`&&!e.toolCall.interrupted;(n||r||o)&&(i.agentMetadata={...i.agentMetadata??{},awaitingLocalTool:!1},i.toolCall=e.toolCall,i.streaming=e.streaming)}return i});let r=this.messages[n],i=this.messages[n-1],a=this.messages[n+1];(i&&this.#Lt(i,r)>0||a&&this.#Lt(r,a)>0)&&(this.messages=this.#Rt(this.messages)),this.callbacks.onMessagesChanged([...this.messages])}#Ft(e){return e.sequence===void 0?{...e,sequence:this.#It()}:{...e}}#It(){return this.#l++}#Lt(e,t){let n=new Date(e.createdAt).getTime(),r=new Date(t.createdAt).getTime();if(!Number.isNaN(n)&&!Number.isNaN(r)&&n!==r)return n-r;let i=e.sequence??0,a=t.sequence??0;return i===a?e.id.localeCompare(t.id):i-a}#Rt(e){return[...e].sort((e,t)=>this.#Lt(e,t))}};function Zi(e){let t=A(`div`,`persona-attachment-preview persona-relative persona-inline-block`),n=e,r=``,i=()=>{let{state:e}=n,r=n.config.attachments?.preview,i=e.kind===`image`,a=i?r?.image:r?.file,o=i?r?.image?.layout??`thumbnail`:r?.file?.layout??`tile`;if(t.dataset.kind=e.kind,t.dataset.layout=o,t.dataset.fileIcon=String(r?.file?.icon!==!1),t.dataset.iconPlacement=r?.file?.iconPlacement??`start`,t.dataset.removeVisibility=a?.remove?.visibility??`always`,t.dataset.removePlacement=a?.remove?.placement??`overlap`,t.replaceChildren(),i&&e.previewUrl){let n=k(`img`,{className:`persona-attachment-image`,attrs:{src:e.previewUrl,alt:e.name},style:{objectFit:r?.image?.fit??`cover`}}),i=r?.image?.name??`hidden`;if(o===`chip`||i!==`hidden`){let r=A(`div`,`persona-attachment-image-card`);r.append(n),i!==`hidden`&&r.append(k(`span`,{className:`persona-attachment-file-name`,text:i===`basename`?e.name.replace(/\.[^.]+$/,``):e.name})),t.append(r)}else t.append(n)}else{let n=A(`div`,`persona-attachment-file`),i=e.mimeType,a=i.includes(`spreadsheet`)||i.includes(`excel`)?Cn:i===`application/json`?Sn:i===`application/pdf`||i.startsWith(`text/`)||i.includes(`word`)?wn:xn,o=(r?.file?.iconName?T(r.file.iconName,20,`currentColor`,1.5):null)??b(a,20,`currentColor`,1.5);o&&r?.file?.icon!==!1&&(o.classList.add(`persona-attachment-file-icon`),n.append(o));let s=A(`div`,`persona-attachment-file-copy`),c=r?.file?.name??`hidden`;c!==`hidden`&&s.append(k(`span`,{className:`persona-attachment-file-name`,text:c===`basename`?e.name.replace(/\.[^.]+$/,``):e.name}));let l=r?.file?.metadata,u=l===`size`?e.size<1024?`${e.size} B`:e.size<1048576?`${Math.round(e.size/1024)} KB`:`${(e.size/1048576).toFixed(1)} MB`:l===`line-count`&&e.lineCount!==void 0?`${e.lineCount} ${e.lineCount===1?`line`:`lines`}`:``;u&&s.append(k(`span`,{className:`persona-attachment-file-metadata`,text:u})),s.childNodes.length&&n.append(s);let d=r?.file?.badge??`type`;d!==`none`&&n.append(k(`span`,{className:`persona-attachment-file-badge`,text:d===`extension`?e.name.match(/\.([^.]+)$/)?.[1].toUpperCase()??N(i,e.name):N(i,e.name)})),t.append(n)}let s=k(`div`,{className:`persona-attachment-status`,attrs:{"data-persona-attachment-status":``}}),c=A(`div`,`persona-attachment-progress`);c.append(A(`div`,`persona-attachment-progress__bar`));let l=k(`button`,{className:`persona-attachment-retry`,attrs:{type:`button`,"aria-label":`Retry upload`}}),u=T(`rotate-cw`,12,`#ffffff`,2);u?l.append(u):l.textContent=`↻`,l.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),n.actions.retry()}),s.append(c,l);let d=k(`button`,{className:`persona-attachment-remove`,attrs:{type:`button`,"aria-label":`Remove attachment`}}),f=b(En,10,`currentColor`,2);f?d.append(f):d.textContent=`×`,d.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),n.actions.remove()}),t.append(s),((a?.remove?.placement===`inline`?t.querySelector(`.persona-attachment-file, .persona-attachment-image-card`):null)??t).append(d)},a=e=>{n=e;let{state:a}=n,o=JSON.stringify([n.config.attachments?.preview,a.lineCount,a.previewUrl]);r!==o&&(r=o,i()),t.dataset.status=a.status,t.setAttribute(`aria-busy`,String(a.status===`uploading`||a.status===`processing`)),t.title=a.status===`error`?`${a.name}: ${a.error??`Upload failed`}`:a.name;let s=t.querySelector(`.persona-attachment-progress__bar`);s&&(s.style.width=typeof a.progress==`number`?`${Math.round(a.progress*100)}%`:``)};return a(e),{element:t,update:a}}const Qi={add:e=>Nt(e)},$i=e=>Number.isFinite(e)?Math.min(1,Math.max(0,e)):0,ea={allowedTypes:Pt,maxFileSize:10485760,maxFiles:4};function ta(){return`attach_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}var na=class e{#e=[];#t;#n=/* @__PURE__ */ new Set;#r=/* @__PURE__ */ new Map;#i=null;#a=/* @__PURE__ */ new Map;#o=/* @__PURE__ */ new WeakMap;#s=!1;#c=!1;constructor(e={}){this.#t={allowedTypes:e.allowedTypes??ea.allowedTypes,maxFileSize:e.maxFileSize??ea.maxFileSize,maxFiles:e.maxFiles??ea.maxFiles,onFileRejected:e.onFileRejected,onAttachmentsChange:e.onAttachmentsChange,preview:e.preview,widgetConfig:e.widgetConfig,instanceId:e.instanceId,renderAttachmentPreview:e.renderAttachmentPreview,adapter:e.adapter}}#l(){return typeof this.#t.adapter?.add==`function`}#u(){return this.#l()?this.#t.adapter:Qi}setPreviewsContainer(e){this.#i!==e&&this.#y(),this.#i=e}remountPreviews(e){if(this.#y(),this.#i=e,e){e.innerHTML=``;for(let e of this.#e)this.#g(e)}this.#x()}updateConfig(e){if(`allowedTypes`in e&&(this.#t.allowedTypes=e.allowedTypes?.length?e.allowedTypes:ea.allowedTypes),`maxFileSize`in e&&(this.#t.maxFileSize=e.maxFileSize??ea.maxFileSize),`maxFiles`in e&&(this.#t.maxFiles=e.maxFiles??ea.maxFiles),`onFileRejected`in e&&(this.#t.onFileRejected=e.onFileRejected),e.onAttachmentsChange!==void 0&&(this.#t.onAttachmentsChange=e.onAttachmentsChange),`adapter`in e&&(this.#t.adapter=e.adapter),`preview`in e&&(this.#t.preview=e.preview),`widgetConfig`in e&&(this.#t.widgetConfig=e.widgetConfig),`instanceId`in e&&(this.#t.instanceId=e.instanceId),`renderAttachmentPreview`in e&&e.renderAttachmentPreview!==this.#t.renderAttachmentPreview)this.#t.renderAttachmentPreview=e.renderAttachmentPreview,this.remountPreviews(this.#i);else for(let e of this.#e)this.#_(e),this.#b(e)}isReady(){return this.#e.every(e=>e.status===`ready`)}getAttachments(){return[...this.#e]}getContentParts(){return this.#e.map(e=>e.contentPart).filter(e=>e!==null)}hasAttachments(){return this.#e.length>0}count(){return this.#e.length}async handleFileSelect(e){e&&e.length!==0&&await this.handleFiles(Array.from(e))}async handleFiles(e){if(!e.length||this.#s)return;let t=[];for(let n of e){if(this.#e.length>=this.#t.maxFiles){this.#t.onFileRejected?.(n,`count`);continue}let e=At(n,this.#t.allowedTypes,this.#t.maxFileSize);if(!e.valid){let t=e.error?.includes(`type`)?`type`:`size`;this.#t.onFileRejected?.(n,t);continue}let r={id:ta(),file:n,previewUrl:Ft(n)?URL.createObjectURL(n):null,contentPart:null,status:this.#l()?`uploading`:`processing`,progress:this.#l()?0:void 0};this.#e.push(r),this.#g(r),t.push(r),this.#b(r)}this.#x(),this.#m(),await Promise.all(t.map(e=>this.#d(e)))}async#d(e){let t=new AbortController;this.#a.set(e.id,t);let n=this.#u(),r=()=>this.#s||t.signal.aborted||this.#a.get(e.id)!==t||!this.#e.includes(e);try{let i=await n.add(e.file,{signal:t.signal,onProgress:t=>{r()||e.status!==`uploading`||(e.progress=$i(t),this.#_(e),this.#m())}});if(r()){this.#s&&this.#c&&this.#p(i,n);return}this.#o.set(e,n),e.contentPart=i,e.status=`ready`,e.progress=void 0,e.error=void 0}catch(t){if(r())return;e.status=`error`,e.progress=void 0,e.error=t instanceof Error?t.message:String(t??`Upload failed`)}finally{this.#a.get(e.id)===t&&this.#a.delete(e.id)}this.#_(e),this.#m()}retryAttachment(e){let t=this.#e.find(t=>t.id===e);!t||t.status!==`error`||this.#s||(t.status=this.#l()?`uploading`:`processing`,t.progress=this.#l()?0:void 0,t.error=void 0,this.#_(t),this.#m(),this.#d(t))}#f(e){let t=this.#a.get(e);t&&(this.#a.delete(e),t.abort())}removeAttachment(e){let t=this.#e.findIndex(t=>t.id===e);if(t===-1)return;let n=this.#e[t];this.#f(e),n.previewUrl&&URL.revokeObjectURL(n.previewUrl),this.#e.splice(t,1),this.#v(e),this.#n.delete(e);let r=this.#i?.querySelector(`[data-attachment-id="${e}"]`);r&&r.remove(),n.status===`ready`&&n.contentPart&&this.#p(n.contentPart,this.#o.get(n)),this.#x(),this.#m()}async#p(e,t){try{await t?.remove?.(e,{signal:new AbortController().signal})}catch(e){console.error(`[AttachmentManager] adapter.remove failed:`,e)}}clearAttachments(){this.#y(),this.#n.clear();for(let e of this.#e)this.#f(e.id),e.previewUrl&&URL.revokeObjectURL(e.previewUrl);this.#e=[],this.#a.clear(),this.#i&&(this.#i.innerHTML=``),this.#x(),this.#m()}destroy(e){if(!this.#s){this.#s=!0,this.#y(),this.#c=e?.release===!0;for(let e of this.#a.values())e.abort();this.#a.clear();for(let e of this.#e)e.previewUrl&&URL.revokeObjectURL(e.previewUrl),this.#c&&e.status===`ready`&&e.contentPart&&this.#p(e.contentPart,this.#o.get(e));this.#e=[],this.#i=null}}#m(){this.#s||this.#t.onAttachmentsChange?.(this.getAttachments())}#h(e){let t={instanceId:this.#t.instanceId??``,state:Object.freeze({id:e.id,name:e.file.name,mimeType:e.file.type,size:e.file.size,status:e.status,progress:e.progress,error:e.error,lineCount:e.lineCount,kind:Ft(e.file)?`image`:`file`,previewUrl:e.previewUrl}),config:{...this.#t.widgetConfig,attachments:{...this.#t.widgetConfig?.attachments,preview:this.#t.preview}},actions:{remove:()=>this.removeAttachment(e.id),retry:()=>this.retryAttachment(e.id)},defaultRenderer:()=>Zi(t)};return t}#g(e){if(!this.#i)return;let t=this.#h(e),n=null;try{n=this.#t.renderAttachmentPreview?.(t)??null}catch(e){console.error(`[AttachmentManager] preview renderer failed:`,e)}n??=t.defaultRenderer();let r=n instanceof HTMLElement?{element:n}:n;r.element.dataset.attachmentId=e.id,this.#r.set(e.id,r),this.#i.appendChild(r.element)}#_(e){try{this.#r.get(e.id)?.update?.(this.#h(e))}catch(e){console.error(`[AttachmentManager] preview update failed:`,e)}}#v(e){let t=this.#r.get(e);if(t){this.#r.delete(e);try{t.destroy?.()}catch(e){console.error(`[AttachmentManager] preview cleanup failed:`,e)}finally{t.element.remove()}}}#y(){for(let e of this.#r.keys())this.#v(e)}async#b(e){let t=e.file;if(!this.#n.has(e.id)&&!(this.#t.preview?.file?.metadata!==`line-count`||t.size>1048576||![`text/plain`,`text/markdown`,`text/csv`,`application/json`].includes(t.type))){this.#n.add(e.id);try{let n=await new Promise((e,n)=>{let r=new FileReader;r.onload=()=>e(String(r.result??``)),r.onerror=()=>n(r.error),r.readAsText(t)});if(this.#s||!this.#e.includes(e)||n.includes(`\0`))return;e.lineCount=n===``?0:n.split(/\r\n|\r|\n/).length-+!!/\r?\n$|\r$/.test(n),this.#_(e)}catch{}}}#x(){this.#i&&(this.#i.style.display=this.#e.length>0?`flex`:`none`)}static fromConfig(t,n){return new e({allowedTypes:t?.allowedTypes,maxFileSize:t?.maxFileSize,maxFiles:t?.maxFiles,onFileRejected:t?.onFileRejected,onAttachmentsChange:n,preview:t?.preview,adapter:t?.adapter})}};const ra=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]),q=(e,t)=>e.length===t.length&&e.every((e,n)=>{let r=t[n];return e.id===r.id&&e.name===r.name&&e.mimeType===r.mimeType&&e.size===r.size&&e.status===r.status&&e.progress===r.progress&&e.error===r.error});function ia(){let e={text:``,attachments:[],mentionRefs:[],selectedModelId:void 0,activeModeIds:[],quote:void 0,pendingSubmission:void 0,preparing:!1,streaming:!1,inputDisabled:!1,sendDisabled:!1},t=/* @__PURE__ */ new Set,n=null,r=!1,i=!1,a=()=>e.preparing?`preparing`:e.streaming?`streaming`:`idle`,o=()=>{let t=a();return Object.freeze({text:e.text,attachments:Object.freeze(e.attachments.map(e=>Object.freeze({...e}))),mentionRefs:Object.freeze([...e.mentionRefs]),selectedModelId:e.selectedModelId,activeModeIds:Object.freeze([...e.activeModeIds]),quote:e.quote?Object.freeze({...e.quote}):void 0,pendingSubmission:e.pendingSubmission,phase:t,inputDisabled:e.inputDisabled,sendDisabled:t!==`idle`||e.sendDisabled||e.inputDisabled})},s=()=>(n||=o(),n),c=()=>{if(r=!1,i||t.size===0)return;let e=s();for(let n of[...t])try{n(e)}catch(e){typeof console<`u`&&console.error(`[AgentWidget] composer state listener failed:`,e)}},l=()=>{n=null,!(i||r)&&(r=!0,queueMicrotask(c))};return{getState:s,subscribe:e=>(t.add(e),()=>t.delete(e)),setText:t=>{e.text!==t&&(e.text=t,l())},setAttachments:t=>{q(e.attachments,t)||(e.attachments=[...t],l())},setMentionRefs:t=>{ra(e.mentionRefs,t)||(e.mentionRefs=[...t],l())},setSelectedModelId:t=>{e.selectedModelId!==t&&(e.selectedModelId=t,l())},setActiveModeIds:t=>{ra(e.activeModeIds,t)||(e.activeModeIds=[...t],l())},setQuote:t=>{let n=e.quote;(n?.text!==t?.text||n?.messageId!==t?.messageId||n?.sourceLabel!==t?.sourceLabel)&&(e.quote=t?{...t}:void 0,l())},setPendingSubmission:t=>{e.pendingSubmission!==t&&(e.pendingSubmission=t,l())},setPreparing:t=>{e.preparing!==t&&(e.preparing=t,l())},setStreaming:t=>{e.streaming!==t&&(e.streaming=t,l())},setInputDisabled:t=>{e.inputDisabled!==t&&(e.inputDisabled=t,l())},setSendDisabled:t=>{e.sendDisabled!==t&&(e.sendDisabled=t,l())},flush:()=>{r&&c()},destroy:()=>{i=!0,r=!1,t.clear()}}}const aa=(e,...t)=>{for(let n of t){let t=e.querySelector(n);if(t)return t}return null},oa=(e,t)=>{let n=A(`div`,e);return n.setAttribute(t,``),n.setAttribute(`data-persona-composer-synthesized`,``),n.style.display=`contents`,n};function sa(e,t={}){let n=aa(e,`[data-persona-composer-form]`),r=aa(e,`[data-persona-composer-input]`);if(!n||!r){let e=`[Persona] composer surface is missing required element(s): ${[!n&&`form`,!r&&`input`].filter(Boolean).join(`, `)}. Mark them with data-persona-composer-form / data-persona-composer-input.`;if(t.debug&&(n||r))throw Error(e);return typeof console<`u`&&console.warn(e),null}let i={header:aa(e,`[data-persona-composer-header]`),body:aa(e,`[data-persona-composer-body]`),actionsStart:aa(e,`[data-persona-composer-actions-start]`,`.persona-widget-composer__left-actions`),actionsEnd:aa(e,`[data-persona-composer-actions-end]`,`.persona-widget-composer__right-actions`),actionsRow:aa(e,`[data-persona-composer-actions]`,`.persona-widget-composer .persona-flex.persona-items-center.persona-justify-between`),suggestions:aa(e,`[data-persona-composer-suggestions]`,`.persona-mb-3.persona-flex.persona-flex-wrap.persona-gap-2`),status:aa(e,`[data-persona-composer-status]`)},a=/* @__PURE__ */ new Set,o=i.header;o||(a.add(`header`),o=oa(`persona-widget-composer__header`,`data-persona-composer-header`),n.parentNode?n.parentNode.insertBefore(o,n):e.appendChild(o));let s=i.body??r.parentElement??n,c=(e,t,n,r,i)=>{if(t)return t;a.add(e);let o=oa(n,r);return i.appendChild(o),o},l=c(`actionsStart`,i.actionsStart,`persona-widget-composer__left-actions`,`data-persona-composer-actions-start`,n),u=c(`actionsEnd`,i.actionsEnd,`persona-widget-composer__right-actions`,`data-persona-composer-actions-end`,n),d=c(`suggestions`,i.suggestions,`persona-widget-composer__suggestions`,`data-persona-composer-suggestions`,e),f=c(`status`,i.status,`persona-widget-composer__status`,`data-persona-composer-status`,e),p=[],m=(e,t)=>e.target===t.target&&e.type===t.type&&e.handler===t.handler,h=aa(e,`[data-persona-composer-attachment-input]`,`input[type="file"]`)??void 0;return{footer:e,form:n,input:r,header:o,body:s,actionsStart:l,actionsEnd:u,suggestions:d,status:f,attachmentInput:h,attachmentPreviews:aa(e,`[data-persona-composer-attachment-previews]`,`.persona-attachment-previews`)??void 0,attachmentButton:aa(e,`[data-persona-composer-attachment-button]`,`.persona-attachment-button`)??void 0,sendButton:aa(e,`[data-persona-composer-submit]`)??void 0,micButton:aa(e,`[data-persona-composer-mic]`)??void 0,synthesized:a,found:i,addListener:(e,t,n,r)=>{e.addEventListener(t,n,r),p.push({target:e,type:t,handler:n,options:r})},removeListener:(e,t,n,r)=>{e.removeEventListener(t,n,r),p=p.filter(r=>!m(r,{target:e,type:t,handler:n}))},destroy:()=>{for(let e of p)e.target.removeEventListener(e.type,e.handler,e.options);p=[]}}}function ca(e){let t=k(`div`,{className:`persona-composer-quote`,attrs:{"data-persona-composer-quote":``}});t.style.display=`none`;let n=``,r=!1,i=n=>{let r=A(`span`,`persona-composer-quote-bar`),i=A(`div`,`persona-composer-quote-content`);if(n.sourceLabel){let e=A(`div`,`persona-composer-quote-source`);e.textContent=n.sourceLabel,i.appendChild(e)}let a=k(`div`,{className:`persona-composer-quote-text`,attrs:{"data-persona-composer-quote-text":``}});a.textContent=wi(n.text),i.appendChild(a);let o=k(`button`,{className:`persona-composer-quote-dismiss`,attrs:{type:`button`,"aria-label":e.dismissLabel??`Remove quote`,"data-persona-composer-quote-dismiss":``}}),s=T(`x`,12,`currentColor`,2);s?o.appendChild(s):o.textContent=`×`,o.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),e.onDismiss()}),t.replaceChildren(r,i,o)};return{element:t,render:e=>{if(r)return;let a=e?`${e.sourceLabel??``}${e.text}`:``;a!==n&&(n=a,e?(i(e),t.style.display=`flex`):(t.replaceChildren(),t.style.display=`none`))},destroy:()=>{r=!0,t.replaceChildren(),t.remove()}}}function la(e){let t=k(`div`,{className:`persona-composer-pending`,attrs:{"data-persona-composer-pending":``}});t.style.display=`none`;let n,r=!1,i=(e,t,n,r)=>{let i=k(`button`,{className:`persona-composer-pending-action`,attrs:{type:`button`,"aria-label":t,[n]:``}}),a=T(e,12,`currentColor`,2);return a?i.appendChild(a):i.textContent=t,i.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),r()}),i},a=e=>{let t=wi(e.text??``,90);if(t)return t;let n=e.contentParts?.length??0;return n>0?n===1?`1 attachment`:`${n} attachments`:(e.mentionRefs?.length??0)>0?e.mentionRefs.map(e=>e.label).join(`, `):`Queued message`};return{element:t,render:o=>{if(r||o===n)return;if(n=o,!o){t.replaceChildren(),t.style.display=`none`;return}let s=A(`span`,`persona-composer-pending-badge`);s.textContent=e.label??`Sends next`;let c=k(`div`,{className:`persona-composer-pending-text`,attrs:{"data-persona-composer-pending-text":``}});c.textContent=a(o),t.replaceChildren(s,c,i(`pencil`,e.editLabel??`Edit queued message`,`data-persona-composer-pending-edit`,e.onEdit),i(`x`,e.removeLabel??`Remove queued message`,`data-persona-composer-pending-remove`,e.onRemove)),t.style.display=`flex`},destroy:()=>{r=!0,t.replaceChildren(),t.remove()}}}function ua(e){let t=k(`div`,{className:`persona-message-edit`,attrs:{"data-persona-message-edit":e.messageId,"data-preserve-runtime":``}}),n=k(`textarea`,{className:`persona-message-edit-input`,attrs:{rows:`1`,dir:`auto`,"aria-label":`Edit message`,"data-persona-message-edit-input":``}});n.value=e.initialText;let r=()=>{n.style.height=`auto`,n.style.height=`${n.scrollHeight}px`};n.addEventListener(`input`,r);let i=A(`div`,`persona-message-edit-actions`),a=(e,t,n,r)=>{let i=k(`button`,{className:`persona-message-edit-button ${t}`,attrs:{type:`button`,[n]:``},text:e});return i.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),r()}),i},o=()=>{let t=n.value.trim();t&&e.onSave(t)};return i.append(a(e.cancelLabel??`Cancel`,`persona-message-edit-cancel`,`data-persona-message-edit-cancel`,e.onCancel),a(e.saveLabel??`Send`,`persona-message-edit-save`,`data-persona-message-edit-save`,o)),n.addEventListener(`keydown`,t=>{t.key===`Escape`?(t.preventDefault(),t.stopPropagation(),e.onCancel()):t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),o())}),t.append(n,i),{element:t,getValue:()=>n.value,focus:()=>{n.focus();let e=n.value.length;n.setSelectionRange(e,e),r()},destroy:()=>{t.replaceChildren(),t.remove()}}}function da(e){let t=e.text??``;if(t.trim().length>0||(e.mentionRefs?.length??0)>0||(e.activeModeIds?.length??0)>0||e.quote||e.selectedModelId)return{text:t,...e.mentionRefs?.length?{mentionRefs:[...e.mentionRefs]}:{},...e.contentSegments?.length?{contentSegments:[...e.contentSegments]}:{},...e.selectedModelId?{selectedModelId:e.selectedModelId}:{},...e.activeModeIds?.length?{activeModeIds:[...e.activeModeIds]}:{},...e.quote?{quote:{...e.quote}}:{}}}function fa(e,t){if(!e||typeof e.text!=`string`)return;let n=new Set(t.mentionSourceIds),r=(e.mentionRefs??[]).filter(e=>n.has(e.sourceId)),i=r.length===(e.mentionRefs?.length??0)&&r.length>0,a=new Set(t.modes.map(e=>e.id)),o=(e.activeModeIds??[]).filter(e=>a.has(e)),s=e.selectedModelId&&t.modelIds.includes(e.selectedModelId)?e.selectedModelId:void 0;return{text:e.text,...i?{mentionRefs:r}:{},...i&&e.contentSegments?.length?{contentSegments:e.contentSegments}:{},...s?{selectedModelId:s}:{},...o.length?{activeModeIds:o}:{},...e.quote?.text?{quote:e.quote}:{}}}function pa(e){let t=e.delay??500,n=null,r=!1,i=()=>{n!==null&&(clearTimeout(n),n=null)};return{schedule:()=>{r||(i(),n=setTimeout(()=>{n=null,e.write()},t))},flush:()=>{r||n===null||(i(),e.write())},cancel:i,destroy:()=>{r=!0,i()}}}function ma(e){return e.wrapped||e.text.includes(`
|
|
10
|
+
`)?!1:!(e.hasAttachments||e.hasChips||e.hasQuote||e.hasPendingSubmission)}function ha(){let e=!1;return{observe:(t,n)=>n?(t&&(e=!0),e):(e=!1,!1),release:()=>{e=!1}}}function ga(e){if(!e)return!1;let t=e.ownerDocument?.defaultView;if(!t?.getComputedStyle)return!1;let n=t.getComputedStyle(e),r=Number.parseFloat(n.lineHeight),i=Number.parseFloat(n.fontSize),a=Number.isFinite(r)&&r>0?r:Number.isFinite(i)&&i>0?i*1.4:0;if(!a)return!1;let o=(Number.parseFloat(n.paddingTop)||0)+(Number.parseFloat(n.paddingBottom)||0),s=e.style.height,c=e.style.getPropertyPriority(`height`),l=e.tagName===`TEXTAREA`;l&&(e.style.height=`auto`);let u=e.scrollHeight-o;return l&&e.style.setProperty(`height`,s,c),u>a*1.5}function _a(e){return Object.freeze({text:e.text,contentParts:e.contentParts?Object.freeze([...e.contentParts]):void 0,mentionRefs:Object.freeze([...e.mentionRefs]),contentSegments:e.contentSegments?Object.freeze([...e.contentSegments]):void 0,options:Object.freeze({...e.options}),viaVoice:e.viaVoice})}function va(e){return e.inputDisabled===!0||e.sendDisabled===!0||e.hasAttachments&&!e.attachmentsReady?!1:!!e.text||e.hasAttachments||e.hasMentions||e.hasServerMentions}const ya=e=>typeof e?.then==`function`;function ba(e,t){return t===!1?{status:`canceled`}:(!t||typeof t!=`object`||(typeof t.text==`string`&&(e.text=t.text),t.options&&(e.options={...e.options,...t.options})),{status:`proceed`})}function xa(e,t,n){let r;try{r=e(_a(t),{signal:n})}catch(e){return{status:`error`,error:e}}return ya(r)?Promise.resolve(r).then(e=>n.aborted?{status:`aborted`}:ba(t,e),e=>n.aborted?{status:`aborted`}:{status:`error`,error:e}):ba(t,r)}const J=e=>e?.launcher?.variant??(e?.future?.v5Defaults===!0?`circle`:`pill`),Sa={background:`semantic.colors.primary`,foreground:`semantic.colors.textInverse`,border:`transparent`,size:`48px`,iconSize:`24px`,borderRadius:`palette.radius.full`,shadow:`0 8px 24px rgba(0,0,0,.16)`,offset:`20px`},Ca=`16px`,wa=`transparent`,Ta={colors:{primary:{50:`#ffffff`,100:`#f5f5f5`,200:`#d4d4d4`,300:`#a3a3a3`,400:`#737373`,500:`#171717`,600:`#0f0f0f`,700:`#0a0a0a`,800:`#050505`,900:`#030303`,950:`#000000`},secondary:{50:`#f5f3ff`,100:`#ede9fe`,200:`#ddd6fe`,300:`#c4b5fd`,400:`#a78bfa`,500:`#8b5cf6`,600:`#7c3aed`,700:`#6d28d9`,800:`#5b21b6`,900:`#4c1d95`,950:`#2e1065`},accent:{50:`#ecfeff`,100:`#cffafe`,200:`#a5f3fc`,300:`#67e8f9`,400:`#22d3ee`,500:`#06b6d4`,600:`#0891b2`,700:`#0e7490`,800:`#155e75`,900:`#164e63`,950:`#083344`},gray:{50:`#f9fafb`,100:`#f3f4f6`,200:`#e5e7eb`,300:`#d1d5db`,400:`#9ca3af`,500:`#6b7280`,600:`#4b5563`,700:`#374151`,800:`#1f2937`,900:`#111827`,950:`#030712`},success:{50:`#f0fdf4`,100:`#dcfce7`,200:`#bbf7d0`,300:`#86efac`,400:`#4ade80`,500:`#22c55e`,600:`#16a34a`,700:`#15803d`,800:`#166534`,900:`#14532d`},warning:{50:`#fefce8`,100:`#fef9c3`,200:`#fef08a`,300:`#fde047`,400:`#facc15`,500:`#eab308`,600:`#ca8a04`,700:`#a16207`,800:`#854d0e`,900:`#713f12`},error:{50:`#fef2f2`,100:`#fee2e2`,200:`#fecaca`,300:`#fca5a5`,400:`#f87171`,500:`#ef4444`,600:`#dc2626`,700:`#b91c1c`,800:`#991b1b`,900:`#7f1d1d`},info:{50:`#eff6ff`,100:`#dbeafe`,200:`#bfdbfe`,300:`#93c5fd`,400:`#60a5fa`,500:`#3b82f6`,600:`#2563eb`,700:`#1d4ed8`,800:`#1e40af`,900:`#1e3a8a`,950:`#172554`},purple:{50:`#faf5ff`,100:`#f3e8ff`,200:`#e9d5ff`,300:`#d8b4fe`,400:`#c084fc`,500:`#a855f7`,600:`#9333ea`,700:`#7e22ce`,800:`#6b21a8`,900:`#581c87`,950:`#3b0764`},teal:{50:`#f0fdfa`,100:`#ccfbf1`,200:`#99f6e4`,300:`#5eead4`,400:`#2dd4bf`,500:`#14b8a6`,600:`#0d9488`,700:`#0f766e`,800:`#115e59`,900:`#134e4a`,950:`#042f2e`}},spacing:(()=>{let e={};for(let t of[0,1,2,3,4,5,6,8,10,12,16,20,24,32,40,48,56,64])e[t]=t===0?`0px`:`${t/4}rem`;return e})(),typography:{fontFamily:{sans:`system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif`,serif:`Georgia, Cambria, "Times New Roman", Times, serif`,mono:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace`},fontSize:{xs:`0.75rem`,sm:`0.875rem`,base:`1rem`,lg:`1.125rem`,xl:`1.25rem`,"2xl":`1.5rem`,"3xl":`1.875rem`,"4xl":`2.25rem`},fontWeight:{normal:`400`,medium:`500`,semibold:`600`,bold:`700`},lineHeight:{tight:`1.25`,normal:`1.5`,relaxed:`1.625`}},shadows:{none:`none`,sm:`0 1px 2px 0 rgb(0 0 0 / 0.05)`,md:`0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`,lg:`0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)`,xl:`0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)`,"2xl":`0 25px 50px -12px rgb(0 0 0 / 0.25)`},borders:{none:`none`,sm:`1px solid`,md:`2px solid`,lg:`4px solid`},radius:{none:`0px`,sm:`0.125rem`,md:`0.375rem`,lg:`0.5rem`,xl:`0.75rem`,"2xl":`1rem`,full:`9999px`}},Ea={colors:{primary:`palette.colors.primary.500`,secondary:`palette.colors.secondary.500`,accent:`palette.colors.primary.600`,surface:`palette.colors.gray.50`,background:`palette.colors.gray.50`,container:`palette.colors.gray.50`,text:`palette.colors.gray.900`,textMuted:`palette.colors.gray.500`,textInverse:`palette.colors.gray.50`,border:`palette.colors.gray.200`,divider:`palette.colors.gray.200`,interactive:{default:`palette.colors.primary.600`,hover:`palette.colors.primary.700`,focus:`palette.colors.primary.600`,active:`palette.colors.primary.600`,disabled:`palette.colors.gray.300`},feedback:{success:`palette.colors.success.500`,warning:`palette.colors.warning.500`,error:`palette.colors.error.500`,info:`palette.colors.info.500`}},spacing:{xs:`palette.spacing.1`,sm:`palette.spacing.2`,md:`palette.spacing.4`,lg:`palette.spacing.6`,xl:`palette.spacing.8`,"2xl":`palette.spacing.10`},typography:{fontFamily:`palette.typography.fontFamily.sans`,fontSize:`palette.typography.fontSize.base`,fontWeight:`palette.typography.fontWeight.normal`,lineHeight:`palette.typography.lineHeight.normal`}},Da={button:{primary:{background:`palette.colors.primary.500`,foreground:`palette.colors.primary.50`,borderRadius:`palette.radius.lg`,padding:`semantic.spacing.md`},secondary:{background:`semantic.colors.surface`,foreground:`semantic.colors.secondary`,borderRadius:`palette.radius.lg`,padding:`semantic.spacing.md`},ghost:{background:`transparent`,foreground:`semantic.colors.text`,borderRadius:`palette.radius.md`,padding:`semantic.spacing.sm`,hoverBackground:`rgba(0, 0, 0, 0.05)`}},input:{background:`semantic.colors.surface`,placeholder:`semantic.colors.textMuted`,borderRadius:`palette.radius.lg`,padding:`semantic.spacing.md`,focus:{border:`palette.colors.gray.400`,ring:`palette.colors.gray.400`}},launcher:{background:`semantic.colors.surface`,foreground:`semantic.colors.primary`,border:`semantic.colors.border`,size:`60px`,iconSize:`28px`,borderRadius:`palette.radius.full`,shadow:`palette.shadows.lg`},panel:{width:ue,maxWidth:`none`,height:`min(640px, max(200px, calc(100vh - 64px)))`,maxHeight:`none`,borderRadius:`palette.radius.xl`,shadow:`palette.shadows.xl`,inset:Ca,canvasBackground:wa,modes:{floating:{border:`1px solid var(--persona-border)`,shadow:`palette.shadows.xl`,borderRadius:`palette.radius.xl`},inline:{border:`1px solid var(--persona-border)`,shadow:`none`,borderRadius:`palette.radius.xl`},docked:{border:`none`,shadow:`none`,borderRadius:`palette.radius.xl`},sidebar:{border:`none`,borderRadius:`0`},mobile:{border:`none`,shadow:`none`,borderRadius:`0`}}},header:{background:`palette.colors.primary.500`,foreground:`palette.colors.primary.50`,borderRadius:`palette.radius.xl palette.radius.xl 0 0`,padding:`20px 24px`,minimalPadding:`16px 24px`,iconBackground:`palette.colors.primary.600`,iconForeground:`palette.colors.primary.50`},message:{gap:`12px`,user:{background:`palette.colors.primary.500`,text:`palette.colors.primary.50`,borderRadius:`palette.radius.lg`,shadow:`palette.shadows.sm`},assistant:{background:`semantic.colors.container`,text:`semantic.colors.text`,borderRadius:`palette.radius.lg`,border:`semantic.colors.border`,shadow:`palette.shadows.sm`},operator:{background:`color-mix(in srgb, var(--persona-primary) 6%, var(--persona-container))`,text:`semantic.colors.text`,borderRadius:`palette.radius.lg`,border:`color-mix(in srgb, var(--persona-primary) 20%, var(--persona-container))`,borderWidth:`1px`,shadow:`palette.shadows.sm`},border:`semantic.colors.border`},introCard:{background:`transparent`,borderRadius:`palette.radius.2xl`,padding:`semantic.spacing.lg`,shadow:`palette.shadows.none`},suggestion:{chip:{background:`semantic.colors.surface`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,borderRadius:`palette.radius.full`,padding:`0.5rem 0.875rem`,gap:`0.5rem`,itemGap:`8px`,minHeight:`36px`,fontSize:`0.8125rem`,lineHeight:`1.25`,iconSize:`16px`,hoverBackground:`palette.colors.gray.100`,hoverBorder:`palette.colors.gray.300`,pressedBackground:`palette.colors.gray.200`,focusRing:`semantic.colors.interactive.focus`,disabledOpacity:`0.5`},card:{background:`semantic.colors.surface`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,borderRadius:`palette.radius.xl`,padding:`1rem`,shadow:`palette.shadows.sm`,gap:`0.625rem`,itemGap:`8px`,minHeight:`72px`,fontSize:`0.875rem`,lineHeight:`1.35`,iconSize:`18px`,hoverBackground:`palette.colors.gray.100`,hoverBorder:`palette.colors.gray.300`,pressedBackground:`palette.colors.gray.200`,focusRing:`semantic.colors.interactive.focus`,disabledOpacity:`0.5`},list:{background:`transparent`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,borderRadius:`palette.radius.md`,padding:`0.75rem`,gap:`0.625rem`,itemGap:`8px`,minHeight:`44px`,fontSize:`0.875rem`,lineHeight:`1.35`,iconSize:`17px`,hoverBackground:`palette.colors.gray.100`,hoverBorder:`palette.colors.gray.300`,pressedBackground:`palette.colors.gray.200`,focusRing:`semantic.colors.interactive.focus`,disabledOpacity:`0.5`}},toolBubble:{shadow:`palette.shadows.sm`},reasoningBubble:{shadow:`palette.shadows.sm`},composer:{shadow:`palette.shadows.none`},scrollbar:{thumb:`semantic.colors.border`,track:`transparent`},markdown:{inlineCode:{background:`palette.colors.gray.50`,foreground:`palette.colors.gray.900`},link:{foreground:`palette.colors.primary.600`},prose:{fontFamily:`inherit`},codeBlock:{background:`semantic.colors.container`,borderColor:`semantic.colors.border`,textColor:`inherit`,borderRadius:`palette.radius.md`},table:{headerBackground:`semantic.colors.container`,borderColor:`semantic.colors.border`},hr:{color:`semantic.colors.divider`},blockquote:{borderColor:`palette.colors.gray.900`,background:`transparent`,textColor:`palette.colors.gray.500`}},collapsibleWidget:{container:`palette.colors.gray.50`,surface:`semantic.colors.surface`,border:`semantic.colors.border`},voice:{recording:{indicator:`palette.colors.error.500`,background:`palette.colors.error.50`,border:`palette.colors.error.200`},processing:{icon:`palette.colors.primary.500`,background:`palette.colors.primary.50`},speaking:{icon:`palette.colors.success.500`}},approval:{requested:{background:`semantic.colors.surface`,border:`semantic.colors.border`,text:`palette.colors.gray.900`,shadow:`0 1px 2px 0 rgba(11, 11, 11, 0.06), 0 2px 8px 0 rgba(11, 11, 11, 0.04)`},approve:{background:`semantic.colors.primary`,foreground:`semantic.colors.textInverse`,borderRadius:`palette.radius.md`,padding:`semantic.spacing.sm`},deny:{background:`semantic.colors.container`,foreground:`semantic.colors.text`,borderRadius:`palette.radius.md`,padding:`semantic.spacing.sm`}},attachment:{image:{background:`palette.colors.gray.100`,border:`palette.colors.gray.200`}},eventStream:{badge:{flow:{background:`palette.colors.success.100`,foreground:`palette.colors.success.700`},step:{background:`palette.colors.primary.100`,foreground:`palette.colors.primary.700`},reasoning:{background:`palette.colors.warning.100`,foreground:`palette.colors.warning.700`},tool:{background:`palette.colors.purple.100`,foreground:`palette.colors.purple.800`},agent:{background:`palette.colors.teal.100`,foreground:`palette.colors.teal.800`},error:{background:`palette.colors.error.100`,foreground:`palette.colors.error.700`},default:{background:`palette.colors.gray.100`,foreground:`palette.colors.gray.600`}}},scrollToBottom:{background:`components.button.primary.background`,foreground:`components.button.primary.foreground`,border:`semantic.colors.primary`,size:`40px`,borderRadius:`palette.radius.full`,shadow:`palette.shadows.sm`,padding:`0.5rem 0.875rem`,gap:`0.5rem`,fontSize:`0.875rem`,iconSize:`14px`},artifact:{pane:{background:`semantic.colors.container`,toolbarBackground:`semantic.colors.container`}}},Oa=Ta.colors.gray,ka={50:`#fafafa`,100:`#f5f5f5`,200:`#e5e5e5`,300:`#d4d4d4`,400:`#a3a3a3`,500:`#737373`,600:`#525252`,700:`#404040`,800:`#262626`,900:`#171717`,950:`#0a0a0a`},Aa={...Ta,colors:{...Ta.colors,gray:Oa}},ja={...Ta,colors:{...Ta.colors,gray:ka},radius:{none:`0px`,sm:`4px`,md:`8px`,lg:`12px`,xl:`16px`,"2xl":`24px`,full:`9999px`}},Ma=Ea,Na={...Ea,colors:{...Ea.colors,surface:`#ffffff`,background:`#ffffff`,container:`semantic.colors.surface`,textInverse:`#ffffff`},typography:{...Ea.typography,fontSize:`14px`,lineHeight:`1.5`}},Pa=Da,Fa={...Da,scrollToBottom:{...Da.scrollToBottom,background:`semantic.colors.surface`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,size:`32px`},messageActions:{background:`transparent`,border:`none`,hoverBackground:`components.button.ghost.hoverBackground`,hoverForeground:`semantic.colors.text`,borderRadius:`palette.radius.md`},launcher:Sa,activity:{labelSize:`13px`,iconSize:`16px`,indent:`0px`,transcriptGap:`0px`,responseGap:`12px`,groupIndent:`16px`,groupGap:`2px`,groupPadding:`2px 0`,bodyPadding:`4px 0`,bodyFontWeight:`400`,sectionGap:`8px`,bodySurface:`transparent`},toolBubble:{shadow:`none`},reasoningBubble:{shadow:`none`},input:{...Da.input,borderRadius:`palette.radius.full`},introCard:{...Da.introCard,title:{fontSize:`22px`,fontWeight:`500`}},suggestion:{chip:{...Da.suggestion.chip,fontWeight:`400`},card:{...Da.suggestion.card,fontWeight:`400`},list:{...Da.suggestion.list,fontWeight:`400`}},panel:{...Da.panel,width:`min(400px, calc(100vw - 24px))`,height:`min(704px, calc(100dvh - 104px))`,borderRadius:`palette.radius.xl`},header:{...Da.header,background:`semantic.colors.container`,foreground:`semantic.colors.text`,padding:`8px 8px 8px 16px`,minimalPadding:`8px 8px 8px 16px`,minHeight:`48px`,borderBottom:`none`,iconBackground:`transparent`,iconForeground:`semantic.colors.text`,iconScale:`1`,iconPadding:`auto`,controlSize:`28px`,controlIconSize:`16px`,controlStrokeWidth:`1.5`,actionIconForeground:`semantic.colors.textMuted`,controlBorderRadius:`8px`,controlHoverBackground:`color-mix(in srgb, var(--persona-text) 8%, transparent)`,controlHoverForeground:`semantic.colors.text`,controlFocusOutline:`2px solid color-mix(in srgb, var(--persona-text) 50%, transparent)`,title:{fontSize:`14px`,fontWeight:`500`,lineHeight:`1.5`}},message:{...Da.message,gap:`20px`,fullscreenGap:`28px`,topFadeHeight:`18px`,user:{...Da.message.user,background:`palette.colors.gray.100`,text:`semantic.colors.text`,borderRadius:`palette.radius.xl`,shadow:`none`,padding:`8px 14px`,fontSize:`14px`,lineHeight:`1.5`},assistant:{...Da.message.assistant,background:`transparent`,border:`transparent`,borderWidth:`0px`,borderRadius:`0px`,shadow:`none`,padding:`0px`,fontSize:`14px`,lineHeight:`1.55`},operator:{...Da.message.operator,background:`transparent`,border:`semantic.colors.border`,borderRadius:`palette.radius.xl`,shadow:`none`,padding:`8px 14px`,fontSize:`14px`,lineHeight:`1.5`}},artifact:{...Da.artifact,card:{background:`semantic.colors.surface`,border:`1px solid var(--persona-border)`,borderRadius:`palette.radius.lg`,hoverBackground:`components.button.ghost.hoverBackground`,hoverBorderColor:`semantic.colors.border`},inline:{background:`semantic.colors.surface`,border:`1px solid var(--persona-border)`,borderRadius:`palette.radius.lg`,chromeBackground:`semantic.colors.surface`,chromeBorder:`semantic.colors.border`,titleColor:`semantic.colors.text`,mutedColor:`semantic.colors.textMuted`}},composer:{...Da.composer,padding:`8px`,fontSize:`15px`,lineHeight:`1.5`,controlSize:`32px`,controlIconSize:`20px`,expandedPadding:`12px 16px`,expandedBorderRadius:`24px`,sendIconSize:`18px`,sendButtonRadius:`9999px`,footerBorder:`none`,overflowMenu:{borderRadius:`12px`},overlayBand:`linear-gradient(to bottom, transparent, var(--persona-container) 24px)`,focusBorderColor:`color-mix(in srgb, var(--persona-text) 28%, var(--persona-border))`,focusRing:`1px solid color-mix(in srgb, var(--persona-text) 12%, transparent)`}},Ia=e=>de({future:e}),La=e=>Ia(e)===`v5`?{palette:ja,semantic:Na,components:Fa}:{palette:Aa,semantic:Ma,components:Pa};function Ra(e,t){if(!t.startsWith(`palette.`)&&!t.startsWith(`semantic.`)&&!t.startsWith(`components.`))return t;let n=t.split(`.`),r=e;for(let e of n){if(r==null)return;r=r[e]}return typeof r==`string`&&(r.startsWith(`palette.`)||r.startsWith(`semantic.`)||r.startsWith(`components.`))?Ra(e,r):r}function za(e){let t={};function n(r,i){for(let[a,o]of Object.entries(r)){let r=`${i}.${a}`;if(typeof o==`string`){let n=Ra(e,o);n!==void 0&&(t[r]={path:r,value:n,type:i.includes(`color`)?`color`:i.includes(`spacing`)?`spacing`:i.includes(`typography`)?`typography`:i.includes(`shadow`)?`shadow`:i.includes(`border`)?`border`:`color`})}else typeof o==`object`&&o&&n(o,r)}}return n(e.palette,`palette`),n(e.semantic,`semantic`),n(e.components,`components`),t}function Ba(e){let t=[],n=[];return e.palette||t.push({path:`palette`,message:`Theme must include a palette`,severity:`error`}),e.semantic||n.push({path:`semantic`,message:`No semantic tokens defined - defaults will be used`,severity:`warning`}),e.components||n.push({path:`components`,message:`No component tokens defined - defaults will be used`,severity:`warning`}),{valid:t.length===0,errors:t,warnings:n}}function Va(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t&&typeof t==`object`&&!Array.isArray(t)&&r&&typeof r==`object`&&!Array.isArray(r)?Va(t,r):r}return n}function Ha(e,t={}){let n=La(t.future),r=e?.components,i={palette:{...n.palette,...e?.palette,colors:{...n.palette.colors,...e?.palette?.colors},spacing:{...n.palette.spacing,...e?.palette?.spacing},typography:{...n.palette.typography,...e?.palette?.typography},shadows:{...n.palette.shadows,...e?.palette?.shadows},borders:{...n.palette.borders,...e?.palette?.borders},radius:{...n.palette.radius,...e?.palette?.radius}},semantic:{...n.semantic,...e?.semantic,colors:{...n.semantic.colors,...e?.semantic?.colors,interactive:{...n.semantic.colors.interactive,...e?.semantic?.colors?.interactive},feedback:{...n.semantic.colors.feedback,...e?.semantic?.colors?.feedback}},spacing:{...n.semantic.spacing,...e?.semantic?.spacing},typography:{...n.semantic.typography,...e?.semantic?.typography}},components:r?Va(n.components,r):n.components},a=r?.activity;for(let e of[`toolBubble`,`reasoningBubble`]){let t=i.components[e]={...i.components[e]};for(let n of[`rowHeight`,`labelSize`,`iconSize`,`indent`,`bodySurface`])a?.[n]!==void 0&&(n!==`bodySurface`||r?.[e]?.bodySurface===void 0)&&(t[n]=a[n])}let o=r?.collapsibleWidget?.surface;de(t)===`v4`&&o!==void 0&&a?.bodySurface===void 0&&(i.components.activity={...i.components.activity,bodySurface:o});let s=r?.header;s?.padding!==void 0&&s.minimalPadding===void 0&&(i.components.header.minimalPadding=i.components.header.padding);let c=r?.composer;i.components.composer={...i.components.composer},c?.padding!==void 0&&c.expandedPadding===void 0&&(i.components.composer.expandedPadding=c.padding),r?.input?.borderRadius!==void 0&&c?.expandedBorderRadius===void 0&&(i.components.composer.expandedBorderRadius=r.input.borderRadius);let l=r?.message;if(l?.gap!==void 0&&l.fullscreenGap===void 0&&(i.components.message.fullscreenGap=i.components.message.gap),t.validate!==!1){let e=Ba(i);if(!e.valid)throw Error(`Theme validation failed: ${e.errors.map(e=>e.message).join(`, `)}`)}if(t.plugins)for(let e of t.plugins)i=e.transform(i);return i}const Ua=e=>e.trim()===`0`?`0px`:e,Wa=`--persona-`,Ga=e=>{if(!e)return;let t=e.trim().toLowerCase(),n;if(t.charCodeAt(0)===35){let e=t.slice(1);if(!/^[0-9a-f]+$/.test(e))return;e.length===3||e.length===4?n=[0,1,2].map(t=>parseInt(e[t]+e[t],16)):(e.length===6||e.length===8)&&(n=[0,2,4].map(t=>parseInt(e.slice(t,t+2),16)))}else{let e=t.match(/^rgba?\(([^)]+)\)$/);if(e){let t=e[1].split(/[,/\s]+/).filter(Boolean);t.length>=3&&(n=t.slice(0,3).map(e=>{let t=e.endsWith(`%`),n=parseFloat(t?e.slice(0,-1):e);return t?n/100*255:n}))}}if(!n||n.some(e=>!Number.isFinite(e)))return;let[r,i,a]=n.map(e=>{let t=Math.max(0,Math.min(255,e))/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4});return .2126*r+.7152*i+.0722*a},Ka=(e,t)=>{for(let[n,...r]of t){let t;for(let n of r)if(t=n.charCodeAt(0)===61?n.slice(1):e[Wa+n],t!==void 0)break;t!==void 0&&(e[Wa+n]=t)}},qa=[[`primary`,`semantic-colors-primary`,`palette-colors-primary-500`],[`secondary`,`semantic-colors-secondary`,`palette-colors-secondary-500`],[`accent`,`semantic-colors-accent`,`palette-colors-accent-500`],[`surface`,`semantic-colors-surface`,`palette-colors-gray-50`],[`background`,`semantic-colors-background`,`palette-colors-gray-50`],[`container`,`semantic-colors-container`,`palette-colors-gray-100`],[`text`,`semantic-colors-text`,`palette-colors-gray-900`],[`text-muted`,`semantic-colors-textMuted`,`palette-colors-gray-500`],[`text-inverse`,`semantic-colors-textInverse`,`palette-colors-gray-50`],[`border`,`semantic-colors-border`,`palette-colors-gray-200`],[`divider`,`semantic-colors-divider`,`palette-colors-gray-200`],[`muted`,`text-muted`],[`font-family`,`semantic-typography-fontFamily`,`palette-typography-fontFamily-sans`],[`font-size`,`semantic-typography-fontSize`,`palette-typography-fontSize-base`],[`font-weight`,`semantic-typography-fontWeight`,`palette-typography-fontWeight-normal`],[`line-height`,`semantic-typography-lineHeight`,`palette-typography-lineHeight-normal`],[`input-font-family`,`font-family`],[`input-font-weight`,`font-weight`],[`radius-sm`,`palette-radius-sm`,`=0.125rem`],[`radius-md`,`palette-radius-md`,`=0.375rem`],[`radius-lg`,`palette-radius-lg`,`=0.5rem`],[`radius-xl`,`palette-radius-xl`,`=0.75rem`],[`radius-full`,`palette-radius-full`,`=9999px`],[`launcher-radius`,`components-launcher-borderRadius`,`palette-radius-full`,`=9999px`],[`launcher-bg`,`components-launcher-background`,`surface`],[`launcher-fg`,`components-launcher-foreground`,`primary`]],Ja=e=>{let t=za(e),n={};for(let[e,r]of Object.entries(t)){let t=e.replace(/\./g,`-`);n[`--persona-${t}`]=r.value}return n},Ya=e=>{let t=e[`--persona-components-launcher-foreground`];e[`--persona-launcher-fg-muted`]=t&&t!==e[`--persona-primary`]?`color-mix(in srgb, ${t} 70%, transparent)`:e[`--persona-muted`]},Xa=e=>{if(e[`--persona-components-header-iconPadding`]===`auto`){let t=(e[`--persona-components-header-iconBackground`]??e[`--persona-primary`]).trim().toLowerCase(),n=t.match(/^(?:rgba?|hsla?)\(([^)]+)\)$/)?.[1].split(/[,\s/]+/).filter(Boolean);e[`--persona-components-header-iconPadding`]=t===`transparent`||/^#(?:[\da-f]{3}0|[\da-f]{6}00)$/.test(t)||n?.length===4&&parseFloat(n[3])===0?`0px`:`6px`}};function Za(e){let t=Ja(e);Ka(t,qa),Ka(t,[[`ask-sheet-bg`,`components-askUserQuestion-sheet-background`],[`ask-sheet-border`,`components-askUserQuestion-sheet-border`],[`ask-sheet-shadow`,`components-askUserQuestion-sheet-shadow`],[`ask-pill-bg`,`components-askUserQuestion-pill-background`],[`ask-pill-fg`,`components-askUserQuestion-pill-foreground`],[`ask-pill-radius`,`components-askUserQuestion-pill-borderRadius`],[`ask-pill-bg-selected`,`components-askUserQuestion-pill-selectedBackground`],[`ask-pill-fg-selected`,`components-askUserQuestion-pill-selectedForeground`],[`ask-input-bg`,`components-askUserQuestion-customInput-background`],[`voice-recording-indicator`,`components-voice-recording-indicator`,`palette-colors-error-500`],[`voice-recording-bg`,`components-voice-recording-background`,`palette-colors-error-50`],[`voice-processing-icon`,`components-voice-processing-icon`,`palette-colors-primary-500`],[`voice-speaking-icon`,`components-voice-speaking-icon`,`palette-colors-success-500`],[`approval-bg`,`components-approval-requested-background`,`surface`],[`approval-border`,`components-approval-requested-border`,`border`],[`approval-text`,`components-approval-requested-text`,`palette-colors-gray-900`],[`approval-shadow`,`components-approval-requested-shadow`,`=0 1px 2px 0 rgba(11, 11, 11, 0.06), 0 2px 8px 0 rgba(11, 11, 11, 0.04)`],[`approval-approve-bg`,`components-approval-approve-background`,`button-primary-bg`],[`approval-deny-bg`,`components-approval-deny-background`,`container`],[`attachment-image-bg`,`components-attachment-image-background`,`palette-colors-gray-100`],[`attachment-image-border`,`components-attachment-image-border`,`palette-colors-gray-200`]]),Ya(t),Ka(t,[[`launcher-border`,`components-launcher-border`,`border`],[`button-primary-bg`,`components-button-primary-background`,`primary`],[`button-primary-fg`,`components-button-primary-foreground`,`text-inverse`],[`button-radius`,`components-button-primary-borderRadius`,`palette-radius-full`,`=9999px`],[`button-stop-bg`,`components-button-stop-background`],[`button-stop-fg`,`components-button-stop-foreground`]]),Ka(t,[[`button-ghost-bg`,`components-button-ghost-background`,`=transparent`],[`button-ghost-fg`,`components-button-ghost-foreground`,`text`],[`button-ghost-radius`,`components-button-ghost-borderRadius`,`radius-md`,`=0.375rem`],[`button-ghost-hover-bg`,`components-button-ghost-hoverBackground`,`=rgba(0, 0, 0, 0.05)`],[`panel-radius`,`components-panel-borderRadius`,`radius-xl`,`=0.75rem`]]),t[`--persona-panel-border`]=t[`--persona-components-panel-border`]??`1px solid ${t[`--persona-border`]}`,Ka(t,[[`panel-shadow`,`components-panel-shadow`,`palette-shadows-xl`,`=0 25px 50px -12px rgba(0, 0, 0, 0.25)`]]),t[`--persona-panel-inset`]=t[`--persona-components-panel-inset`]??`16px`,t[`--persona-panel-canvas-bg`]=t[`--persona-components-panel-canvasBackground`]??`transparent`,Ka(t,[[`launcher-shadow`,`components-launcher-shadow`,`=0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)`],[`input-radius`,`components-input-borderRadius`,`radius-lg`,`=0.5rem`],[`message-user-radius`,`components-message-user-borderRadius`,`radius-lg`,`=0.5rem`],[`message-assistant-radius`,`components-message-assistant-borderRadius`,`radius-lg`,`=0.5rem`]]);let n=(n,r,i,a=``)=>{if(n)for(let[o,s,c]of i){let i=n[a+o];i&&(t[`--persona-${r}${s}`]=c?Ra(e,i)??i:i)}};Ka(t,[[`header-bg`,`components-header-background`,`surface`]]);let r=t[`--persona-header-bg`],i=t[`--persona-components-header-foreground`],a=i?`color-mix(in srgb, ${i} 72%, ${r})`:void 0;t[`--persona-header-border`]=t[`--persona-components-header-border`]??(i?`color-mix(in srgb, ${i} 14%, ${r})`:void 0)??t[`--persona-divider`],Ka(t,[[`header-icon-bg`,`components-header-iconBackground`,`primary`],[`header-icon-fg`,`components-header-iconForeground`,`text-inverse`]]),Xa(t),t[`--persona-header-title-fg`]=t[`--persona-components-header-title-color`]??t[`--persona-components-header-titleForeground`]??i??t[`--persona-primary`],t[`--persona-header-subtitle-fg`]=t[`--persona-components-header-subtitle-color`]??t[`--persona-components-header-subtitleForeground`]??a??t[`--persona-text-muted`],t[`--persona-header-action-icon-fg`]=t[`--persona-components-header-actionIconForeground`]??a??t[`--persona-muted`],Ka(t,[[`header-control-size`,`components-header-controlSize`,`=32px`],[`header-control-icon-size`,`components-header-controlIconSize`,`=16px`]]),n(e.components?.header,`header-`,[[`shadow`,`shadow`],[`borderBottom`,`border-bottom`],[`minHeight`,`min-height`]]),n(t,`history-rail-header-`,[[`background`,`bg`],[`border`,`border`],[`minHeight`,`min-height`]],`--persona-components-history-railHeader-`),n(t,`history-overlay-`,[[`margin`,`margin`],[`borderRadius`,`radius`],[`shadow`,`shadow`],[`background`,`bg`]],`--persona-components-history-overlay-`),n(t,`history-menu-`,[[`background`,`bg`],[`borderRadius`,`radius`]],`--persona-components-history-menu-`);let o=e.components?.history?.motion;if(o){let e=e=>{if(e===void 0)return;let t=String(e).trim();return/^\d+(\.\d+)?$/.test(t)?`${t}ms`:t},n=e(o.enterDurationMs);n!==void 0&&(t[`--persona-history-enter-ms`]=n);let r=e(o.exitDurationMs);r!==void 0&&(t[`--persona-history-exit-ms`]=r),o.enterEasing&&(t[`--persona-history-enter-easing`]=o.enterEasing),o.exitEasing&&(t[`--persona-history-exit-easing`]=o.exitEasing)}let s=t[`--persona-components-history-dangerForeground`];s&&(t[`--persona-history-danger-fg`]=s),t[`--persona-danger`]=t[`--persona-components-history-confirm-dangerBackground`]??t[`--persona-palette-colors-error-700`]??`#b42318`,t[`--persona-danger-fg`]=t[`--persona-components-history-confirm-dangerForeground`]??`#ffffff`;for(let e of[`scrim`,`shadow`]){let n=t[`--persona-components-history-confirm-${e}`];n&&(t[`--persona-history-confirm-${e}`]=n)}n(t,`tooltip-`,[[`background`,`background`],[`foreground`,`foreground`],[`hintForeground`,`hint-fg`],[`borderRadius`,`radius`],[`fontSize`,`font-size`],[`padding`,`padding`],[`maxWidth`,`max-width`],[`shadow`,`shadow`]],`--persona-components-tooltip-`),e.components?.tooltip?.arrow===!1&&(t[`--persona-tooltip-arrow-display`]=`none`),n(t,`scroll-to-bottom-count-`,[[`background`,`bg`],[`foreground`,`fg`],[`border`,`border`],[`borderRadius`,`radius`],[`size`,`size`],[`padding`,`padding`],[`fontSize`,`font-size`],[`fontWeight`,`font-weight`]],`--persona-components-scrollToBottom-countBadge-`),n(t,`scroll-to-bottom-approval-`,[[`background`,`bg`],[`foreground`,`fg`],[`border`,`border`],[`fontWeight`,`font-weight`]],`--persona-components-scrollToBottom-approval-`),n(t,`message-action-`,[[`background`,`bg`],[`border`,`border`],[`hoverBackground`,`hover-bg`],[`hoverForeground`,`hover-fg`],[`borderRadius`,`radius`]],`--persona-components-messageActions-`),n(t,`user-collapse-`,[[`fadeHeight`,`fade-height`],[`toggleForeground`,`toggle-fg`],[`toggleFontSize`,`toggle-font-size`],[`toggleFontWeight`,`toggle-font-weight`]],`--persona-components-userMessageCollapse-`),Ka(t,[[`intro-card-bg`,`components-introCard-background`,`=transparent`],[`intro-card-radius`,`components-introCard-borderRadius`,`=1rem`]]);let c=t[`--persona-components-introCard-background`],l=t[`--persona-components-introCard-shadow`],u=(!c||c===`transparent`||c===`none`)&&(!l||l===`none`),d=t[`--persona-components-introCard-padding`]??`1.5rem`;t[`--persona-intro-card-padding`]=u&&d===`1.5rem`?`1.5rem 0`:d,Ka(t,[[`intro-card-shadow`,`components-introCard-shadow`,`=none`],[`intro-card-border`,`components-introCard-border`,`=none`],[`input-background`,`components-input-background`,`surface`],[`input-placeholder`,`components-input-placeholder`,`text-muted`],[`input-backdrop-filter`,`components-input-backdropFilter`,`=none`],[`message-user-bg`,`components-message-user-background`,`accent`],[`message-user-text`,`components-message-user-text`,`text-inverse`],[`message-user-shadow`,`components-message-user-shadow`,`=0 5px 15px rgba(15, 23, 42, 0.08)`],[`message-assistant-bg`,`components-message-assistant-background`,`surface`],[`message-assistant-text`,`components-message-assistant-text`,`text`],[`message-assistant-border`,`components-message-assistant-border`,`border`],[`message-assistant-shadow`,`components-message-assistant-shadow`,`=0 1px 2px 0 rgb(0 0 0 / 0.05)`],[`scroll-to-bottom-bg`,`components-scrollToBottom-background`,`button-primary-bg`,`accent`],[`scroll-to-bottom-fg`,`components-scrollToBottom-foreground`,`button-primary-fg`,`text-inverse`],[`scroll-to-bottom-border`,`components-scrollToBottom-border`,`primary`],[`scroll-to-bottom-size`,`components-scrollToBottom-size`,`=40px`],[`scroll-to-bottom-radius`,`components-scrollToBottom-borderRadius`,`button-radius`,`radius-full`,`=9999px`],[`scroll-to-bottom-shadow`,`components-scrollToBottom-shadow`,`palette-shadows-sm`,`=0 1px 2px 0 rgb(0 0 0 / 0.05)`],[`scroll-to-bottom-padding`,`components-scrollToBottom-padding`,`=0.5rem 0.875rem`],[`scroll-to-bottom-gap`,`components-scrollToBottom-gap`,`=0.5rem`],[`scroll-to-bottom-font-size`,`components-scrollToBottom-fontSize`,`palette-typography-fontSize-sm`,`=0.875rem`],[`scroll-to-bottom-icon-size`,`components-scrollToBottom-iconSize`,`=14px`],[`event-badge-flow-bg`,`components-eventStream-badge-flow-background`,`=#dcfce7`],[`event-badge-flow-fg`,`components-eventStream-badge-flow-foreground`,`=#15803d`],[`event-badge-step-bg`,`components-eventStream-badge-step-background`,`=#f5f5f5`],[`event-badge-step-fg`,`components-eventStream-badge-step-foreground`,`=#0a0a0a`],[`event-badge-reasoning-bg`,`components-eventStream-badge-reasoning-background`,`=#fef9c3`],[`event-badge-reasoning-fg`,`components-eventStream-badge-reasoning-foreground`,`=#a16207`],[`event-badge-tool-bg`,`components-eventStream-badge-tool-background`,`=#f3e8ff`],[`event-badge-tool-fg`,`components-eventStream-badge-tool-foreground`,`=#6b21a8`],[`event-badge-agent-bg`,`components-eventStream-badge-agent-background`,`=#ccfbf1`],[`event-badge-agent-fg`,`components-eventStream-badge-agent-foreground`,`=#115e59`],[`event-badge-error-bg`,`components-eventStream-badge-error-background`,`=#fee2e2`],[`event-badge-error-fg`,`components-eventStream-badge-error-foreground`,`=#b91c1c`],[`event-badge-default-bg`,`components-eventStream-badge-default-background`,`=#f3f4f6`],[`event-badge-default-fg`,`components-eventStream-badge-default-foreground`,`=#4b5563`],[`tool-bubble-shadow`,`components-toolBubble-shadow`,`=0 5px 15px rgba(15, 23, 42, 0.08)`],[`reasoning-bubble-shadow`,`components-reasoningBubble-shadow`,`=0 5px 15px rgba(15, 23, 42, 0.08)`],[`composer-shadow`,`components-composer-shadow`,`=none`]]),Ka(t,[[`panel-background`,`components-panel-background`,`surface`],[`transcript-background`,`components-message-background`,`container`],[`transcript-top-fade-background`,`components-message-topFadeBackground`,`transcript-background`],[`composer-footer-background`,`components-composer-footerBackground`,`surface`],[`composer-footer-padding`,`components-composer-footerPadding`,`=1rem 1.5rem`],[`composer-padding`,`components-composer-padding`,`=0.75rem 1rem`],[`composer-gap`,`components-composer-gap`,`=0.5rem`],[`composer-font-size`,`components-composer-fontSize`,`=0.875rem`],[`composer-line-height`,`components-composer-lineHeight`,`=1.25rem`],[`composer-control-size`,`components-composer-controlSize`,`=40px`],[`composer-control-icon-size`,`components-composer-controlIconSize`,`=24px`],[`motion-duration-fast`,`components-motion-durationFast`,`=120ms`],[`motion-duration-base`,`components-motion-durationBase`,`=200ms`],[`motion-easing`,`components-motion-easing`,`=cubic-bezier(0.2, 0, 0, 1)`],[`composer-border-color`,`components-composer-borderColor`,`border`,`=#e5e7eb`],[`composer-overlay-band`,`components-composer-overlayBand`,`=transparent`],[`scrollbar-thumb`,`components-scrollbar-thumb`,`border`,`=#e5e7eb`],[`scrollbar-track`,`components-scrollbar-track`,`=transparent`],[`md-inline-code-bg`,`components-markdown-inlineCode-background`,`container`],[`md-inline-code-color`,`components-markdown-inlineCode-foreground`,`text`],[`md-link-color`,`components-markdown-link-foreground`,`accent`,`=#0f0f0f`]]),n(t,`md-`,[[`h1-fontSize`,`h1-size`],[`h1-fontWeight`,`h1-weight`],[`h2-fontSize`,`h2-size`],[`h2-fontWeight`,`h2-weight`]],`--persona-components-markdown-heading-`);let f=t[`--persona-components-markdown-prose-fontFamily`];f&&f!==`inherit`&&(t[`--persona-md-prose-font-family`]=f),Ka(t,[[`md-code-block-bg`,`components-markdown-codeBlock-background`,`container`],[`md-code-block-border-color`,`components-markdown-codeBlock-borderColor`,`border`],[`md-code-block-text-color`,`components-markdown-codeBlock-textColor`,`=inherit`]]),Ka(t,[[`md-code-block-border-radius`,`components-markdown-codeBlock-borderRadius`,`radius-md`,`=0.375rem`]]),Ka(t,[[`md-table-header-bg`,`components-markdown-table-headerBackground`,`container`],[`md-table-border-color`,`components-markdown-table-borderColor`,`border`]]),Ka(t,[[`md-hr-color`,`components-markdown-hr-color`,`divider`]]),Ka(t,[[`md-blockquote-border-color`,`components-markdown-blockquote-borderColor`,`palette-colors-gray-900`],[`md-blockquote-bg`,`components-markdown-blockquote-background`,`=transparent`],[`md-blockquote-text-color`,`components-markdown-blockquote-textColor`,`palette-colors-gray-500`]]);for(let[e,n]of[[`container`,`surface`],[`surface`,`surface`],[`border`,`border`]]){let r=t[`--persona-components-collapsibleWidget-${e}`]??t[`--persona-${n}`];r!==void 0&&(t[`--persona-cw-${e}`]=r,t[`--cw-${e}`]=r)}Ka(t,[[`message-border`,`components-message-border`,`border`]]),Ka(t,[[`message-user-padding`,`components-message-user-padding`],[`message-user-max-width`,`components-message-user-maxWidth`],[`message-user-font-size`,`components-message-user-fontSize`],[`message-user-font-family`,`components-message-user-fontFamily`],[`message-user-line-height`,`components-message-user-lineHeight`],[`message-assistant-padding`,`components-message-assistant-padding`],[`message-assistant-border-width`,`components-message-assistant-borderWidth`],[`message-assistant-max-width`,`components-message-assistant-maxWidth`],[`message-assistant-font-size`,`components-message-assistant-fontSize`],[`message-assistant-font-family`,`components-message-assistant-fontFamily`],[`message-assistant-line-height`,`components-message-assistant-lineHeight`],[`message-operator-padding`,`components-message-operator-padding`],[`message-operator-max-width`,`components-message-operator-maxWidth`],[`message-operator-font-size`,`components-message-operator-fontSize`],[`message-operator-font-family`,`components-message-operator-fontFamily`],[`message-operator-line-height`,`components-message-operator-lineHeight`]]);let p=e.components;n(p?.iconButton,`icon-btn-`,[[`background`,`bg`],[`border`,`border`],[`color`,`color`],[`padding`,`padding`],[`borderRadius`,`radius`],[`hoverBackground`,`hover-bg`],[`hoverColor`,`hover-color`],[`activeBackground`,`active-bg`],[`activeBorder`,`active-border`]]),n(p?.labelButton,`label-btn-`,[[`background`,`bg`],[`border`,`border`],[`color`,`color`],[`padding`,`padding`],[`borderRadius`,`radius`],[`hoverBackground`,`hover-bg`],[`fontSize`,`font-size`],[`gap`,`gap`]]),n(p?.toggleGroup,`toggle-group-`,[[`gap`,`gap`],[`borderRadius`,`radius`]]);let m=p?.artifact;if(m?.toolbar){let r=m.toolbar;n(r,`artifact-toolbar-icon-`,[[`iconHoverColor`,`hover-color`],[`iconHoverBackground`,`hover-bg`],[`iconPadding`,`padding`],[`iconBorderRadius`,`radius`],[`iconBorder`,`border`]]),r.toggleGroupGap&&(t[`--persona-artifact-toolbar-toggle-group-gap`]=Ua(r.toggleGroupGap)),r.toggleBorderRadius&&(t[`--persona-artifact-toolbar-toggle-radius`]=r.toggleBorderRadius),r.toggleGroupPadding&&(t[`--persona-artifact-toolbar-toggle-group-padding`]=Ua(r.toggleGroupPadding)),n(r,`artifact-toolbar-toggle-group-`,[[`toggleGroupBorder`,`border`],[`toggleGroupBorderRadius`,`radius`]]),r.toggleGroupBackground&&(t[`--persona-artifact-toolbar-toggle-group-bg`]=Ra(e,r.toggleGroupBackground)??r.toggleGroupBackground),n(r,`artifact-toolbar-copy-`,[[`copyBackground`,`bg`],[`copyBorder`,`border`],[`copyColor`,`color`]]),r.copyBorderRadius&&(t[`--persona-artifact-toolbar-copy-radius`]=Ua(r.copyBorderRadius)),r.copyPadding&&(t[`--persona-artifact-toolbar-copy-padding`]=r.copyPadding),r.copyMenuBackground&&(t[`--persona-artifact-toolbar-copy-menu-bg`]=r.copyMenuBackground,t[`--persona-dropdown-bg`]=t[`--persona-dropdown-bg`]??r.copyMenuBackground),r.copyMenuBorder&&(t[`--persona-artifact-toolbar-copy-menu-border`]=r.copyMenuBorder,t[`--persona-dropdown-border`]=t[`--persona-dropdown-border`]??r.copyMenuBorder),r.copyMenuShadow&&(t[`--persona-artifact-toolbar-copy-menu-shadow`]=r.copyMenuShadow,t[`--persona-dropdown-shadow`]=t[`--persona-dropdown-shadow`]??r.copyMenuShadow),r.copyMenuBorderRadius&&(t[`--persona-artifact-toolbar-copy-menu-radius`]=r.copyMenuBorderRadius,t[`--persona-dropdown-radius`]=t[`--persona-dropdown-radius`]??r.copyMenuBorderRadius),r.copyMenuItemHoverBackground&&(t[`--persona-artifact-toolbar-copy-menu-item-hover-bg`]=r.copyMenuItemHoverBackground,t[`--persona-dropdown-item-hover-bg`]=t[`--persona-dropdown-item-hover-bg`]??r.copyMenuItemHoverBackground),n(r,`artifact-toolbar-`,[[`iconBackground`,`icon-bg`],[`toolbarBorder`,`border`]])}if(m?.tab){let e=m.tab;n(e,`artifact-tab-`,[[`background`,`bg`],[`activeBackground`,`active-bg`],[`activeBorder`,`active-border`],[`borderRadius`,`radius`],[`textColor`,`color`],[`hoverBackground`,`hover-bg`],[`listBackground`,`list-bg`],[`listBorderColor`,`list-border-color`],[`listPadding`,`list-padding`]])}if(m?.pane){let n=m.pane;n.toolbarBackground&&(t[`--persona-artifact-toolbar-bg`]=Ra(e,n.toolbarBackground)??n.toolbarBackground)}n(m?.card,`artifact-card-`,[[`background`,`bg`,!0],[`border`,`border`],[`borderRadius`,`radius`,!0],[`hoverBackground`,`hover-bg`,!0],[`hoverBorderColor`,`hover-border`,!0]]),n(m?.inline,`artifact-inline-`,[[`background`,`bg`,!0],[`border`,`border`],[`borderRadius`,`radius`,!0],[`chromeBackground`,`chrome-bg`,!0],[`chromeBorder`,`chrome-border`,!0],[`titleColor`,`title-color`,!0],[`mutedColor`,`muted-color`,!0],[`frameHeight`,`frame-height`]]);let h=p?.code;h&&(n(h,`code-`,[[`keywordColor`,`keyword-color`],[`stringColor`,`string-color`],[`commentColor`,`comment-color`],[`numberColor`,`number-color`],[`tagColor`,`tag-color`],[`attrColor`,`attr-color`],[`propertyColor`,`property-color`],[`lineNumberColor`,`line-number-color`],[`gutterBorderColor`,`gutter-border-color`]]),h.background&&(t[`--persona-code-bg`]=Ra(e,h.background)??h.background));let g=t[`--persona-surface`],_=t[`--persona-container`],v=t[`--persona-palette-colors-gray-100`]??`#f3f4f6`,y=t[`--persona-palette-colors-gray-200`]??`#e5e7eb`,b=t[`--persona-palette-colors-gray-300`]??`#d1d5db`,x=!_||_===g,S=Ga(g??t[`--persona-background`]),C=x&&S!==void 0&&S<.179,ee=C?`rgba(255, 255, 255, 0.08)`:v,w=C?`rgba(255, 255, 255, 0.12)`:y,T=C?`rgba(255, 255, 255, 0.16)`:b,te=x?ee:_,E=x?w:_;return t[`--persona-icon-btn-hover-bg`]=t[`--persona-icon-btn-hover-bg`]??te,t[`--persona-icon-btn-active-bg`]=t[`--persona-icon-btn-active-bg`]??E,x&&(t[`--persona-icon-btn-active-border`]=t[`--persona-icon-btn-active-border`]??T),t[`--persona-label-btn-hover-bg`]=t[`--persona-label-btn-hover-bg`]??te,t[`--persona-artifact-tab-hover-bg`]=t[`--persona-artifact-tab-hover-bg`]??te,t[`--persona-artifact-card-hover-bg`]=t[`--persona-artifact-card-hover-bg`]??te,t}const Qa=e=>!!e&&`launcher`in e&&(e.launcher?.sidebarMode===!0||e.launcher?.mountMode===`docked`),$a=(e,t)=>{if(!t||!Qa(t))return e;let n=t.theme?.components?.panel?.width,r=t.darkTheme?.components?.panel?.width;return(uo(t)===`dark`?r??n:n)==null?{...e,components:{...e.components,panel:{...e.components.panel,width:de(t)===`v5`?`400px`:`420px`}}}:e},eo={colors:{primary:{50:`#ffffff`,100:`#f5f5f5`,200:`#d4d4d4`,300:`#a3a3a3`,400:`#737373`,500:`#171717`,600:`#0f0f0f`,700:`#0a0a0a`,800:`#050505`,900:`#030303`,950:`#000000`},secondary:{50:`#f5f3ff`,100:`#ede9fe`,200:`#ddd6fe`,300:`#c4b5fd`,400:`#a78bfa`,500:`#8b5cf6`,600:`#7c3aed`,700:`#6d28d9`,800:`#5b21b6`,900:`#4c1d95`,950:`#2e1065`},accent:{50:`#ecfeff`,100:`#cffafe`,200:`#a5f3fc`,300:`#67e8f9`,400:`#22d3ee`,500:`#06b6d4`,600:`#0891b2`,700:`#0e7490`,800:`#155e75`,900:`#164e63`,950:`#083344`},gray:{50:`#f9fafb`,100:`#f3f4f6`,200:`#e5e7eb`,300:`#d1d5db`,400:`#9ca3af`,500:`#6b7280`,600:`#4b5563`,700:`#374151`,800:`#1f2937`,900:`#111827`,950:`#030712`},success:{50:`#f0fdf4`,100:`#dcfce7`,200:`#bbf7d0`,300:`#86efac`,400:`#4ade80`,500:`#22c55e`,600:`#16a34a`,700:`#15803d`,800:`#166534`,900:`#14532d`},warning:{50:`#fefce8`,100:`#fef9c3`,200:`#fef08a`,300:`#fde047`,400:`#facc15`,500:`#eab308`,600:`#ca8a04`,700:`#a16207`,800:`#854d0e`,900:`#713f12`},error:{50:`#fef2f2`,100:`#fee2e2`,200:`#fecaca`,300:`#fca5a5`,400:`#f87171`,500:`#ef4444`,600:`#dc2626`,700:`#b91c1c`,800:`#991b1b`,900:`#7f1d1d`}}},to={components:{button:{ghost:{hoverBackground:`rgba(255, 255, 255, 0.08)`}},markdown:{link:{foreground:`palette.colors.primary.300`}},eventStream:{badge:{flow:{background:`palette.colors.success.900`,foreground:`palette.colors.success.300`},step:{background:`palette.colors.primary.800`,foreground:`palette.colors.primary.200`},reasoning:{background:`palette.colors.warning.900`,foreground:`palette.colors.warning.300`},tool:{background:`palette.colors.purple.900`,foreground:`palette.colors.purple.300`},agent:{background:`palette.colors.teal.900`,foreground:`palette.colors.teal.300`},error:{background:`palette.colors.error.900`,foreground:`palette.colors.error.300`},default:{background:`palette.colors.gray.800`,foreground:`palette.colors.gray.300`}}},history:{dangerForeground:`#f87171`,confirm:{dangerBackground:`palette.colors.error.600`,scrim:`rgba(0, 0, 0, 0.6)`}}}},no=eo,ro={...no,colors:{...no.colors,primary:{50:`#0f0f10`,100:`#27272a`,200:`#3f3f46`,300:`#52525b`,400:`#71717a`,500:`#f4f4f5`,600:`#e4e4e7`,700:`#d4d4d8`,800:`#a1a1aa`,900:`#fafafa`,950:`#ffffff`},gray:{50:`#1a1a1b`,100:`#27272a`,200:`#2a2a2d`,300:`#52525b`,400:`#71717a`,500:`#a1a1aa`,600:`#b4b4bd`,700:`#d4d4d8`,800:`#e4e4e7`,900:`#f4f4f5`,950:`#fafafa`}}},io=to,ao={semantic:{colors:{primary:`palette.colors.primary.500`,accent:`palette.colors.primary.600`,background:`#0f0f10`,surface:`palette.colors.gray.50`,container:`#1c1c20`,text:`palette.colors.gray.900`,textMuted:`palette.colors.gray.500`,textInverse:`#0f0f10`,border:`palette.colors.gray.200`,divider:`palette.colors.gray.200`,interactive:{default:`palette.colors.primary.600`,hover:`palette.colors.primary.700`,focus:`palette.colors.primary.600`,active:`palette.colors.primary.600`}}},components:{...to.components,button:{...to.components?.button,primary:{background:`semantic.colors.primary`,foreground:`palette.colors.primary.50`}},markdown:{inlineCode:{background:`palette.colors.gray.100`,foreground:`semantic.colors.text`},link:{foreground:`semantic.colors.accent`},codeBlock:{background:`semantic.colors.container`,borderColor:`semantic.colors.border`,textColor:`semantic.colors.text`},table:{headerBackground:`palette.colors.gray.100`,borderColor:`semantic.colors.border`},blockquote:{background:`semantic.colors.container`,borderColor:`palette.colors.gray.300`,textColor:`semantic.colors.textMuted`}},eventStream:{...to.components?.eventStream,badge:{...to.components?.eventStream?.badge,step:{background:`palette.colors.gray.100`,foreground:`palette.colors.gray.700`},default:{background:`palette.colors.gray.100`,foreground:`palette.colors.gray.700`}}}}},oo=e=>de({future:e})===`v5`?{palette:ro,components:ao}:{palette:no,components:io},so=e=>{if(e&&typeof e==`object`&&!Array.isArray(e))return e},co=()=>typeof document<`u`&&document.documentElement.classList.contains(`dark`)||typeof window<`u`&&window.matchMedia?.(`(prefers-color-scheme: dark)`).matches?`dark`:`light`,lo=e=>{let t=e?.colorScheme??r(e?.brand)??`light`;return t===`light`?`light`:t===`dark`?`dark`:co()},uo=e=>lo(e),fo=(e,t={})=>Ha(e,t),po=(e,t={})=>{let n=oo(t.future),r=i(n.components,e??{})??{};return Ha({...r,palette:{...r.palette,colors:de(t)===`v5`?i(n.palette.colors,r.palette?.colors):{...n.palette.colors,...r.palette?.colors}}},{validate:!1,future:t.future})},mo=e=>{let n=uo(e),r=i(m(e?.brand,n,La(e?.future).components,e?.future?.v5Defaults),so(e?.theme)),a=J(e)===`circle`?Sa:{...Pa.launcher,...e?.future?.v5Defaults?{offset:`1.5rem`}:{}},o=en(e),s=i({components:{launcher:a,...o?{panel:{background:`transparent`,modes:{inline:{border:`none`,shadow:`none`,borderRadius:`0`}}},header:{background:`transparent`},message:{background:`transparent`},composer:{footerBackground:`transparent`,footerBorder:`none`,overlayBand:`transparent`}}:{}}},r),c=so(e?.darkTheme),u=$a(n===`dark`?po(i(s??{},c??{}),{future:e?.future}):fo(s,{future:e?.future}),e);return Object.defineProperty(u,Y,{value:[...l,`suggestion.chip.padding`,`suggestion.chip.fontWeight`].filter(r=>t(e,r,n))}),u},Y=Symbol(`persona.themeConsumerPaths`),ho=e=>{let t=Za(e);t[`--persona-suggestion-compat-padding`]=`6px 12px`,t[`--persona-suggestion-compat-weight`]=`500`;for(let n of e[Y]??[]){let e=n.split(`.`).join(`-`),r=t[`--persona-components-${e}`];r!==void 0&&(t[n===`suggestion.chip.padding`?`--persona-suggestion-compat-padding`:n===`suggestion.chip.fontWeight`?`--persona-suggestion-compat-weight`:`--persona-consumer-${e}`]=r)}return t},go=/* @__PURE__ */ new WeakMap,_o=(e,t)=>{vo(e,ho(mo(t)),t)},vo=(e,t,n)=>{for(let n of go.get(e)??[])n in t||e.style.removeProperty(n);go.set(e,Object.keys(t));for(let[n,r]of Object.entries(t))e.style.setProperty(n,r);e.setAttribute(`data-persona-color-scheme`,uo(n)),e.setAttribute(`data-persona-defaults`,de(n))},yo=e=>{let t=[];if(typeof document<`u`&&typeof MutationObserver<`u`){let n=new MutationObserver(()=>{e(co())});n.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),t.push(()=>n.disconnect())}if(typeof window<`u`&&window.matchMedia){let n=window.matchMedia(`(prefers-color-scheme: dark)`),r=()=>e(co());n.addEventListener?(n.addEventListener(`change`,r),t.push(()=>n.removeEventListener(`change`,r))):n.addListener&&(n.addListener(r),t.push(()=>n.removeListener(r)))}return()=>{t.forEach(e=>e())}},bo=(e,t)=>e?.layout?.contentMaxWidth??(t?e?.launcher?.composerBar?.contentMaxWidth??`720px`:`768px`),xo=(e,t)=>t||e?.composer?.placement!==`overlay`?`block`:`overlay`,So=e=>{if(typeof e!=`string`)return null;let t=/^\s*(\d+(?:\.\d+)?)\s*%\s*$/.exec(e);if(!t)return null;let n=Number(t[1])/100;return n>0&&n<1?n:null},Co=e=>Math.max(0,Math.round(e.columnHeight*(1-e.fraction))-e.footerHeight),wo=()=>{if(typeof navigator>`u`)return!1;let e=navigator.userAgentData?.platform??navigator.platform??``;return/mac|iphone|ipad|ipod/i.test(e)},To=(e,t)=>{console.warn(`[persona] ${e} shortcut: ${t}`)},Eo=e=>{let t=e.toLowerCase().split(`+`).map(e=>e.trim()),n=t.pop(),r={key:n,mod:!1,shift:!1,alt:!1};for(let n of t)if(n===`mod`||n===`cmd`||n===`ctrl`)r.mod=!0;else if(n===`shift`)r.shift=!0;else if(n===`alt`||n===`option`)r.alt=!0;else return To(`unknown modifier in`,e),null;return!r.mod||r.shift&&r.alt||/^(enter|esc(ape)?)$/.test(n)||!/^([^+\s]|[a-z]{2,12})$/.test(n)?(To(`unsupported`,e),null):(n===`space`&&(r.key=` `),r)},Do=e=>`ArrowUp ArrowDown ArrowLeft ArrowRight PageUp PageDown Space`.split(` `).find(t=>t.toLowerCase()===e)??(e===` `?`Space`:e.length===1?e.toUpperCase():e[0].toUpperCase()+e.slice(1)),Oo=(e,t)=>{let n=Eo(e);if(!n)return``;let r=wo(),i=Do(n.key);if(!t&&r)return`${n.alt?`⌥`:``}${n.shift?`⇧`:``}⌘${i}`;let a=[t?r?`Meta`:`Control`:`Ctrl`];return n.alt&&a.push(`Alt`),n.shift&&a.push(`Shift`),a.push(i),a.join(`+`)},ko=e=>Oo(e,!1),Ao=e=>Oo(e,!0),jo=(e,t)=>t.key?.toLowerCase()===e.key&&(wo()?t.metaKey:t.ctrlKey)===e.mod&&!(wo()?t.ctrlKey:t.metaKey)&&t.shiftKey===e.shift&&t.altKey===e.alt,Mo=e=>{if(!(e instanceof HTMLElement))return!1;let t=e.tagName;return t===`INPUT`||t===`TEXTAREA`||t===`SELECT`||e.isContentEditable},No=e=>{let t=/* @__PURE__ */ new Map,n=e?.ownerDocument??(typeof document<`u`?document:null),r=(t,n)=>{if((t.scope??`widget`)===`page`)return!0;if(!e)return!1;let r=n.composedPath?.();return r?.length?r.includes(e):e.contains(n.target)},i=e=>{if(e.isComposing||!t.size)return;let n=e.composedPath?.()[0]??e.target;for(let i of t.values())if(jo(i.parsed,e)&&i.when?.()!==!1&&r(i,e)&&(i.allowInInput||!Mo(n))){e.preventDefault();try{i.run(e)}catch(e){To(`${i.id} threw on`,i.combo),console.warn(e)}return}};return n?.addEventListener(`keydown`,i),{register(e){let n=Eo(e.combo);if(!n)return()=>{};let r=`${n.mod?`m`:``}${n.shift?`s`:``}${n.alt?`a`:``}${n.key}`,i=t.get(r);return i?(To(`${i.id} already owns`,e.combo),()=>{}):(t.set(r,{...e,parsed:n}),e.element?.setAttribute(`aria-keyshortcuts`,Ao(e.combo)),()=>{t.get(r)?.id===e.id&&t.delete(r),e.element?.removeAttribute(`aria-keyshortcuts`)})},destroy(){t.clear(),n?.removeEventListener(`keydown`,i)}}},Po=(e,t,n={})=>{let{preserveTypingAnimation:r=!0}=n;Dn.morph(e,t.innerHTML,{morphStyle:`innerHTML`,callbacks:{beforeNodeMorphed(e,t){if(e instanceof HTMLElement){if(t instanceof HTMLElement&&t.hasAttribute(`data-persona-reuse`)&&e.id===t.id)return!1;if(r){if(e.classList.contains(`persona-animate-typing`)||e.hasAttribute(`data-preserve-runtime`))return!1;if(e.hasAttribute(`data-tool-elapsed`))return t instanceof HTMLElement&&t.getAttribute(`data-tool-elapsed`)===e.getAttribute(`data-tool-elapsed`)?!1:void 0;if(e.hasAttribute(`data-preserve-animation`))return t instanceof HTMLElement&&(!t.hasAttribute(`data-preserve-animation`)||(e.dataset.personaLoadingLabel?e.dataset.personaLoadingAnimation!==t.dataset.personaLoadingAnimation:e.textContent!==t.textContent))&&void 0}}}}})},Fo=e=>e.replace(/^\n+/,``).replace(/\s+$/,``),Io={index:-1,draft:``};function Lo(e){let{direction:t,history:n,currentValue:r,atStart:i,state:a}=e,o=a.index!==-1;if(n.length===0)return{handled:!1,state:a};if(t===`up`){if(!o&&!i)return{handled:!1,state:a};if(!o){let e=n.length-1;return{handled:!0,value:n[e],state:{index:e,draft:r}}}if(a.index>0){let e=a.index-1;return{handled:!0,value:n[e],state:{index:e,draft:a.draft}}}return{handled:!0,state:a}}if(!o)return{handled:!1,state:a};if(a.index<n.length-1){let e=a.index+1;return{handled:!0,value:n[e],state:{index:e,draft:a.draft}}}return{handled:!0,value:a.draft,state:{index:-1,draft:a.draft}}}const Ro=/* @__PURE__ */ new WeakMap;function zo(e){if(typeof e==`string`)return e.length;if(!e)return 0;if(typeof e!=`object`)return JSON.stringify(e)?.length??0;let t=Ro.get(e);return t===void 0&&(t=JSON.stringify(e)?.length??0,Ro.set(e,t)),t}function Bo(e,t){return[e.id,e.role,e.author?.id??``,e.author?.displayName??``,e.author?.kind??``,e.content?.length??0,e.content?.slice(-32)??``,e.streaming?`1`:`0`,e.voiceProcessing?`1`:`0`,e.variant??``,e.dispatchError?`1`:`0`,e.rawContent?.length??0,e.llmContent?.length??0,e.approval?.status??``,e.toolCall?.status??``,e.toolCall?.name??``,e.toolCall?.chunks?.length??0,e.toolCall?.chunks?.[e.toolCall.chunks.length-1]?.slice(-32)??``,zo(e.toolCall?.args),e.reasoning?.chunks?.length??0,e.reasoning?.chunks?.[e.reasoning.chunks.length-1]?.length??0,e.reasoning?.chunks?.[e.reasoning.chunks.length-1]?.slice(-32)??``,e.contentParts?.length??0,e.stopReason??``,e.toolCall?.actionTitle??``,t].join(`\0`)}function Vo(){return/* @__PURE__ */ new Map}function Ho(e,t,n){let r=e.get(t);return r&&r.fingerprint===n?r.wrapper:null}function Uo(e,t,n,r){e.set(t,{fingerprint:n,wrapper:r})}function Wo(e,t){for(let n of e.keys())t.has(n)||e.delete(n)}const{setLoader:Go,load:Ko}=v({fallbackImport:()=>import(`./chunk-Dg7uqL8l.js`)}),qo=Ko;function Jo(e,t=Ge){let n=e.style.position,r=e.style.zIndex,i=e.style.isolation,a=getComputedStyle(e),o=a.position===`static`||a.position===``;return o&&(e.style.position=`relative`),e.style.zIndex=String(t),e.style.isolation=`isolate`,()=>{o&&(e.style.position=n),e.style.zIndex=r,e.style.isolation=i}}let Yo=0,Xo=null;function Zo(e=document){if(Yo++,Yo===1){let t=e.body,n=(e.defaultView??window).scrollY||e.documentElement.scrollTop;Xo={originalOverflow:t.style.overflow,originalPosition:t.style.position,originalTop:t.style.top,originalWidth:t.style.width,scrollY:n},t.style.overflow=`hidden`,t.style.position=`fixed`,t.style.top=`-${n}px`,t.style.width=`100%`}let t=!1;return()=>{if(!t&&(t=!0,Yo=Math.max(0,Yo-1),Yo===0&&Xo)){let t=e.body,n=e.defaultView??window;t.style.overflow=Xo.originalOverflow,t.style.position=Xo.originalPosition,t.style.top=Xo.originalTop,t.style.width=Xo.originalWidth,n.scrollTo(0,Xo.scrollY),Xo=null}}}const Qo={side:`right`,width:`420px`,animate:!0,reveal:`resize`,maxHeight:`100dvh`},$o=e=>(e?.launcher?.mountMode??`floating`)===`docked`,es=e=>(e?.launcher?.mountMode??`floating`)===`composer-bar`,ts=e=>{let t=e?.launcher?.dock,n=tn(e).dockWidth?t?.width:Ra(mo(e),`components.panel.width`);return{side:t?.side??Qo.side,width:n??Qo.width,animate:t?.animate??Qo.animate,reveal:t?.reveal??Qo.reveal,maxHeight:t?.maxHeight??Qo.maxHeight}},ns=e=>e.closest(`[data-persona-instance]`)?.dataset.personaInstance,rs=e=>e===`followUp`?`follow-up`:e,is=(e,t=0)=>{if(typeof e==`string`){let t=e.trim();return t?{id:t,label:t,prompt:t,emphasis:`default`}:null}let n=e.label.trim();if(!n)return null;let r=e.prompt?.trim()||n;return{id:e.id?.trim()||r||`suggestion-${t}`,label:n,prompt:r,description:e.description?.trim()||void 0,icon:e.icon,iconColor:e.iconColor?.trim()||void 0,behavior:e.behavior,emphasis:e.emphasis??`default`}},as=/* @__PURE__ */ new WeakSet,os=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,ss=e=>{os()||e.forEach((e,t)=>{typeof e.animate==`function`&&e.animate([{opacity:`0`,transform:`translateY(4px)`},{opacity:`1`,transform:`none`}],{duration:250,delay:t*60,easing:`ease-out`,fill:`backwards`})})},cs=e=>{let{item:n,index:r,surface:i,source:a,variant:o,streaming:c,config:l,plugins:u,chipsConfig:d,session:f,getTextarea:p,eventTarget:m,submitPrompt:h}=e,g=i===`followUp`,_=n.behavior,v=()=>{if(f.isStreaming()||m.closest(`[inert]`))return;let e={instanceId:ns(m),suggestion:{...n},surface:i,source:a,behavior:_},t=m.dispatchEvent(new CustomEvent(`persona:suggestion:selected`,{detail:e,bubbles:!0,composed:!0,cancelable:!0}));if(g&&m.dispatchEvent(new CustomEvent(`persona:suggestReplies:selected`,{detail:{instanceId:ns(m),suggestion:n.prompt},bubbles:!0,composed:!0})),!t)return;for(let e of u)if(e.onSuggestionSelect?.({suggestion:{...n},surface:i,source:a,variant:o,config:l})===!1)return;let r=p();_===`fill`?(r.value=n.prompt,r.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0})),r.focus()):h?h(n.prompt):(r.value=``,f.sendMessage(n.prompt))},y=()=>{let e=A(`button`,`persona-suggestion persona-suggestion--${o}`);if(e.type=`button`,e.disabled=c,e.dataset.suggestionId=n.id,e.dataset.emphasis=n.emphasis,e.dataset.behavior=_,o===`chip`){let n=l.suggestionChipsConfig===d?l:{suggestionChipsConfig:d},r=e=>s(n,`suggestionChipsConfig.${e}`),i=e=>t(l,`suggestion.chip.${e}`,`light`)||t(l,`suggestion.chip.${e}`,`dark`);d?.fontWeight&&(e.style.fontWeight=!r(`fontWeight`)&&i(`fontWeight`)?`var(--persona-suggestion-compat-weight, 500)`:d.fontWeight);let a=i(`padding`);a&&(e.classList.add(`persona-theme-padding`),e.style.setProperty(`--persona-theme-padding`,`var(--persona-suggestion-compat-padding, 6px 12px)`)),d?.paddingX&&(r(`paddingX`)||!a)&&(e.style.paddingLeft=d.paddingX,e.style.paddingRight=d.paddingX),d?.paddingY&&(r(`paddingY`)||!a)&&(e.style.paddingTop=d.paddingY,e.style.paddingBottom=d.paddingY)}if(n.icon){let t=T(n.icon,`var(--persona-suggestion-icon-size)`,`currentColor`,1.8);t&&(t.classList.add(`persona-suggestion__icon`),n.iconColor&&(t.style.color=n.iconColor),e.appendChild(t))}let r=A(`span`,`persona-suggestion__copy`);if(r.appendChild(k(`span`,{className:`persona-suggestion__label`,text:n.label})),n.description&&o!==`chip`&&r.appendChild(k(`span`,{className:`persona-suggestion__description`,text:n.description})),e.appendChild(r),o!==`chip`){let t=b(_n,16,`currentColor`,1.8);t&&(t.classList.add(`persona-suggestion__arrow`),e.appendChild(t))}return e.addEventListener(`click`,v),e},x=null;for(let e of u)if(e.renderSuggestion&&(x=e.renderSuggestion({suggestion:{...n},index:r,surface:i,source:a,variant:o,streaming:c,config:l,defaultRenderer:y,select:v}),x))break;return x??=y(),x.dataset.suggestionId||=n.id,x.dataset.behavior||=_,x.dataset.emphasis||=n.emphasis,x instanceof HTMLButtonElement||x.setAttribute(`aria-disabled`,c?`true`:`false`),x},ls=e=>{let t=[],n=[],r=null,i=null,a=()=>{e.removeAttribute(`data-scroll-left`),e.removeAttribute(`data-scroll-right`)},o=()=>{if(i=null,e.toggleAttribute(`data-edge-to-edge`,e.hasAttribute(`data-hide-scrollbar`)&&(e.hasAttribute(`data-persona-composer-suggestions`)||e.dataset.personaSuggestions===`follow-up`)&&e.dataset.variant===`chip`&&e.dataset.overflow===`scroll`),e.hasAttribute(`data-edge-to-edge`)&&e.parentElement){let t=e.parentElement,n=getComputedStyle(t),r=parseFloat(n.paddingLeft)||0,i=parseFloat(n.paddingRight)||0;e.style.setProperty(`--persona-suggestion-bleed-left`,`${r}px`),e.style.setProperty(`--persona-suggestion-bleed-right`,`${i}px`);let a=t.closest(`.persona-widget-container`)?.querySelector(`form`),o=t.getBoundingClientRect(),s=a?.getBoundingClientRect();e.style.setProperty(`--persona-suggestion-inset-left`,`${s?.width?s.left-o.left:r}px`),e.style.setProperty(`--persona-suggestion-inset-right`,`${s?.width?o.right-s.right:i}px`)}if(e.hidden||e.dataset.variant!==`chip`||e.dataset.overflow!==`scroll`){a();return}let t=Math.max(0,e.scrollWidth-e.clientWidth);if(t<=1){a();return}let n=getComputedStyle(e).direction===`rtl`,r=Math.min(t,Math.max(0,Math.abs(e.scrollLeft))),o=r<=4,s=r>=t-4,c=n?!s:!o,l=n?!o:!s;e.toggleAttribute(`data-scroll-left`,c),e.toggleAttribute(`data-scroll-right`,l)},s=()=>{i!==null||typeof requestAnimationFrame!=`function`?typeof requestAnimationFrame!=`function`&&o():i=requestAnimationFrame(o)};e.addEventListener(`scroll`,s,{passive:!0});let c=typeof ResizeObserver==`function`?new ResizeObserver(s):null;return c?.observe(e),{buttons:t,elements:n,destroy:()=>{e.removeEventListener(`scroll`,s),c?.disconnect(),i!==null&&typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(i),i=null},render:(i,c,l,u,d,f)=>{e.replaceChildren(),t.length=0,n.length=0;let p=f?.source??`config`,m=f?.surface??(p===`config`?`starter`:`followUp`),h=m===`followUp`,g=f?.variant??`chip`,_=f?.behavior??`send`,v=f?.overflow??`wrap`,y=f?.config??{},b=f?.plugins??[];e.toggleAttribute(`data-hide-scrollbar`,y.future?.v5Defaults===!0),e.dataset.edgeStyle=y.suggestions?.[h?`followUps`:`starters`]?.edgeStyle??`fade`;let x=typeof f?.maxItems==`number`?Math.max(0,Math.floor(f.maxItems)):void 0,S=h?`followUps`:`starters`;!as.has(y)&&y.debug===!0&&g!==`chip`&&y.suggestions?.[S]?.overflow!==void 0&&(as.add(y),console.info(`[persona] suggestions.${S}.overflow applies to the "chip" variant only; the "${g}" variant manages its own stacking.`));let C=e=>e.map(is).filter(e=>e!==null).map(e=>({...e,behavior:e.behavior??_})),ee=C(i??[]);b.forEach(e=>{e.transformSuggestions&&(ee=C(e.transformSuggestions({suggestions:ee.map(e=>({...e})),surface:m,source:p,config:y})))});let w=x===void 0?ee:ee.slice(0,x);if(!w.length){e.hidden=!0,r=null,a();return}if(!h&&(u??c.getMessages()).some(e=>e.role===`user`)){e.hidden=!0,r=null;return}e.hidden=!1,e.classList.add(`persona-suggestions`),e.dataset.personaSuggestionSurface=rs(m),e.dataset.variant=g,e.dataset.overflow=v;let T=document.createDocumentFragment(),te=c.isStreaming();w.forEach((r,i)=>{let a=cs({item:r,index:i,surface:m,source:p,variant:g,streaming:te,config:y,plugins:b,chipsConfig:d,session:c,getTextarea:()=>l,eventTarget:e,submitPrompt:f?.submitPrompt});T.appendChild(a),n.push(a),[...a instanceof HTMLButtonElement?[a]:[],...Array.from(a.querySelectorAll(`button`))].forEach(e=>{t.includes(e)||(e.disabled=te,t.push(e))})}),e.appendChild(T),o(),s();let E=JSON.stringify({normalized:w,surface:m,variant:g,source:p});E!==r&&(r=E,ss(n),e.dispatchEvent(new CustomEvent(`persona:suggestion:shown`,{detail:{instanceId:ns(e),suggestions:w.map(e=>({...e})),surface:m,source:p,variant:g},bubbles:!0,composed:!0})),h&&e.dispatchEvent(new CustomEvent(`persona:suggestReplies:shown`,{detail:{instanceId:ns(e),suggestions:w.map(e=>e.prompt)},bubbles:!0,composed:!0})))}}},us={"bottom-right":`persona-bottom-6 persona-right-6`,"bottom-left":`persona-bottom-6 persona-left-6`,"top-right":`persona-top-6 persona-right-6`,"top-left":`persona-top-6 persona-left-6`},ds={x:[1.4,1.05]},fs=`persona-relative persona-ml-auto persona-inline-flex persona-items-center persona-justify-center`,ps=(e,t,n={})=>{let{iconSize:r,iconText:i}=n,[a,o]=ds[t]??[1,1.5],s=!r;e.classList.toggle(`persona-header-control--glyph`,s),e.classList.toggle(`persona-header-control--sparse`,s&&a!==1);let c=T(t,`${Math.round((parseFloat(r??``)||16)*a)}px`,`currentColor`,o);c?(c.style.display=`block`,s||(c.style.strokeWidth=`calc(var(--persona-components-header-controlStrokeWidth, 1.5) * ${Number((o/1.5).toFixed(4))})`),e.replaceChildren(c)):i&&(e.textContent=i)},ms=e=>{let{ariaLabel:t,tooltip:n=!0,tooltipHint:r,iconName:i,iconText:a,wrapperClassName:o=fs,size:s,iconSize:c,color:l,backgroundColor:u,borderWidth:d,borderColor:f,borderRadius:p,paddingX:m,paddingY:h,hidden:g,extraClassName:_,attrs:v}=e,y=A(`div`,o),b=!!(d||f),x=k(`button`,{className:Ue(`persona-header-control`,`persona-inline-flex persona-items-center persona-justify-center persona-cursor-pointer`,!u&&`persona-bg-transparent hover:persona-bg-gray-100`,!b&&`persona-border-none`,!p&&`persona-rounded-full`,_),attrs:{type:`button`,"aria-label":t,...v},style:{width:s,height:s,minWidth:s,minHeight:s,display:g?`none`:void 0,color:l||vs.actionIconColor,backgroundColor:u,border:b?`${d||`0px`} solid ${f||`transparent`}`:void 0,borderRadius:p,paddingLeft:m,paddingRight:m,paddingTop:h,paddingBottom:h}});return i?ps(x,i,{iconSize:c,iconText:a}):a&&(x.textContent=a),y.appendChild(x),Ee({anchor:x,trigger:y,text:()=>x.getAttribute(`aria-label`)??t,hint:r,enabled:n}),{button:x,wrapper:y}},hs=(e,t,n,r={})=>{let i=t?.launcher,a=i?.clearChat,o=e=>n===`close`?`launcher.closeButton${e[0].toUpperCase()}${e.slice(1)}`:`launcher.clearChat.${e===`color`?`iconColor`:e}`,s=e=>se(t,o(e)),c=(e,r)=>De(t,`header.${n}`,e,r),l=(e,t,n)=>s(e)||c(t,n),u=r.buttonSize||s(`size`);we(e,u||c(`size`,`var(--persona-header-control-size, 32px)`),u),!u&&c(`size`,``)===``&&(e.style.width=e.style.height=``);let d=n===`close`?i?.closeButtonBackgroundColor:a?.backgroundColor;e.style.color=l(`color`,`foreground`,vs.actionIconColor),e.style.backgroundColor=s(`backgroundColor`)||(c(`background`,``)?c(`background`,d||`transparent`):d||``),e.classList.toggle(`hover:persona-bg-gray-100`,!d&&!s(`backgroundColor`)&&c(`background`,``)===``);let f=n===`close`?i?.closeButtonBorderWidth:a?.borderWidth,p=n===`close`?i?.closeButtonBorderColor:a?.borderColor,m=!!(f||p||c(`borderWidth`,``)||c(`borderColor`,``));e.style.border=m?`${l(`borderWidth`,`borderWidth`,f||`0px`)} solid ${l(`borderColor`,`borderColor`,p||`transparent`)}`:``,e.classList.toggle(`persona-border-none`,!m);let h=n===`close`?i?.closeButtonBorderRadius:a?.borderRadius;e.style.borderRadius=s(`borderRadius`)||(c(`borderRadius`,``)?c(`borderRadius`,`var(--persona-components-header-controlBorderRadius, 9999px)`):h||``),e.classList.toggle(`persona-rounded-full`,!e.style.borderRadius);let g=n===`close`?i?.closeButtonPaddingX:a?.paddingX,_=n===`close`?i?.closeButtonPaddingY:a?.paddingY,v=c(`padding`,`0px`);D(e,v,s(`paddingX`)||(v===`0px`?g:void 0),s(`paddingY`)||(v===`0px`?_:void 0));let y=n===`close`?i?.closeButtonIconName??`x`:a?.iconName??`refresh-cw`;ps(e,y,{iconSize:r.iconSize,iconText:n===`close`?i?.closeButtonIconText??`×`:void 0});let b=e.querySelector(`svg`);if(b){let e=ds[y]?.[0]??1,t=c(`iconSize`,``);!r.iconSize&&t&&(b.style.width=b.style.height=`calc(${c(`iconSize`,`var(--persona-header-control-icon-size, 16px)`)} * ${e})`),c(`iconStrokeWidth`,``)&&(b.style.strokeWidth=`calc(${c(`iconStrokeWidth`,`var(--persona-components-header-controlStrokeWidth, 1.5)`)} * ${e===1?1:.7})`)}},gs=(e,t={})=>{let{showClose:n=!0,wrapperClassName:r=fs,buttonSize:i,iconSize:a}=t,o=e?.launcher??{},s=o.closeButtonTooltipText??`Close chat`,c=o.closeButtonShowTooltip??!0,{button:l,wrapper:u}=ms({ariaLabel:s,tooltip:c,iconName:o.closeButtonIconName??`x`,iconText:o.closeButtonIconText??`×`,wrapperClassName:r,size:i??o.closeButtonSize,iconSize:a,color:o.closeButtonColor,backgroundColor:o.closeButtonBackgroundColor,borderWidth:o.closeButtonBorderWidth,borderColor:o.closeButtonBorderColor,borderRadius:o.closeButtonBorderRadius,paddingX:o.closeButtonPaddingX,paddingY:o.closeButtonPaddingY,hidden:!n});return hs(l,e,`close`,{buttonSize:i,iconSize:a}),{button:l,wrapper:u}},_s=(e,t={})=>{let{wrapperClassName:n=`persona-relative persona-ml-auto persona-clear-chat-button-wrapper`,buttonSize:r,iconSize:i}=t,a=(e?.launcher??{}).clearChat??{},o=a.tooltipText??`Clear chat`,s=a.showTooltip??!0,{button:c,wrapper:l}=ms({ariaLabel:o,tooltip:s,iconName:a.iconName??`refresh-cw`,wrapperClassName:n,size:r??a.size,iconSize:i,color:a.iconColor,backgroundColor:a.backgroundColor,borderWidth:a.borderWidth,borderColor:a.borderColor,borderRadius:a.borderRadius,paddingX:a.paddingX,paddingY:a.paddingY});return hs(c,e,`clear`,{buttonSize:r,iconSize:i}),{button:c,wrapper:l}},vs={titleColor:`var(--persona-header-title-fg, var(--persona-primary, #0f0f0f))`,subtitleColor:`var(--persona-header-subtitle-fg, var(--persona-text-muted, var(--persona-muted, #9ca3af)))`,actionIconColor:`var(--persona-header-control-state-fg, var(--persona-header-action-icon-fg, var(--persona-muted, #9ca3af)))`,minHeight:`var(--persona-header-min-height, auto)`},ys={fontFamily:`var(--persona-components-header-title-fontFamily, inherit)`,fontSize:`var(--persona-components-header-title-fontSize, 1rem)`,fontWeight:`var(--persona-components-header-title-fontWeight, 600)`,lineHeight:`var(--persona-components-header-title-lineHeight, 1.5rem)`,letterSpacing:`var(--persona-components-header-title-letterSpacing, normal)`},bs={fontFamily:`var(--persona-components-header-subtitle-fontFamily, inherit)`,fontSize:`var(--persona-components-header-subtitle-fontSize, 0.75rem)`,fontWeight:`var(--persona-components-header-subtitle-fontWeight, inherit)`,lineHeight:`var(--persona-components-header-subtitle-lineHeight, 1rem)`,letterSpacing:`var(--persona-components-header-subtitle-letterSpacing, normal)`},xs=e=>{let{config:t,showClose:n=!0}=e,r=k(`div`,{className:`persona-widget-header persona-flex persona-items-center persona-gap-3`,attrs:{"data-persona-theme-zone":`header`},style:{padding:`var(--persona-components-header-padding, 20px 24px)`,minHeight:vs.minHeight,backgroundColor:`var(--persona-header-bg, var(--persona-surface, #ffffff))`,borderBottomColor:`var(--persona-header-border, var(--persona-divider, #f1f5f9))`,boxShadow:`var(--persona-header-shadow, none)`,borderBottom:`var(--persona-header-border-bottom, 1px solid var(--persona-header-border, var(--persona-divider, #f1f5f9)))`}}),i=t?.launcher??{},a=i.headerIconSize??`40px`,o=i.closeButtonPlacement??`inline`,s=i.headerIconHidden??!1,c=i.headerIconName,l=k(`div`,{className:`persona-flex persona-items-center persona-justify-center persona-rounded-xl persona-text-xl`,style:{height:a,width:a,boxSizing:`content-box`,padding:`var(--persona-components-header-iconPadding, 0px)`,flexShrink:`0`,backgroundColor:`var(--persona-header-icon-bg, var(--persona-primary, #0f0f0f))`,color:`var(--persona-header-icon-fg, var(--persona-text-inverse, #ffffff))`}});if(!s){if(c){let e=parseFloat(a)||24,n=T(c,e*.6,`currentColor`,1);n?(n.style.width=`calc(${e}px * var(--persona-components-header-iconScale, 0.6))`,n.style.height=`calc(${e}px * var(--persona-components-header-iconScale, 0.6))`,l.replaceChildren(n)):l.textContent=t?.launcher?.agentIconText??`💬`}else if(t?.launcher?.iconUrl){let e=A(`img`);e.src=t.launcher.iconUrl,e.alt=``,e.className=`persona-rounded-xl persona-object-cover`,e.style.height=a,e.style.width=a,l.replaceChildren(e)}else l.textContent=t?.launcher?.agentIconText??`💬`}let u=A(`div`,`persona-flex persona-flex-col persona-flex-1 persona-min-w-0`),d=k(`span`,{className:`persona-text-base persona-font-semibold`,text:t?.launcher?.title??`Chat Assistant`,style:{color:vs.titleColor,...ys}}),f=k(`span`,{className:`persona-text-xs`,text:t?.launcher?.subtitle??`Here to help you get answers fast`,style:{color:vs.subtitleColor,...bs}});u.append(d,f),s?r.append(u):r.append(l,u);let p=i.clearChat??{},m=p.enabled??!0,h=p.placement??`inline`,g=null,_=null;if(m){let e=_s(t,{wrapperClassName:h===`top-right`?`persona-absolute persona-top-4 persona-z-50`:`persona-relative persona-ml-auto persona-clear-chat-button-wrapper`});g=e.button,_=e.wrapper,h===`top-right`&&(_.style.right=`48px`),h===`inline`&&r.appendChild(_)}let{button:v,wrapper:y}=gs(t,{showClose:n,wrapperClassName:o===`top-right`?`persona-absolute persona-top-4 persona-right-4 persona-z-50`:m&&h===`inline`?`persona-relative persona-inline-flex persona-items-center persona-justify-center`:`persona-relative persona-ml-auto persona-inline-flex persona-items-center persona-justify-center`});return o!==`top-right`&&r.appendChild(y),{header:r,iconHolder:l,headerTitle:d,headerSubtitle:f,closeButton:v,closeButtonWrapper:y,clearChatButton:g,clearChatButtonWrapper:_}},Ss=(e,t,n)=>{let r=n?.launcher??{},i=r.closeButtonPlacement??`inline`,a=r.clearChat?.placement??`inline`;e.appendChild(t.header),i===`top-right`&&(e.style.position=`relative`,e.appendChild(t.closeButtonWrapper)),t.clearChatButtonWrapper&&a===`top-right`&&(e.style.position=`relative`,e.appendChild(t.clearChatButtonWrapper))},Cs=e=>{let t=xs({config:e.config,showClose:e.showClose,onClose:e.onClose,onClearChat:e.onClearChat}),n=e.layoutHeaderConfig?.onTitleClick;if(n){let e=t.headerTitle.parentElement;e&&(e.style.cursor=`pointer`,e.setAttribute(`role`,`button`),e.setAttribute(`tabindex`,`0`),e.addEventListener(`click`,()=>n()),e.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n())}))}return t};function ws(e,t,n){if(t?.length)for(let r of t){let{button:t,wrapper:i}=ms({ariaLabel:r.ariaLabel??r.label??r.id,iconName:r.icon,iconText:r.icon?void 0:r.label,tooltipHint:r.shortcut?ko(r.shortcut):void 0,wrapperClassName:`persona-relative persona-inline-flex persona-items-center persona-justify-center`});if(t.setAttribute(`data-persona-header-action`,r.id),r.shortcut){let e=Ao(r.shortcut);e&&t.setAttribute(`aria-keyshortcuts`,e)}if(r.menuItems?.length){let e=L({items:r.menuItems,onSelect:e=>n?.(e),anchor:i,position:`bottom-right`});i.appendChild(e.element),t.addEventListener(`click`,t=>{t.stopPropagation(),e.toggle()})}else t.addEventListener(`click`,()=>n?.(r.id));e.appendChild(i)}}const Ts={default:Cs,minimal:e=>{let{config:t,showClose:n=!0,onClose:r,layoutHeaderConfig:i,onHeaderAction:a}=e,o=t?.launcher??{},s=A(`div`,`persona-flex persona-items-center persona-justify-between`);s.setAttribute(`data-persona-theme-zone`,`header`),s.style.minHeight=vs.minHeight,s.style.padding=`var(--persona-components-header-minimalPadding, var(--persona-components-header-padding, 16px 24px))`,s.style.backgroundColor=`var(--persona-header-bg, var(--persona-surface, #ffffff))`,s.style.borderBottomColor=`var(--persona-header-border, var(--persona-divider, #f1f5f9))`,s.style.boxShadow=`var(--persona-header-shadow, none)`,s.style.borderBottom=`var(--persona-header-border-bottom, 1px solid var(--persona-header-border, var(--persona-divider, #f1f5f9)))`;let c=i?.titleMenu,l,u;if(c){let e=ar({label:o.title??`Chat Assistant`,menuItems:c.menuItems,onSelect:t=>{let n=n=>{n===!1&&e.element.dispatchEvent(new CustomEvent(`persona:title-menu-builtin`,{bubbles:!0,composed:!0,detail:{actionId:t,instanceId:e.element.closest(`[data-persona-instance]`)?.dataset.personaInstance}}))},r=c.onSelect(t);r instanceof Promise?r.then(n,()=>{}):n(r)},hover:c.hover,className:``});l=e.element,l.style.color=vs.titleColor,u=l.querySelector(`.persona-combo-btn-label`)??l}else{if(l=A(`div`,`persona-flex persona-min-w-0 persona-flex-1 persona-items-center persona-gap-1`),u=A(`span`,`persona-text-base persona-font-semibold persona-truncate`),u.style.color=vs.titleColor,Object.assign(u.style,ys),u.textContent=o.title??`Chat Assistant`,l.appendChild(u),i?.onTitleClick){l.style.cursor=`pointer`,l.setAttribute(`role`,`button`),l.setAttribute(`tabindex`,`0`);let e=i.onTitleClick;l.addEventListener(`click`,t=>{t.target.closest(`button`)||e()}),l.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e())})}let e=i?.titleRowHover;e&&(l.style.borderRadius=e.borderRadius??`10px`,l.style.padding=e.padding??`6px 4px 6px 12px`,l.style.margin=`-6px 0 -6px -12px`,l.style.border=`1px solid transparent`,l.style.transition=`background-color 0.15s ease, border-color 0.15s ease`,l.style.width=`fit-content`,l.style.flex=`none`,l.addEventListener(`mouseenter`,()=>{l.style.backgroundColor=e.background??``,l.style.borderColor=e.border??``}),l.addEventListener(`mouseleave`,()=>{l.style.backgroundColor=``,l.style.borderColor=`transparent`}))}s.appendChild(l);let d=`persona-relative persona-inline-flex persona-items-center persona-justify-center`,{button:f,wrapper:p}=gs(t,{showClose:n,wrapperClassName:d});r&&f.addEventListener(`click`,r);let m=A(`div`,`persona-flex persona-items-center persona-gap-1`);c||ws(m,i?.trailingActions,i?.onAction??a);let h=o.clearChat??{},g=null,_=null;if(h.enabled??!0){let e=h.placement??`inline`,n=_s(t,{wrapperClassName:e===`top-right`?`persona-absolute persona-top-4 persona-z-50`:d});g=n.button,_=n.wrapper,e===`top-right`?_.style.right=`48px`:m.appendChild(_)}m.appendChild(p),s.appendChild(m);let v=A(`div`);v.style.display=`none`;let y=A(`span`);return y.style.display=`none`,{header:s,iconHolder:v,headerTitle:u,headerSubtitle:y,closeButton:f,closeButtonWrapper:p,clearChatButton:g,clearChatButtonWrapper:_}}},Es=e=>Ts[e]??Ts.default,Ds=(e,t,n)=>{if(t?.render){let r=t.render({config:e,onClose:n?.onClose,onClearChat:n?.onClearChat,trailingActions:t.trailingActions,onAction:t.onAction}),i=A(`div`);i.style.display=`none`;let a=A(`span`),o=A(`span`),s=A(`button`);s.style.display=`none`;let c=A(`div`);return c.style.display=`none`,{header:r,iconHolder:i,headerTitle:a,headerSubtitle:o,closeButton:s,closeButtonWrapper:c,clearChatButton:null,clearChatButtonWrapper:null}}let r=t?.layout??`default`,i=Es(r)({config:e,showClose:t?.showCloseButton??n?.showClose??!0,onClose:n?.onClose,onClearChat:n?.onClearChat,layoutHeaderConfig:t,onHeaderAction:t?.onAction});return t&&(t.showIcon===!1&&(i.iconHolder.style.display=`none`),t.showTitle===!1&&(i.headerTitle.style.display=`none`),t.showSubtitle===!1&&(i.headerSubtitle.style.display=`none`),t.showCloseButton===!1&&(i.closeButton.style.display=`none`),t.showClearChat===!1&&i.clearChatButtonWrapper&&(i.clearChatButtonWrapper.style.display=`none`)),i};function Os(e,t){if(!t.defaultPrevented){for(let n of t.composedPath()){if(n===e)break;if(n instanceof Element&&n.matches(`button, input, textarea, select, a[href], label, [contenteditable]:not([contenteditable="false"]), [role="button"], [role="link"], [role="checkbox"], [role="radio"], [role="combobox"], [tabindex]`))return}(e.querySelector(`[data-persona-composer-input][contenteditable="true"]`)??e.querySelector(`textarea[data-persona-composer-input]`))?.focus()}}const ks=e=>{let{config:t}=e,n=k(`div`,{className:`persona-widget-footer persona-border-t-persona-divider persona-bg-persona-surface persona-px-6 persona-py-4`,attrs:{"data-persona-theme-zone":`composer`}}),r=Ce(),i=k(`form`,{className:`persona-widget-composer persona-flex persona-flex-col persona-gap-2 persona-rounded-2xl persona-border persona-border-persona-border persona-bg-persona-input-background persona-px-4 persona-py-3`,attrs:{"data-persona-composer-form":``}}),{textarea:a,attachAutoResize:o}=ye(t);o();let s=ce(t),c=xe(t),l=oe(t),u=ge(t),d=k(`div`,{className:`persona-widget-composer__header`,attrs:{"data-persona-composer-header":``},style:{display:`contents`}});i.append(d),l&&(d.append(l.previewsContainer),i.append(l.input)),i.append(a);let f=k(`div`,{className:`persona-widget-composer__actions persona-flex persona-items-center persona-justify-between persona-w-full`,attrs:{"data-persona-composer-actions":``}}),p=k(`div`,{className:`persona-widget-composer__left-actions persona-flex persona-items-center persona-gap-2`,attrs:{"data-persona-composer-actions-start":``}}),m=k(`div`,{className:`persona-widget-composer__right-actions persona-flex persona-items-center persona-gap-2`,attrs:{"data-persona-composer-actions-end":``}});return l&&p.append(l.wrapper),c&&m.append(c.wrapper),m.append(s.wrapper),f.append(p,m),i.append(f),i.addEventListener(`click`,e=>{Os(i,e)}),t?.statusIndicator?.mode===`transient`?n.append(r,u,i):n.append(r,i,u),{footer:n,suggestions:r,composerForm:i,header:d,textarea:a,sendButton:s.button,sendButtonWrapper:s.wrapper,micButton:c?.button??null,micButtonWrapper:c?.wrapper??null,statusText:u,attachmentButton:l?.button??null,attachmentButtonWrapper:l?.wrapper??null,attachmentInput:l?.input??null,attachmentPreviewsContainer:l?.previewsContainer??null,actionsRow:f,leftActions:p,rightActions:m,setSendButtonMode:s.setMode}},As=()=>{let e=k(`button`,{className:`persona-pill-peek`,attrs:{type:`button`,"data-persona-pill-peek":``,"aria-label":`Show conversation`,tabindex:`-1`}}),t=A(`span`,`persona-pill-peek__icon`),n=b(Tn,16,`currentColor`,1.5);n&&t.appendChild(n);let r=A(`span`,`persona-pill-peek__text`),i=A(`span`,`persona-pill-peek__caret`),a=b(yn,16,`currentColor`,1.5);return a&&i.appendChild(a),e.append(t,r,i),{root:e,textNode:r}},js=e=>{let{config:t}=e,n=k(`div`,{className:`persona-widget-footer persona-widget-footer--pill`,attrs:{"data-persona-theme-zone":`composer`}}),r=Ce(),i=ge(t);i.style.display=`none`;let{textarea:a,attachAutoResize:o}=ye(t,{defaultMaxLines:5});o();let s=ce(t),c=xe(t),l=oe(t);l&&l.previewsContainer.classList.add(`persona-pill-composer__previews`);let u=k(`form`,{className:`persona-widget-composer persona-pill-composer`,attrs:{"data-persona-composer-form":``}}),d=k(`div`,{className:`persona-widget-composer__left-actions persona-pill-composer__left`,attrs:{"data-persona-composer-actions-start":``}});l&&d.append(l.wrapper);let f=k(`div`,{className:`persona-widget-composer__right-actions persona-pill-composer__right`,attrs:{"data-persona-composer-actions-end":``}});c&&f.append(c.wrapper),f.append(s.wrapper),u.addEventListener(`click`,e=>{Os(u,e)}),l&&u.append(l.input),u.append(d,a,f);let p=k(`div`,{className:`persona-pill-composer__header`,attrs:{"data-persona-composer-header":``},style:{display:`contents`}});n.append(p),l&&p.append(l.previewsContainer),n.append(r,u,i);let m=u;return{footer:n,suggestions:r,composerForm:u,header:p,textarea:a,sendButton:s.button,sendButtonWrapper:s.wrapper,micButton:c?.button??null,micButtonWrapper:c?.wrapper??null,statusText:i,attachmentButton:l?.button??null,attachmentButtonWrapper:l?.wrapper??null,attachmentInput:l?.input??null,attachmentPreviewsContainer:l?.previewsContainer??null,actionsRow:m,leftActions:d,rightActions:f,setSendButtonMode:s.setMode}},Ms=`data-persona-user-collapse`,Ns=`data-persona-user-collapse-toggle`,Ps=e=>e.features?.userMessageCollapse?.enabled===!0,Fs=e=>{let t=e.features?.userMessageCollapse?.maxHeight;return typeof t==`number`&&Number.isFinite(t)&&t>0?t:240},Is=e=>({showMoreLabel:e.copy?.showMoreLabel?.trim()||`Show more`,showLessLabel:e.copy?.showLessLabel?.trim()||`Show less`}),Ls=(e,t)=>e>t+48,Rs=e=>`persona-user-collapse-${e}`,zs=(e,t)=>{let n=k(`div`,{className:`persona-user-collapse-region`,attrs:{id:Rs(e),[Ms]:`fit`}});return n.style.setProperty(`--persona-user-collapse-max-height`,`${t}px`),n},Bs=(e,t,n,r)=>{let{state:i}=r;t.setAttribute(Ms,i),t.style.setProperty(`--persona-user-collapse-max-height`,`${r.maxHeight}px`);let a=e.querySelector(`button[${Ns}]`);if(i!==`collapsed`&&i!==`expanded`){a?.remove();return}a||(a=k(`button`,{className:`persona-user-collapse-toggle`,attrs:{type:`button`,id:`persona-user-collapse-toggle-${n}`,[Ns]:``,"aria-controls":Rs(n)}}),t.after(a));let o=i===`expanded`;a.setAttribute(`aria-expanded`,o?`true`:`false`),a.textContent=o?r.showLessLabel:r.showMoreLabel},Vs=e=>{switch(e){case`max_tool_calls`:return`Tool limit reached.`;case`length`:return`Output token limit reached.`;case`content_filter`:return`The provider filtered this response.`;case`error`:return`Something went wrong generating this response.`;default:return null}},Hs=(e,t)=>{if(!e)return null;let n=Vs(e);if(n===null)return null;let r=t?.[e];return(r===void 0?n:r)||null},X=(e,t)=>k(`div`,{className:`persona-message-stop-reason persona-text-xs persona-mt-2 persona-italic`,attrs:{"data-stop-reason":e,role:`note`},style:{opacity:`0.75`},text:t}),Us=e=>{let t=e.toLowerCase();return!t.startsWith(`data:image/svg+xml`)&&!!(/^(?:https?|blob):/i.test(e)||t.startsWith(`data:image/`)||!e.includes(`:`))},Ws=e=>{let t=e.toLowerCase();return t.startsWith(`javascript:`)||t.startsWith(`data:text/html`)||t.startsWith(`data:text/javascript`)||t.startsWith(`data:text/xml`)||t.startsWith(`data:application/xhtml`)||t.startsWith(`data:image/svg+xml`)?!1:!!(/^(?:https?|blob):/i.test(e)||t.startsWith(`data:`)||!e.includes(`:`))},Gs=e=>!e.contentParts||e.contentParts.length===0?[]:e.contentParts.filter(e=>e.type===`image`&&typeof e.image==`string`&&e.image.trim().length>0),Ks=e=>!e.contentParts||e.contentParts.length===0?[]:e.contentParts.filter(e=>e.type===`audio`&&typeof e.audio==`string`&&e.audio.trim().length>0),qs=e=>!e.contentParts||e.contentParts.length===0?[]:e.contentParts.filter(e=>e.type===`video`&&typeof e.video==`string`&&e.video.trim().length>0),Js=e=>!e.contentParts||e.contentParts.length===0?[]:e.contentParts.filter(e=>e.type===`file`&&typeof e.data==`string`&&e.data.trim().length>0),Ys=e=>{if(!e||e.length===0)return null;let t=k(`div`,{className:`persona-mention-context-row persona-message-mentions`,attrs:{"data-message-mentions":``}});t.style.display=`flex`;for(let n of e){let e=k(`div`,{className:`persona-mention-chip persona-mention-chip-readonly`,attrs:{"data-status":`ready`,title:n.label}}),r=A(`span`,`persona-mention-chip-icon`),i=T(n.iconName??`at-sign`,13,`currentColor`,2);i&&r.appendChild(i),e.appendChild(r),e.appendChild(k(`span`,{className:`persona-mention-chip-label`,text:n.label})),t.appendChild(e)}return t},Xs=(e,t)=>{let n=document.createDocumentFragment();for(let r of e)r.kind===`text`?n.appendChild(document.createTextNode(r.text)):n.appendChild(Se(r.ref,{readonly:!0,render:t}));return n},Zs=(e,t,n,r)=>{let i=Math.random().toString(36).slice(2,8),a=e=>`${i}:${e}`,o=n(t.map((e,t)=>e.kind===`text`?e.text:a(t)).join(``));if(!t.every((e,t)=>e.kind===`text`||o.includes(a(t)))){e.replaceChildren(Xs(t,r));return}e.innerHTML=o;let s=RegExp(`${i}:(\\d+)`),c=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),l=[];for(let e=c.nextNode();e;e=c.nextNode())l.push(e);for(let e of l){let n=e;for(let e=s.exec(n.data);e;e=s.exec(n.data)){let i=t[Number(e[1])],a=n.splitText(e.index);a.data=a.data.slice(e[0].length),i?.kind===`mention`&&a.parentNode?.insertBefore(Se(i.ref,{readonly:!0,render:r}),a),n=a}}},Qs=(e,t,n)=>{if(e.length===0)return null;try{let r=A(`div`,`persona-flex persona-flex-col persona-gap-2`);r.setAttribute(`data-message-attachments`,`images`),t&&(r.style.marginBottom=`8px`);let i=0,a=!1,o=()=>{a||(a=!0,r.remove(),n?.())};return e.forEach((e,t)=>{let n=A(`img`);n.alt=e.alt?.trim()||`Attached image ${t+1}`,n.loading=`lazy`,n.decoding=`async`,n.referrerPolicy=`no-referrer`,n.style.display=`block`,n.style.width=`100%`,n.style.maxWidth=`320px`,n.style.maxHeight=`320px`,n.style.height=`auto`,n.style.objectFit=`contain`,n.style.borderRadius=`10px`,n.style.backgroundColor=`var(--persona-attachment-image-bg, var(--persona-container, #f3f4f6))`,n.style.border=`1px solid var(--persona-attachment-image-border, var(--persona-border, #e5e7eb))`;let a=!1;i+=1,n.addEventListener(`error`,()=>{a||(a=!0,i=Math.max(0,i-1),n.remove(),i===0&&o())}),n.addEventListener(`load`,()=>{a=!0}),Us(e.image)?(n.src=e.image,r.appendChild(n)):(a=!0,i=Math.max(0,i-1),n.remove())}),i===0?(o(),null):r}catch{return n?.(),null}},$s=e=>{if(e.length===0)return null;try{let t=A(`div`,`persona-flex persona-flex-col persona-gap-2`);t.setAttribute(`data-message-attachments`,`audio`);let n=0;return e.forEach(e=>{if(!Ws(e.audio))return;let r=A(`audio`);r.controls=!0,r.preload=`metadata`,r.src=e.audio,r.style.display=`block`,r.style.width=`100%`,r.style.maxWidth=`320px`,t.appendChild(r),n+=1}),n===0?(t.remove(),null):t}catch{return null}},ec=e=>{if(e.length===0)return null;try{let t=A(`div`,`persona-flex persona-flex-col persona-gap-2`);t.setAttribute(`data-message-attachments`,`video`);let n=0;return e.forEach(e=>{if(!Ws(e.video))return;let r=A(`video`);r.controls=!0,r.preload=`metadata`,r.src=e.video,r.style.display=`block`,r.style.width=`100%`,r.style.maxWidth=`320px`,r.style.maxHeight=`320px`,r.style.borderRadius=`10px`,r.style.backgroundColor=`var(--persona-attachment-image-bg, var(--persona-container, #f3f4f6))`,t.appendChild(r),n+=1}),n===0?(t.remove(),null):t}catch{return null}},tc=e=>{if(e.length===0)return null;try{let t=A(`div`,`persona-flex persona-flex-col persona-gap-2`);t.setAttribute(`data-message-attachments`,`files`);let n=0;return e.forEach(e=>{if(!Ws(e.data))return;let r=A(`a`);r.href=e.data,r.download=e.filename,r.target=`_blank`,r.rel=`noopener noreferrer`,r.textContent=e.filename,r.className=`persona-message-file-attachment`,r.style.display=`inline-flex`,r.style.alignItems=`center`,r.style.gap=`6px`,r.style.padding=`6px 10px`,r.style.borderRadius=`8px`,r.style.fontSize=`0.875rem`,r.style.textDecoration=`underline`,r.style.backgroundColor=`var(--persona-attachment-file-bg, var(--persona-container, #f3f4f6))`,r.style.border=`1px solid var(--persona-attachment-file-border, var(--persona-border, #e5e7eb))`,r.style.color=`inherit`,t.appendChild(r),n+=1}),n===0?(t.remove(),null):t}catch{return null}},nc=(e={})=>{let t=e.loadingIndicator,n=e.future?.v5Defaults;if((t?.variant??(n?`label`:`dots`))===`label`){let r=k(`div`,{className:`persona-loading-label`,attrs:{role:`status`}});n&&t?.showBubble!==!0&&r.classList.add(`persona-activity-row`,`persona-activity-header`);let i=e.features?.toolCallDisplay,a=t?.iconVisibility??(i?.grouped!==!1&&(i?.groupedMode??`collapsible`)===`collapsible`?i?.groupIconVisibility:void 0)??i?.iconVisibility,o=t?.iconName??`loader-circle`;if(a!==`never`&&(n||t?.iconName||t?.iconVisibility)){let e=T(o,16);e&&(e.classList.add(`persona-activity-icon`),e.dataset.loadingIconAnimation=t?.iconAnimation??(o===`loader-circle`?`spin`:`none`),r.appendChild(e))}let s=k(`span`,{text:t?.label??`Thinking…`});return r.appendChild(s),$n()?.applyLoadingLabel(s,e,`waiting`),r}let r=A(`div`,`persona-flex persona-items-center persona-space-x-1 persona-h-5 persona-mt-2`);for(let e=0;e<3;e++){let t=A(`div`,`persona-animate-typing persona-rounded-full persona-h-1.5 persona-w-1.5`);t.style.backgroundColor=`currentColor`,t.style.opacity=`0.4`,t.style.animationDelay=`${e*250}ms`,r.appendChild(t)}let i=A(`span`,`persona-sr-only`);return i.textContent=`Loading`,r.appendChild(i),r},Z=(e,t,n)=>t?.({config:n??{},streaming:!0,location:e,defaultRenderer:()=>nc(n)})??nc(n),rc=(e,t)=>{let n=A(`div`,`persona-flex-shrink-0 persona-w-8 persona-h-8 persona-rounded-full persona-flex persona-items-center persona-justify-center persona-text-sm`),r=t===`operator`,i=t===`user`?e.userAvatar:r?e.operatorAvatar:e.assistantAvatar,a=()=>{n.classList.add(...r?[`persona-bg-persona-container`,`persona-text-persona-text`,`persona-border`]:[t===`user`?`persona-bg-persona-accent`:`persona-bg-persona-primary`,`persona-text-white`])};if(i){if(i.startsWith(`http`)||i.startsWith(`/`)||i.startsWith(`data:`)){let e=A(`img`);e.src=i,e.alt=t===`user`?`User`:r?`Operator`:`Assistant`,e.className=`persona-w-full persona-h-full persona-rounded-full persona-object-cover`,n.appendChild(e)}else n.textContent=i,a()}else n.textContent=t===`user`?`U`:r?`O`:`A`,a();return n},ic=(e,t,n=`div`)=>{let r=A(n,`persona-text-xs persona-text-persona-muted`),i=new Date(e.createdAt);return r.textContent=t.format?t.format(i):i.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}),r},ac=/* @__PURE__ */ new Set([`persona-bg-persona-container`,`persona-text-persona-text`,`persona-border-persona-message-border`]),oc=(e,t=`bubble`)=>{if(e===`operator`){let e=oc(`assistant`,t).flatMap(e=>e===`persona-message-assistant-bubble`?[`persona-message-operator-bubble`]:ac.has(e)?[]:[e]);return t===`flat`?[...e,`persona-px-3`]:e}let n=[`persona-message-bubble`];switch(t){case`flat`:e===`user`?n.push(`persona-message-user-bubble`,`persona-ml-auto`,`persona-text-persona-primary`,`persona-py-2`):n.push(`persona-message-assistant-bubble`,`persona-text-persona-text`,`persona-py-2`);break;case`minimal`:n.push(`persona-text-sm`,`persona-leading-relaxed`),e===`user`?n.push(`persona-message-user-bubble`,`persona-ml-auto`,`persona-bg-persona-accent`,`persona-text-white`,`persona-px-3`,`persona-py-2`,`persona-rounded-lg`):n.push(`persona-message-assistant-bubble`,`persona-bg-persona-container`,`persona-text-persona-text`,`persona-px-3`,`persona-py-2`,`persona-rounded-lg`);break;default:n.push(`persona-rounded-2xl`,`persona-text-sm`,`persona-leading-relaxed`,`persona-shadow-sm`),e===`user`?n.push(`persona-message-user-bubble`,`persona-ml-auto`,`persona-bg-persona-accent`,`persona-text-white`,`persona-px-5`,`persona-py-3`):n.push(`persona-message-assistant-bubble`,`persona-bg-persona-container`,`persona-border`,`persona-border-persona-message-border`,`persona-text-persona-text`,`persona-px-5`,`persona-py-3`)}return n},sc={bubble:{padding:`0.75rem 1.25rem`,fontSize:`0.875rem`,lineHeight:`1.75`},minimal:{padding:`0.5rem 0.75rem`,fontSize:`0.875rem`,lineHeight:`1.75`},flat:{padding:`0.5rem 0`,fontSize:`inherit`,lineHeight:`inherit`}},cc=(e,t,n=`bubble`,r)=>{if(!r)return;let i=t===`user`||t===`operator`?t:`assistant`,a=sc[n??`bubble`]??sc.bubble;r.padding&&(e.style.padding=`var(--persona-message-${i}-padding, ${a.padding})`),r.fontSize&&(e.style.fontSize=`var(--persona-message-${i}-font-size, ${a.fontSize})`),r.lineHeight&&(e.style.lineHeight=`var(--persona-message-${i}-line-height, ${a.lineHeight})`),r.fontFamily&&(e.style.fontFamily=`var(--persona-message-${i}-font-family, inherit)`)},lc=e=>`custom:${e}`,uc=(e,t)=>t!==`user`&&t!==`assistant`&&t!==`operator`?[]:(e?.custom??[]).filter(e=>(e.roles??[`assistant`]).includes(t)),dc=(e,t,n,r,i=!1)=>{let a=t.showCopy??!0,o=t.showUpvote??!1,s=t.showDownvote??!1,c=t.showReadAloud??!1,l=(t.showRegenerate??!1)&&r?.canRegenerate===!0,u=(t.showEdit??!1)&&r?.canEdit===!0,d=(t.showQuote??!1)&&r?.canQuote!==!1,f=uc(t,e.role);if(!a&&!o&&!s&&!c&&!l&&!u&&!d&&f.length===0){let t=A(`div`);return t.style.display=`none`,t.id=`actions-${e.id}`,t.setAttribute(`data-actions-for`,e.id),t}let p=t.visibility??(i&&r?.isLastAssistant?`always`:`hover`),m=t.align??`right`,h=t.layout??`pill-inside`,g={left:`persona-message-actions-left`,center:`persona-message-actions-center`,right:`persona-message-actions-right`}[m],_={"pill-inside":`persona-message-actions-pill`,"row-inside":`persona-message-actions-row`}[h],v=A(`div`,`persona-message-actions persona-flex persona-items-center persona-gap-1 persona-mt-2 ${g} ${_} ${p===`hover`?`persona-message-actions-hover`:``} ${i?`persona-message-actions-adaptive`:``}`);v.id=`actions-${e.id}`,v.setAttribute(`data-actions-for`,e.id);let y=(e,t,n)=>{let r=R({icon:e,label:t,size:14,className:`persona-message-action-btn`,chromeless:!0});return r.setAttribute(`data-action`,n),r};a&&v.appendChild(y(`copy`,`Copy message`,`copy`)),c&&v.appendChild(y(`volume-2`,`Read aloud`,`read-aloud`)),o&&v.appendChild(y(`thumbs-up`,`Upvote`,`upvote`)),s&&v.appendChild(y(`thumbs-down`,`Downvote`,`downvote`)),l&&v.appendChild(y(`refresh-cw`,`Regenerate response`,`regenerate`)),u&&v.appendChild(y(`pencil`,`Edit message`,`edit`)),d&&v.appendChild(y(`quote`,`Quote message`,`quote`));for(let e of f)v.appendChild(y(e.iconName??`ellipsis`,e.label,lc(e.id)));return v},fc=(e,t,n,r,i,a)=>{let o=n??{},s=o.layout??`bubble`,c=o.avatar,l=o.timestamp,u=c?.show??!1,d=l?.show??!1,f=c?.position??`left`,p=l?.position??`below`,m=oc(e.role,s),h=A(`div`,m.join(` `));h.id=`bubble-${e.id}`,h.setAttribute(`data-message-id`,e.id);let g=e.role===`operator`;g&&a?.widgetConfig?.future?.v5Defaults===!0&&h.classList.add(`persona-border`),h.setAttribute(`data-persona-theme-zone`,e.role===`user`?`user-message`:g?`operator-message`:`assistant-message`);let _=La(a?.widgetConfig?.future).components.message,v=a?.widgetConfig?.theme?.components?.message,y=a?.widgetConfig?.darkTheme?.components?.message;if(cc(h,e.role,s,e.role===`user`?{..._.user,...v?.user,...y?.user}:g?{..._.operator,...v?.operator,...y?.operator}:{..._.assistant,...v?.assistant,...y?.assistant}),s===`flat`&&!g?(h.style.backgroundColor=`transparent`,h.style.color=e.role===`user`?`var(--persona-primary, var(--persona-text))`:`var(--persona-message-assistant-text, var(--persona-text))`):e.role===`user`?(h.style.backgroundColor=`var(--persona-message-user-bg, var(--persona-accent))`,h.style.color=`var(--persona-message-user-text, white)`):e.role===`assistant`?(h.style.backgroundColor=`var(--persona-message-assistant-bg, var(--persona-container))`,h.style.color=`var(--persona-message-assistant-text, var(--persona-text))`):g&&(h.style.backgroundColor=`var(--persona-components-message-operator-background, var(--persona-container))`,h.style.color=`var(--persona-components-message-operator-text, var(--persona-text))`),g){let t=A(`div`,`persona-message-author persona-text-xs persona-font-medium persona-mb-1`),n=a?.widgetConfig?.copy?.operatorLabel,r=typeof n==`string`&&n.trim()?n.trim():`Human operator`,i=typeof e.author?.displayName==`string`?e.author.displayName.trim():``;t.textContent=i?`${i} · ${r}`:r,h.setAttribute(`role`,`group`),h.setAttribute(`aria-label`,t.textContent),h.appendChild(t)}let b=Gs(e),x=e.content?.trim()??``,S=b.length>0&&x===`[Image]`,C=on(a?.widgetConfig?.features?.streamAnimation),ee=a?.widgetConfig?.features?.streamAnimation?.plugins,w=e.role===`assistant`&&C.type!==`none`?cn(C.type,ee):null,T=e.role===`assistant`&&w?.isAnimating?.(e)===!0,te=e.role===`assistant`&&w!==null&&(!!e.streaming||T);te&&w?.bubbleClass&&h.classList.add(w.bubbleClass);let E=document.createElement(`div`);E.classList.add(`persona-message-content`),e.streaming&&E.classList.add(`persona-content-streaming`),te&&w&&(w.containerClass&&E.classList.add(w.containerClass),E.style.setProperty(`--persona-stream-step`,`${C.speed}ms`),E.style.setProperty(`--persona-stream-duration`,`${C.duration}ms`));let ne=te?ln(e.content??``,C.buffer,w,e,!!e.streaming):e.content??``,re=()=>{let n=t({text:ne,message:e,streaming:!!e.streaming,raw:e.rawContent});return te&&w?.wrap===`char`?mn(n,`char`,e.id,{skipTags:w.skipTags}):te&&w?.wrap===`word`?mn(n,`word`,e.id,{skipTags:w.skipTags}):n},ie=null;if(S?(ie=document.createElement(`div`),ie.innerHTML=re(),ie.style.display=`none`,E.appendChild(ie)):e.contentSegments?.length?Zs(E,e.contentSegments,n=>t({text:n,message:e,streaming:!!e.streaming,raw:e.rawContent}),a?.widgetConfig?.contextMentions?.renderMentionToken):E.innerHTML=re(),te&&w?.useCaret&&!S&&x){let e=sn(),t=E.querySelectorAll(`.persona-stream-char, .persona-stream-word`),n=t[t.length-1];if(n?.parentNode)n.parentNode.insertBefore(e,n.nextSibling);else{let t=E.lastElementChild;t?t.appendChild(e):E.appendChild(e)}}if(d&&p===`inline`&&e.createdAt){let t=ic(e,l,`span`);t.classList.add(`persona-timestamp-inline`);let n=E.lastElementChild;n?n.appendChild(t):E.appendChild(t)}let ae=e.role===`user`?a?.userCollapse:void 0,D=ae?zs(e.id,ae.maxHeight):null,oe=D??h;if(b.length>0){let e=Qs(b,!S&&!!x,()=>{S&&ie&&(ie.style.display=``)});e?oe.appendChild(e):S&&ie&&(ie.style.display=``)}let se=Ks(e);if(se.length>0){let e=$s(se);e&&oe.appendChild(e)}let ce=qs(e);if(ce.length>0){let e=ec(ce);e&&oe.appendChild(e)}let le=Js(e);if(le.length>0){let e=tc(le);e&&oe.appendChild(e)}let ue=e.contentSegments?.length?null:Ys(e.contextMentions);if(ue&&oe.appendChild(ue),oe.appendChild(E),D&&ae&&(h.appendChild(D),Bs(h,D,e.id,ae)),d&&p===`below`&&e.createdAt){let t=ic(e,l);t.classList.add(`persona-mt-1`),h.appendChild(t)}let de=e.role===`assistant`?Hs(e.stopReason,a?.widgetConfig?.copy?.stopReasonNotice):null;if(e.streaming&&e.role===`assistant`){let e=!!(ne&&ne.trim()),t=C.placeholder===`skeleton`,n=t&&C.buffer===`line`&&e;if(e)n&&h.appendChild(dn());else if(t)h.appendChild(dn());else{let e=Z(`inline`,a?.loadingIndicatorRenderer,a?.widgetConfig);e&&h.appendChild(e)}}de&&e.stopReason&&!e.streaming&&(x||(E.style.display=`none`),h.appendChild(X(e.stopReason,de)));let fe=(e.role===`assistant`||g)&&!e.streaming&&!e.voiceCaption&&(x.length>0||g&&uc(r,`operator`).length>0)&&r?.enabled!==!1,pe=a?.actionEligibility,me=e.role===`user`&&!e.streaming&&r?.enabled!==!1&&(r?.showEdit===!0&&pe?.canEdit===!0||r?.showQuote===!0&&pe?.canQuote===!0||uc(r,`user`).length>0);if((fe||me)&&r){let t=dc(e,me?{...r,showCopy:!1,showUpvote:!1,showDownvote:!1,showReadAloud:!1}:g?{...r,showCopy:x.length>0&&r.showCopy!==!1,showUpvote:!1,showDownvote:!1,showReadAloud:!1,showRegenerate:!1,showEdit:!1,showQuote:!1}:r,i,pe,a?.widgetConfig?.future?.v5Defaults===!0&&r.visibility===void 0);h.appendChild(t)}if(!u||e.role===`system`)return h;let he=A(`div`,`persona-message-with-avatar persona-flex persona-gap-2 ${e.role===`user`?`persona-flex-row-reverse`:``}`),ge=rc(c,e.role);return f===`right`||f===`left`&&e.role===`user`?he.append(h,ge):he.append(ge,h),he},pc=(e,t)=>{if(e.replaceChildren(),!t)e.hidden=!0;else if(typeof t==`function`){let n=null;try{n=t()}catch(e){console.warn(`[persona] welcome.icon renderer threw`,e)}if(!n){e.hidden=!0;return}e.appendChild(n),e.hidden=!1}else{if(t.type===`lucide`){let n=T(t.name,40);if(!n){e.hidden=!0;return}e.appendChild(n)}else t.type===`image`?e.appendChild(k(`img`,{className:`persona-welcome-icon-image`,attrs:{src:t.url,alt:t.alt}})):e.appendChild(k(`span`,{className:`persona-welcome-icon-text`,text:t.text}));e.hidden=!1}},mc=(e,t,n={})=>{let r=k(`div`,{className:`persona-welcome-icon`,attrs:{"data-persona-welcome-icon":``}});r.hidden=!0;let i=A(`p`,`persona-welcome-kicker`);i.hidden=!0;let a=A(`h2`,`persona-welcome-title`),o=A(`p`,`persona-welcome-subtitle`),s=k(`div`,{className:`persona-welcome-head-text`},i,a),c=k(`div`,{className:`persona-welcome-title-row`},r,s);return{host:k(`div`,{className:`persona-welcome persona-rounded-2xl`,attrs:{"data-persona-welcome":``,"data-persona-intro-card":``,"data-persona-welcome-variant":`card`},style:{background:`var(--persona-intro-card-bg, transparent)`,boxShadow:n.flatShadow?`none`:`var(--persona-intro-card-shadow, none)`,border:`var(--persona-intro-card-border, none)`}},c,o,t),iconHolder:r,kicker:i,title:a,subtitle:o,starterSuggestions:t}},hc=(e,t,n)=>{t.hidden=!n,t.style.display=n?``:`none`,e.classList.toggle(`persona-gap-6`,n),e.classList.toggle(`persona-gap-3`,!n)},gc=(e,t)=>{e.title.textContent=t.title,e.kicker.textContent=t.kicker??``,e.kicker.hidden=!t.kicker,e.subtitle.textContent=t.subtitle,e.subtitle.hidden=t.subtitle===``,pc(e.iconHolder,t.icon),e.host.setAttribute(`data-persona-welcome-variant`,t.variant),e.host.setAttribute(`data-persona-welcome-dismiss`,t.dismiss),e.host.setAttribute(`data-persona-welcome-layout`,t.layout??`top`),e.host.setAttribute(`data-persona-welcome-anchor`,t.anchor??`bottom`),t.iconPlacement===`inline`?e.host.setAttribute(`data-persona-welcome-icon-placement`,`inline`):e.host.removeAttribute(`data-persona-welcome-icon-placement`),t.align?e.host.setAttribute(`data-persona-welcome-align`,t.align):e.host.removeAttribute(`data-persona-welcome-align`)},_c=`data-persona-welcome-overlay`,vc=`persona-welcome-overlay-active`,yc=/* @__PURE__ */ new WeakMap,bc=(e,t,n)=>{n.setAttribute(`data-persona-welcome-plugin`,``),t.appendChild(n),t.setAttribute(`data-persona-welcome-content`,`plugin`),t.setAttribute(_c,``),e.classList.contains(vc)||(yc.set(e,e.scrollTop),e.classList.add(vc),e.scrollTop=0)},xc=(e,t,n)=>{n&&n!==t&&n.remove(),t.removeAttribute(`data-persona-welcome-content`),t.removeAttribute(_c),e.classList.contains(vc)&&(e.classList.remove(vc),e.scrollTop=yc.get(e)??e.scrollTop,yc.delete(e))},Sc=()=>{let e=k(`div`,{className:`persona-welcome-greeting persona-flex persona-flex-col`,attrs:{"data-persona-welcome-greeting":``}});return e.hidden=!0,e},Cc=(e,t,n)=>{if(e.replaceChildren(),!t){e.hidden=!0;return}let r=n?.layout?.messages?.layout??`bubble`,i=k(`div`,{className:oc(`assistant`,r).join(` `),attrs:{"data-persona-theme-zone":`assistant-message`},text:t,style:r===`flat`?{backgroundColor:`transparent`,color:`var(--persona-message-assistant-text, var(--persona-text))`}:{backgroundColor:`var(--persona-message-assistant-bg, var(--persona-container))`,color:`var(--persona-message-assistant-text, var(--persona-text))`}});e.appendChild(k(`div`,{className:`persona-flex`},i)),e.hidden=!1},wc=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,Tc=(e,t)=>{if(wc()||typeof e.animate!=`function`||!e.isConnected)return t(null),null;let n=e.getBoundingClientRect(),r=e.parentElement,i=0,a=0,o=0;if(r){let t=getComputedStyle(r);i=parseFloat(t.rowGap)||0;let s=e.previousElementSibling,c=e.nextElementSibling,l=r.getBoundingClientRect().top+(parseFloat(t.borderTopWidth)||0)+(parseFloat(t.paddingTop)||0)-r.scrollTop;a=Math.max(0,s?n.top-s.getBoundingClientRect().bottom-i:n.top-l),o=Math.max(0,c?c.getBoundingClientRect().top-n.bottom-i:0)}let s=e.style.overflow;e.style.overflow=`hidden`;let c=getComputedStyle(e),l=parseFloat(c.paddingTop)||0,u=parseFloat(c.paddingBottom)||0,d=e.animate([{opacity:`1`,transform:`none`,height:`${n.height}px`,minHeight:`0px`,paddingTop:`${l}px`,paddingBottom:`${u}px`,marginTop:`${a}px`,marginBottom:`${o}px`},{opacity:`0`,transform:`translateY(-4px)`,height:`0px`,minHeight:`0px`,paddingTop:`0px`,paddingBottom:`0px`,marginTop:`0px`,marginBottom:`${-i}px`}],{duration:180,easing:`ease-out`,fill:`forwards`}),f=!1,p=()=>{f||(f=!0,e.style.overflow=s,t(d))};return d.finished.then(p).catch(p),d},Ec=(e,t,n,r=260)=>{if(t<=1||wc()||typeof e.animate!=`function`||!e.isConnected)return null;let i=n===`drop`?-t:t;return e.animate([{transform:`translateY(${i}px)`},{transform:`none`}],{duration:r,easing:`cubic-bezier(0.2, 0, 0, 1)`,fill:`none`})},Dc=/* @__PURE__ */ new WeakSet,Oc=(e,t)=>!!e&&e[t]!==void 0,kc=(e,t)=>{e&&e.debug===!0&&t.length&&!Dc.has(e)&&(Dc.add(e),t.forEach(e=>console.warn(`[persona] ${e}`)))},Ac=(e,t=e?.launcher?.fullHeight===!0&&!e.launcher.sidebarMode&&e.launcher.mountMode!==`docked`)=>{let n=e?.welcome,r=e?.copy,i=e?.future?.v5Defaults===!0,a=n?.layout??(i?`centered`:`top`),o=Oc(n,`variant`)?n.variant:r?.showWelcomeCard===!1?`none`:`card`,s=o===`hero`&&!i&&n?.layout===void 0?`on-first-message`:Oc(n,`dismiss`)?n.dismiss:i||o===`hero`?`on-first-message`:`never`,c=[];for(let[e,t]of[[`title`,`welcomeTitle`],[`subtitle`,`welcomeSubtitle`],[`variant`,`showWelcomeCard`]])Oc(n,e)&&Oc(r,t)&&c.push(`welcome.${e} and copy.${t} are both set; welcome.${e} wins. copy.${t} is deprecated.`);o===`hero`&&Oc(n,`message`)&&c.push(`welcome.message is ignored when welcome.variant is "hero": the hero is the greeting.`),!i&&n?.layout===void 0&&o===`hero`&&Oc(n,`dismiss`)&&n.dismiss!==`on-first-message`&&c.push(`welcome.dismiss is pinned to "on-first-message" when welcome.variant is "hero".`);let l=n?.anchor??(o!==`none`&&a===`centered`&&t?`center`:`bottom`),u=So(n?.anchorComposerTop)!==null;return Oc(n,`anchorComposerTop`)&&!u&&c.push(`welcome.anchorComposerTop must be a percentage between 0% and 100%; falling back to "44%".`),l!==`center`&&(Oc(n,`anchorComposerTop`)||Oc(n,`composerGap`))&&c.push(`welcome.anchorComposerTop is ignored unless welcome.anchor is "center".`),kc(e,c),{title:Oc(n,`title`)?n.title:r?.welcomeTitle??(i?`What can I help with?`:`Hello 👋`),kicker:n?.kicker??``,subtitle:Oc(n,`subtitle`)?n.subtitle:r?.welcomeSubtitle??(i?``:`I can answer questions and help you get things done here.`),icon:n?.icon,align:n?.align===`start`||n?.align===`center`?n.align:a===`centered`?`center`:void 0,iconPlacement:n?.icon&&typeof n.icon!=`function`&&n.icon.placement===`inline`?`inline`:`above`,variant:o,dismiss:s,message:o===`hero`?void 0:n?.message,layout:a,anchor:l,anchorComposerTop:u?n.anchorComposerTop:`44%`,composerGap:n?.composerGap?.trim()||`24px`}},jc=e=>!!(e.content.trim()||e.contentParts?.some(e=>e.type!==`text`||e.text.trim())),Mc=(e=[])=>e.some(e=>e.role===`user`||e.role===`operator`&&jc(e)||e.role===`assistant`&&(jc(e)||e.toolCall||e.tools?.length||e.reasoning||e.approval)),Nc=e=>Mc(e)?`active`:`empty`,Pc=(e,t)=>e.variant!==`none`&&(e.dismiss===`never`||!Mc(t)),Fc=`var(--persona-components-panel-height)`,Ic=e=>{let t=tn(e),n=t.launcherWidth?e?.launcher?.width:t.legacyLauncherWidth?e?.launcherWidth:void 0,r=e?.launcher?.heightOffset??0,i=r===0?`max(200px, ${Fc})`:`max(200px, calc(${Fc} - ${r}px))`;return{width:n??`var(--persona-components-panel-width)`,maxWidth:n??`var(--persona-components-panel-maxWidth)`,height:i,maxHeight:`var(--persona-components-panel-maxHeight)`}},Lc=e=>{let t=tn(e);return t.launcherWidth||t.legacyLauncherWidth||e?.theme?.components?.panel?.width!==void 0?Ic(e).width:`100%`},Rc=`16px`,zc=`10px`,Bc=`14px`,Vc=e=>{let t=e?.launcher?.enabled??!0,n=$o(e);if(es(e)){let t=e?.launcher?.composerBar??{},n=A(`div`,`persona-widget-wrapper persona-fixed persona-transition`);n.setAttribute(`data-persona-composer-bar`,``),n.dataset.state=`collapsed`,n.dataset.expandedSize=t.expandedSize??`anchored`,n.style.zIndex=String(e?.launcher?.zIndex??1e5);let r=A(`div`,`persona-widget-panel persona-relative persona-flex persona-flex-1 persona-min-h-0 persona-flex-col`);r.style.width=`100%`,n.appendChild(r);let i=A(`div`,`persona-widget-pill-root`);return i.setAttribute(`data-persona-composer-bar`,``),i.dataset.state=`collapsed`,i.dataset.expandedSize=t.expandedSize??`anchored`,i.style.zIndex=String(e?.launcher?.zIndex??1e5),{wrapper:n,panel:r,pillRoot:i}}if(n){let e=A(`div`,`persona-relative persona-h-full persona-w-full persona-flex persona-flex-1 persona-min-h-0 persona-flex-col`),t=A(`div`,`persona-relative persona-h-full persona-w-full persona-flex persona-flex-1 persona-min-h-0 persona-flex-col`);return e.appendChild(t),{wrapper:e,panel:t}}if(!t){let t=A(`div`,`persona-relative persona-h-full persona-flex persona-flex-col persona-flex-1 persona-min-h-0`),n=A(`div`,`persona-relative persona-flex-1 persona-flex persona-flex-col persona-min-h-0`);return t.style.width=Lc(e),n.style.width=`100%`,t.appendChild(n),{wrapper:t,panel:n}}let r=e?.launcher??{},i=r.position&&us[r.position]?us[r.position]:us[`bottom-right`],a=A(`div`,`persona-widget-wrapper persona-fixed ${i} persona-transition`);a.style.zIndex=String(e?.launcher?.zIndex??1e5);let o=A(`div`,`persona-widget-panel persona-relative persona-min-h-[320px]`),s=Ic(e);return o.style.width=s.width,o.style.maxWidth=s.maxWidth,a.appendChild(o),{wrapper:a,panel:o}},Hc=e=>{let t=k(`div`,{className:`persona-suggestions`,attrs:{"data-persona-suggestions":rs(e)}});return t.hidden=!0,t},Uc=(e,t)=>{let n=Hc(`starter`),r=mc(e,n,{flatShadow:$o(e)}),i=Ac(e);gc(r,i),hc(t,r.host,Pc(i,e?.initialMessages));let a=Sc();return Cc(a,i.message,e),{welcome:r,greetingHost:a}},Wc=(e,t)=>{let n=A(`div`,`persona-widget-container persona-relative persona-flex persona-flex-1 persona-min-h-0 persona-flex-col persona-text-persona-primary`);n.setAttribute(`data-persona-theme-zone`,`container`);let{button:r,wrapper:i}=gs(e,{showClose:t,wrapperClassName:`persona-composer-bar-close`,buttonSize:Rc,iconSize:zc});i.style.position=`absolute`,i.style.top=`8px`,i.style.right=`8px`,i.style.zIndex=`10`;let a=e?.launcher?.clearChat?.enabled??!0,o=null,s=null;if(a){let t=_s(e,{wrapperClassName:`persona-composer-bar-clear-chat`,buttonSize:Rc,iconSize:Bc});o=t.button,s=t.wrapper,s.style.position=`absolute`,s.style.top=`8px`,s.style.right=`32px`,s.style.zIndex=`10`}let c=k(`span`,{className:`persona-widget-header`,attrs:{"data-persona-theme-zone":`header`},style:{display:`none`}}),l=k(`div`,{className:`persona-widget-body persona-flex persona-flex-1 persona-min-h-0 persona-flex-col persona-gap-6 persona-overflow-y-auto persona-bg-persona-container persona-px-6 persona-py-6`,attrs:{id:`persona-scroll-container`,"data-persona-theme-zone":`messages`},style:{paddingTop:`48px`}});l.style.setProperty(`scrollbar-gutter`,`stable`);let{welcome:u,greetingHost:d}=Uc(e,l),{host:f,title:p,subtitle:m}=u,h=u.starterSuggestions,g=A(`div`,`persona-widget-messages persona-flex persona-flex-col`);g.style.gap=`var(--persona-components-message-gap, 12px)`;let _=Hc(`followUp`),v=bo(e,!0);v&&(g.style.maxWidth=v,g.style.marginLeft=`auto`,g.style.marginRight=`auto`,g.style.width=`100%`),l.append(f,d,g,_);let y=k(`div`,{className:`persona-composer-overlay persona-pointer-events-none`,attrs:{"data-persona-composer-overlay":``},style:{position:`absolute`,left:`0`,right:`0`,bottom:`calc(var(--persona-composer-overlay-height, 0px) + var(--persona-composer-lift, 0px))`,zIndex:`20`}}),b=js({config:e}),{root:x,textNode:S}=As();return n.append(c,i,l,y),s&&n.appendChild(s),{container:n,body:l,messagesWrapper:g,starterSuggestions:h,transcriptSuggestions:_,composerOverlay:y,suggestions:b.suggestions,textarea:b.textarea,sendButton:b.sendButton,sendButtonWrapper:b.sendButtonWrapper,micButton:b.micButton,micButtonWrapper:b.micButtonWrapper,composerForm:b.composerForm,statusText:b.statusText,welcomeHost:f,welcomeIconHolder:u.iconHolder,greetingHost:d,introKicker:u.kicker,introTitle:p,introSubtitle:m,closeButton:r,closeButtonWrapper:i,clearChatButton:o,clearChatButtonWrapper:s,iconHolder:A(`span`),headerTitle:A(`span`),headerSubtitle:A(`span`),header:c,footer:b.footer,attachmentButton:b.attachmentButton,attachmentButtonWrapper:b.attachmentButtonWrapper,attachmentInput:b.attachmentInput,attachmentPreviewsContainer:b.attachmentPreviewsContainer,actionsRow:b.actionsRow,leftActions:b.leftActions,rightActions:b.rightActions,setSendButtonMode:b.setSendButtonMode,peekBanner:x,peekTextNode:S}},Gc=(e,t=!0)=>{if(es(e))return Wc(e,t);let n=k(`div`,{className:`persona-widget-container persona-flex persona-h-full persona-w-full persona-flex-1 persona-min-h-0 persona-flex-col persona-text-persona-primary persona-bg-persona-surface persona-rounded-2xl persona-overflow-hidden persona-border persona-border-persona-border`,attrs:{"data-persona-theme-zone":`container`}}),r=e?.layout?.header,i=$t(e),a=r?Ds(e,r,{showClose:t}):xs({config:e,showClose:t}),o=k(`div`,{className:`persona-widget-body persona-flex persona-flex-1 persona-min-h-0 persona-flex-col persona-gap-6 persona-overflow-y-auto persona-bg-persona-container persona-px-6 persona-py-6`,attrs:{id:`persona-scroll-container`,"data-persona-theme-zone":`messages`}});o.style.setProperty(`scrollbar-gutter`,`stable`);let{welcome:s,greetingHost:c}=Uc(e,o),{host:l,title:u,subtitle:d}=s,f=s.starterSuggestions,p=A(`div`,`persona-widget-messages persona-flex persona-flex-col`);p.style.gap=`var(--persona-components-message-gap, 12px)`;let m=Hc(`followUp`),h=bo(e,!1);h&&(p.style.maxWidth=h,p.style.marginLeft=`auto`,p.style.marginRight=`auto`,p.style.width=`100%`),o.append(l,c,p,m);let g=ks({config:e}),_=e?.layout?.showFooter!==!1;i||(a.header.style.display=`none`),Ss(n,a,e),n.append(o);let v=k(`div`,{className:`persona-composer-overlay persona-pointer-events-none`,attrs:{"data-persona-composer-overlay":``},style:{position:`absolute`,left:`0`,right:`0`,bottom:`calc(var(--persona-composer-overlay-height, 0px) + var(--persona-composer-lift, 0px))`,zIndex:`20`}});return _||(g.footer.style.display=`none`),n.append(g.footer),n.append(v),{container:n,body:o,messagesWrapper:p,starterSuggestions:f,transcriptSuggestions:m,composerOverlay:v,suggestions:g.suggestions,textarea:g.textarea,sendButton:g.sendButton,sendButtonWrapper:g.sendButtonWrapper,micButton:g.micButton,micButtonWrapper:g.micButtonWrapper,composerForm:g.composerForm,statusText:g.statusText,welcomeHost:l,welcomeIconHolder:s.iconHolder,greetingHost:c,introKicker:s.kicker,introTitle:u,introSubtitle:d,closeButton:a.closeButton,closeButtonWrapper:a.closeButtonWrapper,clearChatButton:a.clearChatButton,clearChatButtonWrapper:a.clearChatButtonWrapper,iconHolder:a.iconHolder,headerTitle:a.headerTitle,headerSubtitle:a.headerSubtitle,header:a.header,footer:g.footer,attachmentButton:g.attachmentButton,attachmentButtonWrapper:g.attachmentButtonWrapper,attachmentInput:g.attachmentInput,attachmentPreviewsContainer:g.attachmentPreviewsContainer,actionsRow:g.actionsRow,leftActions:g.leftActions,rightActions:g.rightActions,setSendButtonMode:g.setSendButtonMode}},Kc=(e,t)=>{let n=A(`button`);n.type=`button`,n.innerHTML=`
|
|
11
11
|
<span class="persona-inline-flex persona-items-center persona-justify-center persona-rounded-full persona-bg-persona-primary persona-text-white" data-role="launcher-icon">💬</span>
|
|
12
12
|
<img data-role="launcher-image" class="persona-rounded-full persona-object-cover" alt="" style="display:none" />
|
|
13
13
|
<span class="persona-flex persona-min-w-0 persona-flex-1 persona-flex-col persona-items-start persona-text-left">
|
|
@@ -15,11 +15,11 @@ import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,n as l,o a
|
|
|
15
15
|
<span class="persona-block persona-w-full persona-truncate persona-text-xs persona-text-persona-launcher-muted" data-role="launcher-subtitle"></span>
|
|
16
16
|
</span>
|
|
17
17
|
<span class="persona-ml-2 persona-grid persona-place-items-center persona-rounded-full persona-bg-persona-primary persona-text-persona-call-to-action" data-role="launcher-call-to-action-icon">↗</span>
|
|
18
|
-
`,n.addEventListener(`click`,t);let r=e=>{let t=e.launcher??{},r=es(e),i=Sa(e)===`circle`;i?(n.dataset.personaLauncherVariant=`circle`,n.setAttribute(`aria-label`,t.title??`Open chat`)):(n.removeAttribute(`data-persona-launcher-variant`),n.removeAttribute(`aria-label`));let a=n.querySelector(`[data-role='launcher-title']`);if(a){let e=t.title??`Chat Assistant`;a.textContent=e,a.setAttribute(`title`,e)}let o=n.querySelector(`[data-role='launcher-subtitle']`);if(o){let e=t.subtitle??`Here to help you get answers fast`;o.textContent=e,o.setAttribute(`title`,e)}let s=n.querySelector(`.persona-flex-col`);s&&(t.textHidden||r||i?s.style.display=`none`:s.style.display=``);let c=n.querySelector(`[data-role='launcher-icon']`);if(c){if(t.agentIconHidden)c.style.display=`none`;else{let e=t.agentIconSize??`40px`;if(c.style.height=e,c.style.width=e,t.agentIconBackgroundColor?(c.style.backgroundColor=t.agentIconBackgroundColor,c.classList.remove(`persona-bg-persona-primary`)):(c.style.backgroundColor=``,c.classList.add(`persona-bg-persona-primary`)),c.innerHTML=``,t.agentIconName){let n=parseFloat(e)||24,r=T(t.agentIconName,n*.6,`var(--persona-text-inverse, #ffffff)`,1.5);r?(c.appendChild(r),c.style.display=``):(c.textContent=t.agentIconText??`💬`,c.style.display=``)}else t.iconUrl?c.style.display=`none`:(c.textContent=t.agentIconText??`💬`,c.style.display=``)}}let l=n.querySelector(`[data-role='launcher-image']`);if(l){let e=t.agentIconSize??`40px`;l.style.height=e,l.style.width=e,t.iconUrl&&!t.agentIconName&&!t.agentIconHidden?(l.src=t.iconUrl,l.style.display=`block`):l.style.display=`none`}let u=n.querySelector(`[data-role='launcher-call-to-action-icon']`);if(u){let e=t.callToActionIconSize??`32px`;u.style.height=e,u.style.width=e,t.callToActionIconBackgroundColor?(u.style.backgroundColor=t.callToActionIconBackgroundColor,u.classList.remove(`persona-bg-persona-primary`)):(u.style.backgroundColor=``,u.classList.add(`persona-bg-persona-primary`)),t.callToActionIconColor?(u.style.color=t.callToActionIconColor,u.classList.remove(`persona-text-persona-call-to-action`)):(u.style.color=``,u.classList.add(`persona-text-persona-call-to-action`));let n=0;if(t.callToActionIconPadding?(u.style.boxSizing=`border-box`,u.style.padding=t.callToActionIconPadding,n=(parseFloat(t.callToActionIconPadding)||0)*2):(u.style.boxSizing=``,u.style.padding=``),t.callToActionIconHidden||i)u.style.display=`none`;else if(u.style.display=r?`none`:``,u.innerHTML=``,t.callToActionIconName){let r=Math.max((parseFloat(e)||24)-n,8),i=T(t.callToActionIconName,r,`currentColor`,1.5);i?u.appendChild(i):u.textContent=t.callToActionIconText??`↗`}else u.textContent=t.callToActionIconText??`↗`}let d=t.position&&ds[t.position]?ds[t.position]:ds[`bottom-right`];n.className=r?`persona-relative persona-mt-4 persona-mb-4 persona-mx-auto persona-flex persona-items-center persona-justify-center persona-rounded-launcher persona-bg-persona-launcher persona-transition hover:persona-translate-y-[-2px] persona-cursor-pointer`:`persona-fixed persona-flex persona-items-center persona-gap-3 persona-rounded-launcher persona-bg-persona-launcher persona-py-2.5 persona-pl-3 persona-pr-3 persona-transition hover:persona-translate-y-[-2px] persona-cursor-pointer ${d}`,r||(n.style.zIndex=String(t.zIndex??1e5)),n.style.border=t.border??`1px solid var(--persona-launcher-border, var(--persona-border, #e5e7eb))`,n.style.boxShadow=t.shadow===void 0?`var(--persona-launcher-shadow, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1))`:t.shadow.trim()===``?`none`:t.shadow,r?(n.style.width=`0`,n.style.minWidth=`0`,n.style.maxWidth=`0`,n.style.padding=`0`,n.style.overflow=`hidden`,n.style.border=`none`,n.style.boxShadow=`none`):(n.style.width=``,n.style.minWidth=``,n.style.maxWidth=t.collapsedMaxWidth??``,n.style.justifyContent=``,n.style.padding=``,n.style.overflow=``)};return e&&r(e),{element:n,update:r,destroy:()=>{n.removeEventListener(`click`,t),n.remove()}}},zc=/* @__PURE__ */ new Set,Bc=e=>{let t=e?.persistState;return`${(typeof t==`object`?t?.keyPrefix:void 0)??`persona-`}teaser-dismissed`},Vc=(e,t)=>{if(zc.has(e))return!0;if(!t)return!1;try{return window.localStorage.getItem(e)===`1`}catch{return!1}},Hc=(e,t)=>{if(zc.add(e),t)try{window.localStorage.setItem(e,`1`)}catch{}},Uc=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,Wc=e=>{let t=e?.launcher?.teaser;return!t||!t.text||e?.launcher?.enabled===!1||es(e??{})?null:t},Gc=(e,t)=>{let n=k(`div`,`persona-launcher-surface`);n.setAttribute(`data-persona-launcher-surface`,`true`);let r=e??{},i=null,a=null,o=null,s=null,c=null,l=!1,u=!1,d=!1,f=!1,p=()=>(i?.frequency??`once`)===`once`&&r.persistState!==!1,m=()=>{c!==null&&(clearTimeout(c),c=null)},h=()=>{a&&l&&(l=!1,a.hidden=!0)},g=e=>{m(),d=!0,h(),Hc(Bc(r),e&&p())},_=e=>{i&&!d&&g(e===`user`&&l)},v=()=>{c=null,!(!a||d||f)&&(u=!0,l=!0,a.hidden=!1,!(Uc()||typeof a.animate!=`function`)&&a.animate([{opacity:`0`,transform:`translateY(6px)`},{opacity:`1`,transform:`none`}],{duration:220,easing:`ease-out`,fill:`backwards`}))},y=()=>{i&&a&&(d||u||f||Vc(Bc(r),p())||(m(),c=setTimeout(v,Math.max(0,i.delayMs??0))))},b=()=>{g(p()),t()},x=e=>{e.stopPropagation(),g(p())},S=Rc(e,()=>{_(`user`),t()}),C=()=>{m(),s?.removeEventListener(`click`,b),o?.removeEventListener(`click`,x),a?.remove(),a=null,s=null,o=null,l=!1},ee=()=>{s=O(`button`,{className:`persona-launcher-teaser-text`,attrs:{type:`button`}}),s.addEventListener(`click`,b),o=O(`button`,{className:`persona-launcher-teaser-dismiss`,attrs:{type:`button`},text:`×`}),o.addEventListener(`click`,x),a=O(`div`,{className:`persona-launcher-teaser`,attrs:{"data-persona-launcher-teaser":`true`,role:`status`,"aria-live":`polite`,hidden:``}},s,o),n.insertBefore(a,S.element)},w=()=>{let e=r.launcher?.position??`bottom-right`,t=ds[e]??ds[`bottom-right`];a?(n.className=We(`persona-launcher-surface`,t),n.setAttribute(`data-teaser`,e),n.style.zIndex=String(r.launcher?.zIndex??1e5),S.element.style.position=`static`):(n.className=`persona-launcher-surface`,n.removeAttribute(`data-teaser`),n.style.zIndex=``,S.element.style.position=``)},T=e=>{let t=Wc(e);i=t,t?(a||ee(),s.textContent=t.text,o.hidden=t.dismissible===!1,o.setAttribute(`aria-label`,t.dismissLabel??`Dismiss message`),y()):C()};return n.appendChild(S.element),e&&(T(e),w()),{element:n,launcher:S,get teaser(){return a?{element:a,show:v,dismiss:g}:null},setPanelOpen:(e,t=`user`)=>{f=e,e&&_(t)},update:e=>{r=e,S.update(e),T(e),w()},destroy:()=>{C(),S.destroy(),n.remove()}}},Kc=({config:e,showClose:t})=>{let{wrapper:n,panel:r,pillRoot:i}=Nc(e),a=Lc(e,t),o={wrapper:n,panel:r,pillRoot:i},s={container:a.container,body:a.body,messagesWrapper:a.messagesWrapper,starterSuggestions:a.starterSuggestions,transcriptSuggestions:a.transcriptSuggestions,composerOverlay:a.composerOverlay,welcomeHost:a.welcomeHost,welcomeIconHolder:a.welcomeIconHolder,greetingHost:a.greetingHost,introTitle:a.introTitle,introSubtitle:a.introSubtitle},c={element:a.header,iconHolder:a.iconHolder,headerTitle:a.headerTitle,headerSubtitle:a.headerSubtitle,closeButton:a.closeButton,closeButtonWrapper:a.closeButtonWrapper,clearChatButton:a.clearChatButton,clearChatButtonWrapper:a.clearChatButtonWrapper},l={footer:a.footer,form:a.composerForm,textarea:a.textarea,sendButton:a.sendButton,sendButtonWrapper:a.sendButtonWrapper,micButton:a.micButton,micButtonWrapper:a.micButtonWrapper,statusText:a.statusText,suggestions:a.suggestions,attachmentButton:a.attachmentButton,attachmentButtonWrapper:a.attachmentButtonWrapper,attachmentInput:a.attachmentInput,attachmentPreviewsContainer:a.attachmentPreviewsContainer,actionsRow:a.actionsRow,leftActions:a.leftActions,rightActions:a.rightActions,setSendButtonMode:a.setSendButtonMode,peekBanner:a.peekBanner,peekTextNode:a.peekTextNode};return{shell:o,panelElements:a,transcript:s,header:c,composer:l,replaceHeader:e=>(c.element.replaceWith(e.header),c.element=e.header,c.iconHolder=e.iconHolder,c.headerTitle=e.headerTitle,c.headerSubtitle=e.headerSubtitle,c.closeButton=e.closeButton,c.closeButtonWrapper=e.closeButtonWrapper,c.clearChatButton=e.clearChatButton,c.clearChatButtonWrapper=e.clearChatButtonWrapper,e),replaceComposer:e=>{l.footer.replaceWith(e),l.footer=e}}},qc=({config:e,plugins:t,onToggle:n})=>{let r=t.find(e=>e.renderLauncher);if(r?.renderLauncher){let t=r.renderLauncher({config:e,defaultRenderer:()=>Rc(e,n).element,onToggle:n});if(t)return{instance:null,element:t}}let i=Gc(e,n);return{instance:i,element:i.element}},Jc=e=>{let t=e?.persistState;return(typeof t==`object`?t?.keyPrefix:void 0)??`persona-`},Yc=(e,t,n)=>`${Jc(e)}plugin:${t}:${n}`,Xc=e=>{let t=/* @__PURE__ */ new Map,n=!1,r=()=>{if(n||e()?.persistState===!1)return null;try{return typeof window>`u`||!window.localStorage?null:window.localStorage}catch{return n=!0,null}};return i=>{let a=t=>Yc(e(),i,t);return{get:e=>{let i=a(e),o=r();if(o)try{return o.getItem(i)}catch{n=!0}return t.get(i)??null},set:(e,i)=>{let o=a(e),s=r();if(s)try{s.setItem(o,i);return}catch{n=!0}t.set(o,i)},remove:e=>{let i=a(e);t.delete(i);let o=r();if(o)try{o.removeItem(i)}catch{n=!0}}}}},{setLoader:Zc,load:Qc,provide:$c,getSync:el}=v({fallbackImport:()=>import(`./chunk-ql5N2I_t.js`)}),tl=Qc,nl=el,{setLoader:rl,load:il}=v({fallbackImport:()=>import(`./chunk-C-EHtpbB.js`)}),al=il,ol=[`__proto__`,`prototype`,`constructor`],sl=[`collapsed`,`card`,`panel`,`inline`],cl=[`markdown`,`component`],ll=/^[a-z0-9][a-z0-9!#$&^_.+-]*\/(\*|[a-z0-9!#$&^_.+-]+)$/,ul=e=>typeof e==`object`&&!!e&&!Array.isArray(e),dl=e=>!ol.includes(e),fl=e=>sl.includes(e),pl=e=>Object.keys(e).length>0;function ml(e,t,n,r){e.push({path:t,code:n,message:r})}const hl=`Ignored an unsupported value.`,gl={kind:`mode`},Q={kind:`string`,message:`Expected a CSS length string.`},_l={kind:`boolean`},vl=(...e)=>({kind:`value`,accepts:t=>e.includes(t)}),yl={paneWidth:Q,paneMaxWidth:Q,paneMinWidth:Q,expandedPanelWidth:Q,resizableMinWidth:Q,resizableMaxWidth:Q,expandLauncherPanelWhenOpen:_l,resizable:_l},bl={kind:`object`,message:`Expected a preference object.`,children:{showToolCalls:_l,showReasoning:_l,toolCallDisplay:{kind:`object`,children:{layout:vl(`row`,`card`),collapsedMode:vl(`tool-call`,`tool-name`,`tool-preview`),groupedMode:vl(`stack`,`summary`,`collapsible`),groupAppearance:vl(`plain`,`inset`),groupSummary:vl(`current-action`,`aggregate`),groupBoundary:vl(`adjacent`,`iteration`),groupSummaryMaxItems:{kind:`value`,accepts:e=>Number.isInteger(e)&&e>=0},loadingAnimation:vl(`none`,`pulse`,`shimmer`,`shimmer-color`,`rainbow`),expandable:_l,grouped:_l}},reasoningDisplay:{kind:`object`,children:{layout:vl(`row`,`card`),appearance:vl(`plain`,`inset`,`panel`),expandable:_l,activePreview:_l}},artifacts:{kind:`object`,children:{display:{kind:`object`,bareMode:!0,message:`Expected an artifact display rules object.`,children:{default:gl,files:{kind:`object`,bareMode:!0,message:`Expected collapsed, panel, inline, or a file display rules object.`,children:{default:gl,byMediaType:{kind:`modeMap`,keys:`mediaType`}}},byType:{kind:`modeMap`,keys:cl,alias:`byKind`,deprecated:`Use byKind. The legacy selector was normalized automatically.`},byKind:{kind:`modeMap`,keys:cl}}},filePreview:{kind:`object`,children:{enabled:_l}},layout:{kind:`object`,children:yl}}}}};function xl(e,t,n,r){if(e!==void 0)switch(t.kind){case`boolean`:return typeof e==`boolean`?e:ml(r,n,`invalid_type`,`Expected a boolean.`);case`string`:return typeof e==`string`?e:ml(r,n,`invalid_type`,t.message);case`value`:return t.accepts(e)?e:ml(r,n,`invalid_value`,hl);case`mode`:return fl(e)?St(e):ml(r,n,`invalid_value`,hl);case`modeMap`:{if(!ul(e))return ml(r,n,`invalid_type`,`Expected an object.`);let i=t.keys===`mediaType`?void 0:t.keys,a={};for(let[t,o]of Object.entries(e)){let e=i?t:M(t);dl(t)&&(i?i.includes(t):ll.test(e))?fl(o)?a[e]=St(o):ml(r,`${n}.${t}`,`invalid_value`,`Expected collapsed, panel, or inline.`):ml(r,`${n}.${t}`,i?`unknown_key`:`invalid_value`,i?`Ignored an unsupported selector.`:`Expected a MIME type such as "text/html" or a wildcard such as "image/*".`)}return pl(a)?a:void 0}case`object`:{if(t.bareMode&&fl(e))return St(e);if(!ul(e))return ml(r,n,`invalid_type`,t.message??`Expected an object.`);let i=Object.keys(t.children),a=e=>n?`${n}.${e}`:e;for(let t of Object.keys(e))(!dl(t)||!i.includes(t))&&ml(r,a(t),`unknown_key`,`Ignored because this key is not part of the persisted preference schema.`);let o={};for(let n of i){let i=t.children[n],s=xl(e[n],i,a(n),r);if(i.deprecated&&e[n]!==void 0&&ml(r,a(n),`deprecated_key`,i.deprecated),s===void 0)continue;let c=i.alias??n,l=o[c];o[c]=ul(l)&&ul(s)?{...l,...s}:s}return pl(o)?o:void 0}}}function Sl(e){let t=[];return{preferences:(e===null?void 0:xl(e,bl,``,t))??{},issues:t}}function Cl(e){if(Array.isArray(e))return e.map(Cl);if(!ul(e))return e;let t={};for(let[n,r]of Object.entries(e))dl(n)&&r!==void 0&&(t[n]=Cl(r));return t}function wl(e,t){let n=Cl(e);for(let[e,r]of Object.entries(t)){if(!dl(e)||r===void 0)continue;let t=n[e];n[e]=ul(t)&&ul(r)?wl(t,r):Cl(r)}return n}function Tl(e){let t={},n;for(let r of e){let e=Sl(r).preferences;n=Dl(n,e.artifacts?.display),t=wl(t,e)}let r=t;return r.artifacts&&(n===void 0?delete r.artifacts.display:r.artifacts.display=n),r}function El(e,t){if(t===void 0)return Cl(e);if(typeof t==`string`)return t;let n=typeof e==`string`?{default:e}:e??{},r=t.default??n.default,i={...n.byMediaType,...t.byMediaType},a={...r?{default:r}:{},...pl(i)?{byMediaType:i}:{}};return pl(a)?a:void 0}function Dl(e,t){if(t===void 0)return Cl(e);if(typeof t==`string`)return t;let n=typeof e==`string`?{default:e}:e??{},r=t.default??n.default,i={...n.byType,...n.byKind,...t.byType,...t.byKind},a=El(n.files,t.files),o={...r?{default:r}:{},...pl(i)?{byKind:i}:{},...a===void 0?{}:{files:a}};return pl(o)?o:void 0}function Ol(e={},t){let n=Tl(t),r={...e};for(let e of[`showToolCalls`,`showReasoning`])n[e]!==void 0&&(r[e]=n[e]);for(let t of[`toolCallDisplay`,`reasoningDisplay`])n[t]&&Object.assign(r,{[t]:{...e[t],...n[t]}});if(n.artifacts){let t=e.artifacts??{},i={...t};if(n.artifacts.display!==void 0){let e=Dl(t.display,n.artifacts.display);e!==void 0&&(i.display=e)}for(let e of[`filePreview`,`layout`])n.artifacts[e]&&(i[e]={...t[e],...n.artifacts[e]});r.artifacts=i}return r}function kl(e){let t=e.preferences;return!t||!pl(t)?e:{...e,features:Ol(e.features??{},[t])}}const{setLoader:Al,load:jl,provide:Ml,getSync:Nl}=v({fallbackImport:()=>import(`./chunk-Bp9uGcpc.js`)}),Pl=jl,Fl=Nl,Il=new class{#e=/* @__PURE__ */ new Map;register(e){this.#e.has(e.id)&&console.warn(`Plugin "${e.id}" is already registered. Overwriting.`),this.#e.set(e.id,e),e.onRegister?.()}unregister(e){let t=this.#e.get(e);t&&(t.onUnregister?.(),this.#e.delete(e))}getAll(){return Array.from(this.#e.values()).sort((e,t)=>(t.priority??0)-(e.priority??0))}getForInstance(e){let t=this.getAll();if(!e||e.length===0)return t;let n=new Set(e.map(e=>e.id));return[...t.filter(e=>!n.has(e.id)),...e].sort((e,t)=>(t.priority??0)-(e.priority??0))}clear(){this.#e.forEach(e=>e.onUnregister?.()),this.#e.clear()}},Ll=e=>typeof e==`object`&&!!e&&!Array.isArray(e),Rl=/* @__PURE__ */ new Set([`headers`,`agent`,`storageAdapter`,`components`,`targetProviders`,`voiceRecognition.provider.custom`,`features.artifacts.display`,`features.streamAnimation.plugins`,`preferences`,`welcome.icon`]),zl=(e,t,n)=>{if(!Ll(e)||!Ll(t)||Rl.has(n))return t;let r={...e};for(let i of Object.keys(t)){if(t[i]===void 0){delete r[i];continue}let a=n?`${n}.${i}`:i;r[i]=zl(e[i],t[i],a)}return r};function Bl(e,t){let r=g(ue),i=h(e,t,r),s=a(o(zl(e,t,``),r,i),i);return n(s,c(e,t)),rn(ve(s),an(e,t))}const{setLoader:Vl,load:Hl,provide:Ul,getSync:Wl}=v({fallbackImport:()=>import(`./chunk-Cb_AH55z.js`)}),Gl=Hl,Kl=Wl,ql=[...p,`launcherWidth`,`suggestionChips`,`copy.welcomeTitle`,`copy.welcomeSubtitle`,`copy.showWelcomeCard`,`features.suggestReplies.enabled`,`features.suggestReplies.expose`],Jl=e=>{if(!e.debug)return;let t=Kl();if(!t)Gl().then(()=>Jl(e),()=>{});else for(let n of e.current)n in t.LEGACY_MIGRATIONS&&(e.warned.has(n)||(console.warn(`[persona] ${n} is a supported legacy alias. Prefer ${t.LEGACY_MIGRATIONS[n]}. Compatibility behavior remains supported; clear the old field with an own undefined update when migrating.`),e.warned.add(n)))},Yl=e=>{let t={warned:/* @__PURE__ */ new Set,current:new Set(ql.filter(t=>s(e,t))),debug:e?.debug===!0};return Jl(t),t},Xl=(t,n)=>{if(u(n))t.current=new Set(ql.filter(e=>s(n,e)));else for(let r of ql){let i=e(n,r);i===`clear`&&t.current.delete(r),i===`explicit`&&t.current.add(r)}Object.prototype.hasOwnProperty.call(n,`debug`)&&(t.debug=n.debug===!0),Jl(t)},Zl=(e={instanceId:``})=>{let t=!1,n=/* @__PURE__ */ new Map,r=(e,r)=>t?()=>{}:(n.has(e)||n.set(e,/* @__PURE__ */ new Set),n.get(e).add(r),()=>i(e,r)),i=(e,t)=>{n.get(e)?.delete(t)};return{on:r,off:i,emit:(t,r)=>{n.get(t)?.forEach(t=>{try{t(r,e)}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Event handler error:`,e)}})},dispose:()=>{t=!0,n.clear()}}},Ql=e=>{let t=e.match(/```(?:json)?\s*([\s\S]*?)```/i);return t?t[1]:e},$l=e=>{let t=e.trim(),n=t.indexOf(`{`);if(n===-1)return null;let r=0;for(let e=n;e<t.length;e+=1){let i=t[e];if(i===`{`&&(r+=1),i===`}`&&(--r,r===0))return t.slice(n,e+1)}return null},eu=({text:e})=>{if(!e||!e.includes(`{`))return null;try{let t=Ql(e),n=$l(t);if(!n)return null;let r=JSON.parse(n);if(!r||typeof r!=`object`||!r.action)return null;let{action:i,...a}=r;return{type:String(i),payload:a,raw:r}}catch{return null}},tu=e=>typeof e==`string`?e:e==null?``:String(e),nu={message:e=>{if(e.type===`message`)return{handled:!0,displayText:tu(e.payload.text)}},messageAndClick:(e,t)=>{if(e.type!==`message_and_click`)return;let n=e.payload,r=tu(n.element);if(r&&t.document?.querySelector){let e=t.document.querySelector(r);e?setTimeout(()=>{e.click()},400):typeof console<`u`&&console.warn(`[AgentWidget] Element not found for selector:`,r)}return{handled:!0,displayText:tu(n.text)}}},ru=e=>Array.isArray(e)?e.map(e=>String(e)):[],iu=e=>{let t=new Set(ru(e.getSessionMetadata().processedActionMessageIds)),n=()=>{t=new Set(ru(e.getSessionMetadata().processedActionMessageIds))},r=()=>{let n=Array.from(t);e.updateSessionMetadata(e=>({...e,processedActionMessageIds:n}))};return{process:n=>{if(n.streaming||n.message.role!==`assistant`||!n.text||t.has(n.message.id))return null;let i=typeof n.raw==`string`&&n.raw||typeof n.message.rawContent==`string`&&n.message.rawContent||typeof n.text==`string`&&n.text||null;!i&&typeof n.text==`string`&&n.text.trim().startsWith(`{`)&&typeof console<`u`&&console.warn(`[AgentWidget] Structured response detected but no raw payload was provided. Ensure your stream parser returns { text, raw }.`);let a=i?e.parsers.reduce((e,t)=>e||t?.({text:i,message:n.message})||null,null):null;if(!a)return null;t.add(n.message.id),r();let o={action:a,message:n.message};e.emit(`action:detected`,o);for(let t of e.handlers)if(t)try{let r=e.captureResubmitGuard?.(),i=t(a,{message:n.message,metadata:e.getSessionMetadata(),updateMetadata:e.updateSessionMetadata,document:e.documentRef,triggerResubmit:()=>{(!r||r())&&e.emit(`action:resubmit`,o)}});if(!i)continue;if(i.handled){let e=i.persistMessage!==!1;return{text:i.displayText===void 0?``:i.displayText,persist:e,resubmit:i.resubmit}}}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Action handler error:`,e)}return{text:``,persist:!0}},syncFromMetadata:n}},au=e=>{if(!e)return null;try{return JSON.parse(e)}catch(e){return typeof console<`u`&&console.error(`[AgentWidget] Failed to parse stored state:`,e),null}},ou=e=>e.map(e=>({...e,streaming:!1})),su=e=>e.map(e=>({...e,status:`complete`})),cu=e=>`${e??`persona-`}state`,lu=(e=cu())=>{let t=()=>typeof window>`u`||!window.localStorage?null:window.localStorage;return{load:()=>{let n=t();return n?au(n.getItem(e)):null},save:n=>{let r=t();if(r)try{let t={...n,messages:n.messages?ou(n.messages):void 0,artifacts:n.artifacts?su(n.artifacts):void 0};r.setItem(e,JSON.stringify(t))}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Failed to persist state:`,e)}},clear:()=>{let n=t();if(n)try{n.removeItem(e)}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Failed to clear stored state:`,e)}}}},uu=e=>{let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619)>>>0;return t.toString(16).padStart(8,`0`)},du=async e=>{let t=globalThis.crypto?.subtle;if(t)try{let n=await t.digest(`SHA-256`,new TextEncoder().encode(e));return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}catch{}return uu(e)},fu=async(e,t)=>{let n=await du(e);return{storageKey:`${t}visitor:${n}`,leaseKey:`${t}visitor-init-lock:${n}`,lockName:`persona-visitor-init:${await du(`${e}\0${t}`)}`}},pu=(e,t,n)=>{let r=``,i=``,a=``,o=!1,s=!1,c=0,l=null,u=null,d=/* @__PURE__ */ new Set,f=()=>{if(n||o)return null;try{return typeof window>`u`||!window.localStorage?null:window.localStorage}catch{return o=!0,null}},p=()=>{let e=f();if(!e)return l;try{return e.getItem(r)}catch{return o=!0,l}},m=(e,t)=>{if(s||e===l)return;let n=l;l=e,c+=1;let r={previousToken:n,token:e,source:t,revision:c};for(let e of d)e(r)},h=e=>{s||(e.key===null||e.key===r)&&m(e.key===null?null:e.newValue??null,`external`)},g=(async()=>{let o=await fu(e,t);r=o.storageKey,i=o.leaseKey,a=o.lockName,l=p(),!n&&typeof window<`u`&&window.addEventListener(`storage`,h)})(),_=e=>new Promise(t=>setTimeout(t,e)),v=()=>{let e=f();if(!e)return null;try{let t=e.getItem(i);if(!t)return null;let n=JSON.parse(t);return typeof n?.expiresAt==`number`&&typeof n?.ownerNonce==`string`?n:null}catch{return null}},y=e=>{let t=f();if(t)try{v()?.ownerNonce===e&&t.removeItem(i)}catch{}},b=/* @__PURE__ */ new Set,x=e=>s?Promise.reject(/* @__PURE__ */ Error(`Visitor store destroyed before its first init could start`)):e(),S=e=>new Promise(t=>{let n=setTimeout(r,e);function r(){clearTimeout(n),b.delete(r),window.removeEventListener(`storage`,a),t()}function a(e){(e.key===null||e.key===i)&&r()}b.add(r),window.addEventListener(`storage`,a)}),C=async e=>{let t=`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,n=Date.now()+15e3;for(;!s&&Date.now()<n;){let n=f();if(!n)break;let r=Date.now(),a=v();if(a&&a.expiresAt>r&&a.ownerNonce!==t)await S(Math.min(a.expiresAt-r,500));else{try{n.setItem(i,JSON.stringify({ownerNonce:t,expiresAt:r+1e4}))}catch{o=!0;break}if(await _(20+Math.random()*40),v()?.ownerNonce!==t)await S(500);else{u=t;try{return await x(e)}finally{u=null,y(t)}}}}return x(e)};return{ready:g,async get(){return await g,m(p(),`external`),l},async set(e){await g;let t=f();if(t)try{t.setItem(r,e)}catch{o=!0}m(e,`local`)},async clear(){await g;let e=f();if(e)try{e.removeItem(r)}catch{o=!0}m(null,`local`)},revision(){return c},subscribe(e){return d.add(e),()=>{d.delete(e)}},async withFirstInitLock(e){await g;let t=globalThis.navigator?.locks;return t?.request?t.request(a,()=>x(e)):f()?C(e):x(e)},matches(r,i,a){return r===e&&i===t&&a===n},destroy(){s=!0,d.clear(),typeof window<`u`&&window.removeEventListener(`storage`,h),u&&y(u);for(let e of[...b])e()}}},{setLoader:mu,load:hu}=v({fallbackImport:()=>import(`./chunk-6C23QQdP.js`)}),gu=hu,{setLoader:_u,load:vu,provide:yu,getSync:bu}=v({fallbackImport:()=>import(`./chunk-DOZmcve8.js`)}),xu=vu,Su=bu;function Cu(){return null}const wu=[`Very dissatisfied`,`Dissatisfied`,`Neutral`,`Satisfied`,`Very satisfied`];function Tu(e,t,n){let{onSubmit:r,onDismiss:i,title:a=t===`csat`?`How satisfied are you?`:`How likely are you to recommend us?`,subtitle:o=t===`csat`?`Please rate your experience`:`On a scale of 0 to 10`,commentPlaceholder:s=t===`csat`?`Share your thoughts (optional)...`:`What could we do better? (optional)...`,submitText:c=`Submit`,skipText:l=`Skip`,showComment:u=!0}=e,d=document.createElement(`div`);d.className=`persona-feedback-container persona-feedback-${t}`,d.setAttribute(`role`,`dialog`),d.setAttribute(`aria-label`,t===`csat`?`Customer satisfaction feedback`:`Net Promoter Score feedback`);let f=null,p=document.createElement(`div`);p.className=`persona-feedback-content`;let m=document.createElement(`div`);m.className=`persona-feedback-header`;let h=document.createElement(`h3`);h.className=`persona-feedback-title`,h.textContent=a,m.appendChild(h);let g=document.createElement(`p`);g.className=`persona-feedback-subtitle`,g.textContent=o,m.appendChild(g),p.appendChild(m);let{element:_,attentionTarget:v}=n(e=>{f=e});p.appendChild(_);let y=null;if(u){let e=document.createElement(`div`);e.className=`persona-feedback-comment-container`,y=document.createElement(`textarea`),y.className=`persona-feedback-comment`,y.placeholder=s,y.rows=3,y.setAttribute(`aria-label`,`Additional comments`),e.appendChild(y),p.appendChild(e)}let b=document.createElement(`div`);b.className=`persona-feedback-actions`;let x=document.createElement(`button`);x.type=`button`,x.className=`persona-feedback-btn persona-feedback-btn-skip`,x.textContent=l,x.addEventListener(`click`,()=>{i?.(),d.remove()});let S=document.createElement(`button`);return S.type=`button`,S.className=`persona-feedback-btn persona-feedback-btn-submit`,S.textContent=c,S.addEventListener(`click`,async()=>{if(f===null)v.classList.add(`persona-feedback-shake`),setTimeout(()=>v.classList.remove(`persona-feedback-shake`),500);else{S.disabled=!0,S.textContent=`Submitting...`;try{let e=y?.value.trim()||void 0;await r(f,e),d.remove()}catch(e){S.disabled=!1,S.textContent=c,console.error(`[${t.toUpperCase()} Feedback] Failed to submit:`,e)}}}),b.appendChild(x),b.appendChild(S),p.appendChild(b),d.appendChild(p),d}function Eu(e){return Tu(e,`csat`,t=>{let{ratingLabels:n=wu}=e,r=document.createElement(`div`);r.className=`persona-feedback-rating persona-feedback-rating-csat`,r.setAttribute(`role`,`radiogroup`),r.setAttribute(`aria-label`,`Satisfaction rating from 1 to 5`);let i=[];for(let e=1;e<=5;e++){let a=document.createElement(`button`);a.type=`button`,a.className=`persona-feedback-rating-btn persona-feedback-star-btn`,a.setAttribute(`role`,`radio`),a.setAttribute(`aria-checked`,`false`),a.setAttribute(`aria-label`,`${e} star${e>1?`s`:``}: ${n[e-1]}`),a.title=n[e-1],a.dataset.rating=String(e),a.innerHTML=`
|
|
18
|
+
`,n.addEventListener(`click`,t);let r=e=>{let t=e.launcher??{},r=$o(e),i=J(e)===`circle`;i?(n.dataset.personaLauncherVariant=`circle`,n.setAttribute(`aria-label`,t.title??`Open chat`)):(n.removeAttribute(`data-persona-launcher-variant`),n.removeAttribute(`aria-label`));let a=n.querySelector(`[data-role='launcher-title']`);if(a){let e=t.title??`Chat Assistant`;a.textContent=e,a.setAttribute(`title`,e)}let o=n.querySelector(`[data-role='launcher-subtitle']`);if(o){let e=t.subtitle??`Here to help you get answers fast`;o.textContent=e,o.setAttribute(`title`,e)}let s=n.querySelector(`.persona-flex-col`);s&&(t.textHidden||r||i?s.style.display=`none`:s.style.display=``);let c=n.querySelector(`[data-role='launcher-icon']`);if(c){if(t.agentIconHidden)c.style.display=`none`;else{let e=t.agentIconSize??`40px`;if(c.style.height=e,c.style.width=e,t.agentIconBackgroundColor?(c.style.backgroundColor=t.agentIconBackgroundColor,c.classList.remove(`persona-bg-persona-primary`)):(c.style.backgroundColor=``,c.classList.add(`persona-bg-persona-primary`)),c.innerHTML=``,t.agentIconName){let n=parseFloat(e)||24,r=T(t.agentIconName,n*.6,`var(--persona-text-inverse, #ffffff)`,1.5);r?(c.appendChild(r),c.style.display=``):(c.textContent=t.agentIconText??`💬`,c.style.display=``)}else t.iconUrl?c.style.display=`none`:(c.textContent=t.agentIconText??`💬`,c.style.display=``)}}let l=n.querySelector(`[data-role='launcher-image']`);if(l){let e=t.agentIconSize??`40px`;l.style.height=e,l.style.width=e,t.iconUrl&&!t.agentIconName&&!t.agentIconHidden?(l.src=t.iconUrl,l.style.display=`block`):l.style.display=`none`}let u=n.querySelector(`[data-role='launcher-call-to-action-icon']`);if(u){let e=t.callToActionIconSize??`32px`;u.style.height=e,u.style.width=e,t.callToActionIconBackgroundColor?(u.style.backgroundColor=t.callToActionIconBackgroundColor,u.classList.remove(`persona-bg-persona-primary`)):(u.style.backgroundColor=``,u.classList.add(`persona-bg-persona-primary`)),t.callToActionIconColor?(u.style.color=t.callToActionIconColor,u.classList.remove(`persona-text-persona-call-to-action`)):(u.style.color=``,u.classList.add(`persona-text-persona-call-to-action`));let n=0;if(t.callToActionIconPadding?(u.style.boxSizing=`border-box`,u.style.padding=t.callToActionIconPadding,n=(parseFloat(t.callToActionIconPadding)||0)*2):(u.style.boxSizing=``,u.style.padding=``),t.callToActionIconHidden||i)u.style.display=`none`;else if(u.style.display=r?`none`:``,u.innerHTML=``,t.callToActionIconName){let r=Math.max((parseFloat(e)||24)-n,8),i=T(t.callToActionIconName,r,`currentColor`,1.5);i?u.appendChild(i):u.textContent=t.callToActionIconText??`↗`}else u.textContent=t.callToActionIconText??`↗`}let d=t.position&&us[t.position]?us[t.position]:us[`bottom-right`];n.className=r?`persona-relative persona-mt-4 persona-mb-4 persona-mx-auto persona-flex persona-items-center persona-justify-center persona-rounded-launcher persona-bg-persona-launcher persona-transition hover:persona-translate-y-[-2px] persona-cursor-pointer`:`persona-fixed persona-flex persona-items-center persona-gap-3 persona-rounded-launcher persona-bg-persona-launcher persona-py-2.5 persona-pl-3 persona-pr-3 persona-transition hover:persona-translate-y-[-2px] persona-cursor-pointer ${d}`,r||(n.style.zIndex=String(t.zIndex??1e5)),n.style.border=t.border??`1px solid var(--persona-launcher-border, var(--persona-border, #e5e7eb))`,n.style.boxShadow=t.shadow===void 0?`var(--persona-launcher-shadow, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1))`:t.shadow.trim()===``?`none`:t.shadow,r?(n.style.width=`0`,n.style.minWidth=`0`,n.style.maxWidth=`0`,n.style.padding=`0`,n.style.overflow=`hidden`,n.style.border=`none`,n.style.boxShadow=`none`):(n.style.width=``,n.style.minWidth=``,n.style.maxWidth=t.collapsedMaxWidth??``,n.style.justifyContent=``,n.style.padding=``,n.style.overflow=``)};return e&&r(e),{element:n,update:r,destroy:()=>{n.removeEventListener(`click`,t),n.remove()}}},qc=/* @__PURE__ */ new Set,Jc=e=>{let t=e?.persistState;return`${(typeof t==`object`?t?.keyPrefix:void 0)??`persona-`}teaser-dismissed`},Yc=(e,t)=>{if(qc.has(e))return!0;if(!t)return!1;try{return window.localStorage.getItem(e)===`1`}catch{return!1}},Xc=(e,t)=>{if(qc.add(e),t)try{window.localStorage.setItem(e,`1`)}catch{}},Zc=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,Qc=e=>{let t=e?.launcher?.teaser;return!t||!t.text||e?.launcher?.enabled===!1||$o(e??{})?null:t},$c=(e,t)=>{let n=A(`div`,`persona-launcher-surface`);n.setAttribute(`data-persona-launcher-surface`,`true`);let r=e??{},i=null,a=null,o=null,s=null,c=null,l=!1,u=!1,d=!1,f=!1,p=()=>(i?.frequency??`once`)===`once`&&r.persistState!==!1,m=()=>{c!==null&&(clearTimeout(c),c=null)},h=()=>{a&&l&&(l=!1,a.hidden=!0)},g=e=>{m(),d=!0,h(),Xc(Jc(r),e&&p())},_=e=>{i&&!d&&g(e===`user`&&l)},v=()=>{c=null,!(!a||d||f)&&(u=!0,l=!0,a.hidden=!1,!(Zc()||typeof a.animate!=`function`)&&a.animate([{opacity:`0`,transform:`translateY(6px)`},{opacity:`1`,transform:`none`}],{duration:220,easing:`ease-out`,fill:`backwards`}))},y=()=>{i&&a&&(d||u||f||Yc(Jc(r),p())||(m(),c=setTimeout(v,Math.max(0,i.delayMs??0))))},b=()=>{g(p()),t()},x=e=>{e.stopPropagation(),g(p())},S=Kc(e,()=>{_(`user`),t()}),C=()=>{m(),s?.removeEventListener(`click`,b),o?.removeEventListener(`click`,x),a?.remove(),a=null,s=null,o=null,l=!1},ee=()=>{s=k(`button`,{className:`persona-launcher-teaser-text`,attrs:{type:`button`}}),s.addEventListener(`click`,b),o=k(`button`,{className:`persona-launcher-teaser-dismiss`,attrs:{type:`button`},text:`×`}),o.addEventListener(`click`,x),a=k(`div`,{className:`persona-launcher-teaser`,attrs:{"data-persona-launcher-teaser":`true`,role:`status`,"aria-live":`polite`,hidden:``}},s,o),n.insertBefore(a,S.element)},w=()=>{let e=r.launcher?.position??`bottom-right`,t=us[e]??us[`bottom-right`];a?(n.className=Ue(`persona-launcher-surface`,t),n.setAttribute(`data-teaser`,e),n.style.zIndex=String(r.launcher?.zIndex??1e5),S.element.style.position=`static`):(n.className=`persona-launcher-surface`,n.removeAttribute(`data-teaser`),n.style.zIndex=``,S.element.style.position=``)},T=e=>{let t=Qc(e);i=t,t?(a||ee(),s.textContent=t.text,o.hidden=t.dismissible===!1,o.setAttribute(`aria-label`,t.dismissLabel??`Dismiss message`),y()):C()};return n.appendChild(S.element),e&&(T(e),w()),{element:n,launcher:S,get teaser(){return a?{element:a,show:v,dismiss:g}:null},setPanelOpen:(e,t=`user`)=>{f=e,e&&_(t)},update:e=>{r=e,S.update(e),T(e),w()},destroy:()=>{C(),S.destroy(),n.remove()}}},el=({config:e,showClose:t})=>{let{wrapper:n,panel:r,pillRoot:i}=Vc(e),a=Gc(e,t),o={wrapper:n,panel:r,pillRoot:i},s={container:a.container,body:a.body,messagesWrapper:a.messagesWrapper,starterSuggestions:a.starterSuggestions,transcriptSuggestions:a.transcriptSuggestions,composerOverlay:a.composerOverlay,welcomeHost:a.welcomeHost,welcomeIconHolder:a.welcomeIconHolder,greetingHost:a.greetingHost,introTitle:a.introTitle,introSubtitle:a.introSubtitle},c={element:a.header,iconHolder:a.iconHolder,headerTitle:a.headerTitle,headerSubtitle:a.headerSubtitle,closeButton:a.closeButton,closeButtonWrapper:a.closeButtonWrapper,clearChatButton:a.clearChatButton,clearChatButtonWrapper:a.clearChatButtonWrapper},l={footer:a.footer,form:a.composerForm,textarea:a.textarea,sendButton:a.sendButton,sendButtonWrapper:a.sendButtonWrapper,micButton:a.micButton,micButtonWrapper:a.micButtonWrapper,statusText:a.statusText,suggestions:a.suggestions,attachmentButton:a.attachmentButton,attachmentButtonWrapper:a.attachmentButtonWrapper,attachmentInput:a.attachmentInput,attachmentPreviewsContainer:a.attachmentPreviewsContainer,actionsRow:a.actionsRow,leftActions:a.leftActions,rightActions:a.rightActions,setSendButtonMode:a.setSendButtonMode,peekBanner:a.peekBanner,peekTextNode:a.peekTextNode};return{shell:o,panelElements:a,transcript:s,header:c,composer:l,replaceHeader:e=>(c.element.replaceWith(e.header),c.element=e.header,c.iconHolder=e.iconHolder,c.headerTitle=e.headerTitle,c.headerSubtitle=e.headerSubtitle,c.closeButton=e.closeButton,c.closeButtonWrapper=e.closeButtonWrapper,c.clearChatButton=e.clearChatButton,c.clearChatButtonWrapper=e.clearChatButtonWrapper,e),replaceComposer:e=>{l.footer.replaceWith(e),l.footer=e}}},tl=({config:e,plugins:t,onToggle:n})=>{let r=t.find(e=>e.renderLauncher);if(r?.renderLauncher){let t=r.renderLauncher({config:e,defaultRenderer:()=>Kc(e,n).element,onToggle:n});if(t)return{instance:null,element:t}}let i=$c(e,n);return{instance:i,element:i.element}},nl=e=>{let t=e?.persistState;return(typeof t==`object`?t?.keyPrefix:void 0)??`persona-`},rl=(e,t,n)=>`${nl(e)}plugin:${t}:${n}`,il=e=>{let t=/* @__PURE__ */ new Map,n=!1,r=()=>{if(n||e()?.persistState===!1)return null;try{return typeof window>`u`||!window.localStorage?null:window.localStorage}catch{return n=!0,null}};return i=>{let a=t=>rl(e(),i,t);return{get:e=>{let i=a(e),o=r();if(o)try{return o.getItem(i)}catch{n=!0}return t.get(i)??null},set:(e,i)=>{let o=a(e),s=r();if(s)try{s.setItem(o,i);return}catch{n=!0}t.set(o,i)},remove:e=>{let i=a(e);t.delete(i);let o=r();if(o)try{o.removeItem(i)}catch{n=!0}}}}},{setLoader:al,load:ol,provide:sl,getSync:cl}=v({fallbackImport:()=>import(`./chunk-CWzHNuVK.js`)}),ll=ol,ul=cl,{setLoader:dl,load:fl}=v({fallbackImport:()=>import(`./chunk-h5aOI_Pa.js`)}),pl=fl,ml=[`__proto__`,`prototype`,`constructor`],hl=[`collapsed`,`card`,`panel`,`inline`],gl=[`markdown`,`component`],_l=/^[a-z0-9][a-z0-9!#$&^_.+-]*\/(\*|[a-z0-9!#$&^_.+-]+)$/,vl=e=>typeof e==`object`&&!!e&&!Array.isArray(e),yl=e=>!ml.includes(e),bl=e=>hl.includes(e),xl=e=>Object.keys(e).length>0;function Sl(e,t,n,r){e.push({path:t,code:n,message:r})}const Cl=`Ignored an unsupported value.`,wl={kind:`mode`},Tl={kind:`string`,message:`Expected a CSS length string.`},El={kind:`boolean`},Dl=(...e)=>({kind:`value`,accepts:t=>e.includes(t)}),Q={paneWidth:Tl,paneMaxWidth:Tl,paneMinWidth:Tl,expandedPanelWidth:Tl,resizableMinWidth:Tl,resizableMaxWidth:Tl,expandLauncherPanelWhenOpen:El,resizable:El},Ol={kind:`object`,message:`Expected a preference object.`,children:{showToolCalls:El,showReasoning:El,toolCallDisplay:{kind:`object`,children:{layout:Dl(`row`,`card`),collapsedMode:Dl(`tool-call`,`tool-name`,`tool-preview`),groupedMode:Dl(`stack`,`summary`,`collapsible`),groupAppearance:Dl(`plain`,`inset`),groupSummary:Dl(`current-action`,`aggregate`),groupBoundary:Dl(`adjacent`,`iteration`),groupSummaryMaxItems:{kind:`value`,accepts:e=>Number.isInteger(e)&&e>=0},loadingAnimation:Dl(`none`,`pulse`,`shimmer`,`shimmer-color`,`rainbow`),expandable:El,grouped:El}},reasoningDisplay:{kind:`object`,children:{layout:Dl(`row`,`card`),appearance:Dl(`plain`,`inset`,`panel`),expandable:El,activePreview:El}},artifacts:{kind:`object`,children:{display:{kind:`object`,bareMode:!0,message:`Expected an artifact display rules object.`,children:{default:wl,files:{kind:`object`,bareMode:!0,message:`Expected collapsed, panel, inline, or a file display rules object.`,children:{default:wl,byMediaType:{kind:`modeMap`,keys:`mediaType`}}},byType:{kind:`modeMap`,keys:gl,alias:`byKind`,deprecated:`Use byKind. The legacy selector was normalized automatically.`},byKind:{kind:`modeMap`,keys:gl}}},filePreview:{kind:`object`,children:{enabled:El}},layout:{kind:`object`,children:Q}}}}};function kl(e,t,n,r){if(e!==void 0)switch(t.kind){case`boolean`:return typeof e==`boolean`?e:Sl(r,n,`invalid_type`,`Expected a boolean.`);case`string`:return typeof e==`string`?e:Sl(r,n,`invalid_type`,t.message);case`value`:return t.accepts(e)?e:Sl(r,n,`invalid_value`,Cl);case`mode`:return bl(e)?xt(e):Sl(r,n,`invalid_value`,Cl);case`modeMap`:{if(!vl(e))return Sl(r,n,`invalid_type`,`Expected an object.`);let i=t.keys===`mediaType`?void 0:t.keys,a={};for(let[t,o]of Object.entries(e)){let e=i?t:Ct(t);yl(t)&&(i?i.includes(t):_l.test(e))?bl(o)?a[e]=xt(o):Sl(r,`${n}.${t}`,`invalid_value`,`Expected collapsed, panel, or inline.`):Sl(r,`${n}.${t}`,i?`unknown_key`:`invalid_value`,i?`Ignored an unsupported selector.`:`Expected a MIME type such as "text/html" or a wildcard such as "image/*".`)}return xl(a)?a:void 0}case`object`:{if(t.bareMode&&bl(e))return xt(e);if(!vl(e))return Sl(r,n,`invalid_type`,t.message??`Expected an object.`);let i=Object.keys(t.children),a=e=>n?`${n}.${e}`:e;for(let t of Object.keys(e))yl(t)&&i.includes(t)||Sl(r,a(t),`unknown_key`,`Ignored because this key is not part of the persisted preference schema.`);let o={};for(let n of i){let i=t.children[n],s=kl(e[n],i,a(n),r);if(i.deprecated&&e[n]!==void 0&&Sl(r,a(n),`deprecated_key`,i.deprecated),s===void 0)continue;let c=i.alias??n,l=o[c];o[c]=vl(l)&&vl(s)?{...l,...s}:s}return xl(o)?o:void 0}}}function Al(e){let t=[];return{preferences:(e===null?void 0:kl(e,Ol,``,t))??{},issues:t}}function jl(e){if(Array.isArray(e))return e.map(jl);if(!vl(e))return e;let t={};for(let[n,r]of Object.entries(e))yl(n)&&r!==void 0&&(t[n]=jl(r));return t}function Ml(e,t){let n=jl(e);for(let[e,r]of Object.entries(t)){if(!yl(e)||r===void 0)continue;let t=n[e];n[e]=vl(t)&&vl(r)?Ml(t,r):jl(r)}return n}function Nl(e){let t={},n;for(let r of e){let e=Al(r).preferences;n=Fl(n,e.artifacts?.display),t=Ml(t,e)}let r=t;return r.artifacts&&(n===void 0?delete r.artifacts.display:r.artifacts.display=n),r}function Pl(e,t){if(t===void 0)return jl(e);if(typeof t==`string`)return t;let n=typeof e==`string`?{default:e}:e??{},r=t.default??n.default,i={...n.byMediaType,...t.byMediaType},a={...r?{default:r}:{},...xl(i)?{byMediaType:i}:{}};return xl(a)?a:void 0}function Fl(e,t){if(t===void 0)return jl(e);if(typeof t==`string`)return t;let n=typeof e==`string`?{default:e}:e??{},r=t.default??n.default,i={...n.byType,...n.byKind,...t.byType,...t.byKind},a=Pl(n.files,t.files),o={...r?{default:r}:{},...xl(i)?{byKind:i}:{},...a===void 0?{}:{files:a}};return xl(o)?o:void 0}function Il(e={},t){let n=Nl(t),r={...e};for(let e of[`showToolCalls`,`showReasoning`])n[e]!==void 0&&(r[e]=n[e]);for(let t of[`toolCallDisplay`,`reasoningDisplay`])n[t]&&Object.assign(r,{[t]:{...e[t],...n[t]}});if(n.artifacts){let t=e.artifacts??{},i={...t};if(n.artifacts.display!==void 0){let e=Fl(t.display,n.artifacts.display);e!==void 0&&(i.display=e)}for(let e of[`filePreview`,`layout`])n.artifacts[e]&&(i[e]={...t[e],...n.artifacts[e]});r.artifacts=i}return r}function Ll(e){let t=e.preferences;return!t||!xl(t)?e:{...e,features:Il(e.features??{},[t])}}const{setLoader:Rl,load:zl,provide:Bl,getSync:Vl}=v({fallbackImport:()=>import(`./chunk-Bp9uGcpc.js`)}),Hl=zl,Ul=Vl,Wl=new class{#e=/* @__PURE__ */ new Map;register(e){this.#e.has(e.id)&&console.warn(`Plugin "${e.id}" is already registered. Overwriting.`),this.#e.set(e.id,e),e.onRegister?.()}unregister(e){let t=this.#e.get(e);t&&(t.onUnregister?.(),this.#e.delete(e))}getAll(){return Array.from(this.#e.values()).sort((e,t)=>(t.priority??0)-(e.priority??0))}getForInstance(e){let t=this.getAll();if(!e||e.length===0)return t;let n=new Set(e.map(e=>e.id));return[...t.filter(e=>!n.has(e.id)),...e].sort((e,t)=>(t.priority??0)-(e.priority??0))}clear(){this.#e.forEach(e=>e.onUnregister?.()),this.#e.clear()}},Gl=e=>typeof e==`object`&&!!e&&!Array.isArray(e),Kl=/* @__PURE__ */ new Set([`headers`,`agent`,`storageAdapter`,`components`,`targetProviders`,`voiceRecognition.provider.custom`,`features.artifacts.display`,`features.streamAnimation.plugins`,`preferences`,`welcome.icon`]),ql=(e,t,n)=>{if(!Gl(e)||!Gl(t)||Kl.has(n))return t;let r={...e};for(let i of Object.keys(t)){if(t[i]===void 0){delete r[i];continue}let a=n?`${n}.${i}`:i;r[i]=ql(e[i],t[i],a)}return r};function Jl(e,t){let r=g(le),i=h(e,t,r),s=a(o(ql(e,t,``),r,i),i);return n(s,c(e,t)),nn(_e(s),rn(e,t))}const{setLoader:Yl,load:Xl,provide:Zl,getSync:Ql}=v({fallbackImport:()=>import(`./chunk-Cb_AH55z.js`)}),$l=Xl,eu=Ql,tu=[...p,`launcherWidth`,`suggestionChips`,`copy.welcomeTitle`,`copy.welcomeSubtitle`,`copy.showWelcomeCard`,`features.suggestReplies.enabled`,`features.suggestReplies.expose`],nu=e=>{if(!e.debug)return;let t=eu();if(!t)$l().then(()=>nu(e),()=>{});else for(let n of e.current)n in t.LEGACY_MIGRATIONS&&(e.warned.has(n)||(console.warn(`[persona] ${n} is a supported legacy alias. Prefer ${t.LEGACY_MIGRATIONS[n]}. Compatibility behavior remains supported; clear the old field with an own undefined update when migrating.`),e.warned.add(n)))},ru=e=>{let t={warned:/* @__PURE__ */ new Set,current:new Set(tu.filter(t=>s(e,t))),debug:e?.debug===!0};return nu(t),t},iu=(t,n)=>{if(u(n))t.current=new Set(tu.filter(e=>s(n,e)));else for(let r of tu){let i=e(n,r);i===`clear`&&t.current.delete(r),i===`explicit`&&t.current.add(r)}Object.prototype.hasOwnProperty.call(n,`debug`)&&(t.debug=n.debug===!0),nu(t)},au=(e={instanceId:``})=>{let t=!1,n=/* @__PURE__ */ new Map,r=(e,r)=>t?()=>{}:(n.has(e)||n.set(e,/* @__PURE__ */ new Set),n.get(e).add(r),()=>i(e,r)),i=(e,t)=>{n.get(e)?.delete(t)};return{on:r,off:i,emit:(t,r)=>{n.get(t)?.forEach(t=>{try{t(r,e)}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Event handler error:`,e)}})},dispose:()=>{t=!0,n.clear()}}},ou=e=>{let t=e.match(/```(?:json)?\s*([\s\S]*?)```/i);return t?t[1]:e},su=e=>{let t=e.trim(),n=t.indexOf(`{`);if(n===-1)return null;let r=0;for(let e=n;e<t.length;e+=1){let i=t[e];if(i===`{`&&(r+=1),i===`}`&&(--r,r===0))return t.slice(n,e+1)}return null},cu=({text:e})=>{if(!e||!e.includes(`{`))return null;try{let t=ou(e),n=su(t);if(!n)return null;let r=JSON.parse(n);if(!r||typeof r!=`object`||!r.action)return null;let{action:i,...a}=r;return{type:String(i),payload:a,raw:r}}catch{return null}},lu=e=>typeof e==`string`?e:e==null?``:String(e),uu={message:e=>{if(e.type===`message`)return{handled:!0,displayText:lu(e.payload.text)}},messageAndClick:(e,t)=>{if(e.type!==`message_and_click`)return;let n=e.payload,r=lu(n.element);if(r&&t.document?.querySelector){let e=t.document.querySelector(r);e?setTimeout(()=>{e.click()},400):typeof console<`u`&&console.warn(`[AgentWidget] Element not found for selector:`,r)}return{handled:!0,displayText:lu(n.text)}}},du=e=>Array.isArray(e)?e.map(e=>String(e)):[],fu=e=>{let t=new Set(du(e.getSessionMetadata().processedActionMessageIds)),n=()=>{t=new Set(du(e.getSessionMetadata().processedActionMessageIds))},r=()=>{let n=Array.from(t);e.updateSessionMetadata(e=>({...e,processedActionMessageIds:n}))};return{process:n=>{if(n.streaming||n.message.role!==`assistant`||!n.text||t.has(n.message.id))return null;let i=typeof n.raw==`string`&&n.raw||typeof n.message.rawContent==`string`&&n.message.rawContent||typeof n.text==`string`&&n.text||null;!i&&typeof n.text==`string`&&n.text.trim().startsWith(`{`)&&typeof console<`u`&&console.warn(`[AgentWidget] Structured response detected but no raw payload was provided. Ensure your stream parser returns { text, raw }.`);let a=i?e.parsers.reduce((e,t)=>e||t?.({text:i,message:n.message})||null,null):null;if(!a)return null;t.add(n.message.id),r();let o={action:a,message:n.message};e.emit(`action:detected`,o);for(let t of e.handlers)if(t)try{let r=e.captureResubmitGuard?.(),i=t(a,{message:n.message,metadata:e.getSessionMetadata(),updateMetadata:e.updateSessionMetadata,document:e.documentRef,triggerResubmit:()=>{(!r||r())&&e.emit(`action:resubmit`,o)}});if(!i)continue;if(i.handled){let e=i.persistMessage!==!1;return{text:i.displayText===void 0?``:i.displayText,persist:e,resubmit:i.resubmit}}}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Action handler error:`,e)}return{text:``,persist:!0}},syncFromMetadata:n}},pu=e=>{if(!e)return null;try{return JSON.parse(e)}catch(e){return typeof console<`u`&&console.error(`[AgentWidget] Failed to parse stored state:`,e),null}},mu=e=>e.map(e=>({...e,streaming:!1})),hu=e=>e.map(e=>({...e,status:`complete`})),gu=e=>`${e??`persona-`}state`,_u=(e=gu())=>{let t=()=>typeof window>`u`||!window.localStorage?null:window.localStorage;return{load:()=>{let n=t();return n?pu(n.getItem(e)):null},save:n=>{let r=t();if(r)try{let t={...n,messages:n.messages?mu(n.messages):void 0,artifacts:n.artifacts?hu(n.artifacts):void 0};r.setItem(e,JSON.stringify(t))}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Failed to persist state:`,e)}},clear:()=>{let n=t();if(n)try{n.removeItem(e)}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Failed to clear stored state:`,e)}}}},vu=e=>{let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619)>>>0;return t.toString(16).padStart(8,`0`)},yu=async e=>{let t=globalThis.crypto?.subtle;if(t)try{let n=await t.digest(`SHA-256`,new TextEncoder().encode(e));return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}catch{}return vu(e)},bu=async(e,t)=>{let n=await yu(e);return{storageKey:`${t}visitor:${n}`,leaseKey:`${t}visitor-init-lock:${n}`,lockName:`persona-visitor-init:${await yu(`${e}\0${t}`)}`}},xu=(e,t,n)=>{let r=``,i=``,a=``,o=!1,s=!1,c=0,l=null,u=null,d=/* @__PURE__ */ new Set,f=()=>{if(n||o)return null;try{return typeof window>`u`||!window.localStorage?null:window.localStorage}catch{return o=!0,null}},p=()=>{let e=f();if(!e)return l;try{return e.getItem(r)}catch{return o=!0,l}},m=(e,t)=>{if(s||e===l)return;let n=l;l=e,c+=1;let r={previousToken:n,token:e,source:t,revision:c};for(let e of d)e(r)},h=e=>{s||(e.key===null||e.key===r)&&m(e.key===null?null:e.newValue??null,`external`)},g=(async()=>{let o=await bu(e,t);r=o.storageKey,i=o.leaseKey,a=o.lockName,l=p(),!n&&typeof window<`u`&&window.addEventListener(`storage`,h)})(),_=e=>new Promise(t=>setTimeout(t,e)),v=()=>{let e=f();if(!e)return null;try{let t=e.getItem(i);if(!t)return null;let n=JSON.parse(t);return typeof n?.expiresAt==`number`&&typeof n?.ownerNonce==`string`?n:null}catch{return null}},y=e=>{let t=f();if(t)try{v()?.ownerNonce===e&&t.removeItem(i)}catch{}},b=/* @__PURE__ */ new Set,x=e=>s?Promise.reject(/* @__PURE__ */ Error(`Visitor store destroyed before its first init could start`)):e(),S=e=>new Promise(t=>{let n=setTimeout(r,e);function r(){clearTimeout(n),b.delete(r),window.removeEventListener(`storage`,a),t()}function a(e){(e.key===null||e.key===i)&&r()}b.add(r),window.addEventListener(`storage`,a)}),C=async e=>{let t=`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,n=Date.now()+15e3;for(;!s&&Date.now()<n;){let n=f();if(!n)break;let r=Date.now(),a=v();if(a&&a.expiresAt>r&&a.ownerNonce!==t)await S(Math.min(a.expiresAt-r,500));else{try{n.setItem(i,JSON.stringify({ownerNonce:t,expiresAt:r+1e4}))}catch{o=!0;break}if(await _(20+Math.random()*40),v()?.ownerNonce!==t)await S(500);else{u=t;try{return await x(e)}finally{u=null,y(t)}}}}return x(e)};return{ready:g,async get(){return await g,m(p(),`external`),l},async set(e){await g;let t=f();if(t)try{t.setItem(r,e)}catch{o=!0}m(e,`local`)},async clear(){await g;let e=f();if(e)try{e.removeItem(r)}catch{o=!0}m(null,`local`)},revision(){return c},subscribe(e){return d.add(e),()=>{d.delete(e)}},async withFirstInitLock(e){await g;let t=globalThis.navigator?.locks;return t?.request?t.request(a,()=>x(e)):f()?C(e):x(e)},matches(r,i,a){return r===e&&i===t&&a===n},destroy(){s=!0,d.clear(),typeof window<`u`&&window.removeEventListener(`storage`,h),u&&y(u);for(let e of[...b])e()}}},{setLoader:Su,load:Cu}=v({fallbackImport:()=>import(`./chunk-6C23QQdP.js`)}),wu=Cu,{setLoader:Tu,load:Eu,provide:Du,getSync:Ou}=v({fallbackImport:()=>import(`./chunk-Csr59G5V.js`)}),ku=Eu,Au=Ou;function ju(){return null}const Mu=[`Very dissatisfied`,`Dissatisfied`,`Neutral`,`Satisfied`,`Very satisfied`];function Nu(e,t,n){let{onSubmit:r,onDismiss:i,title:a=t===`csat`?`How satisfied are you?`:`How likely are you to recommend us?`,subtitle:o=t===`csat`?`Please rate your experience`:`On a scale of 0 to 10`,commentPlaceholder:s=t===`csat`?`Share your thoughts (optional)...`:`What could we do better? (optional)...`,submitText:c=`Submit`,skipText:l=`Skip`,showComment:u=!0}=e,d=document.createElement(`div`);d.className=`persona-feedback-container persona-feedback-${t}`,d.setAttribute(`role`,`dialog`),d.setAttribute(`aria-label`,t===`csat`?`Customer satisfaction feedback`:`Net Promoter Score feedback`);let f=null,p=document.createElement(`div`);p.className=`persona-feedback-content`;let m=document.createElement(`div`);m.className=`persona-feedback-header`;let h=document.createElement(`h3`);h.className=`persona-feedback-title`,h.textContent=a,m.appendChild(h);let g=document.createElement(`p`);g.className=`persona-feedback-subtitle`,g.textContent=o,m.appendChild(g),p.appendChild(m);let{element:_,attentionTarget:v}=n(e=>{f=e});p.appendChild(_);let y=null;if(u){let e=document.createElement(`div`);e.className=`persona-feedback-comment-container`,y=document.createElement(`textarea`),y.className=`persona-feedback-comment`,y.placeholder=s,y.rows=3,y.setAttribute(`aria-label`,`Additional comments`),e.appendChild(y),p.appendChild(e)}let b=document.createElement(`div`);b.className=`persona-feedback-actions`;let x=document.createElement(`button`);x.type=`button`,x.className=`persona-feedback-btn persona-feedback-btn-skip`,x.textContent=l,x.addEventListener(`click`,()=>{i?.(),d.remove()});let S=document.createElement(`button`);return S.type=`button`,S.className=`persona-feedback-btn persona-feedback-btn-submit`,S.textContent=c,S.addEventListener(`click`,async()=>{if(f===null)v.classList.add(`persona-feedback-shake`),setTimeout(()=>v.classList.remove(`persona-feedback-shake`),500);else{S.disabled=!0,S.textContent=`Submitting...`;try{let e=y?.value.trim()||void 0;await r(f,e),d.remove()}catch(e){S.disabled=!1,S.textContent=c,console.error(`[${t.toUpperCase()} Feedback] Failed to submit:`,e)}}}),b.appendChild(x),b.appendChild(S),p.appendChild(b),d.appendChild(p),d}function Pu(e){return Nu(e,`csat`,t=>{let{ratingLabels:n=Mu}=e,r=document.createElement(`div`);r.className=`persona-feedback-rating persona-feedback-rating-csat`,r.setAttribute(`role`,`radiogroup`),r.setAttribute(`aria-label`,`Satisfaction rating from 1 to 5`);let i=[];for(let e=1;e<=5;e++){let a=document.createElement(`button`);a.type=`button`,a.className=`persona-feedback-rating-btn persona-feedback-star-btn`,a.setAttribute(`role`,`radio`),a.setAttribute(`aria-checked`,`false`),a.setAttribute(`aria-label`,`${e} star${e>1?`s`:``}: ${n[e-1]}`),a.title=n[e-1],a.dataset.rating=String(e),a.innerHTML=`
|
|
19
19
|
<svg class="persona-feedback-star" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
20
20
|
<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon>
|
|
21
21
|
</svg>
|
|
22
|
-
`,a.addEventListener(`click`,()=>{t(e),i.forEach((t,n)=>{let r=n<e;t.classList.toggle(`selected`,r),t.setAttribute(`aria-checked`,n===e-1?`true`:`false`)})}),i.push(a),r.appendChild(a)}return{element:r,attentionTarget:r}})}function Du(e){return Tu(e,`nps`,t=>{let{lowLabel:n=`Not likely`,highLabel:r=`Very likely`}=e,i=document.createElement(`div`);i.className=`persona-feedback-rating persona-feedback-rating-nps`,i.setAttribute(`role`,`radiogroup`),i.setAttribute(`aria-label`,`Likelihood rating from 0 to 10`);let a=document.createElement(`div`);a.className=`persona-feedback-labels`;let o=document.createElement(`span`);o.className=`persona-feedback-label-low`,o.textContent=n;let s=document.createElement(`span`);s.className=`persona-feedback-label-high`,s.textContent=r,a.appendChild(o),a.appendChild(s);let c=document.createElement(`div`);c.className=`persona-feedback-numbers`;let l=[];for(let e=0;e<=10;e++){let n=document.createElement(`button`);n.type=`button`,n.className=`persona-feedback-rating-btn persona-feedback-number-btn`,n.setAttribute(`role`,`radio`),n.setAttribute(`aria-checked`,`false`),n.setAttribute(`aria-label`,`Rating ${e} out of 10`),n.textContent=String(e),n.dataset.rating=String(e),e<=6?n.classList.add(`persona-feedback-detractor`):e<=8?n.classList.add(`persona-feedback-passive`):n.classList.add(`persona-feedback-promoter`),n.addEventListener(`click`,()=>{t(e),l.forEach((t,n)=>{t.classList.toggle(`selected`,n===e),t.setAttribute(`aria-checked`,n===e?`true`:`false`)})}),l.push(n),c.appendChild(n)}return i.appendChild(a),i.appendChild(c),{element:i,attentionTarget:c}})}const Ou=`persona-chat-history`,ku=`data-persona-composer-reason`,Au=`data-persona-composer-notice`,ju={"image/png":`png`,"image/jpeg":`jpg`,"image/jpg":`jpg`,"image/gif":`gif`,"image/webp":`webp`,"image/svg+xml":`svg`,"image/bmp":`bmp`,"image/tiff":`tiff`};function Mu(e){if(!e)return[];let t=[],n=Array.from(e.items??[]);for(let e of n){if(e.kind!==`file`||!e.type.startsWith(`image/`))continue;let n=e.getAsFile();if(!n)continue;if(n.name){t.push(n);continue}let r=ju[n.type]??`png`;t.push(new File([n],`clipboard-image-${Date.now()}.${r}`,{type:n.type,lastModified:Date.now()}))}if(t.length>0)return t;for(let n of Array.from(e.files??[]))n.type.startsWith(`image/`)&&t.push(n);return t}function Nu(e){if(!e)return!1;let t=e.types;return t?typeof t.contains==`function`?t.contains(`Files`):Array.from(t).includes(`Files`):!1}function Pu(e){if(!e)return null;let t=e===!0?{}:e;return{storage:t.storage??`session`,keyPrefix:t.keyPrefix??`persona-`,persist:{openState:t.persist?.openState??!0,voiceState:t.persist?.voiceState??!0,focusInput:t.persist?.focusInput??!0},clearOnChatClear:t.clearOnChatClear??!0}}function Fu(e){try{let t=e===`local`?localStorage:sessionStorage,n=`__persist_test__`;return t.setItem(n,`1`),t.removeItem(n),t}catch{return null}}const Iu=e=>!e||typeof e!=`object`?{}:{...e},Lu=e=>e.filter(e=>!gn(e)).map(e=>({...e,streaming:!1})),Ru=(e,t,n)=>{let r=e?.markdown?He(e.markdown):null,i=Ie(e?.sanitize);e?.postprocessMessage&&i&&e?.sanitize===void 0&&console.warn(`[Persona] postprocessMessage HTML is sanitized: unsupported tags/attributes are stripped. Provide a custom sanitize function to allow them, or sanitize: false only for trusted HTML.`);let a=!1,o=a=>{let o=a.text??``,s=a.message.rawContent??null;if(t){let e=t.process({text:o,raw:s??o,message:a.message,streaming:a.streaming});e!==null&&(o=e.text,e.persist||(a.message.__skipPersist=!0),e.resubmit&&!a.streaming&&n&&n())}let c=Ne()!==null,l;if(e?.postprocessMessage){let t=e.postprocessMessage({...a,text:o,raw:s??a.text??``});l=i?i(t):t}else if(r){let e=Me(o,a.streaming),t=r(e);l=i&&c?i(t):t}else l=je(o);return l};return e=>{try{return o(e)}catch(t){return a||(a=!0,console.error(`[Persona] markdown rendering failed; falling back to plain text:`,t)),je(e.text??``)}}};function zu(e){let t=k(`div`,`persona-attachment-drop-overlay`);e?.background&&t.style.setProperty(`--persona-drop-overlay-bg`,e.background),e?.backdropBlur!==void 0&&t.style.setProperty(`--persona-drop-overlay-blur`,e.backdropBlur),e?.border&&t.style.setProperty(`--persona-drop-overlay-border`,e.border),e?.borderRadius&&t.style.setProperty(`--persona-drop-overlay-radius`,e.borderRadius),e?.inset&&t.style.setProperty(`--persona-drop-overlay-inset`,e.inset),e?.labelSize&&t.style.setProperty(`--persona-drop-overlay-label-size`,e.labelSize),e?.labelColor&&t.style.setProperty(`--persona-drop-overlay-label-color`,e.labelColor);let n=e?.iconName??`upload`,r=e?.iconSize??`48px`,i=e?.iconColor??`rgba(59, 130, 246, 0.6)`,a=e?.iconStrokeWidth??.5,o=T(n,r,i,a);if(o&&t.appendChild(o),e?.label){let n=k(`span`,`persona-drop-overlay-label`);n.textContent=e.label,t.appendChild(n)}return t}const Bu=(e,t)=>{let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t?{...t,...r}:r}return n},Vu=e=>e.reduce((e,t)=>({blocks:[...e.blocks,...t.blocks],contentParts:[...e.contentParts,...t.contentParts],context:Bu(e.context,t.context)}),{blocks:[],contentParts:[],context:{}}),Hu=(e,t,n)=>{if(e==null)throw Error(`createAgentExperience: mount must be a non-null HTMLElement (e.g. pass document.getElementById("my-root") after the node exists).`);e.id&&!e.getAttribute(`data-persona-instance`)&&e.setAttribute(`data-persona-instance`,e.id);let r=e.getAttribute(`data-persona-instance`)||`persona-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`;e.setAttribute(`data-persona-instance`,r),e.hasAttribute(`data-persona-root`)||e.setAttribute(`data-persona-root`,`true`);let a=ve(t),o=kn(e),s=n?.diagnostics??Yl(t),c=null,l,u,d=()=>{let t=Zn();if(l??=t?.createLoadingLabelLifecycle(e,()=>a),c)return c;let n=In();return n&&t?(n.initActivityUi(T,t,An),u=n.createActivityLifecycle(e,()=>a,f,p,yc,Hu),c=n):null},f=/* @__PURE__ */ new Set,p=/* @__PURE__ */ new Set,m=/* @__PURE__ */ new Map,h=()=>{ie({delayMs:a.tooltip?.delayMs??400,skipDelayMs:a.tooltip?.skipDelayMs??300})};h();let g=a.features;a=kl(a);let _=Il.getForInstance(a.plugins),v=Po(e),y=[],w=!1,oe=Xc(()=>a),se=null,ce=null,le=null,ue=!1,de=null,fe=(e,t)=>{se=e,e.initApprovalUi({webMcpToolTitle:st,popover:t,icons:{render:T,node:b}});let n=e.createBuiltInApprovalPlugin(m);ce=n.plugin,le=n.teardown},pe=()=>{if(se)return se;let e=nl(),t=Jn();return e&&t?(fe(e,t),e):(Promise.all([tl(),qn()]).then(([e,t])=>{ue||se||(fe(e,t),de?.())}).catch(()=>{}),null)},_e=!1,be=!1,Ce=null,we=(e,t,n,r)=>{if(!e.querySelector(`[data-tv-form]`))return;let i=Fl();i?i.enhanceWithForms(e,t,n,r):Pl().then(()=>{_e||be||!Ce||(be=!0,Ce())}).catch(()=>{})},D=Zl(Object.freeze({instanceId:r})),De=a.persistState===!1?null:a.storageAdapter??lu(cu(typeof a.persistState==`object`?a.persistState.keyPrefix:void 0)),Oe=!!a.clientToken&&typeof a.reconnectStream!=`function`,Me={},Ne=null,Ie,ze=new Promise(e=>{Ie=e}),He=()=>{},Ue=new Promise(e=>{He=e}),We,O=!1,Ke=e=>{if(a.onStateLoaded)try{let t=a.onStateLoaded(e);if(t&&typeof t==`object`&&`state`in t){let{state:e,open:n}=t;return n&&(O=!0),e}return t}catch(e){typeof console<`u`&&console.error(`[AgentWidget] onStateLoaded hook failed:`,e)}return e};if(De?.load)try{let e=De.load();if(e&&typeof e.then==`function`)Ne=e.then(e=>Ke(e??{messages:[],metadata:{}}));else{let t=Ke(e??{messages:[],metadata:{}});t.metadata&&(Me=Iu(t.metadata)),t.messages?.length&&(a={...a,initialMessages:t.messages}),t.artifacts?.length&&(a={...a,initialArtifacts:t.artifacts,initialSelectedArtifactId:t.selectedArtifactId??null}),We=t.draft}}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Failed to load stored state:`,e)}else if(a.onStateLoaded)try{let e=Ke({messages:[],metadata:{}});e.messages?.length&&(a={...a,initialMessages:e.messages})}catch(e){typeof console<`u`&&console.error(`[AgentWidget] onStateLoaded hook failed:`,e)}Ne||Ie();let qe=()=>Me,rt=e=>{Me=e({...Me})??{},Ol()},it=a.actionParsers&&a.actionParsers.length?a.actionParsers:[eu],at=a.actionHandlers&&a.actionHandlers.length?a.actionHandlers:[nu.message,nu.messageAndClick],ot=iu({parsers:it,handlers:at,getSessionMetadata:qe,updateSessionMetadata:rt,emit:D.emit,captureResubmitGuard:()=>{let e=Ct;return()=>Dt(e)},documentRef:typeof document<`u`?document:null});ot.syncFromMetadata();let A=a.launcher?.enabled??!0,lt=a.launcher?.autoExpand??!1,ut=a.autoFocusInput??!1,dt=lt,yt=A,bt=a.layout?.header?.layout,St=!1,j=()=>ts(a),M=()=>A||j(),N=j()?!1:!A||lt,Ct=0,wt=!1,Dt=e=>!wt&&!yl&&e===Ct,At=()=>{Ct++,Mt=!1,Nt!==null&&clearTimeout(Nt),Nt=null},jt=()=>{let e=Ct;Dt(e)&&setTimeout(()=>{Dt(e)&&!Z.isStreaming()&&Z.continueConversation()},100)},Mt=!1,Nt=null,Pt=()=>{Dt(Ct)&&(Mt=!0,Nt&&clearTimeout(Nt),Nt=setTimeout(()=>{Mt&&=(typeof console<`u`&&console.warn(`[AgentWidget] Resubmit requested but no injection occurred within 10s`),!1)},1e4))},It=Ru(a,ot,Pt),Lt=a.features?.showReasoning??!0,Rt=a.features?.showToolCalls??!0,zt=a.features?.showEventStreamToggle??!1,rn=a.features?.scrollBehavior??{},an=()=>(typeof a.persistState==`object`?a.persistState?.keyPrefix:void 0)??`persona-`,gn=`${an()}event-stream`,vn=null,bn=a.features?.eventStream?.maxEvents??2e3,Sn=null,Cn=null,wn=null,Tn=!1,En=null,Dn=!1,On=null,jn=0,Mn=(e,t)=>{Sn?.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:e,timestamp:Date.now(),payload:JSON.stringify(t)})},Nn=(e,t)=>{Cn?.processEvent(e,t),Sn?Mn(e,t):wn&&(wn.length>=bn&&wn.shift(),wn.push({type:e,payload:t}))},Pn=()=>{!Sn&&zt&&(wn??=[],al().then(e=>{if(Tn||Sn||!zt)return;vn=new e.EventStreamStore(gn),Sn=new e.EventStreamBuffer(bn,vn),Cn??=new e.ThroughputTracker,vn.open().then(()=>Sn?.restore()).catch(e=>{a.debug&&console.warn(`[AgentWidget] IndexedDB not available for event stream:`,e)});let t=wn??[];wn=null;for(let e of t)Cn?.processEvent(e.type,e.payload),Mn(e.type,e.payload)}).catch(()=>{}))};zt&&Pn();let Fn=!1,Ln=null,Rn=()=>{},zn=()=>{},Bn=()=>{},Vn=()=>{},Hn=()=>{},Un=()=>Dn||Fn&&Ln===`panel`,Wn={onCopy:e=>{D.emit(`message:copy`,e),Z?.isClientTokenMode()&&e.role!==`operator`&&Z.submitMessageFeedback(e.id,`copy`).catch(e=>{a.debug&&console.error(`[AgentWidget] Failed to submit copy feedback:`,e)}),a.messageActions?.onCopy?.(e)},onFeedback:e=>{D.emit(`message:feedback`,e),Z?.isClientTokenMode()&&Z.submitMessageFeedback(e.messageId,e.type).catch(e=>{a.debug&&console.error(`[AgentWidget] Failed to submit feedback:`,e)}),a.messageActions?.onFeedback?.(e)}};a.statusIndicator;let Gn=(e,t=a.statusIndicator??{})=>e===`idle`?t.idleText??Ge.idle:e===`connecting`?t.connectingText??Ge.connecting:e===`connected`?t.connectedText??Ge.connected:e===`error`?t.errorText??Ge.error:e===`paused`?t.pausedText??Ge.paused:e===`resuming`?t.resumingText??Ge.resuming:Ge[e];function Kn(e,t,n,r){if(!j()&&(n.mode===`transient`||e.classList.contains(`persona-mb-2`))&&(re(e,ir,n),E(e,n,r)),!(e.hasAttribute(ku)||e.hasAttribute(Au))){if(r===`idle`&&n.idleLink){e.textContent=``;let r=document.createElement(`a`);r.href=n.idleLink,r.target=`_blank`,r.rel=`noopener noreferrer`,r.textContent=t,r.style.color=`inherit`,r.style.textDecoration=`none`,e.appendChild(r)}else e.textContent=t}}let Yn=Kc({config:a,showClose:M()}),{wrapper:P,panel:F,pillRoot:Xn}=Yn.shell,I=Yn.panelElements,{container:L,body:R,messagesWrapper:z,starterSuggestions:Qn,transcriptSuggestions:tr,suggestions:nr,textarea:B,sendButton:rr,composerForm:ir,statusText:V,welcomeHost:ar,welcomeIconHolder:or,greetingHost:sr,introKicker:cr,introTitle:lr,introSubtitle:ur,closeButton:dr,iconHolder:fr,headerTitle:gr,headerSubtitle:_r,header:vr,footer:H,actionsRow:xr}=I,Sr=I.leftActions,Cr=I.rightActions,Er=I.sendButtonWrapper,Or=I.setSendButtonMode,U=I.micButton,Fr=I.micButtonWrapper,Ir=I.attachmentButton,Rr=I.attachmentButtonWrapper,Br=I.attachmentInput,Vr=I.attachmentPreviewsContainer;L.classList.add(`persona-relative`),R.classList.add(`persona-relative`);let Hr=()=>a.features?.scrollToBottom?.enabled!==!1,Ur=()=>rn.mode??`anchor-top`,Gr=()=>Ur()===`follow`||Ur()===`anchor-top`&&rl,Kr=()=>rn.anchorTopOffset??16,qr=()=>rn.restorePosition??`bottom`,Jr=()=>rn.pauseOnInteraction===!0,Yr=()=>rn.showActivityWhilePinned!==!1,Xr=()=>rn.announce===!0,Zr=()=>rn.scrollbar??`on-scroll`,Qr=Nr(T,`transcript`,R),$r=Qr.element;L.appendChild($r);let ei=()=>R.parentElement??L,ti=k(`div`,`persona-panel-suggestions`);ti.setAttribute(`data-persona-panel-suggestions`,``),ti.hidden=!0,L.appendChild(ti);let ni=k(`div`,`persona-panel-suggestions-fade`);ni.setAttribute(`aria-hidden`,`true`),ni.hidden=!0,L.appendChild(ni);let ri=k(`div`,`persona-stream-anchor-spacer`);ri.setAttribute(`aria-hidden`,`true`),ri.setAttribute(`data-persona-anchor-spacer`,``),ri.style.flexShrink=`0`,ri.style.pointerEvents=`none`,ri.style.height=`0px`,ri.style.display=`none`,R.appendChild(ri);let ii=k(`div`,`persona-sr-only`);ii.setAttribute(`aria-live`,`polite`),ii.setAttribute(`aria-atomic`,`true`),ii.setAttribute(`role`,`status`),ii.setAttribute(`data-persona-live-region`,``),Object.assign(ii.style,{position:`absolute`,width:`1px`,height:`1px`,margin:`-1px`,padding:`0`,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(50%)`,whiteSpace:`nowrap`,border:`0`}),L.appendChild(ii);let ai=null,oi=null,si=e=>{Xr()&&e&&(oi=e,ai===null&&(ai=setTimeout(()=>{ai=null,oi&&Xr()&&(ii.textContent=oi),oi=null},400)))},ci=()=>{let t=e.ownerDocument.defaultView??window;return(a.launcher?.mobileFullscreen??!0)&&t.innerWidth<=(a.launcher?.mobileBreakpoint??640)&&(A||es(a))||a.launcher?.fullHeight===!0&&!a.launcher.sidebarMode&&!es(a)},li=()=>Sc(a,ci()),di=`empty`,fi=0,pi=()=>fi||parseFloat(e.style.getPropertyValue(`--persona-composer-lift`))||0,mi=(e,t=R)=>{let n=0,r=e;for(;r&&r!==t;)n+=r.offsetTop,r=r.offsetParent;return n},hi=()=>{let e=H.style.display===`none`,t=ei();if(j()){let n=e||!H.offsetHeight?0:Math.max(0,t.getBoundingClientRect().bottom-H.getBoundingClientRect().top),r=ti.hidden?0:Math.max(0,t.getBoundingClientRect().bottom-ti.getBoundingClientRect().top);$r.style.bottom=`${Math.max(n,r)+16}px`;return}let n=e?0:H.offsetHeight;if(n>0&&So(a,j())===`overlay`){let e=1/0;for(let n of H.querySelectorAll(`:scope > *, [data-persona-composer-header] > *`))!n.hidden&&n.offsetHeight&&getComputedStyle(n).visibility!==`hidden`&&(e=Math.min(e,mi(n,t)));e<1/0&&(n-=e-mi(H,t))}$r.style.bottom=`${n+(e?0:pi())+16}px`};hi();let gi=()=>{if(!j())return;let e=H.style.display===`none`?0:H.offsetHeight;e>0?P.style.setProperty(`--persona-measured-pill-area-height`,`${e+8}px`):P.style.removeProperty(`--persona-measured-pill-area-height`),P.style.setProperty(`--persona-pill-bottom`,a.launcher?.composerBar?.bottomOffset??`16px`)},_i=()=>{ta||(H.style.marginBottom=fi>0?`${fi}px`:``)},vi=()=>{let t=So(a,j()),n=li();e.setAttribute(`data-persona-welcome-fullscreen`,String(ci())),e.setAttribute(`data-persona-welcome-layout`,n.layout??`top`),e.setAttribute(`data-persona-welcome-layout-explicit`,a.welcome?.layout??``),e.setAttribute(`data-persona-welcome-anchor`,n.anchor??`bottom`);let r=H.style.display===`none`?0:H.offsetHeight,i=n.anchor===`center`&&di===`empty`?Co(n.anchorComposerTop)??Co(`44%`):null,o=i!==null&&n.layout===`centered`&&a.welcome?.anchor===void 0&&a.welcome?.anchorComposerTop===void 0,s=o?getComputedStyle(R):null,c=parseFloat(e.style.getPropertyValue(`--persona-composer-overlay-height`))||0,l=parseFloat(e.style.getPropertyValue(`--persona-composer-lift`))||0,u=Math.max(0,(parseFloat(s?.paddingBottom??``)||0)-(t===`overlay`?c+l:0)),d=o?R.getBoundingClientRect().top-L.getBoundingClientRect().top:0,f=!o||ar.hidden?0:(ar.querySelector(`[data-persona-welcome-plugin]`)??ar).offsetHeight,p=i===null||j()?0:o?Math.max(0,Math.round((L.clientHeight-d-f-u-r)/2)):wo({columnHeight:L.clientHeight,footerHeight:r,fraction:i});e.style.setProperty(`--persona-composer-overlay-height`,`${r}px`),e.style.setProperty(`--persona-composer-lift`,`${t===`overlay`?p:0}px`),fi=t===`block`?p:0,_i(),gi(),hi(),Es()};Qr.update(a,!1);let W=null,G=null,K=aa();K.subscribe(e=>{try{L.dispatchEvent(new CustomEvent(`persona:composer:state`,{detail:{...e,instanceId:r},bubbles:!0,composed:!0}))}catch{}});let yi=()=>{K.setText(B?.value??``)},bi=()=>{K.setMentionRefs(G?.getMentionRefs()??[])},xi=e=>({id:e.id,name:e.file.name,mimeType:e.file.type,size:e.file.size,status:e.status,progress:e.progress,error:e.error}),Si=()=>({allowedTypes:a.attachments?.allowedTypes,maxFileSize:a.attachments?.maxFileSize,maxFiles:a.attachments?.maxFiles,adapter:a.attachments?.adapter,onFileRejected:a.attachments?.onFileRejected,instanceId:r,widgetConfig:a,preview:a.attachments?.preview,renderAttachmentPreview:Ci}),Ci=e=>{for(let t of Il.getForInstance(a.plugins))try{let n=t.renderAttachmentPreview?.(e);if(n)return n}catch(e){console.error(`[AgentWidget] plugin ${t.id} attachment preview failed:`,e)}return null},wi=()=>{let e=na.fromConfig(a.attachments,t=>{W===e&&Ti(t)});return e.updateConfig(Si()),e},Ti=e=>{let t=Object.freeze(e.map(xi));K.setAttachments(t);try{a.attachments?.onChange?.(t)}catch(e){console.error(`[AgentWidget] attachments.onChange failed:`,e)}Sd()};K.setSelectedModelId(a.composer?.selectedModelId);let Ei=()=>a.composer?.modes??[],Mi=()=>qt(Ei(),a.composer?.modeGroups,!!a.future?.v5Defaults);{let e=Kt(a.composer?.defaultActiveModeIds??[],Ei());e.length&&K.setActiveModeIds(e)}function Fi(e){if(K.getState().selectedModelId!==e){K.setSelectedModelId(e),Ri?.repaint();try{a.composer?.onModelChange?.(e)}catch(e){console.error(`[AgentWidget] composer.onModelChange failed:`,e)}}}function Ii(e){K.setActiveModeIds(e),zi?.render(e,Mi()),Ri?.repaint(),Da?.resolve(),Xd(),La()}function Li(t){let n=e.getRootNode(),r=n instanceof ShadowRoot?n.activeElement:e.ownerDocument.activeElement,i=Gt(t),o=Da?.getOverflowMenu(),s=r&&(r.closest(`[data-persona-composer-action]`)?.getAttribute(`data-persona-composer-action`)===i||o?.trigger.contains(r));if(Ii(Jt(K.getState().activeModeIds,t,Ei(),a.composer?.modeGroups)),s&&!r.isConnected){let t=Array.from(e.querySelectorAll(`[data-persona-composer-action]`)).find(e=>e.getAttribute(`data-persona-composer-action`)===i)?.querySelector(`button`)??Da?.getOverflowMenu()?.triggerButton;t?.isConnected&&t.focus()}}let Ri=null,zi=null,Bi=null;function Vi(e){K.setQuote(e),Bi?.render(K.getState().quote),La(),Ll()}let Hi=!1;function Ui(){let e=a.composer?.streamingSubmitBehavior??`block`;return e===`interrupt`?a.clientToken?`interrupt`:(!Hi&&a.debug===!0&&(Hi=!0,typeof console<`u`&&console.warn(`[persona] composer.streamingSubmitBehavior "interrupt" requires the client-token transport; falling back to "block".`)),`block`):e}let Wi=null;function Gi(e){K.setPendingSubmission(e),Wi?.render(K.getState().pendingSubmission),La()}let Ki=()=>(Ri??=Jn().createComposerCoreControls({getConfig:()=>a,getState:()=>K.getState(),getModes:Ei,getChipModes:Mi,hasComposerPlugin:()=>_.some(e=>e.renderComposer),renderIcon:T,onModelChange:Fi,onModeChange:Li}),Ri.collect()),qi=null,Yi=_.find(e=>e.renderHeader);if(Yi?.renderHeader){let e=Yi.renderHeader({config:a,defaultRenderer:()=>{let e=Ss({config:a,showClose:M()});return Cs(L,e,a),e.header},onClose:()=>gd(!1,`user`)});if(e){let t=vr;t&&(t.replaceWith(e),vr=e,Yn.header.element=e)}}let Xi=()=>{En&&(R.style.display=`none`,H.parentNode?.insertBefore(En.element,H),En.update())},Qi=()=>{if(!Sn){Pn();return}if(fu.cancel(),Dn=!0,En?Xi():al().then(e=>{!En&&Dn&&Sn&&(En=e.createEventStreamView({scroll:{createScrollToLatest:Mr,createScrollToBottomControl:Nr},buffer:Sn,getFullHistory:()=>Sn.getAllFromStore(),onClose:()=>$i(),config:a,plugins:_,getThroughput:()=>Cn?.getMetric()??{status:`idle`},renderIconByName:T,getResponseActive:Kl,getConfig:()=>a,getViewVisible:()=>Dn}),Xi())}).catch(()=>{$i()}),q){q.style.boxShadow=`inset 0 0 0 1.5px ${ys.actionIconColor}`;let e=a.features?.eventStream?.classNames?.toggleButtonActive;e&&e.split(/\s+/).forEach(e=>e&&q.classList.add(e))}let e=()=>{if(!Dn)return;let t=Date.now();t-jn>=200&&(En?.update(),jn=t),On=requestAnimationFrame(e)};jn=0,On=requestAnimationFrame(e),au(),D.emit(`eventStream:opened`,{timestamp:Date.now()})},$i=()=>{if(Dn){if(Dn=!1,En&&(En.update(),En.element.remove()),R.style.display=``,q){q.style.boxShadow=``;let e=a.features?.eventStream?.classNames?.toggleButtonActive;e&&e.split(/\s+/).forEach(e=>e&&q.classList.remove(e))}On!==null&&(cancelAnimationFrame(On),On=null),au(),D.emit(`eventStream:closed`,{timestamp:Date.now()})}},q=null;if(zt){let e=a.features?.eventStream?.classNames,t=`persona-inline-flex persona-items-center persona-justify-center persona-rounded-full hover:persona-opacity-80 persona-cursor-pointer persona-border-none persona-bg-transparent persona-p-1`+(e?.toggleButton?` `+e.toggleButton:``);q=k(`button`,t),q.style.width=`28px`,q.style.height=`28px`,q.style.color=ys.actionIconColor,q.type=`button`,q.setAttribute(`aria-label`,`Event Stream`),q.title=`Event Stream`;let n=b(_n,`18px`,`currentColor`,1.5);n&&q.appendChild(n);let r=I.clearChatButtonWrapper,i=I.closeButtonWrapper,o=r||i;o&&o.parentNode===vr?vr.insertBefore(q,o):vr.appendChild(q),q.addEventListener(`click`,()=>{Dn?$i():Qi()})}let ea=e=>{let t=a.attachments;if(!t?.enabled)return;let n=e.querySelector(`[data-persona-composer-attachment-previews]`)??e.querySelector(`.persona-attachment-previews`);if(!n){n=k(`div`,`persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2`),n.setAttribute(`data-persona-composer-attachment-previews`,``),n.style.display=`none`;let t=e.querySelector(`[data-persona-composer-form]`);t?.parentNode?t.parentNode.insertBefore(n,t):e.insertBefore(n,e.firstChild)}if(!(e.querySelector(`[data-persona-composer-attachment-input]`)??e.querySelector(`input[type="file"]`))){let n=k(`input`);n.type=`file`,n.setAttribute(`data-persona-composer-attachment-input`,``),n.accept=(t.allowedTypes??Ft).join(`,`),n.multiple=(t.maxFiles??4)>1,n.style.display=`none`,n.setAttribute(`aria-label`,t.buttonTooltipText??`Attach files`),e.appendChild(n)}},ta=!1,ra=e=>{let t=_.find(e=>e.renderComposer);if(!t?.renderComposer)return null;let n=a.composer,r=w?Z.isStreaming():!1;return t.renderComposer({config:a,defaultRenderer:e,requestRender:()=>Xm(),storage:oe(t.id),onSubmit:e=>{Z&&!Z.isStreaming()&&Sp(e.trim(),{consumeDraft:!1})},streaming:r,disabled:r,openAttachmentPicker:()=>{vd()||Br?.click()},models:n?.models,selectedModelId:K.getState().selectedModelId??n?.selectedModelId,onModelChange:e=>Fi(e),onVoiceToggle:a.voiceRecognition?.enabled===!0?()=>{qi?.()}:void 0})},ia=ra(()=>As({config:a}).footer);ia&&(Yn.replaceComposer(ia),H=Yn.composer.footer,ta=!0);let J=null,oa=e=>{ir=e.form,B=e.input,Er=e.sendButton?e.sendButton.parentElement:null,e.sendButton&&(rr=e.sendButton),e.micButton&&(U=e.micButton,Fr=e.micButton.parentElement),e.found.status&&(V=e.found.status),e.found.suggestions&&(nr=e.found.suggestions),e.attachmentButton&&(Ir=e.attachmentButton,Rr=e.attachmentButton.parentElement),Br=e.attachmentInput??null,Vr=e.attachmentPreviews??null,e.found.actionsRow&&(xr=e.found.actionsRow),Sr=e.found.actionsStart,Cr=e.found.actionsEnd};function ya(){let e=B;if(!e)return;let t=a.composer?.inputAttributes,n=!t?.ariaLabel&&!(e instanceof HTMLTextAreaElement)?e.getAttribute(`aria-label`):null;C(e,t),n&&e.setAttribute(`aria-label`,n),ee(e,{submitKey:a.composer?.submitKey,insertNewlineOnTouchEnter:a.composer?.insertNewlineOnTouchEnter,coarsePointer:ge(e)}),ne(e,te(a.composer?.maxLines,j()?5:3))}let ba=e=>{J=sa(e,{debug:a.debug===!0}),J&&oa(J),ya()};ea(H),ba(H),yi();let Sa=xo(a,j());Sa&&(z.style.maxWidth=Sa,z.style.marginLeft=`auto`,z.style.marginRight=`auto`,z.style.width=`100%`,sr.style.maxWidth=Sa,sr.style.marginLeft=`auto`,sr.style.marginRight=`auto`,sr.style.width=`100%`,Qn.style.maxWidth=Sa,tr.style.maxWidth=Sa,tr.style.marginLeft=`auto`,tr.style.marginRight=`auto`,tr.style.width=`100%`);let Ca=()=>{let e=xo(a,j());if(e&&!j())for(let t of[ir,nr,Vr,V])t&&(t.style.maxWidth=e,t.style.marginLeft=`auto`,t.style.marginRight=`auto`,t.style.width=`100%`)};Ca();let wa=()=>{a.attachments?.enabled&&Br&&Vr&&(W?W.remountPreviews(Vr):(W=wi(),W.setPreviewsContainer(Vr)),J?.addListener(Br,`change`,e=>{let t=e.target;W?.handleFileSelect(t.files),t.value=``}),L.querySelector(`.persona-attachment-drop-overlay`)||L.appendChild(zu(a.attachments.dropOverlay)))};wa();let Ta=()=>G?.prefetch(),Ea=()=>{if(!a.contextMentions?.enabled||!B)return;let e=br();if(!e){let e=B;yr().then(()=>{!G&&B===e&&e.isConnected&&(Ea(),Da?.resolve())},()=>{});return}let t=J?.header??null,n=t?Zt(t):void 0;if(G=e.createContextMentionOrchestrator({deps:{loadContextMentions:ae,loadContextMentionsInline:Te,renderLucideIcon:T,createMentionButton:ye},config:a,textarea:B,anchor:ir??B,getMessages:()=>Z.getMessages(),liveRegionHost:L,chipRow:n}),G&&!n){let e=B;e.parentElement?.insertBefore(G.contextRow,e)}};Ea();let Da=null,Oa={getState:()=>K.getState(),getValue:()=>B?.value??``,setValue:e=>{B&&(B.value=e,B.dispatchEvent(new Event(`input`,{bubbles:!0})),yi())},submit:()=>{$t(J?.form??null)},openAttachmentPicker:()=>{vd()||Br?.click()},toggleVoice:()=>{qi?.()},requestRender:()=>Da?.resolve()},ka=()=>{let e=[];return(G?.affordanceButtons??[]).forEach((t,n)=>{e.push({id:`core:mention-${n}`,placement:`start`,order:Vt.mention+n,element:t,managed:!0})}),Rr&&e.push({id:`core:attachment`,placement:`start`,order:Vt.attachment,element:Rr}),Fr&&e.push({id:`core:mic`,placement:`end`,order:Vt.mic,element:Fr}),Er&&e.push({id:`core:send`,placement:`end`,order:Vt.send,element:Er}),e},Aa=!1,ja=()=>{if(Aa)return;let e=Jn();e&&(Da?.destroy(),Da=e.createComposerActionRenderer({deps:{renderLucideIcon:T,attachTooltip:Ee,hideTooltipFor:S},getBindings:()=>J,collect:()=>({builtIns:ka(),configActions:[...Ki(),...a.composer?.actions??[]],plugins:_,contributionContext:{config:a,getState:()=>K.getState(),requestRender:()=>Da?.resolve()},debug:a.debug===!0}),actionContext:Oa,getState:()=>K.getState(),getOverflow:()=>a.composer?.actionOverflow,reportError:(e,t)=>{typeof console<`u`&&console.error(`[AgentWidget] composer action "${t.actionId}" failed:`,e)}}),Da.resolve())};ja();let Ma=()=>{if(zi?.destroy(),zi=null,!Mi().length)return;let e=J?.header;if(!e)return;let t=Jn();t&&(zi=t.createComposerModeChipRow({renderIcon:T,row:Zt(e),onRemove:e=>Li(e),initialIds:K.getState().activeModeIds}),zi.render(K.getState().activeModeIds,Mi()))};Ma();let Na=()=>{Bi?.destroy(),Bi=null,Wi?.destroy(),Wi=null;let e=J?.header;e&&(Bi=ca({onDismiss:()=>Vi(void 0)}),e.appendChild(Bi.element),Bi.render(K.getState().quote),Ui()===`defer-one`&&(Wi=la({onEdit:()=>dp(),onRemove:()=>Gi(void 0)}),e.appendChild(Wi.element),Wi.render(K.getState().pendingSubmission)))};Na();let Pa=ha(),Fa=Ut({getSurface:()=>j()||!J?null:{form:J.form,input:J.input,start:J.actionsStart,end:J.actionsEnd,resizeInput:a.composer?.layout===`single-row`},onMeasure:()=>La()}),Ia=()=>{let e=J?.header?.querySelector(Qt);if(e)return e.childElementCount>0;let t=K.getState();return t.mentionRefs.length>0||Kt(t.activeModeIds,Mi()).length>0};function La(){let e=K.getState(),t=Fa.measure(),n=a.composer?.layout!==`single-row`&&a.composer?.attachmentLayout!==`single-row`||t,r=Fa.toolbarCrowded();H.hasAttribute(`data-persona-composer-crowded`)!==r&&H.toggleAttribute(`data-persona-composer-crowded`,r),H.hasAttribute(`data-persona-composer-fit`)!==n&&H.toggleAttribute(`data-persona-composer-fit`,n);let i=Pa.observe(n&&ga(B),e.text);H.toggleAttribute(`data-persona-has-attachments`,e.attachments.length>0),H.toggleAttribute(`data-persona-attachment-row-compact`,ma({text:e.text,wrapped:i,hasAttachments:!1,hasChips:Ia(),hasQuote:e.quote!==void 0,hasPendingSubmission:e.pendingSubmission!==void 0}));let o=ma({text:e.text,wrapped:i,hasAttachments:e.attachments.length>0,hasChips:Ia(),hasQuote:e.quote!==void 0,hasPendingSubmission:e.pendingSubmission!==void 0});H.hasAttribute(`data-persona-composer-compact`)!==o&&H.toggleAttribute(`data-persona-composer-compact`,o);let s=!o||!n||a.composer?.layout!==`single-row`;H.hasAttribute(`data-persona-composer-expanded`)!==s&&H.toggleAttribute(`data-persona-composer-expanded`,s)}function Ba(){a.composer?.layout===`single-row`&&!j()?H.setAttribute(`data-persona-composer-layout`,`single-row`):H.removeAttribute(`data-persona-composer-layout`),a.composer?.attachmentLayout?H.setAttribute(`data-persona-attachment-layout`,a.composer.attachmentLayout):H.removeAttribute(`data-persona-attachment-layout`),La()}Ba(),K.subscribe(()=>{Da?.sync(),Sd(),Cd(),La(),Ll()}),Cd();let Va=!1,Ha=e=>{if(Va||a.debug!==!0)return;let t=[`messages`,`composer`].filter(t=>e[t]);t.length&&(Va=!0,console.warn(`[persona] Ignoring deprecated layout.slots.${t.join(` / layout.slots.`)}. Use message render hooks or the renderComposer plugin hook.`))},Ua=/* @__PURE__ */ new Map,Wa=/* @__PURE__ */ new Map,Ga=e=>{let t=Ua.get(e);if(t)return t.element;let n=null;if(e===`body-top`&&(n=R.querySelector(`[data-persona-intro-card]`)),e===`messages`)return z;if(e===`composer`)return ir;if(e===`footer-top`&&(n=nr),e===`footer-bottom`&&(n=V),n?.parentNode){let t=document.createComment(`persona:${e}`);n.before(t),Ua.set(e,{anchor:t,element:n})}return n},Ka=Pr({config:()=>a,defaultContent:Ga,remove(e,t){if(e===`messages`||e===`composer`)return;t?.remove(),Wa.get(e)?.remove(),Wa.delete(e);let n=Ua.get(e);n&&(n.anchor.replaceWith(n.element),Ua.delete(e))},mount(e,t){if(e!==`messages`&&e!==`composer`&&!(t.parentNode&&P.contains(t))){if(e===`body-top`||e===`footer-top`||e===`footer-bottom`){let n=Ga(e),r=Ua.get(e);if(n&&r?.anchor.parentNode){r.anchor.after(t),n!==t&&!t.contains(n)&&n.remove();return}}switch(e){case`header-left`:vr.prepend(t);break;case`header-right`:vr.append(t);break;case`header-center`:{let e=vr.querySelector(`.persona-flex-col`);e?e.after(t):vr.append(t);break}case`body-top`:R.prepend(t);break;case`body-bottom`:R.append(t);break;case`footer-top`:H.prepend(t);break;case`footer-bottom`:H.append(t);break;case`transcript-top`:{let n=document.createElement(`div`);n.setAttribute(`data-persona-layout-slot`,e),n.style.cssText=`width:100%;min-width:0;max-width:var(--persona-content-max-width, 100%);margin-inline:auto;flex-shrink:0`,n.append(t),z.before(n),Wa.set(e,n);break}case`composer-start`:case`composer-end`:case`composer-before-send`:{let n=e===`composer-start`?Sr:e===`composer-end`?Cr:Er?.parentElement;if(!n)break;let r=document.createElement(`div`);r.setAttribute(`data-persona-layout-slot`,e),r.style.cssText=`display:flex;align-items:center;min-width:0;max-width:100%`,r.append(t),e===`composer-start`?n.prepend(r):e===`composer-before-send`?Er?.before(r):n.append(r),Wa.set(e,r);break}}}}});Ha(a.layout?.slots??{}),Ka.update();let qa=t=>{if(!a.onLinkClick||t.defaultPrevented||t.button!==0||t.ctrlKey||t.metaKey||t.shiftKey||t.altKey)return;let n=t.target;if(!(n instanceof Element))return;let r=n.closest(`a[href]`);if(!r||!e.contains(r)||r.hasAttribute(`download`)||r.closest(`[data-persona-root]`)!==e)return;let i=r.getAttribute(`target`)??r.ownerDocument.querySelector(`base[target]`)?.getAttribute(`target`);if(!(i&&i.toLowerCase()!==`_self`)&&/^(https?:|mailto:|tel:)/i.test(r.href))try{a.onLinkClick({url:r.href,anchor:r,originalEvent:t,preventDefault:()=>t.preventDefault()})}catch(e){console.error(`[AgentWidget] onLinkClick failed:`,e)}};e.addEventListener(`click`,qa),z.addEventListener(`click`,e=>{let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`button[data-persona-copy-tool-detail]`);n&&(e.preventDefault(),e.stopPropagation(),Et(n))}),z.addEventListener(`click`,e=>{let t=e.target;t instanceof Element&&t.closest(`.persona-approval-head[data-action="toggle-params"]`)&&(cl(),ou())},{capture:!0});let Ja=e=>{let t=e.target.closest(`button[data-expand-header="true"]`);t&&Ya(t)},Ya=e=>{let t=e.closest(`.persona-reasoning-bubble, .persona-tool-bubble, .persona-approval-bubble`);if(!t)return;let n=t.getAttribute(`data-message-id`);if(!n)return;cl(),ou();let r=Yc;r&&Wl();let i=r&&c?.holdScroll(t,R,r,wu,bu,ul,()=>Yc===r),o=e.getAttribute(`data-bubble-type`);if(t.classList.contains(`persona-activity-row`)){u?.manual(n);let e=t.parentElement?.closest(`[data-persona-tool-group]`);e?.dataset.messageId&&u?.manual(e.dataset.messageId)}if(o===`reasoning`||o===`tool`){let e=o===`reasoning`,r=e?p:f;r.has(n)?r.delete(n):r.add(n),c&&(e?c.updateReasoningBubbleUI:c.updateToolBubbleUI)(n,t,r,a)}else if(o===`approval`&&se){let e=((a.approval===!1?void 0:a.approval)?.detailsDisplay??`collapsed`)===`expanded`,r=m.get(n)??e;m.set(n,!r),se.updateApprovalDetailsUI(n,t,a,m)}i?.(),yc.delete(n)};z.addEventListener(`pointerdown`,e=>{e.target.closest(`button[data-expand-header="true"]`)&&(e.preventDefault(),Ja(e))}),z.addEventListener(`click`,e=>{e.detail===0&&e.target.closest(`.persona-activity-row`)&&Ja(e)}),z.addEventListener(`keydown`,e=>{let t=e.target;(e.key===`Enter`||e.key===` `)&&t.closest(`button[data-expand-header="true"]`)&&(e.preventDefault(),Ja(e))}),z.addEventListener(`copy`,e=>{let{clipboardData:t}=e;if(!t)return;let n=z.getRootNode(),r=typeof n.getSelection==`function`?n.getSelection():window.getSelection();if(!r||r.isCollapsed)return;let i=r.toString(),a=Io(i);a&&a!==i&&(t.setData(`text/plain`,a),e.preventDefault())});let Xa=/* @__PURE__ */ new Map,Za=/* @__PURE__ */ new Map,Qa,$a=0,eo=()=>{z.querySelectorAll(`.persona-tool-bubble[data-tool-call-id]`).forEach(e=>{e.toggleAttribute(`data-persona-revealed`,Za.has(e.dataset.messageId))})},to=()=>{window.clearTimeout(Qa),Qa=void 0,Za.forEach(e=>window.clearTimeout(e)),Za.clear(),eo()},no=null,ro=`idle`,io={idle:{icon:`volume-2`,label:`Read aloud`},loading:{icon:`loader-circle`,label:`Loading…`},playing:{icon:`pause`,label:`Pause`},paused:{icon:`play`,label:`Resume`}},ao=(e,t)=>{let{icon:n,label:r}=io[t];e.setAttribute(`aria-label`,r),e.title=r,e.setAttribute(`aria-pressed`,t===`idle`?`false`:`true`),e.classList.toggle(`persona-message-action-active`,t!==`idle`),e.classList.toggle(`persona-message-action-loading`,t===`loading`);let i=T(n,14,`currentColor`,2);i&&(e.innerHTML=``,e.appendChild(i))},oo=()=>{z.querySelectorAll(`[data-action="read-aloud"]`).forEach(e=>{let t=e.closest(`[data-actions-for]`)?.getAttribute(`data-actions-for`)??null;ao(e,t&&t===no?ro:`idle`)})};z.addEventListener(`click`,e=>{let t=e.target.closest(`.persona-message-action-btn[data-action]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.closest(`[data-actions-for]`);if(!n)return;let r=n.getAttribute(`data-actions-for`);if(!r)return;let i=t.getAttribute(`data-action`);if(i===`copy`){let e=Z.getMessages().find(e=>e.id===r);if(e&&Wn.onCopy){let n=e.content||``;navigator.clipboard.writeText(n).then(()=>{t.classList.add(`persona-message-action-success`);let e=b(yn,14,`currentColor`,2);e&&(t.innerHTML=``,t.appendChild(e)),setTimeout(()=>{t.classList.remove(`persona-message-action-success`);let e=b(xn,14,`currentColor`,2);e&&(t.innerHTML=``,t.appendChild(e))},2e3)}).catch(e=>{typeof console<`u`&&console.error(`[AgentWidget] Failed to copy message:`,e)}),Wn.onCopy(e)}}else if(i===`read-aloud`)Z.toggleReadAloud(r);else if(i===`upvote`||i===`downvote`){let e=(Xa.get(r)??null)===i,a=i===`upvote`?`thumbs-up`:`thumbs-down`;if(e){Xa.delete(r),t.classList.remove(`persona-message-action-active`);let e=T(a,14,`currentColor`,2);e&&(t.innerHTML=``,t.appendChild(e))}else{let e=i===`upvote`?`downvote`:`upvote`,o=n.querySelector(`[data-action="${e}"]`);if(o){o.classList.remove(`persona-message-action-active`);let t=T(e===`upvote`?`thumbs-up`:`thumbs-down`,14,`currentColor`,2);t&&(o.innerHTML=``,o.appendChild(t))}Xa.set(r,i),t.classList.add(`persona-message-action-active`);let s=T(a,14,`currentColor`,2);s&&(s.setAttribute(`fill`,`currentColor`),t.innerHTML=``,t.appendChild(s)),t.classList.remove(`persona-message-action-pop`),t.offsetWidth,t.classList.add(`persona-message-action-pop`);let c=Z.getMessages().find(e=>e.id===r);c&&Wn.onFeedback&&Wn.onFeedback({type:i,messageId:c.id,message:c})}}else if(i===`regenerate`)so?.regenerate(r);else if(i===`edit`)so?.edit(r);else if(i===`quote`)so?.quote(r);else if(i?.startsWith(`custom:`)){let e=i.slice(7),t=a.messageActions?.custom?.find(t=>t.id===e),n=Z.getMessages().find(e=>e.id===r);if(!t||!n)return;try{t.onSelect(n)}catch(t){console.error(`[AgentWidget] messageActions.custom "${e}" onSelect failed:`,t)}}});let so=null;z.addEventListener(`click`,e=>{let t=e.target.closest(`button[data-approval-action]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.closest(`.persona-approval-bubble`);if(!n)return;let r=n.getAttribute(`data-message-id`);if(!r)return;let i=t.getAttribute(`data-approval-action`);if(!i)return;let a=i===`approve`?`approved`:`denied`,o=Z.getMessages().find(e=>e.id===r);if(!o?.approval)return;let s=n.querySelector(`[data-approval-buttons]`);s&&s.querySelectorAll(`button`).forEach(e=>{e.disabled=!0,e.style.opacity=`0.5`,e.style.cursor=`not-allowed`}),ct(o.approval)?Z.resolveWebMcpApproval(r,a):Z.resolveApproval(o.approval,a)});let Y=null,co=!1,lo=null,fo=()=>{},po=`none`,ho=null,go={artifacts:[],selectedId:null},_o=!1,yo=!1,To=!1,Eo=!1,Oo=()=>Eo||go.artifacts.some(e=>xt(a.features?.artifacts,e)===`panel`),ko=()=>go.artifacts.length>0&&!_o&&Oo(),Mo={current:null},No=(e,t)=>{let n=Z.getArtifactById(t),r=n?.markdown,i=n?.title||`artifact`,a=n?.file,o=n?.artifactType??`markdown`;if(!r){let t=(e.closest(`[data-open-artifact], [data-artifact-inline]`)?.closest(`[data-message-id]`))?.getAttribute(`data-message-id`);if(t){let e=Z.getMessages().find(e=>e.id===t);if(e?.rawContent)try{let t=JSON.parse(e.rawContent);r=t?.props?.markdown,i=t?.props?.title||i,t?.props?.file&&typeof t.props.file==`object`&&(a=t.props.file),!n&&typeof t?.props?.artifactType==`string`&&(o=t.props.artifactType)}catch{}}}return{markdown:r,title:i,file:a,artifactType:o}};z.addEventListener(`click`,e=>{let t=e.target.closest(`[data-download-artifact]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.getAttribute(`data-download-artifact`);if(!n||a.features?.artifacts?.onArtifactAction?.({type:`download`,artifactId:n})===!0)return;let{markdown:r,title:i,file:o}=No(t,n);if(!r)return;let s=mr();s&&s.triggerArtifactDownload(s.downloadInfoFor({title:i,markdown:r,file:o}))}),z.addEventListener(`click`,e=>{let t=e.target.closest(`[data-artifact-custom-action]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.getAttribute(`data-artifact-custom-action`);if(!n)return;let r=t.closest(`[data-artifact-inline]`),i=r?null:t.closest(`[data-open-artifact]`),o=r?r.getAttribute(`data-artifact-inline`):i?.getAttribute(`data-open-artifact`)??null,s=(r?a.features?.artifacts?.inlineActions:a.features?.artifacts?.cardActions)?.find(e=>e.id===n);if(!s)return;let{markdown:c,title:l,file:u,artifactType:d}=No(t,o??``),f={artifactId:o,title:l,artifactType:d,markdown:c,file:u};try{Promise.resolve(s.onClick(f)).catch(()=>{})}catch{}}),z.addEventListener(`click`,e=>{let t=e.target.closest(`[data-copy-artifact]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.getAttribute(`data-copy-artifact`);if(!n)return;let r=Z.getArtifactById(n),i=mr();if(!i)return;let a=``;if(r)a=i.artifactCopyText(r);else{let{markdown:e,file:r,artifactType:o}=No(t,n);o===`markdown`&&(a=i.artifactCopyText({id:n,artifactType:`markdown`,status:`complete`,markdown:e??``,...r?{file:r}:{}}))}a&&navigator.clipboard.writeText(a).then(()=>{let e=b(yn,16,`currentColor`,2);e&&(t.replaceChildren(e),setTimeout(()=>{let e=b(xn,16,`currentColor`,2);e&&t.replaceChildren(e)},1500))}).catch(()=>{})}),z.addEventListener(`click`,e=>{let t=e.target.closest(`[data-expand-artifact-inline]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.getAttribute(`data-expand-artifact-inline`);n&&a.features?.artifacts?.onArtifactAction?.({type:`open`,artifactId:n})!==!0&&(_o=!1,Eo=!0,yo=!0,To=!0,Z.selectArtifact(n),bs())}),z.addEventListener(`click`,e=>{let t=e.target;if(t.closest(`[data-download-artifact]`)||t.closest(`[data-artifact-custom-action]`))return;let n=t.closest(`[data-open-artifact]`);if(!n)return;let r=n.getAttribute(`data-open-artifact`);r&&a.features?.artifacts?.onArtifactAction?.({type:`open`,artifactId:r})!==!0&&(e.preventDefault(),e.stopPropagation(),_o=!1,Eo=!0,Z.selectArtifact(r),bs())}),z.addEventListener(`keydown`,e=>{if(e.key!==`Enter`&&e.key!==` `)return;let t=e.target;(t.hasAttribute(`data-open-artifact`)||t.hasAttribute(`data-expand-artifact-inline`))&&(e.preventDefault(),t.click())});let zo=I.composerOverlay,Bo=e=>{yr().catch(()=>{}),pt(e,a,zo)},Ko=null,qo={instanceId:r,mount:e,overlay:zo,sessionRef:Mo,config:()=>a},Xo=!1,Zo=e=>t=>{let n=t.target,r=n?.closest?.(`[data-persona-ask-sheet-for]`);if(!r||!(e===`click`?n?.closest(`[data-ask-user-action]`):t.key===`Enter`&&n?.matches?.(`[data-ask-free-text-input="true"]`)))return;let i=n=>{Ko??=n.createAskUserSheetHandlers(qo),Ko[e](t)},a=br();a?i(a):Xo||(Xo=!0,yr().then(e=>{Xo=!1,r.isConnected&&i(e)},()=>{Xo=!1}))};zo.addEventListener(`click`,Zo(`click`)),zo.addEventListener(`keydown`,Zo(`keydown`));let $o=e=>{if(!/^[1-9]$/.test(e.key)||e.metaKey||e.ctrlKey||e.altKey)return;let t=e.target;if(t?.tagName===`INPUT`||t?.tagName===`TEXTAREA`||t?.isContentEditable)return;let n=zo.querySelector(`[data-persona-ask-sheet-for]`);if(!n||n.getAttribute(`data-ask-layout`)!==`rows`||n.getAttribute(`data-multi-select`)===`true`)return;let r=Number(e.key),i=n.querySelectorAll(`[data-ask-pill-list="true"] [data-ask-user-action="pick"], [data-ask-pill-list="true"] [data-ask-user-action="focus-free-text"]`)[r-1];i&&(e.preventDefault(),i.click())};document.addEventListener(`keydown`,$o);let rs=null,is=null,os=()=>{},ss=!1,cs=``,fs=``,ps=()=>{let e=$?.railShell?$.railHost:null,t=e?.isConnected?e:null,n=t?t.getBoundingClientRect().width:0;return n<=0?200:n+360},ms=()=>{},_s=()=>{let t=e.ownerDocument.defaultView??window,n=a.launcher?.mobileFullscreen??!0,r=a.launcher?.mobileBreakpoint??640;return!n||t.innerWidth>r?!1:A||es(a)},vs=()=>!Re(a)||!ko()||e.classList.contains(`persona-artifact-narrow-host`)||_s()||(e.ownerDocument.defaultView??window).innerWidth<641?`none`:Ve(a)?`detached`:`welded`,bs=()=>{if(!Y||!Re(a))return;Be(e,a),Fe(e,a),ms();let t=a.features?.artifacts?.layout?.narrowHostMaxWidth??520,n=F.getBoundingClientRect().width||0;e.classList.toggle(`persona-artifact-narrow-host`,n>0&&n<=t);let r=ko();Y.setVisible(r),Y.update(go),_o?(Y.setMobileOpen(!1),Y.element.classList.add(`persona-hidden`),Y.backdrop?.classList.add(`persona-hidden`),yo=!1,To=!1):go.artifacts.length>0&&Oo()?(Y.element.classList.remove(`persona-hidden`),Y.setMobileOpen(!0)):(Y.setMobileOpen(!1),Y.element.classList.add(`persona-hidden`),Y.backdrop?.classList.add(`persona-hidden`),yo=!1,To=!1);let i=a.features?.artifacts?.layout?.showExpandToggle===!0;if(Y.setExpandToggleVisible(i),Y.setCopyButtonVisible(a.features?.artifacts?.layout?.showCopyButton===!0),Y.setRefreshButtonVisible(typeof a.features?.artifacts?.layout?.onDocumentToolbarRefresh==`function`),Y.setCustomActions(a.features?.artifacts?.toolbarActions??[]),Y.setStyleConfig(a),Y.setTabFade(a.features?.artifacts?.layout?.tabFade),Y.setRenderTabBar(a.features?.artifacts?.renderTabBar),!i&&!To&&(yo=!1),yo!==ss){let e=Y.element;yo?(cs=e.style.width,fs=e.style.maxWidth,e.style.removeProperty(`width`),e.style.removeProperty(`max-width`)):(cs&&(e.style.width=cs),fs&&(e.style.maxWidth=fs),cs=``,fs=``),ss=yo}e.classList.toggle(`persona-artifact-expanded`,yo),Y.setExpanded(yo);let o=vs();o!==po&&(po=o,fo()),os()};if(Re(a)){F.style.position=`relative`;let t=k(`div`,`persona-flex persona-flex-1 persona-flex-col persona-min-w-0 persona-min-h-0`),n=k(`div`,`persona-flex persona-h-full persona-w-full persona-min-h-0 persona-artifact-split-root`);t.appendChild(L),rs=n,n.appendChild(t),F.appendChild(n);let r=t=>{co||Y||(Y=t.createArtifactPane(a,{onSelect:e=>Mo.current?.selectArtifact(e),onDismiss:()=>{_o=!0,bs()},onToggleExpand:()=>{let e=!yo,t=go.selectedId??go.artifacts[go.artifacts.length-1]?.id??null;a.features?.artifacts?.onArtifactAction?.({type:`expand`,artifactId:t,expanded:e})!==!0&&(yo=e,e||(To=!1),bs())}}),is=t.createArtifactResizer({mount:e,splitRoot:n,pane:Y,getConfig:()=>a,chatMinWidth:ps,isVisible:ko}),Y.element.classList.add(`persona-hidden`),n.appendChild(Y.element),Y.backdrop&&F.appendChild(Y.backdrop),os(),bs())},i=mr();i?r(i):(hr(()=>{let e=mr();e&&r(e)}),pr().catch(()=>{})),os=()=>is?.update(),ms=()=>{if(!A||!Y||(a.launcher?.sidebarMode??!1)||es(a)&&ns(a).reveal===`emerge`)return;let t=e.ownerDocument.defaultView??window,n=a.launcher?.mobileFullscreen??!0,r=a.launcher?.mobileBreakpoint??640;if(n&&t.innerWidth<=r||!Ae(a,A))return;let i=Oc(a).width,o=a.features?.artifacts?.layout?.expandedPanelWidth??`min(720px, calc(100vw - 24px))`;ko()?(F.style.width=o,F.style.maxWidth=o):(F.style.width=i,F.style.maxWidth=i)},typeof ResizeObserver<`u`&&(lo=new ResizeObserver(()=>{bs()}),lo.observe(F))}else F.appendChild(L);j()&&Xn&&(I.peekBanner&&Xn.appendChild(I.peekBanner),Xn.appendChild(H)),e.appendChild(P),Xn&&e.appendChild(Xn);let xs=()=>{let t=_s()||j()&&a.launcher?.composerBar?.expandedSize===`fullscreen`||a.launcher?.fullHeight===!0&&!a.launcher?.sidebarMode&&!es(a);if(z.style.gap=t?`var(--persona-components-message-fullscreenGap, var(--persona-components-message-gap, 12px))`:`var(--persona-components-message-gap, 12px)`,z.style.setProperty(`--persona-transcript-gap`,z.style.gap),j()){F.style.width=`100%`,F.style.maxWidth=`100%`;let e=a.launcher?.composerBar??{},t=P.dataset.state===`expanded`,n=e.expandedSize??`anchored`;if(!(t&&n!==`fullscreen`)){L.style.background=``,L.style.border=``,L.style.borderRadius=``,L.style.overflow=``,L.style.boxShadow=``;return}let r=a.theme?.components?.panel,i=mo(a),o=(e,t)=>e==null||e===``?t:za(i,e)??e;L.style.background=`var(--persona-surface, #ffffff)`,L.style.border=o(r?.border,`1px solid var(--persona-border)`),L.style.borderRadius=o(r?.borderRadius,`var(--persona-panel-radius, var(--persona-radius-xl, 0.75rem))`),L.style.boxShadow=o(r?.shadow,`var(--persona-palette-shadows-xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25))`),L.style.overflow=`hidden`;return}let n=es(a),r=a.launcher?.sidebarMode??!1,o=tn(a)||n||r||(a.launcher?.fullHeight??!1),s=a.launcher?.enabled===!1,c=a.launcher?.detachedPanel===!0,l=a.theme?.components?.panel,u=a.darkTheme?.components?.panel,d=uo(a)===`dark`?i(l??{},u??{}):l,f=mo(a),p=(e,t)=>e==null||e===``?t:za(f,e)??e,m=e.ownerDocument.defaultView??window,h=a.launcher?.mobileFullscreen??!0,g=a.launcher?.mobileBreakpoint??640,_=m.innerWidth<=g,v=h&&_&&A,y=n&&h&&_,b=a.launcher?.position??`bottom-left`,x=b===`bottom-left`||b===`top-left`,S=a.launcher?.zIndex??1e5,C=(e,t,n)=>`var(--persona-components-panel-modes-${e}-${t}, ${n})`,ee=d?.modes?.floating,w=p(ee?.border??d?.border,C(`floating`,`border`,`var(--persona-panel-border, 1px solid var(--persona-border))`)),T=p(ee?.shadow??d?.shadow,C(`floating`,`shadow`,`var(--persona-panel-shadow, var(--persona-palette-shadows-xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25)))`)),te=p(ee?.borderRadius??d?.borderRadius,C(`floating`,`borderRadius`,`var(--persona-panel-radius, var(--persona-radius-xl, 0.75rem))`)),E=c&&!v&&!y,ne=v||y?`mobile`:E?`floating`:n?`docked`:r?`sidebar`:s?`inline`:`floating`,re=d?.modes?.[ne];E?e.setAttribute(`data-persona-panel-detached`,`true`):e.removeAttribute(`data-persona-panel-detached`);let ie=E?w:r||v?`none`:w,ae=E?T:v?`none`:r?x?`2px 0 12px rgba(0, 0, 0, 0.08)`:`-2px 0 12px rgba(0, 0, 0, 0.08)`:s?`none`:T;n&&!v&&!E&&(ae=`none`,ie=`none`);let oe=E?te:r||v?`0`:te,se=p(re?.border??d?.border,C(ne,`border`,ie)),ce=p(re?.shadow??d?.shadow,C(ne,`shadow`,ae)),le=p(re?.borderRadius??d?.borderRadius,C(ne,`borderRadius`,oe)),ue=vs(),de=ue===`detached`,fe=ue===`welded`;e.classList.toggle(`persona-artifact-detached-split`,de),e.classList.toggle(`persona-artifact-welded-split`,fe);let pe=`var(--persona-artifact-chat-shadow, var(--persona-artifact-pane-shadow, var(--persona-panel-shadow, var(--persona-palette-shadows-xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25)))))`,me=(a.features?.artifacts?.layout?.chatSurface===`flush`?`flush`:`card`)==`flush`&&Re(a)&&Ve(a)&&s&&!n;e.classList.toggle(`persona-artifact-chat-flush`,me);let he=de||me?`none`:ce,ge=de?w:fe?`none`:se,_e=de?te:le;me&&(ge=`none`,_e=`0`);let ve=re?.borderRadius!=null&&re.borderRadius!==``||d?.borderRadius!=null&&d.borderRadius!==``,ye=me&&!ve?`0`:le,be=R.scrollTop;e.style.cssText=``,P.style.cssText=``,F.style.cssText=``,L.style.cssText=``,R.style.cssText=``,ta||(H.style.cssText=``,a.layout?.showFooter===!1&&(H.style.display=`none`)),Dn&&(R.style.display=`none`),(o||s)&&(e.style.minWidth=`0`);let xe=()=>{be<=0||(R.ownerDocument.defaultView??window).requestAnimationFrame(()=>{if(R.scrollTop===be)return;let e=R.scrollHeight-R.clientHeight;e<=0||(R.scrollTop=Math.min(be,e))})};if(v){P.classList.remove(`persona-bottom-6`,`persona-right-6`,`persona-left-6`,`persona-top-6`,`persona-bottom-4`,`persona-right-4`,`persona-left-4`,`persona-top-4`),P.style.cssText=`
|
|
22
|
+
`,a.addEventListener(`click`,()=>{t(e),i.forEach((t,n)=>{let r=n<e;t.classList.toggle(`selected`,r),t.setAttribute(`aria-checked`,n===e-1?`true`:`false`)})}),i.push(a),r.appendChild(a)}return{element:r,attentionTarget:r}})}function Fu(e){return Nu(e,`nps`,t=>{let{lowLabel:n=`Not likely`,highLabel:r=`Very likely`}=e,i=document.createElement(`div`);i.className=`persona-feedback-rating persona-feedback-rating-nps`,i.setAttribute(`role`,`radiogroup`),i.setAttribute(`aria-label`,`Likelihood rating from 0 to 10`);let a=document.createElement(`div`);a.className=`persona-feedback-labels`;let o=document.createElement(`span`);o.className=`persona-feedback-label-low`,o.textContent=n;let s=document.createElement(`span`);s.className=`persona-feedback-label-high`,s.textContent=r,a.appendChild(o),a.appendChild(s);let c=document.createElement(`div`);c.className=`persona-feedback-numbers`;let l=[];for(let e=0;e<=10;e++){let n=document.createElement(`button`);n.type=`button`,n.className=`persona-feedback-rating-btn persona-feedback-number-btn`,n.setAttribute(`role`,`radio`),n.setAttribute(`aria-checked`,`false`),n.setAttribute(`aria-label`,`Rating ${e} out of 10`),n.textContent=String(e),n.dataset.rating=String(e),e<=6?n.classList.add(`persona-feedback-detractor`):e<=8?n.classList.add(`persona-feedback-passive`):n.classList.add(`persona-feedback-promoter`),n.addEventListener(`click`,()=>{t(e),l.forEach((t,n)=>{t.classList.toggle(`selected`,n===e),t.setAttribute(`aria-checked`,n===e?`true`:`false`)})}),l.push(n),c.appendChild(n)}return i.appendChild(a),i.appendChild(c),{element:i,attentionTarget:c}})}const Iu=`persona-chat-history`,Lu=`data-persona-composer-reason`,Ru=`data-persona-composer-notice`,zu={"image/png":`png`,"image/jpeg":`jpg`,"image/jpg":`jpg`,"image/gif":`gif`,"image/webp":`webp`,"image/svg+xml":`svg`,"image/bmp":`bmp`,"image/tiff":`tiff`};function Bu(e){if(!e)return[];let t=[],n=Array.from(e.items??[]);for(let e of n){if(e.kind!==`file`||!e.type.startsWith(`image/`))continue;let n=e.getAsFile();if(!n)continue;if(n.name){t.push(n);continue}let r=zu[n.type]??`png`;t.push(new File([n],`clipboard-image-${Date.now()}.${r}`,{type:n.type,lastModified:Date.now()}))}if(t.length>0)return t;for(let n of Array.from(e.files??[]))n.type.startsWith(`image/`)&&t.push(n);return t}function Vu(e){if(!e)return!1;let t=e.types;return t?typeof t.contains==`function`?t.contains(`Files`):Array.from(t).includes(`Files`):!1}function Hu(e){if(!e)return null;let t=e===!0?{}:e;return{storage:t.storage??`session`,keyPrefix:t.keyPrefix??`persona-`,persist:{openState:t.persist?.openState??!0,voiceState:t.persist?.voiceState??!0,focusInput:t.persist?.focusInput??!0},clearOnChatClear:t.clearOnChatClear??!0}}function Uu(e){try{let t=e===`local`?localStorage:sessionStorage,n=`__persist_test__`;return t.setItem(n,`1`),t.removeItem(n),t}catch{return null}}const Wu=e=>!e||typeof e!=`object`?{}:{...e},Gu=e=>e.filter(e=>!hn(e)).map(e=>({...e,streaming:!1})),Ku=(e,t,n)=>{let r=e?.markdown?Ve(e.markdown):null,i=Fe(e?.sanitize);e?.postprocessMessage&&i&&e?.sanitize===void 0&&console.warn(`[Persona] postprocessMessage HTML is sanitized: unsupported tags/attributes are stripped. Provide a custom sanitize function to allow them, or sanitize: false only for trusted HTML.`);let a=!1,o=a=>{let o=a.text??``,s=a.message.rawContent??null;if(t){let e=t.process({text:o,raw:s??o,message:a.message,streaming:a.streaming});e!==null&&(o=e.text,e.persist||(a.message.__skipPersist=!0),e.resubmit&&!a.streaming&&n&&n())}let c=O()!==null,l;if(e?.postprocessMessage){let t=e.postprocessMessage({...a,text:o,raw:s??a.text??``});l=i?i(t):t}else if(r){let e=Me(o,a.streaming),t=r(e);l=i&&c?i(t):t}else l=je(o);return l};return e=>{try{return o(e)}catch(t){return a||(a=!0,console.error(`[Persona] markdown rendering failed; falling back to plain text:`,t)),je(e.text??``)}}};function qu(e){let t=A(`div`,`persona-attachment-drop-overlay`);e?.background&&t.style.setProperty(`--persona-drop-overlay-bg`,e.background),e?.backdropBlur!==void 0&&t.style.setProperty(`--persona-drop-overlay-blur`,e.backdropBlur),e?.border&&t.style.setProperty(`--persona-drop-overlay-border`,e.border),e?.borderRadius&&t.style.setProperty(`--persona-drop-overlay-radius`,e.borderRadius),e?.inset&&t.style.setProperty(`--persona-drop-overlay-inset`,e.inset),e?.labelSize&&t.style.setProperty(`--persona-drop-overlay-label-size`,e.labelSize),e?.labelColor&&t.style.setProperty(`--persona-drop-overlay-label-color`,e.labelColor);let n=e?.iconName??`upload`,r=e?.iconSize??`48px`,i=e?.iconColor??`rgba(59, 130, 246, 0.6)`,a=e?.iconStrokeWidth??.5,o=T(n,r,i,a);if(o&&t.appendChild(o),e?.label){let n=A(`span`,`persona-drop-overlay-label`);n.textContent=e.label,t.appendChild(n)}return t}const Ju=(e,t)=>{let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t?{...t,...r}:r}return n},Yu=e=>e.reduce((e,t)=>({blocks:[...e.blocks,...t.blocks],contentParts:[...e.contentParts,...t.contentParts],context:Ju(e.context,t.context)}),{blocks:[],contentParts:[],context:{}}),Xu=(e,t,n)=>{if(e==null)throw Error(`createAgentExperience: mount must be a non-null HTMLElement (e.g. pass document.getElementById("my-root") after the node exists).`);e.id&&!e.getAttribute(`data-persona-instance`)&&e.setAttribute(`data-persona-instance`,e.id);let r=e.getAttribute(`data-persona-instance`)||`persona-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`;e.setAttribute(`data-persona-instance`,r),e.hasAttribute(`data-persona-root`)||e.setAttribute(`data-persona-root`,`true`);let a=_e(t),o=On(e),s=n?.diagnostics??ru(t),c=null,l,u,d=()=>{let t=$n();if(l??=t?.createLoadingLabelLifecycle(e,()=>a),c)return c;let n=Fn();return n&&t?(n.initActivityUi(T,t,kn),u=n.createActivityLifecycle(e,()=>a,f,p,jc,od),c=n):null},f=/* @__PURE__ */ new Set,p=/* @__PURE__ */ new Set,m=/* @__PURE__ */ new Map,h=/* @__PURE__ */ new Map,g=/* @__PURE__ */ new Map,_=/* @__PURE__ */ new Set,v=e=>{if(e.role===`user`&&Ps(a))return e.voiceProcessing&&_.add(e.id),{state:e.voiceProcessing?`live`:_.has(e.id)?`settling`:h.get(e.id)?g.get(e.id)?`expanded`:`collapsed`:`fit`,maxHeight:Fs(a),...Is(a)}},y=()=>{ie({delayMs:a.tooltip?.delayMs??400,skipDelayMs:a.tooltip?.skipDelayMs??300})};y();let w=a.features;a=Ll(a);let D=Wl.getForInstance(a.plugins),oe=No(e),se=[],ce=!1,le=il(()=>a),ue=null,de=null,fe=null,ge=!1,ye=null,Se=(e,t)=>{ue=e,e.initApprovalUi({webMcpToolTitle:at,popover:t,icons:{render:T,node:b}});let n=e.createBuiltInApprovalPlugin(m);de=n.plugin,fe=n.teardown},Ce=()=>{if(ue)return ue;let e=ul(),t=qn();return e&&t?(Se(e,t),e):(Promise.all([ll(),Kn()]).then(([e,t])=>{ge||ue||(Se(e,t),ye?.())}).catch(()=>{}),null)},we=!1,De=!1,Oe=null,Me=(e,t,n,r)=>{if(!e.querySelector(`[data-tv-form]`))return;let i=Ul();i?i.enhanceWithForms(e,t,n,r):Hl().then(()=>{we||De||!Oe||(De=!0,Oe())}).catch(()=>{})},O=au(Object.freeze({instanceId:r})),Fe=a.persistState===!1?null:a.storageAdapter??_u(gu(typeof a.persistState==`object`?a.persistState.keyPrefix:void 0)),Re=!!a.clientToken&&typeof a.reconnectStream!=`function`,Ve={},He=null,Ue,k=new Promise(e=>{Ue=e}),Ge=()=>{},Ke=new Promise(e=>{Ge=e}),tt,nt=!1,rt=e=>{if(a.onStateLoaded)try{let t=a.onStateLoaded(e);if(t&&typeof t==`object`&&`state`in t){let{state:e,open:n}=t;return n&&(nt=!0),e}return t}catch(e){typeof console<`u`&&console.error(`[AgentWidget] onStateLoaded hook failed:`,e)}return e};if(Fe?.load)try{let e=Fe.load();if(e&&typeof e.then==`function`)He=e.then(e=>rt(e??{messages:[],metadata:{}}));else{let t=rt(e??{messages:[],metadata:{}});t.metadata&&(Ve=Wu(t.metadata)),t.messages?.length&&(a={...a,initialMessages:t.messages}),t.artifacts?.length&&(a={...a,initialArtifacts:t.artifacts,initialSelectedArtifactId:t.selectedArtifactId??null}),tt=t.draft}}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Failed to load stored state:`,e)}else if(a.onStateLoaded)try{let e=rt({messages:[],metadata:{}});e.messages?.length&&(a={...a,initialMessages:e.messages})}catch(e){typeof console<`u`&&console.error(`[AgentWidget] onStateLoaded hook failed:`,e)}He||Ue();let it=()=>Ve,st=e=>{Ve=e({...Ve})??{},Bl()},ct=a.actionParsers&&a.actionParsers.length?a.actionParsers:[cu],lt=a.actionHandlers&&a.actionHandlers.length?a.actionHandlers:[uu.message,uu.messageAndClick],ut=fu({parsers:ct,handlers:lt,getSessionMetadata:it,updateSessionMetadata:st,emit:O.emit,captureResubmitGuard:()=>{let e=At;return()=>Mt(e)},documentRef:typeof document<`u`?document:null});ut.syncFromMetadata();let vt=a.launcher?.enabled??!0,yt=a.launcher?.autoExpand??!1,xt=a.autoFocusInput??!1,St=yt,Ct=vt,wt=a.layout?.header?.layout,Tt=!1,j=()=>es(a),M=()=>vt||j(),N=j()?!1:!vt||yt,At=0,jt=!1,Mt=e=>!jt&&!Al&&e===At,Nt=()=>{At++,It=!1,Lt!==null&&clearTimeout(Lt),Lt=null},Ft=()=>{let e=At;Mt(e)&&setTimeout(()=>{Mt(e)&&!Z.isStreaming()&&Z.continueConversation()},100)},It=!1,Lt=null,Rt=()=>{Mt(At)&&(It=!0,Lt&&clearTimeout(Lt),Lt=setTimeout(()=>{It&&=(typeof console<`u`&&console.warn(`[AgentWidget] Resubmit requested but no injection occurred within 10s`),!1)},1e4))},nn=Ku(a,ut,Rt),rn=a.features?.showReasoning??!0,hn=a.features?.showToolCalls??!0,_n=a.features?.showEventStreamToggle??!1,yn=a.features?.scrollBehavior??{},xn=()=>(typeof a.persistState==`object`?a.persistState?.keyPrefix:void 0)??`persona-`,Sn=`${xn()}event-stream`,Cn=null,wn=a.features?.eventStream?.maxEvents??2e3,Tn=null,En=null,Dn=null,An=!1,jn=null,Mn=!1,Nn=null,Pn=0,In=(e,t)=>{Tn?.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:e,timestamp:Date.now(),payload:JSON.stringify(t)})},Ln=(e,t)=>{En?.processEvent(e,t),Tn?In(e,t):Dn&&(Dn.length>=wn&&Dn.shift(),Dn.push({type:e,payload:t}))},Rn=()=>{!Tn&&_n&&(Dn??=[],pl().then(e=>{if(An||Tn||!_n)return;Cn=new e.EventStreamStore(Sn),Tn=new e.EventStreamBuffer(wn,Cn),En??=new e.ThroughputTracker,Cn.open().then(()=>Tn?.restore()).catch(e=>{a.debug&&console.warn(`[AgentWidget] IndexedDB not available for event stream:`,e)});let t=Dn??[];Dn=null;for(let e of t)En?.processEvent(e.type,e.payload),In(e.type,e.payload)}).catch(()=>{}))};_n&&Rn();let zn=!1,Bn=null,Vn=()=>{},Hn=()=>{},Un=()=>{},Wn=()=>{},Gn=()=>{},Jn=()=>Mn||zn&&Bn===`panel`,Yn={onCopy:e=>{O.emit(`message:copy`,e),Z?.isClientTokenMode()&&e.role!==`operator`&&Z.submitMessageFeedback(e.id,`copy`).catch(e=>{a.debug&&console.error(`[AgentWidget] Failed to submit copy feedback:`,e)}),a.messageActions?.onCopy?.(e)},onFeedback:e=>{O.emit(`message:feedback`,e),Z?.isClientTokenMode()&&Z.submitMessageFeedback(e.messageId,e.type).catch(e=>{a.debug&&console.error(`[AgentWidget] Failed to submit feedback:`,e)}),a.messageActions?.onFeedback?.(e)}};a.statusIndicator;let Xn=(e,t=a.statusIndicator??{})=>e===`idle`?t.idleText??We.idle:e===`connecting`?t.connectingText??We.connecting:e===`connected`?t.connectedText??We.connected:e===`error`?t.errorText??We.error:e===`paused`?t.pausedText??We.paused:e===`resuming`?t.resumingText??We.resuming:We[e];function Zn(e,t,n,r){if(!j()&&(n.mode===`transient`||e.classList.contains(`persona-mb-2`))&&(re(e,sr,n),E(e,n,r)),!(e.hasAttribute(Lu)||e.hasAttribute(Ru))){if(r===`idle`&&n.idleLink){e.textContent=``;let r=document.createElement(`a`);r.href=n.idleLink,r.target=`_blank`,r.rel=`noopener noreferrer`,r.textContent=t,r.style.color=`inherit`,r.style.textDecoration=`none`,e.appendChild(r)}else e.textContent=t}}let Qn=el({config:a,showClose:M()}),{wrapper:P,panel:F,pillRoot:er}=Qn.shell,I=Qn.panelElements,{container:L,body:R,messagesWrapper:z,starterSuggestions:rr,transcriptSuggestions:ir,suggestions:ar,textarea:B,sendButton:or,composerForm:sr,statusText:V,welcomeHost:cr,welcomeIconHolder:lr,greetingHost:ur,introKicker:dr,introTitle:hr,introSubtitle:gr,closeButton:_r,iconHolder:vr,headerTitle:xr,headerSubtitle:Sr,header:Cr,footer:H,actionsRow:Dr}=I,Or=I.leftActions,Fr=I.rightActions,Ir=I.sendButtonWrapper,Rr=I.setSendButtonMode,U=I.micButton,Br=I.micButtonWrapper,Vr=I.attachmentButton,Hr=I.attachmentButtonWrapper,Wr=I.attachmentInput,Gr=I.attachmentPreviewsContainer;L.classList.add(`persona-relative`),R.classList.add(`persona-relative`);let Kr=()=>a.features?.scrollToBottom?.enabled!==!1,qr=()=>yn.mode??`anchor-top`,Jr=()=>qr()===`follow`||qr()===`anchor-top`&&hl,Yr=()=>yn.anchorTopOffset??16,Xr=()=>yn.restorePosition??`bottom`,Zr=()=>yn.pauseOnInteraction===!0,Qr=()=>yn.showActivityWhilePinned!==!1,$r=()=>yn.announce===!0,ei=()=>yn.scrollbar??`on-scroll`,ti=Nr(T,`transcript`,R),ni=ti.element;L.appendChild(ni);let ri=()=>R.parentElement??L,ii=A(`div`,`persona-panel-suggestions`);ii.setAttribute(`data-persona-panel-suggestions`,``),ii.hidden=!0,L.appendChild(ii);let ai=A(`div`,`persona-panel-suggestions-fade`);ai.setAttribute(`aria-hidden`,`true`),ai.hidden=!0,L.appendChild(ai);let oi=A(`div`,`persona-stream-anchor-spacer`);oi.setAttribute(`aria-hidden`,`true`),oi.setAttribute(`data-persona-anchor-spacer`,``),oi.style.flexShrink=`0`,oi.style.pointerEvents=`none`,oi.style.height=`0px`,oi.style.display=`none`,R.appendChild(oi);let si=A(`div`,`persona-sr-only`);si.setAttribute(`aria-live`,`polite`),si.setAttribute(`aria-atomic`,`true`),si.setAttribute(`role`,`status`),si.setAttribute(`data-persona-live-region`,``),Object.assign(si.style,{position:`absolute`,width:`1px`,height:`1px`,margin:`-1px`,padding:`0`,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(50%)`,whiteSpace:`nowrap`,border:`0`}),L.appendChild(si);let ci=null,ui=null,di=e=>{$r()&&e&&(ui=e,ci===null&&(ci=setTimeout(()=>{ci=null,ui&&$r()&&(si.textContent=ui),ui=null},400)))},fi=()=>{let t=e.ownerDocument.defaultView??window;return(a.launcher?.mobileFullscreen??!0)&&t.innerWidth<=(a.launcher?.mobileBreakpoint??640)&&(vt||$o(a))||a.launcher?.fullHeight===!0&&!a.launcher.sidebarMode&&!$o(a)},pi=()=>Ac(a,fi()),mi=`empty`,hi=0,gi=()=>hi||parseFloat(e.style.getPropertyValue(`--persona-composer-lift`))||0,_i=(e,t=R)=>{let n=0,r=e;for(;r&&r!==t;)n+=r.offsetTop,r=r.offsetParent;return n},vi=()=>{let e=H.style.display===`none`,t=ri();if(j()){let n=e||!H.offsetHeight?0:Math.max(0,t.getBoundingClientRect().bottom-H.getBoundingClientRect().top),r=ii.hidden?0:Math.max(0,t.getBoundingClientRect().bottom-ii.getBoundingClientRect().top);ni.style.bottom=`${Math.max(n,r)+16}px`;return}let n=e?0:H.offsetHeight;if(n>0&&xo(a,j())===`overlay`){let e=1/0;for(let n of H.querySelectorAll(`:scope > *, [data-persona-composer-header] > *`))!n.hidden&&n.offsetHeight&&getComputedStyle(n).visibility!==`hidden`&&(e=Math.min(e,_i(n,t)));e<1/0&&(n-=e-_i(H,t))}ni.style.bottom=`${n+(e?0:gi())+16}px`};vi();let yi=()=>{if(!j())return;let e=H.style.display===`none`?0:H.offsetHeight;e>0?P.style.setProperty(`--persona-measured-pill-area-height`,`${e+8}px`):P.style.removeProperty(`--persona-measured-pill-area-height`),P.style.setProperty(`--persona-pill-bottom`,a.launcher?.composerBar?.bottomOffset??`16px`)},bi=()=>{oa||(H.style.marginBottom=hi>0?`${hi}px`:``)},xi=()=>{let t=xo(a,j()),n=pi();e.setAttribute(`data-persona-welcome-fullscreen`,String(fi())),e.setAttribute(`data-persona-welcome-layout`,n.layout??`top`),e.setAttribute(`data-persona-welcome-layout-explicit`,a.welcome?.layout??``),e.setAttribute(`data-persona-welcome-anchor`,n.anchor??`bottom`);let r=H.style.display===`none`?0:H.offsetHeight,i=n.anchor===`center`&&mi===`empty`?So(n.anchorComposerTop)??So(`44%`):null,o=i!==null&&n.layout===`centered`&&a.welcome?.anchor===void 0&&a.welcome?.anchorComposerTop===void 0,s=o?getComputedStyle(R):null,c=parseFloat(e.style.getPropertyValue(`--persona-composer-overlay-height`))||0,l=parseFloat(e.style.getPropertyValue(`--persona-composer-lift`))||0,u=Math.max(0,(parseFloat(s?.paddingBottom??``)||0)-(t===`overlay`?c+l:0)),d=o?R.getBoundingClientRect().top-L.getBoundingClientRect().top:0,f=!o||cr.hidden?0:(cr.querySelector(`[data-persona-welcome-plugin]`)??cr).offsetHeight,p=i===null||j()?0:o?Math.max(0,Math.round((L.clientHeight-d-f-u-r)/2)):Co({columnHeight:L.clientHeight,footerHeight:r,fraction:i});e.style.setProperty(`--persona-composer-overlay-height`,`${r}px`),e.style.setProperty(`--persona-composer-lift`,`${t===`overlay`?p:0}px`),hi=t===`block`?p:0,bi(),yi(),vi(),zs()};ti.update(a,!1);let W=null,G=null,K=ia();K.subscribe(e=>{try{L.dispatchEvent(new CustomEvent(`persona:composer:state`,{detail:{...e,instanceId:r},bubbles:!0,composed:!0}))}catch{}});let Si=()=>{K.setText(B?.value??``)},Ci=()=>{K.setMentionRefs(G?.getMentionRefs()??[])},wi=e=>({id:e.id,name:e.file.name,mimeType:e.file.type,size:e.file.size,status:e.status,progress:e.progress,error:e.error}),Ti=()=>({allowedTypes:a.attachments?.allowedTypes,maxFileSize:a.attachments?.maxFileSize,maxFiles:a.attachments?.maxFiles,adapter:a.attachments?.adapter,onFileRejected:a.attachments?.onFileRejected,instanceId:r,widgetConfig:a,preview:a.attachments?.preview,renderAttachmentPreview:ji}),ji=e=>{for(let t of Wl.getForInstance(a.plugins))try{let n=t.renderAttachmentPreview?.(e);if(n)return n}catch(e){console.error(`[AgentWidget] plugin ${t.id} attachment preview failed:`,e)}return null},Pi=()=>{let e=na.fromConfig(a.attachments,t=>{W===e&&Fi(t)});return e.updateConfig(Ti()),e},Fi=e=>{let t=Object.freeze(e.map(wi));K.setAttachments(t);try{a.attachments?.onChange?.(t)}catch(e){console.error(`[AgentWidget] attachments.onChange failed:`,e)}Bd()};K.setSelectedModelId(a.composer?.selectedModelId);let Ii=()=>a.composer?.modes??[],Li=()=>Kt(Ii(),a.composer?.modeGroups,!!a.future?.v5Defaults);{let e=Gt(a.composer?.defaultActiveModeIds??[],Ii());e.length&&K.setActiveModeIds(e)}function Ri(e){if(K.getState().selectedModelId!==e){K.setSelectedModelId(e),Vi?.repaint();try{a.composer?.onModelChange?.(e)}catch(e){console.error(`[AgentWidget] composer.onModelChange failed:`,e)}}}function zi(e){K.setActiveModeIds(e),Hi?.render(e,Li()),Vi?.repaint(),Aa?.resolve(),hf(),Ha()}function Bi(t){let n=e.getRootNode(),r=n instanceof ShadowRoot?n.activeElement:e.ownerDocument.activeElement,i=Wt(t),o=Aa?.getOverflowMenu(),s=r&&(r.closest(`[data-persona-composer-action]`)?.getAttribute(`data-persona-composer-action`)===i||o?.trigger.contains(r));if(zi(qt(K.getState().activeModeIds,t,Ii(),a.composer?.modeGroups)),s&&!r.isConnected){let t=Array.from(e.querySelectorAll(`[data-persona-composer-action]`)).find(e=>e.getAttribute(`data-persona-composer-action`)===i)?.querySelector(`button`)??Aa?.getOverflowMenu()?.triggerButton;t?.isConnected&&t.focus()}}let Vi=null,Hi=null,Ui=null;function Wi(e){K.setQuote(e),Ui?.render(K.getState().quote),Ha(),Yl()}let Gi=!1;function Ki(){let e=a.composer?.streamingSubmitBehavior??`block`;return e===`interrupt`?a.clientToken?`interrupt`:(!Gi&&a.debug===!0&&(Gi=!0,typeof console<`u`&&console.warn(`[persona] composer.streamingSubmitBehavior "interrupt" requires the client-token transport; falling back to "block".`)),`block`):e}let Ji=null;function Yi(e){K.setPendingSubmission(e),Ji?.render(K.getState().pendingSubmission),Ha()}let Zi=()=>(Vi??=qn().createComposerCoreControls({getConfig:()=>a,getState:()=>K.getState(),getModes:Ii,getChipModes:Li,hasComposerPlugin:()=>D.some(e=>e.renderComposer),renderIcon:T,onModelChange:Ri,onModeChange:Bi}),Vi.collect()),Qi=null,$i=D.find(e=>e.renderHeader);if($i?.renderHeader){let e=$i.renderHeader({config:a,defaultRenderer:()=>{let e=xs({config:a,showClose:M()});return Ss(L,e,a),e.header},onClose:()=>Pd(!1,`user`)});if(e){let t=Cr;t&&(t.replaceWith(e),Cr=e,Qn.header.element=e)}}let ea=()=>{jn&&(R.style.display=`none`,H.parentNode?.insertBefore(jn.element,H),jn.update())},ta=()=>{if(!Tn){Rn();return}if(Ju.cancel(),Mn=!0,jn?ea():pl().then(e=>{!jn&&Mn&&Tn&&(jn=e.createEventStreamView({scroll:{createScrollToLatest:Mr,createScrollToBottomControl:Nr},buffer:Tn,getFullHistory:()=>Tn.getAllFromStore(),onClose:()=>ra(),config:a,plugins:D,getThroughput:()=>En?.getMetric()??{status:`idle`},renderIconByName:T,getResponseActive:ou,getConfig:()=>a,getViewVisible:()=>Mn}),ea())}).catch(()=>{ra()}),q){q.style.boxShadow=`inset 0 0 0 1.5px ${vs.actionIconColor}`;let e=a.features?.eventStream?.classNames?.toggleButtonActive;e&&e.split(/\s+/).forEach(e=>e&&q.classList.add(e))}let e=()=>{if(!Mn)return;let t=Date.now();t-Pn>=200&&(jn?.update(),Pn=t),Nn=requestAnimationFrame(e)};Pn=0,Nn=requestAnimationFrame(e),Du(),O.emit(`eventStream:opened`,{timestamp:Date.now()})},ra=()=>{if(Mn){if(Mn=!1,jn&&(jn.update(),jn.element.remove()),R.style.display=``,q){q.style.boxShadow=``;let e=a.features?.eventStream?.classNames?.toggleButtonActive;e&&e.split(/\s+/).forEach(e=>e&&q.classList.remove(e))}Nn!==null&&(cancelAnimationFrame(Nn),Nn=null),Du(),O.emit(`eventStream:closed`,{timestamp:Date.now()})}},q=null;if(_n){let e=a.features?.eventStream?.classNames,t=`persona-inline-flex persona-items-center persona-justify-center persona-rounded-full hover:persona-opacity-80 persona-cursor-pointer persona-border-none persona-bg-transparent persona-p-1`+(e?.toggleButton?` `+e.toggleButton:``);q=A(`button`,t),q.style.width=`28px`,q.style.height=`28px`,q.style.color=vs.actionIconColor,q.type=`button`,q.setAttribute(`aria-label`,`Event Stream`),q.title=`Event Stream`;let n=b(gn,`18px`,`currentColor`,1.5);n&&q.appendChild(n);let r=I.clearChatButtonWrapper,i=I.closeButtonWrapper,o=r||i;o&&o.parentNode===Cr?Cr.insertBefore(q,o):Cr.appendChild(q),q.addEventListener(`click`,()=>{Mn?ra():ta()})}let aa=e=>{let t=a.attachments;if(!t?.enabled)return;let n=e.querySelector(`[data-persona-composer-attachment-previews]`)??e.querySelector(`.persona-attachment-previews`);if(!n){n=A(`div`,`persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2`),n.setAttribute(`data-persona-composer-attachment-previews`,``),n.style.display=`none`;let t=e.querySelector(`[data-persona-composer-form]`);t?.parentNode?t.parentNode.insertBefore(n,t):e.insertBefore(n,e.firstChild)}if(!(e.querySelector(`[data-persona-composer-attachment-input]`)??e.querySelector(`input[type="file"]`))){let n=A(`input`);n.type=`file`,n.setAttribute(`data-persona-composer-attachment-input`,``),n.accept=(t.allowedTypes??Pt).join(`,`),n.multiple=(t.maxFiles??4)>1,n.style.display=`none`,n.setAttribute(`aria-label`,t.buttonTooltipText??`Attach files`),e.appendChild(n)}},oa=!1,ya=e=>{let t=D.find(e=>e.renderComposer);if(!t?.renderComposer)return null;let n=a.composer,r=ce?Z.isStreaming():!1;return t.renderComposer({config:a,defaultRenderer:e,requestRender:()=>mh(),storage:le(t.id),onSubmit:e=>{Z&&!Z.isStreaming()&&Bp(e.trim(),{consumeDraft:!1})},streaming:r,disabled:r,openAttachmentPicker:()=>{Id()||Wr?.click()},models:n?.models,selectedModelId:K.getState().selectedModelId??n?.selectedModelId,onModelChange:e=>Ri(e),onVoiceToggle:a.voiceRecognition?.enabled===!0?()=>{Qi?.()}:void 0})},ba=ya(()=>ks({config:a}).footer);ba&&(Qn.replaceComposer(ba),H=Qn.composer.footer,oa=!0);let J=null,Sa=e=>{sr=e.form,B=e.input,Ir=e.sendButton?e.sendButton.parentElement:null,e.sendButton&&(or=e.sendButton),e.micButton&&(U=e.micButton,Br=e.micButton.parentElement),e.found.status&&(V=e.found.status),e.found.suggestions&&(ar=e.found.suggestions),e.attachmentButton&&(Vr=e.attachmentButton,Hr=e.attachmentButton.parentElement),Wr=e.attachmentInput??null,Gr=e.attachmentPreviews??null,e.found.actionsRow&&(Dr=e.found.actionsRow),Or=e.found.actionsStart,Fr=e.found.actionsEnd};function Ca(){let e=B;if(!e)return;let t=a.composer?.inputAttributes,n=!t?.ariaLabel&&!(e instanceof HTMLTextAreaElement)?e.getAttribute(`aria-label`):null;C(e,t),n&&e.setAttribute(`aria-label`,n),ee(e,{submitKey:a.composer?.submitKey,insertNewlineOnTouchEnter:a.composer?.insertNewlineOnTouchEnter,coarsePointer:he(e)}),ne(e,te(a.composer?.maxLines,j()?5:3))}let wa=e=>{J=sa(e,{debug:a.debug===!0}),J&&Sa(J),Ca()};aa(H),wa(H),Si();let Ta=bo(a,j());Ta&&(z.style.maxWidth=Ta,z.style.marginLeft=`auto`,z.style.marginRight=`auto`,z.style.width=`100%`,ur.style.maxWidth=Ta,ur.style.marginLeft=`auto`,ur.style.marginRight=`auto`,ur.style.width=`100%`,rr.style.maxWidth=Ta,ir.style.maxWidth=Ta,ir.style.marginLeft=`auto`,ir.style.marginRight=`auto`,ir.style.width=`100%`);let Ea=()=>{let e=bo(a,j());if(e&&!j())for(let t of[sr,ar,Gr,V])t&&(t.style.maxWidth=e,t.style.marginLeft=`auto`,t.style.marginRight=`auto`,t.style.width=`100%`)};Ea();let Da=()=>{a.attachments?.enabled&&Wr&&Gr&&(W?W.remountPreviews(Gr):(W=Pi(),W.setPreviewsContainer(Gr)),J?.addListener(Wr,`change`,e=>{let t=e.target;W?.handleFileSelect(t.files),t.value=``}),L.querySelector(`.persona-attachment-drop-overlay`)||L.appendChild(qu(a.attachments.dropOverlay)))};Da();let Oa=()=>G?.prefetch(),ka=()=>{if(!a.contextMentions?.enabled||!B)return;let e=br();if(!e){let e=B;yr().then(()=>{!G&&B===e&&e.isConnected&&(ka(),Aa?.resolve())},()=>{});return}let t=J?.header??null,n=t?Xt(t):void 0;if(G=e.createContextMentionOrchestrator({deps:{loadContextMentions:ae,loadContextMentionsInline:Te,renderLucideIcon:T,createMentionButton:ve},config:a,textarea:B,anchor:sr??B,getMessages:()=>Z.getMessages(),liveRegionHost:L,chipRow:n}),G&&!n){let e=B;e.parentElement?.insertBefore(G.contextRow,e)}};ka();let Aa=null,ja={getState:()=>K.getState(),getValue:()=>B?.value??``,setValue:e=>{B&&(B.value=e,B.dispatchEvent(new Event(`input`,{bubbles:!0})),Si())},submit:()=>{Qt(J?.form??null)},openAttachmentPicker:()=>{Id()||Wr?.click()},toggleVoice:()=>{Qi?.()},requestRender:()=>Aa?.resolve()},Ma=()=>{let e=[];return(G?.affordanceButtons??[]).forEach((t,n)=>{e.push({id:`core:mention-${n}`,placement:`start`,order:Bt.mention+n,element:t,managed:!0})}),Hr&&e.push({id:`core:attachment`,placement:`start`,order:Bt.attachment,element:Hr}),Br&&e.push({id:`core:mic`,placement:`end`,order:Bt.mic,element:Br}),Ir&&e.push({id:`core:send`,placement:`end`,order:Bt.send,element:Ir}),e},Na=!1,Pa=()=>{if(Na)return;let e=qn();e&&(Aa?.destroy(),Aa=e.createComposerActionRenderer({deps:{renderLucideIcon:T,attachTooltip:Ee,hideTooltipFor:S},getBindings:()=>J,collect:()=>({builtIns:Ma(),configActions:[...Zi(),...a.composer?.actions??[]],plugins:D,contributionContext:{config:a,getState:()=>K.getState(),requestRender:()=>Aa?.resolve()},debug:a.debug===!0}),actionContext:ja,getState:()=>K.getState(),getOverflow:()=>a.composer?.actionOverflow,reportError:(e,t)=>{typeof console<`u`&&console.error(`[AgentWidget] composer action "${t.actionId}" failed:`,e)}}),Aa.resolve())};Pa();let Fa=()=>{if(Hi?.destroy(),Hi=null,!Li().length)return;let e=J?.header;if(!e)return;let t=qn();t&&(Hi=t.createComposerModeChipRow({renderIcon:T,row:Xt(e),onRemove:e=>Bi(e),initialIds:K.getState().activeModeIds}),Hi.render(K.getState().activeModeIds,Li()))};Fa();let Ia=()=>{Ui?.destroy(),Ui=null,Ji?.destroy(),Ji=null;let e=J?.header;e&&(Ui=ca({onDismiss:()=>Wi(void 0)}),e.appendChild(Ui.element),Ui.render(K.getState().quote),Ki()===`defer-one`&&(Ji=la({onEdit:()=>kp(),onRemove:()=>Yi(void 0)}),e.appendChild(Ji.element),Ji.render(K.getState().pendingSubmission)))};Ia();let za=ha(),Ba=Ht({getSurface:()=>j()||!J?null:{form:J.form,input:J.input,start:J.actionsStart,end:J.actionsEnd,resizeInput:a.composer?.layout===`single-row`},onMeasure:()=>Ha()}),Va=()=>{let e=J?.header?.querySelector(Zt);if(e)return e.childElementCount>0;let t=K.getState();return t.mentionRefs.length>0||Gt(t.activeModeIds,Li()).length>0};function Ha(){let e=K.getState(),t=Ba.measure(),n=a.composer?.layout!==`single-row`&&a.composer?.attachmentLayout!==`single-row`||t,r=Ba.toolbarCrowded();H.hasAttribute(`data-persona-composer-crowded`)!==r&&H.toggleAttribute(`data-persona-composer-crowded`,r),H.hasAttribute(`data-persona-composer-fit`)!==n&&H.toggleAttribute(`data-persona-composer-fit`,n);let i=za.observe(n&&ga(B),e.text);H.toggleAttribute(`data-persona-has-attachments`,e.attachments.length>0),H.toggleAttribute(`data-persona-attachment-row-compact`,ma({text:e.text,wrapped:i,hasAttachments:!1,hasChips:Va(),hasQuote:e.quote!==void 0,hasPendingSubmission:e.pendingSubmission!==void 0}));let o=ma({text:e.text,wrapped:i,hasAttachments:e.attachments.length>0,hasChips:Va(),hasQuote:e.quote!==void 0,hasPendingSubmission:e.pendingSubmission!==void 0});H.hasAttribute(`data-persona-composer-compact`)!==o&&H.toggleAttribute(`data-persona-composer-compact`,o);let s=!o||!n||a.composer?.layout!==`single-row`;H.hasAttribute(`data-persona-composer-expanded`)!==s&&H.toggleAttribute(`data-persona-composer-expanded`,s)}function Ua(){a.composer?.layout===`single-row`&&!j()?H.setAttribute(`data-persona-composer-layout`,`single-row`):H.removeAttribute(`data-persona-composer-layout`),a.composer?.attachmentLayout?H.setAttribute(`data-persona-attachment-layout`,a.composer.attachmentLayout):H.removeAttribute(`data-persona-attachment-layout`),Ha()}Ua(),K.subscribe(()=>{Aa?.sync(),Bd(),Vd(),Ha(),Yl()}),Vd();let Wa=!1,Ga=e=>{if(Wa||a.debug!==!0)return;let t=[`messages`,`composer`].filter(t=>e[t]);t.length&&(Wa=!0,console.warn(`[persona] Ignoring deprecated layout.slots.${t.join(` / layout.slots.`)}. Use message render hooks or the renderComposer plugin hook.`))},Ka=/* @__PURE__ */ new Map,qa=/* @__PURE__ */ new Map,Ja=e=>{let t=Ka.get(e);if(t)return t.element;let n=null;if(e===`body-top`&&(n=R.querySelector(`[data-persona-intro-card]`)),e===`messages`)return z;if(e===`composer`)return sr;if(e===`footer-top`&&(n=ar),e===`footer-bottom`&&(n=V),n?.parentNode){let t=document.createComment(`persona:${e}`);n.before(t),Ka.set(e,{anchor:t,element:n})}return n},Ya=Pr({config:()=>a,defaultContent:Ja,remove(e,t){if(e===`messages`||e===`composer`)return;t?.remove(),qa.get(e)?.remove(),qa.delete(e);let n=Ka.get(e);n&&(n.anchor.replaceWith(n.element),Ka.delete(e))},mount(e,t){if(e!==`messages`&&e!==`composer`&&!(t.parentNode&&P.contains(t))){if(e===`body-top`||e===`footer-top`||e===`footer-bottom`){let n=Ja(e),r=Ka.get(e);if(n&&r?.anchor.parentNode){r.anchor.after(t),n!==t&&!t.contains(n)&&n.remove();return}}switch(e){case`header-left`:Cr.prepend(t);break;case`header-right`:Cr.append(t);break;case`header-center`:{let e=Cr.querySelector(`.persona-flex-col`);e?e.after(t):Cr.append(t);break}case`body-top`:R.prepend(t);break;case`body-bottom`:R.append(t);break;case`footer-top`:H.prepend(t);break;case`footer-bottom`:H.append(t);break;case`transcript-top`:{let n=document.createElement(`div`);n.setAttribute(`data-persona-layout-slot`,e),n.style.cssText=`width:100%;min-width:0;max-width:var(--persona-content-max-width, 100%);margin-inline:auto;flex-shrink:0`,n.append(t),z.before(n),qa.set(e,n);break}case`composer-start`:case`composer-end`:case`composer-before-send`:{let n=e===`composer-start`?Or:e===`composer-end`?Fr:Ir?.parentElement;if(!n)break;let r=document.createElement(`div`);r.setAttribute(`data-persona-layout-slot`,e),r.style.cssText=`display:flex;align-items:center;min-width:0;max-width:100%`,r.append(t),e===`composer-start`?n.prepend(r):e===`composer-before-send`?Ir?.before(r):n.append(r),qa.set(e,r);break}}}}});Ga(a.layout?.slots??{}),Ya.update();let Xa=t=>{if(!a.onLinkClick||t.defaultPrevented||t.button!==0||t.ctrlKey||t.metaKey||t.shiftKey||t.altKey)return;let n=t.target;if(!(n instanceof Element))return;let r=n.closest(`a[href]`);if(!r||!e.contains(r)||r.hasAttribute(`download`)||r.closest(`[data-persona-root]`)!==e)return;let i=r.getAttribute(`target`)??r.ownerDocument.querySelector(`base[target]`)?.getAttribute(`target`);if(!(i&&i.toLowerCase()!==`_self`)&&/^(https?:|mailto:|tel:)/i.test(r.href))try{a.onLinkClick({url:r.href,anchor:r,originalEvent:t,preventDefault:()=>t.preventDefault()})}catch(e){console.error(`[AgentWidget] onLinkClick failed:`,e)}};e.addEventListener(`click`,Xa),z.addEventListener(`click`,e=>{let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`button[data-persona-copy-tool-detail]`);n&&(e.preventDefault(),e.stopPropagation(),Dt(n))}),z.addEventListener(`click`,e=>{let t=e.target;t instanceof Element&&t.closest(`.persona-approval-head[data-action="toggle-params"]`)&&(yl(),Ou())},{capture:!0});let Za=(e,t)=>{let n=e.querySelector(`[${Ms}]`),r=e.getAttribute(`data-message-id`);n&&r&&(yl(),Ou(),g.set(r,t),ud(e,n,r,{state:t?`expanded`:`collapsed`,maxHeight:Fs(a),...Is(a)},`toggle`))};z.addEventListener(`click`,e=>{let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`button[${Ns}]`),r=n?.closest(`[data-message-id]`);n&&r&&(e.preventDefault(),Za(r,n.getAttribute(`aria-expanded`)!==`true`))}),z.addEventListener(`focusin`,e=>{let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`[${Ms}="collapsed"]`)?.closest(`[data-message-id]`);n&&Za(n,!0)});let Qa=e=>{let t=e.target.closest(`button[data-expand-header="true"]`);t&&$a(t)},$a=e=>{let t=e.closest(`.persona-reasoning-bubble, .persona-tool-bubble, .persona-approval-bubble`);if(!t)return;let n=t.getAttribute(`data-message-id`);if(!n)return;yl(),Ou();let r=sl;r&&tu();let i=r&&c?.holdScroll(t,R,r,nd,td,xl,()=>sl===r),o=e.getAttribute(`data-bubble-type`);if(t.classList.contains(`persona-activity-row`)){u?.manual(n);let e=t.parentElement?.closest(`[data-persona-tool-group]`);e?.dataset.messageId&&u?.manual(e.dataset.messageId)}if(o===`reasoning`||o===`tool`){let e=o===`reasoning`,r=e?p:f;r.has(n)?r.delete(n):r.add(n),c&&(e?c.updateReasoningBubbleUI:c.updateToolBubbleUI)(n,t,r,a)}else if(o===`approval`&&ue){let e=((a.approval===!1?void 0:a.approval)?.detailsDisplay??`collapsed`)===`expanded`,r=m.get(n)??e;m.set(n,!r),ue.updateApprovalDetailsUI(n,t,a,m)}i?.(),jc.delete(n)};z.addEventListener(`pointerdown`,e=>{e.target.closest(`button[data-expand-header="true"]`)&&(e.preventDefault(),Qa(e))}),z.addEventListener(`click`,e=>{e.detail===0&&e.target.closest(`.persona-activity-row`)&&Qa(e)}),z.addEventListener(`keydown`,e=>{let t=e.target;(e.key===`Enter`||e.key===` `)&&t.closest(`button[data-expand-header="true"]`)&&(e.preventDefault(),Qa(e))}),z.addEventListener(`copy`,e=>{let{clipboardData:t}=e;if(!t)return;let n=z.getRootNode(),r=typeof n.getSelection==`function`?n.getSelection():window.getSelection();if(!r||r.isCollapsed)return;let i=r.toString(),a=Fo(i);a&&a!==i&&(t.setData(`text/plain`,a),e.preventDefault())});let eo=/* @__PURE__ */ new Map,to=/* @__PURE__ */ new Map,no,ro=0,io=()=>{z.querySelectorAll(`.persona-tool-bubble[data-tool-call-id]`).forEach(e=>{e.toggleAttribute(`data-persona-revealed`,to.has(e.dataset.messageId))})},ao=()=>{window.clearTimeout(no),no=void 0,to.forEach(e=>window.clearTimeout(e)),to.clear(),io()},oo=null,so=`idle`,co={idle:{icon:`volume-2`,label:`Read aloud`},loading:{icon:`loader-circle`,label:`Loading…`},playing:{icon:`pause`,label:`Pause`},paused:{icon:`play`,label:`Resume`}},lo=(e,t)=>{let{icon:n,label:r}=co[t];e.setAttribute(`aria-label`,r),e.title=r,e.setAttribute(`aria-pressed`,t===`idle`?`false`:`true`),e.classList.toggle(`persona-message-action-active`,t!==`idle`),e.classList.toggle(`persona-message-action-loading`,t===`loading`);let i=T(n,14,`currentColor`,2);i&&(e.innerHTML=``,e.appendChild(i))},fo=()=>{z.querySelectorAll(`[data-action="read-aloud"]`).forEach(e=>{let t=e.closest(`[data-actions-for]`)?.getAttribute(`data-actions-for`)??null;lo(e,t&&t===oo?so:`idle`)})};z.addEventListener(`click`,e=>{let t=e.target.closest(`.persona-message-action-btn[data-action]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.closest(`[data-actions-for]`);if(!n)return;let r=n.getAttribute(`data-actions-for`);if(!r)return;let i=t.getAttribute(`data-action`);if(i===`copy`){let e=Z.getMessages().find(e=>e.id===r);if(e&&Yn.onCopy){let n=e.content||``;navigator.clipboard.writeText(n).then(()=>{t.classList.add(`persona-message-action-success`);let e=b(vn,14,`currentColor`,2);e&&(t.innerHTML=``,t.appendChild(e)),setTimeout(()=>{t.classList.remove(`persona-message-action-success`);let e=b(bn,14,`currentColor`,2);e&&(t.innerHTML=``,t.appendChild(e))},2e3)}).catch(e=>{typeof console<`u`&&console.error(`[AgentWidget] Failed to copy message:`,e)}),Yn.onCopy(e)}}else if(i===`read-aloud`)Z.toggleReadAloud(r);else if(i===`upvote`||i===`downvote`){let e=(eo.get(r)??null)===i,a=i===`upvote`?`thumbs-up`:`thumbs-down`;if(e){eo.delete(r),t.classList.remove(`persona-message-action-active`);let e=T(a,14,`currentColor`,2);e&&(t.innerHTML=``,t.appendChild(e))}else{let e=i===`upvote`?`downvote`:`upvote`,o=n.querySelector(`[data-action="${e}"]`);if(o){o.classList.remove(`persona-message-action-active`);let t=T(e===`upvote`?`thumbs-up`:`thumbs-down`,14,`currentColor`,2);t&&(o.innerHTML=``,o.appendChild(t))}eo.set(r,i),t.classList.add(`persona-message-action-active`);let s=T(a,14,`currentColor`,2);s&&(s.setAttribute(`fill`,`currentColor`),t.innerHTML=``,t.appendChild(s)),t.classList.remove(`persona-message-action-pop`),t.offsetWidth,t.classList.add(`persona-message-action-pop`);let c=Z.getMessages().find(e=>e.id===r);c&&Yn.onFeedback&&Yn.onFeedback({type:i,messageId:c.id,message:c})}}else if(i===`regenerate`)po?.regenerate(r);else if(i===`edit`)po?.edit(r);else if(i===`quote`)po?.quote(r);else if(i?.startsWith(`custom:`)){let e=i.slice(7),t=a.messageActions?.custom?.find(t=>t.id===e),n=Z.getMessages().find(e=>e.id===r);if(!t||!n)return;try{t.onSelect(n)}catch(t){console.error(`[AgentWidget] messageActions.custom "${e}" onSelect failed:`,t)}}});let po=null;z.addEventListener(`click`,e=>{let t=e.target.closest(`button[data-approval-action]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.closest(`.persona-approval-bubble`);if(!n)return;let r=n.getAttribute(`data-message-id`);if(!r)return;let i=t.getAttribute(`data-approval-action`);if(!i)return;let a=i===`approve`?`approved`:`denied`,o=Z.getMessages().find(e=>e.id===r);if(!o?.approval)return;let s=n.querySelector(`[data-approval-buttons]`);s&&s.querySelectorAll(`button`).forEach(e=>{e.disabled=!0,e.style.opacity=`0.5`,e.style.cursor=`not-allowed`}),ot(o.approval)?Z.resolveWebMcpApproval(r,a):Z.resolveApproval(o.approval,a)});let Y=null,ho=!1,go=null,vo=()=>{},wo=`none`,To=null,Do={artifacts:[],selectedId:null},Oo=!1,jo=!1,Mo=!1,Ro=!1,zo=()=>Ro||Do.artifacts.some(e=>bt(a.features?.artifacts,e)===`panel`),Go=()=>Do.artifacts.length>0&&!Oo&&zo(),Ko={current:null},Yo=(e,t)=>{let n=Z.getArtifactById(t),r=n?.markdown,i=n?.title||`artifact`,a=n?.file,o=n?.artifactType??`markdown`;if(!r){let t=(e.closest(`[data-open-artifact], [data-artifact-inline]`)?.closest(`[data-message-id]`))?.getAttribute(`data-message-id`);if(t){let e=Z.getMessages().find(e=>e.id===t);if(e?.rawContent)try{let t=JSON.parse(e.rawContent);r=t?.props?.markdown,i=t?.props?.title||i,t?.props?.file&&typeof t.props.file==`object`&&(a=t.props.file),!n&&typeof t?.props?.artifactType==`string`&&(o=t.props.artifactType)}catch{}}}return{markdown:r,title:i,file:a,artifactType:o}};z.addEventListener(`click`,e=>{let t=e.target.closest(`[data-download-artifact]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.getAttribute(`data-download-artifact`);if(!n||a.features?.artifacts?.onArtifactAction?.({type:`download`,artifactId:n})===!0)return;let{markdown:r,title:i,file:o}=Yo(t,n);if(!r)return;let s=pr();s&&s.triggerArtifactDownload(s.downloadInfoFor({title:i,markdown:r,file:o}))}),z.addEventListener(`click`,e=>{let t=e.target.closest(`[data-artifact-custom-action]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.getAttribute(`data-artifact-custom-action`);if(!n)return;let r=t.closest(`[data-artifact-inline]`),i=r?null:t.closest(`[data-open-artifact]`),o=r?r.getAttribute(`data-artifact-inline`):i?.getAttribute(`data-open-artifact`)??null,s=(r?a.features?.artifacts?.inlineActions:a.features?.artifacts?.cardActions)?.find(e=>e.id===n);if(!s)return;let{markdown:c,title:l,file:u,artifactType:d}=Yo(t,o??``),f={artifactId:o,title:l,artifactType:d,markdown:c,file:u};try{Promise.resolve(s.onClick(f)).catch(()=>{})}catch{}}),z.addEventListener(`click`,e=>{let t=e.target.closest(`[data-copy-artifact]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.getAttribute(`data-copy-artifact`);if(!n)return;let r=Z.getArtifactById(n),i=pr();if(!i)return;let a=``;if(r)a=i.artifactCopyText(r);else{let{markdown:e,file:r,artifactType:o}=Yo(t,n);o===`markdown`&&(a=i.artifactCopyText({id:n,artifactType:`markdown`,status:`complete`,markdown:e??``,...r?{file:r}:{}}))}a&&navigator.clipboard.writeText(a).then(()=>{let e=b(vn,16,`currentColor`,2);e&&(t.replaceChildren(e),setTimeout(()=>{let e=b(bn,16,`currentColor`,2);e&&t.replaceChildren(e)},1500))}).catch(()=>{})}),z.addEventListener(`click`,e=>{let t=e.target.closest(`[data-expand-artifact-inline]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.getAttribute(`data-expand-artifact-inline`);n&&a.features?.artifacts?.onArtifactAction?.({type:`open`,artifactId:n})!==!0&&(Oo=!1,Ro=!0,jo=!0,Mo=!0,Z.selectArtifact(n),Es())}),z.addEventListener(`click`,e=>{let t=e.target;if(t.closest(`[data-download-artifact]`)||t.closest(`[data-artifact-custom-action]`))return;let n=t.closest(`[data-open-artifact]`);if(!n)return;let r=n.getAttribute(`data-open-artifact`);r&&a.features?.artifacts?.onArtifactAction?.({type:`open`,artifactId:r})!==!0&&(e.preventDefault(),e.stopPropagation(),Oo=!1,Ro=!0,Z.selectArtifact(r),Es())}),z.addEventListener(`keydown`,e=>{if(e.key!==`Enter`&&e.key!==` `)return;let t=e.target;(t.hasAttribute(`data-open-artifact`)||t.hasAttribute(`data-expand-artifact-inline`))&&(e.preventDefault(),t.click())});let Xo=I.composerOverlay,Qo=e=>{yr().catch(()=>{}),ft(e,a,Xo)},ns=null,rs={instanceId:r,mount:e,overlay:Xo,sessionRef:Ko,config:()=>a},as=!1,os=e=>t=>{let n=t.target,r=n?.closest?.(`[data-persona-ask-sheet-for]`);if(!r||!(e===`click`?n?.closest(`[data-ask-user-action]`):t.key===`Enter`&&n?.matches?.(`[data-ask-free-text-input="true"]`)))return;let i=n=>{ns??=n.createAskUserSheetHandlers(rs),ns[e](t)},a=br();a?i(a):as||(as=!0,yr().then(e=>{as=!1,r.isConnected&&i(e)},()=>{as=!1}))};Xo.addEventListener(`click`,os(`click`)),Xo.addEventListener(`keydown`,os(`keydown`));let ss=e=>{if(!/^[1-9]$/.test(e.key)||e.metaKey||e.ctrlKey||e.altKey)return;let t=e.target;if(t?.tagName===`INPUT`||t?.tagName===`TEXTAREA`||t?.isContentEditable)return;let n=Xo.querySelector(`[data-persona-ask-sheet-for]`);if(!n||n.getAttribute(`data-ask-layout`)!==`rows`||n.getAttribute(`data-multi-select`)===`true`)return;let r=Number(e.key),i=n.querySelectorAll(`[data-ask-pill-list="true"] [data-ask-user-action="pick"], [data-ask-pill-list="true"] [data-ask-user-action="focus-free-text"]`)[r-1];i&&(e.preventDefault(),i.click())};document.addEventListener(`keydown`,ss);let ds=null,fs=null,ps=()=>{},gs=!1,_s=``,ys=``,bs=()=>{let e=$?.railShell?$.railHost:null,t=e?.isConnected?e:null,n=t?t.getBoundingClientRect().width:0;return n<=0?200:n+360},Cs=()=>{},ws=()=>{let t=e.ownerDocument.defaultView??window,n=a.launcher?.mobileFullscreen??!0,r=a.launcher?.mobileBreakpoint??640;return!n||t.innerWidth>r?!1:vt||$o(a)},Ts=()=>!Le(a)||!Go()||e.classList.contains(`persona-artifact-narrow-host`)||ws()||(e.ownerDocument.defaultView??window).innerWidth<641?`none`:Be(a)?`detached`:`welded`,Es=()=>{if(!Y||!Le(a))return;ze(e,a),Pe(e,a),Cs();let t=a.features?.artifacts?.layout?.narrowHostMaxWidth??520,n=F.getBoundingClientRect().width||0;e.classList.toggle(`persona-artifact-narrow-host`,n>0&&n<=t);let r=Go();Y.setVisible(r),Y.update(Do),Oo?(Y.setMobileOpen(!1),Y.element.classList.add(`persona-hidden`),Y.backdrop?.classList.add(`persona-hidden`),jo=!1,Mo=!1):Do.artifacts.length>0&&zo()?(Y.element.classList.remove(`persona-hidden`),Y.setMobileOpen(!0)):(Y.setMobileOpen(!1),Y.element.classList.add(`persona-hidden`),Y.backdrop?.classList.add(`persona-hidden`),jo=!1,Mo=!1);let i=a.features?.artifacts?.layout?.showExpandToggle===!0;if(Y.setExpandToggleVisible(i),Y.setCopyButtonVisible(a.features?.artifacts?.layout?.showCopyButton===!0),Y.setRefreshButtonVisible(typeof a.features?.artifacts?.layout?.onDocumentToolbarRefresh==`function`),Y.setCustomActions(a.features?.artifacts?.toolbarActions??[]),Y.setStyleConfig(a),Y.setTabFade(a.features?.artifacts?.layout?.tabFade),Y.setRenderTabBar(a.features?.artifacts?.renderTabBar),!i&&!Mo&&(jo=!1),jo!==gs){let e=Y.element;jo?(_s=e.style.width,ys=e.style.maxWidth,e.style.removeProperty(`width`),e.style.removeProperty(`max-width`)):(_s&&(e.style.width=_s),ys&&(e.style.maxWidth=ys),_s=``,ys=``),gs=jo}e.classList.toggle(`persona-artifact-expanded`,jo),Y.setExpanded(jo);let o=Ts();o!==wo&&(wo=o,vo()),ps()};if(Le(a)){F.style.position=`relative`;let t=A(`div`,`persona-flex persona-flex-1 persona-flex-col persona-min-w-0 persona-min-h-0`),n=A(`div`,`persona-flex persona-h-full persona-w-full persona-min-h-0 persona-artifact-split-root`);t.appendChild(L),ds=n,n.appendChild(t),F.appendChild(n);let r=t=>{ho||Y||(Y=t.createArtifactPane(a,{onSelect:e=>Ko.current?.selectArtifact(e),onDismiss:()=>{Oo=!0,Es()},onToggleExpand:()=>{let e=!jo,t=Do.selectedId??Do.artifacts[Do.artifacts.length-1]?.id??null;a.features?.artifacts?.onArtifactAction?.({type:`expand`,artifactId:t,expanded:e})!==!0&&(jo=e,e||(Mo=!1),Es())}}),fs=t.createArtifactResizer({mount:e,splitRoot:n,pane:Y,getConfig:()=>a,chatMinWidth:bs,isVisible:Go}),Y.element.classList.add(`persona-hidden`),n.appendChild(Y.element),Y.backdrop&&F.appendChild(Y.backdrop),ps(),Es())},i=pr();i?r(i):(mr(()=>{let e=pr();e&&r(e)}),fr().catch(()=>{})),ps=()=>fs?.update(),Cs=()=>{if(!vt||!Y||(a.launcher?.sidebarMode??!1)||$o(a)&&ts(a).reveal===`emerge`)return;let t=e.ownerDocument.defaultView??window,n=a.launcher?.mobileFullscreen??!0,r=a.launcher?.mobileBreakpoint??640;if(n&&t.innerWidth<=r||!Ae(a,vt))return;let i=Ic(a).width,o=a.features?.artifacts?.layout?.expandedPanelWidth??`min(720px, calc(100vw - 24px))`;Go()?(F.style.width=o,F.style.maxWidth=o):(F.style.width=i,F.style.maxWidth=i)},typeof ResizeObserver<`u`&&(go=new ResizeObserver(()=>{Es()}),go.observe(F))}else F.appendChild(L);j()&&er&&(I.peekBanner&&er.appendChild(I.peekBanner),er.appendChild(H)),e.appendChild(P),er&&e.appendChild(er);let Os=()=>{let t=ws()||j()&&a.launcher?.composerBar?.expandedSize===`fullscreen`||a.launcher?.fullHeight===!0&&!a.launcher?.sidebarMode&&!$o(a);if(z.style.gap=t?`var(--persona-components-message-fullscreenGap, var(--persona-components-message-gap, 12px))`:`var(--persona-components-message-gap, 12px)`,z.style.setProperty(`--persona-transcript-gap`,z.style.gap),j()){F.style.width=`100%`,F.style.maxWidth=`100%`;let e=a.launcher?.composerBar??{},t=P.dataset.state===`expanded`,n=e.expandedSize??`anchored`;if(!(t&&n!==`fullscreen`)){L.style.background=``,L.style.border=``,L.style.borderRadius=``,L.style.overflow=``,L.style.boxShadow=``;return}let r=a.theme?.components?.panel,i=mo(a),o=(e,t)=>e==null||e===``?t:Ra(i,e)??e;L.style.background=`var(--persona-surface, #ffffff)`,L.style.border=o(r?.border,`1px solid var(--persona-border)`),L.style.borderRadius=o(r?.borderRadius,`var(--persona-panel-radius, var(--persona-radius-xl, 0.75rem))`),L.style.boxShadow=o(r?.shadow,`var(--persona-palette-shadows-xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25))`),L.style.overflow=`hidden`;return}let n=$o(a),r=a.launcher?.sidebarMode??!1,o=en(a)||n||r||(a.launcher?.fullHeight??!1),s=a.launcher?.enabled===!1,c=a.launcher?.detachedPanel===!0,l=a.theme?.components?.panel,u=a.darkTheme?.components?.panel,d=uo(a)===`dark`?i(l??{},u??{}):l,f=mo(a),p=(e,t)=>e==null||e===``?t:Ra(f,e)??e,m=e.ownerDocument.defaultView??window,h=a.launcher?.mobileFullscreen??!0,g=a.launcher?.mobileBreakpoint??640,_=m.innerWidth<=g,v=h&&_&&vt,y=n&&h&&_,b=a.launcher?.position??`bottom-left`,x=b===`bottom-left`||b===`top-left`,S=a.launcher?.zIndex??1e5,C=(e,t,n)=>`var(--persona-components-panel-modes-${e}-${t}, ${n})`,ee=d?.modes?.floating,w=p(ee?.border??d?.border,C(`floating`,`border`,`var(--persona-panel-border, 1px solid var(--persona-border))`)),T=p(ee?.shadow??d?.shadow,C(`floating`,`shadow`,`var(--persona-panel-shadow, var(--persona-palette-shadows-xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25)))`)),te=p(ee?.borderRadius??d?.borderRadius,C(`floating`,`borderRadius`,`var(--persona-panel-radius, var(--persona-radius-xl, 0.75rem))`)),E=c&&!v&&!y,ne=v||y?`mobile`:E?`floating`:n?`docked`:r?`sidebar`:s?`inline`:`floating`,re=d?.modes?.[ne];E?e.setAttribute(`data-persona-panel-detached`,`true`):e.removeAttribute(`data-persona-panel-detached`);let ie=E?w:r||v?`none`:w,ae=E?T:v?`none`:r?x?`2px 0 12px rgba(0, 0, 0, 0.08)`:`-2px 0 12px rgba(0, 0, 0, 0.08)`:s?`none`:T;n&&!v&&!E&&(ae=`none`,ie=`none`);let D=E?te:r||v?`0`:te,oe=p(re?.border??d?.border,C(ne,`border`,ie)),se=p(re?.shadow??d?.shadow,C(ne,`shadow`,ae)),ce=p(re?.borderRadius??d?.borderRadius,C(ne,`borderRadius`,D)),le=Ts(),ue=le===`detached`,de=le===`welded`;e.classList.toggle(`persona-artifact-detached-split`,ue),e.classList.toggle(`persona-artifact-welded-split`,de);let fe=`var(--persona-artifact-chat-shadow, var(--persona-artifact-pane-shadow, var(--persona-panel-shadow, var(--persona-palette-shadows-xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25)))))`,pe=(a.features?.artifacts?.layout?.chatSurface===`flush`?`flush`:`card`)==`flush`&&Le(a)&&Be(a)&&s&&!n;e.classList.toggle(`persona-artifact-chat-flush`,pe);let me=ue||pe?`none`:se,he=ue?w:de?`none`:oe,ge=ue?te:ce;pe&&(he=`none`,ge=`0`);let _e=re?.borderRadius!=null&&re.borderRadius!==``||d?.borderRadius!=null&&d.borderRadius!==``,ve=pe&&!_e?`0`:ce,ye=R.scrollTop;e.style.cssText=``,P.style.cssText=``,F.style.cssText=``,L.style.cssText=``,R.style.cssText=``,oa||(H.style.cssText=``,a.layout?.showFooter===!1&&(H.style.display=`none`)),Mn&&(R.style.display=`none`),(o||s)&&(e.style.minWidth=`0`);let be=()=>{ye<=0||(R.ownerDocument.defaultView??window).requestAnimationFrame(()=>{if(R.scrollTop===ye)return;let e=R.scrollHeight-R.clientHeight;e<=0||(R.scrollTop=Math.min(ye,e))})};if(v){P.classList.remove(`persona-bottom-6`,`persona-right-6`,`persona-left-6`,`persona-top-6`,`persona-bottom-4`,`persona-right-4`,`persona-left-4`,`persona-top-4`),P.style.cssText=`
|
|
23
23
|
position: fixed !important;
|
|
24
24
|
inset: 0 !important;
|
|
25
25
|
width: 100% !important;
|
|
@@ -55,7 +55,7 @@ import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,n as l,o a
|
|
|
55
55
|
overflow: hidden !important;
|
|
56
56
|
border-radius: 0 !important;
|
|
57
57
|
border: none !important;
|
|
58
|
-
`,R.style.flex=`1 1 0%`,R.style.minHeight=`0`,R.style.overflowY=`auto`,H.style.flexShrink=`0`,
|
|
58
|
+
`,R.style.flex=`1 1 0%`,R.style.minHeight=`0`,R.style.overflowY=`auto`,H.style.flexShrink=`0`,bi(),Tt=!0,be();return}let xe=Ic(a);if(!r&&!n)s?(P.style.width=Lc(a),F.style.width=`100%`,F.style.maxWidth=`100%`):(F.style.width=xe.width,F.style.maxWidth=xe.maxWidth);else if(n){if(ts(a).reveal===`emerge`&&!c){let e=ts(a).width;F.style.width=e,F.style.maxWidth=e}else F.style.width=`100%`,F.style.maxWidth=`100%`}if(Cs(),F.style.boxShadow=me,F.style.borderRadius=ve,ue?F.style.border=`none`:de&&(F.style.border=oe),L.style.border=he,L.style.borderRadius=ge,L.style.boxShadow=ue&&!pe?fe:``,pe&&(L.style.background=`transparent`,R.style.background=`transparent`,H.style.background=`transparent`,H.style.borderTop=`none`),de){let e=a.features?.artifacts?.layout;To=e?.unifiedSplitOuterRadius?.trim()||e?.paneBorderRadius?.trim()||ke(a,void 0,`split.outerRadius`)||ke(a,void 0,`pane.borderRadius`)||ce}else To=null;let Se=re?.border!=null||d?.border!=null;if(!n||v||E||ue||de||Se||(L.style.border=`none`,ts(a).side===`right`?L.style.borderLeft=`1px solid var(--persona-border)`:L.style.borderRight=`1px solid var(--persona-border)`),n&&!v&&de&&!Se&&(ts(a).side===`right`?F.style.borderLeft=`1px solid var(--persona-border)`:F.style.borderRight=`1px solid var(--persona-border)`),o&&(e.style.display=`flex`,e.style.flexDirection=`column`,e.style.height=`100%`,e.style.minHeight=`0`,en(a)&&(e.style.flex=`1 1 0%`),s&&(e.style.width=`100%`),P.style.display=`flex`,P.style.flexDirection=`column`,P.style.flex=`1 1 0%`,P.style.minHeight=`0`,P.style.maxHeight=`100%`,P.style.height=`100%`,s&&(P.style.overflow=`hidden`),F.style.display=`flex`,F.style.flexDirection=`column`,F.style.flex=`1 1 0%`,F.style.minHeight=`0`,F.style.maxHeight=`100%`,F.style.height=`100%`,ue||(F.style.overflow=`hidden`),L.style.display=`flex`,L.style.flexDirection=`column`,L.style.flex=`1 1 0%`,L.style.minHeight=`0`,L.style.maxHeight=`100%`,L.style.overflow=`hidden`,R.style.flex=`1 1 0%`,R.style.minHeight=`0`,R.style.overflowY=`auto`,H.style.flexShrink=`0`),s&&(E||ue||pe)&&!n&&(pe||(P.style.padding=`var(--persona-panel-inset)`),P.style.background=`var(--persona-panel-canvas-bg)`),P.classList.remove(`persona-bottom-6`,`persona-right-6`,`persona-left-6`,`persona-top-6`,`persona-bottom-4`,`persona-right-4`,`persona-left-4`,`persona-top-4`),r||s||n||(us[b]??us[`bottom-right`]).split(` `).forEach(e=>P.classList.add(e)),r){let e=tn(a).sidebarWidth?a.launcher?.sidebarWidth??`420px`:Ra(mo(a),`components.panel.width`)??`420px`;c?P.style.cssText=`
|
|
59
59
|
position: fixed !important;
|
|
60
60
|
top: var(--persona-panel-inset) !important;
|
|
61
61
|
bottom: var(--persona-panel-inset) !important;
|
|
@@ -92,9 +92,9 @@ import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,n as l,o a
|
|
|
92
92
|
min-height: 0 !important;
|
|
93
93
|
margin: 0 !important;
|
|
94
94
|
padding: 0 !important;
|
|
95
|
-
box-shadow: ${
|
|
96
|
-
border-radius: ${
|
|
97
|
-
${
|
|
95
|
+
box-shadow: ${me} !important;
|
|
96
|
+
border-radius: ${ve} !important;
|
|
97
|
+
${ue?`border: none !important;`:de?`border: ${oe} !important;`:``}
|
|
98
98
|
`,F.style.setProperty(`width`,`100%`,`important`),F.style.setProperty(`max-width`,`100%`,`important`),L.style.cssText=`
|
|
99
99
|
display: flex !important;
|
|
100
100
|
flex-direction: column !important;
|
|
@@ -104,17 +104,17 @@ import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,n as l,o a
|
|
|
104
104
|
min-height: 0 !important;
|
|
105
105
|
max-height: 100% !important;
|
|
106
106
|
overflow: hidden !important;
|
|
107
|
-
border-radius: ${
|
|
108
|
-
border: ${
|
|
109
|
-
${
|
|
110
|
-
${
|
|
111
|
-
`,
|
|
107
|
+
border-radius: ${ge} !important;
|
|
108
|
+
border: ${he} !important;
|
|
109
|
+
${ue&&!pe?`box-shadow: ${fe} !important;`:``}
|
|
110
|
+
${pe?`background: transparent !important;`:``}
|
|
111
|
+
`,oa||(H.style.cssText=`
|
|
112
112
|
flex-shrink: 0 !important;
|
|
113
113
|
border-top: none !important;
|
|
114
114
|
padding: 8px 16px 12px 16px !important;
|
|
115
|
-
${
|
|
115
|
+
${pe?`background: transparent !important;`:``}
|
|
116
116
|
${a.layout?.showFooter===!1?`display: none !important;`:``}
|
|
117
|
-
`)}if(!s&&!n){let e=r?``:`padding-top: 1.25em !important;`,t=r?``:`z-index: ${a.launcher?.zIndex??1e5} !important;`;P.style.cssText+=`max-height: -moz-available !important; max-height: stretch !important;`+e+t}_i(),xe()},ws=()=>{e.style.setProperty(`--persona-content-max-width`,xo(a,j()))},Ts=!1;function Es(){a.layout?.topFade&&R.scrollTop>1?R.setAttribute(`data-persona-top-fade`,`true`):R.removeAttribute(`data-persona-top-fade`),ni.hidden=!j()||ti.hidden||R.scrollHeight-R.clientHeight-R.scrollTop<=1,ni.hidden||(ni.style.bottom=`${L.getBoundingClientRect().bottom-ti.getBoundingClientRect().top-L.clientTop}px`)}let Ds=()=>{Es();let t=So(a,j());j()&&a.composer?.placement&&a.debug===!0&&!Ts&&(Ts=!0,console.warn(`[persona] composer.placement is ignored in composer-bar mount mode.`));let n=li();e.setAttribute(`data-persona-composer-placement`,t),e.setAttribute(`data-persona-conversation-state`,di),e.setAttribute(`data-persona-welcome-anchor`,n.anchor??`bottom`),e.style.setProperty(`--persona-composer-anchor-gap`,n.composerGap??`24px`),vi()},ks=()=>{if(j())return;let t=es(a),n=a.launcher?.sidebarMode??!1;if(tn(a)||t||n||(a.launcher?.fullHeight??!1)||!A)return;let r=e.ownerDocument.defaultView??window,i=a.launcher?.mobileFullscreen??!0,o=a.launcher?.mobileBreakpoint??640;if(i&&r.innerWidth<=o)return;let s=Oc(a);F.style.height=s.height,F.style.maxHeight=s.maxHeight};xs(),vo(e,a),Be(e,a),Fe(e,a),ws(),Ds(),fo=()=>{xs(),ks(),vo(e,a),Be(e,a),Fe(e,a),ws(),Ds(),ho?e.style.setProperty(`--persona-artifact-welded-outer-radius`,ho):e.style.removeProperty(`--persona-artifact-welded-outer-radius`),zn(),Rn()};let X=[];X.push(()=>Fa.destroy()),X.push(()=>{co=!0}),X.push(()=>{y.forEach(e=>e()),v.destroy()}),X.push(()=>{document.removeEventListener(`keydown`,$o)}),X.push(()=>{ai!==null&&clearTimeout(ai)});let Ms=null,Ns=null;X.push(()=>{Ms?.(),Ms=null,Ns?.(),Ns=null}),lo&&X.push(()=>{lo?.disconnect(),lo=null}),X.push(()=>{is?.destroy(),is=null,Y?.element.style.removeProperty(`width`),Y?.element.style.removeProperty(`maxWidth`),Y?.destroy()}),zt&&X.push(()=>{Tn=!0,wn=null,On!==null&&(cancelAnimationFrame(On),On=null),En?.destroy(),En=null,Sn?.destroy(),Sn=null,vn=null});let Ps=null,Fs=()=>{if(Ps&&=(Ps(),null),a.colorScheme===`auto`){let e=uo(a);Ps=bo(t=>{t!==e&&(e=t,fo(),bs(),Z&&(Bc++,rd(z,Z.getMessages(),It)))})}};Fs(),X.push(()=>{Ps&&=(Ps(),null)}),X.push(()=>{ue=!0,le?.()}),X.push(()=>{_e=!0});let Is=!1;X.push(()=>{Is=!0});let Ls=(t,n)=>{let r=ln(t,n);return r||!mn.includes(t)?r:(Jo().then(r=>{if(Is)return;pn(r.wipe),pn(r.glyphCycle);let i=ln(t,n);i&&dn(i,e)}).catch(()=>{}),null)},Rs=a.features?.streamAnimation;if(Rs?.type&&Rs.type!==`none`){let t=Ls(Rs.type,Rs.plugins);t&&dn(t,e),X.push(()=>on(e))}let zs=us(nr),Bs=us(Qn),Vs=us(tr),Hs=us(ti),Us=[zs,Bs,Vs,Hs];X.push(()=>{Us.forEach(e=>e.destroy())});let Ws=null,Z,Gs=null,Ks=!1,Js=0,Ys=null,Xs=/* @__PURE__ */ new Set;X.push(()=>Xs.clear());let Zs=e=>e.reduce((e,t)=>t.role===`user`?e+1:e,0),$s=e=>{for(let t=e.length-1;t>=0;t--)if(vt(e[t]))return e[t].id??null;return null},tc=!1,nc=()=>{tc||a.debug!==!0||(tc=!0,console.warn(`[persona] Starters are hidden: suggestions.starters.placement is "welcome", but welcome is disabled. Use "auto" or "composer".`))},rc=!1,ac=!1,oc=(e,t)=>{rc||a.debug!==!0||t.enabled&&!t.expose&&(Ks||ac&&(Z.isStreaming()||e.some(vt)||(rc=!0,console.info(`[persona] No suggest_replies call received. Declare the tool server-side or set suggestions.followUps.expose: true, and instruct the model when to use it. See UI-COMPONENTS.md.`))))},lc=e=>{if(!Z)return;let t=e??Z.getMessages();if(nr.removeAttribute(`data-persona-suggestions-below`),nr.parentElement===H&&H.insertBefore(nr,H.firstChild),Xs.size){let e=new Set(t.map(e=>e.id));for(let t of Xs)e.has(t)||Xs.delete(t)}let n=e=>{e.render([],Z,B,t)},r=e=>{Us.forEach(t=>{t!==e&&n(t)})};Gs&&(Zs(t)>Js||$s(t)!==Ys)&&(Gs=null);let i=gt(a);oc(t,i);let o=$s(t),s=i.enabled&&!(a.future?.v5Defaults&&o&&Xs.has(o))?_t(t,a.suggestions?.followUps?.maxItems??(a.future?.v5Defaults?5:4)):null;if(a.future?.v5Defaults&&Z.isStreaming()){Us.forEach(n);return}let c=Gs??s,l=Gs?`host`:`agent`;if(c){let e=a.suggestions?.followUps,n=e?.placement??(e?`auto`:`composer`),i=(n===`auto`?j()?`composer`:`after-message`:n)===`after-message`?Vs:j()?Hs:zs;r(i),i.render(c,Z,B,t,a.suggestionChipsConfig,{source:l,surface:`followUp`,variant:e?.variant??`chip`,behavior:e?.behavior??`send`,overflow:e?.overflow??(a.future?.v5Defaults?`scroll`:`wrap`),maxItems:e?.maxItems??(a.future?.v5Defaults?ci()?5:3:4),config:a,plugins:_,submitPrompt:xp});return}if(t.some(e=>e.role===`user`)){Us.forEach(n);return}let u=a.future?.v5Defaults===!0,d=ci(),f=a.suggestions?.starters??(u?{}:void 0);if(f){let e=Ec(li(),t),i=f.placement??`auto`,o=i===`auto`?e?`welcome`:`composer`:i;if(o===`welcome`&&!e){nc(),Us.forEach(n);return}nr.toggleAttribute(`data-persona-suggestions-below`,o===`below-composer`),o===`below-composer`?ir.after(nr):H.insertBefore(nr,H.firstChild);let s=o===`welcome`?Bs:zs;r(s),s.render(f.items??a.suggestionChips,Z,B,t,a.suggestionChipsConfig,{surface:`starter`,variant:f.variant??(u&&!d?`chip`:`card`),behavior:f.behavior??`send`,overflow:f.overflow??`wrap`,maxItems:f.maxItems??(u&&!d?3:4),config:a,plugins:_,submitPrompt:xp})}else r(zs),zs.render(a.suggestionChips,Z,B,t,a.suggestionChipsConfig,{surface:`starter`,variant:`chip`,behavior:`send`,overflow:`wrap`,maxItems:4,config:a,plugins:_,submitPrompt:xp})},uc=()=>{if(!a.future?.v5Defaults||!Z)return;Gs=null;let e=$s(Z.getMessages());e&&Xs.add(e),lc()},dc=()=>{Gs&&(Gs=null,lc())},mc=e=>{let t=Array.isArray(e)?[...e]:[];if(!t.length){dc();return}let n=Z?Z.getMessages():[];Gs=t,Ks=!0,Js=Zs(n),Ys=$s(n),lc(n)},gc=!1,yc=Ho(),bc=/* @__PURE__ */ new Set,xc=/* @__PURE__ */ new Map,Cc=/* @__PURE__ */ new Map,wc=/* @__PURE__ */ new Map,Dc=/* @__PURE__ */ new Map,Ac=e=>{let t=Dc.get(e);if(Dc.delete(e),wc.delete(e),ed(z,e)?.removeAttribute(`data-preserve-runtime`),t){t.controller.abort();try{t.handle.destroy?.()}catch(e){console.error(`[AgentWidget] Component cleanup failed:`,e)}}};X.push(()=>{for(let e of Dc.keys())Ac(e)});let Nc=/* @__PURE__ */ new Map,Pc=/* @__PURE__ */ new Map,Fc=e=>{Pc.get(e)?.abort(),Pc.delete(e),Nc.delete(e)},Ic=()=>{for(let e of Pc.keys())Fc(e)};X.push(Ic);let Lc=null,Rc=null;function zc(){if(!Lc)return;let e=Lc;Lc=null,Rc?.destroy(),Rc=null,yc.delete(e),L.querySelector(`#wrapper-${e}`)?.removeAttribute(`data-preserve-runtime`),Z&&rd(z,Z.getMessages(),It)}let Bc=0,Vc=et(),Hc=0,Uc=null,Wc=!1,Gc=!1,Jc=0,Yc=null,Zc=null,Qc=!1,$c=!1,el=null,rl=!0,il=!1,ol=null,sl=!1,cl=()=>{$a++,sl=!0,pl()},ll=null,ul=24,dl=null,fl=()=>{e.setAttribute(`data-persona-scrollbar`,Zr()),Zr()!==`on-scroll`&&(dl!==null&&clearTimeout(dl),dl=null,R.removeAttribute(`data-persona-scrollbar-visible`))},pl=()=>{Zr()===`on-scroll`&&(R.setAttribute(`data-persona-scrollbar-visible`,``),dl!==null&&clearTimeout(dl),dl=setTimeout(()=>{dl=null,tt(R,24)&&R.removeAttribute(`data-persona-scrollbar-visible`)},1e3))};fl(),X.push(()=>{dl!==null&&clearTimeout(dl)});let ml=/* @__PURE__ */ new Map,hl=!1,gl=null,Q={active:!1,manuallyDeactivated:!1,lastUserMessageWasVoice:!1,lastUserMessageId:null};La();let _l=a.voiceRecognition?.autoResume??!1,vl=()=>Z.isVoiceActive()||Z.isBargeInActive(),yl=!1,bl=e=>{D.emit(`voice:state`,{active:Q.active,source:e,timestamp:Date.now()})},xl=()=>{rt(e=>({...e,voiceState:{active:Q.active,timestamp:Date.now(),manuallyDeactivated:Q.manuallyDeactivated}}))},Sl=()=>{if(a.voiceRecognition?.enabled===!1||a.voiceRecognition?.dictation||a.voiceRecognition?.provider?.type===`custom`&&a.voiceRecognition.completionBehavior===`review`)return;let e=Iu(Me.voiceState),t=!!e.active,n=Number(e.timestamp??0);if(Q.manuallyDeactivated=!!e.manuallyDeactivated,t&&Date.now()-n<3e4){let e=Ct;setTimeout(()=>{Dt(e)&&(Q.active||(Q.manuallyDeactivated=!1,Dr(a.voiceRecognition?.provider)?Z.toggleVoice().then(()=>{Dt(e)&&(Q.active=vl(),bl(`restore`),Q.active?sm():(xl(),up(`Tap the mic to resume your voice call`,1e4)))}):rm(`restore`)))},Dr(a.voiceRecognition?.provider)?0:1e3)}},Cl=()=>{yl=!0,Q.active&&xl()};typeof window<`u`&&(window.addEventListener(`pagehide`,Cl),X.push(()=>window.removeEventListener(`pagehide`,Cl)));let wl=()=>Z?Lu(Z.getMessages()).filter(e=>!e.__skipPersist):[],Tl=null,El=(e,t)=>{typeof console<`u`&&console.error(e,t)},Dl=(e,t)=>{let n=()=>{try{let n=e();return!n||typeof n.then!=`function`?null:Promise.resolve(n).catch(e=>{El(t,e)})}catch(e){return El(t,e),null}},r=Tl,i=r?r.then(()=>n()??void 0):n();if(!i)return;let a=i.finally(()=>{Tl===a&&(Tl=null)});Tl=a};function Ol(e){if(jl!==null||!De?.save)return;let t=e?Lu(e):Z?wl():[],n=Oe&&Z?.getResumableHandle();n&&(Me={...Me,durableResume:{executionId:n.executionId,after:n.lastEventId}});let r={messages:t,metadata:Me,artifacts:go.artifacts,selectedArtifactId:go.selectedId,...Al?{draft:Al}:{}};Dl(()=>De.save(r),`[AgentWidget] Failed to persist state:`)}let Al,jl=null,Ml=()=>!De?.save||a.persistState===!1?!1:typeof a.persistState!=`object`||a.persistState.persist?.draft!==!1,Nl=pa({write:()=>{if(!Ml())return;let e=K.getState(),t=da({text:e.text,mentionRefs:e.mentionRefs,contentSegments:ip(),selectedModelId:e.selectedModelId,activeModeIds:e.activeModeIds,quote:e.quote});JSON.stringify(t)!==JSON.stringify(Al)&&(Al=t,Ol())}});function Ll(){Ml()&&Nl.schedule()}function Rl(){Nl.flush()}function zl(e){if(!Ml())return;let t=fa(e,{mentionSourceIds:(a.contextMentions?.sources??[]).map(e=>e.id),modelIds:(a.composer?.models??[]).map(e=>e.id),modes:a.composer?.modes??[]});t&&(Al=e,B&&!B.value&&(B.value=t.text,B.dispatchEvent(new Event(`input`,{bubbles:!0})),yi()),t.selectedModelId&&(K.setSelectedModelId(t.selectedModelId),Ri?.repaint()),Ii(t.activeModeIds??[]),t.quote&&Vi(t.quote),Nl.cancel())}function Vl(){Nl.cancel(),Al&&(Al=void 0,Ml()&&Ol())}let Hl=jr(),Ul=()=>P.querySelector(`#persona-scroll-container`)||R,Wl=()=>{Hl.cancel(),Wc=!1},Gl=()=>{Uc!==null&&(cancelAnimationFrame(Uc),Uc=null),Gc=!1,Wl()},Kl=()=>{let e=Z?.getStatus();return gc&&e!==`paused`&&e!==`resuming`&&e!==`error`&&!Z?.getMessages().some(e=>e.agentMetadata?.awaitingLocalTool===!0&&e.agentMetadata.askUserQuestionAnswered!==!0||e.variant===`approval`&&e.approval?.status===`pending`)},ql=()=>Kl()&&tu()&&(Ur()!==`anchor-top`||Yr()),Jl=()=>{Qr.update(a,$r.getAttribute(`data-persona-scroll-to-bottom-visible`)===`true`,ql(),Jc)},Ql=()=>{Jc!==0&&(Jc=0,Jl())},$l=()=>{let e=wu(Yc?.spacerHeight??0,!1),t=R.getBoundingClientRect(),n=H.getBoundingClientRect(),r=n.height>0&&n.bottom>t.top?Math.min(R.clientHeight,Math.max(0,n.top-t.top-R.clientTop)):R.clientHeight;return e-R.scrollTop-r<=24},tu=()=>(!Gr()||!Vc.isFollowing())&&!$l(),ru=()=>!!Z&&Z.getMessages().length>0,au=()=>{if(!Hr()||Un()){Qr.update(a,!1),$r.parentNode&&$r.remove();return}let e=ei();$r.parentNode!==e&&e.insertBefore($r,e===L?ti:null),hi();let t=Xe(R)>0,n=!fu.active&&t&&tu()&&ru();n||(Jc=0),Qr.update(a,n,ql(),Jc)},ou=()=>{Vc.pause()&&(Gl(),au())},su=()=>{Vc.resume(),Ql(),au()},uu=(e=!1)=>{!fu.active&&Gr()&&ru()&&Vc.isFollowing()&&(e||gc)&&(Uc!==null&&(cancelAnimationFrame(Uc),Uc=null),Gc=!0,Uc=requestAnimationFrame(()=>{Uc=null,Gc=!1,Vc.isFollowing()&&mu(Ul(),e?220:140)}))},du=(e,t,n,r=()=>!0)=>{Wl(),Wc=!0,Hl.start(e,t,n,()=>{Hc=e.scrollTop},()=>{Wc=!1},r)},fu=Mr(R,L,()=>{Hc=R.scrollTop},()=>{su(),uu(!0),au()},()=>{Vc.pause(),au()}),mu=(e,t=500)=>{let n=Xe(e)-e.scrollTop;Math.abs(n)<1?Hc=e.scrollTop:Math.abs(n)>=80?(Wl(),Wc=!0,e.scrollTop=Xe(e),Hc=e.scrollTop,Wc=!1):du(e,()=>Xe(e),t,()=>Vc.isFollowing())},hu=()=>{if(!ru()){au();return}let e=Ul();Wc=!0,e.scrollTop=Xe(e),Hc=e.scrollTop,Wc=!1,au()},_u=()=>{let e=R.getRootNode();return(typeof e.getSelection==`function`?e.getSelection():null)??R.ownerDocument.getSelection()},vu=()=>Je(_u(),R),yu=()=>{if(qr()!==`last-user-turn`)return!1;let e=Z?.getMessages()??[];if(e.length<2)return!1;let t=[...e].reverse().find(e=>e.role===`user`);if(!t)return!1;let n=typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(t.id):t.id.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`),r=R.querySelector(`[data-message-id="${n}"]`);if(!r)return!1;let i=Math.min(Math.max(0,mi(r)-Kr()),Xe(R));return Wc=!0,R.scrollTop=i,Hc=R.scrollTop,Wc=!1,Ur()===`follow`&&!tt(R,24)&&Vc.pause(),au(),!0},bu=e=>{let t=Math.max(0,Math.round(e));ri.style.height=`${t}px`,ri.style.display=t>0?``:`none`,Yc&&(Yc.spacerHeight=Math.max(0,e))},wu=(e,t=!0)=>{let n=parseFloat(getComputedStyle(R).paddingBottom)||0,r=0;for(let e of R.children){let t=e;t!==ri&&t.offsetHeight!==0&&(r=Math.max(r,mi(t)+t.offsetHeight))}let i=R.scrollHeight-e,a=r>0?Math.min(r+n,i):i;return t?a:a-n},Tu=()=>{if(!Yc||Yc.spacerHeight<=0||Yc.pending)return;let e=wu(Yc.spacerHeight),t=Math.max(0,Math.round(R.scrollTop)+R.clientHeight-e+24);t<Yc.spacerHeight&&(bu(t),au())},ju=()=>{Zc!==null&&(cancelAnimationFrame(Zc),Zc=null),fu.cancel(),Wl(),Yc=null,ri.style.height=`0px`,ri.style.display=`none`},Bu=e=>typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(e):e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`),Hu=e=>R.querySelector(`[data-message-id="${Bu(e)}"]`),Uu=e=>{let t=Hu(e);return t?.closest(`[data-persona-turn-activity]`)??t},Wu=e=>{Zc!==null&&cancelAnimationFrame(Zc),Zc=requestAnimationFrame(()=>{Zc=null;let t=Uu(e);if(!t)return;let n=mi(t),r=Yc?.spacerHeight??0,i=wu(r),{targetScrollTop:a,spacerHeight:o}=nt({anchorOffsetTop:n,topOffset:Kr(),viewportHeight:R.clientHeight,contentHeight:i,slack:24});Yc={pending:0,initialSpacerHeight:o,contentHeightAtAnchor:i,spacerHeight:o},bu(o),du(R,()=>t.isConnected?Math.max(0,mi(t)-Kr()):a,220)})},Gu=()=>{if(Ur()!==`anchor-top`||!Yc||!ol)return;let e=Uu(ol);if(!e)return;Wl();let t=Yc.spacerHeight,n=wu(t),{targetScrollTop:r,spacerHeight:i}=nt({anchorOffsetTop:mi(e),topOffset:Kr(),viewportHeight:R.clientHeight,contentHeight:n,slack:24});Yc={pending:0,initialSpacerHeight:i,contentHeightAtAnchor:n,spacerHeight:i},bu(i),Wc=!0,R.scrollTop=r,Hc=R.scrollTop,Wc=!1,au()},Ku=()=>{if(Gr()){if(au(),!Vc.isFollowing()||tt(R,1))return;uu(!gc)}else{if(Yc&&Yc.initialSpacerHeight>0&&!Yc.pending){let e=R.scrollHeight-Yc.spacerHeight,t=Qe({initialSpacerHeight:Yc.initialSpacerHeight,contentHeightAtAnchor:Yc.contentHeightAtAnchor,currentContentHeight:e});t!==Yc.spacerHeight&&bu(t)}au()}},qu=e=>{let t=Ur();t===`follow`?(su(),uu(!0)):t===`anchor-top`&&(rl=!1,il=!0,sl=!1,ol=e,Wu(e))},Ju=()=>{Ur()===`anchor-top`&&(il?rl=!1:(rl=!0,ju(),su(),uu(!0)))},Yu=e=>{if(el===null)return!0;let t=Hu(el),n=Uu(e);if(!t||!n)return!0;let r=mi(n)-mi(t);return Kr()+r>R.clientHeight-96},Xu=e=>{if(Ur()!==`anchor-top`||!il||sl||vu())return;let t=el===null;for(let n of e)if(!t)n.id===el&&(t=!0);else if($e(n)){if(n.id===ol||!Yu(n.id))return;ol=n.id,Wu(n.id);return}},Zu=e=>{let t=/* @__PURE__ */ new Map;e.forEach(e=>{let n=ml.get(e.id);t.set(e.id,{streaming:e.streaming,role:e.role}),!n&&e.role===`assistant`&&(D.emit(`assistant:message`,e),!$c&&(Ur()!==`anchor-top`||Yr())&&tu()&&(Jc+=1,Jl(),au(),si(Jc===1?`1 new message below.`:`${Jc} new messages below.`))),e.role===`assistant`&&(n?.streaming||bc.has(e.id))&&e.streaming===!1&&D.emit(`assistant:complete`,e),e.variant===`approval`&&e.approval&&(n?e.approval.status!==`pending`&&D.emit(`approval:resolved`,{approval:e.approval,decision:e.approval.status}):D.emit(`approval:requested`,{approval:e.approval,message:e}))}),ml.clear(),t.forEach((e,t)=>{ml.set(t,e)}),bc.clear()},Qu=(e,t)=>{let n=t===`user`?`user`:`assistant`,r=a.layout?.messages?.[n],i=r?.width??`content`,o=t===`operator`?`content`:i,s=t===`operator`?`var(--persona-message-operator-max-width, var(--persona-message-assistant-max-width, 100%))`:`var(--persona-message-${n}-max-width, 100%)`,c=r?.maxWidth??(i===`full`?s:void 0);e.classList.add(`persona-message-row`),e.classList.remove(`persona-message-row-user`,`persona-message-row-assistant`,`persona-message-row-system`,`persona-message-row-operator`,`persona-message-width-content`,`persona-message-width-full`),e.classList.add(`persona-message-row-${t}`,`persona-message-width-${o}`),e.classList.toggle(`persona-justify-end`,t===`user`),e.setAttribute(`data-message-role`,t),e.setAttribute(`data-message-width`,o),c?e.style.setProperty(`--persona-message-row-max-width`,c):e.style.removeProperty(`--persona-message-row-max-width`)},$u=(e,t)=>{let n=document.createElement(`div`);return n.className=`persona-flex`,n.id=`wrapper-${e}`,n.setAttribute(`data-wrapper-id`,e),Qu(n,t),n},ed=(e,t)=>Array.from(e.querySelectorAll(`[data-wrapper-id]`)).find(e=>e.getAttribute(`data-wrapper-id`)===t),td=(t,n,r)=>{let i=/* @__PURE__ */ new Set;d(),u?.observeMessages(n,i);let o=document.createElement(`div`),s=!a.features?.toolCallDisplay?.grouped,h=/* @__PURE__ */ new Set;if(s)for(let e of Array.from(t.children)){let t=e.getAttribute(`data-wrapper-id`);t&&h.add(t)}let g=/* @__PURE__ */ new Map,v=_.find(e=>e.renderLoadingIndicator)?.renderLoadingIndicator??a.loadingIndicator?.render,y=/* @__PURE__ */ new Set,b=/* @__PURE__ */ new Map,x=/* @__PURE__ */ new Set,S=_.some(e=>e.renderAskUserQuestion),C=[],ee=[],T=a.enableComponentStreaming!==!1,te=a.approval!==!1,E=[],ne=a.messageActions,re;if(a.future?.v5Defaults&&ne?.visibility===void 0){for(let e=n.length-1;e>=0;e--)if(n[e].role===`assistant`&&!n[e].variant){re=n[e].id;break}}let ie=(ne?.showRegenerate===!0||a.errorDisplay===`block`)&&ne?.enabled!==!1&&Mo.current?.isStreaming()!==!0?ki(n):null,ae=ne?.showEdit===!0&&ne.enabled!==!1,oe=-1;n.forEach((e,t)=>{e.role===`operator`&&(oe=t)});let le=ne?.showQuote===!0&&ne.enabled!==!1,ue=null,de=a.features?.reasoningDisplay?.completedVisibility,fe=e=>de===`removed`||de===`removed-when-short`&&Tt(e,a.features?.reasoningDisplay?.shortThinkThreshold),me=a.features?.toolCallDisplay?.completedVisibility===`removed`,he=e=>e.variant===`reasoning`&&e.reasoning?.status===`complete`?fe(e.reasoning):me&&e.variant===`tool`&&e.toolCall?.status===`complete`&&!e.toolCall.interrupted;n.forEach((i,l)=>{if(he(i))return;if(y.add(i.id),b.set(i.id,i.role),(i.variant===`tool`&&i.toolCall&&Rt||i.variant===`reasoning`&&i.reasoning&&Lt)&&!d()){o.appendChild($u(i.id,i.role));return}if(Lc===i.id&&Rc){let e=$u(i.id,i.role);e.setAttribute(`data-persona-message-edit-stub`,`true`),e.setAttribute(`data-preserve-runtime`,`true`),o.appendChild(e),ue={messageId:i.id,element:Rc.element};return}let u=S&&mt(i),w=te&&i.variant===`approval`&&!!i.approval,de=!u&&i.role===`assistant`&&!i.variant&&T&&Ni(i);!w&&Nc.has(i.id)&&(ed(t,i.id)?.removeAttribute(`data-preserve-runtime`),Fc(i.id)),!de&&wc.has(i.id)&&(ed(t,i.id)?.removeAttribute(`data-preserve-runtime`),Ac(i.id));let fe=mt(i)?`:${i.agentMetadata?.askUserQuestionAnswered?`a`:`u`}:${i.agentMetadata?.askUserQuestionAnswers?Object.keys(i.agentMetadata.askUserQuestionAnswers).length:0}`:``,me={isLastAssistant:i.id===re,canRegenerate:ie===i.id&&(ne?.showRegenerate===!0||i.dispatchError===!0),canEdit:ae&&l>oe&&Ai(i),canQuote:le&&!i.variant&&(i.content?.trim().length??0)>0},ge=`${me.canRegenerate?`r`:``}${me.canEdit?`e`:``}${me.canQuote?`q`:``}${me.isLastAssistant?`l`:``}`,_e=i.approval?.toolCallId?n.filter(e=>e.variant===`tool`&&e.toolCall?.id===i.approval?.toolCallId&&(!e.agentMetadata?.executionId||!i.approval?.executionId||e.agentMetadata.executionId===i.approval.executionId)):[],ve=_e.length===1?_e[0].toolCall:void 0,ye=ve&&ve.status!==`pending`?{toolCallId:ve.id,status:ve.status===`running`?`running`:ve.success===!1||ve.error?`failed`:`completed`}:void 0,be=Vo(i,Bc)+fe+`:${ge}`+(w?`:${i.approval?.toolCallId??``}:${JSON.stringify(ye)}`:``),xe=u||w||de||i.dispatchError&&a.errorDisplay===`block`&&!se?null:Uo(yc,i.id,be);if(xe){if(h.has(i.id)&&xc.get(i.id)===be){let e=document.createElement(`div`);e.id=`wrapper-${i.id}`,e.setAttribute(`data-wrapper-id`,i.id),e.setAttribute(`data-persona-reuse`,`true`),o.appendChild(e)}else o.appendChild(xe.cloneNode(!0));s&&g.set(i.id,be),mt(i)&&i.toolCall?.id&&i.agentMetadata?.awaitingLocalTool===!0&&!i.agentMetadata?.askUserQuestionAnswered&&(x.add(i.toolCall.id),Bo(i));return}let Se=null,Ce=()=>{if(i.dispatchError&&a.errorDisplay===`block`){let e=pe();if(e)return e.createErrorBlock(i,r,me.canRegenerate===!0)}let e=ic(i,r,a.layout?.messages,a.messageActions,Wn,{loadingIndicatorRenderer:v,widgetConfig:a,actionEligibility:me});return e.dataset.personaDefaultMessage=`true`,e},D=_.find(e=>!!(i.variant===`reasoning`&&e.renderReasoning||i.variant===`tool`&&e.renderToolCall||!i.variant&&e.renderMessage));if(mt(i)&&i.agentMetadata?.askUserQuestionAnswered===!0){Cc.delete(i.id),ed(t,i.id)?.removeAttribute(`data-preserve-runtime`);return}if(vt(i)&>(a).enabled)return;if(mt(i)&&a.features?.askUserQuestion?.enabled!==!1){let e=_.find(e=>typeof e.renderAskUserQuestion==`function`);if(e&&Mo.current){let t=Cc.get(i.id),n=t!==be,r=null;if(n){let{payload:t,complete:n}=ht(i),o=i.id,s=()=>Mo.current?.getMessages().find(e=>e.id===o);r=e.renderAskUserQuestion({message:i,payload:t,complete:n,resolve:e=>{let t=s();t&&Mo.current?.resolveAskUserQuestion(t,e)},dismiss:()=>{let e=s();e?.agentMetadata?.awaitingLocalTool&&(Mo.current?.markAskUserQuestionResolved(e),Mo.current?.resolveAskUserQuestion(e,`(dismissed)`))},config:a})}if(n&&r===null&&t==null){i.agentMetadata?.awaitingLocalTool===!0&&!i.agentMetadata?.askUserQuestionAnswered&&(x.add(i.toolCall.id),Bo(i));return}let s=$u(i.id,i.role);s.setAttribute(`data-ask-plugin-stub`,`true`),s.setAttribute(`data-preserve-runtime`,`true`),o.appendChild(s),C.push({messageId:i.id,fingerprint:be,bubble:r});return}i.agentMetadata?.awaitingLocalTool===!0&&!i.agentMetadata?.askUserQuestionAnswered&&(x.add(i.toolCall.id),Bo(i));return}if(w){let t=pe();if(!t){o.appendChild($u(i.id,i.role));return}let n=_.find(e=>typeof e.renderApproval==`function`)??ce,r=Nc.get(i.id),s=r!==be,c=null,l=!1;if(s&&n?.renderApproval){let o=i.id,s=!1,u=(e,t)=>{let n=Mo.current?.getMessages().find(e=>e.id===o);s||n?.approval?.status!==`pending`||(s=!0,ct(n.approval)?Mo.current?.resolveWebMcpApproval(n.id,e):Mo.current?.resolveApproval(n.approval,e,t))};Fc(i.id);let d=new AbortController;Pc.set(i.id,d);let f={message:i,execution:ye,signal:d.signal,defaultRenderer:()=>g(),config:a,approve:e=>{d.signal.aborted||u(`approved`,e)},deny:e=>{d.signal.aborted||u(`denied`,e)}},p=null,h=new AbortController;d.signal.addEventListener(`abort`,()=>h.abort(),{once:!0});let g=()=>(p??=ce?.renderApproval?.({...f,signal:h.signal})??t.createApprovalBubble(i,a,m),p);c=n===ce?g():n.renderApproval(f)??g();let _=p!==null&&(c===p||c.contains(p));_||h.abort();let v=e.getRootNode();l=_&&r===void 0&&i.approval?.status===`pending`&&a.approval!==!1&&a.approval?.keyboardShortcuts===`focused`&&e.contains(v.activeElement)}let u=$u(i.id,i.role);u.setAttribute(`data-approval-plugin-stub`,`true`),u.setAttribute(`data-preserve-runtime`,`true`),o.appendChild(u),E.push({messageId:i.id,fingerprint:be,bubble:c,focusDefault:l});return}if(D){if(i.variant===`reasoning`&&i.reasoning&&D.renderReasoning){if(!Lt)return;Se=D.renderReasoning({message:i,defaultRenderer:()=>c.createReasoningBubble(i,a,p),config:a})}else if(i.variant===`tool`&&i.toolCall&&D.renderToolCall){if(!Rt)return;Se=D.renderToolCall({message:i,defaultRenderer:()=>c.createToolBubble(i,a,f),config:a})}else D.renderMessage&&(Se=D.renderMessage({message:i,defaultRenderer:()=>{let e=Ce();return i.role!==`user`&&we(e,i,a,Z),e},config:a}))}if(Se&&Dc.has(i.id)&&Ac(i.id),!Se&&de){let e=Pi(i);if(e){let n=wc.get(i.id),s=a.wrapComponentDirectiveInBubble!==!1&&Le(a,e.component)?.bubbleChrome!==!1,c=`${Vo(i,Bc)}:${s}:${e.raw}`,l=Dc.get(i.id),u=Pe(a,e.component),d=l?.renderer!==u||l?.component!==e.component,f=n!==c||d;l&&(l.context.message=i,l.context.config=a);let p=null;if(f){let n=null;if(l&&!d&&l.handle.update){l.context.message=i,l.context.config=a;try{l.handle.update(e.props,l.context),n=l.handle.element}catch(e){console.error(`[AgentWidget] Component update failed:`,e),Ac(i.id)}}else{Ac(i.id);let t=new AbortController,o={config:a,message:i,signal:t.signal,updateProps:e=>{queueMicrotask(()=>{t.signal.aborted||Mo.current?.updateComponentProps(i.id,e)})}},s=ji(e,{config:a,message:i,transform:r,signal:t.signal,onPropsUpdate:o.updateProps,context:o});if(s){let r=`element`in s?s:{element:s};n=r.element,Dc.set(i.id,{renderer:u,component:e.component,controller:t,handle:r,context:o})}else t.abort()}if(n&&e.component===`PersonaArtifactInline`){let e=n.hasAttribute(`data-artifact-inline`)?n:n.querySelector(`[data-artifact-inline]`),r=e?.getAttribute(`data-artifact-inline`)??``,a=typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(r):r,o=r?t.querySelector(`#wrapper-${i.id}`)?.querySelector(`[data-artifact-inline="${a}"]`)??null:null;e&&o&&o!==e&&mr()?.hasLiveInlineArtifactBlock(o)&&(e===n?n=o:e.replaceWith(o))}if(n){if(s){let e=document.createElement(`div`);if(e.className=[`persona-message-bubble`,`persona-rounded-2xl`,`persona-bg-persona-surface`,`persona-border`,`persona-border-persona-message-border`,`persona-p-4`].join(` `),e.id=`bubble-${i.id}`,e.setAttribute(`data-message-id`,i.id),i.content&&i.content.trim()){let t=document.createElement(`div`);t.className=`persona-mb-3 persona-text-sm persona-leading-relaxed`,t.innerHTML=r({text:i.content,message:i,streaming:!!i.streaming,raw:i.rawContent}),e.appendChild(t)}e.appendChild(n),p=e}else{let e=document.createElement(`div`);if(e.className=`persona-flex persona-flex-col persona-w-full persona-max-w-full persona-gap-3 persona-items-stretch`,e.id=`bubble-${i.id}`,e.setAttribute(`data-message-id`,i.id),e.setAttribute(`data-persona-component-directive`,`true`),i.content&&i.content.trim()){let t=document.createElement(`div`);t.className=`persona-text-sm persona-leading-relaxed persona-text-persona-primary persona-w-full`,t.innerHTML=r({text:i.content,message:i,streaming:!!i.streaming,raw:i.rawContent}),e.appendChild(t)}e.appendChild(n),p=e}}}if(p||Dc.has(i.id)){let e=$u(i.id,i.role);e.setAttribute(`data-component-directive-stub`,`true`),e.setAttribute(`data-preserve-runtime`,`true`),o.appendChild(e),ee.push({messageId:i.id,fingerprint:c,bubble:p});return}}}if(!Se){if(i.variant===`reasoning`&&i.reasoning){if(!Lt)return;Se=c.createReasoningBubble(i,a,p)}else if(i.variant===`tool`&&i.toolCall){if(!Rt)return;Se=c.createToolBubble(i,a,f)}else if(i.variant===`approval`&&i.approval){if(a.approval===!1)return;let e=pe();if(!e)return;Se=e.createApprovalBubble(i,a,m)}else{let e=a.layout?.messages;Se=e?.renderUserMessage&&i.role===`user`?e.renderUserMessage({message:i,config:a,streaming:!!i.streaming}):e?.renderAssistantMessage&&i.role===`assistant`?e.renderAssistantMessage({message:i,config:a,streaming:!!i.streaming}):Ce(),i.role!==`user`&&Se&&we(Se,i,a,Z)}}let Te=$u(i.id,i.role);Te.appendChild(Se),Wo(yc,i.id,be,Te),o.appendChild(Te),s&&g.set(i.id,be)}),I.composerOverlay&&I.composerOverlay.querySelectorAll(`[data-persona-ask-sheet-for]`).forEach(e=>{let t=e.getAttribute(`data-persona-ask-sheet-for`);t&&!x.has(t)&&ft(I.composerOverlay,t)});let ge=d()?.groupToolRows({root:e,config:a,messages:n,tempContainer:o,streaming:w?Z.isStreaming():!1,runActivity:Z?.getRunActivity(),showToolCalls:Rt,showReasoning:Lt,dropCompletedToolCalls:me,dropReasoningRow:fe,createMessageRow:$u,activityIds:i,activityLifecycle:u,toolExpansionState:f});u?.prune(i);for(let e of Dc.keys())y.has(e)||Ac(e);for(let e of Pc.keys())y.has(e)||Fc(e);Go(yc,y);let _e=e=>!(e.toolCall?.id&&x.has(e.toolCall.id))&&!C.some(t=>t.messageId===e.id),ve=e=>mt(e)&&e.agentMetadata?.askUserQuestionAnswered!==!0&&a.features?.askUserQuestion?.enabled!==!1?_e(e):e.variant===`tool`&&!Rt||e.variant===`reasoning`&&!Lt||he(e),ye=n.some(e=>e.role===`assistant`&&e.streaming&&!ve(e)),be=n.length-1;for(;be>=0&&ve(n[be]);)be--;let xe=be>=0?n[be]:void 0,Se=be<n.length-1,Ce=xe?.role===`assistant`&&!xe.streaming&&xe.variant!==`approval`&&!Se;if(!ge&&gc&&n.some(e=>e.role===`user`)&&!ye&&!Ce){let e={config:a,streaming:!0,location:`standalone`,defaultRenderer:()=>qs(a)},t=_.find(e=>e.renderLoadingIndicator)?.renderLoadingIndicator?.(e)??a.loadingIndicator?.render?.(e)??qs(a);if(t){let e=document.createElement(`div`),n=a.loadingIndicator?.showBubble!==!1,r=a.layout?.messages?.layout??`bubble`;e.className=n?Qs(`assistant`,r).join(` `):[`persona-text-sm`,`persona-leading-relaxed`,`persona-text-persona-text`].join(` `),e.setAttribute(`data-typing-indicator`,`true`),n&&(e.style.color=`var(--persona-message-assistant-text, var(--persona-text))`,r!==`flat`&&(e.style.backgroundColor=`var(--persona-message-assistant-bg, var(--persona-container))`,e.style.borderColor=`var(--persona-message-assistant-border, var(--persona-border, #e5e7eb))`)),e.appendChild(t);let i=$u(`typing-indicator`,`assistant`);i.appendChild(e),o.appendChild(i)}}if(!gc&&n.length>0){let e=n[n.length-1],t={config:a,lastMessage:e,messageCount:n.length},r=_.find(e=>e.renderIdleIndicator)?.renderIdleIndicator?.(t)??a.loadingIndicator?.renderIdle?.(t);if(r){let e=document.createElement(`div`);e.className=a.loadingIndicator?.showBubble===!1?[`persona-text-sm`,`persona-leading-relaxed`,`persona-text-persona-primary`].join(` `):[`persona-rounded-2xl`,`persona-text-sm`,`persona-leading-relaxed`,`persona-shadow-sm`,`persona-bg-persona-surface`,`persona-border`,`persona-border-persona-message-border`,`persona-text-persona-primary`,`persona-px-5`,`persona-py-3`].join(` `),e.setAttribute(`data-idle-indicator`,`true`),e.appendChild(r);let t=$u(`idle-indicator`,`assistant`);t.appendChild(e),o.appendChild(t)}}Lr(o),l?.prepare(o),u?.prepare(o),Fo(t,o),xc=g;for(let e of Array.from(t.querySelectorAll(`:scope > [data-persona-reuse]`))){let t=yc.get(e.getAttribute(`data-wrapper-id`)??``);t?e.replaceWith(t.wrapper.cloneNode(!0)):e.remove()}if(zr(t),ue){let{messageId:e,element:n}=ue,r=ed(t,e);r&&n.parentElement!==r&&(Qu(r,b.get(e)??`user`),r.replaceChildren(n))}if(C.length>0)for(let{messageId:e,fingerprint:n,bubble:r}of C){let i=ed(t,e);i&&(Qu(i,b.get(e)??`assistant`),r!==null&&(i.replaceChildren(r),i.setAttribute(`data-bubble-fp`,n),Cc.set(e,n)))}if(Cc.size>0)for(let e of Cc.keys())y.has(e)||Cc.delete(e);if(ee.length>0)for(let{messageId:e,fingerprint:n,bubble:r}of ee){let i=ed(t,e);i&&(Qu(i,b.get(e)??`assistant`),r!==null&&(i.replaceChildren(r),i.setAttribute(`data-bubble-fp`,n),wc.set(e,n)))}if(wc.size>0)for(let e of wc.keys())y.has(e)||wc.delete(e);if(E.length>0)for(let{messageId:e,fingerprint:n,bubble:r,focusDefault:i}of E){let a=ed(t,e);a&&(Qu(a,b.get(e)??`assistant`),r!==null&&(a.replaceChildren(r),a.setAttribute(`data-bubble-fp`,n),Nc.set(e,n),i&&r.querySelector(`[data-action="allow"]`)?.focus()))}if(Nc.size>0)for(let e of Nc.keys())y.has(e)||Nc.delete(e);d(),l?.sync(),u?.sync()},nd=()=>{Wr().catch(()=>{})},rd=(e,t,n)=>{if(t.length>0&&nd(),td(e,t,n),oo(),Za.size>0){for(let[e,n]of Za)t.some(t=>t.id===e)||(window.clearTimeout(n),Za.delete(e));eo()}},id=null,ad=()=>{if(id)return;let t=e=>{let t=e.composedPath();t.includes(P)||Xn&&t.includes(Xn)||gd(!1,`user`)};id=t,(e.ownerDocument??document).addEventListener(`pointerdown`,t,!0)},od=()=>{id&&=((e.ownerDocument??document).removeEventListener(`pointerdown`,id,!0),null)};X.push(()=>od());let sd=null,cd=()=>{if(sd)return;let t=e=>{e.key===`Escape`&&(e.isComposing||gd(!1,`user`))};sd=t,(e.ownerDocument??document).addEventListener(`keydown`,t,!0)},ld=()=>{sd&&=((e.ownerDocument??document).removeEventListener(`keydown`,sd,!0),null)};X.push(()=>ld());let ud=!1,dd=/* @__PURE__ */ new Set,fd=()=>a.launcher?.composerBar?.peek?.streamAnimation||a.features?.streamAnimation,pd=()=>{if(!j())return;let t=I.peekBanner,n=I.peekTextNode;if(!t||!n)return;if(N){t.classList.remove(`persona-pill-peek--visible`);return}let r=Z?.getMessages()??[],i;for(let e=r.length-1;e>=0;e--){let t=r[e];if(t.role===`assistant`&&t.content){i=t;break}}if(!i){t.classList.remove(`persona-pill-peek--visible`);return}let a=i.content,o=!!i.streaming,s=fd(),c=sn(s),l=c.type===`none`?null:Ls(c.type,s?.plugins),u=l?.isAnimating?.(i)===!0,d=l!==null&&(o||u);d&&l&&!dd.has(l.name)&&(dn(l,e),dd.add(l.name));let f=d&&l?.containerClass?l.containerClass:null,p=n.dataset.personaPeekStreamClass??null;p&&p!==f&&(n.classList.remove(p),delete n.dataset.personaPeekStreamClass),f&&p!==f&&(n.classList.add(f),n.dataset.personaPeekStreamClass=f),d?(n.style.setProperty(`--persona-stream-step`,`${c.speed}ms`),n.style.setProperty(`--persona-stream-duration`,`${c.duration}ms`)):(n.style.removeProperty(`--persona-stream-step`),n.style.removeProperty(`--persona-stream-duration`));let m=d?un(a,c.buffer,l,i,o):a;if(d&&c.placeholder===`skeleton`&&o&&(!m||!m.trim())){let e=document.createElement(`div`),t=fn();t.classList.add(`persona-pill-peek__skeleton`),e.appendChild(t),Fo(n,e)}else{let e=Math.max(0,m.length-100),r=m.length>100?m.slice(-100):m,a=je(r);if(!d||!l){let e=m.length>100?`…${r}`:r;n.textContent!==e&&(n.textContent=e)}else{let o=a;(l.wrap===`char`||l.wrap===`word`)&&(o=hn(a,l.wrap,`peek-${i.id}`,{skipTags:l.skipTags,startIndex:e}));let s=document.createElement(`div`);if(s.innerHTML=o,l.useCaret&&r.length>0){let e=cn(),t=s.querySelectorAll(`.persona-stream-char, .persona-stream-word`),n=t[t.length-1];n?.parentNode?n.parentNode.insertBefore(e,n.nextSibling):s.appendChild(e)}Fo(n,s),l.onAfterRender?.({container:n,bubble:t,messageId:i.id,message:i,speed:c.speed,duration:c.duration})}}let h=gc||ud;t.classList.toggle(`persona-pill-peek--visible`,h)};if(j()){let e=I.peekBanner;if(e){let t=e=>{e.preventDefault(),e.stopPropagation(),gd(!0,`user`)};e.addEventListener(`pointerdown`,t),X.push(()=>{e.removeEventListener(`pointerdown`,t)})}let t=()=>{ud||(ud=!0,pd())},n=()=>{ud&&(ud=!1,pd())};F.addEventListener(`pointerenter`,t),F.addEventListener(`pointerleave`,n),X.push(()=>{F.removeEventListener(`pointerenter`,t),F.removeEventListener(`pointerleave`,n)}),Xn&&(Xn.addEventListener(`pointerenter`,t),Xn.addEventListener(`pointerleave`,n),X.push(()=>{Xn.removeEventListener(`pointerenter`,t),Xn.removeEventListener(`pointerleave`,n)}))}let md=e=>{let t=a.launcher?.composerBar??{},n=t.expandedSize??`anchored`,r=t.bottomOffset??`16px`,i=t.collapsedMaxWidth,o=t.expandedMaxWidth??`880px`,s=t.expandedTopOffset??`5vh`,c=t.modalMaxWidth??`880px`,l=t.modalMaxHeight??`min(90vh, 800px)`,u=`calc(100vw - 32px)`;gi();let d=P.style;if(d.left=``,d.right=``,d.top=``,d.bottom=``,d.transform=``,d.width=``,d.maxWidth=``,d.height=``,d.maxHeight=``,Xn){let e=Xn.style;e.bottom=r,e.width=i??``}e&&n!==`fullscreen`&&(n===`modal`?(d.top=`50%`,d.left=`50%`,d.transform=`translate(-50%, -50%)`,d.bottom=`auto`,d.right=`auto`,d.width=c,d.maxWidth=u,d.maxHeight=l,d.height=l):(d.left=`50%`,d.transform=`translateX(-50%)`,d.bottom=`calc(${r} + var(--persona-pill-area-height, var(--persona-measured-pill-area-height, 80px)))`,d.top=s,d.width=o,d.maxWidth=u))},hd=()=>{if(N&&nd(),!M())return;if(j()){let e=(a.launcher?.composerBar??{}).expandedSize??`anchored`,t=N?`expanded`:`collapsed`;P.dataset.state=t,P.dataset.expandedSize=e,Xn&&(Xn.dataset.state=t,Xn.dataset.expandedSize=e),P.style.removeProperty(`display`),P.classList.remove(`persona-pointer-events-none`,`persona-opacity-0`),F.classList.remove(`persona-scale-95`,`persona-opacity-0`,`persona-scale-100`,`persona-opacity-100`),md(N),L.style.display=N?`flex`:`none`,fo(),N?(ad(),cd()):(od(),ld()),pd();return}let t=es(a),n=e.ownerDocument.defaultView??window,r=a.launcher?.mobileBreakpoint??640,i=a.launcher?.mobileFullscreen??!0,o=n.innerWidth<=r,s=i&&o&&A,c=ns(a).reveal;N?(P.style.removeProperty(`display`),P.style.display=t?`flex`:``,P.classList.remove(`persona-pointer-events-none`,`persona-opacity-0`),F.classList.remove(`persona-scale-95`,`persona-opacity-0`),F.classList.add(`persona-scale-100`,`persona-opacity-100`),Om?(Om.setPanelOpen(!0),Om.element.style.display=`none`):km&&(km.style.display=`none`)):(t?t&&(c===`overlay`||c===`push`)&&!s?(P.style.removeProperty(`display`),P.style.display=`flex`,P.classList.remove(`persona-pointer-events-none`,`persona-opacity-0`),F.classList.remove(`persona-scale-100`,`persona-opacity-100`,`persona-scale-95`,`persona-opacity-0`)):(P.style.setProperty(`display`,`none`,`important`),P.classList.remove(`persona-pointer-events-none`,`persona-opacity-0`),F.classList.remove(`persona-scale-100`,`persona-opacity-100`,`persona-scale-95`,`persona-opacity-0`)):(P.style.display=``,P.classList.add(`persona-pointer-events-none`,`persona-opacity-0`),F.classList.remove(`persona-scale-100`,`persona-opacity-100`),F.classList.add(`persona-scale-95`,`persona-opacity-0`)),Om?(Om.setPanelOpen(!1),Om.element.style.display=t?`none`:``):km&&(km.style.display=t?`none`:``))},gd=(t,n=`user`)=>{if(!M()||N===t)return;let r=N;N=t,hd();let i=(()=>{let t=a.launcher?.sidebarMode??!1,n=e.ownerDocument.defaultView??window,r=a.launcher?.mobileFullscreen??!0,i=a.launcher?.mobileBreakpoint??640,o=n.innerWidth<=i,s=es(a)&&r&&o,c=j()&&(a.launcher?.composerBar?.expandedSize??`fullscreen`)===`fullscreen`;return t||r&&o&&A||s||c})();if(N&&i){if(!Ms){let t=e.getRootNode(),n=t instanceof ShadowRoot?t.host:e.closest(`.persona-host`);n&&(Ms=Yo(n,a.launcher?.zIndex??1e5))}Ns||=Qo(e.ownerDocument)}else N||(Ms?.(),Ms=null,Ns?.(),Ns=null);N&&(Nm(),yu()||(Ur()===`follow`?uu(!0):hu()));let o={open:N,source:n,timestamp:Date.now()};N&&!r?D.emit(`widget:opened`,o):!N&&r&&D.emit(`widget:closed`,o),D.emit(`widget:state`,{open:N,launcherEnabled:A,voiceActive:Q.active,streaming:Z.isStreaming()})},_d={inputDisabled:!1,sendDisabled:!1},vd=()=>_d.inputDisabled,yd=()=>Dr(a.voiceRecognition?.provider)&&!!Z&&(Z.isBargeInActive()||[`listening`,`processing`,`speaking`].includes(Z.getVoiceStatus())),bd=()=>_d.inputDisabled||_d.sendDisabled,xd=()=>(_d.inputDisabled?_d.inputReason:void 0)??(_d.sendDisabled?_d.sendReason:void 0);function Sd(){if(!rr)return;if(K.getState().phase===`streaming`){rr.disabled=!1;return}let e=W?!W.isReady():!1;rr.disabled=bd()||e}function Cd(){if(!Er)return;let e=K.getState(),t=a.sendButton?.visibility===`when-text`&&e.phase!==`streaming`&&e.text.trim().length===0&&e.attachments.length===0;Er.toggleAttribute(`data-persona-send-hidden`,t)}function wd(){let e=xd();if(j()){let t=ir??H;e?t.setAttribute(`title`,e):t.removeAttribute(`title`),H.toggleAttribute(ku,!!e)}else if(e)V.setAttribute(`role`,`status`),V.setAttribute(`aria-live`,`polite`),V.setAttribute(ku,``),V.removeAttribute(Au),V.textContent=e,E(V,a.statusIndicator??{},`idle`);else if(V.hasAttribute(ku)&&(V.removeAttribute(`role`),V.removeAttribute(`aria-live`),V.removeAttribute(ku),w)){let e=Z.getStatus();Kn(V,Gn(e),a.statusIndicator??{},e)}}function Td(){let e=he(a.composer?.inputDisabled),t=he(a.composer?.sendDisabled);_d={inputDisabled:e.disabled,inputReason:e.reason,sendDisabled:t.disabled,sendReason:t.reason},K.setInputDisabled(e.disabled),K.setSendDisabled(t.disabled);let n=K.getState().phase===`streaming`,r=e.disabled,i=n||r;B&&(B instanceof HTMLTextAreaElement?B.disabled=r:B.setAttribute(`contenteditable`,r?`false`:`true`),B.setAttribute(`aria-disabled`,r?`true`:`false`)),Ir&&(Ir.disabled=r),Br&&(Br.disabled=r);for(let e of G?.affordanceButtons??[])e.querySelectorAll(`button`).forEach(e=>{e.disabled=r});U&&(U.disabled=r||n&&!yd()),Us.forEach(e=>{e.elements.forEach(e=>{e.toggleAttribute(`data-disabled`,i),e instanceof HTMLButtonElement||e.setAttribute(`aria-disabled`,i?`true`:`false`)}),e.buttons.forEach(e=>{e.disabled=i})}),Hd.forEach(e=>{e.toggleAttribute(`data-disabled`,i),e instanceof HTMLButtonElement?e.disabled=i:e.setAttribute(`aria-disabled`,i?`true`:`false`),e.querySelectorAll(`button`).forEach(e=>{e.disabled=i})}),H.dataset.personaComposerStreaming=n?`true`:`false`,H.dataset.personaComposerInputDisabled=r?`true`:`false`,H.dataset.personaComposerSendDisabled=bd()?`true`:`false`,H.querySelectorAll(`[data-persona-composer-disable-when-streaming]`).forEach(e=>{(e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement)&&(e.disabled=n)}),Sd(),wd()}let Ed=e=>{K.setStreaming(e),Or(e?`stop`:`send`),Td()},Dd=()=>{e.hasAttribute(`data-persona-preparing`)?o.ready.then(Dd,()=>{}):Q.active||B&&B.focus()};D.on(`widget:opened`,()=>{a.autoFocusInput&&setTimeout(()=>Dd(),200)});let Od=null,kd=!1,Ad=!ar.hidden,jd=null,Md=!Ne,Nd=null;X.push(()=>{Nd?.cancel(),Nd=null});let Pd=t=>{let n=Tc(t);if(n===di)return;di=n,e.setAttribute(`data-persona-conversation-state`,n);let r=pi();vi(),Md&&(Nd?.cancel(),Nd=vc(H,n===`active`?r:pi(),n===`active`?`drop`:`rise`,li().layout===`centered`?320:260)),Gu()},Fd=null,Id,Ld=null,Rd=null,zd=!1,Bd=e=>{let t=li(),n=`${t.variant}|${t.layout}|${t.dismiss}|${t.anchor??`bottom`}|${t.align??``}|${t.iconPlacement}|${t.kicker??``}|${t.title}|${t.subtitle}`;(n!==Fd||t.icon!==Id)&&(Fd=n,Id=t.icon,cc({host:ar,iconHolder:or,kicker:cr,title:lr,subtitle:ur,starterSuggestions:Qn},t));let r=t.message===void 0?null:`${a.layout?.messages?.layout??`bubble`}|${t.message}`;r!==Ld&&(Ld=r,hc(sr,t.message,a));let i=e??(Z?Z.getMessages():a.initialMessages);Pd(i);let o=kd,s=!o&&Ec(t,i),c=s!==Ad;if(Ad=s,Rd){jd?.cancel(),jd=null,o!==zd&&(zd=o,o?pc(R,ar,null):fc(R,ar,Rd)),sc(R,ar,!o);return}if(c&&!s&&!o&&t.dismiss===`on-first-message`&&Md){jd=_c(ar,e=>{jd===e&&(jd=null),!Ad&&!Rd&&(sc(R,ar,!1),Gu()),e?.cancel()});return}if(jd){if(!s&&!o)return;jd.cancel(),jd=null}let l=!ar.hidden;sc(R,ar,s),!s&&l&&Gu()},Vd=[],Hd=[],Ud=!1,Wd=null,Gd,Kd=()=>{Hd.length=0;let e=Vd.splice(0,Vd.length);for(let t of e)try{t()}catch(e){console.warn(`[persona] renderWelcome cleanup threw`,e)}};X.push(Kd);let qd=(e,t)=>{let n=as(e,t);if(!n)return a.debug===!0&&console.warn(`[persona] renderStarter received a suggestion with no label`),k(`span`);let r=a.suggestions?.starters,i=ls({item:{...n,behavior:n.behavior??r?.behavior??`send`},index:t,surface:`starter`,source:`config`,variant:r?.variant??`card`,streaming:w?Z.isStreaming():!1,config:a,plugins:_,chipsConfig:a.suggestionChipsConfig,session:Z,getTextarea:()=>B,eventTarget:ar,submitPrompt:xp});return Hd.push(i),i},Jd=()=>{if(Ud)return;Ud=!0;let e=li();Wd=`${e.variant}|${e.layout}|${e.dismiss}|${e.title}|${e.subtitle}|${e.message??``}`,Gd=e.icon;try{Kd(),pc(R,ar,Rd),Rd=null,zd=!1;let t=Z?Z.getMessages():a.initialMessages,n=Ec(e,t),r=0,i=null;for(let t of _)if(t.renderWelcome&&(i=t.renderWelcome({config:e,variant:e.variant,visible:n,defaultRenderer:()=>ar,sendMessage:e=>{if(!Z||Z.isStreaming())return;let t=e.trim();t&&Z.sendMessage(t)},requestRender:()=>Jd(),renderStarter:e=>qd(e,r++),storage:oe(t.id),onCleanup:e=>{Vd.push(e)}}),i))break;i&&i!==ar&&(Rd=i,fc(R,ar,i))}finally{Ud=!1}Bd()},Yd=()=>{let e=li();(`${e.variant}|${e.layout}|${e.dismiss}|${e.title}|${e.subtitle}|${e.message??``}`!==Wd||e.icon!==Gd)&&Jd()},Xd=()=>{Bd(),ta||(B.placeholder=Bt(K.getState().activeModeIds,a.composer?.modes)??a.copy?.inputPlaceholder??`How can I help...`,!(a.sendButton?.useIcon??!1)&&!Z?.isStreaming()&&(rr.textContent=a.copy?.sendButtonLabel??`Send`)),B.style.fontFamily=`var(--persona-input-font-family, var(--persona-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif))`,B.style.fontWeight=`var(--persona-input-font-weight, var(--persona-font-weight, 400))`},Zd=!!a.setStoredConversationId,Qd=e=>rt(t=>{let n={...t};return delete n[e],n}),$d=e=>{let t=Me[e];return typeof t==`string`?t:null},ef=()=>{let e=Me.durableResume;if(!e||typeof e!=`object`)return null;let t=e;return typeof t.executionId==`string`&&t.executionId.length>0&&typeof t.after==`string`&&t.after.length>0?{executionId:t.executionId,after:t.after}:null};a.clientToken&&(a={...a,getStoredSessionId:()=>$d(`sessionId`),setStoredSessionId:e=>{rt(t=>({...t,sessionId:e}))},clearStoredSessionId:a.clearStoredSessionId??(()=>Qd(`sessionId`)),getStoredConversationId:a.getStoredConversationId??(()=>$d(`conversationId`)),setStoredConversationId:a.setStoredConversationId??(e=>{rt(t=>({...t,conversationId:e}))}),clearStoredConversationId:a.clearStoredConversationId??(()=>Qd(`conversationId`))});let tf=()=>a.clientToken??null,nf=e=>pu(e,an(),a.persistState===!1),rf=tf(),af=rf?nf(rf):null,of=()=>{let e=Me.pendingDisplayProjections;if(!e||typeof e!=`object`)return null;let t=e;return typeof t.conversationId!=`string`||!Array.isArray(t.messageIds)?null:{conversationId:t.conversationId,messageIds:t.messageIds.filter(e=>typeof e==`string`)}},sf={...af?{visitorStore:af}:{},historyBootstrapReady:a.features?.history?.enabled===!0&&!Su()?Promise.all([ze,Ue]).then(()=>{}):ze,getStoredMessageCursor:()=>$d(`historyMessageCursor`),setStoredMessageCursor:e=>{e===null?Qd(`historyMessageCursor`):rt(t=>({...t,historyMessageCursor:e}))},getPendingDisplayProjections:of,setPendingDisplayProjections:e=>{e?rt(t=>({...t,pendingDisplayProjections:e})):Qd(`pendingDisplayProjections`)},getStoredResumableHandle:ef,setStoredResumableHandle:e=>{e?rt(t=>({...t,durableResume:e})):Qd(`durableResume`)},shouldResumeDurableConversation:()=>Oe&&ef()!==null,...Zd?{}:{getStoredConversationRevision:()=>$d(`conversationRevision`),setStoredConversationRevision:e=>{e===null?Qd(`conversationRevision`):rt(t=>({...t,conversationRevision:e}))}}};if(Oe){let t=a.onExecutionState,n=e.ownerDocument.defaultView,r=!1,i=()=>r=!0,o=()=>r=!1;n?.addEventListener(`pagehide`,i),n?.addEventListener(`pageshow`,o),X.push(()=>{n?.removeEventListener(`pagehide`,i),n?.removeEventListener(`pageshow`,o)}),a={...a,reconnectStream:a.reconnectStream??(e=>Z.getClient().reconnectClientTokenStream(e)),onExecutionState:e=>{(e||!r)&&sf.setStoredResumableHandle?.(e?{executionId:e.executionId,after:e.lastEventId}:null),t?.(e)}}}let cf=()=>{let e=tf();if(e&&af?.matches(e,an(),a.persistState===!1)||!e&&!af)return;af?.destroy(),af=e?nf(e):null;let t={...sf};af?t.visitorStore=af:delete t.visitorStore,sf=t,Z.setHistoryInternals(sf)},lf=null,uf=()=>{lf??=setInterval(()=>{let e=z.querySelectorAll(`[data-tool-elapsed]`);if(e.length===0){clearInterval(lf),lf=null;return}let t=Date.now();e.forEach(e=>{c?.updateActivityElapsed(e,t)})},100)},df=e=>e.role===`user`||e.variant===`approval`||e.agentMetadata?.awaitingLocalTool===!0||mt(e),ff=(e,t)=>{if(t.length<e.length)return!1;for(let n=0;n<t.length;n+=1){let r=t[n];if(r!==e[n]){if(df(r))return!1;r.role===`assistant`&&r.streaming&&bc.add(r.id)}}return!0},pf=null,mf=null,hf=null,gf=null,_f=e=>{if(!Oe)return Ol(e);gf=e,queueMicrotask(()=>{gf===e&&(gf=null,Ol(mf??e))})},vf=e=>{!e.length&&a.future?.v5Defaults&&(Gs=null),pf=e;let t,n;for(let r=e.length-1;r>=0;--r){let i=e[r];if(!t&&i.role===`user`&&(t=i),!n&&i.role===`assistant`&&(n=i),t&&n)break}rd(z,e,It),mr()?.updateInlineArtifactBlocks(z,go.artifacts,{suppressTransition:gc}),uf(),Bd(e),lc(e),uu(!gc),Zu(e),au(),En?.update(),e.length===0&&(ju(),rl=!0,il=!1,ol=null,sl=!1),!Qc||$c?(Qc=!0,el=t?.id??null,ll=n?.id??null):t&&t.id!==el?(el=t.id,qu(t.id)):n&&n.id!==ll&&Ju(),n&&(ll=n.id),Xu(e);let r=Q.lastUserMessageId;t&&t.id!==r&&(Q.lastUserMessageId=t.id,D.emit(`user:message`,t)),Q.lastUserMessageWasVoice=!!t?.viaVoice,_f(e),pd(),D.emit(`messages:changed`,e)},yf=()=>{hf!==null&&(cancelAnimationFrame(hf),hf=null);let e=mf;mf=null,e&&vf(e)},bf=()=>{hf!==null&&cancelAnimationFrame(hf),hf=null,mf=null},xf=e=>{if(e.length===0){bf(),vf(e);return}let t=mf??pf;gc&&t&&ff(t,e)?(mf=e,hf===null&&(hf=requestAnimationFrame(()=>{hf=null;let e=mf;mf=null,e&&vf(e)}))):(yf(),vf(e))};Z=new Zi(a,{onRunStarted:e=>D.emit(`run:started`,e),onRunFinished(e){yf(),a.turnActivity?.enabled&&rd(z,Z.getMessages(),It),D.emit(`run:finished`,e)},onMessagesChanged(e){xf(e)},onStatusChanged(e){let t=a.statusIndicator??{};Kn(V,(e=>e===`idle`?t.idleText??Ge.idle:e===`connecting`?t.connectingText??Ge.connecting:e===`connected`?t.connectedText??Ge.connected:e===`error`?t.errorText??Ge.error:e===`paused`?t.pausedText??Ge.paused:e===`resuming`?t.resumingText??Ge.resuming:Ge[e])(e),t,e),au(),En?.update(),Hn()},onStreamingChanged(e){e||(Z?.getMessages().length===0?bf():yf()),gc=e,e?uc():a.future?.v5Defaults&&lc(),Ed(e),Hn(),Z&&rd(z,Z.getMessages(),It),e||(uu(!0),Tu(),ac=!0,Z&&oc(Z.getMessages(),gt(a))),au(),En?.update(),si(e?`Responding…`:`Response complete.`),pd()},onVoiceStatusChanged(e){if(D.emit(`voice:status`,{status:e,timestamp:Date.now()}),e!==`disconnected`&&!Dr(a.voiceRecognition?.provider))return;let t=Z.getVoiceNotice();switch(t&&up(t,1e4),e){case`listening`:if(!hl){let e=Z.getVoiceDisclosure();e&&(hl=!0,j()?(gl=B.placeholder,B.placeholder=e,si(e)):up(e,1e4))}um(),sm();break;case`processing`:um(),cm();break;case`speaking`:um(),lm();break;default:e===`idle`&&Z.isBargeInActive()?(um(),sm(),U?.setAttribute(`aria-label`,`End voice session`)):(Q.active=!1,hl=!1,gl!==null&&(B.placeholder=gl,gl=null),um(),bl(`system`),yl||xl())}},onArtifactsState(e){go=e,e.artifacts.length===0&&(Eo=!1),mr()?.updateInlineArtifactBlocks(z,e.artifacts,{suppressTransition:gc}),bs(),Ol()},onHistoryStateChanged(e){Bn(e)},onHistoryNotice(e){Vn(e)},onHistoryScopeInvalidated(){Hf(),$?.clearConversationOpenPending()},onConversationExecutionState(e){D.emit(`conversation:executionState`,e)},onReconnect(e){let{executionId:t,lastEventId:n}=e.handle;e.phase===`paused`?D.emit(`stream:paused`,{executionId:t,after:n}):e.phase===`resuming`?D.emit(`stream:resuming`,{executionId:t,after:n,attempt:e.attempt??1}):D.emit(`stream:resumed`,{executionId:t,after:n})}},sf),Mo.current=Z,X.push(()=>Z.cancel()),X.push(()=>{Z.destroy(),af?.destroy(),af=null});let Sf=null;if(Z.onReadAloudChange((e,t)=>{no=e,ro=t,oo();let n=e??Sf;e&&(Sf=e);let r=n?Z.getMessages().find(e=>e.id===n)??null:null;D.emit(`message:read-aloud`,{messageId:n,message:r,state:t,timestamp:Date.now()}),t===`idle`&&(Sf=null)}),w=!0,Qc=!0,a.voiceRecognition?.enabled===!0&&kr(a))try{Z.setupVoice()}catch(e){typeof console<`u`&&console.warn(`[AgentWidget] Runtype voice setup failed:`,e)}let $=null,Cf=null,wf=!1,Tf=Z.getHistoryState(),Ef=()=>a.features?.history?.enabled===!0,Df=e=>{e&&(ii.textContent=``,ii.textContent=e)},Of=()=>{y.forEach(e=>e()),y=[];let t=$,n=t?.railCollapseShortcut();t&&n&&y.push(v.register({id:`history-rail-collapse`,combo:n.combo,scope:a.features?.history?.rail?.collapseShortcutScope===`page`?`page`:`widget`,when:()=>Fn&&Ln===`rail`&&t.railCollapsible()||t.railTriggerApplies(),run:()=>t.railOverlayMode()?t.toggleRailPinned():t.toggleRailCollapsed()}));for(let t of a.layout?.header?.trailingActions??[])t.shortcut&&y.push(v.register({id:`header-action-${t.id}`,combo:t.shortcut,run:()=>{let n=e.querySelector(`[data-persona-header-action="${t.id}"]`);n?n.click():a.layout?.header?.onAction?.(t.id)}}));for(let e of _)for(let t of e.shortcuts??[])y.push(v.register({...t,id:`${e.id}:${t.id}`}))};Of();let kf=null,Af=!1,jf=()=>{if(!gr)return;let e=a.layout?.header?.titleSource===`conversation`,t=e&&kf?.trim()||null;gr.textContent=t??a.launcher?.title??`Chat Assistant`;let n=gr.closest(`.persona-combo-btn`);if(!n)return;let r=!e||Z.getActiveConversationId()!==null;n.setAttribute(`data-persona-menu-locked`,r?`false`:`true`),n.setAttribute(`aria-haspopup`,r?`true`:`false`),r||n.setAttribute(`aria-expanded`,`false`),n.style.cursor=r?`pointer`:`default`;let i=n.querySelector(`svg`);i&&(i.style.display=r?``:`none`)},Mf=e=>{e!==kf&&(kf=e,jf())},Nf=e=>{Af=e?.starred===!0,Mf(e&&e.title.trim()||null),jf()};jf(),L.addEventListener(`persona:title-menu-builtin`,e=>{let t=e.detail?.actionId,n=Z.getActiveConversationId();n&&(t===`delete`?Kf(e=>e.requestDeleteConversation(n)):t===`star`&&Z.canUpdateConversations()&&Kf(e=>e.updateHistoryConversation(n,{starred:!Af})).catch(()=>{}))});let Pf=/* @__PURE__ */ new Map,Ff=(e=Z.getActiveConversationId(),t=$?.historyOperationScope()??a.features?.history?.scope??(a.getIdentityProof?`verified-user`:`browser`))=>JSON.stringify([t,e]),If=null,Lf=0,Rf=()=>{let e=R.getBoundingClientRect().top,t=R.clientHeight>0?Array.from(z.querySelectorAll(`[data-message-id]`)).find(t=>t.getBoundingClientRect().bottom>e):void 0;return{top:R.scrollTop,anchorId:t?.dataset.messageId,anchorOffset:t?t.getBoundingClientRect().top-e:0,following:Vc.isFollowing(),followFallback:rl,anchored:il,anchoredId:ol,readerEngaged:sl,anchor:Yc?{...Yc}:null,unread:Jc}},zf=()=>{Wp(),im(`system`),kr(a)&&Z.cleanupVoice(),++Lf,sp?.abort(),sp=null,K.setPreparing(!1),zc(),Rl();let e=K.getState(),t=Ff();Pf.set(t,{draft:{text:e.text,mentionRefs:[...e.mentionRefs],contentSegments:ip(),quote:e.quote,selectedModelId:e.selectedModelId,activeModeIds:[...e.activeModeIds]},document:G?.getInlineInput()?.getDocument?.(),mentions:G?.captureDraft()??[],attachments:W,pending:e.pendingSubmission,reading:If?.key===t?If.reading:Rf()}),Nl.cancel()},Bf=e=>{rl=e.followFallback,il=e.anchored,ol=e.anchoredId,sl=e.readerEngaged,Yc=e.anchor?{...e.anchor,pending:0}:null,bu(e.anchor?.spacerHeight??0),e.following?Vc.resume():Vc.pause(),Jc=e.unread;let t=Array.from(z.querySelectorAll(`[data-message-id]`)).find(t=>t.dataset.messageId===e.anchorId);Wc=!0,e.following&&Gr()?R.scrollTop=Xe(R):t?R.scrollTop+=t.getBoundingClientRect().top-R.getBoundingClientRect().top-e.anchorOffset:R.scrollTop=e.top,Wc=!1,Hc=R.scrollTop,Fm=Xe(R),Jl(),Es(),au()},Vf=(e=!1,t=!0)=>{let n=e?void 0:Pf.get(Ff());G?.clear(),W?.setPreviewsContainer(null),W=n?.attachments??(a.attachments?.enabled?wi():null),W?.updateConfig(Si()),W?.remountPreviews(Vr),Ti(W?.getAttachments()??[]);let r=n?.draft,i=G?.getInlineInput();n?.document&&i?.setDocument?i.setDocument(n.document):i?i.setValueWithCaret(r?.text??``,(r?.text??``).length):B.value=r?.text??``,G?.restoreDraft(n?.mentions??[]),yi(),bi(),K.setSelectedModelId(r?a.composer?.models?.some(e=>e.id===r.selectedModelId)?r.selectedModelId:void 0:a.composer?.selectedModelId),Ri?.repaint(),Ii(Kt(r?.activeModeIds??a.composer?.defaultActiveModeIds??[],Ei())),Vi(r?.quote),Gi(n?.pending),Dp(),ju(),Gl(),$?.cancelConversationOpenTakeover(),Od&&(Od.hidden=!0),kd=!1,z.style.removeProperty(`display`),n?Bf(n.reading):(su(),yu()||hu()),t&&(Al=Ml()?da({...K.getState(),contentSegments:ip()}):void 0),Nl.cancel(),t&&Ol(),If={key:Ff(),reading:n?.reading??Rf()}},Hf=(e,t=!0,n=!0)=>{for(let[t,n]of Pf)(e===void 0||JSON.parse(t)[1]===e)&&(n.attachments?.destroy({release:!0}),W===n.attachments&&(W=null),Pf.delete(t));(e===void 0||e===Z.getActiveConversationId())&&(++Lf,jl=null,sp?.abort(),sp=null,Wp(),W?.destroy({release:!0}),W=null,t&&Vf(!0,n),If=null)};Bn=e=>{Tf=e,$?.historySurface?.view.setNewConversationRequired(e.recovery===`new_conversation_required`),Ed(e.sendBlocked||gc),$?.syncEarlierMessagesPill()},Vn=e=>{(e.code===`history_continuity_reset`||e.code===`conversation_deleted_recovered`)&&(Hf(),$?.clearConversationOpenPending(),yc.clear(),ju(),su()),Df(e.message),$?.historySurface?.view.refresh()};let Uf={getBubbleClasses:Qs,parseCombo:Do,formatCombo:Ao,ariaCombo:jo,usesSessionVoiceForConfig:kr,applyBubbleGeometry:ec,resolveThemeDefaults:Ra,composerStore:K,get attachmentManager(){return W},set attachmentManager(e){W=e},get composerConversationGeneration(){return Lf},set composerConversationGeneration(e){Lf=e},get submissionAbort(){return sp},set submissionAbort(e){sp=e},persistState:Ol,applyMessageRowLayout:Qu,SessionHistoryError:Ji,instanceId:r,discardConversationContinuity:Hf,clearPersistedDraft:Vl,saveConversationContinuity:zf,restoreConversationContinuity:Vf,get pendingConversationReading(){return If},set pendingConversationReading(e){If=e},conversationStateKey:Ff,captureConversationReading:Rf,restoreConversationReading:Bf,get conversationPersistenceOwner(){return jl},set conversationPersistenceOwner(e){jl=e},setComposerDisabled:Ed,get actionManager(){return ot},get activeConversationTitle(){return kf},announceHistory:Df,get applyRailChrome(){return zn},set applyRailChrome(e){zn=e},get artifactSplitRoot(){return rs},get body(){return R},get config(){return a},get container(){return L},get conversationOpenPendingEl(){return Od},set conversationOpenPendingEl(e){Od=e},get conversationOpenTakeover(){return kd},set conversationOpenTakeover(e){kd=e},currentKeyPrefix:an,destroyCallbacks:X,eventBus:D,get footer(){return H},get header(){return vr},get historyChromeSync(){return Hn},set historyChromeSync(e){Hn=e},historyFeatureEnabled:Ef,get historyInternals(){return sf},set historyInternals(e){sf=e},get historyPresentation(){return Ln},set historyPresentation(e){Ln=e},get historySessionState(){return Tf},get historyVisible(){return Fn},set historyVisible(e){Fn=e},get isStreaming(){return gc},jumpToBottomInstant:hu,get lastAppliedMessages(){return pf},set lastAppliedMessages(e){pf=e},get launcherEnabled(){return A},get launcherSurfaceInstance(){return Om},maybeFocusInput:Dd,messageCache:yc,get messagesWrapper(){return z},mount:e,get open(){return N},panel:F,panelElements:I,panelSuggestions:ti,panelSuggestionsFade:ni,get persistentMetadata(){return Me},set persistentMetadata(e){Me=e},plugins:_,get reapplyHistoryHostChrome(){return Rn},set reapplyHistoryHostChrome(e){Rn=e},repinAnchoredMessage:Gu,resetAnchorState:ju,restoreScrollPosition:yu,resumeAutoScroll:su,runStorageMutation:Dl,get session(){return Z},setActiveConversationSummary:Nf,storageAdapter:De,get suppressScrollSend(){return $c},set suppressScrollSend(e){$c=e},syncScrollToBottomButton:au,scrollToBottomButton:$r,updateWelcome:Bd,getHistoryProviderFactory:Cu,historyErrors:{HistoryClientError:ui,HistoryProviderError:Ot},isDockedMountMode:es,renderLucideIcon:T,loadHistoryView:gu,createHeaderIconButton:hs,attachTooltip:Ee},Wf=e=>(!$&&!wf&&($=e.createHistoryShell(Uf),$.railCollapseShortcut()&&Of()),$),Gf=()=>{if($)return Promise.resolve($);let e=Su();return e?Promise.resolve(Wf(e)):(Cf??=xu().then(Wf,e=>{throw Cf=null,e}),Cf)},Kf=e=>{let t=Su(),n=$??(t?Wf(t):null);return n?e(n):Gf().then(t=>{if(!t)throw Error(`[AgentWidget] The widget was destroyed`);return e(t)})},qf=()=>{$?.syncHistoryPresentation()};X.push(()=>{wf=!0}),Ef()&&Gf().catch(()=>{}).finally(He),a.clientToken&&(a.features?.history?.enabled===!0||a.sessionInit===`mount`)&&Z.initClientSession().then(()=>{let e=$;if(e?.historyAvailable())return Z.reconcileBootConversation({scope:e.historyScope()})}).then(()=>{$?.syncEarlierMessagesPill()}).catch(e=>{a.debug&&console.warn(`[AgentWidget] Pre-init client session failed:`,e)});let Jf=()=>Z.warmClientSession(),Yf=e=>{let t=a.sessionInit??`input`,n=J?.input??B,r=e.target;n&&(e.type===`input`?(t===`input`||t===`focus`)&&r===n&&e.inputType&&n.value.trim():t===`focus`&&(e.type===`keyup`?r===n&&e.key===`Tab`:(J?.form??ir)?.contains(r)))&&Jf()},Xf=[`input`,`pointerdown`,`keyup`];Xf.forEach(t=>e.addEventListener(t,Yf));let Zf,Qf,$f=()=>{let e=Qf;Qf=void 0;try{typeof e==`function`&&e()}catch{}},ep=()=>{let t=a.clientToken&&typeof a.sessionInit==`function`?a.sessionInit:void 0;if(t!==Zf){$f(),Zf=t;try{Qf=t?.({warm:Jf,mount:e})}catch{}}};ep(),X.push(()=>{Xf.forEach(t=>e.removeEventListener(t,Yf)),$f()}),(zt||a.onSSEEvent)&&Z.setSSEEventCallback((e,t)=>{a.onSSEEvent?.(e,t),Nn(e,t)});let tp=()=>{let e=a.resume??(Oe?sf.getStoredResumableHandle?.():null);e&&typeof a.reconnectStream==`function`&&Z.resumeFromHandle(e)};Ne?Ne.then(e=>{if(e){if(e.metadata&&(Me=Iu(e.metadata),ot.syncFromMetadata()),e.messages?.length){$c=!0;try{Z.hydrateMessages(e.messages)}finally{$c=!1}nd()}e.artifacts?.length&&Z.hydrateArtifacts(e.artifacts,e.selectedArtifactId??null),zl(e.draft)}}).catch(e=>{typeof console<`u`&&console.error(`[AgentWidget] Failed to hydrate stored state:`,e)}).finally(()=>{Md=!0,Ie(),tp()}):(zl(We),tp());let np=()=>{j()&&(N||(a.launcher?.composerBar?.expandOnSubmit??!0)&&gd(!0,`auto`))},rp=(e,t)=>e?t?{refs:[...e.refs,...t.refs],finalize:async()=>{let[n,r]=await Promise.allSettled([e.finalize(),t.finalize()]),i=[];return n.status===`fulfilled`?i.push(n.value):console.warn(`[Persona] a mention bundle failed to finalize; sending without it`,n.reason),r.status===`fulfilled`?i.push(r.value):console.warn(`[Persona] a mention bundle failed to finalize; sending without it`,r.reason),Vu(i)}}:e:t,ip=()=>{let e=B.getInlineMessageFields?.();if(e)return e.contentSegments.some(e=>e.kind===`mention`)?e.contentSegments:void 0},ap=!1,op=0,sp=null,cp=()=>{B.value=``,B.style.height=`auto`,yi(),Dp()},lp=null;function up(e,t=4e3){si(e),!j()&&V&&(V.hasAttribute(ku)||(V.setAttribute(Au,``),V.setAttribute(`role`,`status`),V.setAttribute(`aria-live`,`polite`),V.textContent=e,E(V,a.statusIndicator??{},`idle`),lp&&clearTimeout(lp),lp=setTimeout(()=>{if(lp=null,V?.hasAttribute(Au)&&(V.removeAttribute(Au),V.removeAttribute(`role`),V.removeAttribute(`aria-live`),w)){let e=Z.getStatus();Kn(V,Gn(e),a.statusIndicator??{},e)}},t)))}function dp(){let e=K.getState().pendingSubmission;e&&(Gi(void 0),B&&(B.value=e.text,B.dispatchEvent(new Event(`input`,{bubbles:!0})),yi()),e.options.selectedModelId&&(K.setSelectedModelId(e.options.selectedModelId),Ri?.repaint()),e.options.activeModeIds?.length&&Ii(e.options.activeModeIds),e.options.quote&&Vi(e.options.quote),B?.focus())}let fp=e=>{typeof console<`u`&&console.error(`[AgentWidget] composer.onBeforeSend failed; the draft was preserved:`,e)},pp=(e={})=>{if(Up()||Od)return;let t=Lf,n=(e.overrideText??B?.value??``).trim();return e.resolveInlineCommand&&n?(G?.takeInlineCommand(n)??Promise.resolve(null)).then(r=>{if(t===Lf)return mp(e,n,r)}):mp(e,n,null)},mp=(e,t,n)=>{if(n?.kind===`action`){cp(),G?.clear(),bi();return}let r=n?.kind===`server`?n.mentions:null,i=n?.kind===`prompt`?n.sendText:t,o=e.pending?.contentParts;if(!va({text:i,hasAttachments:(W?.hasAttachments()??!1)||(o?.length??0)>0,attachmentsReady:W?.isReady()??!0,hasMentions:G?.hasMentions()??!1,hasServerMentions:!!r,inputDisabled:vd(),sendDisabled:bd()}))return;let s=Z.isStreaming()?Ui():`block`;if(s===`defer-one`&&!e.pending){if(K.getState().pendingSubmission){up(`One message is already queued. Edit or remove it first.`);return}hp({intent:e,sendText:i,serverMentions:r});return}let c={text:i,mentionRefs:[...G?.getMentionRefs()??[],...r?.refs??[]],contentSegments:n?.kind===`prompt`?void 0:ip(),options:{...K.getState().selectedModelId&&{selectedModelId:K.getState().selectedModelId},...K.getState().activeModeIds.length>0&&{activeModeIds:[...K.getState().activeModeIds]},...K.getState().quote&&{quote:{...K.getState().quote}}},viaVoice:e.viaVoice};e.pending&&(c.options={...e.pending.options},c.contentSegments=e.pending.contentSegments,c.mentionRefs=[...e.pending.mentionRefs],c.viaVoice=e.pending.viaVoice);let l=()=>{if(o?.length)return[...o];if(!W?.hasAttachments())return;let e=[...W.getContentParts()];return c.text&&e.push(kt(c.text)),e};c.contentParts=l();let u=()=>{zc(),np();let t=G?.collectForSubmit()??null,n=rp(t,r),i=l();e.consumeDraft!==!1&&cp();let o={selectedModelId:c.options.selectedModelId,activeModeIds:c.options.activeModeIds},u=s===`interrupt`;u&&Z.cancel(),Z.sendMessage(c.text,{contentParts:i,mentions:n??void 0,contentSegments:c.contentSegments,viaVoice:c.viaVoice,composerOptions:o,...c.options.quote&&{quote:c.options.quote},...u&&{interrupt:!0}}),W?.hasAttachments()&&W.clearAttachments(),t&&G?.clear(),bi();let d=K.getState().activeModeIds,f=Wt(d,a.composer?.modes);f.length!==d.length&&Ii(f),K.getState().quote&&Vi(void 0),Vl(),Pa.release(),La()},d=a.composer?.onBeforeSend;if(!d){u();return}let f=new AbortController;sp=f;let p=Lf,m=e=>{f.signal.aborted||p!==Lf||(sp===f&&(sp=null),e.status===`error`?fp(e.error):e.status===`proceed`&&u())},h=xa(d,c,f.signal);if(!(h instanceof Promise))m(h);else return K.setPreparing(!0),h.then(m).finally(()=>{p===Lf&&K.setPreparing(!1)})};function hp(e){let t=K.getState(),n=W?.hasAttachments()??!1,r=n?[...W.getContentParts()]:[];n&&e.sendText&&r.push(kt(e.sendText)),Gi(_a({text:e.sendText,contentParts:r.length?r:void 0,mentionRefs:[...G?.getMentionRefs()??[],...e.serverMentions?.refs??[]],contentSegments:ip(),options:{...t.selectedModelId&&{selectedModelId:t.selectedModelId},...t.activeModeIds.length>0&&{activeModeIds:[...t.activeModeIds]},...t.quote&&{quote:{...t.quote}}},viaVoice:e.intent.viaVoice})),e.intent.consumeDraft!==!1&&cp(),n&&W.clearAttachments(),G?.clear(),bi(),t.quote&&Vi(void 0),Vl(),Pa.release(),La(),si(`Message queued. It sends when the response finishes.`)}function gp(){let e=K.getState().pendingSubmission;e&&(Gi(void 0),Sp(e.text,{consumeDraft:!1,pending:e}))}function _p(e){if(a.messageActions?.showEdit!==!0)return;let t=Z.getMessages().find(t=>t.id===e);t&&Ai(t)&&Di(Z.getMessages(),e)&&Lc!==e&&(zc(),Lc=e,Rc=ua({messageId:e,initialText:t.content,onSave:t=>vp(e,t),onCancel:()=>zc()}),yc.delete(e),rd(z,Z.getMessages(),It),Rc.focus())}function vp(e,t){let n=Rc;Lc=null,Rc=null,n?.destroy(),yc.delete(e),Z.resubmitFrom(e,{reason:`edit`,replacement:{text:t,mentionRefs:[],options:{}}})?Gu():rd(z,Z.getMessages(),It)}function yp(e){if(Z.isStreaming())return;let t=Oi(Z.getMessages(),e);t&&(zc(),Z.resubmitFrom(t,{reason:`retry`})&&Gu())}so={regenerate:yp,edit:_p,quote:e=>{let t=Z.getMessages().find(t=>t.id===e)?.content?.trim();t&&(Vi({text:t,messageId:e}),B?.focus())}};let bp=async e=>{if(Up()){a.voiceRecognition?.dictation?.showSend&&!bd()&&Gp(!0);return}if(ap)return;ap=!0;let t=++op;try{await pp({resolveInlineCommand:!0,...e})}finally{t===op&&(ap=!1)}};function xp(e){bd()||(cp(),Sp(e,{consumeDraft:!1}))}let Sp=(e,t)=>{if(ap)return;ap=!0;let n=++op,r=()=>{n===op&&(ap=!1)};try{let n=pp({...t,overrideText:e});n instanceof Promise?n.finally(r):r()}catch(e){throw r(),e}},Cp=e=>{e.preventDefault(),Z.isStreaming()?(Z.cancel(),Cn?.reset(),En?.update()):ap||bp()},wp=()=>a.features?.composerHistory!==!1,Tp={...Lo},Ep=!1,Dp=()=>{Tp={...Lo}},Op=()=>Z.getMessages().filter(e=>e.role===`user`).map(e=>e.content??``).filter(e=>e.length>0),kp=e=>{if(!B)return;Ep=!0,B.value=e,B.dispatchEvent(new Event(`input`,{bubbles:!0})),Ep=!1;let t=B.value.length;B.setSelectionRange(t,t)},Ap=e=>{Ep||(uc(),e.isComposing||G?.handleInput(e.inputType??void 0),Dp())},jp=()=>({submitKey:a.composer?.submitKey,insertNewlineOnTouchEnter:a.composer?.insertNewlineOnTouchEnter,coarsePointer:ge(B)}),Mp=e=>{if(B&&!vd()&&(e.isComposing||!G?.handleKeydown(e))){if(wp()&&(e.key===`ArrowUp`||e.key===`ArrowDown`)&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey&&!e.isComposing){let t=B.selectionStart===0&&B.selectionEnd===0,n=Ro({direction:e.key===`ArrowUp`?`up`:`down`,history:Op(),currentValue:B.value,atStart:t,state:Tp});if(Tp=n.state,n.handled){e.preventDefault(),n.value!==void 0&&kp(n.value);return}}if(x(e,jp())){if(Z.isStreaming()){if(e.preventDefault(),Ui()===`block`||ap||bd())return;Dp(),bp()}else ap||bd()?e.preventDefault():(Dp(),e.preventDefault(),rr.click())}}},Np=e=>{e.key!==`Escape`||e.isComposing||e.composedPath().includes(L)&&(sp?(sp.abort(),sp=null,e.preventDefault(),e.stopImmediatePropagation()):Z.isStreaming()&&(Z.cancel(),Cn?.reset(),En?.update(),Dp(),e.preventDefault(),e.stopImmediatePropagation()))},Pp=async e=>{if(a.attachments?.enabled!==!0||!W||vd())return;let t=Mu(e.clipboardData);t.length!==0&&(e.preventDefault(),await W.handleFiles(t))},Fp=null,Ip=null,Lp=!1,Rp=null,zp=null,Bp=0,Vp=Object.freeze({phase:`idle`,recordingId:0,transcript:``,interimTranscript:``,error:null,audioLevel:null}),Hp=()=>!!a.voiceRecognition?.dictation||a.voiceRecognition?.provider?.type===`custom`&&Xp(),Up=()=>Lp||[`recording`,`processing`].includes(Fp?.getState().phase??`idle`),Wp=()=>{if(++Bp,Lp=!1,zp=null,Rp){Rp=null,Ip?.element.remove(),Ip=null;let{audioLevel:e,...t}=Vp;return D.emit(`dictation:state`,{...t,instanceId:r,timestamp:Date.now()}),!0}return Fp?.cancel()??!1},Gp=(e=!1)=>Lp?(zp=e||zp===!0,!0):Fp?.finish(e)||e&&Fp?.send()||!1,Kp=()=>{if(vd()||Z.isStreaming()||Up()||yd())return!1;let e=a.voiceRecognition;if(e?.enabled===!1)return!1;let t=e?.dictation?.provider??(e?.provider?.type===`custom`?{type:`custom`,custom:e.provider.custom}:{type:`browser`,browser:e?.provider?.browser});if(t.type===`browser`&&!nm()||t.type===`custom`&&!t.custom)return!1;!N&&M()&&gd(!0,`system`),Rp&&Wp();let n={text:B.value,logicalEnd:G?.getInlineInput()?.getLogicalText().length??null,readOnly:B.readOnly,contentEditable:B.getAttribute(`contenteditable`)};Lp=!0,zp=null;let i=++Bp;return $n().then(o=>{i===Bp&&(Lp=!1,Fp??=o.createDictationSession({instanceId:r,getTextarea:()=>B,getFooter:()=>H,getConfig:()=>a,plugins:_,getInlineInput:()=>G?.getInlineInput(),isInputDisabled:vd,isSendBlocked:bd,syncText:yi,onSend:()=>{bp({viaVoice:!0})},rendererDeps:{renderLucideIcon:T,attachTooltip:Ee},onState:(e,t)=>{let{audioLevel:n,...i}=e;D.emit(`dictation:state`,{...i,instanceId:r,timestamp:Date.now()}),Q.active=e.phase===`recording`,Zp(t?e.phase===`recording`?`recording`:`processing`:`idle`),bl(`system`)}}),Z.stopSpeaking(),Fp.start(t,{autoSend:!Xp(),pauseDuration:e?.pauseDuration},n),zp!==null&&(Fp.finish(zp),zp=null))}).catch(e=>{if(i!==Bp)return;Lp=!1;let t=e instanceof Error?e.message:`Unable to load dictation.`;Rp=Object.freeze({...Vp,recordingId:i,phase:`error`,error:t});let n=k(`div`,`persona-dictation`);n.setAttribute(`role`,`alert`),n.textContent=t;let a=document.createElement(`button`);a.type=`button`,a.textContent=`Dismiss dictation`,a.addEventListener(`click`,()=>{Wp()}),n.append(a),Ip={element:n},H.append(n);let{audioLevel:o,...s}=Rp;D.emit(`dictation:state`,{...s,instanceId:r,timestamp:Date.now()})}),!0};X.push(()=>{++Bp,Fp?.destroy(),Ip?.destroy?.(),Ip?.element.remove()}),a.voiceRecognition?.dictation&&$n().catch(()=>{});let qp=null,Jp=!1,Yp,Xp=()=>a.voiceRecognition?.completionBehavior===`review`;function Zp(e){U&&xe(U,a,e,Z.getVoiceInterruptionMode()),H?.setAttribute(`data-persona-voice-state`,e),e===`recording`?em():tm()}let Qp,$p=!1;function em(){$p=!0;let e=e=>{$p&&(Qp??=e.createVoiceLevelIndicator({targets:()=>[Fr??U?.parentElement,H].filter(e=>!!e),sample:()=>{let e=Fp?.getState();return e?.phase===`recording`?{level:e.audioLevel,fallback:!1}:{level:w?Z.getVoiceLevel():null,fallback:!0}}}),Qp.start())},t=er();t?e(t):$n().then(e,()=>{})}function tm(){$p=!1,Qp?.stop()}let nm=()=>typeof window>`u`?null:window.webkitSpeechRecognition||window.SpeechRecognition||null,rm=(e=`user`)=>{if(Jp||Z.isStreaming())return;let t=nm();if(!t)return;qp=new t;let n=qp,r=a.voiceRecognition??{},i=r.pauseDuration??2e3;qp.continuous=r.provider?.browser?.continuous??!0,qp.interimResults=!0,qp.lang=r.provider?.browser?.language??`en-US`;let o=B.value,s,c=(e,t)=>{let r=r=>{qp===n&&Jp&&(s??=r.createBrowserRecognitionHandlers({textarea:B,initialText:o,pauseDuration:i,isActive:()=>qp===n&&Jp,syncText:yi,stop:im,review:Xp,submit:()=>{bp({viaVoice:!0})}}),Yp=()=>s?.dispose(),s[e](t))},a=er();a?r(a):$n().then(r,()=>{qp===n&&im(`system`)})};n.onresult=e=>c(`result`,e),n.onerror=e=>c(`error`,e),n.onend=e=>c(`end`,e);try{qp.start(),Jp=!0,Q.active=!0,e!==`system`&&(Q.manuallyDeactivated=!1),bl(e),xl(),La(),U&&(U.classList.add(`persona-voice-recording`),Zp(`recording`),U.setAttribute(`aria-label`,`Stop voice recognition`))}catch{im(`system`)}},im=(e=`user`)=>{if(Jp){if(Jp=!1,Yp?.(),Yp=void 0,qp){try{qp.stop()}catch{}qp=null}Q.active=!1,bl(e),yl||xl(),La(),U&&(U.classList.remove(`persona-voice-recording`),Zp(`idle`),U.setAttribute(`aria-label`,a.voiceRecognition?.tooltipText??`Start voice recognition`))}},am=null,om=e=>{let t=t=>{am??=t.createMicStateStyles({mic:()=>U,config:()=>a,session:()=>Z,setMicState:Zp}),e(am)},n=Tr();n?t(n):wr().then(t,()=>{})},sm=()=>om(e=>e.recording()),cm=()=>om(e=>e.processing()),lm=()=>om(e=>e.speaking()),um=()=>om(e=>e.reset()),dm=()=>{if(!vd()){if(Hp())Fp?.getState().phase===`recording`?Fp.finish():Up()||Kp();else if(Dr(a.voiceRecognition?.provider)){let e=Z.getVoiceStatus(),t=Z.getVoiceInterruptionMode();if(t===`none`&&(e===`processing`||e===`speaking`))return;if(t===`cancel`&&(e===`processing`||e===`speaking`)){Z.stopVoicePlayback();return}if(Z.isBargeInActive()){Z.stopVoicePlayback(),Z.deactivateBargeIn().then(()=>{Q.active=!1,Q.manuallyDeactivated=!0,xl(),bl(`user`),um()});return}Z.toggleVoice().then(()=>{Q.active=vl(),Q.manuallyDeactivated=!Q.active,xl(),bl(`user`),Q.active?sm():um()})}else if(Jp){let e=B.value.trim();Q.manuallyDeactivated=!0,xl(),im(`user`),e&&!Xp()&&bp()}else Q.manuallyDeactivated=!1,xl(),rm(`user`)}};qi=dm;let fm=()=>Z.prewarmVoice(),pm=()=>{let e=a.voiceRecognition;return e?.enabled===!0?e.prewarm??(a.clientToken?`hover`:!1):!1},mm=e=>{pm()===`hover`&&U?.contains(e.target)&&fm()},hm=[`pointerover`,`pointerdown`,`focusin`];hm.forEach(t=>e.addEventListener(t,mm));let gm,_m=null,vm,ym=()=>{let e=vm;vm=void 0;try{typeof e==`function`&&e()}catch{}},bm=()=>{let t=pm(),n=typeof t==`function`&&U?t:void 0,r=n?U:null;if((n!==gm||r!==_m)&&(ym(),gm=n,_m=r,n&&r))try{vm=n({warm:fm,micButton:r,mount:e})}catch{}};bm(),X.push(()=>{hm.forEach(t=>e.removeEventListener(t,mm)),ym()}),U&&X.push(()=>{Dr(a.voiceRecognition?.provider)?(Z.isVoiceActive()&&Z.toggleVoice(),um()):im(`system`)});let xm=D.on(`assistant:complete`,()=>{let e=K.getState().pendingSubmission,t=Lf,n=Ct;e&&setTimeout(()=>{Dt(n)&&!Z.isStreaming()&&t===Lf&&K.getState().pendingSubmission===e&&gp()},0)});X.push(xm);let Sm=D.on(`assistant:complete`,()=>{if(!_l||Q.active||Q.manuallyDeactivated||_l===`assistant`&&!Q.lastUserMessageWasVoice)return;let e=Lf,t=Ct;setTimeout(()=>{Dt(t)&&e===Lf&&!Q.active&&!Q.manuallyDeactivated&&(Dr(a.voiceRecognition?.provider)?Z.toggleVoice().then(()=>{Dt(t)&&e===Lf&&(Q.active=Z.isVoiceActive(),bl(`auto`),Z.isVoiceActive()&&sm())}):rm(`auto`))},600)});X.push(Sm);let Cm=!1,wm=e=>{e.persisted&&!Cm&&(Cm=!0,yl=!0,At(),Lf++,op++,ap=!1,sp?.abort(),sp=null,K.setPreparing(!1),Wp(),im(`system`),Z.cancel(),Z.stopSpeaking(),Z.cleanupVoice(),Cn?.reset(),En?.update())},Tm=e=>{e.persisted&&Cm&&(Cm=!1,yl=!1,a.voiceRecognition?.enabled===!0&&kr(a)&&Z.setupVoice())};window.addEventListener(`pagehide`,wm),window.addEventListener(`pageshow`,Tm),X.push(()=>{window.removeEventListener(`pagehide`,wm),window.removeEventListener(`pageshow`,Tm)});let Em=D.on(`action:resubmit`,()=>{jt()});X.push(Em);let Dm=()=>{gd(!N,`user`)},Om=null,km=null;if(A&&!j()){let{instance:e,element:t}=qc({config:a,plugins:_,onToggle:Dm});Om=e,e||(km=t)}Om?e.appendChild(Om.element):km&&e.appendChild(km),hd(),lc(),Xd(),Jd(),Ed(Z.isStreaming()),yu()||(Ur()===`follow`?uu(!0):hu()),Sl(),ut&&(!A||j()?setTimeout(()=>Dd(),0):N&&setTimeout(()=>Dd(),200));let Am=null,jm=()=>{Am&&(Am.disconnect(),Am.observe(H),Am.observe(L),Am.observe(ar),Am.observe(ti))},Mm=ci(),Nm=()=>{if(j()){hi(),hd();return}let t=es(a),n=a.launcher?.sidebarMode??!1,r=e.ownerDocument.defaultView??window,i=a.launcher?.mobileFullscreen??!0,o=a.launcher?.mobileBreakpoint??640,s=r.innerWidth<=o,c=i&&s&&A;try{if(c){fo(),po=vs();return}let e=!1;St&&(St=!1,fo(),e=!0);let r=vs();if(!e&&r!==po&&(fo(),e=!0),po=r,e&&os(),!A&&!t){F.style.height=``,n||(P.style.width=kc(a),F.style.width=`100%`,F.style.maxWidth=`100%`);return}if(!n&&!t){let e=Oc(a);F.style.width=e.width,F.style.maxWidth=e.maxWidth}ms(),ks()}finally{hi(),vi();let t=ci();if(t!==Mm&&(Mm=t,Bd(),lc()),hd(),N&&A){let t=(e.ownerDocument.defaultView??window).innerWidth<=(a.launcher?.mobileBreakpoint??640),n=a.launcher?.sidebarMode??!1,r=a.launcher?.mobileFullscreen??!0,i=es(a)&&r&&t,o=n||r&&t&&A||i;if(o&&!Ns){let t=e.getRootNode(),n=t instanceof ShadowRoot?t.host:e.closest(`.persona-host`);n&&!Ms&&(Ms=Yo(n,a.launcher?.zIndex??1e5)),Ns=Qo(e.ownerDocument)}else o||(Ms?.(),Ms=null,Ns?.(),Ns=null)}}};Nm();let Pm=e.ownerDocument.defaultView??window;if(Pm.addEventListener(`resize`,Nm),X.push(()=>Pm.removeEventListener(`resize`,Nm)),typeof ResizeObserver<`u`){Am=new ResizeObserver(()=>{vi(),au()}),jm(),X.push(()=>{Am?.disconnect(),Am=null});let e=new ResizeObserver(()=>{qf()});e.observe(L),X.push(()=>e.disconnect())}Pm.addEventListener(`resize`,qf),X.push(()=>Pm.removeEventListener(`resize`,qf)),Hc=R.scrollTop;let Fm=Xe(R),Im=()=>{Es();let e=R.scrollTop,t=Xe(R),n=t<Fm;if(Fm=t,fu.interrupted||!Gr()){Hc=e,au();return}let{action:r,nextLastScrollTop:i}=Ye({following:Vc.isFollowing(),currentScrollTop:e,lastScrollTop:Hc,nearBottom:tt(R,24),userScrollThreshold:4,isAutoScrolling:fu.active||Wc||Gc||n,pauseOnUpwardScroll:!0,pauseWhenAwayFromBottom:!1,resumeRequiresDownwardScroll:!0});Hc=i,r===`resume`&&!vu()?su():r===`pause`?ou():au()};if(R.addEventListener(`scroll`,Im,{passive:!0}),X.push(()=>R.removeEventListener(`scroll`,Im)),typeof ResizeObserver<`u`){let e=new ResizeObserver(()=>{Ku(),Es(),zr(z)});e.observe(z),e.observe(R),X.push(()=>e.disconnect())}let Lm=()=>{Gr()&&Vc.isFollowing()&&vu()&&ou()},Rm=R.ownerDocument;Rm.addEventListener(`selectionchange`,Lm),X.push(()=>{Rm.removeEventListener(`selectionchange`,Lm)});let zm=/* @__PURE__ */ new Set([`PageUp`,`PageDown`,`Home`,`End`,`ArrowUp`,`ArrowDown`]),Bm=e=>{zm.has(e.key)&&(cl(),Jr()&&Gr()&&Vc.isFollowing()&&ou())},Vm=e=>{e.target?.closest(`a, button, [tabindex], input, textarea, select`)&&(cl(),Jr()&&Gr()&&Vc.isFollowing()&&ou())};R.addEventListener(`keydown`,Bm),R.addEventListener(`focusin`,Vm),X.push(()=>{R.removeEventListener(`keydown`,Bm),R.removeEventListener(`focusin`,Vm)});let Hm=e=>{if(fu.interruptedBy(e)){cl();return}if(e.deltaY!==0&&cl(),!Gr())return;let t=Ze({following:Vc.isFollowing(),deltaY:e.deltaY,nearBottom:tt(R,24),resumeWhenNearBottom:!0});t===`pause`?ou():t===`resume`&&!vu()&&su()};R.addEventListener(`wheel`,Hm,{passive:!0}),R.addEventListener(`touchmove`,cl,{passive:!0}),R.addEventListener(`pointerdown`,cl,{passive:!0}),X.push(()=>{R.removeEventListener(`touchmove`,cl),R.removeEventListener(`pointerdown`,cl)}),X.push(()=>R.removeEventListener(`wheel`,Hm)),$r.addEventListener(`click`,()=>{ju(),Gl(),Vc.pause(),fu.start(a),au()}),X.push(()=>fu.destroy()),X.push(()=>Qr.destroy()),X.push(()=>{Gl(),ju()});let Um=()=>{dr&&(Ws&&=(dr.removeEventListener(`click`,Ws),null),M()?(dr.style.display=``,Ws=()=>{gd(!1,`user`)},dr.addEventListener(`click`,Ws)):dr.style.display=`none`)};Um(),(()=>{let{clearChatButton:e}=I;e&&e.addEventListener(`click`,()=>{let e=$;if(e?.historyAvailable()){e.startNewConversation({focusComposer:!0}).catch(e=>{a.debug&&console.warn(`[AgentWidget] New conversation failed:`,e)});return}Z.clearMessages(),a.layout?.topFade&&(R.scrollTop=0),R.removeAttribute(`data-persona-top-fade`),yc.clear(),su(),ft(I.composerOverlay);try{localStorage.removeItem(Ou),a.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${Ou}`)}catch(e){console.error(`[AgentWidget] Failed to clear default localStorage:`,e)}if(a.clearChatHistoryStorageKey&&a.clearChatHistoryStorageKey!==Ou)try{localStorage.removeItem(a.clearChatHistoryStorageKey),a.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${a.clearChatHistoryStorageKey}`)}catch(e){console.error(`[AgentWidget] Failed to clear custom localStorage:`,e)}let t=new CustomEvent(`persona:clear-chat`,{detail:{instanceId:r,timestamp:(/* @__PURE__ */ new Date()).toISOString()}});window.dispatchEvent(t),Vl(),De?.clear&&Dl(()=>De.clear(),`[AgentWidget] Failed to clear storage adapter:`),Me={},ot.syncFromMetadata(),Hf(Z.getActiveConversationId(),!0,!1),cp(),Vl(),Gi(void 0),Vi(void 0),zc(),Sn?.clear(),Cn?.reset(),En?.update()})})();let Wm=[[`keydown`,Mp],[`input`,Ap],[`input`,yi],[`input`,bi],[`keyup`,bi],[`paste`,Pp],[`focus`,Ta]],Gm=e=>{if(e)for(let[t,n]of Wm)J?.addListener(e,t,n)},Km=e=>{if(e)for(let[t,n]of Wm)J?.removeListener(e,t,n)},qm=()=>{J&&(J.addListener(J.form,`submit`,Cp),J.addListener(J.footer,`click`,bi),Gm(B),U&&J.addListener(U,`click`,dm),bm())};qm();let Jm=()=>{G?.onComposerSwap((e,t)=>{Km(t),B=e,J&&(J.input=e),Gm(e),ya(),Td(),yi(),Fp?.refresh()})};Jm();let Ym=!1;function Xm(){if(!Ym){Ym=!0;try{Ka.detach([`footer-top`,`footer-bottom`,`composer-start`,`composer-end`,`composer-before-send`]);let e=B?.value??``,t=H.ownerDocument??document,n=B?t.activeElement===B:!1;tm(),J?.destroy(),J=null,G?.destroy(),G=null;let r=null,i=()=>(r=j()?js({config:a}):As({config:a}),r.footer),o=ra(i)??i();Yn.replaceComposer(o),H=Yn.composer.footer,a.layout?.showFooter===!1&&(H.style.display=`none`);let s=r!==null&&o===r.footer;ta=!s,Or=s?r.setSendButtonMode:()=>{},ea(H),ba(H),Ca(),wa(),Ea(),Jm(),ja(),Ma(),Na(),qm();let c=Us.indexOf(zs);if(zs.destroy(),zs=us(nr),c>=0&&(Us[c]=zs),Ka.remount(),B&&(B.value=e),yi(),bi(),Xd(),lc(),Ed(Z.isStreaming()),a.statusIndicator?.mode===`transient`&&!j()){let e=Z.getStatus();Kn(V,Gn(e),a.statusIndicator,e)}Q.active&&Zp(`recording`),Fp?.refresh(),fo(),jm(),hi(),La(),Cd(),n&&B?.focus()}finally{Ym=!1}}}let Zm=e.ownerDocument??document;Zm.addEventListener(`keydown`,Np,!0);let Qm=()=>{Rl()},$m=()=>{Zm.visibilityState===`hidden`&&Rl()};typeof window<`u`&&(window.addEventListener(`pagehide`,Qm),Zm.addEventListener(`visibilitychange`,$m),X.push(()=>{window.removeEventListener(`pagehide`,Qm),Zm.removeEventListener(`visibilitychange`,$m)}));let eh=`persona-attachment-drop-active`,th=0,nh=()=>{th=0,L.classList.remove(eh)},rh=()=>a.attachments?.enabled===!0&&W!==null&&!vd(),ih=e=>{Nu(e.dataTransfer)&&rh()&&(th++,th===1&&L.classList.add(eh))},ah=e=>{Nu(e.dataTransfer)&&rh()&&(th--,th<=0&&nh())},oh=e=>{Nu(e.dataTransfer)&&rh()&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)},sh=e=>{if(!Nu(e.dataTransfer)||!rh())return;e.preventDefault(),e.stopPropagation(),nh();let t=Array.from(e.dataTransfer.files??[]);t.length!==0&&W.handleFiles(t)};L.addEventListener(`dragenter`,ih,!0),L.addEventListener(`dragleave`,ah,!0),e.addEventListener(`dragover`,oh,!0),e.addEventListener(`drop`,sh,!0);let ch=e.ownerDocument,lh=e=>{rh()&&e.preventDefault()},uh=e=>{rh()&&e.preventDefault()};ch.addEventListener(`dragover`,lh),ch.addEventListener(`drop`,uh),X.push(()=>{J?.destroy(),J=null,tm(),Aa=!0,Da?.destroy(),Da=null,zi?.destroy(),zi=null,Bi?.destroy(),Bi=null,Wi?.destroy(),Wi=null,Ri=null,Rl(),Nl.destroy(),lp&&clearTimeout(lp),zc(),sp?.abort(),sp=null,$?.clearConversationOpenPending(),Hf(void 0,!1),W?.destroy(),W=null,K.destroy(),Zm.removeEventListener(`keydown`,Np,!0),G?.destroy()}),X.push(()=>{L.removeEventListener(`dragenter`,ih,!0),L.removeEventListener(`dragleave`,ah,!0),e.removeEventListener(`dragover`,oh,!0),e.removeEventListener(`drop`,sh,!0),ch.removeEventListener(`dragover`,lh),ch.removeEventListener(`drop`,uh),nh()}),X.push(()=>{Z.cancel()}),Om?X.push(()=>{Om?.destroy()}):km&&X.push(()=>{km?.remove()}),n?.registerHostMove?.(t=>{let n=R.scrollTop,r=Gr()&&Vc.isFollowing(),i=R.getBoundingClientRect().top,a=!r&&R.clientHeight>0?Array.from(z.querySelectorAll(`[data-message-id]`)).find(e=>e.getBoundingClientRect().bottom>i):void 0,o=a?a.getBoundingClientRect().top-i:0;Gl(),t(),Jn()?.ensureComposerActionStyles(e),mr()?.ensureArtifactStyles(e),Nm(),zn(),r?R.scrollTop=Xe(R):a?R.scrollTop+=a.getBoundingClientRect().top-R.getBoundingClientRect().top-o:R.scrollTop=n,!r&&!sl&&Gu(),Hc=R.scrollTop,Fm=Xe(R),Es(),au(),e.dispatchEvent(new Event(`persona:internal:host-moved`))});let dh=e=>{!N&&M()&&gd(!0,`system`),z.querySelector(`.persona-feedback-container`)?.remove();let t=e();z.appendChild(t),t.scrollIntoView({behavior:`smooth`,block:`end`})},fh=!1,ph=[],mh=!1,hh=()=>{let e=ph;ph=[],mh=!0;try{for(let t of e)gh.update(t)}finally{mh=!1}},gh={get ready(){return o.ready},get instanceId(){return r},update(t){if(!mh){ph.push(t);let e=ph.reduce(Bl,{...a,features:g}),n=Ar(kl(e));if(n.length){o.prepare(n,hh,fh);return}if(ph.length>1){o.prepare([],hh,fh);return}ph=[]}n?.diagnostics||Xl(s,t);let r=t.voiceRecognition;r&&(r.enabled===!1||r.dictation?.provider&&r.dictation.provider!==a.voiceRecognition?.dictation?.provider||r.provider?.custom&&r.provider.custom!==a.voiceRecognition?.provider?.custom)&&Wp();let i=a.future?.v5Defaults===!0,c=a.messageActions,l=a.layout?.messages,u=a.colorScheme,d=a.iterationDisplay,f=a.features?.showReasoning,p=a.features?.showToolCalls,m=a.features?.toolCallDisplay,v=a.features?.reasoningDisplay,y=a.features?.streamAnimation?.type,x=a.features?.history?.enabled===!0,S=a.features?.history?.provider,C=a.getIdentityProof,ee=a.clientToken,w=a.contextMentions;a=Bl({...a,features:g},t),g=a.features,a=kl(a),h(),fo(),bs(),a.colorScheme!==u&&Fs();let te=Il.getForInstance(a.plugins);_.length=0,_.push(...te),Of(),A=a.launcher?.enabled??!0,lt=a.launcher?.autoExpand??!1,Lt=a.features?.showReasoning??!0,Rt=a.features?.showToolCalls??!0,fu.cancel();let ne=Ur();rn=a.features?.scrollBehavior??{},ne!==Ur()&&(ju(),su()),fl(),au();let ie=zt;if(zt=a.features?.showEventStreamToggle??!1,zt&&!ie){if(Sn||(Pn(),Z.setSSEEventCallback((e,t)=>{a.onSSEEvent?.(e,t),Nn(e,t)})),!q&&vr){let e=a.features?.eventStream?.classNames,t=`persona-inline-flex persona-items-center persona-justify-center persona-rounded-full hover:persona-opacity-80 persona-cursor-pointer persona-border-none persona-bg-transparent persona-p-1`+(e?.toggleButton?` `+e.toggleButton:``);q=k(`button`,t),q.style.width=`28px`,q.style.height=`28px`,q.style.color=ys.actionIconColor,q.type=`button`,q.setAttribute(`aria-label`,`Event Stream`),q.title=`Event Stream`;let n=b(_n,`18px`,`currentColor`,1.5);n&&q.appendChild(n);let r=I.clearChatButtonWrapper,i=I.closeButtonWrapper,o=r||i;o&&o.parentNode===vr?vr.insertBefore(q,o):vr.appendChild(q),q.addEventListener(`click`,()=>{Dn?$i():Qi()})}}else!zt&&ie&&($i(),En?.destroy(),En=null,q&&=(q.remove(),null),Sn?.clear(),vn?.destroy(),Sn=null,vn=null,Cn?.reset(),Cn=null,wn=null);if(a.launcher?.enabled===!1&&Om&&(Om.destroy(),Om=null),a.launcher?.enabled===!1&&km&&(km.remove(),km=null),a.launcher?.enabled!==!1&&!Om&&!km){let{instance:t,element:n}=qc({config:a,plugins:_,onToggle:Dm});Om=t,t||(km=n),e.appendChild(n)}Om&&Om.update(a),jf(),_r&&a.launcher?.subtitle!==void 0&&(_r.textContent=a.launcher.subtitle);let ae=a.layout?.header;if(ae?.layout!==bt&&vr){let e=ae?Os(a,ae,{showClose:M(),onClose:()=>gd(!1,`user`)}):Ss({config:a,showClose:M(),onClose:()=>gd(!1,`user`)});Yn.replaceHeader(e),vr=Yn.header.element,fr=Yn.header.iconHolder,gr=Yn.header.headerTitle,_r=Yn.header.headerSubtitle,dr=Yn.header.closeButton,bt=ae?.layout,jf()}else if(ae){if(fr&&(fr.style.display=ae.showIcon===!1?`none`:``),gr&&(gr.style.display=ae.showTitle===!1?`none`:``),_r&&(_r.style.display=ae.showSubtitle===!1?`none`:``),dr){let e=M()&&ae.showCloseButton!==!1;dr.style.display=e?``:`none`}if(I.clearChatButtonWrapper){let e=ae.showClearChat;if(e!==void 0){I.clearChatButtonWrapper.style.display=e?``:`none`;let{closeButtonWrapper:t}=I;t&&!t.classList.contains(`persona-absolute`)&&(e?t.classList.remove(`persona-ml-auto`):t.classList.add(`persona-ml-auto`))}}}let oe=en(a);vr&&(vr.style.display=oe?``:`none`);let se=a.layout?.showFooter!==!1;H&&(H.style.display=se?``:`none`),hi(),au(),A===yt?lt!==dt&&gd(lt,`auto`):A?gd(lt,`auto`):(N=!0,hd()),dt=lt,yt=A,Nm(),Um();let ce=JSON.stringify(a.messageActions)!==JSON.stringify(c),le=JSON.stringify(a.layout?.messages)!==JSON.stringify(l)||a.layout?.messages?.renderAssistantMessage!==l?.renderAssistantMessage||a.layout?.messages?.renderUserMessage!==l?.renderUserMessage,ue=a.iterationDisplay!==d,de=(a.features?.showReasoning??!0)!==(f??!0)||(a.features?.showToolCalls??!0)!==(p??!0)||JSON.stringify(a.features?.toolCallDisplay)!==JSON.stringify(m)||JSON.stringify(a.features?.reasoningDisplay)!==JSON.stringify(v);(a.future?.v5Defaults===!0!==i||`toolCall`in t||ce||le||`loadingIndicator`in t||ue||de||`turnActivity`in t||`loadingLabel`in t||`expansion`in t||`errorDisplay`in t||`theme`in t||`darkTheme`in t||`approval`in t||a.colorScheme!==u||`askUserQuestion`in(t.features??{})||`features`in t&&t.features===void 0)&&Z&&(Bc++,rd(z,Z.getMessages(),It));let fe=a.features?.streamAnimation?.type;if(fe!==y&&fe&&fe!==`none`){let t=Ls(fe,a.features?.streamAnimation?.plugins);t&&dn(t,e)}let pe=a.launcher??{},he=pe.headerIconHidden??!1,ge=a.layout?.header?.showIcon,_e=he||ge===!1,ve=pe.headerIconName,ye=pe.headerIconSize??`40px`;if(fr){let e=vr,t=e?.querySelector(`.persona-flex-col`);if(_e)fr.style.display=`none`,e&&t&&!e.contains(t)&&e.insertBefore(t,e.firstChild);else{if(fr.style.display=``,fr.style.height=ye,fr.style.width=ye,e&&t&&(e.contains(fr)?fr.nextSibling!==t&&(fr.remove(),e.insertBefore(fr,t)):e.insertBefore(fr,t)),ve){let e=parseFloat(ye)||24,t=T(ve,e*.6,`currentColor`,1);t?(t.style.width=`calc(${e}px * var(--persona-components-header-iconScale, 0.6))`,t.style.height=`calc(${e}px * var(--persona-components-header-iconScale, 0.6))`,fr.replaceChildren(t)):fr.textContent=pe.agentIconText??`💬`}else if(pe.iconUrl){let e=fr.querySelector(`img`);if(e)e.src=pe.iconUrl,e.style.height=ye,e.style.width=ye;else{let e=document.createElement(`img`);e.src=pe.iconUrl,e.alt=``,e.className=`persona-rounded-xl persona-object-cover`,e.style.height=ye,e.style.width=ye,fr.replaceChildren(e)}}else{let e=fr.querySelector(`svg`),t=fr.querySelector(`img`);(e||t)&&fr.replaceChildren(),fr.textContent=pe.agentIconText??`💬`}let n=fr.querySelector(`img`);n&&(n.style.height=ye,n.style.width=ye)}}let be=a.layout?.header?.showTitle,Ce=a.layout?.header?.showSubtitle;if(gr&&(gr.style.display=be===!1?`none`:``),_r&&(_r.style.display=Ce===!1?`none`:``),dr){let e=M()&&a.layout?.header?.showCloseButton!==!1;dr.style.display=e?``:`none`;let t=pe.closeButtonPlacement??`inline`,{closeButtonWrapper:n}=I,r=t===`top-right`,i=n?.classList.contains(`persona-absolute`);if(n&&r!==i){if(n.remove(),r){n.className=`persona-absolute persona-top-4 persona-right-4 persona-z-50`;let e=$?.railColumn??L;e.style.position=`relative`,e.appendChild(n)}else{let e=pe.clearChat?.placement??`inline`;n.className=(pe.clearChat?.enabled??!0)&&e===`inline`?``:`persona-ml-auto`,vr&&vr.appendChild(n)}}gs(dr,a,`close`,{buttonSize:j()?dr.style.width:void 0,iconSize:j()?jc:void 0});let o=pe.closeButtonTooltipText??`Close chat`,s=pe.closeButtonShowTooltip??!0;dr.setAttribute(`aria-label`,o),n&&Ee({anchor:dr,trigger:n,text:()=>dr?.getAttribute(`aria-label`)??o,enabled:s})}let{clearChatButton:we,clearChatButtonWrapper:Te}=I;if(we){let e=pe.clearChat??{},t=e.enabled??!0,n=a.layout?.header?.showClearChat,r=n===void 0?t:n,i=e.placement??`inline`;if(Te){Te.style.display=r?``:`none`;let{closeButtonWrapper:e}=I;!j()&&e&&!e.classList.contains(`persona-absolute`)&&(r?e.classList.remove(`persona-ml-auto`):e.classList.add(`persona-ml-auto`));let t=i===`top-right`,n=Te.classList.contains(`persona-absolute`);if(!j()&&t!==n&&r){if(Te.remove(),t){Te.className=`persona-absolute persona-top-4 persona-z-50`,Te.style.right=`48px`;let e=$?.railColumn??L;e.style.position=`relative`,e.appendChild(Te)}else{Te.className=`persona-relative persona-ml-auto persona-clear-chat-button-wrapper`,Te.style.right=``;let e=I.closeButtonWrapper;vr&&e&&e.parentElement===vr?vr.insertBefore(Te,e):vr&&vr.appendChild(Te)}let e=I.closeButtonWrapper;e&&!e.classList.contains(`persona-absolute`)&&(t?e.classList.add(`persona-ml-auto`):e.classList.remove(`persona-ml-auto`))}}if(r){gs(we,a,`clear`,{buttonSize:j()?we.style.width:void 0,iconSize:j()?Mc:void 0});let t=e.tooltipText??`Clear chat`,n=e.showTooltip??!0;we.setAttribute(`aria-label`,t),Te&&Ee({anchor:we,trigger:Te,text:()=>we?.getAttribute(`aria-label`)??t,enabled:n})}}let De=a.actionParsers&&a.actionParsers.length?a.actionParsers:[eu],Oe=a.actionHandlers&&a.actionHandlers.length?a.actionHandlers:[nu.message,nu.messageAndClick];ot=iu({parsers:De,handlers:Oe,getSessionMetadata:qe,updateSessionMetadata:rt,emit:D.emit,captureResubmitGuard:()=>{let e=Ct;return()=>Dt(e)},documentRef:typeof document<`u`?document:null}),It=Ru(a,ot,Pt),cf(),Z.updateConfig(a),ep(),(a.features?.history?.enabled===!0!==x||a.features?.history?.provider!==S||a.getIdentityProof!==C||a.clientToken!==ee)&&($?.closeHistory({restoreFocus:!1}),(a.getIdentityProof!==C||a.clientToken!==ee)&&$?.discardConversationContinuity(),$?.installHistoryProvider()),$?.syncHistoryChromeImpl(),qf(),Ef()&&!$&&Gf().catch(()=>{}),rd(z,Z.getMessages(),It),lc(),Xd(),Yd(),Ed(Z.isStreaming()),w!==a.contextMentions&&Xm();let ke=a.voiceRecognition?.enabled===!0&&a.voiceRecognition.showButton!==!1,Ae=typeof window<`u`&&(window.webkitSpeechRecognition!==void 0||window.SpeechRecognition!==void 0),je=Dr(a.voiceRecognition?.provider),Me=Ae||je||a.voiceRecognition?.dictation?.provider?.type===`custom`;if(ke&&Me){if(!U||!Fr){let e=Se(a);if(e){U=e.button,Fr=e.wrapper;let t=Er&&Er.parentElement===Cr?Er:null;Cr?Cr.insertBefore(Fr,t):ir?.appendChild(Fr),J&&(J.micButton=U),J?.addListener(U,`click`,dm),U.disabled=vd()||Z.isStreaming()&&!yd()}}else{let e=a.voiceRecognition??{},t=U.getAttribute(`data-state`);xe(U,a,t===`recording`||t===`processing`||t===`speaking`?t:`idle`,Z.getVoiceInterruptionMode());let n=e.tooltipText??`Start voice recognition`,r=e.showTooltip??!1;t===`idle`&&U.setAttribute(`aria-label`,n),Fr&&Ee({anchor:U,trigger:Fr,text:()=>U?.getAttribute(`aria-label`)??n,enabled:r}),Fr.style.display=``,U.disabled=vd()||Z.isStreaming()&&!yd()}}else U&&Fr&&(Fr.style.display=`none`,(a.voiceRecognition?.enabled!==!0||!Me)&&(Dr(a.voiceRecognition?.provider)?Z.isVoiceActive()&&Z.toggleVoice():Jp&&im()));if(bm(),a.attachments?.enabled===!0){if(!Rr||!Ir){let e=a.attachments??{};Vr||(Vr=k(`div`,`persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2`),Vr.style.display=`none`,(B.parentElement??ir).insertBefore(Vr,B)),Br||(Br=document.createElement(`input`),Br.type=`file`,Br.accept=(e.allowedTypes??Ft).join(`,`),Br.multiple=(e.maxFiles??4)>1,Br.style.display=`none`,Br.setAttribute(`aria-label`,`Attach files`),(B.parentElement??ir).insertBefore(Br,B)),Rr=k(`div`,`persona-send-button-wrapper`),Ir=k(`button`,`persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-attachment-button ${Xt} ${Yt}`),Ir.type=`button`,Ir.setAttribute(`aria-label`,e.buttonTooltipText??`Attach file`);let t=e.buttonIconName??`paperclip`;Ir.style.fontSize=`18px`,Ir.style.lineHeight=`1`;let n=T(t,24,`currentColor`,1.5);n?Ir.appendChild(n):Ir.textContent=`📎`,Ir.addEventListener(`click`,e=>{e.preventDefault(),Br?.click()}),Rr.appendChild(Ir);let r=e.buttonTooltipText??`Attach file`;Ee({anchor:Ir,trigger:Rr,text:()=>Ir?.getAttribute(`aria-label`)??r}),Sr?Sr.append(Rr):ir.appendChild(Rr),J&&(J.attachmentButton=Ir,J.attachmentInput=Br??void 0,J.attachmentPreviews=Vr??void 0),!W&&Br&&Vr&&(W=wi(),W.setPreviewsContainer(Vr),J?.addListener(Br,`change`,async()=>{W&&Br?.files&&(await W.handleFileSelect(Br.files),Br.value=``)}))}else{Rr.style.display=``;let e=a.attachments??{};Br&&(Br.accept=(e.allowedTypes??Ft).join(`,`),Br.multiple=(e.maxFiles??4)>1)}if(L.querySelector(`.persona-attachment-drop-overlay`)?.remove(),L.appendChild(zu(a.attachments?.dropOverlay)),Ir){let e=a.attachments??{},t=e.buttonTooltipText??`Attach file`;Ir.setAttribute(`aria-label`,t),Ir.textContent=``;let n=T(e.buttonIconName??`paperclip`,24,`currentColor`,1.5);n?Ir.appendChild(n):Ir.textContent=`📎`,Rr&&Ee({anchor:Ir,trigger:Rr,text:()=>Ir?.getAttribute(`aria-label`)??t})}}else Rr&&(Rr.style.display=`none`),W&&W.clearAttachments(),L.querySelector(`.persona-attachment-drop-overlay`)?.remove();let Ne=a.sendButton?.tooltipText??`Send message`,Pe=a.sendButton?.showTooltip??!1;me(rr,a),Z.isStreaming()||rr.setAttribute(`aria-label`,Ne),Cd(),Er&&Ee({anchor:rr,trigger:Er,text:()=>rr.getAttribute(`aria-label`)??Ne,enabled:Pe});let Fe=/* @__PURE__ */ new Set([W,...Array.from(Pf.values(),e=>e.attachments)]);for(let e of Fe)e?.updateConfig(Si());`plugins`in t&&W?.remountPreviews(Vr),Ba(),Ds();let Ie=Kt(K.getState().activeModeIds,a.composer?.modes);K.setActiveModeIds(Ie),Mi().length>0!=!!zi&&Ma(),zi?.render(Ie,Mi()),Ri?.repaint(),Da?Da.resolve():ja();let Le=xo(a,j());if(ws(),Le){z.style.maxWidth=Le,z.style.marginLeft=`auto`,z.style.marginRight=`auto`,z.style.width=`100%`,sr.style.maxWidth=Le,sr.style.marginLeft=`auto`,sr.style.marginRight=`auto`,sr.style.width=`100%`;for(let e of[ir,nr,Vr,V])e&&(e.style.maxWidth=Le,e.style.marginLeft=`auto`,e.style.marginRight=`auto`,e.style.width=`100%`)}else{z.style.maxWidth=``,z.style.marginLeft=``,z.style.marginRight=``,z.style.width=``,sr.style.maxWidth=``,sr.style.marginLeft=``,sr.style.marginRight=``,sr.style.width=``;for(let e of[ir,nr,Vr,V])e&&(e.style.maxWidth=``,e.style.marginLeft=``,e.style.marginRight=``,e.style.width=``)}let Re=a.statusIndicator??{};if(re(V,ir,Re),E(V,Re,Z?.getStatus()??`idle`),Z){let e=Z.getStatus();Kn(V,(e=>e===`idle`?Re.idleText??Ge.idle:e===`connecting`?Re.connectingText??Ge.connecting:e===`connected`?Re.connectedText??Ge.connected:e===`error`?Re.errorText??Ge.error:e===`paused`?Re.pausedText??Ge.paused:e===`resuming`?Re.resumingText??Ge.resuming:Ge[e])(e),Re,e)}V.classList.remove(`persona-text-left`,`persona-text-center`,`persona-text-right`);let ze=Re.align===`left`?`persona-text-left`:Re.align===`center`?`persona-text-center`:`persona-text-right`;V.classList.add(ze),ya(),Td(),La(),Rn(),Ha(a.layout?.slots??{}),Up()&&vd()&&Wp(),Fp?.refresh(),Ka.update(),yh()},open(){M()&&gd(!0,`api`)},close(){M()&&gd(!1,`api`)},toggle(){M()&&gd(!N,`api`)},reconnect(){Z.reconnectNow()},clearChat(){Wp(),Ic(),_o=!1,u?.clear(),to(),f.clear(),p.clear(),m.clear(),Z.clearMessages(),a.layout?.topFade&&(R.scrollTop=0),R.removeAttribute(`data-persona-top-fade`),yc.clear(),su();try{localStorage.removeItem(Ou),a.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${Ou}`)}catch(e){console.error(`[AgentWidget] Failed to clear default localStorage:`,e)}if(a.clearChatHistoryStorageKey&&a.clearChatHistoryStorageKey!==Ou)try{localStorage.removeItem(a.clearChatHistoryStorageKey),a.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${a.clearChatHistoryStorageKey}`)}catch(e){console.error(`[AgentWidget] Failed to clear custom localStorage:`,e)}let e=new CustomEvent(`persona:clear-chat`,{detail:{instanceId:r,timestamp:(/* @__PURE__ */ new Date()).toISOString()}});window.dispatchEvent(e),Vl(),De?.clear&&Dl(()=>De.clear(),`[AgentWidget] Failed to clear storage adapter:`),Me={},ot.syncFromMetadata(),Hf(Z.getActiveConversationId(),!0,!1),cp(),Vl(),Gi(void 0),Vi(void 0),zc(),Sn?.clear(),Cn?.reset(),En?.update()},setMessage(e){return!B||Up()||Z.isStreaming()||vd()?!1:(!N&&M()&&gd(!0,`system`),B.value=e,B.dispatchEvent(new Event(`input`,{bubbles:!0})),!0)},submitMessage(e){if(Z.isStreaming()||Up()||bd())return!1;let t=e?.trim()||B.value.trim();return t?(!N&&M()&&gd(!0,`system`),B.value=``,B.style.height=`auto`,yi(),Sp(t,{consumeDraft:!1}),!0):!1},getComposerState(){return K.getState()},setComposerModes(e){Ii(Ht(e,Ei(),a.composer?.modeGroups))},setQuote(e){let t=e?.text?.trim();t&&Vi({...e,text:t})},clearQuote(){Vi(void 0)},startDictation:Kp,finishDictation:()=>Gp(),cancelDictation:()=>{let e=Lp;return Wp()||e},sendDictation:()=>!a.voiceRecognition?.dictation?.showSend||bd()?!1:Gp(!0),getDictationState:()=>Rp??Fp?.getState()??Vp,startVoiceRecognition(){return Z.isStreaming()||Up()?!1:Hp()&&!a.voiceRecognition?.dictation?.provider&&a.voiceRecognition?.provider?.type!==`runtype`?Kp():Dr(a.voiceRecognition?.provider)?(Z.isVoiceActive()||Z.isBargeInActive()||(!N&&M()&&gd(!0,`system`),Q.manuallyDeactivated=!1,xl(),Z.toggleVoice().then(()=>{Q.active=vl(),xl(),bl(`user`),Q.active&&sm()})),!0):Jp?!0:nm()?(!N&&M()&&gd(!0,`system`),Q.manuallyDeactivated=!1,xl(),rm(`user`),!0):!1},stopVoiceRecognition(){return Up()?Gp():Dr(a.voiceRecognition?.provider)?!Z.isVoiceActive()&&!Z.isBargeInActive()?!1:((Z.isBargeInActive()?Z.deactivateBargeIn():Z.toggleVoice()).then(()=>{Q.active=!1,Q.manuallyDeactivated=!0,xl(),bl(`user`),um()}),!0):Jp?(Q.manuallyDeactivated=!0,xl(),im(`user`),!0):!1},injectMessage(e){return!N&&M()&&gd(!0,`system`),Z.injectMessage(e)},injectAssistantMessage(e){!N&&M()&&gd(!0,`system`);let t=Z.injectAssistantMessage(e);return Mt&&(Mt=!1,Nt&&=(clearTimeout(Nt),null),jt()),t},injectUserMessage(e){return!N&&M()&&gd(!0,`system`),Z.injectUserMessage(e)},injectSystemMessage(e){return!N&&M()&&gd(!0,`system`),Z.injectSystemMessage(e)},injectMessageBatch(e){return!N&&M()&&gd(!0,`system`),Z.injectMessageBatch(e)},injectComponentDirective(e){return!N&&M()&&gd(!0,`system`),Z.injectComponentDirective(e)},updateComponentProps(e,t){return Z.updateComponentProps(e,t)},removeComponentMessage(e){return Z.removeComponentMessage(e)},injectTestMessage(e){!N&&M()&&gd(!0,`system`),Z.injectTestEvent(e)},async connectStream(e,t){return Z.connectStream(e,t)},__pushEventStreamEvent(e){zt&&(Pn(),Nn(e.type,e.payload))},showEventStream(){zt&&Qi()},hideEventStream(){Dn&&$i()},isEventStreamVisible(){return Dn},listConversations(e){return Z.listConversations(e)},getActiveConversationId(){return Z.getActiveConversationId()},openConversation(e,t){return Kf(n=>n.openHistoryConversation(e,{focusComposer:t?.focus===!0,busy:t?.busy}))},startNewConversation(e){return Kf(t=>t.startNewConversation({focusComposer:e?.focus===!0}))},warmSession(){Jf()},deleteConversation(e){return Kf(t=>t.deleteHistoryConversation(e))},renameConversation(e,t){return Kf(n=>n.updateHistoryConversation(e,{title:t}))},setConversationStarred(e,t){return Kf(n=>n.updateHistoryConversation(e,{starred:t}))},clearConversationHistory(e){return Kf(t=>t.clearConversationHistory(e))},resetHistoryIdentity(){return Kf(e=>e.resetHistoryIdentity())},async getVisitorToken(){let e=af;if(!e)return null;let t=await e.get();return e===af?t:null},getHistoryIdentityStatus(){let e=$?.historyProvider;return e?e.getIdentityStatus():Ef()?{state:`unavailable`,reason:`ineligible_mode`}:{state:`unavailable`,reason:`history_disabled`}},showHistory(e){return Ef()?Kf(t=>t.openHistory({...e?.returnSurface?{returnSurface:e.returnSurface}:{},...e?.focus===void 0?{}:{focus:e.focus}})):Promise.resolve()},hideHistory(e){$?.closeHistory(e?.restoreFocus===void 0?void 0:{restoreFocus:e.restoreFocus})},isHistoryVisible(){return Fn},showArtifacts(){Re(a)&&(_o=!1,Eo=!0,bs(),Y?.setMobileOpen(!0))},hideArtifacts(){Re(a)&&(_o=!0,bs())},upsertArtifact(e){return Re(a)?(xt(a.features?.artifacts,{artifactType:e.artifactType,...e.artifactType===`markdown`&&e.file?{file:e.file}:{},...e.presentation?{presentation:e.presentation}:{}})===`panel`&&(_o=!1,Eo=!0),Z.upsertArtifact(e)):null},selectArtifact(e){Re(a)&&Z.selectArtifact(e)},clearArtifacts(){Re(a)&&Z.clearArtifacts()},getArtifacts(){return Z?.getArtifacts()??[]},getSelectedArtifactId(){return Z?.getSelectedArtifactId()??null},focusInput(){return A&&!N&&!j()||!B?!1:(B.focus(),!0)},revealToolCall(e,t={}){let n=Array.from(R.querySelectorAll(`.persona-tool-bubble[data-tool-call-id]`)).find(t=>t.dataset.toolCallId===e);if(!n)return!1;let r=e=>Array.from(e.querySelectorAll(`button[data-expand-header="true"]`)).find(t=>t.closest(`.persona-tool-bubble`)===e),i=e=>{e?.getAttribute(`aria-expanded`)===`false`&&Ya(e)},a=[];for(let e=n.parentElement?.closest(`.persona-tool-bubble`);e;e=e.parentElement?.closest(`.persona-tool-bubble`))a.unshift(e);a.forEach(e=>i(r(e)));let o=r(n);t.expand!==!1&&i(o),cl(),fu.cancel(),ou();let s=$a,c=o??n,l=()=>!wt&&s===$a&&R.contains(c),u=typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,d=()=>{let e=mi(c)-(R.clientHeight-c.offsetHeight)/2;return Math.max(0,Math.min(e,Xe(R)))},f=()=>{l()&&(u?(Wl(),Wc=!0,R.scrollTop=d(),Hc=R.scrollTop,Wc=!1):du(R,d,200,l))};window.clearTimeout(Qa),f(),Qa=window.setTimeout(()=>{Qa=void 0,f()},200);let p=t.highlightMs??2e3;if(p>0){let e=n.dataset.messageId;window.clearTimeout(Za.get(e)),Za.set(e,window.setTimeout(()=>{Za.delete(e),eo()},p)),n.setAttribute(`data-persona-revealed`,``)}return!0},async resolveApproval(e,t,n){let r=Z.getMessages().find(t=>t.variant===`approval`&&t.approval?.id===e);if(!r?.approval)throw Error(`Approval not found: ${e}`);if(ct(r.approval))Z.resolveWebMcpApproval(r.id,t);else return Z.resolveApproval(r.approval,t,n)},setFollowUpSuggestions(e){mc(e)},clearFollowUpSuggestions(){dc()},getMessages(){return Z.getMessages()},getStatus(){return Z.getStatus()},getPersistentMetadata(){return{...Me}},updatePersistentMetadata(e){rt(e)},on(e,t){return D.on(e,t)},off(e,t){D.off(e,t)},isOpen(){return M()&&N},isVoiceActive(){return Q.active},toggleReadAloud(e){Z.toggleReadAloud(e)},stopReadAloud(){Z.stopSpeaking()},getReadAloudState(e){return Z.getReadAloudState(e)},onReadAloudChange(e){return Z.onReadAloudChange(e)},getState(){return{open:M()&&N,launcherEnabled:A,voiceActive:Q.active,streaming:Z.isStreaming()}},showCSATFeedback(e){dh(()=>Eu({onSubmit:async(t,n)=>{Z.isClientTokenMode()&&await Z.submitCSATFeedback(t,n),e?.onSubmit?.(t,n)},onDismiss:e?.onDismiss,...e}))},showNPSFeedback(e){dh(()=>Du({onSubmit:async(t,n)=>{Z.isClientTokenMode()&&await Z.submitNPSFeedback(t,n),e?.onSubmit?.(t,n)},onDismiss:e?.onDismiss,...e}))},async submitCSATFeedback(e,t){return Z.submitCSATFeedback(e,t)},async submitNPSFeedback(e,t){return Z.submitNPSFeedback(e,t)},destroy(){wt=!0,At(),o.destroy(),Ka.destroy(),e.removeEventListener(`click`,qa),yf(),X.forEach(e=>e()),lf!=null&&(clearInterval(lf),lf=null),u?.destroy(),l?.destroy(),to(),f.clear(),p.clear(),m.clear(),D.dispose(),P.remove(),Xn?.remove(),Om?.destroy(),km?.remove(),Ws&&dr.removeEventListener(`click`,Ws)}};if(((n?.debugTools??!1)||a.debug)&&typeof window<`u`){let e=window.AgentWidgetBrowser,t={controller:gh,getMessages:gh.getMessages,getStatus:gh.getStatus,getMetadata:gh.getPersistentMetadata,updateMetadata:gh.updatePersistentMetadata,clearHistory:()=>gh.clearChat(),setVoiceActive:e=>e?gh.startVoiceRecognition():gh.stopVoiceRecognition()};window.AgentWidgetBrowser=t,X.push(()=>{window.AgentWidgetBrowser===t&&(window.AgentWidgetBrowser=e)})}if(typeof window<`u`){let e=(e,t)=>{let n=e=>{let n=e.detail;(!n?.instanceId||n.instanceId===r)&&t(n)};window.addEventListener(e,n),X.push(()=>window.removeEventListener(e,n))};e(`persona:focusInput`,()=>gh.focusInput()),zt&&(e(`persona:showEventStream`,()=>gh.showEventStream()),e(`persona:hideEventStream`,()=>gh.hideEventStream())),e(`persona:showHistory`,()=>gh.showHistory()),e(`persona:hideHistory`,()=>gh.hideHistory()),e(`persona:showArtifacts`,()=>gh.showArtifacts()),e(`persona:hideArtifacts`,()=>gh.hideArtifacts()),e(`persona:upsertArtifact`,e=>{e?.artifact&&gh.upsertArtifact(e.artifact)}),e(`persona:selectArtifact`,e=>{typeof e?.id==`string`&&gh.selectArtifact(e.id)}),e(`persona:clearArtifacts`,()=>gh.clearArtifacts())}let _h=Pu(a.persistState);if(_h&&M()){let t=Fu(_h.storage),n=`${_h.keyPrefix}widget-open`,i=`${_h.keyPrefix}widget-voice`,a=`${_h.keyPrefix}widget-voice-mode`;if(t){let o=_h.persist?.openState&&t.getItem(n)===`true`,s=_h.persist?.voiceState&&t.getItem(i)===`true`,c=_h.persist?.voiceState&&t.getItem(a)===`true`;if(o&&(Om?.setPanelOpen(!0,`auto`),setTimeout(()=>{gh.open(),setTimeout(()=>{if(s||c)gh.startVoiceRecognition();else if(_h.persist?.focusInput){let t=e.querySelector(`textarea`);t&&t.focus()}},100)},0)),_h.persist?.openState&&(D.on(`widget:opened`,()=>{t.setItem(n,`true`)}),D.on(`widget:closed`,()=>{t.setItem(n,`false`)})),_h.persist?.voiceState&&(D.on(`voice:state`,e=>{t.setItem(i,e.active?`true`:`false`)}),D.on(`user:message`,e=>{t.setItem(a,e.viaVoice?`true`:`false`)})),_h.clearOnChatClear){let e=()=>{t.removeItem(n),t.removeItem(i),t.removeItem(a)},o=t=>{t.detail?.instanceId===r&&e()};window.addEventListener(`persona:clear-chat`,o),X.push(()=>{window.removeEventListener(`persona:clear-chat`,o)})}}}O&&M()&&(Om?.setPanelOpen(!0,`auto`),setTimeout(()=>{gh.open()},0)),pd(),de=()=>{Z&&(Bc++,yc.clear(),rd(z,Z.getMessages(),It))},Z.getMessages().length>0&&nd(),Ce=de;let vh=hr(()=>{de?.(),mr()?.updateInlineArtifactBlocks(z,go.artifacts,{suppressTransition:!0}),bs()});X.push(vh);let yh=()=>{let t=Ar(a);fh||t.push(...n?.preparation??[]),Ef()&&!$&&t.push(Gf()),!t.length&&!e.hasAttribute(`data-persona-preparing`)?fh=!0:o.prepare(t,()=>{Da||ja(),zi||Ma(),d(),Jn()?.ensureComposerActionStyles(e),mr()?.ensureArtifactStyles(e),de?.(),fh=!0})};return yh(),gh},Uu=(e,t)=>{let n=e.trim(),r=/^(\d+(?:\.\d+)?)px$/i.exec(n);if(r)return Math.max(0,parseFloat(r[1]));let i=/^(\d+(?:\.\d+)?)%$/i.exec(n);return i?Math.max(0,t*parseFloat(i[1])/100):420},Wu=(e,t)=>{t===!1?e.style.maxHeight=``:(e.style.maxHeight=`100vh`,e.style.maxHeight=t)},Gu=(e,t)=>{t===!1?(e.style.position=`relative`,e.style.top=``):(e.style.position=`sticky`,e.style.top=`0`)},Ku=(e,t)=>{let n=e.parentElement;if(!n)return;let r=e.ownerDocument.createElement(`div`);r.style.cssText=`width:0;height:1px;margin:0;padding:0;border:0;visibility:hidden;`,n.appendChild(r);let i=r.offsetHeight>0;r.style.height=`100%`;let a=r.offsetHeight>0;r.remove(),i&&!a&&console.warn(`[AgentWidget] Docked mode: no ancestor of the dock target provides a definite height, so the dock panel cannot size to your layout.`+(t.maxHeight===!1?` The viewport guard is disabled (dock.maxHeight: false), so the panel will grow with the conversation and overflow the viewport.`:` Falling back to clamping the panel to ${t.maxHeight} (configurable via launcher.dock.maxHeight).`)+" To size the panel from your layout instead, give the height chain a definite height (e.g. `html, body { height: 100% }`) down to the dock target's parent.")},qu=(e,t)=>{let n=t?.launcher?.enabled??!0;e.className=`persona-host`,e.style.height=n?``:`100%`,e.style.display=n?``:`flex`,e.style.flexDirection=n?``:`column`,e.style.flex=n?``:`1 1 auto`,e.style.minHeight=n?``:`0`,e.style.minWidth=n?``:`0`},Ju=e=>{e.style.position=``,e.style.top=``,e.style.bottom=``,e.style.left=``,e.style.right=``,e.style.zIndex=``,e.style.transform=``,e.style.pointerEvents=``},Yu=e=>{e.style.inset=``,e.style.width=``,e.style.height=``,e.style.maxWidth=``,e.style.maxHeight=``,e.style.minWidth=``,Ju(e)},Xu=e=>{e.style.transition=``},Zu=e=>{e.style.display=``,e.style.flexDirection=``,e.style.flex=``,e.style.minHeight=``,e.style.minWidth=``,e.style.width=``,e.style.height=``,e.style.alignItems=``,e.style.transition=``,e.style.transform=``,e.style.marginLeft=``},Qu=e=>{e.style.width=``,e.style.maxWidth=``,e.style.minWidth=``,e.style.flex=`1 1 auto`},$u=(e,t)=>{e.style.width=``,e.style.minWidth=`0`,e.style.maxWidth=``,e.style.boxSizing=``,t.style.alignItems=``},ed=(e,t,n,r,i)=>{i?n.parentElement!==t&&(e.replaceChildren(),t.replaceChildren(n,r),e.appendChild(t)):n.parentElement===t&&(t.replaceChildren(),e.appendChild(n),e.appendChild(r))},td=(e,t,n,r,i,a)=>{let o=a?t:e;i===`left`?o.firstElementChild!==r&&o.replaceChildren(r,n):o.lastElementChild!==r&&o.replaceChildren(n,r)},nd=e=>{let t=mo(e),n=t.components?.panel,r=(e,n)=>e==null||e===``?n:za(t,e)??e;return{inset:r(n?.inset,wa),canvasBackground:r(n?.canvasBackground,Ta)}},rd=(e,t,n,r)=>{t?(e.style.boxSizing=`border-box`,e.style.padding=n,e.style.background=r):(e.style.padding=``,e.style.background=``,e.style.boxSizing=``)},id=(e,t,n,r,i,a,o,s)=>{let c=ns(a),l=c.reveal===`push`,u=s!=null,d=s?.inset??``,f=s?.canvasBackground??``;ed(e,t,n,r,l),td(e,t,n,r,c.side,l),e.dataset.personaHostLayout=`docked`,e.dataset.personaDockSide=c.side,e.dataset.personaDockOpen=o?`true`:`false`,e.style.width=`100%`,e.style.maxWidth=`100%`,e.style.minWidth=`0`,e.style.height=`100%`,e.style.minHeight=`0`,e.style.position=`relative`,n.style.display=`flex`,n.style.flexDirection=`column`,n.style.minHeight=`0`,n.style.position=`relative`,i.className=`persona-host`,i.style.height=`100%`,i.style.minHeight=`0`,i.style.minWidth=`0`,i.style.display=`flex`,i.style.flexDirection=`column`,i.style.flex=`1 1 auto`;let p=e.ownerDocument.defaultView,m=a?.launcher?.mobileFullscreen??!0,h=a?.launcher?.mobileBreakpoint??640,g=p!=null&&p.innerWidth<=h;if(m&&g&&o)e.dataset.personaDockMobileFullscreen=`true`,e.removeAttribute(`data-persona-dock-reveal`),Zu(t),Xu(r),Yu(r),Qu(n),$u(i,r),rd(r,!1,``,``),e.style.display=`flex`,e.style.flexDirection=`column`,e.style.alignItems=`stretch`,e.style.overflow=`hidden`,n.style.flex=`1 1 auto`,n.style.width=`100%`,n.style.minWidth=`0`,r.style.display=`flex`,r.style.flexDirection=`column`,r.style.position=`fixed`,r.style.inset=`0`,r.style.width=`100%`,r.style.height=`100%`,r.style.maxWidth=`100%`,r.style.minWidth=`0`,r.style.minHeight=`0`,r.style.overflow=`hidden`,r.style.zIndex=String(a?.launcher?.zIndex??1e5),r.style.transform=`none`,r.style.transition=`none`,r.style.pointerEvents=`auto`,r.style.flex=`none`,l&&(t.style.display=`flex`,t.style.flexDirection=`column`,t.style.width=`100%`,t.style.height=`100%`,t.style.minHeight=`0`,t.style.minWidth=`0`,t.style.flex=`1 1 auto`,t.style.alignItems=`stretch`,t.style.transform=`none`,t.style.marginLeft=`0`,t.style.transition=`none`,n.style.flex=`1 1 auto`,n.style.width=`100%`,n.style.maxWidth=`100%`,n.style.minWidth=`0`);else if(e.removeAttribute(`data-persona-dock-mobile-fullscreen`),Yu(r),Wu(r,c.maxHeight),rd(r,u&&o,d,f),c.reveal===`overlay`){e.style.display=`flex`,e.style.flexDirection=`row`,e.style.alignItems=`stretch`,e.style.overflow=`hidden`,e.dataset.personaDockReveal=`overlay`,Zu(t),Xu(r),Qu(n),$u(i,r);let a=c.animate?`transform 180ms ease`:`none`,s=c.side===`right`?`translateX(100%)`:`translateX(-100%)`,l=o?`translateX(0)`:s;r.style.display=`flex`,r.style.flexDirection=`column`,r.style.flex=`none`,r.style.position=`absolute`,r.style.top=`0`,r.style.bottom=`0`,r.style.width=c.width,r.style.maxWidth=c.width,r.style.minWidth=c.width,r.style.minHeight=`0`,r.style.overflow=`hidden`,r.style.transition=a,r.style.transform=l,r.style.pointerEvents=o?`auto`:`none`,r.style.zIndex=`2`,c.side===`right`?(r.style.right=`0`,r.style.left=``):(r.style.left=`0`,r.style.right=``)}else if(c.reveal===`push`){e.style.display=`flex`,e.style.flexDirection=`row`,e.style.alignItems=`stretch`,e.style.overflow=`hidden`,e.dataset.personaDockReveal=`push`,Xu(r),Ju(r),$u(i,r);let a=Uu(c.width,e.clientWidth),s=Math.max(0,e.clientWidth),l=c.animate?`margin-left 180ms ease`:`none`,u=c.side===`right`?o?-a:0:o?0:-a;t.style.display=`flex`,t.style.flexDirection=`row`,t.style.flex=`0 0 auto`,t.style.minHeight=`0`,t.style.minWidth=`0`,t.style.alignItems=`stretch`,t.style.height=`100%`,t.style.width=`${s+a}px`,t.style.transition=l,t.style.marginLeft=`${u}px`,t.style.transform=``,n.style.flex=`0 0 auto`,n.style.flexGrow=`0`,n.style.flexShrink=`0`,n.style.width=`${s}px`,n.style.maxWidth=`${s}px`,n.style.minWidth=`${s}px`,r.style.display=`flex`,r.style.flexDirection=`column`,r.style.flex=`0 0 auto`,r.style.flexShrink=`0`,r.style.width=c.width,r.style.minWidth=c.width,r.style.maxWidth=c.width,r.style.position=`relative`,r.style.top=``,r.style.overflow=`hidden`,r.style.transition=`none`,r.style.pointerEvents=o?`auto`:`none`}else{e.style.display=`flex`,e.style.flexDirection=`row`,e.style.alignItems=`stretch`,e.style.overflow=``,Zu(t),Ju(r),Qu(n),$u(i,r);let a=c.reveal===`emerge`;a?e.dataset.personaDockReveal=`emerge`:e.removeAttribute(`data-persona-dock-reveal`);let s=o?c.width:`0px`,l=c.animate?`width 180ms ease, min-width 180ms ease, max-width 180ms ease, flex-basis 180ms ease${u?`, padding 180ms ease`:``}`:`none`,f=!o;if(r.style.display=`flex`,r.style.flexDirection=`column`,r.style.flex=`0 0 ${s}`,r.style.width=s,r.style.maxWidth=s,r.style.minWidth=s,r.style.minHeight=`0`,Gu(r,c.maxHeight),r.style.overflow=a||f?`hidden`:`visible`,r.style.transition=l,a){r.style.alignItems=c.side===`right`?`flex-start`:`flex-end`;let t=u?`calc(${Uu(c.width,e.clientWidth)}px - (2 * ${d}))`:c.width;i.style.width=t,i.style.minWidth=t,i.style.maxWidth=t,i.style.boxSizing=`border-box`}}},ad=(e,t)=>{let n=e.ownerDocument.createElement(`div`);return qu(n,t),e.appendChild(n),{mode:`direct`,host:n,shell:null,syncWidgetState:()=>{},updateConfig(e){qu(n,e)},destroy(){n.remove()}}},od=(e,t)=>{let{ownerDocument:n}=e,r=e.parentElement;if(!r)throw Error(`Docked widget target must be attached to the DOM`);let i=e.tagName.toUpperCase();if(i===`BODY`||i===`HTML`)throw Error(`Docked widget target must be a concrete container element, not "body" or "html"`);let a=e.nextSibling,o=n.createElement(`div`),s=n.createElement(`div`),c=n.createElement(`div`),l=n.createElement(`aside`),u=n.createElement(`div`),d=t?.launcher?.enabled??!0?t?.launcher?.autoExpand??!1:!0;s.dataset.personaDockRole=`push-track`,c.dataset.personaDockRole=`content`,l.dataset.personaDockRole=`panel`,u.dataset.personaDockRole=`host`,l.appendChild(u),r.insertBefore(o,e),c.appendChild(e);let f=null,p=()=>{f?.disconnect(),f=null},m=null,h=()=>{m=t?.launcher?.detachedPanel===!0?nd(t):null};h();let g=()=>{id(o,s,c,l,u,t,d,m)},_=null,v=()=>{_?.(),_=null,t?.launcher?.detachedPanel===!0&&t?.colorScheme===`auto`&&(_=bo(()=>{h(),g()}))},y=()=>{p(),ns(t).reveal===`push`&&typeof ResizeObserver<`u`&&(f=new ResizeObserver(()=>{g()}),f.observe(o))},b=!1,x=()=>{g(),y(),d&&!b&&o.dataset.personaDockMobileFullscreen!==`true`&&(b=!0,Ku(o,ns(t)))},S=o.ownerDocument.defaultView,C=()=>{x()};return S?.addEventListener(`resize`,C),ns(t).reveal===`push`?(s.appendChild(c),s.appendChild(l),o.appendChild(s)):(o.appendChild(c),o.appendChild(l)),x(),v(),{mode:`docked`,host:u,shell:o,syncWidgetState(e){let t=!e.launcherEnabled||e.open;d!==t&&(d=t,x())},updateConfig(e){t=e,(t?.launcher?.enabled??!0)===!1&&(d=!0),h(),x(),v()},destroy(){S?.removeEventListener(`resize`,C),_?.(),_=null,p(),r.isConnected&&(a&&a.parentNode===r?r.insertBefore(e,a):r.appendChild(e)),o.remove()}}},sd=(e,t)=>es(t)?od(e,t):ad(e,t),cd={desktop:{w:1280,h:800},mobile:{w:390,h:844}},ld=`persona-preview-shell-theme`,ud={load:()=>null,save:()=>{},clear:()=>{}},dd=[`How do I get started?`,`Pricing & plans`,`Talk to support`];function fd(e){return e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/</g,`<`).replace(/>/g,`>`)}function pd(e){return e===`dark`?{pageBg:`linear-gradient(180deg, #0f172a 0%, #020617 100%)`,chromeBg:`#111827`,chromeBorder:`#1f2937`,dot:`#475569`,skeleton:`#334155`,cardBg:`#1e293b`,cardBorder:`rgba(148, 163, 184, 0.16)`}:{pageBg:`linear-gradient(180deg, #ffffff 0%, #f8fafc 100%)`,chromeBg:`#ffffff`,chromeBorder:`#e5e7eb`,dot:`#cbd5e1`,skeleton:`#e2e8f0`,cardBg:`#e2e8f0`,cardBorder:`rgba(148, 163, 184, 0.18)`}}function md(e){let t=pd(e);return`* { box-sizing: border-box; }
|
|
117
|
+
`)}if(!s&&!n){let e=r?``:`padding-top: 1.25em !important;`,t=r?``:`z-index: ${a.launcher?.zIndex??1e5} !important;`;P.style.cssText+=`max-height: -moz-available !important; max-height: stretch !important;`+e+t}bi(),be()},As=()=>{e.style.setProperty(`--persona-content-max-width`,bo(a,j()))},Rs=!1;function zs(){a.layout?.topFade&&R.scrollTop>1?R.setAttribute(`data-persona-top-fade`,`true`):R.removeAttribute(`data-persona-top-fade`),ai.hidden=!j()||ii.hidden||R.scrollHeight-R.clientHeight-R.scrollTop<=1,ai.hidden||(ai.style.bottom=`${L.getBoundingClientRect().bottom-ii.getBoundingClientRect().top-L.clientTop}px`)}let Vs=()=>{zs();let t=xo(a,j());j()&&a.composer?.placement&&a.debug===!0&&!Rs&&(Rs=!0,console.warn(`[persona] composer.placement is ignored in composer-bar mount mode.`));let n=pi();e.setAttribute(`data-persona-composer-placement`,t),e.setAttribute(`data-persona-conversation-state`,mi),e.setAttribute(`data-persona-welcome-anchor`,n.anchor??`bottom`),e.style.setProperty(`--persona-composer-anchor-gap`,n.composerGap??`24px`),xi()},Hs=()=>{if(j())return;let t=$o(a),n=a.launcher?.sidebarMode??!1;if(en(a)||t||n||(a.launcher?.fullHeight??!1)||!vt)return;let r=e.ownerDocument.defaultView??window,i=a.launcher?.mobileFullscreen??!0,o=a.launcher?.mobileBreakpoint??640;if(i&&r.innerWidth<=o)return;let s=Ic(a);F.style.height=s.height,F.style.maxHeight=s.maxHeight};Os(),_o(e,a),ze(e,a),Pe(e,a),As(),Vs(),vo=()=>{Os(),Hs(),_o(e,a),ze(e,a),Pe(e,a),As(),Vs(),To?e.style.setProperty(`--persona-artifact-welded-outer-radius`,To):e.style.removeProperty(`--persona-artifact-welded-outer-radius`),Hn(),Vn()};let X=[];X.push(()=>Ba.destroy()),X.push(()=>{ho=!0}),X.push(()=>{se.forEach(e=>e()),oe.destroy()}),X.push(()=>{document.removeEventListener(`keydown`,ss)}),X.push(()=>{ci!==null&&clearTimeout(ci)});let Us=null,Ws=null;X.push(()=>{Us?.(),Us=null,Ws?.(),Ws=null}),go&&X.push(()=>{go?.disconnect(),go=null}),X.push(()=>{fs?.destroy(),fs=null,Y?.element.style.removeProperty(`width`),Y?.element.style.removeProperty(`maxWidth`),Y?.destroy()}),_n&&X.push(()=>{An=!0,Dn=null,Nn!==null&&(cancelAnimationFrame(Nn),Nn=null),jn?.destroy(),jn=null,Tn?.destroy(),Tn=null,Cn=null});let Gs=null,Ks=()=>{if(Gs&&=(Gs(),null),a.colorScheme===`auto`){let e=uo(a);Gs=yo(t=>{t!==e&&(e=t,vo(),Es(),Z&&(Zc++,xd(z,Z.getMessages(),nn)))})}};Ks(),X.push(()=>{Gs&&=(Gs(),null)}),X.push(()=>{ge=!0,fe?.()}),X.push(()=>{we=!0});let qs=!1;X.push(()=>{qs=!0});let Js=(t,n)=>{let r=cn(t,n);return r||!pn.includes(t)?r:(qo().then(r=>{if(qs)return;fn(r.wipe),fn(r.glyphCycle);let i=cn(t,n);i&&un(i,e)}).catch(()=>{}),null)},Ys=a.features?.streamAnimation;if(Ys?.type&&Ys.type!==`none`){let t=Js(Ys.type,Ys.plugins);t&&un(t,e),X.push(()=>an(e))}let Xs=ls(ar),Zs=ls(rr),Qs=ls(ir),$s=ls(ii),ec=[Xs,Zs,Qs,$s];X.push(()=>{ec.forEach(e=>e.destroy())});let tc=null,Z,rc=null,ic=!1,ac=0,sc=null,lc=/* @__PURE__ */ new Set;X.push(()=>lc.clear());let uc=e=>e.reduce((e,t)=>t.role===`user`?e+1:e,0),dc=e=>{for(let t=e.length-1;t>=0;t--)if(_t(e[t]))return e[t].id??null;return null},pc=!1,mc=()=>{pc||a.debug!==!0||(pc=!0,console.warn(`[persona] Starters are hidden: suggestions.starters.placement is "welcome", but welcome is disabled. Use "auto" or "composer".`))},_c=!1,vc=!1,yc=(e,t)=>{_c||a.debug!==!0||t.enabled&&!t.expose&&(ic||vc&&(Z.isStreaming()||e.some(_t)||(_c=!0,console.info(`[persona] No suggest_replies call received. Declare the tool server-side or set suggestions.followUps.expose: true, and instruct the model when to use it. See UI-COMPONENTS.md.`))))},Sc=e=>{if(!Z)return;let t=e??Z.getMessages();if(ar.removeAttribute(`data-persona-suggestions-below`),ar.parentElement===H&&H.insertBefore(ar,H.firstChild),lc.size){let e=new Set(t.map(e=>e.id));for(let t of lc)e.has(t)||lc.delete(t)}let n=e=>{e.render([],Z,B,t)},r=e=>{ec.forEach(t=>{t!==e&&n(t)})};rc&&(uc(t)>ac||dc(t)!==sc)&&(rc=null);let i=ht(a);yc(t,i);let o=dc(t),s=i.enabled&&!(a.future?.v5Defaults&&o&&lc.has(o))?gt(t,a.suggestions?.followUps?.maxItems??(a.future?.v5Defaults?5:4)):null;if(a.future?.v5Defaults&&Z.isStreaming()){ec.forEach(n);return}let c=rc??s,l=rc?`host`:`agent`;if(c){let e=a.suggestions?.followUps,n=e?.placement??(e?`auto`:`composer`),i=(n===`auto`?j()?`composer`:`after-message`:n)===`after-message`?Qs:j()?$s:Xs;r(i),i.render(c,Z,B,t,a.suggestionChipsConfig,{source:l,surface:`followUp`,variant:e?.variant??`chip`,behavior:e?.behavior??`send`,overflow:e?.overflow??(a.future?.v5Defaults?`scroll`:`wrap`),maxItems:e?.maxItems??(a.future?.v5Defaults?fi()?5:3:4),config:a,plugins:D,submitPrompt:zp});return}if(t.some(e=>e.role===`user`)){ec.forEach(n);return}let u=a.future?.v5Defaults===!0,d=fi(),f=a.suggestions?.starters??(u?{}:void 0);if(f){let e=Pc(pi(),t),i=f.placement??`auto`,o=i===`auto`?e?`welcome`:`composer`:i;if(o===`welcome`&&!e){mc(),ec.forEach(n);return}ar.toggleAttribute(`data-persona-suggestions-below`,o===`below-composer`),o===`below-composer`?sr.after(ar):H.insertBefore(ar,H.firstChild);let s=o===`welcome`?Zs:Xs;r(s),s.render(f.items??a.suggestionChips,Z,B,t,a.suggestionChipsConfig,{surface:`starter`,variant:f.variant??(u&&!d?`chip`:`card`),behavior:f.behavior??`send`,overflow:f.overflow??`wrap`,maxItems:f.maxItems??(u&&!d?3:4),config:a,plugins:D,submitPrompt:zp})}else r(Xs),Xs.render(a.suggestionChips,Z,B,t,a.suggestionChipsConfig,{surface:`starter`,variant:`chip`,behavior:`send`,overflow:`wrap`,maxItems:4,config:a,plugins:D,submitPrompt:zp})},wc=()=>{if(!a.future?.v5Defaults||!Z)return;rc=null;let e=dc(Z.getMessages());e&&lc.add(e),Sc()},Dc=()=>{rc&&(rc=null,Sc())},Oc=e=>{let t=Array.isArray(e)?[...e]:[];if(!t.length){Dc();return}let n=Z?Z.getMessages():[];rc=t,ic=!0,ac=uc(n),sc=dc(n),Sc(n)},kc=!1,jc=Vo(),Mc=/* @__PURE__ */ new Set,Fc=/* @__PURE__ */ new Map,Rc=/* @__PURE__ */ new Map,Vc=/* @__PURE__ */ new Map,Hc=/* @__PURE__ */ new Map,Uc=e=>{let t=Hc.get(e);if(Hc.delete(e),Vc.delete(e),vd(z,e)?.removeAttribute(`data-preserve-runtime`),t){t.controller.abort();try{t.handle.destroy?.()}catch(e){console.error(`[AgentWidget] Component cleanup failed:`,e)}}};X.push(()=>{for(let e of Hc.keys())Uc(e)});let Wc=/* @__PURE__ */ new Map,Gc=/* @__PURE__ */ new Map,Kc=e=>{Gc.get(e)?.abort(),Gc.delete(e),Wc.delete(e)},qc=()=>{for(let e of Gc.keys())Kc(e)};X.push(qc);let Jc=null,Yc=null;function Xc(){if(!Jc)return;let e=Jc;Jc=null,Yc?.destroy(),Yc=null,jc.delete(e),L.querySelector(`#wrapper-${e}`)?.removeAttribute(`data-preserve-runtime`),Z&&xd(z,Z.getMessages(),nn)}let Zc=0,Qc=Qe(),$c=0,nl=null,rl=!1,al=!1,ol=0,sl=null,cl=null,dl=!1,fl=!1,ml=null,hl=!0,gl=!1,_l=null,vl=!1,yl=()=>{ro++,vl=!0,wl()},bl=null,xl=24,Sl=null,Cl=()=>{e.setAttribute(`data-persona-scrollbar`,ei()),ei()!==`on-scroll`&&(Sl!==null&&clearTimeout(Sl),Sl=null,R.removeAttribute(`data-persona-scrollbar-visible`))},wl=()=>{ei()===`on-scroll`&&(R.setAttribute(`data-persona-scrollbar-visible`,``),Sl!==null&&clearTimeout(Sl),Sl=setTimeout(()=>{Sl=null,Ze(R,24)&&R.removeAttribute(`data-persona-scrollbar-visible`)},1e3))};Cl(),X.push(()=>{Sl!==null&&clearTimeout(Sl)});let Tl=/* @__PURE__ */ new Map,El=!1,Dl=null,Q={active:!1,manuallyDeactivated:!1,lastUserMessageWasVoice:!1,lastUserMessageId:null};Ha();let Ol=a.voiceRecognition?.autoResume??!1,kl=()=>Z.isVoiceActive()||Z.isBargeInActive(),Al=!1,jl=e=>{O.emit(`voice:state`,{active:Q.active,source:e,timestamp:Date.now()})},Ml=()=>{st(e=>({...e,voiceState:{active:Q.active,timestamp:Date.now(),manuallyDeactivated:Q.manuallyDeactivated}}))},Nl=()=>{if(a.voiceRecognition?.enabled===!1||a.voiceRecognition?.dictation||a.voiceRecognition?.provider?.type===`custom`&&a.voiceRecognition.completionBehavior===`review`)return;let e=Wu(Ve.voiceState),t=!!e.active,n=Number(e.timestamp??0);if(Q.manuallyDeactivated=!!e.manuallyDeactivated,t&&Date.now()-n<3e4){let e=At;setTimeout(()=>{Mt(e)&&(Q.active||(Q.manuallyDeactivated=!1,Er(a.voiceRecognition?.provider)?Z.toggleVoice().then(()=>{Mt(e)&&(Q.active=kl(),jl(`restore`),Q.active?Tm():(Ml(),Op(`Tap the mic to resume your voice call`,1e4)))}):xm(`restore`)))},Er(a.voiceRecognition?.provider)?0:1e3)}},Pl=()=>{Al=!0,Q.active&&Ml()};typeof window<`u`&&(window.addEventListener(`pagehide`,Pl),X.push(()=>window.removeEventListener(`pagehide`,Pl)));let Fl=()=>Z?Gu(Z.getMessages()).filter(e=>!e.__skipPersist):[],Il=null,Rl=(e,t)=>{typeof console<`u`&&console.error(e,t)},zl=(e,t)=>{let n=()=>{try{let n=e();return!n||typeof n.then!=`function`?null:Promise.resolve(n).catch(e=>{Rl(t,e)})}catch(e){return Rl(t,e),null}},r=Il,i=r?r.then(()=>n()??void 0):n();if(!i)return;let a=i.finally(()=>{Il===a&&(Il=null)});Il=a};function Bl(e){if(Gl!==null||!Fe?.save)return;let t=e?Gu(e):Z?Fl():[],n=Re&&Z?.getResumableHandle();n&&(Ve={...Ve,durableResume:{executionId:n.executionId,after:n.lastEventId}});let r={messages:t,metadata:Ve,artifacts:Do.artifacts,selectedArtifactId:Do.selectedId,...Vl?{draft:Vl}:{}};zl(()=>Fe.save(r),`[AgentWidget] Failed to persist state:`)}let Vl,Gl=null,Kl=()=>!Fe?.save||a.persistState===!1?!1:typeof a.persistState!=`object`||a.persistState.persist?.draft!==!1,ql=pa({write:()=>{if(!Kl())return;let e=K.getState(),t=da({text:e.text,mentionRefs:e.mentionRefs,contentSegments:Sp(),selectedModelId:e.selectedModelId,activeModeIds:e.activeModeIds,quote:e.quote});JSON.stringify(t)!==JSON.stringify(Vl)&&(Vl=t,Bl())}});function Yl(){Kl()&&ql.schedule()}function Xl(){ql.flush()}function Zl(e){if(!Kl())return;let t=fa(e,{mentionSourceIds:(a.contextMentions?.sources??[]).map(e=>e.id),modelIds:(a.composer?.models??[]).map(e=>e.id),modes:a.composer?.modes??[]});t&&(Vl=e,B&&!B.value&&(B.value=t.text,B.dispatchEvent(new Event(`input`,{bubbles:!0})),Si()),t.selectedModelId&&(K.setSelectedModelId(t.selectedModelId),Vi?.repaint()),zi(t.activeModeIds??[]),t.quote&&Wi(t.quote),ql.cancel())}function Ql(){ql.cancel(),Vl&&(Vl=void 0,Kl()&&Bl())}let $l=jr(),eu=()=>P.querySelector(`#persona-scroll-container`)||R,tu=()=>{$l.cancel(),rl=!1},nu=()=>{nl!==null&&(cancelAnimationFrame(nl),nl=null),al=!1,tu()},ou=()=>{let e=Z?.getStatus();return kc&&e!==`paused`&&e!==`resuming`&&e!==`error`&&!Z?.getMessages().some(e=>e.agentMetadata?.awaitingLocalTool===!0&&e.agentMetadata.askUserQuestionAnswered!==!0||e.variant===`approval`&&e.approval?.status===`pending`)},su=()=>ou()&&Tu()&&(qr()!==`anchor-top`||Qr()),lu=()=>{let e=ni.getAttribute(`data-persona-scroll-to-bottom-visible`)===`true`;ti.update(a,e,su(),ol,e&&yu())},du=()=>{ol!==0&&(ol=0,lu())},pu=()=>{let e=R.getBoundingClientRect(),t=H.getBoundingClientRect();return t.height>0&&t.bottom>e.top?Math.min(R.clientHeight,Math.max(0,t.top-e.top-R.clientTop)):R.clientHeight},mu=()=>nd(sl?.spacerHeight??0,!1)-R.scrollTop-pu()<=24,hu=e=>_i(e)>R.scrollTop+pu()-24,vu=()=>(Z?.getMessages()??[]).filter(e=>e.variant===`approval`&&e.approval?.status===`pending`).map(e=>od(e.id)).filter(e=>!!e?.isConnected),yu=()=>vu().some(hu),bu=e=>{let t=_i(e);return t>=R.scrollTop&&t+e.offsetHeight<=R.scrollTop+pu()},Su=[],Cu=()=>{let e=Su;Su=[];for(let t of e){let e=od(t)?.querySelector(`[data-action="allow"]`);if(e&&bu(e)){e.focus({preventScroll:!0});return}}},Tu=()=>(!Jr()||!Qc.isFollowing())&&!mu(),Eu=()=>!!Z&&Z.getMessages().length>0,Du=()=>{if(!Kr()||Jn()){ti.update(a,!1),ni.parentNode&&ni.remove();return}let e=ri();ni.parentNode!==e&&e.insertBefore(ni,e===L?ii:null),vi();let t=Ye(R)>0,n=!Ju.active&&t&&Tu()&&Eu();n||(ol=0),ti.update(a,n,su(),ol,n&&yu())},Ou=()=>{Qc.pause()&&(nu(),Du())},Mu=()=>{Qc.resume(),du(),Du()},Nu=(e=!1)=>{!Ju.active&&Jr()&&Eu()&&Qc.isFollowing()&&(e||kc)&&(nl!==null&&(cancelAnimationFrame(nl),nl=null),al=!0,nl=requestAnimationFrame(()=>{nl=null,al=!1,Qc.isFollowing()&&Xu(eu(),e?220:140)}))},zu=(e,t,n,r=()=>!0)=>{tu(),rl=!0,$l.start(e,t,n,()=>{$c=e.scrollTop},()=>{rl=!1},r)},Ju=Mr(R,L,()=>{$c=R.scrollTop},()=>{Mu(),Nu(!0),Du(),Cu()},()=>{Su=[],Qc.pause(),Du()}),Xu=(e,t=500)=>{let n=Ye(e)-e.scrollTop;Math.abs(n)<1?$c=e.scrollTop:Math.abs(n)>=80?(tu(),rl=!0,e.scrollTop=Ye(e),$c=e.scrollTop,rl=!1):zu(e,()=>Ye(e),t,()=>Qc.isFollowing())},Zu=()=>{if(!Eu()){Du();return}let e=eu();rl=!0,e.scrollTop=Ye(e),$c=e.scrollTop,rl=!1,Du()},Qu=()=>{let e=R.getRootNode();return(typeof e.getSelection==`function`?e.getSelection():null)??R.ownerDocument.getSelection()},$u=()=>qe(Qu(),R),ed=()=>{if(Xr()!==`last-user-turn`)return!1;let e=Z?.getMessages()??[];if(e.length<2)return!1;let t=[...e].reverse().find(e=>e.role===`user`);if(!t)return!1;let n=typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(t.id):t.id.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`),r=R.querySelector(`[data-message-id="${n}"]`);if(!r)return!1;let i=Math.min(Math.max(0,_i(r)-Yr()),Ye(R));return rl=!0,R.scrollTop=i,$c=R.scrollTop,rl=!1,qr()===`follow`&&!Ze(R,24)&&Qc.pause(),Du(),!0},td=e=>{let t=Math.max(0,Math.round(e));oi.style.height=`${t}px`,oi.style.display=t>0?``:`none`,sl&&(sl.spacerHeight=Math.max(0,e))},nd=(e,t=!0)=>{let n=parseFloat(getComputedStyle(R).paddingBottom)||0,r=0;for(let e of R.children){let t=e;t!==oi&&t.offsetHeight!==0&&(r=Math.max(r,_i(t)+t.offsetHeight))}let i=R.scrollHeight-e,a=r>0?Math.min(r+n,i):i;return t?a:a-n},rd=()=>{if(!sl||sl.spacerHeight<=0||sl.pending)return;let e=nd(sl.spacerHeight),t=Math.max(0,Math.round(R.scrollTop)+R.clientHeight-e+24);t<sl.spacerHeight&&(td(t),Du())},id=()=>{cl!==null&&(cancelAnimationFrame(cl),cl=null),Ju.cancel(),tu(),sl=null,oi.style.height=`0px`,oi.style.display=`none`},ad=e=>typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(e):e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`),od=e=>R.querySelector(`[data-message-id="${ad(e)}"]`),sd=e=>{cl!==null&&cancelAnimationFrame(cl),cl=requestAnimationFrame(()=>{cl=null;let t=od(e);if(!t)return;let n=_i(t),r=sl?.spacerHeight??0,i=nd(r),{targetScrollTop:a,spacerHeight:o}=et({anchorOffsetTop:n,topOffset:Yr(),viewportHeight:R.clientHeight,contentHeight:i,slack:24});sl={pending:0,initialSpacerHeight:o,contentHeightAtAnchor:i,spacerHeight:o},td(o),zu(R,()=>t.isConnected?Math.max(0,_i(t)-Yr()):a,220)})},cd=()=>{if(qr()!==`anchor-top`||!sl||!_l)return;let e=od(_l);if(!e)return;tu();let t=sl.spacerHeight,n=nd(t),{targetScrollTop:r,spacerHeight:i}=et({anchorOffsetTop:_i(e),topOffset:Yr(),viewportHeight:R.clientHeight,contentHeight:n,slack:24});sl={pending:0,initialSpacerHeight:i,contentHeightAtAnchor:n,spacerHeight:i},td(i),rl=!0,R.scrollTop=r,$c=R.scrollTop,rl=!1,Du()},ld=()=>{if(Jr()){if(Du(),!Qc.isFollowing()||Ze(R,1))return;Nu(!kc)}else{if(sl&&sl.initialSpacerHeight>0&&!sl.pending){let e=R.scrollHeight-sl.spacerHeight,t=Xe({initialSpacerHeight:sl.initialSpacerHeight,contentHeightAtAnchor:sl.contentHeightAtAnchor,currentContentHeight:e});t!==sl.spacerHeight&&td(t)}Du()}},ud=(e,t,n,r,i)=>{if(jc.delete(n),i!==`toggle`&&Jr()&&Qc.isFollowing()){Bs(e,t,n,r);return}let a=R.getBoundingClientRect().top,o=e.getBoundingClientRect(),s=sl;s&&(tu(),td(s.spacerHeight+e.offsetHeight)),Bs(e,t,n,r);let c=e.getBoundingClientRect(),l=o.top-a,u=i===`toggle`?c.top-a-(r.state===`collapsed`&&l<0?Yr():l):l>=0?c.top-o.top:c.bottom-o.bottom,d=Math.max(0,R.scrollTop+u);s&&sl===s&&(td(d+R.clientHeight+24-nd(s.spacerHeight)),s.initialSpacerHeight=s.spacerHeight,s.contentHeightAtAnchor=R.scrollHeight-s.spacerHeight),Math.abs(d-R.scrollTop)>=1&&(rl=!0,R.scrollTop=d,$c=R.scrollTop,rl=!1),Du()},dd=()=>{if(!Ps(a))return;let e=Fs(a);for(let t of Array.from(z.querySelectorAll(`[${Ms}]`))){let n=t.closest(`[data-message-id]`),r=n?.getAttribute(`data-message-id`);if(!n||!r)continue;let i=t.scrollHeight;i>0&&h.set(r,Ls(i,e));let o=h.get(r)??!1,s=t.getAttribute(Ms);if(s===`live`)continue;s===`settling`&&_.delete(r);let c=o?g.get(r)?`expanded`:`collapsed`:`fit`;c!==s&&ud(n,t,r,{state:c,maxHeight:e,...Is(a)},`measure`)}},fd=e=>{if(h.size===0&&g.size===0&&_.size===0)return;let t=new Set(e.map(e=>e.id));for(let e of[h,g,_])for(let n of e.keys())t.has(n)||e.delete(n)},pd=e=>{let t=qr();t===`follow`?(Mu(),Nu(!0)):t===`anchor-top`&&(hl=!1,gl=!0,vl=!1,_l=e,sd(e))},md=()=>{qr()===`anchor-top`&&(gl?hl=!1:(hl=!0,id(),Mu(),Nu(!0)))},hd=e=>{let t=/* @__PURE__ */ new Map;e.forEach(e=>{let n=Tl.get(e.id);t.set(e.id,{streaming:e.streaming,role:e.role}),!n&&e.role===`assistant`&&(O.emit(`assistant:message`,e),!fl&&(qr()!==`anchor-top`||Qr())&&Tu()&&(ol+=1,lu(),Du(),di(ol===1?`1 new message below.`:`${ol} new messages below.`))),e.role===`assistant`&&(n?.streaming||Mc.has(e.id))&&e.streaming===!1&&O.emit(`assistant:complete`,e),e.variant===`approval`&&e.approval&&(n?e.approval.status!==`pending`&&O.emit(`approval:resolved`,{approval:e.approval,decision:e.approval.status}):O.emit(`approval:requested`,{approval:e.approval,message:e}))}),Tl.clear(),t.forEach((e,t)=>{Tl.set(t,e)}),Mc.clear()},gd=(e,t)=>{let n=t===`user`?`user`:`assistant`,r=a.layout?.messages?.[n],i=r?.width??`content`,o=t===`operator`?`content`:i,s=t===`operator`?`var(--persona-message-operator-max-width, var(--persona-message-assistant-max-width, 100%))`:`var(--persona-message-${n}-max-width, 100%)`,c=r?.maxWidth??(i===`full`?s:void 0);e.classList.add(`persona-message-row`),e.classList.remove(`persona-message-row-user`,`persona-message-row-assistant`,`persona-message-row-system`,`persona-message-row-operator`,`persona-message-width-content`,`persona-message-width-full`),e.classList.add(`persona-message-row-${t}`,`persona-message-width-${o}`),e.classList.toggle(`persona-justify-end`,t===`user`),e.setAttribute(`data-message-role`,t),e.setAttribute(`data-message-width`,o),c?e.style.setProperty(`--persona-message-row-max-width`,c):e.style.removeProperty(`--persona-message-row-max-width`)},_d=(e,t)=>{let n=document.createElement(`div`);return n.className=`persona-flex`,n.id=`wrapper-${e}`,n.setAttribute(`data-wrapper-id`,e),gd(n,t),n},vd=(e,t)=>Array.from(e.querySelectorAll(`[data-wrapper-id]`)).find(e=>e.getAttribute(`data-wrapper-id`)===t),yd=(t,n,r)=>{let i=/* @__PURE__ */ new Set;d(),u?.observeMessages(n,i);let o=document.createElement(`div`),s=!a.features?.toolCallDisplay?.grouped,h=/* @__PURE__ */ new Set;if(s)for(let e of Array.from(t.children)){let t=e.getAttribute(`data-wrapper-id`);t&&h.add(t)}let g=/* @__PURE__ */ new Map,_=D.find(e=>e.renderLoadingIndicator)?.renderLoadingIndicator??a.loadingIndicator?.render,y=/* @__PURE__ */ new Set,b=/* @__PURE__ */ new Map,x=/* @__PURE__ */ new Set,S=D.some(e=>e.renderAskUserQuestion),C=[],ee=[],w=a.enableComponentStreaming!==!1,T=a.approval!==!1,te=[],E=a.messageActions,ne;if(a.future?.v5Defaults&&E?.visibility===void 0){for(let e=n.length-1;e>=0;e--)if(n[e].role===`assistant`&&!n[e].variant){ne=n[e].id;break}}let re=(E?.showRegenerate===!0||a.errorDisplay===`block`)&&E?.enabled!==!1&&Ko.current?.isStreaming()!==!0?Oi(n):null,ie=E?.showEdit===!0&&E.enabled!==!1,ae=-1;n.forEach((e,t)=>{e.role===`operator`&&(ae=t)});let oe=E?.showQuote===!0&&E.enabled!==!1,se=null,le=a.features?.reasoningDisplay?.completedVisibility,fe=e=>le===`removed`||le===`removed-when-short`&&Et(e,a.features?.reasoningDisplay?.shortThinkThreshold),pe=a.features?.toolCallDisplay?.completedVisibility===`removed`,me=e=>e.variant===`reasoning`&&e.reasoning?.status===`complete`?fe(e.reasoning):pe&&e.variant===`tool`&&e.toolCall?.status===`complete`&&!e.toolCall.interrupted;n.forEach((i,l)=>{if(me(i))return;if(y.add(i.id),b.set(i.id,i.role),(i.variant===`tool`&&i.toolCall&&hn||i.variant===`reasoning`&&i.reasoning&&rn)&&!d()){o.appendChild(_d(i.id,i.role));return}if(Jc===i.id&&Yc){let e=_d(i.id,i.role);e.setAttribute(`data-persona-message-edit-stub`,`true`),e.setAttribute(`data-preserve-runtime`,`true`),o.appendChild(e),se={messageId:i.id,element:Yc.element};return}let u=S&&pt(i),ce=T&&i.variant===`approval`&&!!i.approval,le=!u&&i.role===`assistant`&&!i.variant&&w&&Mi(i);!ce&&Wc.has(i.id)&&(vd(t,i.id)?.removeAttribute(`data-preserve-runtime`),Kc(i.id)),!le&&Vc.has(i.id)&&(vd(t,i.id)?.removeAttribute(`data-preserve-runtime`),Uc(i.id));let fe=pt(i)?`:${i.agentMetadata?.askUserQuestionAnswered?`a`:`u`}:${i.agentMetadata?.askUserQuestionAnswers?Object.keys(i.agentMetadata.askUserQuestionAnswers).length:0}`:``,pe={isLastAssistant:i.id===ne,canRegenerate:re===i.id&&(E?.showRegenerate===!0||i.dispatchError===!0),canEdit:ie&&l>ae&&ki(i),canQuote:oe&&!i.variant&&(i.content?.trim().length??0)>0},he=`${pe.canRegenerate?`r`:``}${pe.canEdit?`e`:``}${pe.canQuote?`q`:``}${pe.isLastAssistant?`l`:``}`,ge=i.approval?.toolCallId?n.filter(e=>e.variant===`tool`&&e.toolCall?.id===i.approval?.toolCallId&&(!e.agentMetadata?.executionId||!i.approval?.executionId||e.agentMetadata.executionId===i.approval.executionId)):[],_e=ge.length===1?ge[0].toolCall:void 0,ve=_e&&_e.status!==`pending`?{toolCallId:_e.id,status:_e.status===`running`?`running`:_e.success===!1||_e.error?`failed`:`completed`}:void 0,ye=v(i),be=Bo(i,Zc)+fe+`:${he}`+(ye?`:uc-${ye.state}`:``)+(ce?`:${i.approval?.toolCallId??``}:${JSON.stringify(ve)}`:``),xe=u||ce||le||i.dispatchError&&a.errorDisplay===`block`&&!ue?null:Ho(jc,i.id,be);if(xe){if(h.has(i.id)&&Fc.get(i.id)===be){let e=document.createElement(`div`);e.id=`wrapper-${i.id}`,e.setAttribute(`data-wrapper-id`,i.id),e.setAttribute(`data-persona-reuse`,`true`),o.appendChild(e)}else o.appendChild(xe.cloneNode(!0));s&&g.set(i.id,be),pt(i)&&i.toolCall?.id&&i.agentMetadata?.awaitingLocalTool===!0&&!i.agentMetadata?.askUserQuestionAnswered&&(x.add(i.toolCall.id),Qo(i));return}let Se=null,we=()=>{if(i.dispatchError&&a.errorDisplay===`block`){let e=Ce();if(e)return e.createErrorBlock(i,r,pe.canRegenerate===!0)}let e=fc(i,r,a.layout?.messages,a.messageActions,Yn,{loadingIndicatorRenderer:_,widgetConfig:a,actionEligibility:pe,userCollapse:ye});return e.dataset.personaDefaultMessage=`true`,e},Te=D.find(e=>!!(i.variant===`reasoning`&&e.renderReasoning||i.variant===`tool`&&e.renderToolCall||!i.variant&&e.renderMessage));if(pt(i)&&i.agentMetadata?.askUserQuestionAnswered===!0){Rc.delete(i.id),vd(t,i.id)?.removeAttribute(`data-preserve-runtime`);return}if(_t(i)&&ht(a).enabled)return;if(pt(i)&&a.features?.askUserQuestion?.enabled!==!1){let e=D.find(e=>typeof e.renderAskUserQuestion==`function`);if(e&&Ko.current){let t=Rc.get(i.id),n=t!==be,r=null;if(n){let{payload:t,complete:n}=mt(i),o=i.id,s=()=>Ko.current?.getMessages().find(e=>e.id===o);r=e.renderAskUserQuestion({message:i,payload:t,complete:n,resolve:e=>{let t=s();t&&Ko.current?.resolveAskUserQuestion(t,e)},dismiss:()=>{let e=s();e?.agentMetadata?.awaitingLocalTool&&(Ko.current?.markAskUserQuestionResolved(e),Ko.current?.resolveAskUserQuestion(e,`(dismissed)`))},config:a})}if(n&&r===null&&t==null){i.agentMetadata?.awaitingLocalTool===!0&&!i.agentMetadata?.askUserQuestionAnswered&&(x.add(i.toolCall.id),Qo(i));return}let s=_d(i.id,i.role);s.setAttribute(`data-ask-plugin-stub`,`true`),s.setAttribute(`data-preserve-runtime`,`true`),o.appendChild(s),C.push({messageId:i.id,fingerprint:be,bubble:r});return}i.agentMetadata?.awaitingLocalTool===!0&&!i.agentMetadata?.askUserQuestionAnswered&&(x.add(i.toolCall.id),Qo(i));return}if(ce){let t=Ce();if(!t){o.appendChild(_d(i.id,i.role));return}let n=D.find(e=>typeof e.renderApproval==`function`)??de,r=Wc.get(i.id),s=r!==be,c=null,l=!1;if(s&&n?.renderApproval){let o=i.id,s=!1,u=(e,t)=>{let n=Ko.current?.getMessages().find(e=>e.id===o);s||n?.approval?.status!==`pending`||(s=!0,ot(n.approval)?Ko.current?.resolveWebMcpApproval(n.id,e):Ko.current?.resolveApproval(n.approval,e,t))};Kc(i.id);let d=new AbortController;Gc.set(i.id,d);let f={message:i,execution:ve,signal:d.signal,defaultRenderer:()=>g(),config:a,approve:e=>{d.signal.aborted||u(`approved`,e)},deny:e=>{d.signal.aborted||u(`denied`,e)}},p=null,h=new AbortController;d.signal.addEventListener(`abort`,()=>h.abort(),{once:!0});let g=()=>(p??=de?.renderApproval?.({...f,signal:h.signal})??t.createApprovalBubble(i,a,m),p);c=n===de?g():n.renderApproval(f)??g();let _=p!==null&&(c===p||c.contains(p));_||h.abort();let v=e.getRootNode();l=_&&r===void 0&&i.approval?.status===`pending`&&a.approval!==!1&&a.approval?.keyboardShortcuts===`focused`&&e.contains(v.activeElement)}let u=_d(i.id,i.role);u.setAttribute(`data-approval-plugin-stub`,`true`),u.setAttribute(`data-preserve-runtime`,`true`),o.appendChild(u),te.push({messageId:i.id,fingerprint:be,bubble:c,focusDefault:l});return}if(Te){if(i.variant===`reasoning`&&i.reasoning&&Te.renderReasoning){if(!rn)return;Se=Te.renderReasoning({message:i,defaultRenderer:()=>c.createReasoningBubble(i,a,p),config:a})}else if(i.variant===`tool`&&i.toolCall&&Te.renderToolCall){if(!hn)return;Se=Te.renderToolCall({message:i,defaultRenderer:()=>c.createToolBubble(i,a,f),config:a})}else Te.renderMessage&&(Se=Te.renderMessage({message:i,defaultRenderer:()=>{let e=we();return i.role!==`user`&&Me(e,i,a,Z),e},config:a}))}if(Se&&Hc.has(i.id)&&Uc(i.id),!Se&&le){let e=Ni(i);if(e){let n=Vc.get(i.id),s=a.wrapComponentDirectiveInBubble!==!1&&Ie(a,e.component)?.bubbleChrome!==!1,c=`${Bo(i,Zc)}:${s}:${e.raw}`,l=Hc.get(i.id),u=Ne(a,e.component),d=l?.renderer!==u||l?.component!==e.component,f=n!==c||d;l&&(l.context.message=i,l.context.config=a);let p=null;if(f){let n=null;if(l&&!d&&l.handle.update){l.context.message=i,l.context.config=a;try{l.handle.update(e.props,l.context),n=l.handle.element}catch(e){console.error(`[AgentWidget] Component update failed:`,e),Uc(i.id)}}else{Uc(i.id);let t=new AbortController,o={config:a,message:i,signal:t.signal,updateProps:e=>{queueMicrotask(()=>{t.signal.aborted||Ko.current?.updateComponentProps(i.id,e)})}},s=Ai(e,{config:a,message:i,transform:r,signal:t.signal,onPropsUpdate:o.updateProps,context:o});if(s){let r=`element`in s?s:{element:s};n=r.element,Hc.set(i.id,{renderer:u,component:e.component,controller:t,handle:r,context:o})}else t.abort()}if(n&&e.component===`PersonaArtifactInline`){let e=n.hasAttribute(`data-artifact-inline`)?n:n.querySelector(`[data-artifact-inline]`),r=e?.getAttribute(`data-artifact-inline`)??``,a=typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(r):r,o=r?t.querySelector(`#wrapper-${i.id}`)?.querySelector(`[data-artifact-inline="${a}"]`)??null:null;e&&o&&o!==e&&pr()?.hasLiveInlineArtifactBlock(o)&&(e===n?n=o:e.replaceWith(o))}if(n){if(s){let e=document.createElement(`div`);if(e.className=`persona-message-bubble persona-rounded-2xl persona-bg-persona-surface persona-border persona-border-persona-message-border persona-p-4`,e.id=`bubble-${i.id}`,e.setAttribute(`data-message-id`,i.id),i.content&&i.content.trim()){let t=document.createElement(`div`);t.className=`persona-mb-3 persona-text-sm persona-leading-relaxed`,t.innerHTML=r({text:i.content,message:i,streaming:!!i.streaming,raw:i.rawContent}),e.appendChild(t)}e.appendChild(n),p=e}else{let e=document.createElement(`div`);if(e.className=`persona-flex persona-flex-col persona-w-full persona-max-w-full persona-gap-3 persona-items-stretch`,e.id=`bubble-${i.id}`,e.setAttribute(`data-message-id`,i.id),e.setAttribute(`data-persona-component-directive`,`true`),i.content&&i.content.trim()){let t=document.createElement(`div`);t.className=`persona-text-sm persona-leading-relaxed persona-text-persona-primary persona-w-full`,t.innerHTML=r({text:i.content,message:i,streaming:!!i.streaming,raw:i.rawContent}),e.appendChild(t)}e.appendChild(n),p=e}}}if(p||Hc.has(i.id)){let e=_d(i.id,i.role);e.setAttribute(`data-component-directive-stub`,`true`),e.setAttribute(`data-preserve-runtime`,`true`),o.appendChild(e),ee.push({messageId:i.id,fingerprint:c,bubble:p});return}}}if(!Se){if(i.variant===`reasoning`&&i.reasoning){if(!rn)return;Se=c.createReasoningBubble(i,a,p)}else if(i.variant===`tool`&&i.toolCall){if(!hn)return;Se=c.createToolBubble(i,a,f)}else if(i.variant===`approval`&&i.approval){if(a.approval===!1)return;let e=Ce();if(!e)return;Se=e.createApprovalBubble(i,a,m)}else{let e=a.layout?.messages;Se=e?.renderUserMessage&&i.role===`user`?e.renderUserMessage({message:i,config:a,streaming:!!i.streaming}):e?.renderAssistantMessage&&i.role===`assistant`?e.renderAssistantMessage({message:i,config:a,streaming:!!i.streaming}):we(),i.role!==`user`&&Se&&Me(Se,i,a,Z)}}let Ee=_d(i.id,i.role);Ee.appendChild(Se),Uo(jc,i.id,be,Ee),o.appendChild(Ee),s&&g.set(i.id,be)}),I.composerOverlay&&I.composerOverlay.querySelectorAll(`[data-persona-ask-sheet-for]`).forEach(e=>{let t=e.getAttribute(`data-persona-ask-sheet-for`);t&&!x.has(t)&&dt(I.composerOverlay,t)});let he=d()?.groupToolRows({root:e,config:a,messages:n,tempContainer:o,streaming:ce?Z.isStreaming():!1,runActivity:Z?.getRunActivity(),showToolCalls:hn,showReasoning:rn,dropCompletedToolCalls:pe,dropReasoningRow:fe,createMessageRow:_d,activityIds:i,activityLifecycle:u,toolExpansionState:f});u?.prune(i);for(let e of Hc.keys())y.has(e)||Uc(e);for(let e of Gc.keys())y.has(e)||Kc(e);Wo(jc,y);let ge=e=>!(e.toolCall?.id&&x.has(e.toolCall.id))&&!C.some(t=>t.messageId===e.id),_e=e=>pt(e)&&e.agentMetadata?.askUserQuestionAnswered!==!0&&a.features?.askUserQuestion?.enabled!==!1?ge(e):e.variant===`tool`&&!hn||e.variant===`reasoning`&&!rn||me(e),ve=n.some(e=>e.role===`assistant`&&e.streaming&&!_e(e)),ye=n.length-1;for(;ye>=0&&_e(n[ye]);)ye--;let be=ye>=0?n[ye]:void 0,xe=ye<n.length-1,Se=be?.role===`assistant`&&!be.streaming&&be.variant!==`approval`&&!xe;if(!he&&kc&&n.some(e=>e.role===`user`)&&!ve&&!Se){let e={config:a,streaming:!0,location:`standalone`,defaultRenderer:()=>nc(a)},t=D.find(e=>e.renderLoadingIndicator)?.renderLoadingIndicator?.(e)??a.loadingIndicator?.render?.(e)??nc(a);if(t){let e=document.createElement(`div`),n=a.loadingIndicator?.showBubble!==!1,r=a.layout?.messages?.layout??`bubble`;e.className=n?oc(`assistant`,r).join(` `):`persona-text-sm persona-leading-relaxed persona-text-persona-text`,e.setAttribute(`data-typing-indicator`,`true`),n&&(e.style.color=`var(--persona-message-assistant-text, var(--persona-text))`,r!==`flat`&&(e.style.backgroundColor=`var(--persona-message-assistant-bg, var(--persona-container))`,e.style.borderColor=`var(--persona-message-assistant-border, var(--persona-border, #e5e7eb))`)),e.appendChild(t);let i=_d(`typing-indicator`,`assistant`);i.appendChild(e),o.appendChild(i)}}if(!kc&&n.length>0){let e=n[n.length-1],t={config:a,lastMessage:e,messageCount:n.length},r=D.find(e=>e.renderIdleIndicator)?.renderIdleIndicator?.(t)??a.loadingIndicator?.renderIdle?.(t);if(r){let e=document.createElement(`div`);e.className=a.loadingIndicator?.showBubble===!1?`persona-text-sm persona-leading-relaxed persona-text-persona-primary`:`persona-rounded-2xl persona-text-sm persona-leading-relaxed persona-shadow-sm persona-bg-persona-surface persona-border persona-border-persona-message-border persona-text-persona-primary persona-px-5 persona-py-3`,e.setAttribute(`data-idle-indicator`,`true`),e.appendChild(r);let t=_d(`idle-indicator`,`assistant`);t.appendChild(e),o.appendChild(t)}}Lr(o),l?.prepare(o),u?.prepare(o),Po(t,o),Fc=g;for(let e of Array.from(t.querySelectorAll(`:scope > [data-persona-reuse]`))){let t=jc.get(e.getAttribute(`data-wrapper-id`)??``);t?e.replaceWith(t.wrapper.cloneNode(!0)):e.remove()}if(zr(t),se){let{messageId:e,element:n}=se,r=vd(t,e);r&&n.parentElement!==r&&(gd(r,b.get(e)??`user`),r.replaceChildren(n))}if(C.length>0)for(let{messageId:e,fingerprint:n,bubble:r}of C){let i=vd(t,e);i&&(gd(i,b.get(e)??`assistant`),r!==null&&(i.replaceChildren(r),i.setAttribute(`data-bubble-fp`,n),Rc.set(e,n)))}if(Rc.size>0)for(let e of Rc.keys())y.has(e)||Rc.delete(e);if(ee.length>0)for(let{messageId:e,fingerprint:n,bubble:r}of ee){let i=vd(t,e);i&&(gd(i,b.get(e)??`assistant`),r!==null&&(i.replaceChildren(r),i.setAttribute(`data-bubble-fp`,n),Vc.set(e,n)))}if(Vc.size>0)for(let e of Vc.keys())y.has(e)||Vc.delete(e);if(te.length>0)for(let{messageId:e,fingerprint:n,bubble:r,focusDefault:i}of te){let a=vd(t,e);if(!a||(gd(a,b.get(e)??`assistant`),r===null))continue;a.replaceChildren(r),a.setAttribute(`data-bubble-fp`,n),Wc.set(e,n);let o=Jr()&&Qc.isFollowing();i&&(o||!hu(a))&&r.querySelector(`[data-action="allow"]`)?.focus()}if(Wc.size>0)for(let e of Wc.keys())y.has(e)||Wc.delete(e);d(),l?.sync(),u?.sync()},bd=()=>{Ur().catch(()=>{})},xd=(e,t,n)=>{if(t.length>0&&bd(),yd(e,t,n),fd(t),dd(),fo(),to.size>0){for(let[e,n]of to)t.some(t=>t.id===e)||(window.clearTimeout(n),to.delete(e));io()}},Sd=null,Cd=()=>{if(Sd)return;let t=e=>{let t=e.composedPath();t.includes(P)||er&&t.includes(er)||Pd(!1,`user`)};Sd=t,(e.ownerDocument??document).addEventListener(`pointerdown`,t,!0)},wd=()=>{Sd&&=((e.ownerDocument??document).removeEventListener(`pointerdown`,Sd,!0),null)};X.push(()=>wd());let Td=null,Ed=()=>{if(Td)return;let t=e=>{e.key===`Escape`&&(e.isComposing||Pd(!1,`user`))};Td=t,(e.ownerDocument??document).addEventListener(`keydown`,t,!0)},Dd=()=>{Td&&=((e.ownerDocument??document).removeEventListener(`keydown`,Td,!0),null)};X.push(()=>Dd());let Od=!1,kd=/* @__PURE__ */ new Set,Ad=()=>a.launcher?.composerBar?.peek?.streamAnimation||a.features?.streamAnimation,jd=()=>{if(!j())return;let t=I.peekBanner,n=I.peekTextNode;if(!t||!n)return;if(N){t.classList.remove(`persona-pill-peek--visible`);return}let r=Z?.getMessages()??[],i;for(let e=r.length-1;e>=0;e--){let t=r[e];if(t.role===`assistant`&&t.content){i=t;break}}if(!i){t.classList.remove(`persona-pill-peek--visible`);return}let a=i.content,o=!!i.streaming,s=Ad(),c=on(s),l=c.type===`none`?null:Js(c.type,s?.plugins),u=l?.isAnimating?.(i)===!0,d=l!==null&&(o||u);d&&l&&!kd.has(l.name)&&(un(l,e),kd.add(l.name));let f=d&&l?.containerClass?l.containerClass:null,p=n.dataset.personaPeekStreamClass??null;p&&p!==f&&(n.classList.remove(p),delete n.dataset.personaPeekStreamClass),f&&p!==f&&(n.classList.add(f),n.dataset.personaPeekStreamClass=f),d?(n.style.setProperty(`--persona-stream-step`,`${c.speed}ms`),n.style.setProperty(`--persona-stream-duration`,`${c.duration}ms`)):(n.style.removeProperty(`--persona-stream-step`),n.style.removeProperty(`--persona-stream-duration`));let m=d?ln(a,c.buffer,l,i,o):a;if(d&&c.placeholder===`skeleton`&&o&&(!m||!m.trim())){let e=document.createElement(`div`),t=dn();t.classList.add(`persona-pill-peek__skeleton`),e.appendChild(t),Po(n,e)}else{let e=Math.max(0,m.length-100),r=m.length>100?m.slice(-100):m,a=je(r);if(!d||!l){let e=m.length>100?`…${r}`:r;n.textContent!==e&&(n.textContent=e)}else{let o=a;(l.wrap===`char`||l.wrap===`word`)&&(o=mn(a,l.wrap,`peek-${i.id}`,{skipTags:l.skipTags,startIndex:e}));let s=document.createElement(`div`);if(s.innerHTML=o,l.useCaret&&r.length>0){let e=sn(),t=s.querySelectorAll(`.persona-stream-char, .persona-stream-word`),n=t[t.length-1];n?.parentNode?n.parentNode.insertBefore(e,n.nextSibling):s.appendChild(e)}Po(n,s),l.onAfterRender?.({container:n,bubble:t,messageId:i.id,message:i,speed:c.speed,duration:c.duration})}}let h=kc||Od;t.classList.toggle(`persona-pill-peek--visible`,h)};if(j()){let e=I.peekBanner;if(e){let t=e=>{e.preventDefault(),e.stopPropagation(),Pd(!0,`user`)};e.addEventListener(`pointerdown`,t),X.push(()=>{e.removeEventListener(`pointerdown`,t)})}let t=()=>{Od||(Od=!0,jd())},n=()=>{Od&&(Od=!1,jd())};F.addEventListener(`pointerenter`,t),F.addEventListener(`pointerleave`,n),X.push(()=>{F.removeEventListener(`pointerenter`,t),F.removeEventListener(`pointerleave`,n)}),er&&(er.addEventListener(`pointerenter`,t),er.addEventListener(`pointerleave`,n),X.push(()=>{er.removeEventListener(`pointerenter`,t),er.removeEventListener(`pointerleave`,n)}))}let Md=e=>{let t=a.launcher?.composerBar??{},n=t.expandedSize??`anchored`,r=t.bottomOffset??`16px`,i=t.collapsedMaxWidth,o=t.expandedMaxWidth??`880px`,s=t.expandedTopOffset??`5vh`,c=t.modalMaxWidth??`880px`,l=t.modalMaxHeight??`min(90vh, 800px)`,u=`calc(100vw - 32px)`;yi();let d=P.style;if(d.left=``,d.right=``,d.top=``,d.bottom=``,d.transform=``,d.width=``,d.maxWidth=``,d.height=``,d.maxHeight=``,er){let e=er.style;e.bottom=r,e.width=i??``}e&&n!==`fullscreen`&&(n===`modal`?(d.top=`50%`,d.left=`50%`,d.transform=`translate(-50%, -50%)`,d.bottom=`auto`,d.right=`auto`,d.width=c,d.maxWidth=u,d.maxHeight=l,d.height=l):(d.left=`50%`,d.transform=`translateX(-50%)`,d.bottom=`calc(${r} + var(--persona-pill-area-height, var(--persona-measured-pill-area-height, 80px)))`,d.top=s,d.width=o,d.maxWidth=u))},Nd=()=>{if(N&&bd(),!M())return;if(j()){let e=(a.launcher?.composerBar??{}).expandedSize??`anchored`,t=N?`expanded`:`collapsed`;P.dataset.state=t,P.dataset.expandedSize=e,er&&(er.dataset.state=t,er.dataset.expandedSize=e),P.style.removeProperty(`display`),P.classList.remove(`persona-pointer-events-none`,`persona-opacity-0`),F.classList.remove(`persona-scale-95`,`persona-opacity-0`,`persona-scale-100`,`persona-opacity-100`),Md(N),L.style.display=N?`flex`:`none`,vo(),N?(Cd(),Ed()):(wd(),Dd()),jd();return}let t=$o(a),n=e.ownerDocument.defaultView??window,r=a.launcher?.mobileBreakpoint??640,i=a.launcher?.mobileFullscreen??!0,o=n.innerWidth<=r,s=i&&o&&vt,c=ts(a).reveal;N?(P.style.removeProperty(`display`),P.style.display=t?`flex`:``,P.classList.remove(`persona-pointer-events-none`,`persona-opacity-0`),F.classList.remove(`persona-scale-95`,`persona-opacity-0`),F.classList.add(`persona-scale-100`,`persona-opacity-100`),Km?(Km.setPanelOpen(!0),Km.element.style.display=`none`):qm&&(qm.style.display=`none`)):(t?t&&(c===`overlay`||c===`push`)&&!s?(P.style.removeProperty(`display`),P.style.display=`flex`,P.classList.remove(`persona-pointer-events-none`,`persona-opacity-0`),F.classList.remove(`persona-scale-100`,`persona-opacity-100`,`persona-scale-95`,`persona-opacity-0`)):(P.style.setProperty(`display`,`none`,`important`),P.classList.remove(`persona-pointer-events-none`,`persona-opacity-0`),F.classList.remove(`persona-scale-100`,`persona-opacity-100`,`persona-scale-95`,`persona-opacity-0`)):(P.style.display=``,P.classList.add(`persona-pointer-events-none`,`persona-opacity-0`),F.classList.remove(`persona-scale-100`,`persona-opacity-100`),F.classList.add(`persona-scale-95`,`persona-opacity-0`)),Km?(Km.setPanelOpen(!1),Km.element.style.display=t?`none`:``):qm&&(qm.style.display=t?`none`:``))},Pd=(t,n=`user`)=>{if(!M()||N===t)return;let r=N;N=t,Nd();let i=(()=>{let t=a.launcher?.sidebarMode??!1,n=e.ownerDocument.defaultView??window,r=a.launcher?.mobileFullscreen??!0,i=a.launcher?.mobileBreakpoint??640,o=n.innerWidth<=i,s=$o(a)&&r&&o,c=j()&&(a.launcher?.composerBar?.expandedSize??`fullscreen`)===`fullscreen`;return t||r&&o&&vt||s||c})();if(N&&i){if(!Us){let t=e.getRootNode(),n=t instanceof ShadowRoot?t.host:e.closest(`.persona-host`);n&&(Us=Jo(n,a.launcher?.zIndex??1e5))}Ws||=Zo(e.ownerDocument)}else N||(Us?.(),Us=null,Ws?.(),Ws=null);N&&(Zm(),ed()||(qr()===`follow`?Nu(!0):Zu()));let o={open:N,source:n,timestamp:Date.now()};N&&!r?O.emit(`widget:opened`,o):!N&&r&&O.emit(`widget:closed`,o),O.emit(`widget:state`,{open:N,launcherEnabled:vt,voiceActive:Q.active,streaming:Z.isStreaming()})},Fd={inputDisabled:!1,sendDisabled:!1},Id=()=>Fd.inputDisabled,Ld=()=>Er(a.voiceRecognition?.provider)&&!!Z&&(Z.isBargeInActive()||[`listening`,`processing`,`speaking`].includes(Z.getVoiceStatus())),Rd=()=>Fd.inputDisabled||Fd.sendDisabled,zd=()=>(Fd.inputDisabled?Fd.inputReason:void 0)??(Fd.sendDisabled?Fd.sendReason:void 0);function Bd(){if(!or)return;if(K.getState().phase===`streaming`){or.disabled=!1;return}let e=W?!W.isReady():!1;or.disabled=Rd()||e}function Vd(){if(!Ir)return;let e=K.getState(),t=a.sendButton?.visibility===`when-text`&&e.phase!==`streaming`&&e.text.trim().length===0&&e.attachments.length===0;Ir.toggleAttribute(`data-persona-send-hidden`,t)}function Hd(){let e=zd();if(j()){let t=sr??H;e?t.setAttribute(`title`,e):t.removeAttribute(`title`),H.toggleAttribute(Lu,!!e)}else if(e)V.setAttribute(`role`,`status`),V.setAttribute(`aria-live`,`polite`),V.setAttribute(Lu,``),V.removeAttribute(Ru),V.textContent=e,E(V,a.statusIndicator??{},`idle`);else if(V.hasAttribute(Lu)&&(V.removeAttribute(`role`),V.removeAttribute(`aria-live`),V.removeAttribute(Lu),ce)){let e=Z.getStatus();Zn(V,Xn(e),a.statusIndicator??{},e)}}function Ud(){let e=me(a.composer?.inputDisabled),t=me(a.composer?.sendDisabled);Fd={inputDisabled:e.disabled,inputReason:e.reason,sendDisabled:t.disabled,sendReason:t.reason},K.setInputDisabled(e.disabled),K.setSendDisabled(t.disabled);let n=K.getState().phase===`streaming`,r=e.disabled,i=n||r;B&&(B instanceof HTMLTextAreaElement?B.disabled=r:B.setAttribute(`contenteditable`,r?`false`:`true`),B.setAttribute(`aria-disabled`,r?`true`:`false`)),Vr&&(Vr.disabled=r),Wr&&(Wr.disabled=r);for(let e of G?.affordanceButtons??[])e.querySelectorAll(`button`).forEach(e=>{e.disabled=r});U&&(U.disabled=r||n&&!Ld()),ec.forEach(e=>{e.elements.forEach(e=>{e.toggleAttribute(`data-disabled`,i),e instanceof HTMLButtonElement||e.setAttribute(`aria-disabled`,i?`true`:`false`)}),e.buttons.forEach(e=>{e.disabled=i})}),sf.forEach(e=>{e.toggleAttribute(`data-disabled`,i),e instanceof HTMLButtonElement?e.disabled=i:e.setAttribute(`aria-disabled`,i?`true`:`false`),e.querySelectorAll(`button`).forEach(e=>{e.disabled=i})}),H.dataset.personaComposerStreaming=n?`true`:`false`,H.dataset.personaComposerInputDisabled=r?`true`:`false`,H.dataset.personaComposerSendDisabled=Rd()?`true`:`false`,H.querySelectorAll(`[data-persona-composer-disable-when-streaming]`).forEach(e=>{(e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement)&&(e.disabled=n)}),Bd(),Hd()}let Wd=e=>{K.setStreaming(e),Rr(e?`stop`:`send`),Ud()},Gd=()=>{e.hasAttribute(`data-persona-preparing`)?o.ready.then(Gd,()=>{}):Q.active||B&&B.focus()};O.on(`widget:opened`,()=>{a.autoFocusInput&&setTimeout(()=>Gd(),200)});let Kd=null,qd=!1,Jd=!cr.hidden,Yd=null,Xd=!He,Zd=null;X.push(()=>{Zd?.cancel(),Zd=null});let Qd=t=>{let n=Nc(t);if(n===mi)return;mi=n,e.setAttribute(`data-persona-conversation-state`,n);let r=gi();xi(),Xd&&(Zd?.cancel(),Zd=Ec(H,n===`active`?r:gi(),n===`active`?`drop`:`rise`,pi().layout===`centered`?320:260)),cd()},$d=null,ef,tf=null,nf=null,rf=!1,af=e=>{let t=pi(),n=`${t.variant}|${t.layout}|${t.dismiss}|${t.anchor??`bottom`}|${t.align??``}|${t.iconPlacement}|${t.kicker??``}|${t.title}|${t.subtitle}`;(n!==$d||t.icon!==ef)&&($d=n,ef=t.icon,gc({host:cr,iconHolder:lr,kicker:dr,title:hr,subtitle:gr,starterSuggestions:rr},t));let r=t.message===void 0?null:`${a.layout?.messages?.layout??`bubble`}|${t.message}`;r!==tf&&(tf=r,Cc(ur,t.message,a));let i=e??(Z?Z.getMessages():a.initialMessages);Qd(i);let o=qd,s=!o&&Pc(t,i),c=s!==Jd;if(Jd=s,nf){Yd?.cancel(),Yd=null,o!==rf&&(rf=o,o?xc(R,cr,null):bc(R,cr,nf)),hc(R,cr,!o);return}if(c&&!s&&!o&&t.dismiss===`on-first-message`&&Xd){Yd=Tc(cr,e=>{Yd===e&&(Yd=null),!Jd&&!nf&&(hc(R,cr,!1),cd()),e?.cancel()});return}if(Yd){if(!s&&!o)return;Yd.cancel(),Yd=null}let l=!cr.hidden;hc(R,cr,s),!s&&l&&cd()},of=[],sf=[],cf=!1,lf=null,uf,df=()=>{sf.length=0;let e=of.splice(0,of.length);for(let t of e)try{t()}catch(e){console.warn(`[persona] renderWelcome cleanup threw`,e)}};X.push(df);let ff=(e,t)=>{let n=is(e,t);if(!n)return a.debug===!0&&console.warn(`[persona] renderStarter received a suggestion with no label`),A(`span`);let r=a.suggestions?.starters,i=cs({item:{...n,behavior:n.behavior??r?.behavior??`send`},index:t,surface:`starter`,source:`config`,variant:r?.variant??`card`,streaming:ce?Z.isStreaming():!1,config:a,plugins:D,chipsConfig:a.suggestionChipsConfig,session:Z,getTextarea:()=>B,eventTarget:cr,submitPrompt:zp});return sf.push(i),i},pf=()=>{if(cf)return;cf=!0;let e=pi();lf=`${e.variant}|${e.layout}|${e.dismiss}|${e.title}|${e.subtitle}|${e.message??``}`,uf=e.icon;try{df(),xc(R,cr,nf),nf=null,rf=!1;let t=Z?Z.getMessages():a.initialMessages,n=Pc(e,t),r=0,i=null;for(let t of D)if(t.renderWelcome&&(i=t.renderWelcome({config:e,variant:e.variant,visible:n,defaultRenderer:()=>cr,sendMessage:e=>{if(!Z||Z.isStreaming())return;let t=e.trim();t&&Z.sendMessage(t)},requestRender:()=>pf(),renderStarter:e=>ff(e,r++),storage:le(t.id),onCleanup:e=>{of.push(e)}}),i))break;i&&i!==cr&&(nf=i,bc(R,cr,i))}finally{cf=!1}af()},mf=()=>{let e=pi();(`${e.variant}|${e.layout}|${e.dismiss}|${e.title}|${e.subtitle}|${e.message??``}`!==lf||e.icon!==uf)&&pf()},hf=()=>{af(),oa||(B.placeholder=zt(K.getState().activeModeIds,a.composer?.modes)??a.copy?.inputPlaceholder??`How can I help...`,!(a.sendButton?.useIcon??!1)&&!Z?.isStreaming()&&(or.textContent=a.copy?.sendButtonLabel??`Send`)),B.style.fontFamily=`var(--persona-input-font-family, var(--persona-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif))`,B.style.fontWeight=`var(--persona-input-font-weight, var(--persona-font-weight, 400))`},gf=!!a.setStoredConversationId,_f=e=>st(t=>{let n={...t};return delete n[e],n}),vf=e=>{let t=Ve[e];return typeof t==`string`?t:null},yf=()=>{let e=Ve.durableResume;if(!e||typeof e!=`object`)return null;let t=e;return typeof t.executionId==`string`&&t.executionId.length>0&&typeof t.after==`string`&&t.after.length>0?{executionId:t.executionId,after:t.after}:null};a.clientToken&&(a={...a,getStoredSessionId:()=>vf(`sessionId`),setStoredSessionId:e=>{st(t=>({...t,sessionId:e}))},clearStoredSessionId:a.clearStoredSessionId??(()=>_f(`sessionId`)),getStoredConversationId:a.getStoredConversationId??(()=>vf(`conversationId`)),setStoredConversationId:a.setStoredConversationId??(e=>{st(t=>({...t,conversationId:e}))}),clearStoredConversationId:a.clearStoredConversationId??(()=>_f(`conversationId`))});let bf=()=>a.clientToken??null,xf=e=>xu(e,xn(),a.persistState===!1),Sf=bf(),Cf=Sf?xf(Sf):null,wf=()=>{let e=Ve.pendingDisplayProjections;if(!e||typeof e!=`object`)return null;let t=e;return typeof t.conversationId!=`string`||!Array.isArray(t.messageIds)?null:{conversationId:t.conversationId,messageIds:t.messageIds.filter(e=>typeof e==`string`)}},Tf={...Cf?{visitorStore:Cf}:{},historyBootstrapReady:a.features?.history?.enabled===!0&&!Au()?Promise.all([k,Ke]).then(()=>{}):k,getStoredMessageCursor:()=>vf(`historyMessageCursor`),setStoredMessageCursor:e=>{e===null?_f(`historyMessageCursor`):st(t=>({...t,historyMessageCursor:e}))},getPendingDisplayProjections:wf,setPendingDisplayProjections:e=>{e?st(t=>({...t,pendingDisplayProjections:e})):_f(`pendingDisplayProjections`)},getStoredResumableHandle:yf,setStoredResumableHandle:e=>{e?st(t=>({...t,durableResume:e})):_f(`durableResume`)},shouldResumeDurableConversation:()=>Re&&yf()!==null,...gf?{}:{getStoredConversationRevision:()=>vf(`conversationRevision`),setStoredConversationRevision:e=>{e===null?_f(`conversationRevision`):st(t=>({...t,conversationRevision:e}))}}};if(Re){let t=a.onExecutionState,n=e.ownerDocument.defaultView,r=!1,i=()=>r=!0,o=()=>r=!1;n?.addEventListener(`pagehide`,i),n?.addEventListener(`pageshow`,o),X.push(()=>{n?.removeEventListener(`pagehide`,i),n?.removeEventListener(`pageshow`,o)}),a={...a,reconnectStream:a.reconnectStream??(e=>Z.getClient().reconnectClientTokenStream(e)),onExecutionState:e=>{(e||!r)&&Tf.setStoredResumableHandle?.(e?{executionId:e.executionId,after:e.lastEventId}:null),t?.(e)}}}let Ef=()=>{let e=bf();if(e&&Cf?.matches(e,xn(),a.persistState===!1)||!e&&!Cf)return;Cf?.destroy(),Cf=e?xf(e):null;let t={...Tf};Cf?t.visitorStore=Cf:delete t.visitorStore,Tf=t,Z.setHistoryInternals(Tf)},Df=null,Of=()=>{Df??=setInterval(()=>{let e=z.querySelectorAll(`[data-tool-elapsed]`);if(e.length===0){clearInterval(Df),Df=null;return}let t=Date.now();e.forEach(e=>{c?.updateActivityElapsed(e,t)})},100)},kf=e=>e.role===`user`||e.variant===`approval`||e.agentMetadata?.awaitingLocalTool===!0||pt(e),Af=(e,t)=>{if(t.length<e.length)return!1;for(let n=0;n<t.length;n+=1){let r=t[n];if(r!==e[n]){if(kf(r))return!1;r.role===`assistant`&&r.streaming&&Mc.add(r.id)}}return!0},jf=null,Mf=null,Nf=null,Pf=null,Ff=e=>{if(!Re)return Bl(e);Pf=e,queueMicrotask(()=>{Pf===e&&(Pf=null,Bl(Mf??e))})},If=e=>{!e.length&&a.future?.v5Defaults&&(rc=null),jf=e;let t,n;for(let r=e.length-1;r>=0;--r){let i=e[r];if(!t&&i.role===`user`&&(t=i),!n&&i.role===`assistant`&&(n=i),t&&n)break}xd(z,e,nn),pr()?.updateInlineArtifactBlocks(z,Do.artifacts,{suppressTransition:kc}),Of(),af(e),Sc(e),Nu(!kc),hd(e),Du(),jn?.update(),e.length===0&&(id(),hl=!0,gl=!1,_l=null,vl=!1),!dl||fl?(dl=!0,ml=t?.id??null,bl=n?.id??null):t&&t.id!==ml?(ml=t.id,pd(t.id)):n&&n.id!==bl&&md(),n&&(bl=n.id);let r=Q.lastUserMessageId;t&&t.id!==r&&(Q.lastUserMessageId=t.id,O.emit(`user:message`,t)),Q.lastUserMessageWasVoice=!!t?.viaVoice,Ff(e),jd(),O.emit(`messages:changed`,e)},Lf=()=>{Nf!==null&&(cancelAnimationFrame(Nf),Nf=null);let e=Mf;Mf=null,e&&If(e)},Rf=()=>{Nf!==null&&cancelAnimationFrame(Nf),Nf=null,Mf=null},zf=e=>{if(e.length===0){Rf(),If(e);return}let t=Mf??jf;kc&&t&&Af(t,e)?(Mf=e,Nf===null&&(Nf=requestAnimationFrame(()=>{Nf=null;let e=Mf;Mf=null,e&&If(e)}))):(Lf(),If(e))};Z=new Xi(a,{onRunStarted:e=>O.emit(`run:started`,e),onRunFinished(e){Lf(),a.turnActivity?.enabled&&xd(z,Z.getMessages(),nn),O.emit(`run:finished`,e)},onMessagesChanged(e){zf(e)},onStatusChanged(e){let t=a.statusIndicator??{};Zn(V,(e=>e===`idle`?t.idleText??We.idle:e===`connecting`?t.connectingText??We.connecting:e===`connected`?t.connectedText??We.connected:e===`error`?t.errorText??We.error:e===`paused`?t.pausedText??We.paused:e===`resuming`?t.resumingText??We.resuming:We[e])(e),t,e),Du(),jn?.update(),Gn()},onStreamingChanged(e){e||(Z?.getMessages().length===0?Rf():Lf()),kc=e,e?wc():a.future?.v5Defaults&&Sc(),Wd(e),Gn(),Z&&xd(z,Z.getMessages(),nn),e||(Nu(!0),rd(),vc=!0,Z&&yc(Z.getMessages(),ht(a))),Du(),jn?.update(),di(e?`Responding…`:`Response complete.`),jd()},onVoiceStatusChanged(e){if(O.emit(`voice:status`,{status:e,timestamp:Date.now()}),e!==`disconnected`&&!Er(a.voiceRecognition?.provider))return;let t=Z.getVoiceNotice();switch(t&&Op(t,1e4),e){case`listening`:if(!El){let e=Z.getVoiceDisclosure();e&&(El=!0,j()?(Dl=B.placeholder,B.placeholder=e,di(e)):Op(e,1e4))}Om(),Tm();break;case`processing`:Om(),Em();break;case`speaking`:Om(),Dm();break;default:e===`idle`&&Z.isBargeInActive()?(Om(),Tm(),U?.setAttribute(`aria-label`,`End voice session`)):(Q.active=!1,El=!1,Dl!==null&&(B.placeholder=Dl,Dl=null),Om(),jl(`system`),Al||Ml())}},onArtifactsState(e){Do=e,e.artifacts.length===0&&(Ro=!1),pr()?.updateInlineArtifactBlocks(z,e.artifacts,{suppressTransition:kc}),Es(),Bl()},onHistoryStateChanged(e){Un(e)},onHistoryNotice(e){Wn(e)},onHistoryScopeInvalidated(){op(),$?.clearConversationOpenPending()},onConversationExecutionState(e){O.emit(`conversation:executionState`,e)},onReconnect(e){let{executionId:t,lastEventId:n}=e.handle;e.phase===`paused`?O.emit(`stream:paused`,{executionId:t,after:n}):e.phase===`resuming`?O.emit(`stream:resuming`,{executionId:t,after:n,attempt:e.attempt??1}):O.emit(`stream:resumed`,{executionId:t,after:n})}},Tf),Ko.current=Z,X.push(()=>Z.cancel()),X.push(()=>{Z.destroy(),Cf?.destroy(),Cf=null});let Bf=null;if(Z.onReadAloudChange((e,t)=>{oo=e,so=t,fo();let n=e??Bf;e&&(Bf=e);let r=n?Z.getMessages().find(e=>e.id===n)??null:null;O.emit(`message:read-aloud`,{messageId:n,message:r,state:t,timestamp:Date.now()}),t===`idle`&&(Bf=null)}),ce=!0,dl=!0,a.voiceRecognition?.enabled===!0&&kr(a))try{Z.setupVoice()}catch(e){typeof console<`u`&&console.warn(`[AgentWidget] Runtype voice setup failed:`,e)}let $=null,Vf=null,Hf=!1,Uf=Z.getHistoryState(),Wf=()=>a.features?.history?.enabled===!0,Gf=e=>{e&&(si.textContent=``,si.textContent=e)},Kf=()=>{se.forEach(e=>e()),se=[];let t=$,n=t?.railCollapseShortcut();t&&n&&se.push(oe.register({id:`history-rail-collapse`,combo:n.combo,scope:a.features?.history?.rail?.collapseShortcutScope===`page`?`page`:`widget`,when:()=>zn&&Bn===`rail`&&t.railCollapsible()||t.railTriggerApplies(),run:()=>t.railOverlayMode()?t.toggleRailPinned():t.toggleRailCollapsed()}));for(let t of a.layout?.header?.trailingActions??[])t.shortcut&&se.push(oe.register({id:`header-action-${t.id}`,combo:t.shortcut,run:()=>{let n=e.querySelector(`[data-persona-header-action="${t.id}"]`);n?n.click():a.layout?.header?.onAction?.(t.id)}}));for(let e of D)for(let t of e.shortcuts??[])se.push(oe.register({...t,id:`${e.id}:${t.id}`}))};Kf();let qf=null,Jf=!1,Yf=()=>{if(!xr)return;let e=a.layout?.header?.titleSource===`conversation`,t=e&&qf?.trim()||null;xr.textContent=t??a.launcher?.title??`Chat Assistant`;let n=xr.closest(`.persona-combo-btn`);if(!n)return;let r=!e||Z.getActiveConversationId()!==null;n.setAttribute(`data-persona-menu-locked`,r?`false`:`true`),n.setAttribute(`aria-haspopup`,r?`true`:`false`),r||n.setAttribute(`aria-expanded`,`false`),n.style.cursor=r?`pointer`:`default`;let i=n.querySelector(`svg`);i&&(i.style.display=r?``:`none`)},Xf=e=>{e!==qf&&(qf=e,Yf())},Zf=e=>{Jf=e?.starred===!0,Xf(e&&e.title.trim()||null),Yf()};Yf(),L.addEventListener(`persona:title-menu-builtin`,e=>{let t=e.detail?.actionId,n=Z.getActiveConversationId();n&&(t===`delete`?up(e=>e.requestDeleteConversation(n)):t===`star`&&Z.canUpdateConversations()&&up(e=>e.updateHistoryConversation(n,{starred:!Jf})).catch(()=>{}))});let Qf=/* @__PURE__ */ new Map,$f=(e=Z.getActiveConversationId(),t=$?.historyOperationScope()??a.features?.history?.scope??(a.getIdentityProof?`verified-user`:`browser`))=>JSON.stringify([t,e]),ep=null,tp=0,np=()=>{let e=R.getBoundingClientRect().top,t=R.clientHeight>0?Array.from(z.querySelectorAll(`[data-message-id]`)).find(t=>t.getBoundingClientRect().bottom>e):void 0;return{top:R.scrollTop,anchorId:t?.dataset.messageId,anchorOffset:t?t.getBoundingClientRect().top-e:0,following:Qc.isFollowing(),followFallback:hl,anchored:gl,anchoredId:_l,readerEngaged:vl,anchor:sl?{...sl}:null,unread:ol}},rp=()=>{cm(),Sm(`system`),kr(a)&&Z.cleanupVoice(),++tp,Tp?.abort(),Tp=null,K.setPreparing(!1),Xc(),Xl();let e=K.getState(),t=$f();Qf.set(t,{draft:{text:e.text,mentionRefs:[...e.mentionRefs],contentSegments:Sp(),quote:e.quote,selectedModelId:e.selectedModelId,activeModeIds:[...e.activeModeIds]},document:G?.getInlineInput()?.getDocument?.(),mentions:G?.captureDraft()??[],attachments:W,pending:e.pendingSubmission,reading:ep?.key===t?ep.reading:np()}),ql.cancel()},ip=e=>{hl=e.followFallback,gl=e.anchored,_l=e.anchoredId,vl=e.readerEngaged,sl=e.anchor?{...e.anchor,pending:0}:null,td(e.anchor?.spacerHeight??0),e.following?Qc.resume():Qc.pause(),ol=e.unread;let t=Array.from(z.querySelectorAll(`[data-message-id]`)).find(t=>t.dataset.messageId===e.anchorId);rl=!0,e.following&&Jr()?R.scrollTop=Ye(R):t?R.scrollTop+=t.getBoundingClientRect().top-R.getBoundingClientRect().top-e.anchorOffset:R.scrollTop=e.top,rl=!1,$c=R.scrollTop,$m=Ye(R),lu(),zs(),Du()},ap=(e=!1,t=!0)=>{let n=e?void 0:Qf.get($f());G?.clear(),W?.setPreviewsContainer(null),W=n?.attachments??(a.attachments?.enabled?Pi():null),W?.updateConfig(Ti()),W?.remountPreviews(Gr),Fi(W?.getAttachments()??[]);let r=n?.draft,i=G?.getInlineInput();n?.document&&i?.setDocument?i.setDocument(n.document):i?i.setValueWithCaret(r?.text??``,(r?.text??``).length):B.value=r?.text??``,G?.restoreDraft(n?.mentions??[]),Si(),Ci(),K.setSelectedModelId(r?a.composer?.models?.some(e=>e.id===r.selectedModelId)?r.selectedModelId:void 0:a.composer?.selectedModelId),Vi?.repaint(),zi(Gt(r?.activeModeIds??a.composer?.defaultActiveModeIds??[],Ii())),Wi(r?.quote),Yi(n?.pending),Gp(),id(),nu(),$?.cancelConversationOpenTakeover(),Kd&&(Kd.hidden=!0),qd=!1,z.style.removeProperty(`display`),n?ip(n.reading):(Mu(),ed()||Zu()),t&&(Vl=Kl()?da({...K.getState(),contentSegments:Sp()}):void 0),ql.cancel(),t&&Bl(),ep={key:$f(),reading:n?.reading??np()}},op=(e,t=!0,n=!0)=>{for(let[t,n]of Qf)(e===void 0||JSON.parse(t)[1]===e)&&(n.attachments?.destroy({release:!0}),W===n.attachments&&(W=null),Qf.delete(t));(e===void 0||e===Z.getActiveConversationId())&&(++tp,Gl=null,Tp?.abort(),Tp=null,cm(),W?.destroy({release:!0}),W=null,t&&ap(!0,n),ep=null)};Un=e=>{Uf=e,$?.historySurface?.view.setNewConversationRequired(e.recovery===`new_conversation_required`),Wd(e.sendBlocked||kc),$?.syncEarlierMessagesPill()},Wn=e=>{(e.code===`history_continuity_reset`||e.code===`conversation_deleted_recovered`)&&(op(),$?.clearConversationOpenPending(),jc.clear(),id(),Mu()),Gf(e.message),$?.historySurface?.view.refresh()};let sp={getBubbleClasses:oc,parseCombo:Eo,formatCombo:ko,ariaCombo:Ao,usesSessionVoiceForConfig:kr,applyBubbleGeometry:cc,resolveThemeDefaults:La,composerStore:K,get attachmentManager(){return W},set attachmentManager(e){W=e},get composerConversationGeneration(){return tp},set composerConversationGeneration(e){tp=e},get submissionAbort(){return Tp},set submissionAbort(e){Tp=e},persistState:Bl,applyMessageRowLayout:gd,SessionHistoryError:qi,instanceId:r,discardConversationContinuity:op,clearPersistedDraft:Ql,saveConversationContinuity:rp,restoreConversationContinuity:ap,get pendingConversationReading(){return ep},set pendingConversationReading(e){ep=e},conversationStateKey:$f,captureConversationReading:np,restoreConversationReading:ip,get conversationPersistenceOwner(){return Gl},set conversationPersistenceOwner(e){Gl=e},setComposerDisabled:Wd,get actionManager(){return ut},get activeConversationTitle(){return qf},announceHistory:Gf,get applyRailChrome(){return Hn},set applyRailChrome(e){Hn=e},get artifactSplitRoot(){return ds},get body(){return R},get config(){return a},get container(){return L},get conversationOpenPendingEl(){return Kd},set conversationOpenPendingEl(e){Kd=e},get conversationOpenTakeover(){return qd},set conversationOpenTakeover(e){qd=e},currentKeyPrefix:xn,destroyCallbacks:X,eventBus:O,get footer(){return H},get header(){return Cr},get historyChromeSync(){return Gn},set historyChromeSync(e){Gn=e},historyFeatureEnabled:Wf,get historyInternals(){return Tf},set historyInternals(e){Tf=e},get historyPresentation(){return Bn},set historyPresentation(e){Bn=e},get historySessionState(){return Uf},get historyVisible(){return zn},set historyVisible(e){zn=e},get isStreaming(){return kc},jumpToBottomInstant:Zu,get lastAppliedMessages(){return jf},set lastAppliedMessages(e){jf=e},get launcherEnabled(){return vt},get launcherSurfaceInstance(){return Km},maybeFocusInput:Gd,messageCache:jc,get messagesWrapper(){return z},mount:e,get open(){return N},panel:F,panelElements:I,panelSuggestions:ii,panelSuggestionsFade:ai,get persistentMetadata(){return Ve},set persistentMetadata(e){Ve=e},plugins:D,get reapplyHistoryHostChrome(){return Vn},set reapplyHistoryHostChrome(e){Vn=e},repinAnchoredMessage:cd,resetAnchorState:id,restoreScrollPosition:ed,resumeAutoScroll:Mu,runStorageMutation:zl,get session(){return Z},setActiveConversationSummary:Zf,storageAdapter:Fe,get suppressScrollSend(){return fl},set suppressScrollSend(e){fl=e},syncScrollToBottomButton:Du,scrollToBottomButton:ni,updateWelcome:af,getHistoryProviderFactory:ju,historyErrors:{HistoryClientError:li,HistoryProviderError:Ot},isDockedMountMode:$o,renderLucideIcon:T,loadHistoryView:wu,createHeaderIconButton:ms,attachTooltip:Ee},cp=e=>(!$&&!Hf&&($=e.createHistoryShell(sp),$.railCollapseShortcut()&&Kf()),$),lp=()=>{if($)return Promise.resolve($);let e=Au();return e?Promise.resolve(cp(e)):(Vf??=ku().then(cp,e=>{throw Vf=null,e}),Vf)},up=e=>{let t=Au(),n=$??(t?cp(t):null);return n?e(n):lp().then(t=>{if(!t)throw Error(`[AgentWidget] The widget was destroyed`);return e(t)})},dp=()=>{$?.syncHistoryPresentation()};X.push(()=>{Hf=!0}),Wf()&&lp().catch(()=>{}).finally(Ge),a.clientToken&&(a.features?.history?.enabled===!0||a.sessionInit===`mount`)&&Z.initClientSession().then(()=>{let e=$;if(e?.historyAvailable())return Z.reconcileBootConversation({scope:e.historyScope()})}).then(()=>{$?.syncEarlierMessagesPill()}).catch(e=>{a.debug&&console.warn(`[AgentWidget] Pre-init client session failed:`,e)});let fp=()=>Z.warmClientSession(),pp=e=>{let t=a.sessionInit??`input`,n=J?.input??B,r=e.target;n&&(e.type===`input`?(t===`input`||t===`focus`)&&r===n&&e.inputType&&n.value.trim():t===`focus`&&(e.type===`keyup`?r===n&&e.key===`Tab`:(J?.form??sr)?.contains(r)))&&fp()},mp=[`input`,`pointerdown`,`keyup`];mp.forEach(t=>e.addEventListener(t,pp));let hp,gp,_p=()=>{let e=gp;gp=void 0;try{typeof e==`function`&&e()}catch{}},vp=()=>{let t=a.clientToken&&typeof a.sessionInit==`function`?a.sessionInit:void 0;if(t!==hp){_p(),hp=t;try{gp=t?.({warm:fp,mount:e})}catch{}}};vp(),X.push(()=>{mp.forEach(t=>e.removeEventListener(t,pp)),_p()}),(_n||a.onSSEEvent)&&Z.setSSEEventCallback((e,t)=>{a.onSSEEvent?.(e,t),Ln(e,t)});let yp=()=>{let e=a.resume??(Re?Tf.getStoredResumableHandle?.():null);e&&typeof a.reconnectStream==`function`&&Z.resumeFromHandle(e)};He?He.then(e=>{if(e){if(e.metadata&&(Ve=Wu(e.metadata),ut.syncFromMetadata()),e.messages?.length){fl=!0;try{Z.hydrateMessages(e.messages)}finally{fl=!1}bd()}e.artifacts?.length&&Z.hydrateArtifacts(e.artifacts,e.selectedArtifactId??null),Zl(e.draft)}}).catch(e=>{typeof console<`u`&&console.error(`[AgentWidget] Failed to hydrate stored state:`,e)}).finally(()=>{Xd=!0,Ue(),yp()}):(Zl(tt),yp());let bp=()=>{j()&&(N||(a.launcher?.composerBar?.expandOnSubmit??!0)&&Pd(!0,`auto`))},xp=(e,t)=>e?t?{refs:[...e.refs,...t.refs],finalize:async()=>{let[n,r]=await Promise.allSettled([e.finalize(),t.finalize()]),i=[];return n.status===`fulfilled`?i.push(n.value):console.warn(`[Persona] a mention bundle failed to finalize; sending without it`,n.reason),r.status===`fulfilled`?i.push(r.value):console.warn(`[Persona] a mention bundle failed to finalize; sending without it`,r.reason),Yu(i)}}:e:t,Sp=()=>{let e=B.getInlineMessageFields?.();if(e)return e.contentSegments.some(e=>e.kind===`mention`)?e.contentSegments:void 0},Cp=!1,wp=0,Tp=null,Ep=()=>{B.value=``,B.style.height=`auto`,Si(),Gp()},Dp=null;function Op(e,t=4e3){di(e),!j()&&V&&(V.hasAttribute(Lu)||(V.setAttribute(Ru,``),V.setAttribute(`role`,`status`),V.setAttribute(`aria-live`,`polite`),V.textContent=e,E(V,a.statusIndicator??{},`idle`),Dp&&clearTimeout(Dp),Dp=setTimeout(()=>{if(Dp=null,V?.hasAttribute(Ru)&&(V.removeAttribute(Ru),V.removeAttribute(`role`),V.removeAttribute(`aria-live`),ce)){let e=Z.getStatus();Zn(V,Xn(e),a.statusIndicator??{},e)}},t)))}function kp(){let e=K.getState().pendingSubmission;e&&(Yi(void 0),B&&(B.value=e.text,B.dispatchEvent(new Event(`input`,{bubbles:!0})),Si()),e.options.selectedModelId&&(K.setSelectedModelId(e.options.selectedModelId),Vi?.repaint()),e.options.activeModeIds?.length&&zi(e.options.activeModeIds),e.options.quote&&Wi(e.options.quote),B?.focus())}let Ap=e=>{typeof console<`u`&&console.error(`[AgentWidget] composer.onBeforeSend failed; the draft was preserved:`,e)},jp=(e={})=>{if(sm()||Kd)return;let t=tp,n=(e.overrideText??B?.value??``).trim();return e.resolveInlineCommand&&n?(G?.takeInlineCommand(n)??Promise.resolve(null)).then(r=>{if(t===tp)return Mp(e,n,r)}):Mp(e,n,null)},Mp=(e,t,n)=>{if(n?.kind===`action`){Ep(),G?.clear(),Ci();return}let r=n?.kind===`server`?n.mentions:null,i=n?.kind===`prompt`?n.sendText:t,o=e.pending?.contentParts;if(!va({text:i,hasAttachments:(W?.hasAttachments()??!1)||(o?.length??0)>0,attachmentsReady:W?.isReady()??!0,hasMentions:G?.hasMentions()??!1,hasServerMentions:!!r,inputDisabled:Id(),sendDisabled:Rd()}))return;let s=Z.isStreaming()?Ki():`block`;if(s===`defer-one`&&!e.pending){if(K.getState().pendingSubmission){Op(`One message is already queued. Edit or remove it first.`);return}Np({intent:e,sendText:i,serverMentions:r});return}let c={text:i,mentionRefs:[...G?.getMentionRefs()??[],...r?.refs??[]],contentSegments:n?.kind===`prompt`?void 0:Sp(),options:{...K.getState().selectedModelId&&{selectedModelId:K.getState().selectedModelId},...K.getState().activeModeIds.length>0&&{activeModeIds:[...K.getState().activeModeIds]},...K.getState().quote&&{quote:{...K.getState().quote}}},viaVoice:e.viaVoice};e.pending&&(c.options={...e.pending.options},c.contentSegments=e.pending.contentSegments,c.mentionRefs=[...e.pending.mentionRefs],c.viaVoice=e.pending.viaVoice);let l=()=>{if(o?.length)return[...o];if(!W?.hasAttachments())return;let e=[...W.getContentParts()];return c.text&&e.push(kt(c.text)),e};c.contentParts=l();let u=()=>{Xc(),bp();let t=G?.collectForSubmit()??null,n=xp(t,r),i=l();e.consumeDraft!==!1&&Ep();let o={selectedModelId:c.options.selectedModelId,activeModeIds:c.options.activeModeIds},u=s===`interrupt`;u&&Z.cancel(),Z.sendMessage(c.text,{contentParts:i,mentions:n??void 0,contentSegments:c.contentSegments,viaVoice:c.viaVoice,composerOptions:o,...c.options.quote&&{quote:c.options.quote},...u&&{interrupt:!0}}),W?.hasAttachments()&&W.clearAttachments(),t&&G?.clear(),Ci();let d=K.getState().activeModeIds,f=Ut(d,a.composer?.modes);f.length!==d.length&&zi(f),K.getState().quote&&Wi(void 0),Ql(),za.release(),Ha()},d=a.composer?.onBeforeSend;if(!d){u();return}let f=new AbortController;Tp=f;let p=tp,m=e=>{f.signal.aborted||p!==tp||(Tp===f&&(Tp=null),e.status===`error`?Ap(e.error):e.status===`proceed`&&u())},h=xa(d,c,f.signal);if(!(h instanceof Promise))m(h);else return K.setPreparing(!0),h.then(m).finally(()=>{p===tp&&K.setPreparing(!1)})};function Np(e){let t=K.getState(),n=W?.hasAttachments()??!1,r=n?[...W.getContentParts()]:[];n&&e.sendText&&r.push(kt(e.sendText)),Yi(_a({text:e.sendText,contentParts:r.length?r:void 0,mentionRefs:[...G?.getMentionRefs()??[],...e.serverMentions?.refs??[]],contentSegments:Sp(),options:{...t.selectedModelId&&{selectedModelId:t.selectedModelId},...t.activeModeIds.length>0&&{activeModeIds:[...t.activeModeIds]},...t.quote&&{quote:{...t.quote}}},viaVoice:e.intent.viaVoice})),e.intent.consumeDraft!==!1&&Ep(),n&&W.clearAttachments(),G?.clear(),Ci(),t.quote&&Wi(void 0),Ql(),za.release(),Ha(),di(`Message queued. It sends when the response finishes.`)}function Pp(){let e=K.getState().pendingSubmission;e&&(Yi(void 0),Bp(e.text,{consumeDraft:!1,pending:e}))}function Fp(e){if(a.messageActions?.showEdit!==!0)return;let t=Z.getMessages().find(t=>t.id===e);t&&ki(t)&&Ei(Z.getMessages(),e)&&Jc!==e&&(Xc(),Jc=e,Yc=ua({messageId:e,initialText:t.content,onSave:t=>Ip(e,t),onCancel:()=>Xc()}),jc.delete(e),xd(z,Z.getMessages(),nn),Yc.focus())}function Ip(e,t){let n=Yc;Jc=null,Yc=null,n?.destroy(),jc.delete(e),Z.resubmitFrom(e,{reason:`edit`,replacement:{text:t,mentionRefs:[],options:{}}})?cd():xd(z,Z.getMessages(),nn)}function Lp(e){if(Z.isStreaming())return;let t=Di(Z.getMessages(),e);t&&(Xc(),Z.resubmitFrom(t,{reason:`retry`})&&cd())}po={regenerate:Lp,edit:Fp,quote:e=>{let t=Z.getMessages().find(t=>t.id===e)?.content?.trim();t&&(Wi({text:t,messageId:e}),B?.focus())}};let Rp=async e=>{if(sm()){a.voiceRecognition?.dictation?.showSend&&!Rd()&&lm(!0);return}if(Cp)return;Cp=!0;let t=++wp;try{await jp({resolveInlineCommand:!0,...e})}finally{t===wp&&(Cp=!1)}};function zp(e){Rd()||(Ep(),Bp(e,{consumeDraft:!1}))}let Bp=(e,t)=>{if(Cp)return;Cp=!0;let n=++wp,r=()=>{n===wp&&(Cp=!1)};try{let n=jp({...t,overrideText:e});n instanceof Promise?n.finally(r):r()}catch(e){throw r(),e}},Vp=e=>{e.preventDefault(),Z.isStreaming()?(Z.cancel(),En?.reset(),jn?.update()):Cp||Rp()},Hp=()=>a.features?.composerHistory!==!1,Up={...Io},Wp=!1,Gp=()=>{Up={...Io}},Kp=()=>Z.getMessages().filter(e=>e.role===`user`).map(e=>e.content??``).filter(e=>e.length>0),qp=e=>{if(!B)return;Wp=!0,B.value=e,B.dispatchEvent(new Event(`input`,{bubbles:!0})),Wp=!1;let t=B.value.length;B.setSelectionRange(t,t)},Jp=e=>{Wp||(wc(),e.isComposing||G?.handleInput(e.inputType??void 0),Gp())},Yp=()=>({submitKey:a.composer?.submitKey,insertNewlineOnTouchEnter:a.composer?.insertNewlineOnTouchEnter,coarsePointer:he(B)}),Xp=e=>{if(B&&!Id()&&(e.isComposing||!G?.handleKeydown(e))){if(Hp()&&(e.key===`ArrowUp`||e.key===`ArrowDown`)&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey&&!e.isComposing){let t=B.selectionStart===0&&B.selectionEnd===0,n=Lo({direction:e.key===`ArrowUp`?`up`:`down`,history:Kp(),currentValue:B.value,atStart:t,state:Up});if(Up=n.state,n.handled){e.preventDefault(),n.value!==void 0&&qp(n.value);return}}if(x(e,Yp())){if(Z.isStreaming()){if(e.preventDefault(),Ki()===`block`||Cp||Rd())return;Gp(),Rp()}else Cp||Rd()?e.preventDefault():(Gp(),e.preventDefault(),or.click())}}},Zp=e=>{e.key!==`Escape`||e.isComposing||e.composedPath().includes(L)&&(Tp?(Tp.abort(),Tp=null,e.preventDefault(),e.stopImmediatePropagation()):Z.isStreaming()&&(Z.cancel(),En?.reset(),jn?.update(),Gp(),e.preventDefault(),e.stopImmediatePropagation()))},Qp=async e=>{if(a.attachments?.enabled!==!0||!W||Id())return;let t=Bu(e.clipboardData);t.length!==0&&(e.preventDefault(),await W.handleFiles(t))},$p=null,em=null,tm=!1,nm=null,rm=null,im=0,am=Object.freeze({phase:`idle`,recordingId:0,transcript:``,interimTranscript:``,error:null,audioLevel:null}),om=()=>!!a.voiceRecognition?.dictation||a.voiceRecognition?.provider?.type===`custom`&&mm(),sm=()=>tm||[`recording`,`processing`].includes($p?.getState().phase??`idle`),cm=()=>{if(++im,tm=!1,rm=null,nm){nm=null,em?.element.remove(),em=null;let{audioLevel:e,...t}=am;return O.emit(`dictation:state`,{...t,instanceId:r,timestamp:Date.now()}),!0}return $p?.cancel()??!1},lm=(e=!1)=>tm?(rm=e||rm===!0,!0):$p?.finish(e)||e&&$p?.send()||!1,um=()=>{if(Id()||Z.isStreaming()||sm()||Ld())return!1;let e=a.voiceRecognition;if(e?.enabled===!1)return!1;let t=e?.dictation?.provider??(e?.provider?.type===`custom`?{type:`custom`,custom:e.provider.custom}:{type:`browser`,browser:e?.provider?.browser});if(t.type===`browser`&&!bm()||t.type===`custom`&&!t.custom)return!1;!N&&M()&&Pd(!0,`system`),nm&&cm();let n={text:B.value,logicalEnd:G?.getInlineInput()?.getLogicalText().length??null,readOnly:B.readOnly,contentEditable:B.getAttribute(`contenteditable`)};tm=!0,rm=null;let i=++im;return tr().then(o=>{i===im&&(tm=!1,$p??=o.createDictationSession({instanceId:r,getTextarea:()=>B,getFooter:()=>H,getConfig:()=>a,plugins:D,getInlineInput:()=>G?.getInlineInput(),isInputDisabled:Id,isSendBlocked:Rd,syncText:Si,onSend:()=>{Rp({viaVoice:!0})},rendererDeps:{renderLucideIcon:T,attachTooltip:Ee},onState:(e,t)=>{let{audioLevel:n,...i}=e;O.emit(`dictation:state`,{...i,instanceId:r,timestamp:Date.now()}),Q.active=e.phase===`recording`,hm(t?e.phase===`recording`?`recording`:`processing`:`idle`),jl(`system`)}}),Z.stopSpeaking(),$p.start(t,{autoSend:!mm(),pauseDuration:e?.pauseDuration},n),rm!==null&&($p.finish(rm),rm=null))}).catch(e=>{if(i!==im)return;tm=!1;let t=e instanceof Error?e.message:`Unable to load dictation.`;nm=Object.freeze({...am,recordingId:i,phase:`error`,error:t});let n=A(`div`,`persona-dictation`);n.setAttribute(`role`,`alert`),n.textContent=t;let a=document.createElement(`button`);a.type=`button`,a.textContent=`Dismiss dictation`,a.addEventListener(`click`,()=>{cm()}),n.append(a),em={element:n},H.append(n);let{audioLevel:o,...s}=nm;O.emit(`dictation:state`,{...s,instanceId:r,timestamp:Date.now()})}),!0};X.push(()=>{++im,$p?.destroy(),em?.destroy?.(),em?.element.remove()}),a.voiceRecognition?.dictation&&tr().catch(()=>{});let dm=null,fm=!1,pm,mm=()=>a.voiceRecognition?.completionBehavior===`review`;function hm(e){U&&be(U,a,e,Z.getVoiceInterruptionMode()),H?.setAttribute(`data-persona-voice-state`,e),e===`recording`?vm():ym()}let gm,_m=!1;function vm(){_m=!0;let e=e=>{_m&&(gm??=e.createVoiceLevelIndicator({targets:()=>[Br??U?.parentElement,H].filter(e=>!!e),sample:()=>{let e=$p?.getState();return e?.phase===`recording`?{level:e.audioLevel,fallback:!1}:{level:ce?Z.getVoiceLevel():null,fallback:!0}}}),gm.start())},t=nr();t?e(t):tr().then(e,()=>{})}function ym(){_m=!1,gm?.stop()}let bm=()=>typeof window>`u`?null:window.webkitSpeechRecognition||window.SpeechRecognition||null,xm=(e=`user`)=>{if(fm||Z.isStreaming())return;let t=bm();if(!t)return;dm=new t;let n=dm,r=a.voiceRecognition??{},i=r.pauseDuration??2e3;dm.continuous=r.provider?.browser?.continuous??!0,dm.interimResults=!0,dm.lang=r.provider?.browser?.language??`en-US`;let o=B.value,s,c=(e,t)=>{let r=r=>{dm===n&&fm&&(s??=r.createBrowserRecognitionHandlers({textarea:B,initialText:o,pauseDuration:i,isActive:()=>dm===n&&fm,syncText:Si,stop:Sm,review:mm,submit:()=>{Rp({viaVoice:!0})}}),pm=()=>s?.dispose(),s[e](t))},a=nr();a?r(a):tr().then(r,()=>{dm===n&&Sm(`system`)})};n.onresult=e=>c(`result`,e),n.onerror=e=>c(`error`,e),n.onend=e=>c(`end`,e);try{dm.start(),fm=!0,Q.active=!0,e!==`system`&&(Q.manuallyDeactivated=!1),jl(e),Ml(),Ha(),U&&(U.classList.add(`persona-voice-recording`),hm(`recording`),U.setAttribute(`aria-label`,`Stop voice recognition`))}catch{Sm(`system`)}},Sm=(e=`user`)=>{if(fm){if(fm=!1,pm?.(),pm=void 0,dm){try{dm.stop()}catch{}dm=null}Q.active=!1,jl(e),Al||Ml(),Ha(),U&&(U.classList.remove(`persona-voice-recording`),hm(`idle`),U.setAttribute(`aria-label`,a.voiceRecognition?.tooltipText??`Start voice recognition`))}},Cm=null,wm=e=>{let t=t=>{Cm??=t.createMicStateStyles({mic:()=>U,config:()=>a,session:()=>Z,setMicState:hm}),e(Cm)},n=Tr();n?t(n):wr().then(t,()=>{})},Tm=()=>wm(e=>e.recording()),Em=()=>wm(e=>e.processing()),Dm=()=>wm(e=>e.speaking()),Om=()=>wm(e=>e.reset()),km=()=>{if(!Id()){if(om())$p?.getState().phase===`recording`?$p.finish():sm()||um();else if(Er(a.voiceRecognition?.provider)){let e=Z.getVoiceStatus(),t=Z.getVoiceInterruptionMode();if(t===`none`&&(e===`processing`||e===`speaking`))return;if(t===`cancel`&&(e===`processing`||e===`speaking`)){Z.stopVoicePlayback();return}if(Z.isBargeInActive()){Z.stopVoicePlayback(),Z.deactivateBargeIn().then(()=>{Q.active=!1,Q.manuallyDeactivated=!0,Ml(),jl(`user`),Om()});return}Z.toggleVoice().then(()=>{Q.active=kl(),Q.manuallyDeactivated=!Q.active,Ml(),jl(`user`),Q.active?Tm():Om()})}else if(fm){let e=B.value.trim();Q.manuallyDeactivated=!0,Ml(),Sm(`user`),e&&!mm()&&Rp()}else Q.manuallyDeactivated=!1,Ml(),xm(`user`)}};Qi=km;let Am=()=>Z.prewarmVoice(),jm=()=>{let e=a.voiceRecognition;return e?.enabled===!0?e.prewarm??(a.clientToken?`hover`:!1):!1},Mm=e=>{jm()===`hover`&&U?.contains(e.target)&&Am()},Nm=[`pointerover`,`pointerdown`,`focusin`];Nm.forEach(t=>e.addEventListener(t,Mm));let Pm,Fm=null,Im,Lm=()=>{let e=Im;Im=void 0;try{typeof e==`function`&&e()}catch{}},Rm=()=>{let t=jm(),n=typeof t==`function`&&U?t:void 0,r=n?U:null;if((n!==Pm||r!==Fm)&&(Lm(),Pm=n,Fm=r,n&&r))try{Im=n({warm:Am,micButton:r,mount:e})}catch{}};Rm(),X.push(()=>{Nm.forEach(t=>e.removeEventListener(t,Mm)),Lm()}),U&&X.push(()=>{Er(a.voiceRecognition?.provider)?(Z.isVoiceActive()&&Z.toggleVoice(),Om()):Sm(`system`)});let zm=O.on(`assistant:complete`,()=>{let e=K.getState().pendingSubmission,t=tp,n=At;e&&setTimeout(()=>{Mt(n)&&!Z.isStreaming()&&t===tp&&K.getState().pendingSubmission===e&&Pp()},0)});X.push(zm);let Bm=O.on(`assistant:complete`,()=>{if(!Ol||Q.active||Q.manuallyDeactivated||Ol===`assistant`&&!Q.lastUserMessageWasVoice)return;let e=tp,t=At;setTimeout(()=>{Mt(t)&&e===tp&&!Q.active&&!Q.manuallyDeactivated&&(Er(a.voiceRecognition?.provider)?Z.toggleVoice().then(()=>{Mt(t)&&e===tp&&(Q.active=Z.isVoiceActive(),jl(`auto`),Z.isVoiceActive()&&Tm())}):xm(`auto`))},600)});X.push(Bm);let Vm=!1,Hm=e=>{e.persisted&&!Vm&&(Vm=!0,Al=!0,Nt(),tp++,wp++,Cp=!1,Tp?.abort(),Tp=null,K.setPreparing(!1),cm(),Sm(`system`),Z.cancel(),Z.stopSpeaking(),Z.cleanupVoice(),En?.reset(),jn?.update())},Um=e=>{e.persisted&&Vm&&(Vm=!1,Al=!1,a.voiceRecognition?.enabled===!0&&kr(a)&&Z.setupVoice())};window.addEventListener(`pagehide`,Hm),window.addEventListener(`pageshow`,Um),X.push(()=>{window.removeEventListener(`pagehide`,Hm),window.removeEventListener(`pageshow`,Um)});let Wm=O.on(`action:resubmit`,()=>{Ft()});X.push(Wm);let Gm=()=>{Pd(!N,`user`)},Km=null,qm=null;if(vt&&!j()){let{instance:e,element:t}=tl({config:a,plugins:D,onToggle:Gm});Km=e,e||(qm=t)}Km?e.appendChild(Km.element):qm&&e.appendChild(qm),Nd(),Sc(),hf(),pf(),Wd(Z.isStreaming()),ed()||(qr()===`follow`?Nu(!0):Zu()),Nl(),xt&&(!vt||j()?setTimeout(()=>Gd(),0):N&&setTimeout(()=>Gd(),200));let Jm=null,Ym=()=>{Jm&&(Jm.disconnect(),Jm.observe(H),Jm.observe(L),Jm.observe(cr),Jm.observe(ii))},Xm=fi(),Zm=()=>{if(j()){vi(),Nd();return}let t=$o(a),n=a.launcher?.sidebarMode??!1,r=e.ownerDocument.defaultView??window,i=a.launcher?.mobileFullscreen??!0,o=a.launcher?.mobileBreakpoint??640,s=r.innerWidth<=o,c=i&&s&&vt;try{if(c){vo(),wo=Ts();return}let e=!1;Tt&&(Tt=!1,vo(),e=!0);let r=Ts();if(!e&&r!==wo&&(vo(),e=!0),wo=r,e&&ps(),!vt&&!t){F.style.height=``,n||(P.style.width=Lc(a),F.style.width=`100%`,F.style.maxWidth=`100%`);return}if(!n&&!t){let e=Ic(a);F.style.width=e.width,F.style.maxWidth=e.maxWidth}Cs(),Hs()}finally{vi(),xi();let t=fi();if(t!==Xm&&(Xm=t,af(),Sc()),Nd(),N&&vt){let t=(e.ownerDocument.defaultView??window).innerWidth<=(a.launcher?.mobileBreakpoint??640),n=a.launcher?.sidebarMode??!1,r=a.launcher?.mobileFullscreen??!0,i=$o(a)&&r&&t,o=n||r&&t&&vt||i;if(o&&!Ws){let t=e.getRootNode(),n=t instanceof ShadowRoot?t.host:e.closest(`.persona-host`);n&&!Us&&(Us=Jo(n,a.launcher?.zIndex??1e5)),Ws=Zo(e.ownerDocument)}else o||(Us?.(),Us=null,Ws?.(),Ws=null)}}};Zm();let Qm=e.ownerDocument.defaultView??window;if(Qm.addEventListener(`resize`,Zm),X.push(()=>Qm.removeEventListener(`resize`,Zm)),typeof ResizeObserver<`u`){Jm=new ResizeObserver(()=>{xi(),Du()}),Ym(),X.push(()=>{Jm?.disconnect(),Jm=null});let e=new ResizeObserver(()=>{dp()});e.observe(L),X.push(()=>e.disconnect())}Qm.addEventListener(`resize`,dp),X.push(()=>Qm.removeEventListener(`resize`,dp)),$c=R.scrollTop;let $m=Ye(R),eh=()=>{zs();let e=R.scrollTop,t=Ye(R),n=t<$m;if($m=t,Ju.interrupted||!Jr()){$c=e,Du();return}let{action:r,nextLastScrollTop:i}=$e({following:Qc.isFollowing(),currentScrollTop:e,lastScrollTop:$c,nearBottom:Ze(R,24),userScrollThreshold:4,isAutoScrolling:Ju.active||rl||al||n,pauseOnUpwardScroll:!0,pauseWhenAwayFromBottom:!1,resumeRequiresDownwardScroll:!0});$c=i,r===`resume`&&!$u()?Mu():r===`pause`?Ou():Du()};if(R.addEventListener(`scroll`,eh,{passive:!0}),X.push(()=>R.removeEventListener(`scroll`,eh)),typeof ResizeObserver<`u`){let e=new ResizeObserver(()=>{dd(),ld(),zs(),zr(z)});e.observe(z),e.observe(R),X.push(()=>e.disconnect())}let th=()=>{Jr()&&Qc.isFollowing()&&$u()&&Ou()},nh=R.ownerDocument;nh.addEventListener(`selectionchange`,th),X.push(()=>{nh.removeEventListener(`selectionchange`,th)});let rh=/* @__PURE__ */ new Set([`PageUp`,`PageDown`,`Home`,`End`,`ArrowUp`,`ArrowDown`]),ih=e=>{rh.has(e.key)&&(yl(),Zr()&&Jr()&&Qc.isFollowing()&&Ou())},ah=e=>{e.target?.closest(`a, button, [tabindex], input, textarea, select`)&&(yl(),Zr()&&Jr()&&Qc.isFollowing()&&Ou())};R.addEventListener(`keydown`,ih),R.addEventListener(`focusin`,ah),X.push(()=>{R.removeEventListener(`keydown`,ih),R.removeEventListener(`focusin`,ah)});let oh=e=>{if(Ju.interruptedBy(e)){yl();return}if(e.deltaY!==0&&yl(),!Jr())return;let t=Je({following:Qc.isFollowing(),deltaY:e.deltaY,nearBottom:Ze(R,24),resumeWhenNearBottom:!0});t===`pause`?Ou():t===`resume`&&!$u()&&Mu()};R.addEventListener(`wheel`,oh,{passive:!0}),R.addEventListener(`touchmove`,yl,{passive:!0}),R.addEventListener(`pointerdown`,yl,{passive:!0}),X.push(()=>{R.removeEventListener(`touchmove`,yl),R.removeEventListener(`pointerdown`,yl)}),X.push(()=>R.removeEventListener(`wheel`,oh)),ni.addEventListener(`click`,()=>{let e=vu().filter(hu).map(e=>e.getAttribute(`data-message-id`));id(),Su=e,nu(),Qc.pause(),Ju.start(a),Du()}),X.push(()=>Ju.destroy()),X.push(()=>ti.destroy()),X.push(()=>{nu(),id()});let sh=()=>{_r&&(tc&&=(_r.removeEventListener(`click`,tc),null),M()?(_r.style.display=``,tc=()=>{Pd(!1,`user`)},_r.addEventListener(`click`,tc)):_r.style.display=`none`)};sh(),(()=>{let{clearChatButton:e}=I;e&&e.addEventListener(`click`,()=>{let e=$;if(e?.historyAvailable()){e.startNewConversation({focusComposer:!0}).catch(e=>{a.debug&&console.warn(`[AgentWidget] New conversation failed:`,e)});return}Z.clearMessages(),a.layout?.topFade&&(R.scrollTop=0),R.removeAttribute(`data-persona-top-fade`),jc.clear(),Mu(),dt(I.composerOverlay);try{localStorage.removeItem(Iu),a.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${Iu}`)}catch(e){console.error(`[AgentWidget] Failed to clear default localStorage:`,e)}if(a.clearChatHistoryStorageKey&&a.clearChatHistoryStorageKey!==Iu)try{localStorage.removeItem(a.clearChatHistoryStorageKey),a.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${a.clearChatHistoryStorageKey}`)}catch(e){console.error(`[AgentWidget] Failed to clear custom localStorage:`,e)}let t=new CustomEvent(`persona:clear-chat`,{detail:{instanceId:r,timestamp:(/* @__PURE__ */ new Date()).toISOString()}});window.dispatchEvent(t),Ql(),Fe?.clear&&zl(()=>Fe.clear(),`[AgentWidget] Failed to clear storage adapter:`),Ve={},ut.syncFromMetadata(),op(Z.getActiveConversationId(),!0,!1),Ep(),Ql(),Yi(void 0),Wi(void 0),Xc(),Tn?.clear(),En?.reset(),jn?.update()})})();let ch=[[`keydown`,Xp],[`input`,Jp],[`input`,Si],[`input`,Ci],[`keyup`,Ci],[`paste`,Qp],[`focus`,Oa]],lh=e=>{if(e)for(let[t,n]of ch)J?.addListener(e,t,n)},uh=e=>{if(e)for(let[t,n]of ch)J?.removeListener(e,t,n)},dh=()=>{J&&(J.addListener(J.form,`submit`,Vp),J.addListener(J.footer,`click`,Ci),lh(B),U&&J.addListener(U,`click`,km),Rm())};dh();let fh=()=>{G?.onComposerSwap((e,t)=>{uh(t),B=e,J&&(J.input=e),lh(e),Ca(),Ud(),Si(),$p?.refresh()})};fh();let ph=!1;function mh(){if(!ph){ph=!0;try{Ya.detach([`footer-top`,`footer-bottom`,`composer-start`,`composer-end`,`composer-before-send`]);let e=B?.value??``,t=H.ownerDocument??document,n=B?t.activeElement===B:!1;ym(),J?.destroy(),J=null,G?.destroy(),G=null;let r=null,i=()=>(r=j()?js({config:a}):ks({config:a}),r.footer),o=ya(i)??i();Qn.replaceComposer(o),H=Qn.composer.footer,a.layout?.showFooter===!1&&(H.style.display=`none`);let s=r!==null&&o===r.footer;oa=!s,Rr=s?r.setSendButtonMode:()=>{},aa(H),wa(H),Ea(),Da(),ka(),fh(),Pa(),Fa(),Ia(),dh();let c=ec.indexOf(Xs);if(Xs.destroy(),Xs=ls(ar),c>=0&&(ec[c]=Xs),Ya.remount(),B&&(B.value=e),Si(),Ci(),hf(),Sc(),Wd(Z.isStreaming()),a.statusIndicator?.mode===`transient`&&!j()){let e=Z.getStatus();Zn(V,Xn(e),a.statusIndicator,e)}Q.active&&hm(`recording`),$p?.refresh(),vo(),Ym(),vi(),Ha(),Vd(),n&&B?.focus()}finally{ph=!1}}}let hh=e.ownerDocument??document;hh.addEventListener(`keydown`,Zp,!0);let gh=()=>{Xl()},_h=()=>{hh.visibilityState===`hidden`&&Xl()};typeof window<`u`&&(window.addEventListener(`pagehide`,gh),hh.addEventListener(`visibilitychange`,_h),X.push(()=>{window.removeEventListener(`pagehide`,gh),hh.removeEventListener(`visibilitychange`,_h)}));let vh=`persona-attachment-drop-active`,yh=0,bh=()=>{yh=0,L.classList.remove(vh)},xh=()=>a.attachments?.enabled===!0&&W!==null&&!Id(),Sh=e=>{Vu(e.dataTransfer)&&xh()&&(yh++,yh===1&&L.classList.add(vh))},Ch=e=>{Vu(e.dataTransfer)&&xh()&&(yh--,yh<=0&&bh())},wh=e=>{Vu(e.dataTransfer)&&xh()&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)},Th=e=>{if(!Vu(e.dataTransfer)||!xh())return;e.preventDefault(),e.stopPropagation(),bh();let t=Array.from(e.dataTransfer.files??[]);t.length!==0&&W.handleFiles(t)};L.addEventListener(`dragenter`,Sh,!0),L.addEventListener(`dragleave`,Ch,!0),e.addEventListener(`dragover`,wh,!0),e.addEventListener(`drop`,Th,!0);let Eh=e.ownerDocument,Dh=e=>{xh()&&e.preventDefault()},Oh=e=>{xh()&&e.preventDefault()};Eh.addEventListener(`dragover`,Dh),Eh.addEventListener(`drop`,Oh),X.push(()=>{J?.destroy(),J=null,ym(),Na=!0,Aa?.destroy(),Aa=null,Hi?.destroy(),Hi=null,Ui?.destroy(),Ui=null,Ji?.destroy(),Ji=null,Vi=null,Xl(),ql.destroy(),Dp&&clearTimeout(Dp),Xc(),Tp?.abort(),Tp=null,$?.clearConversationOpenPending(),op(void 0,!1),W?.destroy(),W=null,K.destroy(),hh.removeEventListener(`keydown`,Zp,!0),G?.destroy()}),X.push(()=>{L.removeEventListener(`dragenter`,Sh,!0),L.removeEventListener(`dragleave`,Ch,!0),e.removeEventListener(`dragover`,wh,!0),e.removeEventListener(`drop`,Th,!0),Eh.removeEventListener(`dragover`,Dh),Eh.removeEventListener(`drop`,Oh),bh()}),X.push(()=>{Z.cancel()}),Km?X.push(()=>{Km?.destroy()}):qm&&X.push(()=>{qm?.remove()}),n?.registerHostMove?.(t=>{let n=R.scrollTop,r=Jr()&&Qc.isFollowing(),i=R.getBoundingClientRect().top,a=!r&&R.clientHeight>0?Array.from(z.querySelectorAll(`[data-message-id]`)).find(e=>e.getBoundingClientRect().bottom>i):void 0,o=a?a.getBoundingClientRect().top-i:0;nu(),t(),qn()?.ensureComposerActionStyles(e),pr()?.ensureArtifactStyles(e),Zm(),Hn(),r?R.scrollTop=Ye(R):a?R.scrollTop+=a.getBoundingClientRect().top-R.getBoundingClientRect().top-o:R.scrollTop=n,!r&&!vl&&cd(),$c=R.scrollTop,$m=Ye(R),zs(),Du(),e.dispatchEvent(new Event(`persona:internal:host-moved`))});let kh=e=>{!N&&M()&&Pd(!0,`system`),z.querySelector(`.persona-feedback-container`)?.remove();let t=e();z.appendChild(t),t.scrollIntoView({behavior:`smooth`,block:`end`})},Ah=!1,jh=[],Mh=!1,Nh=()=>{let e=jh;jh=[],Mh=!0;try{for(let t of e)Ph.update(t)}finally{Mh=!1}},Ph={get ready(){return o.ready},get instanceId(){return r},update(t){if(!Mh){jh.push(t);let e=jh.reduce(Jl,{...a,features:w}),n=Ar(Ll(e));if(n.length){o.prepare(n,Nh,Ah);return}if(jh.length>1){o.prepare([],Nh,Ah);return}jh=[]}n?.diagnostics||iu(s,t);let r=t.voiceRecognition;r&&(r.enabled===!1||r.dictation?.provider&&r.dictation.provider!==a.voiceRecognition?.dictation?.provider||r.provider?.custom&&r.provider.custom!==a.voiceRecognition?.provider?.custom)&&cm();let i=a.future?.v5Defaults===!0,c=a.messageActions,l=a.layout?.messages,u=a.colorScheme,d=a.iterationDisplay,f=a.features?.showReasoning,p=a.features?.showToolCalls,m=a.features?.toolCallDisplay,h=a.features?.reasoningDisplay,g=()=>JSON.stringify([a.features?.userMessageCollapse,a.copy?.showMoreLabel,a.copy?.showLessLabel]),_=g(),v=a.features?.streamAnimation?.type,x=a.features?.history?.enabled===!0,S=a.features?.history?.provider,C=a.getIdentityProof,ee=a.clientToken,te=a.contextMentions;a=Jl({...a,features:w},t),w=a.features,a=Ll(a),y(),vo(),Es(),a.colorScheme!==u&&Ks();let ne=Wl.getForInstance(a.plugins);D.length=0,D.push(...ne),Kf(),vt=a.launcher?.enabled??!0,yt=a.launcher?.autoExpand??!1,rn=a.features?.showReasoning??!0,hn=a.features?.showToolCalls??!0,Ju.cancel();let ie=qr();yn=a.features?.scrollBehavior??{},ie!==qr()&&(id(),Mu()),Cl(),Du();let ae=_n;if(_n=a.features?.showEventStreamToggle??!1,_n&&!ae){if(Tn||(Rn(),Z.setSSEEventCallback((e,t)=>{a.onSSEEvent?.(e,t),Ln(e,t)})),!q&&Cr){let e=a.features?.eventStream?.classNames,t=`persona-inline-flex persona-items-center persona-justify-center persona-rounded-full hover:persona-opacity-80 persona-cursor-pointer persona-border-none persona-bg-transparent persona-p-1`+(e?.toggleButton?` `+e.toggleButton:``);q=A(`button`,t),q.style.width=`28px`,q.style.height=`28px`,q.style.color=vs.actionIconColor,q.type=`button`,q.setAttribute(`aria-label`,`Event Stream`),q.title=`Event Stream`;let n=b(gn,`18px`,`currentColor`,1.5);n&&q.appendChild(n);let r=I.clearChatButtonWrapper,i=I.closeButtonWrapper,o=r||i;o&&o.parentNode===Cr?Cr.insertBefore(q,o):Cr.appendChild(q),q.addEventListener(`click`,()=>{Mn?ra():ta()})}}else!_n&&ae&&(ra(),jn?.destroy(),jn=null,q&&=(q.remove(),null),Tn?.clear(),Cn?.destroy(),Tn=null,Cn=null,En?.reset(),En=null,Dn=null);if(a.launcher?.enabled===!1&&Km&&(Km.destroy(),Km=null),a.launcher?.enabled===!1&&qm&&(qm.remove(),qm=null),a.launcher?.enabled!==!1&&!Km&&!qm){let{instance:t,element:n}=tl({config:a,plugins:D,onToggle:Gm});Km=t,t||(qm=n),e.appendChild(n)}Km&&Km.update(a),Yf(),Sr&&a.launcher?.subtitle!==void 0&&(Sr.textContent=a.launcher.subtitle);let oe=a.layout?.header;if(oe?.layout!==wt&&Cr){let e=oe?Ds(a,oe,{showClose:M(),onClose:()=>Pd(!1,`user`)}):xs({config:a,showClose:M(),onClose:()=>Pd(!1,`user`)});Qn.replaceHeader(e),Cr=Qn.header.element,vr=Qn.header.iconHolder,xr=Qn.header.headerTitle,Sr=Qn.header.headerSubtitle,_r=Qn.header.closeButton,wt=oe?.layout,Yf()}else if(oe){if(vr&&(vr.style.display=oe.showIcon===!1?`none`:``),xr&&(xr.style.display=oe.showTitle===!1?`none`:``),Sr&&(Sr.style.display=oe.showSubtitle===!1?`none`:``),_r){let e=M()&&oe.showCloseButton!==!1;_r.style.display=e?``:`none`}if(I.clearChatButtonWrapper){let e=oe.showClearChat;if(e!==void 0){I.clearChatButtonWrapper.style.display=e?``:`none`;let{closeButtonWrapper:t}=I;t&&!t.classList.contains(`persona-absolute`)&&(e?t.classList.remove(`persona-ml-auto`):t.classList.add(`persona-ml-auto`))}}}let se=$t(a);Cr&&(Cr.style.display=se?``:`none`);let ce=a.layout?.showFooter!==!1;H&&(H.style.display=ce?``:`none`),vi(),Du(),vt===Ct?yt!==St&&Pd(yt,`auto`):vt?Pd(yt,`auto`):(N=!0,Nd()),St=yt,Ct=vt,Zm(),sh();let le=JSON.stringify(a.messageActions)!==JSON.stringify(c),ue=JSON.stringify(a.layout?.messages)!==JSON.stringify(l)||a.layout?.messages?.renderAssistantMessage!==l?.renderAssistantMessage||a.layout?.messages?.renderUserMessage!==l?.renderUserMessage,de=a.iterationDisplay!==d,fe=(a.features?.showReasoning??!0)!==(f??!0)||(a.features?.showToolCalls??!0)!==(p??!0)||JSON.stringify(a.features?.toolCallDisplay)!==JSON.stringify(m)||JSON.stringify(a.features?.reasoningDisplay)!==JSON.stringify(h)||g()!==_;(a.future?.v5Defaults===!0!==i||`toolCall`in t||le||ue||`loadingIndicator`in t||de||fe||`turnActivity`in t||`loadingLabel`in t||`expansion`in t||`errorDisplay`in t||`theme`in t||`darkTheme`in t||`approval`in t||a.colorScheme!==u||`askUserQuestion`in(t.features??{})||`features`in t&&t.features===void 0)&&Z&&(Zc++,xd(z,Z.getMessages(),nn));let me=a.features?.streamAnimation?.type;if(me!==v&&me&&me!==`none`){let t=Js(me,a.features?.streamAnimation?.plugins);t&&un(t,e)}let he=a.launcher??{},ge=he.headerIconHidden??!1,_e=a.layout?.header?.showIcon,ve=ge||_e===!1,ye=he.headerIconName,Se=he.headerIconSize??`40px`;if(vr){let e=Cr,t=e?.querySelector(`.persona-flex-col`);if(ve)vr.style.display=`none`,e&&t&&!e.contains(t)&&e.insertBefore(t,e.firstChild);else{if(vr.style.display=``,vr.style.height=Se,vr.style.width=Se,e&&t&&(e.contains(vr)?vr.nextSibling!==t&&(vr.remove(),e.insertBefore(vr,t)):e.insertBefore(vr,t)),ye){let e=parseFloat(Se)||24,t=T(ye,e*.6,`currentColor`,1);t?(t.style.width=`calc(${e}px * var(--persona-components-header-iconScale, 0.6))`,t.style.height=`calc(${e}px * var(--persona-components-header-iconScale, 0.6))`,vr.replaceChildren(t)):vr.textContent=he.agentIconText??`💬`}else if(he.iconUrl){let e=vr.querySelector(`img`);if(e)e.src=he.iconUrl,e.style.height=Se,e.style.width=Se;else{let e=document.createElement(`img`);e.src=he.iconUrl,e.alt=``,e.className=`persona-rounded-xl persona-object-cover`,e.style.height=Se,e.style.width=Se,vr.replaceChildren(e)}}else{let e=vr.querySelector(`svg`),t=vr.querySelector(`img`);(e||t)&&vr.replaceChildren(),vr.textContent=he.agentIconText??`💬`}let n=vr.querySelector(`img`);n&&(n.style.height=Se,n.style.width=Se)}}let Ce=a.layout?.header?.showTitle,we=a.layout?.header?.showSubtitle;if(xr&&(xr.style.display=Ce===!1?`none`:``),Sr&&(Sr.style.display=we===!1?`none`:``),_r){let e=M()&&a.layout?.header?.showCloseButton!==!1;_r.style.display=e?``:`none`;let t=he.closeButtonPlacement??`inline`,{closeButtonWrapper:n}=I,r=t===`top-right`,i=n?.classList.contains(`persona-absolute`);if(n&&r!==i){if(n.remove(),r){n.className=`persona-absolute persona-top-4 persona-right-4 persona-z-50`;let e=$?.railColumn??L;e.style.position=`relative`,e.appendChild(n)}else{let e=he.clearChat?.placement??`inline`;n.className=(he.clearChat?.enabled??!0)&&e===`inline`?``:`persona-ml-auto`,Cr&&Cr.appendChild(n)}}hs(_r,a,`close`,{buttonSize:j()?_r.style.width:void 0,iconSize:j()?zc:void 0});let o=he.closeButtonTooltipText??`Close chat`,s=he.closeButtonShowTooltip??!0;_r.setAttribute(`aria-label`,o),n&&Ee({anchor:_r,trigger:n,text:()=>_r?.getAttribute(`aria-label`)??o,enabled:s})}let{clearChatButton:Te,clearChatButtonWrapper:De}=I;if(Te){let e=he.clearChat??{},t=e.enabled??!0,n=a.layout?.header?.showClearChat,r=n===void 0?t:n,i=e.placement??`inline`;if(De){De.style.display=r?``:`none`;let{closeButtonWrapper:e}=I;!j()&&e&&!e.classList.contains(`persona-absolute`)&&(r?e.classList.remove(`persona-ml-auto`):e.classList.add(`persona-ml-auto`));let t=i===`top-right`,n=De.classList.contains(`persona-absolute`);if(!j()&&t!==n&&r){if(De.remove(),t){De.className=`persona-absolute persona-top-4 persona-z-50`,De.style.right=`48px`;let e=$?.railColumn??L;e.style.position=`relative`,e.appendChild(De)}else{De.className=`persona-relative persona-ml-auto persona-clear-chat-button-wrapper`,De.style.right=``;let e=I.closeButtonWrapper;Cr&&e&&e.parentElement===Cr?Cr.insertBefore(De,e):Cr&&Cr.appendChild(De)}let e=I.closeButtonWrapper;e&&!e.classList.contains(`persona-absolute`)&&(t?e.classList.add(`persona-ml-auto`):e.classList.remove(`persona-ml-auto`))}}if(r){hs(Te,a,`clear`,{buttonSize:j()?Te.style.width:void 0,iconSize:j()?Bc:void 0});let t=e.tooltipText??`Clear chat`,n=e.showTooltip??!0;Te.setAttribute(`aria-label`,t),De&&Ee({anchor:Te,trigger:De,text:()=>Te?.getAttribute(`aria-label`)??t,enabled:n})}}let Oe=a.actionParsers&&a.actionParsers.length?a.actionParsers:[cu],ke=a.actionHandlers&&a.actionHandlers.length?a.actionHandlers:[uu.message,uu.messageAndClick];ut=fu({parsers:Oe,handlers:ke,getSessionMetadata:it,updateSessionMetadata:st,emit:O.emit,captureResubmitGuard:()=>{let e=At;return()=>Mt(e)},documentRef:typeof document<`u`?document:null}),nn=Ku(a,ut,Rt),Ef(),Z.updateConfig(a),vp(),(a.features?.history?.enabled===!0!==x||a.features?.history?.provider!==S||a.getIdentityProof!==C||a.clientToken!==ee)&&($?.closeHistory({restoreFocus:!1}),(a.getIdentityProof!==C||a.clientToken!==ee)&&$?.discardConversationContinuity(),$?.installHistoryProvider()),$?.syncHistoryChromeImpl(),dp(),Wf()&&!$&&lp().catch(()=>{}),xd(z,Z.getMessages(),nn),Sc(),hf(),mf(),Wd(Z.isStreaming()),te!==a.contextMentions&&mh();let Ae=a.voiceRecognition?.enabled===!0&&a.voiceRecognition.showButton!==!1,je=typeof window<`u`&&(window.webkitSpeechRecognition!==void 0||window.SpeechRecognition!==void 0),Me=Er(a.voiceRecognition?.provider),Ne=je||Me||a.voiceRecognition?.dictation?.provider?.type===`custom`;if(Ae&&Ne){if(!U||!Br){let e=xe(a);if(e){U=e.button,Br=e.wrapper;let t=Ir&&Ir.parentElement===Fr?Ir:null;Fr?Fr.insertBefore(Br,t):sr?.appendChild(Br),J&&(J.micButton=U),J?.addListener(U,`click`,km),U.disabled=Id()||Z.isStreaming()&&!Ld()}}else{let e=a.voiceRecognition??{},t=U.getAttribute(`data-state`);be(U,a,t===`recording`||t===`processing`||t===`speaking`?t:`idle`,Z.getVoiceInterruptionMode());let n=e.tooltipText??`Start voice recognition`,r=e.showTooltip??!1;t===`idle`&&U.setAttribute(`aria-label`,n),Br&&Ee({anchor:U,trigger:Br,text:()=>U?.getAttribute(`aria-label`)??n,enabled:r}),Br.style.display=``,U.disabled=Id()||Z.isStreaming()&&!Ld()}}else U&&Br&&(Br.style.display=`none`,a.voiceRecognition?.enabled===!0&&Ne||(Er(a.voiceRecognition?.provider)?Z.isVoiceActive()&&Z.toggleVoice():fm&&Sm()));if(Rm(),a.attachments?.enabled===!0){if(!Hr||!Vr){let e=a.attachments??{};Gr||(Gr=A(`div`,`persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2`),Gr.style.display=`none`,(B.parentElement??sr).insertBefore(Gr,B)),Wr||(Wr=document.createElement(`input`),Wr.type=`file`,Wr.accept=(e.allowedTypes??Pt).join(`,`),Wr.multiple=(e.maxFiles??4)>1,Wr.style.display=`none`,Wr.setAttribute(`aria-label`,`Attach files`),(B.parentElement??sr).insertBefore(Wr,B)),Hr=A(`div`,`persona-send-button-wrapper`),Vr=A(`button`,`persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-attachment-button ${Yt} ${Jt}`),Vr.type=`button`,Vr.setAttribute(`aria-label`,e.buttonTooltipText??`Attach file`);let t=e.buttonIconName??`paperclip`;Vr.style.fontSize=`18px`,Vr.style.lineHeight=`1`;let n=T(t,24,`currentColor`,1.5);n?Vr.appendChild(n):Vr.textContent=`📎`,Vr.addEventListener(`click`,e=>{e.preventDefault(),Wr?.click()}),Hr.appendChild(Vr);let r=e.buttonTooltipText??`Attach file`;Ee({anchor:Vr,trigger:Hr,text:()=>Vr?.getAttribute(`aria-label`)??r}),Or?Or.append(Hr):sr.appendChild(Hr),J&&(J.attachmentButton=Vr,J.attachmentInput=Wr??void 0,J.attachmentPreviews=Gr??void 0),!W&&Wr&&Gr&&(W=Pi(),W.setPreviewsContainer(Gr),J?.addListener(Wr,`change`,async()=>{W&&Wr?.files&&(await W.handleFileSelect(Wr.files),Wr.value=``)}))}else{Hr.style.display=``;let e=a.attachments??{};Wr&&(Wr.accept=(e.allowedTypes??Pt).join(`,`),Wr.multiple=(e.maxFiles??4)>1)}if(L.querySelector(`.persona-attachment-drop-overlay`)?.remove(),L.appendChild(qu(a.attachments?.dropOverlay)),Vr){let e=a.attachments??{},t=e.buttonTooltipText??`Attach file`;Vr.setAttribute(`aria-label`,t),Vr.textContent=``;let n=T(e.buttonIconName??`paperclip`,24,`currentColor`,1.5);n?Vr.appendChild(n):Vr.textContent=`📎`,Hr&&Ee({anchor:Vr,trigger:Hr,text:()=>Vr?.getAttribute(`aria-label`)??t})}}else Hr&&(Hr.style.display=`none`),W&&W.clearAttachments(),L.querySelector(`.persona-attachment-drop-overlay`)?.remove();let Pe=a.sendButton?.tooltipText??`Send message`,Fe=a.sendButton?.showTooltip??!1;pe(or,a),Z.isStreaming()||or.setAttribute(`aria-label`,Pe),Vd(),Ir&&Ee({anchor:or,trigger:Ir,text:()=>or.getAttribute(`aria-label`)??Pe,enabled:Fe});let Ie=/* @__PURE__ */ new Set([W,...Array.from(Qf.values(),e=>e.attachments)]);for(let e of Ie)e?.updateConfig(Ti());`plugins`in t&&W?.remountPreviews(Gr),Ua(),Vs();let Le=Gt(K.getState().activeModeIds,a.composer?.modes);K.setActiveModeIds(Le),Li().length>0!=!!Hi&&Fa(),Hi?.render(Le,Li()),Vi?.repaint(),Aa?Aa.resolve():Pa();let Re=bo(a,j());if(As(),Re){z.style.maxWidth=Re,z.style.marginLeft=`auto`,z.style.marginRight=`auto`,z.style.width=`100%`,ur.style.maxWidth=Re,ur.style.marginLeft=`auto`,ur.style.marginRight=`auto`,ur.style.width=`100%`;for(let e of[sr,ar,Gr,V])e&&(e.style.maxWidth=Re,e.style.marginLeft=`auto`,e.style.marginRight=`auto`,e.style.width=`100%`)}else{z.style.maxWidth=``,z.style.marginLeft=``,z.style.marginRight=``,z.style.width=``,ur.style.maxWidth=``,ur.style.marginLeft=``,ur.style.marginRight=``,ur.style.width=``;for(let e of[sr,ar,Gr,V])e&&(e.style.maxWidth=``,e.style.marginLeft=``,e.style.marginRight=``,e.style.width=``)}let ze=a.statusIndicator??{};if(re(V,sr,ze),E(V,ze,Z?.getStatus()??`idle`),Z){let e=Z.getStatus();Zn(V,(e=>e===`idle`?ze.idleText??We.idle:e===`connecting`?ze.connectingText??We.connecting:e===`connected`?ze.connectedText??We.connected:e===`error`?ze.errorText??We.error:e===`paused`?ze.pausedText??We.paused:e===`resuming`?ze.resumingText??We.resuming:We[e])(e),ze,e)}V.classList.remove(`persona-text-left`,`persona-text-center`,`persona-text-right`);let Be=ze.align===`left`?`persona-text-left`:ze.align===`center`?`persona-text-center`:`persona-text-right`;V.classList.add(Be),Ca(),Ud(),Ha(),Vn(),Ga(a.layout?.slots??{}),sm()&&Id()&&cm(),$p?.refresh(),Ya.update(),Lh()},open(){M()&&Pd(!0,`api`)},close(){M()&&Pd(!1,`api`)},toggle(){M()&&Pd(!N,`api`)},reconnect(){Z.reconnectNow()},clearChat(){cm(),qc(),Oo=!1,u?.clear(),ao(),f.clear(),p.clear(),m.clear(),Z.clearMessages(),a.layout?.topFade&&(R.scrollTop=0),R.removeAttribute(`data-persona-top-fade`),jc.clear(),Mu();try{localStorage.removeItem(Iu),a.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${Iu}`)}catch(e){console.error(`[AgentWidget] Failed to clear default localStorage:`,e)}if(a.clearChatHistoryStorageKey&&a.clearChatHistoryStorageKey!==Iu)try{localStorage.removeItem(a.clearChatHistoryStorageKey),a.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${a.clearChatHistoryStorageKey}`)}catch(e){console.error(`[AgentWidget] Failed to clear custom localStorage:`,e)}let e=new CustomEvent(`persona:clear-chat`,{detail:{instanceId:r,timestamp:(/* @__PURE__ */ new Date()).toISOString()}});window.dispatchEvent(e),Ql(),Fe?.clear&&zl(()=>Fe.clear(),`[AgentWidget] Failed to clear storage adapter:`),Ve={},ut.syncFromMetadata(),op(Z.getActiveConversationId(),!0,!1),Ep(),Ql(),Yi(void 0),Wi(void 0),Xc(),Tn?.clear(),En?.reset(),jn?.update()},setMessage(e){return!B||sm()||Z.isStreaming()||Id()?!1:(!N&&M()&&Pd(!0,`system`),B.value=e,B.dispatchEvent(new Event(`input`,{bubbles:!0})),!0)},submitMessage(e){if(Z.isStreaming()||sm()||Rd())return!1;let t=e?.trim()||B.value.trim();return t?(!N&&M()&&Pd(!0,`system`),B.value=``,B.style.height=`auto`,Si(),Bp(t,{consumeDraft:!1}),!0):!1},getComposerState(){return K.getState()},setComposerModes(e){zi(Vt(e,Ii(),a.composer?.modeGroups))},setQuote(e){let t=e?.text?.trim();t&&Wi({...e,text:t})},clearQuote(){Wi(void 0)},startDictation:um,finishDictation:()=>lm(),cancelDictation:()=>{let e=tm;return cm()||e},sendDictation:()=>!a.voiceRecognition?.dictation?.showSend||Rd()?!1:lm(!0),getDictationState:()=>nm??$p?.getState()??am,startVoiceRecognition(){return Z.isStreaming()||sm()?!1:om()&&!a.voiceRecognition?.dictation?.provider&&a.voiceRecognition?.provider?.type!==`runtype`?um():Er(a.voiceRecognition?.provider)?(Z.isVoiceActive()||Z.isBargeInActive()||(!N&&M()&&Pd(!0,`system`),Q.manuallyDeactivated=!1,Ml(),Z.toggleVoice().then(()=>{Q.active=kl(),Ml(),jl(`user`),Q.active&&Tm()})),!0):fm?!0:bm()?(!N&&M()&&Pd(!0,`system`),Q.manuallyDeactivated=!1,Ml(),xm(`user`),!0):!1},stopVoiceRecognition(){return sm()?lm():Er(a.voiceRecognition?.provider)?!Z.isVoiceActive()&&!Z.isBargeInActive()?!1:((Z.isBargeInActive()?Z.deactivateBargeIn():Z.toggleVoice()).then(()=>{Q.active=!1,Q.manuallyDeactivated=!0,Ml(),jl(`user`),Om()}),!0):fm?(Q.manuallyDeactivated=!0,Ml(),Sm(`user`),!0):!1},injectMessage(e){return!N&&M()&&Pd(!0,`system`),Z.injectMessage(e)},injectAssistantMessage(e){!N&&M()&&Pd(!0,`system`);let t=Z.injectAssistantMessage(e);return It&&(It=!1,Lt&&=(clearTimeout(Lt),null),Ft()),t},injectUserMessage(e){return!N&&M()&&Pd(!0,`system`),Z.injectUserMessage(e)},injectSystemMessage(e){return!N&&M()&&Pd(!0,`system`),Z.injectSystemMessage(e)},injectMessageBatch(e){return!N&&M()&&Pd(!0,`system`),Z.injectMessageBatch(e)},injectComponentDirective(e){return!N&&M()&&Pd(!0,`system`),Z.injectComponentDirective(e)},updateComponentProps(e,t){return Z.updateComponentProps(e,t)},removeComponentMessage(e){return Z.removeComponentMessage(e)},injectTestMessage(e){!N&&M()&&Pd(!0,`system`),Z.injectTestEvent(e)},async connectStream(e,t){return Z.connectStream(e,t)},__pushEventStreamEvent(e){_n&&(Rn(),Ln(e.type,e.payload))},showEventStream(){_n&&ta()},hideEventStream(){Mn&&ra()},isEventStreamVisible(){return Mn},listConversations(e){return Z.listConversations(e)},getActiveConversationId(){return Z.getActiveConversationId()},openConversation(e,t){return up(n=>n.openHistoryConversation(e,{focusComposer:t?.focus===!0,busy:t?.busy}))},startNewConversation(e){return up(t=>t.startNewConversation({focusComposer:e?.focus===!0}))},warmSession(){fp()},deleteConversation(e){return up(t=>t.deleteHistoryConversation(e))},renameConversation(e,t){return up(n=>n.updateHistoryConversation(e,{title:t}))},setConversationStarred(e,t){return up(n=>n.updateHistoryConversation(e,{starred:t}))},clearConversationHistory(e){return up(t=>t.clearConversationHistory(e))},resetHistoryIdentity(){return up(e=>e.resetHistoryIdentity())},async getVisitorToken(){let e=Cf;if(!e)return null;let t=await e.get();return e===Cf?t:null},getHistoryIdentityStatus(){let e=$?.historyProvider;return e?e.getIdentityStatus():Wf()?{state:`unavailable`,reason:`ineligible_mode`}:{state:`unavailable`,reason:`history_disabled`}},showHistory(e){return Wf()?up(t=>t.openHistory({...e?.returnSurface?{returnSurface:e.returnSurface}:{},...e?.focus===void 0?{}:{focus:e.focus}})):Promise.resolve()},hideHistory(e){$?.closeHistory(e?.restoreFocus===void 0?void 0:{restoreFocus:e.restoreFocus})},isHistoryVisible(){return zn},showArtifacts(){Le(a)&&(Oo=!1,Ro=!0,Es(),Y?.setMobileOpen(!0))},hideArtifacts(){Le(a)&&(Oo=!0,Es())},upsertArtifact(e){return Le(a)?(bt(a.features?.artifacts,{artifactType:e.artifactType,...e.artifactType===`markdown`&&e.file?{file:e.file}:{},...e.presentation?{presentation:e.presentation}:{}})===`panel`&&(Oo=!1,Ro=!0),Z.upsertArtifact(e)):null},selectArtifact(e){Le(a)&&Z.selectArtifact(e)},clearArtifacts(){Le(a)&&Z.clearArtifacts()},getArtifacts(){return Z?.getArtifacts()??[]},getSelectedArtifactId(){return Z?.getSelectedArtifactId()??null},focusInput(){return vt&&!N&&!j()||!B?!1:(B.focus(),!0)},revealToolCall(e,t={}){let n=Array.from(R.querySelectorAll(`.persona-tool-bubble[data-tool-call-id]`)).find(t=>t.dataset.toolCallId===e);if(!n)return!1;let r=e=>Array.from(e.querySelectorAll(`button[data-expand-header="true"]`)).find(t=>t.closest(`.persona-tool-bubble`)===e),i=e=>{e?.getAttribute(`aria-expanded`)===`false`&&$a(e)},a=[];for(let e=n.parentElement?.closest(`.persona-tool-bubble`);e;e=e.parentElement?.closest(`.persona-tool-bubble`))a.unshift(e);a.forEach(e=>i(r(e)));let o=r(n);t.expand!==!1&&i(o),yl(),Ju.cancel(),Ou();let s=ro,c=o??n,l=()=>!jt&&s===ro&&R.contains(c),u=typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,d=()=>{let e=_i(c)-(R.clientHeight-c.offsetHeight)/2;return Math.max(0,Math.min(e,Ye(R)))},f=()=>{l()&&(u?(tu(),rl=!0,R.scrollTop=d(),$c=R.scrollTop,rl=!1):zu(R,d,200,l))};window.clearTimeout(no),f(),no=window.setTimeout(()=>{no=void 0,f()},200);let p=t.highlightMs??2e3;if(p>0){let e=n.dataset.messageId;window.clearTimeout(to.get(e)),to.set(e,window.setTimeout(()=>{to.delete(e),io()},p)),n.setAttribute(`data-persona-revealed`,``)}return!0},async resolveApproval(e,t,n){let r=Z.getMessages().find(t=>t.variant===`approval`&&t.approval?.id===e);if(!r?.approval)throw Error(`Approval not found: ${e}`);if(ot(r.approval))Z.resolveWebMcpApproval(r.id,t);else return Z.resolveApproval(r.approval,t,n)},setFollowUpSuggestions(e){Oc(e)},clearFollowUpSuggestions(){Dc()},getMessages(){return Z.getMessages()},getStatus(){return Z.getStatus()},getPersistentMetadata(){return{...Ve}},updatePersistentMetadata(e){st(e)},on(e,t){return O.on(e,t)},off(e,t){O.off(e,t)},isOpen(){return M()&&N},isVoiceActive(){return Q.active},toggleReadAloud(e){Z.toggleReadAloud(e)},stopReadAloud(){Z.stopSpeaking()},getReadAloudState(e){return Z.getReadAloudState(e)},onReadAloudChange(e){return Z.onReadAloudChange(e)},getState(){return{open:M()&&N,launcherEnabled:vt,voiceActive:Q.active,streaming:Z.isStreaming()}},showCSATFeedback(e){kh(()=>Pu({onSubmit:async(t,n)=>{Z.isClientTokenMode()&&await Z.submitCSATFeedback(t,n),e?.onSubmit?.(t,n)},onDismiss:e?.onDismiss,...e}))},showNPSFeedback(e){kh(()=>Fu({onSubmit:async(t,n)=>{Z.isClientTokenMode()&&await Z.submitNPSFeedback(t,n),e?.onSubmit?.(t,n)},onDismiss:e?.onDismiss,...e}))},async submitCSATFeedback(e,t){return Z.submitCSATFeedback(e,t)},async submitNPSFeedback(e,t){return Z.submitNPSFeedback(e,t)},destroy(){jt=!0,Nt(),o.destroy(),Ya.destroy(),e.removeEventListener(`click`,Xa),Lf(),X.forEach(e=>e()),Df!=null&&(clearInterval(Df),Df=null),u?.destroy(),l?.destroy(),ao(),f.clear(),p.clear(),m.clear(),O.dispose(),P.remove(),er?.remove(),Km?.destroy(),qm?.remove(),tc&&_r.removeEventListener(`click`,tc)}};if(((n?.debugTools??!1)||a.debug)&&typeof window<`u`){let e=window.AgentWidgetBrowser,t={controller:Ph,getMessages:Ph.getMessages,getStatus:Ph.getStatus,getMetadata:Ph.getPersistentMetadata,updateMetadata:Ph.updatePersistentMetadata,clearHistory:()=>Ph.clearChat(),setVoiceActive:e=>e?Ph.startVoiceRecognition():Ph.stopVoiceRecognition()};window.AgentWidgetBrowser=t,X.push(()=>{window.AgentWidgetBrowser===t&&(window.AgentWidgetBrowser=e)})}if(typeof window<`u`){let e=(e,t)=>{let n=e=>{let n=e.detail;n?.instanceId&&n.instanceId!==r||t(n)};window.addEventListener(e,n),X.push(()=>window.removeEventListener(e,n))};e(`persona:focusInput`,()=>Ph.focusInput()),_n&&(e(`persona:showEventStream`,()=>Ph.showEventStream()),e(`persona:hideEventStream`,()=>Ph.hideEventStream())),e(`persona:showHistory`,()=>Ph.showHistory()),e(`persona:hideHistory`,()=>Ph.hideHistory()),e(`persona:showArtifacts`,()=>Ph.showArtifacts()),e(`persona:hideArtifacts`,()=>Ph.hideArtifacts()),e(`persona:upsertArtifact`,e=>{e?.artifact&&Ph.upsertArtifact(e.artifact)}),e(`persona:selectArtifact`,e=>{typeof e?.id==`string`&&Ph.selectArtifact(e.id)}),e(`persona:clearArtifacts`,()=>Ph.clearArtifacts())}let Fh=Hu(a.persistState);if(Fh&&M()){let t=Uu(Fh.storage),n=`${Fh.keyPrefix}widget-open`,i=`${Fh.keyPrefix}widget-voice`,a=`${Fh.keyPrefix}widget-voice-mode`;if(t){let o=Fh.persist?.openState&&t.getItem(n)===`true`,s=Fh.persist?.voiceState&&t.getItem(i)===`true`,c=Fh.persist?.voiceState&&t.getItem(a)===`true`;if(o&&(Km?.setPanelOpen(!0,`auto`),setTimeout(()=>{Ph.open(),setTimeout(()=>{if(s||c)Ph.startVoiceRecognition();else if(Fh.persist?.focusInput){let t=e.querySelector(`textarea`);t&&t.focus()}},100)},0)),Fh.persist?.openState&&(O.on(`widget:opened`,()=>{t.setItem(n,`true`)}),O.on(`widget:closed`,()=>{t.setItem(n,`false`)})),Fh.persist?.voiceState&&(O.on(`voice:state`,e=>{t.setItem(i,e.active?`true`:`false`)}),O.on(`user:message`,e=>{t.setItem(a,e.viaVoice?`true`:`false`)})),Fh.clearOnChatClear){let e=()=>{t.removeItem(n),t.removeItem(i),t.removeItem(a)},o=t=>{t.detail?.instanceId===r&&e()};window.addEventListener(`persona:clear-chat`,o),X.push(()=>{window.removeEventListener(`persona:clear-chat`,o)})}}}nt&&M()&&(Km?.setPanelOpen(!0,`auto`),setTimeout(()=>{Ph.open()},0)),jd(),ye=()=>{Z&&(Zc++,jc.clear(),xd(z,Z.getMessages(),nn))},Z.getMessages().length>0&&bd(),Oe=ye;let Ih=mr(()=>{ye?.(),pr()?.updateInlineArtifactBlocks(z,Do.artifacts,{suppressTransition:!0}),Es()});X.push(Ih);let Lh=()=>{let t=Ar(a);Ah||t.push(...n?.preparation??[]),Wf()&&!$&&t.push(lp()),!t.length&&!e.hasAttribute(`data-persona-preparing`)?Ah=!0:o.prepare(t,()=>{Aa||Pa(),Hi||Fa(),d(),qn()?.ensureComposerActionStyles(e),pr()?.ensureArtifactStyles(e),ye?.(),Ah=!0})};return Lh(),Ph},Zu=(e,t)=>{let n=e.trim(),r=/^(\d+(?:\.\d+)?)px$/i.exec(n);if(r)return Math.max(0,parseFloat(r[1]));let i=/^(\d+(?:\.\d+)?)%$/i.exec(n);return i?Math.max(0,t*parseFloat(i[1])/100):420},Qu=(e,t)=>{t===!1?e.style.maxHeight=``:(e.style.maxHeight=`100vh`,e.style.maxHeight=t)},$u=(e,t)=>{t===!1?(e.style.position=`relative`,e.style.top=``):(e.style.position=`sticky`,e.style.top=`0`)},ed=(e,t)=>{let n=e.parentElement;if(!n)return;let r=e.ownerDocument.createElement(`div`);r.style.cssText=`width:0;height:1px;margin:0;padding:0;border:0;visibility:hidden;`,n.appendChild(r);let i=r.offsetHeight>0;r.style.height=`100%`;let a=r.offsetHeight>0;r.remove(),i&&!a&&console.warn(`[AgentWidget] Docked mode: no ancestor of the dock target provides a definite height, so the dock panel cannot size to your layout.`+(t.maxHeight===!1?` The viewport guard is disabled (dock.maxHeight: false), so the panel will grow with the conversation and overflow the viewport.`:` Falling back to clamping the panel to ${t.maxHeight} (configurable via launcher.dock.maxHeight).`)+" To size the panel from your layout instead, give the height chain a definite height (e.g. `html, body { height: 100% }`) down to the dock target's parent.")},td=(e,t)=>{let n=t?.launcher?.enabled??!0;e.className=`persona-host`,e.style.height=n?``:`100%`,e.style.display=n?``:`flex`,e.style.flexDirection=n?``:`column`,e.style.flex=n?``:`1 1 auto`,e.style.minHeight=n?``:`0`,e.style.minWidth=n?``:`0`},nd=e=>{e.style.position=``,e.style.top=``,e.style.bottom=``,e.style.left=``,e.style.right=``,e.style.zIndex=``,e.style.transform=``,e.style.pointerEvents=``},rd=e=>{e.style.inset=``,e.style.width=``,e.style.height=``,e.style.maxWidth=``,e.style.maxHeight=``,e.style.minWidth=``,nd(e)},id=e=>{e.style.transition=``},ad=e=>{e.style.display=``,e.style.flexDirection=``,e.style.flex=``,e.style.minHeight=``,e.style.minWidth=``,e.style.width=``,e.style.height=``,e.style.alignItems=``,e.style.transition=``,e.style.transform=``,e.style.marginLeft=``},od=e=>{e.style.width=``,e.style.maxWidth=``,e.style.minWidth=``,e.style.flex=`1 1 auto`},sd=(e,t)=>{e.style.width=``,e.style.minWidth=`0`,e.style.maxWidth=``,e.style.boxSizing=``,t.style.alignItems=``},cd=(e,t,n,r,i)=>{i?n.parentElement!==t&&(e.replaceChildren(),t.replaceChildren(n,r),e.appendChild(t)):n.parentElement===t&&(t.replaceChildren(),e.appendChild(n),e.appendChild(r))},ld=(e,t,n,r,i,a)=>{let o=a?t:e;i===`left`?o.firstElementChild!==r&&o.replaceChildren(r,n):o.lastElementChild!==r&&o.replaceChildren(n,r)},ud=e=>{let t=mo(e),n=t.components?.panel,r=(e,n)=>e==null||e===``?n:Ra(t,e)??e;return{inset:r(n?.inset,Ca),canvasBackground:r(n?.canvasBackground,wa)}},dd=(e,t,n,r)=>{t?(e.style.boxSizing=`border-box`,e.style.padding=n,e.style.background=r):(e.style.padding=``,e.style.background=``,e.style.boxSizing=``)},fd=(e,t,n,r,i,a,o,s)=>{let c=ts(a),l=c.reveal===`push`,u=s!=null,d=s?.inset??``,f=s?.canvasBackground??``;cd(e,t,n,r,l),ld(e,t,n,r,c.side,l),e.dataset.personaHostLayout=`docked`,e.dataset.personaDockSide=c.side,e.dataset.personaDockOpen=o?`true`:`false`,e.style.width=`100%`,e.style.maxWidth=`100%`,e.style.minWidth=`0`,e.style.height=`100%`,e.style.minHeight=`0`,e.style.position=`relative`,n.style.display=`flex`,n.style.flexDirection=`column`,n.style.minHeight=`0`,n.style.position=`relative`,i.className=`persona-host`,i.style.height=`100%`,i.style.minHeight=`0`,i.style.minWidth=`0`,i.style.display=`flex`,i.style.flexDirection=`column`,i.style.flex=`1 1 auto`;let p=e.ownerDocument.defaultView,m=a?.launcher?.mobileFullscreen??!0,h=a?.launcher?.mobileBreakpoint??640,g=p!=null&&p.innerWidth<=h;if(m&&g&&o)e.dataset.personaDockMobileFullscreen=`true`,e.removeAttribute(`data-persona-dock-reveal`),ad(t),id(r),rd(r),od(n),sd(i,r),dd(r,!1,``,``),e.style.display=`flex`,e.style.flexDirection=`column`,e.style.alignItems=`stretch`,e.style.overflow=`hidden`,n.style.flex=`1 1 auto`,n.style.width=`100%`,n.style.minWidth=`0`,r.style.display=`flex`,r.style.flexDirection=`column`,r.style.position=`fixed`,r.style.inset=`0`,r.style.width=`100%`,r.style.height=`100%`,r.style.maxWidth=`100%`,r.style.minWidth=`0`,r.style.minHeight=`0`,r.style.overflow=`hidden`,r.style.zIndex=String(a?.launcher?.zIndex??1e5),r.style.transform=`none`,r.style.transition=`none`,r.style.pointerEvents=`auto`,r.style.flex=`none`,l&&(t.style.display=`flex`,t.style.flexDirection=`column`,t.style.width=`100%`,t.style.height=`100%`,t.style.minHeight=`0`,t.style.minWidth=`0`,t.style.flex=`1 1 auto`,t.style.alignItems=`stretch`,t.style.transform=`none`,t.style.marginLeft=`0`,t.style.transition=`none`,n.style.flex=`1 1 auto`,n.style.width=`100%`,n.style.maxWidth=`100%`,n.style.minWidth=`0`);else if(e.removeAttribute(`data-persona-dock-mobile-fullscreen`),rd(r),Qu(r,c.maxHeight),dd(r,u&&o,d,f),c.reveal===`overlay`){e.style.display=`flex`,e.style.flexDirection=`row`,e.style.alignItems=`stretch`,e.style.overflow=`hidden`,e.dataset.personaDockReveal=`overlay`,ad(t),id(r),od(n),sd(i,r);let a=c.animate?`transform 180ms ease`:`none`,s=c.side===`right`?`translateX(100%)`:`translateX(-100%)`,l=o?`translateX(0)`:s;r.style.display=`flex`,r.style.flexDirection=`column`,r.style.flex=`none`,r.style.position=`absolute`,r.style.top=`0`,r.style.bottom=`0`,r.style.width=c.width,r.style.maxWidth=c.width,r.style.minWidth=c.width,r.style.minHeight=`0`,r.style.overflow=`hidden`,r.style.transition=a,r.style.transform=l,r.style.pointerEvents=o?`auto`:`none`,r.style.zIndex=`2`,c.side===`right`?(r.style.right=`0`,r.style.left=``):(r.style.left=`0`,r.style.right=``)}else if(c.reveal===`push`){e.style.display=`flex`,e.style.flexDirection=`row`,e.style.alignItems=`stretch`,e.style.overflow=`hidden`,e.dataset.personaDockReveal=`push`,id(r),nd(r),sd(i,r);let a=Zu(c.width,e.clientWidth),s=Math.max(0,e.clientWidth),l=c.animate?`margin-left 180ms ease`:`none`,u=c.side===`right`?o?-a:0:o?0:-a;t.style.display=`flex`,t.style.flexDirection=`row`,t.style.flex=`0 0 auto`,t.style.minHeight=`0`,t.style.minWidth=`0`,t.style.alignItems=`stretch`,t.style.height=`100%`,t.style.width=`${s+a}px`,t.style.transition=l,t.style.marginLeft=`${u}px`,t.style.transform=``,n.style.flex=`0 0 auto`,n.style.flexGrow=`0`,n.style.flexShrink=`0`,n.style.width=`${s}px`,n.style.maxWidth=`${s}px`,n.style.minWidth=`${s}px`,r.style.display=`flex`,r.style.flexDirection=`column`,r.style.flex=`0 0 auto`,r.style.flexShrink=`0`,r.style.width=c.width,r.style.minWidth=c.width,r.style.maxWidth=c.width,r.style.position=`relative`,r.style.top=``,r.style.overflow=`hidden`,r.style.transition=`none`,r.style.pointerEvents=o?`auto`:`none`}else{e.style.display=`flex`,e.style.flexDirection=`row`,e.style.alignItems=`stretch`,e.style.overflow=``,ad(t),nd(r),od(n),sd(i,r);let a=c.reveal===`emerge`;a?e.dataset.personaDockReveal=`emerge`:e.removeAttribute(`data-persona-dock-reveal`);let s=o?c.width:`0px`,l=c.animate?`width 180ms ease, min-width 180ms ease, max-width 180ms ease, flex-basis 180ms ease${u?`, padding 180ms ease`:``}`:`none`,f=!o;if(r.style.display=`flex`,r.style.flexDirection=`column`,r.style.flex=`0 0 ${s}`,r.style.width=s,r.style.maxWidth=s,r.style.minWidth=s,r.style.minHeight=`0`,$u(r,c.maxHeight),r.style.overflow=a||f?`hidden`:`visible`,r.style.transition=l,a){r.style.alignItems=c.side===`right`?`flex-start`:`flex-end`;let t=u?`calc(${Zu(c.width,e.clientWidth)}px - (2 * ${d}))`:c.width;i.style.width=t,i.style.minWidth=t,i.style.maxWidth=t,i.style.boxSizing=`border-box`}}},pd=(e,t)=>{let n=e.ownerDocument.createElement(`div`);return td(n,t),e.appendChild(n),{mode:`direct`,host:n,shell:null,syncWidgetState:()=>{},updateConfig(e){td(n,e)},destroy(){n.remove()}}},md=(e,t)=>{let{ownerDocument:n}=e,r=e.parentElement;if(!r)throw Error(`Docked widget target must be attached to the DOM`);let i=e.tagName.toUpperCase();if(i===`BODY`||i===`HTML`)throw Error(`Docked widget target must be a concrete container element, not "body" or "html"`);let a=e.nextSibling,o=n.createElement(`div`),s=n.createElement(`div`),c=n.createElement(`div`),l=n.createElement(`aside`),u=n.createElement(`div`),d=t?.launcher?.enabled??!0?t?.launcher?.autoExpand??!1:!0;s.dataset.personaDockRole=`push-track`,c.dataset.personaDockRole=`content`,l.dataset.personaDockRole=`panel`,u.dataset.personaDockRole=`host`,l.appendChild(u),r.insertBefore(o,e),c.appendChild(e);let f=null,p=()=>{f?.disconnect(),f=null},m=null,h=()=>{m=t?.launcher?.detachedPanel===!0?ud(t):null};h();let g=()=>{fd(o,s,c,l,u,t,d,m)},_=null,v=()=>{_?.(),_=null,t?.launcher?.detachedPanel===!0&&t?.colorScheme===`auto`&&(_=yo(()=>{h(),g()}))},y=()=>{p(),ts(t).reveal===`push`&&typeof ResizeObserver<`u`&&(f=new ResizeObserver(()=>{g()}),f.observe(o))},b=!1,x=()=>{g(),y(),d&&!b&&o.dataset.personaDockMobileFullscreen!==`true`&&(b=!0,ed(o,ts(t)))},S=o.ownerDocument.defaultView,C=()=>{x()};return S?.addEventListener(`resize`,C),ts(t).reveal===`push`?(s.appendChild(c),s.appendChild(l),o.appendChild(s)):(o.appendChild(c),o.appendChild(l)),x(),v(),{mode:`docked`,host:u,shell:o,syncWidgetState(e){let t=!e.launcherEnabled||e.open;d!==t&&(d=t,x())},updateConfig(e){t=e,(t?.launcher?.enabled??!0)===!1&&(d=!0),h(),x(),v()},destroy(){S?.removeEventListener(`resize`,C),_?.(),_=null,p(),r.isConnected&&(a&&a.parentNode===r?r.insertBefore(e,a):r.appendChild(e)),o.remove()}}},hd=(e,t)=>$o(t)?md(e,t):pd(e,t),gd={desktop:{w:1280,h:800},mobile:{w:390,h:844}},_d=`persona-preview-shell-theme`,vd={load:()=>null,save:()=>{},clear:()=>{}},yd=[`How do I get started?`,`Pricing & plans`,`Talk to support`];function bd(e){return e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/</g,`<`).replace(/>/g,`>`)}function xd(e){return e===`dark`?{pageBg:`linear-gradient(180deg, #0f172a 0%, #020617 100%)`,chromeBg:`#111827`,chromeBorder:`#1f2937`,dot:`#475569`,skeleton:`#334155`,cardBg:`#1e293b`,cardBorder:`rgba(148, 163, 184, 0.16)`}:{pageBg:`linear-gradient(180deg, #ffffff 0%, #f8fafc 100%)`,chromeBg:`#ffffff`,chromeBorder:`#e5e7eb`,dot:`#cbd5e1`,skeleton:`#e2e8f0`,cardBg:`#e2e8f0`,cardBorder:`rgba(148, 163, 184, 0.18)`}}function Sd(e){let t=xd(e);return`* { box-sizing: border-box; }
|
|
118
118
|
html, body { margin: 0; padding: 0; height: 100%; overflow: hidden; }
|
|
119
119
|
html { color-scheme: ${e}; }
|
|
120
120
|
body { font-family: system-ui, sans-serif; background: ${t.pageBg}; }
|
|
@@ -138,7 +138,7 @@ import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,n as l,o a
|
|
|
138
138
|
.preview-workspace-content-shell { position: relative; z-index: 1; flex: 1 1 auto; min-height: 100%; padding: 24px; }
|
|
139
139
|
.preview-workspace-row { display: flex; gap: 16px; margin-top: 20px; }
|
|
140
140
|
.preview-workspace-card { flex: 1; min-width: 0; height: 168px; border-radius: 18px; background: ${t.cardBg}; box-shadow: inset 0 0 0 1px ${t.cardBorder}; }
|
|
141
|
-
.preview-workspace-card.short { height: 96px; }`}function
|
|
141
|
+
.preview-workspace-card.short { height: 96px; }`}function Cd(e,t){let n=e.contentDocument;if(!n?.documentElement)return;let r=n.getElementById(_d);r||(r=n.createElement(`style`),r.id=_d,n.head.appendChild(r)),r.textContent=Sd(t)}function wd(e,t,n,r){let i=`
|
|
142
142
|
|
|
143
143
|
<div class="preview-iframe-mock" aria-hidden="true">
|
|
144
144
|
<div class="preview-iframe-chrome">
|
|
@@ -191,16 +191,16 @@ import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,n as l,o a
|
|
|
191
191
|
<head>
|
|
192
192
|
<meta charset="UTF-8">
|
|
193
193
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
194
|
-
<link rel="stylesheet" href="${
|
|
195
|
-
<style id="${
|
|
194
|
+
<link rel="stylesheet" href="${bd(r)}">
|
|
195
|
+
<style id="${_d}">${Sd(t)}</style>
|
|
196
196
|
</head>
|
|
197
197
|
<body>
|
|
198
198
|
${n?a:i}
|
|
199
199
|
</body>
|
|
200
|
-
</html>`}const
|
|
201
|
-
${c?`<div class="preview-frame-meta"><span class="preview-frame-label">${
|
|
200
|
+
</html>`}const Td=()=>[{id:`preview-adv-1`,role:`user`,content:`Can you create the product and gather the docs?`,createdAt:(/* @__PURE__ */ new Date(Date.now()-18e4)).toISOString()},{id:`preview-adv-2`,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date(Date.now()-15e4)).toISOString(),streaming:!0,variant:`reasoning`,reasoning:{id:`preview-reasoning`,status:`streaming`,chunks:[`Now let me get the Persona embed documentation and builtin tools catalog.`]}},{id:`preview-adv-3`,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date(Date.now()-12e4)).toISOString(),streaming:!0,variant:`tool`,toolCall:{id:`preview-tool-1`,name:`Load tools`,status:`running`,chunks:[`Loaded tools, used Runtype integration`]}},{id:`preview-adv-4`,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date(Date.now()-9e4)).toISOString(),streaming:!0,variant:`tool`,toolCall:{id:`preview-tool-2`,name:`Get platform documentation`,status:`running`,chunks:[`Get platform documentation`]}},{id:`preview-adv-5`,role:`assistant`,content:`I loaded the tools and fetched the docs. Next I can assemble the product details.`,createdAt:(/* @__PURE__ */ new Date(Date.now()-3e4)).toISOString()}],Ed=e=>!!(e?.features?.toolCallDisplay?.activePreview||e?.features?.toolCallDisplay?.grouped||e?.features?.toolCallDisplay?.collapsedMode&&e.features.toolCallDisplay.collapsedMode!==`tool-call`||e?.features?.reasoningDisplay?.activePreview);function Dd(e,t,n=[]){if(e===`follow-ups`){let e=Date.now();return[{id:`preview-follow-up-user`,role:`user`,content:`What can Persona help me build?`,createdAt:(/* @__PURE__ */ new Date(e-12e4)).toISOString()},{id:`preview-follow-up-assistant`,role:`assistant`,content:`Persona gives you a themeable streaming chat interface with flexible integrations and interaction patterns. Where would you like to go next?`,createdAt:(/* @__PURE__ */ new Date(e-6e4)).toISOString()},{id:`preview-follow-up-suggestions`,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date(e-59e3)).toISOString(),streaming:!1,variant:`tool`,toolCall:{id:`preview-follow-up-suggestions`,name:`suggest_replies`,status:`complete`,args:{suggestions:[{id:`preview-implementation`,label:`Show me an implementation`,prompt:`Show me a practical implementation`,description:`See a complete integration example`,icon:`code-2`,emphasis:`primary`},{id:`preview-theming`,label:`Explore theming`,prompt:`Tell me how theming works`,description:`Customize colors, type, and component styles`,icon:`palette`},{id:`preview-security`,label:`Review security`,prompt:`Explain the security model`,description:`Learn about isolation and safe rendering`,icon:`shield-check`},{id:`preview-support`,label:`Talk to support`,prompt:`Help me contact support`,description:`Get help choosing the right approach`,icon:`messages-square`}]},chunks:[]}},...n]}return e===`home`?[]:e===`minimized`?[{id:`preview-min-1`,role:`assistant`,content:`We are here whenever you are ready.`,createdAt:(/* @__PURE__ */ new Date()).toISOString()}]:e===`artifact`?[{id:`preview-art-1`,role:`user`,content:`Can you draft a quick overview of the project?`,createdAt:(/* @__PURE__ */ new Date(Date.now()-12e4)).toISOString()},{id:`preview-art-2`,role:`assistant`,content:`Here’s a project overview document for you.`,createdAt:(/* @__PURE__ */ new Date(Date.now()-6e4)).toISOString()}]:e===`conversation`&&Ed(t)?[...Td(),...n]:[{id:`preview-conv-1`,role:`assistant`,content:`Hello! How can I help you today?`,createdAt:(/* @__PURE__ */ new Date(Date.now()-18e4)).toISOString()},{id:`preview-conv-2`,role:`user`,content:`I want to customize the theme editor preview.`,createdAt:(/* @__PURE__ */ new Date(Date.now()-12e4)).toISOString()},{id:`preview-conv-3`,role:`assistant`,content:`Absolutely. Check out the [getting started guide](https://example.com) to see what’s possible, then adjust colors and tokens to match your brand.`,createdAt:(/* @__PURE__ */ new Date(Date.now()-6e4)).toISOString()},...n]}function Od(e,t,n=[]){let r={...e.launcher,enabled:!0,autoExpand:t!==`minimized`},i={...e,launcher:r,suggestions:t===`home`?{...e.suggestions,starters:{...e.suggestions?.starters?{}:{variant:`chip`,placement:`composer`},...e.suggestions?.starters,items:e.suggestions?.starters?.items?.length?e.suggestions.starters.items:e.suggestionChips?.length?e.suggestionChips:yd}}:e.suggestions,initialMessages:Dd(t,e,n),storageAdapter:vd};return t===`artifact`&&(i.features={...i.features,artifacts:{...i.features?.artifacts,enabled:!0}}),t===`messages`&&(i.features={...i.features,history:{presentation:`panel`,...i.features?.history,enabled:!0}}),i}function kd(e,t){let n=fe(e.config),r=e.config?.future,i=e.theme?Ha(e.theme,{validate:!1,future:r}):Ha(void 0,{future:r});return{...n,...e.config,theme:i,darkTheme:e.darkTheme,colorScheme:t??e.config?.colorScheme??`light`}}function Ad(e,t){let n=e.scene??`conversation`;return Od(kd(e,t),n,e.appendedMessages??[])}function jd(e){let t=e.compareMode??`off`,n=e.shellMode??`light`;return t===`themes`?[{mountId:`preview-light`,label:`Light`,config:Ad(e,`light`),shellMode:`light`},{mountId:`preview-dark`,label:`Dark`,config:Ad(e,`dark`),shellMode:`dark`}]:t===`baseline`&&(e.baselineConfig||e.baselineTheme)?[{mountId:`preview-baseline`,label:`Baseline`,config:Ad({...e,config:e.baselineConfig??e.config,theme:e.baselineTheme??e.theme,darkTheme:e.baselineDarkTheme??e.darkTheme},n),shellMode:n},{mountId:`preview-current`,label:`Current`,config:Ad(e,n),shellMode:n}]:[{mountId:`preview-current`,label:`Current`,config:Ad(e,n),shellMode:n}]}function Md(e,t){let n={...t},r=[],i=[],a=null,o=!1,s=1,c=1,l=0;function u(){return n.device??`desktop`}function d(){return n.zoom??s}function f(){let t=getComputedStyle(e),r=parseFloat(t.paddingLeft)+parseFloat(t.paddingRight),i=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),a=(n.compareMode??`off`)!==`off`,o=(e.clientWidth-r-40)/(a?2:1),s=e.clientHeight-i-40;if(o<=0||s<=0)return 1;let c=gd[u()]??gd.desktop;return Math.min(o/c.w,s/c.h,1)}function p(){s=f();let t=Math.max(.15,Math.min(1.5,d()));c=t;let r=Array.from(e.querySelectorAll(`.preview-iframe-wrapper`));for(let e of r){let n=e.dataset.device??`desktop`,r=gd[n]??gd.desktop;e.style.width=`${r.w*t}px`,e.style.height=`${r.h*t}px`,n===`mobile`&&(e.style.borderRadius=`${32*t}px`);let i=e.querySelector(`iframe`);i&&(i.style.width=`${r.w}px`,i.style.height=`${r.h}px`,i.style.transformOrigin=`top left`,i.style.transition=`none`,i.style.transform=`scale(${t})`)}n.onScaleChange?.(t)}function m(){n.onBeforeDestroy?.();for(let e of r)e.destroy();for(let e of i)e();r=[],i=[]}function h(){return Array.from(e.querySelectorAll(`iframe[data-mount-id]`))}function g(){if(o)return;m();let t=++l,a=jd(n),s=u(),c=(n.compareMode??`off`)!==`off`,d=(n.scene??`conversation`)===`minimized`,f=n.widgetCssPath??`/widget-dist/widget.css`,g=n.buildSrcdoc??wd,_=s===`mobile`?`preview-iframe-wrapper preview-iframe-wrapper-mobile`:`preview-iframe-wrapper`,v=e=>`<div class="${_}" data-mount-id="${e.mountId}" data-device="${s}" data-shell-mode="${e.shellMode}">
|
|
201
|
+
${c?`<div class="preview-frame-meta"><span class="preview-frame-label">${bd(e.label)}</span></div>`:``}
|
|
202
202
|
<iframe class="preview-iframe" sandbox="allow-scripts allow-same-origin" data-mount-id="${e.mountId}"></iframe>
|
|
203
|
-
</div>`,y=c?`<div class="preview-compare-grid">${a.map(e=>`<div class="preview-compare-cell">${v(e)}</div>`).join(``)}</div>`:`<div class="preview-single">${v(a[0])}</div>`;n.morphContainer?n.morphContainer(e,y):e.innerHTML=y,p();let b=h(),x=0,S=b.length,C=()=>{if(o||t!==l)return;for(let e of b){let t=e.dataset.mountId;if(!t||!e.contentDocument)continue;let n=a.find(e=>e.mountId===t);if(!n)continue;let o=()=>{},s
|
|
203
|
+
</div>`,y=c?`<div class="preview-compare-grid">${a.map(e=>`<div class="preview-compare-cell">${v(e)}</div>`).join(``)}</div>`:`<div class="preview-single">${v(a[0])}</div>`;n.morphContainer?n.morphContainer(e,y):e.innerHTML=y,p();let b=h(),x=0,S=b.length,C=()=>{if(o||t!==l)return;for(let e of b){let t=e.dataset.mountId;if(!t||!e.contentDocument)continue;let n=a.find(e=>e.mountId===t);if(!n)continue;let o=()=>{},s=$o(n.config),c=s?(()=>{let r=e.contentDocument?.getElementById(`preview-content-${t}`);if(!r)return null;let i=hd(r,n.config),a=e.contentDocument.createElement(`div`);a.id=t,a.style.height=`100%`,a.style.display=`flex`,a.style.flexDirection=`column`,a.style.flex=`1`,a.style.minHeight=`0`,i.host.appendChild(a);let s=()=>i.syncWidgetState(l.getState()),c=o;return o=()=>{i.destroy(),c()},a.__syncDock=s,a.__hostLayout=i,a})():e.contentDocument.getElementById(t);if(!c)continue;let l=Xu(c,n.config);if(r.push(l),s&&c.__syncDock){let e=c.__syncDock,t=l.on(`widget:opened`,e),n=l.on(`widget:closed`,e),r=o;o=()=>{t(),n(),r()},e()}i.push(o),d&&l.close()}let e=n.scene??`conversation`;if(e===`messages`)for(let e of r)e.showHistory({focus:!1});if(e===`artifact`||n.config?.features?.artifacts?.enabled)for(let e of r)e.upsertArtifact({id:`preview-sample`,artifactType:`markdown`,title:`Sample Document`,content:`# Sample Artifact
|
|
204
204
|
|
|
205
205
|
This is a preview of the artifact sidebar.
|
|
206
206
|
|
|
@@ -208,4 +208,4 @@ This is a preview of the artifact sidebar.
|
|
|
208
208
|
|
|
209
209
|
- Markdown rendering
|
|
210
210
|
- Document toolbar
|
|
211
|
-
- Resizable panes`,transcript:!1});n.onAfterMount?.({iframes:b,controllers:[...r]})};for(let e of b){let t=e.dataset.mountId;if(!t)continue;let n=a.find(e=>e.mountId===t);n&&(e.addEventListener(`load`,()=>{x++,x>=S&&C()},{once:!0}),e.srcdoc=g(t,n.shellMode
|
|
211
|
+
- Resizable panes`,transcript:!1});n.onAfterMount?.({iframes:b,controllers:[...r]})};for(let e of b){let t=e.dataset.mountId;if(!t)continue;let n=a.find(e=>e.mountId===t);n&&(e.addEventListener(`load`,()=>{x++,x>=S&&C()},{once:!0}),e.srcdoc=g(t,n.shellMode,$o(n.config),f))}S===0&&C()}function _(){if(o)return;let t=jd(n);if(r.length!==t.length)g();else if(t.some(t=>{let n=e.querySelector(`.preview-iframe-wrapper[data-mount-id="${t.mountId}"]`);return!n||n.dataset.shellMode!==t.shellMode}))g();else{r.forEach((e,r)=>{e.update(t[r].config),(n.scene??`conversation`)===`minimized`&&e.close()});for(let n of t){let t=e.querySelector(`iframe[data-mount-id="${n.mountId}"]`);t&&Cd(t,n.shellMode)}n.onAfterUpdate?.({iframes:h(),controllers:[...r]})}}return typeof ResizeObserver<`u`&&(a=new ResizeObserver(()=>{o||p()}),a.observe(e)),g(),{update(e){if(o)return;let t=e.device!==void 0&&e.device!==n.device||e.scene!==void 0&&e.scene!==n.scene||e.compareMode!==void 0&&e.compareMode!==n.compareMode||e.widgetCssPath!==void 0&&e.widgetCssPath!==n.widgetCssPath;n={...n,...e},t?g():_()},destroy(){o||(o=!0,m(),a?.disconnect(),e.innerHTML=``)},getControllers(){return[...r]},fitToContainer(){o||(n={...n,zoom:void 0},p())},getIframes(){return h()},getScale(){return c},setZoom(e){o||(n={...n,zoom:e},p())}}}export{Md as createThemePreview};
|