@runtypelabs/persona 4.8.0 → 4.10.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.
Files changed (130) hide show
  1. package/README.md +14 -1
  2. package/dist/animations/glyph-cycle.d.cts +1 -1
  3. package/dist/animations/glyph-cycle.d.ts +1 -1
  4. package/dist/animations/{types-BsZtXPKK.d.cts → types-4ROVJ1gA.d.cts} +42 -0
  5. package/dist/animations/{types-BsZtXPKK.d.ts → types-4ROVJ1gA.d.ts} +42 -0
  6. package/dist/animations/wipe.d.cts +1 -1
  7. package/dist/animations/wipe.d.ts +1 -1
  8. package/dist/chunk-IO5VVUKP.js +3 -0
  9. package/dist/chunk-IPVK3KOM.js +1 -0
  10. package/dist/chunk-UPO4GUFC.js +1 -0
  11. package/dist/codegen.cjs +6 -6
  12. package/dist/codegen.js +8 -8
  13. package/dist/context-mentions-7S5KVUTG.js +169 -0
  14. package/dist/context-mentions-inline-TTCN7ZM2.js +4 -0
  15. package/dist/context-mentions-inline.cjs +4 -0
  16. package/dist/context-mentions-inline.d.cts +203 -0
  17. package/dist/context-mentions-inline.d.ts +203 -0
  18. package/dist/context-mentions-inline.js +4 -0
  19. package/dist/context-mentions.cjs +295 -0
  20. package/dist/context-mentions.d.cts +7025 -0
  21. package/dist/context-mentions.d.ts +7025 -0
  22. package/dist/context-mentions.js +295 -0
  23. package/dist/index.cjs +72 -64
  24. package/dist/index.cjs.map +1 -1
  25. package/dist/index.d.cts +634 -3
  26. package/dist/index.d.ts +634 -3
  27. package/dist/index.global.js +59 -51
  28. package/dist/index.global.js.map +1 -1
  29. package/dist/index.js +64 -56
  30. package/dist/index.js.map +1 -1
  31. package/dist/launcher.global.js +2 -2
  32. package/dist/launcher.global.js.map +1 -1
  33. package/dist/plugin-kit.cjs +1 -1
  34. package/dist/plugin-kit.d.cts +17 -0
  35. package/dist/plugin-kit.d.ts +17 -0
  36. package/dist/plugin-kit.js +1 -1
  37. package/dist/smart-dom-reader.cjs +17 -16
  38. package/dist/smart-dom-reader.d.cts +507 -1
  39. package/dist/smart-dom-reader.d.ts +507 -1
  40. package/dist/smart-dom-reader.js +17 -16
  41. package/dist/theme-editor-preview.cjs +236 -57
  42. package/dist/theme-editor-preview.d.cts +485 -1
  43. package/dist/theme-editor-preview.d.ts +485 -1
  44. package/dist/theme-editor-preview.js +53 -47
  45. package/dist/theme-editor.cjs +7 -7
  46. package/dist/theme-editor.d.cts +473 -0
  47. package/dist/theme-editor.d.ts +473 -0
  48. package/dist/theme-editor.js +5 -5
  49. package/dist/theme-reference.cjs +1 -1
  50. package/dist/theme-reference.d.cts +2 -0
  51. package/dist/theme-reference.d.ts +2 -0
  52. package/dist/widget.css +1 -1
  53. package/package.json +15 -3
  54. package/src/client.test.ts +69 -0
  55. package/src/client.ts +65 -51
  56. package/src/components/artifact-pane.test.ts +47 -0
  57. package/src/components/artifact-pane.ts +25 -2
  58. package/src/components/composer-parts.ts +3 -12
  59. package/src/components/context-mention-button.test.ts +70 -0
  60. package/src/components/context-mention-button.ts +82 -0
  61. package/src/components/context-mention-chip.ts +134 -0
  62. package/src/components/context-mention-menu.test.ts +508 -0
  63. package/src/components/context-mention-menu.ts +0 -0
  64. package/src/components/message-bubble.test.ts +175 -0
  65. package/src/components/message-bubble.ts +177 -19
  66. package/src/components/panel.ts +7 -10
  67. package/src/context-mentions-bundle.test.ts +163 -0
  68. package/src/context-mentions-entry.ts +185 -0
  69. package/src/context-mentions-inline-entry.test.ts +136 -0
  70. package/src/context-mentions-inline-entry.ts +226 -0
  71. package/src/context-mentions-inline-loader.test.ts +30 -0
  72. package/src/context-mentions-inline-loader.ts +36 -0
  73. package/src/context-mentions-inline.ts +15 -0
  74. package/src/context-mentions-loader.ts +32 -0
  75. package/src/context-mentions.ts +16 -0
  76. package/src/index-core.ts +27 -0
  77. package/src/index-global.ts +51 -0
  78. package/src/markdown-parsers-loader.ts +35 -44
  79. package/src/plugin-kit.test.ts +40 -0
  80. package/src/plugin-kit.ts +39 -5
  81. package/src/runtime/init-update-reset.test.ts +81 -0
  82. package/src/runtime/init.test.ts +62 -0
  83. package/src/runtime/init.ts +7 -14
  84. package/src/session.mentions.test.ts +175 -0
  85. package/src/session.test.ts +52 -4
  86. package/src/session.ts +121 -5
  87. package/src/smart-dom-reader.test.ts +129 -2
  88. package/src/smart-dom-reader.ts +127 -1
  89. package/src/styles/context-mention-menu-css.ts +176 -0
  90. package/src/styles/widget.css +243 -126
  91. package/src/theme-editor/sections.ts +3 -3
  92. package/src/types/theme.ts +2 -0
  93. package/src/types.ts +542 -0
  94. package/src/ui.artifact-pane-gating.test.ts +11 -1
  95. package/src/ui.attachments-drop.test.ts +90 -0
  96. package/src/ui.header-update-stability.test.ts +149 -0
  97. package/src/ui.launcher-update-merge.test.ts +83 -0
  98. package/src/ui.mention-submit.test.ts +235 -0
  99. package/src/ui.send-button-stream-update.test.ts +69 -0
  100. package/src/ui.ts +379 -84
  101. package/src/utils/chunk-loader.test.ts +97 -0
  102. package/src/utils/chunk-loader.ts +88 -0
  103. package/src/utils/composer-contenteditable.test.ts +507 -0
  104. package/src/utils/composer-contenteditable.ts +626 -0
  105. package/src/utils/composer-document.test.ts +280 -0
  106. package/src/utils/composer-document.ts +293 -0
  107. package/src/utils/composer-history.test.ts +35 -7
  108. package/src/utils/composer-history.ts +30 -20
  109. package/src/utils/composer-input.ts +159 -0
  110. package/src/utils/config-merge.test.ts +131 -0
  111. package/src/utils/config-merge.ts +61 -0
  112. package/src/utils/context-mention-controller.test.ts +1215 -0
  113. package/src/utils/context-mention-controller.ts +1186 -0
  114. package/src/utils/context-mention-manager.test.ts +422 -0
  115. package/src/utils/context-mention-manager.ts +410 -0
  116. package/src/utils/context-mention-orchestrator.test.ts +538 -0
  117. package/src/utils/context-mention-orchestrator.ts +348 -0
  118. package/src/utils/live-region.test.ts +108 -0
  119. package/src/utils/live-region.ts +94 -0
  120. package/src/utils/mention-channels.ts +63 -0
  121. package/src/utils/mention-llm-format.test.ts +91 -0
  122. package/src/utils/mention-llm-format.ts +79 -0
  123. package/src/utils/mention-matcher.test.ts +86 -0
  124. package/src/utils/mention-matcher.ts +221 -0
  125. package/src/utils/mention-token.ts +72 -0
  126. package/src/utils/mention-trigger.test.ts +155 -0
  127. package/src/utils/mention-trigger.ts +156 -0
  128. package/src/utils/theme.test.ts +54 -4
  129. package/src/utils/theme.ts +6 -3
  130. package/src/utils/tokens.ts +27 -11
@@ -1,28 +1,34 @@
1
- import{a as Nc}from"./chunk-5EIIHQLQ.js";var Fc=null,_r=null,Mo=null,Vs=new Set,Oc=t=>{_r=t;let e=[...Vs];Vs.clear();for(let n of e)try{n()}catch{}return t};var Ks=t=>_r?()=>{}:(Vs.add(t),nf().catch(()=>{}),()=>{Vs.delete(t)});var _c=t=>{throw Mo=null,t},nf=()=>_r?Promise.resolve(_r):Mo||(Fc?(Mo=Fc().then(Oc,_c),Mo):(Mo=import("./markdown-parsers-entry-NVFT3TE6.js").then(Oc,_c),Mo)),Wn=()=>_r;var of=t=>{if(t)return t},Ti=t=>{let e=null;return n=>{let o=Wn();if(!o)return Jn(n);if(!e){let{Marked:r}=o,s=t?.markedOptions;e=new r({gfm:s?.gfm??!0,breaks:s?.breaks??!0,pedantic:s?.pedantic,silent:s?.silent});let a=of(t?.renderer);a&&e.use({renderer:a})}return e.parse(n)}},Gs=t=>t?Ti({markedOptions:t.options,renderer:t.renderer}):Ti(),Av=Ti();var Jn=t=>t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;");var rf={ALLOWED_TAGS:["h1","h2","h3","h4","h5","h6","p","br","hr","div","span","ul","ol","li","dl","dt","dd","strong","em","b","i","u","s","del","ins","mark","small","sub","sup","abbr","kbd","var","samp","code","a","img","blockquote","pre","details","summary","table","thead","tbody","tfoot","tr","th","td","caption","colgroup","col","input","label","select","option","textarea","button"],ALLOWED_ATTR:["href","src","alt","title","target","rel","loading","width","height","colspan","rowspan","scope","class","id","type","name","value","placeholder","disabled","checked","for","aria-label","aria-hidden","aria-expanded","role","tabindex","data-tv-form","data-message-id","data-persona-component-directive","data-preserve-animation","data-persona-instance"]},sf=/^data:image\/(?:png|jpe?g|gif|webp|bmp|x-icon|avif)/i,af=()=>{let t=null;return e=>{let n=Wn();if(!n)return Jn(e);if(!t){let{DOMPurify:o}=n;t=o(typeof window<"u"?window:void 0),t.addHook("uponSanitizeAttribute",(r,s)=>{if(s.attrName==="src"||s.attrName==="href"){let a=s.attrValue;a.toLowerCase().startsWith("data:")&&!sf.test(a)&&(s.attrValue="",s.keepAttr=!1)}})}return t.sanitize(e,rf)}},Xs=t=>t===!1?null:typeof t=="function"?t:af();var $c=/^\s*\|?[\s:|-]*-[\s:|-]*$/,Uc=t=>t.includes("|"),zc=t=>{let e=t.trim();return e.startsWith("|")&&(e=e.slice(1)),e.endsWith("|")&&(e=e.slice(0,-1)),e.split("|").map(n=>n.trim())},lf=t=>`| ${t.join(" | ")} |`,cf=t=>`| ${Array.from({length:t},()=>"---").join(" | ")} |`,df=(t,e)=>t.length>=e?t.slice(0,e):t.concat(Array.from({length:e-t.length},()=>"")),jc=t=>{if(!t||!t.includes("|"))return t;let e=t.split(`
2
- `),n=!1;for(let o=0;o<e.length-1;o++){let r=e[o],s=e[o+1];if(!Uc(r)||$c.test(r)||!$c.test(s))continue;let a=zc(r).length;if(a<1)continue;let l=cf(a);e[o+1]!==l&&(e[o+1]=l,n=!0);let p=o+2;for(;p<e.length;p++){let d=e[p];if(d.trim()===""||!Uc(d))break;let c=lf(df(zc(d),a));e[p]!==c&&(e[p]=c,n=!0)}o=p-1}return n?e.join(`
3
- `):t};var Bn="webmcp:",Mi=new Map,qc=t=>{Mi.clear();for(let e of t){let n=e.title?.trim();n&&Mi.set(e.name,n)}},$r=t=>Mi.get(Xc(t)),Qs={warn(t,...e){typeof console<"u"&&typeof console.warn=="function"&&console.warn(`[Persona/WebMCP] ${t}`,...e)}},Vc=null;function Gc(t){if(t.length===0)return"0:empty";let e=t.map(n=>[n.name,n.description??"",n.parametersSchema?JSON.stringify(n.parametersSchema):"",n.origin??"",n.annotations?JSON.stringify(n.annotations):""].join("")).sort();return`${t.length}:${pf(e.join(""))}`}function Kc(t,e){let n=3735928559^e,o=1103547991^e;for(let r=0;r<t.length;r++){let s=t.charCodeAt(r);n=Math.imul(n^s,2654435761),o=Math.imul(o^s,1597334677)}return n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(o^o>>>13,3266489909),o=Math.imul(o^o>>>16,2246822507),o^=Math.imul(n^n>>>13,3266489909),4294967296*(2097151&o)+(n>>>0)}function pf(t){let e=Kc(t,0).toString(36),n=Kc(t,2654435761).toString(36);return`${e}.${n}`}var Js=class{constructor(e){this.config=e;this.installed=!1;this.readyPromise=null;this.incompatibleContextWarned=!1;this.confirmHandler=e.onConfirm??null,this.timeoutMs=3e4}setConfirmHandler(e){this.confirmHandler=e}isOperational(){return this.config.enabled!==!0||!this.installed?!1:this.getModelContext()!==null}async snapshotForDispatch(){if(await this.ensureReady(),this.config.enabled!==!0)return[];let e=this.getModelContext();if(!e)return[];let n;try{n=await e.getTools()}catch(r){return Qs.warn("getTools() threw: shipping an empty WebMCP snapshot.",r),[]}qc(n);let o=typeof location<"u"?location.origin:"";return n.filter(r=>this.passesClientAllowlist(r.name)).map(r=>{let s={name:r.name,description:r.description,origin:"webmcp",...o?{pageOrigin:o}:{}},a=ff(r.inputSchema);return a&&(s.parametersSchema=a),s})}async executeToolCall(e,n,o){if(await this.ensureReady(),this.config.enabled!==!0)return vn("WebMCP is not enabled on this widget.");let r=this.getModelContext();if(!r){let v=typeof document<"u"&&!!document.modelContext;return vn(v?"WebMCP is not operational: document.modelContext is present but does not expose the strict getTools()/executeTool() surface (likely a different or older WebMCP polyfill).":"WebMCP bridge is not operational on this page (document.modelContext not available).")}let s=Xc(e),a;try{a=await r.getTools()}catch(v){let x=v instanceof Error?v.message:String(v);return vn(`Failed to read WebMCP registry: ${x}`)}qc(a);let l=a.find(v=>v.name===s);if(!l)return vn(`WebMCP tool not registered on this page: ${s}`);if(!this.passesClientAllowlist(s))return vn(`WebMCP tool not allowed by client allowlist: ${s}`);if(o?.aborted)return vn("Aborted by cancel()");let p=$r(s),d={toolName:s,args:n,description:l.description,...p?{title:p}:{},reason:"gate"};if(!await this.requestConfirm(d))return vn("User declined the tool call.");if(o?.aborted)return vn("Aborted by cancel()");let c=new AbortController,u=!1,w=setTimeout(()=>{u=!0,c.abort()},this.timeoutMs),f=()=>c.abort();o&&(o.aborted?c.abort():o.addEventListener("abort",f,{once:!0}));try{let v=await r.executeTool(l,yf(n),{signal:c.signal});return gf(v)}catch(v){if(u)return vn(`WebMCP tool '${s}' timed out after ${this.timeoutMs}ms`);if(o?.aborted)return vn("Aborted by cancel()");let x=v instanceof Error?v.message:String(v);return vn(x)}finally{clearTimeout(w),o&&o.removeEventListener("abort",f)}}ensureReady(){return this.config.enabled!==!0?Promise.resolve():(this.readyPromise||(this.readyPromise=this.install()),this.readyPromise)}async install(){try{if(this.getModelContext()){this.installed=!0;return}(Vc?await Vc():await import("@mcp-b/webmcp-polyfill")).initializeWebMCPPolyfill(),this.installed=!0}catch(e){Qs.warn("Failed to load @mcp-b/webmcp-polyfill: WebMCP consumption disabled.",e),this.installed=!1}}getModelContext(){if(typeof document>"u")return null;let e=document.modelContext;if(!e||typeof e!="object")return null;let n=e;return typeof n.getTools!="function"||typeof n.executeTool!="function"?(this.incompatibleContextWarned||(this.incompatibleContextWarned=!0,Qs.warn("document.modelContext is present but does not expose getTools()/executeTool(): WebMCP consumption is disabled. Another (incompatible or older) WebMCP polyfill likely installed document.modelContext before Persona. Remove it, or use a polyfill implementing the strict standard surface (e.g. @mcp-b/webmcp-polyfill).")),null):e}async requestConfirm(e){let n=this.confirmHandler??mf;try{return await n(e)}catch(o){return Qs.warn(`Confirm handler threw for WebMCP tool '${e.toolName}'; declining.`,o),!1}}passesClientAllowlist(e){let n=this.config.allowlist;return!n||n.length===0?!0:n.some(o=>uf(e,o))}},Xc=t=>t.startsWith(Bn)?t.slice(Bn.length):t,Jo=t=>t.startsWith(Bn),uf=(t,e)=>{if(e==="*")return!0;let n=e.replace(/[.+?^${}()|[\]\\]/g,"\\$&");return new RegExp("^"+n.replace(/\*/g,".*")+"$").test(t)},ff=t=>{if(!(t===void 0||t===""))try{let e=JSON.parse(t);return e!==null&&typeof e=="object"?e:void 0}catch{return}},gf=t=>{if(t==null)return{content:[{type:"text",text:""}]};let e;try{e=JSON.parse(t)}catch{return{content:[{type:"text",text:t}]}}return e!==null&&typeof e=="object"&&Array.isArray(e.content)?e:{content:[{type:"text",text:typeof e=="string"?e:bf(e)}]}},vn=t=>({isError:!0,content:[{type:"text",text:t}]}),mf=async t=>{if(typeof window>"u"||typeof window.confirm!="function")return!1;let e=hf(t.args),n=`Allow the AI to call ${t.toolName}`+(e?`
1
+ import{a as jc}from"./chunk-5EIIHQLQ.js";import{a as m,b as Tn,c as Uc,d as De,e as Bn,f as ne,g as Kc,i as Gc,j as Qc}from"./chunk-IPVK3KOM.js";import{a as qc,b as Vc}from"./chunk-IO5VVUKP.js";var Xo=t=>{let{fallbackImport:e,resetOnSetLoader:n=!1}=t,o=null,r=null,s=null;return{setLoader:c=>{o=c,n&&(r=null,s=null)},load:()=>r?Promise.resolve(r):s||(s=(o??e)().then(u=>(r=u,u)).catch(u=>{throw s=null,u}),s),provide:c=>{r=c},getSync:()=>r}};var{setLoader:qy,load:Sf,provide:Vy,getSync:Li}=Xo({fallbackImport:()=>import("./markdown-parsers-entry-NVFT3TE6.js")}),Qs=new Set,Tf=()=>{let t=[...Qs];Qs.clear();for(let e of t)try{e()}catch{}};var Mf=()=>{let t=Li();return t?Promise.resolve(t):Sf().then(e=>(Tf(),e))},Xs=t=>Li()?()=>{}:(Qs.add(t),Mf().catch(()=>{}),()=>{Qs.delete(t)});var Hn=Li;var Ef=t=>{if(t)return t},Pi=t=>{let e=null;return n=>{let o=Hn();if(!o)return Zn(n);if(!e){let{Marked:r}=o,s=t?.markedOptions;e=new r({gfm:s?.gfm??!0,breaks:s?.breaks??!0,pedantic:s?.pedantic,silent:s?.silent});let a=Ef(t?.renderer);a&&e.use({renderer:a})}return e.parse(n)}},Js=t=>t?Pi({markedOptions:t.options,renderer:t.renderer}):Pi(),Qy=Pi();var Zn=t=>t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;");var kf={ALLOWED_TAGS:["h1","h2","h3","h4","h5","h6","p","br","hr","div","span","ul","ol","li","dl","dt","dd","strong","em","b","i","u","s","del","ins","mark","small","sub","sup","abbr","kbd","var","samp","code","a","img","blockquote","pre","details","summary","table","thead","tbody","tfoot","tr","th","td","caption","colgroup","col","input","label","select","option","textarea","button"],ALLOWED_ATTR:["href","src","alt","title","target","rel","loading","width","height","colspan","rowspan","scope","class","id","type","name","value","placeholder","disabled","checked","for","aria-label","aria-hidden","aria-expanded","role","tabindex","data-tv-form","data-message-id","data-persona-component-directive","data-preserve-animation","data-persona-instance"]},Lf=/^data:image\/(?:png|jpe?g|gif|webp|bmp|x-icon|avif)/i,Pf=()=>{let t=null;return e=>{let n=Hn();if(!n)return Zn(e);if(!t){let{DOMPurify:o}=n;t=o(typeof window<"u"?window:void 0),t.addHook("uponSanitizeAttribute",(r,s)=>{if(s.attrName==="src"||s.attrName==="href"){let a=s.attrValue;a.toLowerCase().startsWith("data:")&&!Lf.test(a)&&(s.attrValue="",s.keepAttr=!1)}})}return t.sanitize(e,kf)}},Ys=t=>t===!1?null:typeof t=="function"?t:Pf();var Xc=/^\s*\|?[\s:|-]*-[\s:|-]*$/,Jc=t=>t.includes("|"),Yc=t=>{let e=t.trim();return e.startsWith("|")&&(e=e.slice(1)),e.endsWith("|")&&(e=e.slice(0,-1)),e.split("|").map(n=>n.trim())},If=t=>`| ${t.join(" | ")} |`,Rf=t=>`| ${Array.from({length:t},()=>"---").join(" | ")} |`,Wf=(t,e)=>t.length>=e?t.slice(0,e):t.concat(Array.from({length:e-t.length},()=>"")),Zc=t=>{if(!t||!t.includes("|"))return t;let e=t.split(`
2
+ `),n=!1;for(let o=0;o<e.length-1;o++){let r=e[o],s=e[o+1];if(!Jc(r)||Xc.test(r)||!Xc.test(s))continue;let a=Yc(r).length;if(a<1)continue;let l=Rf(a);e[o+1]!==l&&(e[o+1]=l,n=!0);let p=o+2;for(;p<e.length;p++){let d=e[p];if(d.trim()===""||!Jc(d))break;let c=If(Wf(Yc(d),a));e[p]!==c&&(e[p]=c,n=!0)}o=p-1}return n?e.join(`
3
+ `):t};var Dn="webmcp:",Ii=new Map,ed=t=>{Ii.clear();for(let e of t){let n=e.title?.trim();n&&Ii.set(e.name,n)}},jr=t=>Ii.get(rd(t)),Zs={warn(t,...e){typeof console<"u"&&typeof console.warn=="function"&&console.warn(`[Persona/WebMCP] ${t}`,...e)}},td=null;function od(t){if(t.length===0)return"0:empty";let e=t.map(n=>[n.name,n.description??"",n.parametersSchema?JSON.stringify(n.parametersSchema):"",n.origin??"",n.annotations?JSON.stringify(n.annotations):""].join("")).sort();return`${t.length}:${Bf(e.join(""))}`}function nd(t,e){let n=3735928559^e,o=1103547991^e;for(let r=0;r<t.length;r++){let s=t.charCodeAt(r);n=Math.imul(n^s,2654435761),o=Math.imul(o^s,1597334677)}return n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(o^o>>>13,3266489909),o=Math.imul(o^o>>>16,2246822507),o^=Math.imul(n^n>>>13,3266489909),4294967296*(2097151&o)+(n>>>0)}function Bf(t){let e=nd(t,0).toString(36),n=nd(t,2654435761).toString(36);return`${e}.${n}`}var ea=class{constructor(e){this.config=e;this.installed=!1;this.readyPromise=null;this.incompatibleContextWarned=!1;this.confirmHandler=e.onConfirm??null,this.timeoutMs=3e4}setConfirmHandler(e){this.confirmHandler=e}isOperational(){return this.config.enabled!==!0||!this.installed?!1:this.getModelContext()!==null}async snapshotForDispatch(){if(await this.ensureReady(),this.config.enabled!==!0)return[];let e=this.getModelContext();if(!e)return[];let n;try{n=await e.getTools()}catch(r){return Zs.warn("getTools() threw: shipping an empty WebMCP snapshot.",r),[]}ed(n);let o=typeof location<"u"?location.origin:"";return n.filter(r=>this.passesClientAllowlist(r.name)).map(r=>{let s={name:r.name,description:r.description,origin:"webmcp",...o?{pageOrigin:o}:{}},a=Df(r.inputSchema);return a&&(s.parametersSchema=a),s})}async executeToolCall(e,n,o){if(await this.ensureReady(),this.config.enabled!==!0)return wn("WebMCP is not enabled on this widget.");let r=this.getModelContext();if(!r){let v=typeof document<"u"&&!!document.modelContext;return wn(v?"WebMCP is not operational: document.modelContext is present but does not expose the strict getTools()/executeTool() surface (likely a different or older WebMCP polyfill).":"WebMCP bridge is not operational on this page (document.modelContext not available).")}let s=rd(e),a;try{a=await r.getTools()}catch(v){let C=v instanceof Error?v.message:String(v);return wn(`Failed to read WebMCP registry: ${C}`)}ed(a);let l=a.find(v=>v.name===s);if(!l)return wn(`WebMCP tool not registered on this page: ${s}`);if(!this.passesClientAllowlist(s))return wn(`WebMCP tool not allowed by client allowlist: ${s}`);if(o?.aborted)return wn("Aborted by cancel()");let p=jr(s),d={toolName:s,args:n,description:l.description,...p?{title:p}:{},reason:"gate"};if(!await this.requestConfirm(d))return wn("User declined the tool call.");if(o?.aborted)return wn("Aborted by cancel()");let c=new AbortController,u=!1,w=setTimeout(()=>{u=!0,c.abort()},this.timeoutMs),f=()=>c.abort();o&&(o.aborted?c.abort():o.addEventListener("abort",f,{once:!0}));try{let v=await r.executeTool(l,_f(n),{signal:c.signal});return Nf(v)}catch(v){if(u)return wn(`WebMCP tool '${s}' timed out after ${this.timeoutMs}ms`);if(o?.aborted)return wn("Aborted by cancel()");let C=v instanceof Error?v.message:String(v);return wn(C)}finally{clearTimeout(w),o&&o.removeEventListener("abort",f)}}ensureReady(){return this.config.enabled!==!0?Promise.resolve():(this.readyPromise||(this.readyPromise=this.install()),this.readyPromise)}async install(){try{if(this.getModelContext()){this.installed=!0;return}(td?await td():await import("@mcp-b/webmcp-polyfill")).initializeWebMCPPolyfill(),this.installed=!0}catch(e){Zs.warn("Failed to load @mcp-b/webmcp-polyfill: WebMCP consumption disabled.",e),this.installed=!1}}getModelContext(){if(typeof document>"u")return null;let e=document.modelContext;if(!e||typeof e!="object")return null;let n=e;return typeof n.getTools!="function"||typeof n.executeTool!="function"?(this.incompatibleContextWarned||(this.incompatibleContextWarned=!0,Zs.warn("document.modelContext is present but does not expose getTools()/executeTool(): WebMCP consumption is disabled. Another (incompatible or older) WebMCP polyfill likely installed document.modelContext before Persona. Remove it, or use a polyfill implementing the strict standard surface (e.g. @mcp-b/webmcp-polyfill).")),null):e}async requestConfirm(e){let n=this.confirmHandler??Ff;try{return await n(e)}catch(o){return Zs.warn(`Confirm handler threw for WebMCP tool '${e.toolName}'; declining.`,o),!1}}passesClientAllowlist(e){let n=this.config.allowlist;return!n||n.length===0?!0:n.some(o=>Hf(e,o))}},rd=t=>t.startsWith(Dn)?t.slice(Dn.length):t,Jo=t=>t.startsWith(Dn),Hf=(t,e)=>{if(e==="*")return!0;let n=e.replace(/[.+?^${}()|[\]\\]/g,"\\$&");return new RegExp("^"+n.replace(/\*/g,".*")+"$").test(t)},Df=t=>{if(!(t===void 0||t===""))try{let e=JSON.parse(t);return e!==null&&typeof e=="object"?e:void 0}catch{return}},Nf=t=>{if(t==null)return{content:[{type:"text",text:""}]};let e;try{e=JSON.parse(t)}catch{return{content:[{type:"text",text:t}]}}return e!==null&&typeof e=="object"&&Array.isArray(e.content)?e:{content:[{type:"text",text:typeof e=="string"?e:$f(e)}]}},wn=t=>({isError:!0,content:[{type:"text",text:t}]}),Ff=async t=>{if(typeof window>"u"||typeof window.confirm!="function")return!1;let e=Of(t.args),n=`Allow the AI to call ${t.toolName}`+(e?`
4
4
 
5
5
  Arguments:
6
6
  ${e}`:"")+(t.description?`
7
7
 
8
- ${t.description}`:"");return window.confirm(n)},hf=t=>{if(t==null)return"";try{let e=JSON.stringify(t,null,2);return e.length>500?e.slice(0,500)+"\u2026":e}catch{return String(t)}},yf=t=>{if(t===void 0)return"{}";try{let e=JSON.stringify(t);return e===void 0?"{}":e}catch{return"{}"}},bf=t=>{if(t===void 0)return"";try{return JSON.stringify(t)}catch{return String(t)}};function Eo(t,e){let n=t?.display;return n?typeof n=="string"?n:n.byType?.[e]??n.default??"panel":"panel"}function Ys(t,e){return JSON.stringify({component:t==="inline"?"PersonaArtifactInline":"PersonaArtifactCard",props:{artifactId:e.artifactId,title:e.title,artifactType:e.artifactType,status:e.status,...e.file?{file:e.file}:{},...t==="inline"&&e.component?{component:e.component}:{},...t==="inline"&&e.componentProps?{componentProps:e.componentProps}:{},...e.markdown!==void 0?{markdown:e.markdown}:{}}})}var vf="agent_",wf="flow_";function Qc(t){return t.startsWith(vf)?{kind:"agentId",agentId:t}:t.startsWith(wf)?{kind:"flowId",flowId:t}:null}function Jc(t,e){let n=t.trim();if(!n)throw new Error("[Persona] `target` is empty.");let o=n.indexOf(":");if(o>0){let a=n.slice(0,o),l=n.slice(o+1);if(a==="runtype"){let d=Qc(l);if(d)return d;throw new Error(`[Persona] target "runtype:${l}" is not a valid Runtype agent_/flow_ id.`)}let p=e?.[a];if(!p)throw new Error(`[Persona] No target provider registered for "${a}". Add a \`targetProviders.${a}\` resolver, or use a Runtype agent_/flow_ id.`);return{kind:"payload",payload:p(l).payload}}let r=Qc(n);if(r)return r;let s=e?.default;if(s)return{kind:"payload",payload:s(n).payload};throw new 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.`)}import{parse as xf,ARR as Cf,OBJ as Af,STR as Sf}from"partial-json";var m=(t,e)=>{let n=document.createElement(t);return e&&(n.className=e),n},Sn=(t,e,n)=>{let o=t.createElement(e);return n&&(o.className=n),o},Yc=()=>document.createDocumentFragment(),nt=(t,e={},...n)=>{let o=document.createElement(t);if(e.className&&(o.className=e.className),e.text!==void 0&&(o.textContent=e.text),e.attrs)for(let[s,a]of Object.entries(e.attrs))o.setAttribute(s,a);if(e.style){let s=o.style,a=e.style;for(let l of Object.keys(a)){let p=a[l];p!=null&&(s[l]=p)}}let r=n.filter(s=>s!=null);return r.length>0&&o.append(...r),o},ko=(...t)=>t.filter(Boolean).join(" ");var Ei="ask_user_question",Ur=8,Yo="data-persona-ask-sheet-for",Tf="Other",Mf="Other\u2026",ed="Type your own answer here",td="Send",Ef="Next",kf="Back",Lf="Submit all",Pf="Skip",If=3,ki="data-ask-current-index",Li="data-ask-question-count",nd="data-ask-answers",Pi="data-ask-grouped",od="data-ask-layout",Rf=t=>t.layout==="pills"?"pills":"rows",Wf=t=>t.getAttribute(od)==="pills"?"pills":"rows",Zc=!1,rd=t=>t.replace(/["\\]/g,"\\$&"),Lo=t=>t.variant==="tool"&&!!t.toolCall&&t.toolCall.name===Ei,Ii=t=>t?.features?.askUserQuestion??{},Zo=t=>{let e=t.toolCall;if(!e)return{payload:null,complete:!1};let n=e.status==="complete";if(e.args&&typeof e.args=="object")return{payload:e.args,complete:n};let o=e.chunks;if(!o||o.length===0)return{payload:null,complete:n};try{let r=o.join(""),s=xf(r,Sf|Af|Cf);if(s&&typeof s=="object")return{payload:s,complete:n}}catch{}return{payload:null,complete:n}},zr=t=>{let e=Array.isArray(t?.questions)?t.questions:[];return e.length>Ur&&!Zc&&(Zc=!0,typeof console<"u"&&console.warn(`[AgentWidget] ask_user_question received ${e.length} questions; truncating to ${Ur}.`)),e.slice(0,Ur)},Bf=t=>zr(t)[0]??null,Hf=(t,e)=>zr(t)[e]??null,Df=(t,e)=>{let n=e.styles;n&&(n.sheetBackground&&t.style.setProperty("--persona-ask-sheet-bg",n.sheetBackground),n.sheetBorder&&t.style.setProperty("--persona-ask-sheet-border",n.sheetBorder),n.sheetShadow&&t.style.setProperty("--persona-ask-sheet-shadow",n.sheetShadow),n.pillBackground&&t.style.setProperty("--persona-ask-pill-bg",n.pillBackground),n.pillBackgroundSelected&&t.style.setProperty("--persona-ask-pill-bg-selected",n.pillBackgroundSelected),n.pillTextColor&&t.style.setProperty("--persona-ask-pill-fg",n.pillTextColor),n.pillTextColorSelected&&t.style.setProperty("--persona-ask-pill-fg-selected",n.pillTextColorSelected),n.pillBorderRadius&&t.style.setProperty("--persona-ask-pill-radius",n.pillBorderRadius),n.customInputBackground&&t.style.setProperty("--persona-ask-input-bg",n.customInputBackground))},sd=(t,e,n)=>{if(t!=="rows")return null;let o=m("span","persona-ask-row-affordance");if(o.setAttribute("aria-hidden","true"),e){let r=m("span","persona-ask-row-check");o.appendChild(r)}else{let r=m("span","persona-ask-row-badge");r.textContent=String(n+1),o.appendChild(r)}return o},Nf=(t,e,n,o)=>{let s=m("button",n==="rows"?"persona-ask-pill persona-ask-row persona-pointer-events-auto":"persona-ask-pill persona-pointer-events-auto");if(s.type="button",s.setAttribute("role",o?"checkbox":"button"),s.setAttribute("aria-pressed","false"),s.setAttribute("data-ask-user-action","pick"),s.setAttribute("data-option-index",String(e)),s.setAttribute("data-option-label",t.label),n==="rows"){let a=m("span","persona-ask-row-content"),l=m("span","persona-ask-row-label");if(l.textContent=t.label,a.appendChild(l),t.description){let d=m("span","persona-ask-row-description");d.textContent=t.description,a.appendChild(d)}s.appendChild(a);let p=sd(n,o,e);p&&s.appendChild(p)}else s.textContent=t.label,t.description&&(s.title=t.description);return s},Ff=t=>{let n=m("span",t==="rows"?"persona-ask-pill persona-ask-row persona-ask-pill-skeleton persona-pointer-events-none":"persona-ask-pill persona-ask-pill-skeleton persona-pointer-events-none");return n.setAttribute("aria-hidden","true"),n},Of=(t,e,n,o)=>{let s=m("div",o==="rows"?"persona-ask-pills persona-ask-pills--rows persona-flex persona-flex-col persona-gap-2":"persona-ask-pills persona-flex persona-flex-wrap persona-gap-2");s.setAttribute("role","group"),s.setAttribute("data-ask-pill-list","true");let a=!!t?.multiSelect,p=(Array.isArray(t?.options)?t.options:[]).filter(c=>c&&typeof c.label=="string"&&c.label.length>0);if(p.length===0&&!n){for(let c=0;c<If;c++)s.appendChild(Ff(o));return s}if(p.forEach((c,u)=>{s.appendChild(Nf(c,u,o,a))}),t?.allowFreeText!==!1){let c=o==="rows"?Tf:Mf;if(o==="rows"){let u=m("div","persona-ask-pill persona-ask-row persona-ask-row--other persona-ask-pill-custom persona-pointer-events-auto");u.setAttribute("data-ask-user-action","focus-free-text"),u.setAttribute("data-option-index",String(p.length)),u.setAttribute("data-ask-other-row","true");let w=m("span","persona-ask-row-content"),f=document.createElement("input");f.type="text",f.className="persona-ask-row-input persona-flex-1 persona-pointer-events-auto",f.placeholder=e.freeTextPlaceholder??ed,f.setAttribute("data-ask-free-text-input","true"),f.setAttribute("aria-label",e.freeTextLabel??c),w.appendChild(f),u.appendChild(w);let v=sd(o,a,p.length);v&&u.appendChild(v),s.appendChild(u)}else{let u=m("button","persona-ask-pill persona-ask-pill-custom persona-pointer-events-auto");u.type="button",u.setAttribute("data-ask-user-action","open-free-text"),u.textContent=e.freeTextLabel??c,s.appendChild(u)}}return s},ad=(t,e)=>{let o=m("div",e==="rows"?"persona-ask-free-text persona-ask-free-text--rows persona-flex persona-gap-2 persona-mt-2":"persona-ask-free-text persona-hidden persona-flex persona-gap-2 persona-mt-2");o.setAttribute("data-ask-free-text-row","true");let r=document.createElement("input");if(r.type="text",r.className="persona-ask-free-text-input persona-flex-1 persona-pointer-events-auto",r.placeholder=t.freeTextPlaceholder??ed,r.setAttribute("data-ask-free-text-input","true"),o.appendChild(r),e!=="rows"){let s=m("button","persona-ask-free-text-submit persona-pointer-events-auto");s.type="button",s.textContent=t.submitLabel??td,s.setAttribute("data-ask-user-action","submit-free-text"),o.appendChild(s)}return o},_f=t=>{let e=m("div","persona-ask-multi-actions persona-flex persona-justify-end persona-mt-2");e.setAttribute("data-ask-multi-actions","true");let n=m("button","persona-ask-multi-submit persona-pointer-events-auto");return n.type="button",n.textContent=t.submitLabel??td,n.setAttribute("data-ask-user-action","submit-multi"),n.disabled=!0,e.appendChild(n),e},$f=(t,e,n)=>{let o=m("div","persona-ask-nav persona-flex persona-justify-between persona-items-center persona-gap-2 persona-mt-2");o.setAttribute("data-ask-nav-row","true");let r=m("button","persona-ask-nav-back persona-pointer-events-auto");r.type="button",r.textContent=n.backLabel??kf,r.setAttribute("data-ask-user-action","back"),r.disabled=t===0,o.appendChild(r);let s=m("div","persona-ask-nav-right persona-flex persona-items-center persona-gap-2"),a=m("button","persona-ask-nav-skip persona-pointer-events-auto");a.type="button",a.textContent=n.skipLabel??Pf,a.setAttribute("data-ask-user-action","skip"),s.appendChild(a);let l=m("button","persona-ask-nav-next persona-pointer-events-auto");l.type="button";let p=t===e-1;return l.textContent=p?n.submitAllLabel??Lf:n.nextLabel??Ef,l.setAttribute("data-ask-user-action",p?"submit-all":"next"),l.disabled=!0,s.appendChild(l),o.appendChild(s),o},Po=t=>{let e=t.getAttribute(nd);if(!e)return{};try{let n=JSON.parse(e);return n&&typeof n=="object"?n:{}}catch{return{}}},id=(t,e)=>{t.setAttribute(nd,JSON.stringify(e))},pn=t=>{let e=Number(t.getAttribute(ki)??"0");return Number.isFinite(e)?Math.max(0,Math.floor(e)):0},Uf=(t,e)=>{t.setAttribute(ki,String(Math.max(0,Math.floor(e))))},er=t=>{let e=Number(t.getAttribute(Li)??"1");return Number.isFinite(e)?Math.max(1,Math.floor(e)):1},Yn=t=>t.getAttribute(Pi)==="true",zf=(t,e)=>{let n=t.agentMetadata?.askUserQuestionAnswers;if(!n||typeof n!="object")return{};let o={};return e.forEach((r,s)=>{let a=typeof r?.question=="string"?r.question:"";if(a&&Object.prototype.hasOwnProperty.call(n,a)){let l=n[a];(typeof l=="string"||Array.isArray(l))&&(o[s]=l)}}),o},jf=(t,e)=>{let n=t.agentMetadata?.askUserQuestionIndex;return typeof n!="number"||!Number.isFinite(n)?0:Math.max(0,Math.min(e-1,Math.floor(n)))},Zs=(t,e)=>{let{payload:n}=Zo(e),o=zr(n),r=Po(t),s={},a=new Set;return o.forEach((l,p)=>{let d=typeof l?.question=="string"?l.question:"";d&&(a.has(d)&&typeof console<"u"&&console.warn(`[AgentWidget] ask_user_question has duplicate question text "${d}"; later answer wins.`),a.add(d),Object.prototype.hasOwnProperty.call(r,p)&&(s[d]=r[p]))}),s},ld=t=>{let e=Po(t),n=pn(t),o=e[n],r=new Set;typeof o=="string"?r.add(o):Array.isArray(o)&&o.forEach(p=>r.add(p));let s=t.querySelectorAll('[data-ask-user-action="pick"][data-option-label]');s.forEach(p=>{let d=p.getAttribute("data-option-label")??"",c=r.has(d);p.setAttribute("aria-pressed",c?"true":"false"),p.classList.toggle("persona-ask-pill-selected",c)});let a=new Set(Array.from(s).map(p=>p.getAttribute("data-option-label")??"")),l=t.querySelector('[data-ask-free-text-input="true"]');l&&(typeof o=="string"&&o.length>0&&!a.has(o)?(l.value=o,l.closest('[data-ask-free-text-row="true"]')?.classList.remove("persona-hidden")):l.value="")},cd=t=>{if(!Yn(t))return;let e=Po(t),n=pn(t),o=e[n],r=typeof o=="string"&&o.length>0||Array.isArray(o)&&o.length>0,s=t.querySelector('[data-ask-user-action="next"], [data-ask-user-action="submit-all"]');s&&(s.disabled=!r);let a=t.querySelector('[data-ask-user-action="submit-multi"]');if(a){let l=Array.from(t.querySelectorAll('[aria-pressed="true"][data-option-label]'));a.disabled=l.length===0}},Ri=(t,e,n)=>{let o=Ii(n),r=Wf(t),{payload:s,complete:a}=Zo(e),l=Yn(t),p=pn(t),d=er(t),c=l?Hf(s,p):Bf(s),u=!!c?.multiSelect,w=t.querySelector('[data-ask-step-inline="true"]');w&&(w.textContent=l?`${p+1}/${d}`:"");let f=t.querySelector('[data-ask-stepper="true"]');f&&f.remove();let v=t.querySelector('[data-ask-question="true"]');if(v){let T=typeof c?.question=="string"?c.question:"";v.textContent=T,v.classList.toggle("persona-ask-question-skeleton",!T&&!a)}let x=t.querySelector('[data-ask-pill-list="true"]');if(x){let T=Of(c,o,a,r);x.replaceWith(T)}if(r!=="rows"){let T=t.querySelector('[data-ask-free-text-row="true"]');T&&T.replaceWith(ad(o,r))}let P=t.querySelector('[data-ask-multi-actions="true"]');!l&&u&&!P?t.appendChild(_f(o)):(!u||l)&&P&&P.remove(),t.setAttribute("data-multi-select",u?"true":"false");let W=t.querySelector('[data-ask-nav-row="true"]');if(l){let T=$f(p,d,o);W?W.replaceWith(T):t.appendChild(T)}else W&&W.remove();ld(t),cd(t)},qf=(t,e,n)=>{let o=Ii(e),r=Rf(o),s=t.toolCall.id,a=zr(n),l=Math.max(1,a.length),p=l>1,d=zf(t,a),c=p?jf(t,l):0,u=m("div",["persona-ask-sheet",`persona-ask-sheet--${r}`,"persona-pointer-events-auto","persona-ask-sheet-enter"].join(" "));u.setAttribute(Yo,s),u.setAttribute("data-tool-call-id",s),u.setAttribute("data-message-id",t.id),u.setAttribute(Li,String(l)),u.setAttribute(ki,String(c)),u.setAttribute(Pi,p?"true":"false"),u.setAttribute(od,r),id(u,d),u.setAttribute("role","group"),u.setAttribute("aria-label","Suggested answers"),o.slideInMs!==void 0&&u.style.setProperty("--persona-ask-sheet-duration",`${o.slideInMs}ms`),Df(u,o);let w=m("div","persona-ask-sheet-header persona-flex persona-items-center persona-gap-3"),f=m("div","persona-ask-sheet-question persona-flex-1");f.setAttribute("data-ask-question","true"),f.textContent="",w.appendChild(f);let v=m("span","persona-ask-sheet-step-inline");v.setAttribute("data-ask-step-inline","true"),v.textContent="",w.appendChild(v),u.appendChild(w);let P=m("div",r==="rows"?"persona-ask-pills persona-ask-pills--rows persona-flex persona-flex-col persona-gap-2":"persona-ask-pills persona-flex persona-flex-wrap persona-gap-2");return P.setAttribute("data-ask-pill-list","true"),P.setAttribute("role","group"),u.appendChild(P),r!=="rows"&&u.appendChild(ad(o,r)),Ri(u,t,e),requestAnimationFrame(()=>{requestAnimationFrame(()=>u.classList.remove("persona-ask-sheet-enter"))}),u},Vf=(t,e,n)=>{let{payload:o}=Zo(e),r=Math.max(1,zr(o).length);r>er(t)&&(t.setAttribute(Li,String(r)),r>1&&!Yn(t)&&t.setAttribute(Pi,"true")),Ri(t,e,n)};var ea=(t,e,n)=>{if(!n||!Lo(t)||Ii(e).enabled===!1)return;let r=t.toolCall.id;n.querySelectorAll(`[${Yo}]`).forEach(d=>{d.getAttribute(Yo)!==r&&d.remove()});let a=n.querySelector(`[${Yo}="${rd(r)}"]`);if(a){Vf(a,t,e);return}let{payload:l}=Zo(t),p=qf(t,e,l);n.appendChild(p)},tr=(t,e)=>{if(!t)return;let n=e?`[${Yo}="${rd(e)}"]`:`[${Yo}]`;t.querySelectorAll(n).forEach(r=>{r.classList.add("persona-ask-sheet-leave");let s=Number.parseInt(getComputedStyle(r).getPropertyValue("--persona-ask-sheet-duration")||"180",10);setTimeout(()=>r.remove(),Number.isFinite(s)?s:180)})},Wi=t=>Array.from(t.querySelectorAll('[aria-pressed="true"][data-option-label]')).map(e=>e.getAttribute("data-option-label")).filter(e=>typeof e=="string"&&e.length>0),Zn=(t,e)=>{let n=Po(t),o=pn(t);typeof e=="string"&&e.length===0||Array.isArray(e)&&e.length===0?delete n[o]:n[o]=e,id(t,n),ld(t),cd(t)},ta=(t,e,n,o)=>{let r=er(t),s=Math.max(0,Math.min(r-1,o));Uf(t,s),Ri(t,e,n)};var Hn="suggest_replies";var Kf={type:"object",properties:{suggestions:{type:"array",minItems:1,maxItems:4,description:"1-4 short, distinct follow-up replies, phrased in the user's voice.",items:{type:"string",minLength:1,maxLength:60}}},required:["suggestions"],additionalProperties:!1},dd={name:Hn,description:`Offer the user tappable quick-reply suggestions for their next message. Call at most once per turn, as the LAST action after your reply text is complete. Each suggestion is sent verbatim as the user's next message, so phrase suggestions in the user's voice (e.g. "Tell me more about pricing"). Keep them short and distinct. The result only confirms the suggestions were shown: do not add further commentary after calling this tool; end your turn.`,parametersSchema:Kf,origin:"sdk",annotations:{readOnlyHint:!0}},Bi=()=>({content:[{type:"text",text:"Suggestions shown to the user."}]}),Hi=t=>t.variant==="tool"&&t.toolCall?.name===Hn,Gf=t=>{let e=t;if(typeof e=="string")try{e=JSON.parse(e)}catch{return[]}let n=e?.suggestions;if(!Array.isArray(n))return[];let o=n.filter(r=>typeof r=="string").map(r=>r.trim()).filter(r=>r.length>0);return o.length>4?(console.warn(`[persona] suggest_replies: ${o.length} suggestions exceeds the cap of 4; extra suggestions dropped.`),o.slice(0,4)):o},pd=t=>{for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.role==="user")return null;if(!Hi(n))continue;let o=Gf(n.toolCall?.args);return o.length>0?o:null}return null},ud=t=>{let e=t?.features?.suggestReplies;return e?.expose===!0&&e.enabled!==!1};var Xf={type:"object",properties:{questions:{type:"array",minItems:1,maxItems:Ur,description:"Questions to ask the user. Prefer a single question.",items:{type:"object",properties:{question:{type:"string",description:"The complete question, ending with a question mark."},header:{type:"string",maxLength:12,description:'Short topic label, e.g. "Auth method".'},options:{type:"array",minItems:2,maxItems:4,description:'2-4 distinct choices. Do NOT add an "Other" option: free text is automatic.',items:{type:"object",properties:{label:{type:"string",description:"Concise choice text (1-5 words)."},description:{type:"string",description:"What the option means or implies."}},required:["label"],additionalProperties:!1}},multiSelect:{type:"boolean",description:"Allow selecting multiple options. Default false."},allowFreeText:{type:"boolean",description:"Show a free-text input. Default true."}},required:["question","options"],additionalProperties:!1}}},required:["questions"],additionalProperties:!1},Qf={name:Ei,description:"Ask the user multiple-choice questions and wait for their answers. Use only when blocked on a decision that is the user's to make: a preference, a choice between valid approaches, or information you cannot infer. Each question offers 2-4 options plus an automatic free-text input. The result maps each question to its answer (an array when multiSelect); a question absent from the result was skipped.",parametersSchema:Xf,origin:"sdk",annotations:{readOnlyHint:!0}},na=t=>{let e=[],n=t?.features?.askUserQuestion;return n?.expose===!0&&n.enabled!==!1&&e.push(Qf),ud(t)&&e.push(dd),e};import{parse as Jf,STR as Yf,OBJ as Zf}from"partial-json";var fd=t=>t.replace(/\\n/g,`
9
- `).replace(/\\r/g,"\r").replace(/\\t/g," ").replace(/\\"/g,'"').replace(/\\\\/g,"\\"),eo=t=>{if(t===null)return"null";if(t===void 0)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return String(t);try{return JSON.stringify(t,null,2)}catch{return String(t)}},eg=t=>{let e=t.completedAt??Date.now(),n=t.startedAt??e,r=(t.durationMs!==void 0?t.durationMs:Math.max(0,e-n))/1e3;return r<.1?"Thought for <0.1 seconds":`Thought for ${r>=10?Math.round(r).toString():r.toFixed(1).replace(/\.0$/,"")} seconds`},gd=t=>t.status==="complete"?eg(t):t.status==="pending"?"Waiting":"",tg=t=>{let n=(typeof t.duration=="number"?t.duration:typeof t.durationMs=="number"?t.durationMs:Math.max(0,(t.completedAt??Date.now())-(t.startedAt??t.completedAt??Date.now())))/1e3;return n<.1?"Used tool for <0.1 seconds":`Used tool for ${n>=10?Math.round(n).toString():n.toFixed(1).replace(/\.0$/,"")} seconds`};var md=t=>t.status==="complete"?tg(t):"Using tool...",oa=t=>{let e=t/1e3;return e<.1?"<0.1s":e>=10?`${Math.round(e)}s`:`${e.toFixed(1).replace(/\.0$/,"")}s`},qr=t=>{let e=typeof t.duration=="number"?t.duration:typeof t.durationMs=="number"?t.durationMs:Math.max(0,(t.completedAt??Date.now())-(t.startedAt??t.completedAt??Date.now()));return oa(e)},ra=t=>{let e=t.durationMs!==void 0?t.durationMs:Math.max(0,(t.completedAt??Date.now())-(t.startedAt??t.completedAt??Date.now()));return oa(e)},Di=(t,e,n)=>{if(!e)return n;let o=t.name?.trim()||"tool",r=qr(t);return e.replace(/\{toolName\}/g,o).replace(/\{duration\}/g,r)},sa=(t,e)=>{let n=t.replace(/\{toolName\}/g,e),o=[],r=/\*\*(.+?)\*\*|\*(.+?)\*|~(.+?)~/g,s=0,a;for(;(a=r.exec(n))!==null;)a.index>s&&jr(o,n.slice(s,a.index),[]),a[1]!==void 0?jr(o,a[1],["bold"]):a[2]!==void 0?jr(o,a[2],["italic"]):a[3]!==void 0&&jr(o,a[3],["dim"]),s=a.index+a[0].length;return s<n.length&&jr(o,n.slice(s),[]),o},jr=(t,e,n)=>{let o=e.split("{duration}");for(let r=0;r<o.length;r++)o[r]&&t.push({text:o[r],styles:n}),r<o.length-1&&t.push({text:"{duration}",styles:n,isDuration:!0})},ng=()=>{let t=null,e=0,n=o=>{let r=/"text"\s*:\s*"((?:[^"\\]|\\.|")*?)"/,s=o.match(r);if(s&&s[1])try{return s[1].replace(/\\n/g,`
8
+ ${t.description}`:"");return window.confirm(n)},Of=t=>{if(t==null)return"";try{let e=JSON.stringify(t,null,2);return e.length>500?e.slice(0,500)+"\u2026":e}catch{return String(t)}},_f=t=>{if(t===void 0)return"{}";try{let e=JSON.stringify(t);return e===void 0?"{}":e}catch{return"{}"}},$f=t=>{if(t===void 0)return"";try{return JSON.stringify(t)}catch{return String(t)}};function ko(t,e){let n=t?.display;return n?typeof n=="string"?n:n.byType?.[e]??n.default??"panel":"panel"}function ta(t,e){return JSON.stringify({component:t==="inline"?"PersonaArtifactInline":"PersonaArtifactCard",props:{artifactId:e.artifactId,title:e.title,artifactType:e.artifactType,status:e.status,...e.file?{file:e.file}:{},...t==="inline"&&e.component?{component:e.component}:{},...t==="inline"&&e.componentProps?{componentProps:e.componentProps}:{},...e.markdown!==void 0?{markdown:e.markdown}:{}}})}var zf="agent_",Uf="flow_";function sd(t){return t.startsWith(zf)?{kind:"agentId",agentId:t}:t.startsWith(Uf)?{kind:"flowId",flowId:t}:null}function ad(t,e){let n=t.trim();if(!n)throw new Error("[Persona] `target` is empty.");let o=n.indexOf(":");if(o>0){let a=n.slice(0,o),l=n.slice(o+1);if(a==="runtype"){let d=sd(l);if(d)return d;throw new Error(`[Persona] target "runtype:${l}" is not a valid Runtype agent_/flow_ id.`)}let p=e?.[a];if(!p)throw new Error(`[Persona] No target provider registered for "${a}". Add a \`targetProviders.${a}\` resolver, or use a Runtype agent_/flow_ id.`);return{kind:"payload",payload:p(l).payload}}let r=sd(n);if(r)return r;let s=e?.default;if(s)return{kind:"payload",payload:s(n).payload};throw new 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.`)}import{parse as jf,ARR as qf,OBJ as Vf,STR as Kf}from"partial-json";var Ri="ask_user_question",qr=8,Yo="data-persona-ask-sheet-for",Gf="Other",Qf="Other\u2026",ld="Type your own answer here",cd="Send",Xf="Next",Jf="Back",Yf="Submit all",Zf="Skip",eg=3,Wi="data-ask-current-index",Bi="data-ask-question-count",dd="data-ask-answers",Hi="data-ask-grouped",pd="data-ask-layout",tg=t=>t.layout==="pills"?"pills":"rows",ng=t=>t.getAttribute(pd)==="pills"?"pills":"rows",id=!1,ud=t=>t.replace(/["\\]/g,"\\$&"),Lo=t=>t.variant==="tool"&&!!t.toolCall&&t.toolCall.name===Ri,Di=t=>t?.features?.askUserQuestion??{},Zo=t=>{let e=t.toolCall;if(!e)return{payload:null,complete:!1};let n=e.status==="complete";if(e.args&&typeof e.args=="object")return{payload:e.args,complete:n};let o=e.chunks;if(!o||o.length===0)return{payload:null,complete:n};try{let r=o.join(""),s=jf(r,Kf|Vf|qf);if(s&&typeof s=="object")return{payload:s,complete:n}}catch{}return{payload:null,complete:n}},Vr=t=>{let e=Array.isArray(t?.questions)?t.questions:[];return e.length>qr&&!id&&(id=!0,typeof console<"u"&&console.warn(`[AgentWidget] ask_user_question received ${e.length} questions; truncating to ${qr}.`)),e.slice(0,qr)},og=t=>Vr(t)[0]??null,rg=(t,e)=>Vr(t)[e]??null,sg=(t,e)=>{let n=e.styles;n&&(n.sheetBackground&&t.style.setProperty("--persona-ask-sheet-bg",n.sheetBackground),n.sheetBorder&&t.style.setProperty("--persona-ask-sheet-border",n.sheetBorder),n.sheetShadow&&t.style.setProperty("--persona-ask-sheet-shadow",n.sheetShadow),n.pillBackground&&t.style.setProperty("--persona-ask-pill-bg",n.pillBackground),n.pillBackgroundSelected&&t.style.setProperty("--persona-ask-pill-bg-selected",n.pillBackgroundSelected),n.pillTextColor&&t.style.setProperty("--persona-ask-pill-fg",n.pillTextColor),n.pillTextColorSelected&&t.style.setProperty("--persona-ask-pill-fg-selected",n.pillTextColorSelected),n.pillBorderRadius&&t.style.setProperty("--persona-ask-pill-radius",n.pillBorderRadius),n.customInputBackground&&t.style.setProperty("--persona-ask-input-bg",n.customInputBackground))},fd=(t,e,n)=>{if(t!=="rows")return null;let o=m("span","persona-ask-row-affordance");if(o.setAttribute("aria-hidden","true"),e){let r=m("span","persona-ask-row-check");o.appendChild(r)}else{let r=m("span","persona-ask-row-badge");r.textContent=String(n+1),o.appendChild(r)}return o},ag=(t,e,n,o)=>{let s=m("button",n==="rows"?"persona-ask-pill persona-ask-row persona-pointer-events-auto":"persona-ask-pill persona-pointer-events-auto");if(s.type="button",s.setAttribute("role",o?"checkbox":"button"),s.setAttribute("aria-pressed","false"),s.setAttribute("data-ask-user-action","pick"),s.setAttribute("data-option-index",String(e)),s.setAttribute("data-option-label",t.label),n==="rows"){let a=m("span","persona-ask-row-content"),l=m("span","persona-ask-row-label");if(l.textContent=t.label,a.appendChild(l),t.description){let d=m("span","persona-ask-row-description");d.textContent=t.description,a.appendChild(d)}s.appendChild(a);let p=fd(n,o,e);p&&s.appendChild(p)}else s.textContent=t.label,t.description&&(s.title=t.description);return s},ig=t=>{let n=m("span",t==="rows"?"persona-ask-pill persona-ask-row persona-ask-pill-skeleton persona-pointer-events-none":"persona-ask-pill persona-ask-pill-skeleton persona-pointer-events-none");return n.setAttribute("aria-hidden","true"),n},lg=(t,e,n,o)=>{let s=m("div",o==="rows"?"persona-ask-pills persona-ask-pills--rows persona-flex persona-flex-col persona-gap-2":"persona-ask-pills persona-flex persona-flex-wrap persona-gap-2");s.setAttribute("role","group"),s.setAttribute("data-ask-pill-list","true");let a=!!t?.multiSelect,p=(Array.isArray(t?.options)?t.options:[]).filter(c=>c&&typeof c.label=="string"&&c.label.length>0);if(p.length===0&&!n){for(let c=0;c<eg;c++)s.appendChild(ig(o));return s}if(p.forEach((c,u)=>{s.appendChild(ag(c,u,o,a))}),t?.allowFreeText!==!1){let c=o==="rows"?Gf:Qf;if(o==="rows"){let u=m("div","persona-ask-pill persona-ask-row persona-ask-row--other persona-ask-pill-custom persona-pointer-events-auto");u.setAttribute("data-ask-user-action","focus-free-text"),u.setAttribute("data-option-index",String(p.length)),u.setAttribute("data-ask-other-row","true");let w=m("span","persona-ask-row-content"),f=document.createElement("input");f.type="text",f.className="persona-ask-row-input persona-flex-1 persona-pointer-events-auto",f.placeholder=e.freeTextPlaceholder??ld,f.setAttribute("data-ask-free-text-input","true"),f.setAttribute("aria-label",e.freeTextLabel??c),w.appendChild(f),u.appendChild(w);let v=fd(o,a,p.length);v&&u.appendChild(v),s.appendChild(u)}else{let u=m("button","persona-ask-pill persona-ask-pill-custom persona-pointer-events-auto");u.type="button",u.setAttribute("data-ask-user-action","open-free-text"),u.textContent=e.freeTextLabel??c,s.appendChild(u)}}return s},gd=(t,e)=>{let o=m("div",e==="rows"?"persona-ask-free-text persona-ask-free-text--rows persona-flex persona-gap-2 persona-mt-2":"persona-ask-free-text persona-hidden persona-flex persona-gap-2 persona-mt-2");o.setAttribute("data-ask-free-text-row","true");let r=document.createElement("input");if(r.type="text",r.className="persona-ask-free-text-input persona-flex-1 persona-pointer-events-auto",r.placeholder=t.freeTextPlaceholder??ld,r.setAttribute("data-ask-free-text-input","true"),o.appendChild(r),e!=="rows"){let s=m("button","persona-ask-free-text-submit persona-pointer-events-auto");s.type="button",s.textContent=t.submitLabel??cd,s.setAttribute("data-ask-user-action","submit-free-text"),o.appendChild(s)}return o},cg=t=>{let e=m("div","persona-ask-multi-actions persona-flex persona-justify-end persona-mt-2");e.setAttribute("data-ask-multi-actions","true");let n=m("button","persona-ask-multi-submit persona-pointer-events-auto");return n.type="button",n.textContent=t.submitLabel??cd,n.setAttribute("data-ask-user-action","submit-multi"),n.disabled=!0,e.appendChild(n),e},dg=(t,e,n)=>{let o=m("div","persona-ask-nav persona-flex persona-justify-between persona-items-center persona-gap-2 persona-mt-2");o.setAttribute("data-ask-nav-row","true");let r=m("button","persona-ask-nav-back persona-pointer-events-auto");r.type="button",r.textContent=n.backLabel??Jf,r.setAttribute("data-ask-user-action","back"),r.disabled=t===0,o.appendChild(r);let s=m("div","persona-ask-nav-right persona-flex persona-items-center persona-gap-2"),a=m("button","persona-ask-nav-skip persona-pointer-events-auto");a.type="button",a.textContent=n.skipLabel??Zf,a.setAttribute("data-ask-user-action","skip"),s.appendChild(a);let l=m("button","persona-ask-nav-next persona-pointer-events-auto");l.type="button";let p=t===e-1;return l.textContent=p?n.submitAllLabel??Yf:n.nextLabel??Xf,l.setAttribute("data-ask-user-action",p?"submit-all":"next"),l.disabled=!0,s.appendChild(l),o.appendChild(s),o},Po=t=>{let e=t.getAttribute(dd);if(!e)return{};try{let n=JSON.parse(e);return n&&typeof n=="object"?n:{}}catch{return{}}},md=(t,e)=>{t.setAttribute(dd,JSON.stringify(e))},pn=t=>{let e=Number(t.getAttribute(Wi)??"0");return Number.isFinite(e)?Math.max(0,Math.floor(e)):0},pg=(t,e)=>{t.setAttribute(Wi,String(Math.max(0,Math.floor(e))))},er=t=>{let e=Number(t.getAttribute(Bi)??"1");return Number.isFinite(e)?Math.max(1,Math.floor(e)):1},eo=t=>t.getAttribute(Hi)==="true",ug=(t,e)=>{let n=t.agentMetadata?.askUserQuestionAnswers;if(!n||typeof n!="object")return{};let o={};return e.forEach((r,s)=>{let a=typeof r?.question=="string"?r.question:"";if(a&&Object.prototype.hasOwnProperty.call(n,a)){let l=n[a];(typeof l=="string"||Array.isArray(l))&&(o[s]=l)}}),o},fg=(t,e)=>{let n=t.agentMetadata?.askUserQuestionIndex;return typeof n!="number"||!Number.isFinite(n)?0:Math.max(0,Math.min(e-1,Math.floor(n)))},na=(t,e)=>{let{payload:n}=Zo(e),o=Vr(n),r=Po(t),s={},a=new Set;return o.forEach((l,p)=>{let d=typeof l?.question=="string"?l.question:"";d&&(a.has(d)&&typeof console<"u"&&console.warn(`[AgentWidget] ask_user_question has duplicate question text "${d}"; later answer wins.`),a.add(d),Object.prototype.hasOwnProperty.call(r,p)&&(s[d]=r[p]))}),s},hd=t=>{let e=Po(t),n=pn(t),o=e[n],r=new Set;typeof o=="string"?r.add(o):Array.isArray(o)&&o.forEach(p=>r.add(p));let s=t.querySelectorAll('[data-ask-user-action="pick"][data-option-label]');s.forEach(p=>{let d=p.getAttribute("data-option-label")??"",c=r.has(d);p.setAttribute("aria-pressed",c?"true":"false"),p.classList.toggle("persona-ask-pill-selected",c)});let a=new Set(Array.from(s).map(p=>p.getAttribute("data-option-label")??"")),l=t.querySelector('[data-ask-free-text-input="true"]');l&&(typeof o=="string"&&o.length>0&&!a.has(o)?(l.value=o,l.closest('[data-ask-free-text-row="true"]')?.classList.remove("persona-hidden")):l.value="")},yd=t=>{if(!eo(t))return;let e=Po(t),n=pn(t),o=e[n],r=typeof o=="string"&&o.length>0||Array.isArray(o)&&o.length>0,s=t.querySelector('[data-ask-user-action="next"], [data-ask-user-action="submit-all"]');s&&(s.disabled=!r);let a=t.querySelector('[data-ask-user-action="submit-multi"]');if(a){let l=Array.from(t.querySelectorAll('[aria-pressed="true"][data-option-label]'));a.disabled=l.length===0}},Ni=(t,e,n)=>{let o=Di(n),r=ng(t),{payload:s,complete:a}=Zo(e),l=eo(t),p=pn(t),d=er(t),c=l?rg(s,p):og(s),u=!!c?.multiSelect,w=t.querySelector('[data-ask-step-inline="true"]');w&&(w.textContent=l?`${p+1}/${d}`:"");let f=t.querySelector('[data-ask-stepper="true"]');f&&f.remove();let v=t.querySelector('[data-ask-question="true"]');if(v){let E=typeof c?.question=="string"?c.question:"";v.textContent=E,v.classList.toggle("persona-ask-question-skeleton",!E&&!a)}let C=t.querySelector('[data-ask-pill-list="true"]');if(C){let E=lg(c,o,a,r);C.replaceWith(E)}if(r!=="rows"){let E=t.querySelector('[data-ask-free-text-row="true"]');E&&E.replaceWith(gd(o,r))}let P=t.querySelector('[data-ask-multi-actions="true"]');!l&&u&&!P?t.appendChild(cg(o)):(!u||l)&&P&&P.remove(),t.setAttribute("data-multi-select",u?"true":"false");let H=t.querySelector('[data-ask-nav-row="true"]');if(l){let E=dg(p,d,o);H?H.replaceWith(E):t.appendChild(E)}else H&&H.remove();hd(t),yd(t)},gg=(t,e,n)=>{let o=Di(e),r=tg(o),s=t.toolCall.id,a=Vr(n),l=Math.max(1,a.length),p=l>1,d=ug(t,a),c=p?fg(t,l):0,u=m("div",["persona-ask-sheet",`persona-ask-sheet--${r}`,"persona-pointer-events-auto","persona-ask-sheet-enter"].join(" "));u.setAttribute(Yo,s),u.setAttribute("data-tool-call-id",s),u.setAttribute("data-message-id",t.id),u.setAttribute(Bi,String(l)),u.setAttribute(Wi,String(c)),u.setAttribute(Hi,p?"true":"false"),u.setAttribute(pd,r),md(u,d),u.setAttribute("role","group"),u.setAttribute("aria-label","Suggested answers"),o.slideInMs!==void 0&&u.style.setProperty("--persona-ask-sheet-duration",`${o.slideInMs}ms`),sg(u,o);let w=m("div","persona-ask-sheet-header persona-flex persona-items-center persona-gap-3"),f=m("div","persona-ask-sheet-question persona-flex-1");f.setAttribute("data-ask-question","true"),f.textContent="",w.appendChild(f);let v=m("span","persona-ask-sheet-step-inline");v.setAttribute("data-ask-step-inline","true"),v.textContent="",w.appendChild(v),u.appendChild(w);let P=m("div",r==="rows"?"persona-ask-pills persona-ask-pills--rows persona-flex persona-flex-col persona-gap-2":"persona-ask-pills persona-flex persona-flex-wrap persona-gap-2");return P.setAttribute("data-ask-pill-list","true"),P.setAttribute("role","group"),u.appendChild(P),r!=="rows"&&u.appendChild(gd(o,r)),Ni(u,t,e),requestAnimationFrame(()=>{requestAnimationFrame(()=>u.classList.remove("persona-ask-sheet-enter"))}),u},mg=(t,e,n)=>{let{payload:o}=Zo(e),r=Math.max(1,Vr(o).length);r>er(t)&&(t.setAttribute(Bi,String(r)),r>1&&!eo(t)&&t.setAttribute(Hi,"true")),Ni(t,e,n)};var oa=(t,e,n)=>{if(!n||!Lo(t)||Di(e).enabled===!1)return;let r=t.toolCall.id;n.querySelectorAll(`[${Yo}]`).forEach(d=>{d.getAttribute(Yo)!==r&&d.remove()});let a=n.querySelector(`[${Yo}="${ud(r)}"]`);if(a){mg(a,t,e);return}let{payload:l}=Zo(t),p=gg(t,e,l);n.appendChild(p)},tr=(t,e)=>{if(!t)return;let n=e?`[${Yo}="${ud(e)}"]`:`[${Yo}]`;t.querySelectorAll(n).forEach(r=>{r.classList.add("persona-ask-sheet-leave");let s=Number.parseInt(getComputedStyle(r).getPropertyValue("--persona-ask-sheet-duration")||"180",10);setTimeout(()=>r.remove(),Number.isFinite(s)?s:180)})},Fi=t=>Array.from(t.querySelectorAll('[aria-pressed="true"][data-option-label]')).map(e=>e.getAttribute("data-option-label")).filter(e=>typeof e=="string"&&e.length>0),to=(t,e)=>{let n=Po(t),o=pn(t);typeof e=="string"&&e.length===0||Array.isArray(e)&&e.length===0?delete n[o]:n[o]=e,md(t,n),hd(t),yd(t)},ra=(t,e,n,o)=>{let r=er(t),s=Math.max(0,Math.min(r-1,o));pg(t,s),Ni(t,e,n)};var Nn="suggest_replies";var hg={type:"object",properties:{suggestions:{type:"array",minItems:1,maxItems:4,description:"1-4 short, distinct follow-up replies, phrased in the user's voice.",items:{type:"string",minLength:1,maxLength:60}}},required:["suggestions"],additionalProperties:!1},bd={name:Nn,description:`Offer the user tappable quick-reply suggestions for their next message. Call at most once per turn, as the LAST action after your reply text is complete. Each suggestion is sent verbatim as the user's next message, so phrase suggestions in the user's voice (e.g. "Tell me more about pricing"). Keep them short and distinct. The result only confirms the suggestions were shown: do not add further commentary after calling this tool; end your turn.`,parametersSchema:hg,origin:"sdk",annotations:{readOnlyHint:!0}},Oi=()=>({content:[{type:"text",text:"Suggestions shown to the user."}]}),_i=t=>t.variant==="tool"&&t.toolCall?.name===Nn,yg=t=>{let e=t;if(typeof e=="string")try{e=JSON.parse(e)}catch{return[]}let n=e?.suggestions;if(!Array.isArray(n))return[];let o=n.filter(r=>typeof r=="string").map(r=>r.trim()).filter(r=>r.length>0);return o.length>4?(console.warn(`[persona] suggest_replies: ${o.length} suggestions exceeds the cap of 4; extra suggestions dropped.`),o.slice(0,4)):o},vd=t=>{for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.role==="user")return null;if(!_i(n))continue;let o=yg(n.toolCall?.args);return o.length>0?o:null}return null},wd=t=>{let e=t?.features?.suggestReplies;return e?.expose===!0&&e.enabled!==!1};var bg={type:"object",properties:{questions:{type:"array",minItems:1,maxItems:qr,description:"Questions to ask the user. Prefer a single question.",items:{type:"object",properties:{question:{type:"string",description:"The complete question, ending with a question mark."},header:{type:"string",maxLength:12,description:'Short topic label, e.g. "Auth method".'},options:{type:"array",minItems:2,maxItems:4,description:'2-4 distinct choices. Do NOT add an "Other" option: free text is automatic.',items:{type:"object",properties:{label:{type:"string",description:"Concise choice text (1-5 words)."},description:{type:"string",description:"What the option means or implies."}},required:["label"],additionalProperties:!1}},multiSelect:{type:"boolean",description:"Allow selecting multiple options. Default false."},allowFreeText:{type:"boolean",description:"Show a free-text input. Default true."}},required:["question","options"],additionalProperties:!1}}},required:["questions"],additionalProperties:!1},vg={name:Ri,description:"Ask the user multiple-choice questions and wait for their answers. Use only when blocked on a decision that is the user's to make: a preference, a choice between valid approaches, or information you cannot infer. Each question offers 2-4 options plus an automatic free-text input. The result maps each question to its answer (an array when multiSelect); a question absent from the result was skipped.",parametersSchema:bg,origin:"sdk",annotations:{readOnlyHint:!0}},sa=t=>{let e=[],n=t?.features?.askUserQuestion;return n?.expose===!0&&n.enabled!==!1&&e.push(vg),wd(t)&&e.push(bd),e};import{parse as wg,STR as xg,OBJ as Cg}from"partial-json";var xd=t=>t.replace(/\\n/g,`
9
+ `).replace(/\\r/g,"\r").replace(/\\t/g," ").replace(/\\"/g,'"').replace(/\\\\/g,"\\"),no=t=>{if(t===null)return"null";if(t===void 0)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return String(t);try{return JSON.stringify(t,null,2)}catch{return String(t)}},Ag=t=>{let e=t.completedAt??Date.now(),n=t.startedAt??e,r=(t.durationMs!==void 0?t.durationMs:Math.max(0,e-n))/1e3;return r<.1?"Thought for <0.1 seconds":`Thought for ${r>=10?Math.round(r).toString():r.toFixed(1).replace(/\.0$/,"")} seconds`},Cd=t=>t.status==="complete"?Ag(t):t.status==="pending"?"Waiting":"",Sg=t=>{let n=(typeof t.duration=="number"?t.duration:typeof t.durationMs=="number"?t.durationMs:Math.max(0,(t.completedAt??Date.now())-(t.startedAt??t.completedAt??Date.now())))/1e3;return n<.1?"Used tool for <0.1 seconds":`Used tool for ${n>=10?Math.round(n).toString():n.toFixed(1).replace(/\.0$/,"")} seconds`};var Ad=t=>t.status==="complete"?Sg(t):"Using tool...",aa=t=>{let e=t/1e3;return e<.1?"<0.1s":e>=10?`${Math.round(e)}s`:`${e.toFixed(1).replace(/\.0$/,"")}s`},Gr=t=>{let e=typeof t.duration=="number"?t.duration:typeof t.durationMs=="number"?t.durationMs:Math.max(0,(t.completedAt??Date.now())-(t.startedAt??t.completedAt??Date.now()));return aa(e)},ia=t=>{let e=t.durationMs!==void 0?t.durationMs:Math.max(0,(t.completedAt??Date.now())-(t.startedAt??t.completedAt??Date.now()));return aa(e)},$i=(t,e,n)=>{if(!e)return n;let o=t.name?.trim()||"tool",r=Gr(t);return e.replace(/\{toolName\}/g,o).replace(/\{duration\}/g,r)},la=(t,e)=>{let n=t.replace(/\{toolName\}/g,e),o=[],r=/\*\*(.+?)\*\*|\*(.+?)\*|~(.+?)~/g,s=0,a;for(;(a=r.exec(n))!==null;)a.index>s&&Kr(o,n.slice(s,a.index),[]),a[1]!==void 0?Kr(o,a[1],["bold"]):a[2]!==void 0?Kr(o,a[2],["italic"]):a[3]!==void 0&&Kr(o,a[3],["dim"]),s=a.index+a[0].length;return s<n.length&&Kr(o,n.slice(s),[]),o},Kr=(t,e,n)=>{let o=e.split("{duration}");for(let r=0;r<o.length;r++)o[r]&&t.push({text:o[r],styles:n}),r<o.length-1&&t.push({text:"{duration}",styles:n,isDuration:!0})},Tg=()=>{let t=null,e=0,n=o=>{let r=/"text"\s*:\s*"((?:[^"\\]|\\.|")*?)"/,s=o.match(r);if(s&&s[1])try{return s[1].replace(/\\n/g,`
10
10
  `).replace(/\\r/g,"\r").replace(/\\t/g," ").replace(/\\"/g,'"').replace(/\\\\/g,"\\")}catch{return s[1]}let a=/"text"\s*:\s*"((?:[^"\\]|\\.)*)/,l=o.match(a);if(l&&l[1])try{return l[1].replace(/\\n/g,`
11
- `).replace(/\\r/g,"\r").replace(/\\t/g," ").replace(/\\"/g,'"').replace(/\\\\/g,"\\")}catch{return l[1]}return null};return{getExtractedText:()=>t,processChunk:async o=>{if(o.length<=e)return t!==null?{text:t,raw:o}:null;let r=o.trim();if(!r.startsWith("{")&&!r.startsWith("["))return null;let s=n(o);return s!==null&&(t=s),e=o.length,t!==null?{text:t,raw:o}:null},close:async()=>{}}},Vr=t=>{try{let e=JSON.parse(t);if(e&&typeof e=="object"&&typeof e.text=="string")return e.text}catch{return null}return null},hd=()=>{let t={processChunk:e=>null,getExtractedText:()=>null};return t.__isPlainTextParser=!0,t},yd=()=>{let t=ng();return{processChunk:async e=>{let n=e.trim();return!n.startsWith("{")&&!n.startsWith("[")?null:t.processChunk(e)},getExtractedText:t.getExtractedText.bind(t),close:t.close?.bind(t)}},bd=()=>{let t=null,e=0;return{getExtractedText:()=>t,processChunk:n=>{let o=n.trim();if(!o.startsWith("{")&&!o.startsWith("["))return null;if(n.length<=e)return t!==null||t===""?{text:t||"",raw:n}:null;try{let r=Jf(n,Yf|Zf);r&&typeof r=="object"&&(r.component&&typeof r.component=="string"?t=typeof r.text=="string"?fd(r.text):"":r.type==="init"&&r.form?t="":typeof r.text=="string"&&(t=fd(r.text)))}catch{}return e=n.length,t!==null?{text:t,raw:n}:null},close:()=>{}}};var vd=()=>{let t=null;return{processChunk:e=>{if(!e.trim().startsWith("<"))return null;let o=e.match(/<text[^>]*>([\s\S]*?)<\/text>/);return o&&o[1]?(t=o[1],{text:t,raw:e}):null},getExtractedText:()=>t}};var wd="4.8.0";var Kr=wd;var rg="https://api.runtype.com/v1/dispatch",aa="https://api.runtype.com";function sg(t){let e=t.toLowerCase(),o={"application/pdf":"pdf","application/json":"json","application/zip":"zip","text/plain":"txt","text/csv":"csv","text/markdown":"md"}[e];if(o)return`attachment.${o}`;let r=e.indexOf("/");if(r>0){let s=e.slice(r+1).split(";")[0]?.trim()??"";if(s&&s!=="octet-stream"&&/^[a-z0-9.+-]+$/i.test(s))return`attachment.${s}`}return"attachment"}var Ni=t=>!!(t.contentParts&&t.contentParts.length>0||t.llmContent&&t.llmContent.trim().length>0||t.rawContent&&t.rawContent.trim().length>0||t.content&&t.content.trim().length>0);function ag(t){switch(t){case"json":return bd;case"regex-json":return yd;case"xml":return vd;default:return hd}}var xd=t=>t.startsWith("{")||t.startsWith("[")||t.startsWith("<");function ig(t,e){if(!t)return e;let n=t.trim(),o=e.trim();if(n.length===0)return e;if(o.length===0)return t;let r=xd(n);if(!xd(o))return t;if(!r||o===n||o.startsWith(n))return e;let a=Vr(t);return Vr(e)!==null&&a===null?e:t}var Gr=class{constructor(e={}){this.config=e;this.clientSession=null;this.sessionInitPromise=null;this.lastSentClientToolsFingerprint=null;this.clientToolsFingerprintSessionId=null;this.sentNonEmptyClientToolsSessionId=null;if(e.target&&(e.agentId||e.flowId||e.agent))throw new Error("[Persona] `target` is mutually exclusive with `agentId`, `flowId`, and `agent`. Set only one routing field.");this.apiUrl=e.apiUrl??rg,this.headers={"Content-Type":"application/json","X-Persona-Version":Kr,...e.headers},this.debug=!!e.debug,this.createStreamParser=e.streamParser??ag(e.parserType),this.contextProviders=e.contextProviders??[],this.requestMiddleware=e.requestMiddleware,this.customFetch=e.customFetch,this.parseSSEEvent=e.parseSSEEvent,this.getHeaders=e.getHeaders,this.webMcpBridge=e.webmcp?.enabled===!0?new Js(e.webmcp):null}updateConfig(e){this.config=e}setSSEEventCallback(e){this.onSSEEvent=e}setWebMcpConfirmHandler(e){this.webMcpBridge?.setConfirmHandler(e)}isWebMcpOperational(){return this.webMcpBridge?.isOperational()===!0}executeWebMcpToolCall(e,n,o){return this.webMcpBridge?this.webMcpBridge.executeToolCall(e,n,o):null}getSSEEventCallback(){return this.onSSEEvent}isClientTokenMode(){return!!this.config.clientToken}routing(){let{agentId:e,flowId:n,target:o,targetProviders:r}=this.config;if(!o)return{agentId:e,flowId:n};let s=Jc(o,r);return s.kind==="agentId"?{agentId:s.agentId}:s.kind==="flowId"?{flowId:s.flowId}:{targetPayload:s.payload}}isAgentMode(){return!!(this.config.agent||this.routing().agentId)}getClientApiUrl(e){return`${this.config.apiUrl?.replace(/\/+$/,"").replace(/\/v1\/dispatch$/,"")||aa}/v1/client/${e}`}getClientSession(){return this.clientSession}async initSession(){if(!this.isClientTokenMode())throw new Error("initSession() only available in client token mode");if(this.clientSession&&new Date<this.clientSession.expiresAt)return this.clientSession;if(this.sessionInitPromise)return this.sessionInitPromise;this.sessionInitPromise=this._doInitSession();try{let e=await this.sessionInitPromise;return this.clientSession=e,this.resetClientToolsFingerprint(),this.config.onSessionInit?.(e),e}finally{this.sessionInitPromise=null}}async _doInitSession(){let e=this.config.getStoredSessionId?.()||null,n=this.routing(),o=n.agentId??n.flowId,r={token:this.config.clientToken,...o&&{flowId:o},...e&&{sessionId:e}},s=await fetch(this.getClientApiUrl("init"),{method:"POST",headers:{"Content-Type":"application/json","X-Persona-Version":Kr},body:JSON.stringify(r)});if(!s.ok){let l=await s.json().catch(()=>({error:"Session initialization failed"}));throw s.status===401?new Error(`Invalid client token: ${l.hint||l.error}`):s.status===403?new Error(`Origin not allowed: ${l.hint||l.error}`):new Error(l.error||"Failed to initialize session")}let a=await s.json();return this.config.setStoredSessionId&&this.config.setStoredSessionId(a.sessionId),{sessionId:a.sessionId,expiresAt:new Date(a.expiresAt),flow:a.flow,config:{welcomeMessage:a.config.welcomeMessage,placeholder:a.config.placeholder,theme:a.config.theme}}}clearClientSession(){this.clientSession=null,this.sessionInitPromise=null,this.resetClientToolsFingerprint()}resetClientToolsFingerprint(){this.lastSentClientToolsFingerprint=null,this.clientToolsFingerprintSessionId=null,this.sentNonEmptyClientToolsSessionId=null}getFeedbackApiUrl(){return`${this.config.apiUrl?.replace(/\/+$/,"").replace(/\/v1\/dispatch$/,"")||aa}/v1/client/feedback`}async sendFeedback(e){if(!this.isClientTokenMode())throw new Error("sendFeedback() only available in client token mode");if(!this.getClientSession())throw new Error("No active session. Please initialize session first.");if(["upvote","downvote","copy"].includes(e.type)&&!e.messageId)throw new Error(`messageId is required for ${e.type} feedback type`);if(e.type==="csat"&&(e.rating===void 0||e.rating<1||e.rating>5))throw new Error("CSAT rating must be between 1 and 5");if(e.type==="nps"&&(e.rating===void 0||e.rating<0||e.rating>10))throw new Error("NPS rating must be between 0 and 10");this.debug&&console.debug("[AgentWidgetClient] sending feedback",e);let r={...e,...this.config.clientToken&&{token:this.config.clientToken}},s=await fetch(this.getFeedbackApiUrl(),{method:"POST",headers:{"Content-Type":"application/json","X-Persona-Version":Kr},body:JSON.stringify(r)});if(!s.ok){let a=await s.json().catch(()=>({error:"Feedback submission failed"}));throw s.status===401?(this.clientSession=null,this.config.onSessionExpired?.(),new Error("Session expired. Please refresh to continue.")):new Error(a.error||"Failed to submit feedback")}}async submitMessageFeedback(e,n){let o=this.getClientSession();if(!o)throw new Error("No active session. Please initialize session first.");return this.sendFeedback({sessionId:o.sessionId,messageId:e,type:n})}async submitCSATFeedback(e,n){let o=this.getClientSession();if(!o)throw new Error("No active session. Please initialize session first.");return this.sendFeedback({sessionId:o.sessionId,type:"csat",rating:e,comment:n})}async submitNPSFeedback(e,n){let o=this.getClientSession();if(!o)throw new Error("No active session. Please initialize session first.");return this.sendFeedback({sessionId:o.sessionId,type:"nps",rating:e,comment:n})}async dispatch(e,n){return e.signal?.throwIfAborted(),this.isClientTokenMode()?this.dispatchClientToken(e,n):this.isAgentMode()?this.dispatchAgent(e,n):this.dispatchProxy(e,n)}async dispatchClientToken(e,n){n({type:"status",status:"connecting"});try{let o=await this.initSession();if(new Date>=new Date(o.expiresAt.getTime()-6e4)){this.clearClientSession(),this.config.onSessionExpired?.();let d=new Error("Session expired. Please refresh to continue.");throw n({type:"error",error:d}),d}let r=await this.buildPayload(e.messages),s=r.metadata?Object.fromEntries(Object.entries(r.metadata).filter(([d])=>d!=="sessionId"&&d!=="session_id")):void 0,a={sessionId:o.sessionId,messages:e.messages.filter(Ni).map(d=>({id:d.id,role:d.role,content:d.contentParts??d.llmContent??d.rawContent??d.content})),...e.assistantMessageId&&{assistantMessageId:e.assistantMessageId},...s&&Object.keys(s).length>0&&{metadata:s},...r.inputs&&Object.keys(r.inputs).length>0&&{inputs:r.inputs},...r.context&&{context:r.context}},{response:l,commit:p}=await this.sendWithClientToolsDiff(o.sessionId,r.clientTools,d=>{let c={...a,...d};return this.debug&&console.debug("[AgentWidgetClient] client token dispatch",c),fetch(this.getClientApiUrl("chat"),{method:"POST",headers:{"Content-Type":"application/json","X-Persona-Version":Kr},body:JSON.stringify(c),signal:e.signal})});if(!l.ok){let d=await l.json().catch(()=>({error:"Chat request failed"}));if(l.status===401){this.clearClientSession(),this.config.onSessionExpired?.();let u=new Error("Session expired. Please refresh to continue.");throw n({type:"error",error:u}),u}if(l.status===429){let u=new Error(d.hint||"Message limit reached for this session.");throw n({type:"error",error:u}),u}let c=new Error(d.error||"Failed to send message");throw n({type:"error",error:c}),c}if(!l.body){let d=new Error("No response body received");throw n({type:"error",error:d}),d}p(),n({type:"status",status:"connected"});try{await this.streamResponse(l.body,n,e.assistantMessageId)}finally{n({type:"status",status:"idle"})}}catch(o){let r=o instanceof Error?o:new Error(String(o));throw!r.message.includes("Session expired")&&!r.message.includes("Message limit")&&n({type:"error",error:r}),r}}async dispatchProxy(e,n){n({type:"status",status:"connecting"});let o=await this.buildPayload(e.messages);this.debug&&console.debug("[AgentWidgetClient] dispatch payload",o);let r={...this.headers};if(this.getHeaders)try{let a=await this.getHeaders();r={...r,...a}}catch(a){typeof console<"u"&&console.error("[AgentWidget] getHeaders error:",a)}let s;if(this.customFetch)try{s=await this.customFetch(this.apiUrl,{method:"POST",headers:r,body:JSON.stringify(o),signal:e.signal},o)}catch(a){let l=a instanceof Error?a:new Error(String(a));throw n({type:"error",error:l}),l}else s=await fetch(this.apiUrl,{method:"POST",headers:r,body:JSON.stringify(o),signal:e.signal});if(!s.ok||!s.body){let a=new Error(`Chat backend request failed: ${s.status} ${s.statusText}`);throw n({type:"error",error:a}),a}n({type:"status",status:"connected"});try{await this.streamResponse(s.body,n)}finally{n({type:"status",status:"idle"})}}async dispatchAgent(e,n){n({type:"status",status:"connecting"});let o=await this.buildAgentPayload(e.messages);this.debug&&console.debug("[AgentWidgetClient] agent dispatch payload",o);let r={...this.headers};if(this.getHeaders)try{let a=await this.getHeaders();r={...r,...a}}catch(a){typeof console<"u"&&console.error("[AgentWidget] getHeaders error:",a)}let s;if(this.customFetch)try{s=await this.customFetch(this.apiUrl,{method:"POST",headers:r,body:JSON.stringify(o),signal:e.signal},o)}catch(a){let l=a instanceof Error?a:new Error(String(a));throw n({type:"error",error:l}),l}else s=await fetch(this.apiUrl,{method:"POST",headers:r,body:JSON.stringify(o),signal:e.signal});if(!s.ok||!s.body){let a=new Error(`Agent execution request failed: ${s.status} ${s.statusText}`);throw n({type:"error",error:a}),a}n({type:"status",status:"connected"});try{await this.streamResponse(s.body,n,e.assistantMessageId)}finally{n({type:"status",status:"idle"})}}async processStream(e,n,o,r){n({type:"status",status:"connected"});try{await this.streamResponse(e,n,o,r)}finally{n({type:"status",status:"idle"})}}async resolveApproval(e,n){let r=`${this.config.apiUrl?.replace(/\/+$/,"").replace(/\/v1\/dispatch$/,"")||aa}/v1/agents/${e.agentId}/approve`,s={"Content-Type":"application/json",...this.headers};return this.getHeaders&&Object.assign(s,await this.getHeaders()),fetch(r,{method:"POST",headers:s,body:JSON.stringify({executionId:e.executionId,approvalId:e.approvalId,decision:n,streamResponse:!0})})}async sendWithClientToolsDiff(e,n,o,r){let s=!!(n&&n.length>0),a=s?Gc(n):void 0,l=this.clientToolsFingerprintSessionId===e,p=s&&l&&this.lastSentClientToolsFingerprint===a,d=!s&&r?.emptyMeansReplace===!0&&this.sentNonEmptyClientToolsSessionId===e,c=!1,u;for(let w=0;;w++){if(u=await o({...s&&(c||!p)&&n?{clientTools:n}:{},...d?{clientTools:[]}:{},...a?{clientToolsFingerprint:a}:{}}),u.status===409&&w===0&&s&&(await u.clone().json().catch(()=>null))?.error==="client_tools_resend_required"){c=!0,this.lastSentClientToolsFingerprint=null;continue}break}return{response:u,commit:()=>{this.lastSentClientToolsFingerprint=a??null,this.clientToolsFingerprintSessionId=e,s?this.sentNonEmptyClientToolsSessionId=e:d&&(this.sentNonEmptyClientToolsSessionId=null)}}}async resumeFlow(e,n,o){let r=this.isClientTokenMode(),s=r?this.getClientApiUrl("resume"):`${this.config.apiUrl?.replace(/\/+$/,"")||aa}/resume`,a;r&&(a=(await this.initSession()).sessionId);let l={"Content-Type":"application/json",...this.headers};this.getHeaders&&Object.assign(l,await this.getHeaders());let p={executionId:e,toolOutputs:n,streamResponse:o?.streamResponse??!0};if(a&&(p.sessionId=a),r&&a){let d=[...na(this.config),...await this.webMcpBridge?.snapshotForDispatch()??[]],{response:c,commit:u}=await this.sendWithClientToolsDiff(a,d,w=>{let f={...p,...w};return this.debug&&console.debug("[AgentWidgetClient] client token resume",f),fetch(s,{method:"POST",headers:l,body:JSON.stringify(f),signal:o?.signal})},{emptyMeansReplace:!0});return c.ok&&u(),c}return fetch(s,{method:"POST",headers:l,body:JSON.stringify(p),signal:o?.signal})}async buildAgentPayload(e){let n=this.routing().agentId;if(!this.config.agent&&!n)throw new Error("Agent configuration required for agent mode");let o=e.slice().filter(Ni).filter(a=>a.role==="user"||a.role==="assistant"||a.role==="system").filter(a=>!a.variant||a.variant==="assistant").sort((a,l)=>{let p=new Date(a.createdAt).getTime(),d=new Date(l.createdAt).getTime();return p-d}).map(a=>({role:a.role,content:a.contentParts??a.llmContent??a.rawContent??a.content,createdAt:a.createdAt})),r={agent:this.config.agent??{agentId:n},messages:o,options:{streamResponse:!0,recordMode:"virtual",...this.config.agentOptions}},s=[...na(this.config),...await this.webMcpBridge?.snapshotForDispatch()??[]];if(s.length>0&&(r.clientTools=s),this.contextProviders.length){let a={};await Promise.all(this.contextProviders.map(async l=>{try{let p=await l({messages:e,config:this.config});p&&typeof p=="object"&&Object.assign(a,p)}catch(p){typeof console<"u"&&console.warn("[AgentWidget] Context provider failed:",p)}})),Object.keys(a).length&&(r.context=a)}return r}async buildPayload(e){let n=e.slice().filter(Ni).sort((a,l)=>{let p=new Date(a.createdAt).getTime(),d=new Date(l.createdAt).getTime();return p-d}).map(a=>({role:a.role,content:a.contentParts??a.llmContent??a.rawContent??a.content,createdAt:a.createdAt})),o=this.routing(),r={messages:n,...o.agentId?{agent:{agentId:o.agentId}}:o.flowId?{flowId:o.flowId}:{}};if(o.targetPayload)for(let[a,l]of Object.entries(o.targetPayload))a!=="messages"&&(r[a]=l);let s=[...na(this.config),...await this.webMcpBridge?.snapshotForDispatch()??[]];if(s.length>0&&(r.clientTools=s),this.contextProviders.length){let a={};await Promise.all(this.contextProviders.map(async l=>{try{let p=await l({messages:e,config:this.config});p&&typeof p=="object"&&Object.assign(a,p)}catch(p){typeof console<"u"&&console.warn("[AgentWidget] Context provider failed:",p)}})),Object.keys(a).length&&(r.context=a)}if(this.requestMiddleware)try{let a=await this.requestMiddleware({payload:{...r},config:this.config});if(a&&typeof a=="object"){let l=a;return r.clientTools!==void 0&&!("clientTools"in l)&&(l.clientTools=r.clientTools),l}}catch(a){typeof console<"u"&&console.error("[AgentWidget] Request middleware error:",a)}return r}async handleCustomSSEEvent(e,n,o,r,s,a){if(!this.parseSSEEvent)return!1;try{let l=await this.parseSSEEvent(e);if(l===null)return!1;let p=c=>{let u={id:`assistant-${Date.now()}-${Math.random().toString(16).slice(2)}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,variant:"assistant",sequence:s(),...c!==void 0&&{partId:c}};return o.current=u,r(u),u},d=c=>o.current?o.current:p(c);if(l.text!==void 0){l.partId!==void 0&&a.current!==null&&l.partId!==a.current&&(o.current&&(o.current.streaming=!1,r(o.current)),p(l.partId)),l.partId!==void 0&&(a.current=l.partId);let c=d(l.partId);l.partId!==void 0&&!c.partId&&(c.partId=l.partId),c.content+=l.text,r(c)}return l.done&&(o.current&&(o.current.streaming=!1,r(o.current)),a.current=null,n({type:"status",status:"idle"})),l.error&&(a.current=null,n({type:"error",error:new Error(l.error)})),!0}catch(l){return typeof console<"u"&&console.error("[AgentWidget] parseSSEEvent error:",l),!1}}async streamResponse(e,n,o,r){let s=e.getReader(),a=new TextDecoder,l="",p=Date.now(),d=0,c=()=>p+d++,u=M=>{let X=M.reasoning?{...M.reasoning,chunks:[...M.reasoning.chunks]}:void 0,y=M.toolCall?{...M.toolCall,chunks:M.toolCall.chunks?[...M.toolCall.chunks]:void 0}:void 0,A=M.tools?M.tools.map(E=>({...E,chunks:E.chunks?[...E.chunks]:void 0})):void 0;return{...M,reasoning:X,toolCall:y,tools:A}},w=M=>{if(M.role!=="assistant"||M.variant)return!0;let X=Array.isArray(M.contentParts)&&M.contentParts.length>0,y=typeof M.rawContent=="string"&&M.rawContent.trim()!=="";return typeof M.content=="string"&&M.content.trim()!==""||X||y||!!M.stopReason},f=M=>{w(M)&&n({type:"message",message:u(M)})},v=null,x=null,P={current:null},W={current:null},T=null,I="",H=new Map,q=new Map,U=new Map,$=new Map,C=new Map,j={lastId:null,byStep:new Map},J={lastId:null,byCall:new Map},D=M=>{if(M==null)return null;try{return String(M)}catch{return null}},_=M=>D(M.stepId??M.step_id??M.step??M.parentId??M.flowStepId??M.flow_step_id),ce=M=>D(M.callId??M.call_id??M.requestId??M.request_id??M.toolCallId??M.tool_call_id??M.stepId??M.step_id),he=o,Me=!1,Ce=()=>{if(v)return v;let M,X="",y=T;return!Me&&he?(M=he,Me=!0,X=r??""):he&&y?M=`${he}_${y}`:M=`assistant-${Date.now()}-${Math.random().toString(16).slice(2)}`,v={id:M,role:"assistant",content:X,createdAt:new Date().toISOString(),streaming:!0,sequence:c()},f(v),v},te=(M,X)=>{j.lastId=X,M&&j.byStep.set(M,X)},ge=(M,X)=>{let y=M.reasoningId??M.id,A=_(M);if(y){let R=String(y);return te(A,R),R}if(A){let R=j.byStep.get(A);if(R)return j.lastId=R,R}if(j.lastId&&!X)return j.lastId;if(!X)return null;let E=`reason-${c()}`;return te(A,E),E},Y=M=>{let X=$.get(M);if(X)return X;let y={id:`reason-${M}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,variant:"reasoning",sequence:c(),reasoning:{id:M,status:"streaming",chunks:[]}};return $.set(M,y),f(y),y},le=(M,X)=>{J.lastId=X,M&&J.byCall.set(M,X)},Z=new Set,be=new Map,ve=new Set,fe=new Map,Te=M=>{if(!M)return!1;let X=M.replace(/_+/g,"_").replace(/^_|_$/g,"");return X==="emit_artifact_markdown"||X==="emit_artifact_component"},Ae=(M,X)=>{let y=M.toolId??M.id,A=ce(M);if(y){let R=String(y);return le(A,R),R}if(A){let R=J.byCall.get(A);if(R)return J.lastId=R,R}if(J.lastId&&!X)return J.lastId;if(!X)return null;let E=`tool-${c()}`;return le(A,E),E},ze=M=>{let X=C.get(M);if(X)return X;let y={id:`tool-${M}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,variant:"tool",sequence:c(),toolCall:{id:M,status:"pending"}};return C.set(M,y),f(y),y},Ne=M=>{if(typeof M=="number"&&Number.isFinite(M))return M;if(typeof M=="string"){let X=Number(M);if(!Number.isNaN(X)&&Number.isFinite(X))return X;let y=Date.parse(M);if(!Number.isNaN(y))return y}return Date.now()},Pe=M=>{if(typeof M=="string")return M;if(M==null)return"";try{return JSON.stringify(M)}catch{return String(M)}},We=new Map,at=new Map,Oe=new Map,Xe=(M,X,y)=>{let A=Oe.get(M);A||(A=[],Oe.set(M,A));let E=0,R=A.length;for(;E<R;){let B=E+R>>>1;A[B].seq<X?E=B+1:R=B}A[E]?.seq===X?A[E]={seq:X,text:y}:A.splice(E,0,{seq:X,text:y});let K="";for(let B=0;B<A.length;B++)K+=A[B].text;return K},sn=(M,X)=>{let y=Pe(X),A=at.get(M.id),E=ig(A,y);M.rawContent=E;let R=We.get(M.id),K=Re=>{let lt=M.content??"";Re.trim()!==""&&(lt.trim().length===0||Re.startsWith(lt)||Re.trimStart().startsWith(lt.trim()))&&(M.content=Re)},B=()=>{if(R){let Re=R.close?.();Re instanceof Promise&&Re.catch(()=>{})}We.delete(M.id),at.delete(M.id),M.streaming=!1,f(M)};if(!R){K(y),B();return}let z=Vr(E);if(z!==null&&z.trim()!==""){K(z),B();return}let re=Re=>{let lt=typeof Re=="string"?Re:Re?.text??null;if(lt!==null&&lt.trim()!=="")return lt;let V=R.getExtractedText();return V!==null&&V.trim()!==""?V:y},et;try{et=R.processChunk(E)}catch{K(y),B();return}if(et instanceof Promise){et.then(Re=>{K(re(Re)),B()}).catch(()=>{K(y),B()});return}K(re(et)),B()},Et=null,ft=(M,X,y,A)=>{M.rawContent=X,We.has(M.id)||We.set(M.id,this.createStreamParser());let E=We.get(M.id),R=X.trim().startsWith("{")||X.trim().startsWith("[");if(R&&at.set(M.id,X),E.__isPlainTextParser===!0){M.content=A!==void 0?X:M.content+y,at.delete(M.id),We.delete(M.id),M.rawContent=void 0,f(M);return}let B=E.processChunk(X);if(B instanceof Promise)B.then(z=>{let re=typeof z=="string"?z:z?.text??null;re!==null&&re.trim()!==""?(M.content=re,f(M)):!R&&!X.trim().startsWith("<")&&(M.content=A!==void 0?X:M.content+y,at.delete(M.id),We.delete(M.id),M.rawContent=void 0,f(M))}).catch(()=>{M.content=A!==void 0?X:M.content+y,at.delete(M.id),We.delete(M.id),M.rawContent=void 0,f(M)});else{let z=typeof B=="string"?B:B?.text??null;z!==null&&z.trim()!==""?(M.content=z,f(M)):!R&&!X.trim().startsWith("<")&&(M.content=A!==void 0?X:M.content+y,at.delete(M.id),We.delete(M.id),M.rawContent=void 0,f(M))}},Ee=(M,X)=>{let y=X??M.content;if(y==null||y===""){M.streaming=!1,f(M);return}let E=at.get(M.id)??Pe(y);M.rawContent=E;let R=We.get(M.id),K=null,B=!1;if(R&&(K=R.getExtractedText(),K===null&&(K=Vr(E)),K===null)){let z=R.processChunk(E);z instanceof Promise?(B=!0,z.then(re=>{let et=typeof re=="string"?re:re?.text??null;et!==null&&(M.content=et,M.streaming=!1,We.delete(M.id),at.delete(M.id),f(M))}).catch(()=>{})):K=typeof z=="string"?z:z?.text??null}if(!B){K!==null&&K.trim()!==""?M.content=K:at.has(M.id)||(M.content=Pe(y));let z=We.get(M.id);if(z){let re=z.close?.();re instanceof Promise&&re.catch(()=>{}),We.delete(M.id)}at.delete(M.id),M.streaming=!1,f(M)}},me=(M,X,y)=>{let A=q.get(M);if(A)return A;let E={id:`nested-${X}-${M}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,sequence:c(),...y?{variant:y}:{},...y==="reasoning"?{reasoning:{id:M,status:"streaming",chunks:[]}}:{},agentMetadata:{parentToolId:X}};return q.set(M,E),f(E),E},it=[],Ie,ue=new Map,ie=0,ye="agent",bt=!1,N=null,ne=null,De=new Map,ke=this.config.iterationDisplay??"separate";for(Ie=()=>{for(let M=0;M<it.length;M++){let X=it[M].payloadType,y=it[M].payload;if(!bt&&ye!=="flow"&&typeof y.stepType=="string"&&(ye="flow"),X==="reasoning_start"){let A=typeof y.id=="string"?y.id:null,E=typeof y.parentToolCallId=="string"&&y.parentToolCallId?y.parentToolCallId:null;if(A&&E){H.set(A,E),me(A,E,"reasoning");continue}let R=ge(y,!0)??`reason-${c()}`,K=Y(R);K.reasoning=K.reasoning??{id:R,status:"streaming",chunks:[]},K.reasoning.startedAt=K.reasoning.startedAt??Ne(y.startedAt??y.timestamp),K.reasoning.completedAt=void 0,K.reasoning.durationMs=void 0,(y.scope==="loop"||y.scope==="turn")&&(K.reasoning.scope=y.scope),K.streaming=!0,K.reasoning.status="streaming",f(K)}else if(X==="reasoning_delta"){let A=typeof y.id=="string"?y.id:null;if(A&&H.has(A)&&q.has(A)){let B=q.get(A),z=y.reasoningText??y.text??y.delta??"";z&&y.hidden!==!0&&B.reasoning&&(B.reasoning.chunks.push(String(z)),f(B));continue}let E=ge(y,!1)??ge(y,!0)??`reason-${c()}`,R=Y(E);R.reasoning=R.reasoning??{id:E,status:"streaming",chunks:[]},R.reasoning.startedAt=R.reasoning.startedAt??Ne(y.startedAt??y.timestamp);let K=y.reasoningText??y.text??y.delta??"";if(K&&y.hidden!==!0){let B=typeof y.sequenceIndex=="number"?y.sequenceIndex:void 0;if(B!==void 0){let z=Xe(E,B,String(K));R.reasoning.chunks=[z]}else R.reasoning.chunks.push(String(K))}if(R.reasoning.status=y.done?"complete":"streaming",y.done){R.reasoning.completedAt=Ne(y.completedAt??y.timestamp);let B=R.reasoning.startedAt??Date.now();R.reasoning.durationMs=Math.max(0,(R.reasoning.completedAt??Date.now())-B)}R.streaming=R.reasoning.status!=="complete",f(R)}else if(X==="reasoning_complete"){let A=typeof y.id=="string"?y.id:null;if(A&&H.has(A)&&q.has(A)){let z=q.get(A);if(z.reasoning){let re=typeof y.text=="string"?y.text:"";re&&z.reasoning.chunks.length===0&&z.reasoning.chunks.push(re),z.reasoning.status="complete",z.streaming=!1,f(z)}H.delete(A),q.delete(A);continue}let E=ge(y,!1)??ge(y,!0)??`reason-${c()}`,R=typeof y.text=="string"?y.text:"";!$.get(E)&&(R||y.scope==="loop")&&Y(E);let K=$.get(E);if(K?.reasoning){(y.scope==="loop"||y.scope==="turn")&&(K.reasoning.scope=y.scope),R&&K.reasoning.chunks.length===0&&K.reasoning.chunks.push(R),K.reasoning.status="complete",K.reasoning.completedAt=Ne(y.completedAt??y.timestamp);let z=K.reasoning.startedAt??Date.now();K.reasoning.durationMs=Math.max(0,(K.reasoning.completedAt??Date.now())-z),K.streaming=!1,f(K)}let B=_(y);B&&j.byStep.delete(B)}else if(X==="tool_start"){v&&(v.streaming=!1,f(v),v=null),typeof y.iteration=="number"&&(ie=y.iteration);let A=(typeof y.toolCallId=="string"?y.toolCallId:void 0)??Ae(y,!0)??`tool-${c()}`,E=y.toolName??y.name;if(Te(E)){Z.add(A);continue}le(ce(y),A);let R=ze(A),K=R.toolCall??{id:A,status:"pending"};K.name=E??K.name,K.status="running",y.parameters!==void 0?K.args=y.parameters:y.args!==void 0&&(K.args=y.args),K.startedAt=K.startedAt??Ne(y.startedAt??y.timestamp),K.completedAt=void 0,K.durationMs=void 0,R.toolCall=K,R.streaming=!0,y.executionId&&(R.agentMetadata={executionId:y.executionId,iteration:y.iteration}),f(R)}else if(X==="tool_output_delta"){let A=Ae(y,!1)??Ae(y,!0)??`tool-${c()}`;if(Z.has(A))continue;let E=ze(A),R=E.toolCall??{id:A,status:"running"};R.startedAt=R.startedAt??Ne(y.startedAt??y.timestamp);let K=y.text??y.delta??y.message??"";K&&(R.chunks=R.chunks??[],R.chunks.push(String(K))),R.status="running",E.toolCall=R,E.streaming=!0;let B=y.agentContext;(B||y.executionId)&&(E.agentMetadata=E.agentMetadata??{executionId:B?.executionId??y.executionId,iteration:B?.iteration??y.iteration}),f(E)}else if(X==="tool_complete"){let A=Ae(y,!1)??Ae(y,!0)??`tool-${c()}`;if(Z.has(A)){Z.delete(A);continue}let E=ze(A),R=E.toolCall??{id:A,status:"running"};R.status="complete",y.result!==void 0&&(R.result=y.result),typeof y.duration=="number"&&(R.duration=y.duration),R.completedAt=Ne(y.completedAt??y.timestamp);let K=y.duration??y.executionTime;if(typeof K=="number")R.durationMs=K;else{let re=R.startedAt??Date.now();R.durationMs=Math.max(0,(R.completedAt??Date.now())-re)}E.toolCall=R,E.streaming=!1;let B=y.agentContext;(B||y.executionId)&&(E.agentMetadata=E.agentMetadata??{executionId:B?.executionId??y.executionId,iteration:B?.iteration??y.iteration}),f(E);let z=ce(y);z&&J.byCall.delete(z)}else if(X==="await"&&y.toolName){let A=typeof y.toolCallId=="string"&&y.toolCallId.length>0?y.toolCallId:void 0,E=A??y.toolId??`local-${c()}`,R=ze(E),K=y.toolName,B=y.origin==="webmcp"&&!Jo(K)?`webmcp:${K}`:K,z=Jo(B),re=R.toolCall??{id:E,status:"pending"};re.name=B,re.args=y.parameters,re.status=z?"running":"complete",re.chunks=re.chunks??[],re.startedAt=re.startedAt??Ne(y.startedAt??y.timestamp??y.awaitedAt),z?(re.completedAt=void 0,re.duration=void 0,re.durationMs=void 0):re.completedAt=re.completedAt??re.startedAt,R.toolCall=re,R.streaming=!1,R.agentMetadata={...R.agentMetadata,executionId:y.executionId??R.agentMetadata?.executionId,awaitingLocalTool:!0,...A?{webMcpToolCallId:A}:{}},f(R)}else if(X==="text_start"){let A=typeof y.id=="string"?y.id:null,E=typeof y.parentToolCallId=="string"&&y.parentToolCallId?y.parentToolCallId:null;if(A&&E){H.set(A,E);continue}let R=v;R&&(ye==="flow"?(Ee(R),Et=R):(R.streaming=!1,f(R)),v=null),T=typeof y.id=="string"?y.id:T,I=""}else if(X==="text_delta"){let A=typeof y.id=="string"?y.id:null,E=A?H.get(A):void 0;if(A&&E){let K=typeof y.delta=="string"?y.delta:"",B=(U.get(A)??"")+K;if(U.set(A,B),B.trim()==="")continue;let z=me(A,E);z.agentMetadata={...z.agentMetadata,executionId:y.executionId,parentToolId:E},ft(z,B,K,void 0);continue}if(T=typeof y.id=="string"?y.id:T,ye==="flow"){let K=typeof y.delta=="string"?y.delta:"";if(I+=K,I.trim()==="")continue;let B=Ce();B.agentMetadata={executionId:y.executionId,iteration:y.iteration},ft(B,I,K,void 0),x=B;continue}let R=Ce();R.content+=y.delta??"",R.agentMetadata={executionId:y.executionId,iteration:y.iteration,turnId:N??void 0,agentName:ne?.agentName},x=R,f(R)}else if(X==="text_complete"){let A=typeof y.id=="string"?y.id:null;if(A&&H.has(A)){let R=q.get(A);R&&Ee(R),H.delete(A),U.delete(A),q.delete(A);continue}let E=v;E&&(ye==="flow"?(Ee(E),Et=E):((E.content??"")===""&&typeof y.text=="string"&&(E.content=y.text),E.streaming=!1,f(E)),v=null),T=null,I=""}else if(X==="step_complete"){let A=y.stepType,E=y.executionType;if(A==="tool"||E==="context")continue;if(y.success===!1){let R=y.error,K=typeof R=="string"&&R!==""?R:R!=null&&typeof R=="object"&&Reflect.has(R,"message")?String(R.message??"Step failed"):"Step failed";n({type:"error",error:new Error(K)});let B=v;B&&B.streaming&&(B.streaming=!1,f(B)),n({type:"status",status:"idle"});continue}{let R=Et;Et=null;let K=y.stopReason,B=y.result?.response;if(R)K&&(R.stopReason=K),B!=null?sn(R,B):R.streaming!==!1&&(We.delete(R.id),at.delete(R.id),R.streaming=!1,f(R));else{let z=B!=null&&B!=="";if(z||K){let re=Ce();K&&(re.stopReason=K),z?Ee(re,B):(re.streaming=!1,f(re))}}continue}}else if(X==="execution_start")ye=y.kind==="flow"?"flow":"agent",bt=!0,ye==="agent"&&(ne={executionId:y.executionId,agentId:y.agentId??"virtual",agentName:y.agentName??"",status:"running",currentIteration:0,maxTurns:y.maxTurns??1,startedAt:Ne(y.startedAt)});else if(X==="turn_start"){let A=typeof y.iteration=="number"?y.iteration:ie;if(A!==ie){if(ne&&(ne.currentIteration=A),ke==="separate"&&A>1){let E=v;E&&(E.streaming=!1,f(E),De.set(A-1,E),v=null)}ie=A}N=typeof y.id=="string"?y.id:null,x=null}else if(X==="tool_input_delta"){let A=y.toolCallId??J.lastId;if(A){let E=C.get(A);E?.toolCall&&(E.toolCall.chunks=E.toolCall.chunks??[],E.toolCall.chunks.push(y.delta??""),f(E))}}else{if(X==="tool_input_complete")continue;if(X==="turn_complete"){let A=y.stopReason,E=v??x;if(A&&E!==null){let R=y.id;(!R||E.agentMetadata?.turnId===R)&&(E.stopReason=A,f(E))}N===y.id&&(N=null)}else if(X==="media_start"){let A=String(y.id);ue.set(A,{mediaType:typeof y.mediaType=="string"?y.mediaType:void 0,role:typeof y.role=="string"?y.role:void 0,toolCallId:y.toolCallId,parts:[]})}else if(X==="media_delta"){let A=ue.get(String(y.id));A&&typeof y.delta=="string"&&A.parts.push(y.delta)}else if(X==="media_complete"){let A=String(y.id),E=ue.get(A);ue.delete(A);let R=(typeof y.mediaType=="string"?y.mediaType:void 0)??E?.mediaType??"application/octet-stream",K=typeof y.data=="string"?y.data:void 0,B=typeof y.url=="string"?y.url:E&&E.parts.length>0?E.parts.join(""):void 0,z=null;if(K)z={type:"media",data:K,mediaType:R};else if(B){let lt=R.toLowerCase();z={type:lt==="image"||lt.startsWith("image/")?"image-url":"file-url",url:B,mediaType:R}}let re=y.toolCallId??E?.toolCallId,et=z?[z]:[],Re=[];for(let lt of et){if(!lt||typeof lt!="object")continue;let V=lt,$e=typeof V.type=="string"?V.type:void 0,xe=typeof V.mediaType=="string"?V.mediaType.toLowerCase():"",Be=null,Le="";if($e==="media"){let Qe=typeof V.data=="string"?V.data:void 0;if(!Qe)continue;Le=xe.length>0?xe:"application/octet-stream",Be=`data:${Le};base64,${Qe}`}else if($e==="image-url"){let Qe=typeof V.url=="string"?V.url:void 0;if(!Qe)continue;Le=xe,Be=Qe}else if($e==="file-url"){let Qe=typeof V.url=="string"?V.url:void 0;if(!Qe)continue;Le=xe,Be=Qe}else continue;if(Be)if($e==="image-url"||Le.startsWith("image/"))Re.push({type:"image",image:Be,...Le.includes("/")?{mimeType:Le}:{}});else if(Le.startsWith("audio/"))Re.push({type:"audio",audio:Be,mimeType:Le});else if(Le.startsWith("video/"))Re.push({type:"video",video:Be,mimeType:Le});else{let Qe=Le||"application/octet-stream";Re.push({type:"file",data:Be,mimeType:Qe,filename:sg(Qe)})}}if(Re.length>0){let lt=c(),V=re,xe={id:`agent-media-${typeof V=="string"&&V.length>0?`${V}-${lt}`:String(lt)}`,role:"assistant",content:"",contentParts:Re,createdAt:new Date().toISOString(),streaming:!1,sequence:lt,agentMetadata:{executionId:y.executionId,iteration:typeof y.iteration=="number"?y.iteration:ie}};f(xe);let Be=v;Be&&(Be.streaming=!1,f(Be)),v=null,P.current=null}}else if(X==="execution_complete"){let A=y.kind??ye;A==="agent"&&ne&&(ne.status=y.success?"complete":"error",ne.completedAt=Ne(y.completedAt),ne.stopReason=y.stopReason);let E=v;E&&(A==="flow"&&E.streaming!==!1?Ee(E):(E.streaming=!1,f(E)),v=null),T=null,I="",Et=null,n({type:"status",status:"idle",terminal:!0})}else if(X==="execution_error"){let A=typeof y.error=="string"?y.error:y.error?.message??"Execution error";n({type:"error",error:new Error(A)})}else if(X!=="ping"){if(X==="approval_start"){let A=y.approvalId??`approval-${c()}`,E={id:`approval-${A}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!1,variant:"approval",sequence:c(),approval:{id:A,status:"pending",agentId:ne?.agentId??"virtual",executionId:y.executionId??ne?.executionId??"",toolName:y.toolName??"",toolType:y.toolType,description:y.description??`Execute ${y.toolName??"tool"}`,...typeof y.reason=="string"&&y.reason?{reason:y.reason}:{},parameters:y.parameters}};f(E)}else if(X==="step_await"&&y.awaitReason==="approval_required"){let A=y.approvalId??`approval-${c()}`,E={id:`approval-${A}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!1,variant:"approval",sequence:c(),approval:{id:A,status:"pending",agentId:ne?.agentId??"virtual",executionId:y.executionId??ne?.executionId??"",toolName:y.toolName??"",toolType:y.toolType,description:y.description??`Execute ${y.toolName??"tool"}`,...typeof y.reason=="string"&&y.reason?{reason:y.reason}:{},parameters:y.parameters}};f(E)}else if(X==="approval_complete"){let A=y.approvalId;if(A){let R={id:`approval-${A}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!1,variant:"approval",sequence:c(),approval:{id:A,status:y.decision??"approved",agentId:ne?.agentId??"virtual",executionId:y.executionId??ne?.executionId??"",toolName:y.toolName??"",description:y.description??"",resolvedAt:Date.now()}};f(R)}}else if(X==="artifact_start"||X==="artifact_delta"||X==="artifact_update"||X==="artifact_complete"){if(X==="artifact_start"){let A=y.artifactType,E=String(y.id),R=typeof y.title=="string"?y.title:void 0,K=y.file,B;K&&typeof K=="object"&&!Array.isArray(K)&&typeof K.path=="string"&&typeof K.mimeType=="string"&&(B={path:K.path,mimeType:K.mimeType,...typeof K.language=="string"?{language:K.language}:{}}),n({type:"artifact_start",id:E,artifactType:A,title:R,component:typeof y.component=="string"?y.component:void 0,...B?{file:B}:{}});let z=y.props&&typeof y.props=="object"&&!Array.isArray(y.props)?{...y.props}:void 0;if(fe.set(E,{markdown:"",title:R,file:B,...z?{props:z}:{}}),!ve.has(E)){ve.add(E);let re=Eo(this.config.features?.artifacts,A),et=typeof y.component=="string"?y.component:void 0,Re={id:`artifact-ref-${E}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,sequence:c(),rawContent:Ys(re,{artifactId:E,title:R,artifactType:A,status:"streaming",...B?{file:B}:{},...et?{component:et}:{}})};be.set(E,Re),f(Re)}}else if(X==="artifact_delta"){let A=String(y.id),E=typeof y.delta=="string"?y.delta:String(y.delta??"");n({type:"artifact_delta",id:A,artDelta:E});let R=fe.get(A);R&&(R.markdown+=E)}else if(X==="artifact_update"){let A=y.props&&typeof y.props=="object"&&!Array.isArray(y.props)?y.props:{};n({type:"artifact_update",id:String(y.id),props:A,component:typeof y.component=="string"?y.component:void 0});let E=fe.get(String(y.id));E&&(E.props={...E.props??{},...A})}else if(X==="artifact_complete"){let A=String(y.id);n({type:"artifact_complete",id:A});let E=be.get(A);if(E){E.streaming=!1;try{let R=JSON.parse(E.rawContent??"{}");if(R.props){R.props.status="complete";let K=fe.get(A);K?.markdown&&(R.props.markdown=K.markdown),K?.file&&(R.props.file=K.file),R.component==="PersonaArtifactInline"&&K?.props&&Object.keys(K.props).length>0&&(R.props.componentProps=K.props)}E.rawContent=JSON.stringify(R)}catch{}fe.delete(A),f(E),be.delete(A)}}}else if(X==="transcript_insert"){let A=y.message;if(!A||typeof A!="object")continue;let E=String(A.id??`msg-${c()}`),R=A.role,B={id:E,role:R==="user"?"user":R==="system"?"system":"assistant",content:typeof A.content=="string"?A.content:"",rawContent:typeof A.rawContent=="string"?A.rawContent:void 0,createdAt:typeof A.createdAt=="string"?A.createdAt:new Date().toISOString(),streaming:A.streaming===!0,...typeof A.variant=="string"?{variant:A.variant}:{},sequence:c()};if(f(B),B.rawContent)try{let re=JSON.parse(B.rawContent)?.props?.artifactId;typeof re=="string"&&ve.add(re)}catch{}v=null,P.current=null,We.delete(E),at.delete(E)}else if(X==="error"){if(y.recoverable===!1&&y.error!=null&&y.error!==""){let A=typeof y.error=="string"?y.error:y.error?.message!=null?String(y.error.message):"Execution error";n({type:"error",error:new Error(A)});let E=v;E&&E.streaming&&(E.streaming=!1,f(E)),n({type:"status",status:"idle"})}}else if(X==="step_error"||X==="dispatch_error"||X==="flow_error"){let A=null;if(y.error instanceof Error)A=y.error;else if(X==="dispatch_error"){let E=y.message??y.error;E!=null&&E!==""&&(A=new Error(String(E)))}else{let E=y.error;typeof E=="string"&&E!==""?A=new Error(E):E!=null&&typeof E=="object"&&Reflect.has(E,"message")&&(A=new Error(String(E.message??E)))}if(A){n({type:"error",error:A});let E=v;E&&E.streaming&&(E.streaming=!1,f(E)),n({type:"status",status:"idle"})}}}}}it.length=0};;){let{done:M,value:X}=await s.read();if(M)break;l+=a.decode(X,{stream:!0});let y=l.split(`
11
+ `).replace(/\\r/g,"\r").replace(/\\t/g," ").replace(/\\"/g,'"').replace(/\\\\/g,"\\")}catch{return l[1]}return null};return{getExtractedText:()=>t,processChunk:async o=>{if(o.length<=e)return t!==null?{text:t,raw:o}:null;let r=o.trim();if(!r.startsWith("{")&&!r.startsWith("["))return null;let s=n(o);return s!==null&&(t=s),e=o.length,t!==null?{text:t,raw:o}:null},close:async()=>{}}},Qr=t=>{try{let e=JSON.parse(t);if(e&&typeof e=="object"&&typeof e.text=="string")return e.text}catch{return null}return null},Sd=()=>{let t={processChunk:e=>null,getExtractedText:()=>null};return t.__isPlainTextParser=!0,t},Td=()=>{let t=Tg();return{processChunk:async e=>{let n=e.trim();return!n.startsWith("{")&&!n.startsWith("[")?null:t.processChunk(e)},getExtractedText:t.getExtractedText.bind(t),close:t.close?.bind(t)}},Md=()=>{let t=null,e=0;return{getExtractedText:()=>t,processChunk:n=>{let o=n.trim();if(!o.startsWith("{")&&!o.startsWith("["))return null;if(n.length<=e)return t!==null||t===""?{text:t||"",raw:n}:null;try{let r=wg(n,xg|Cg);r&&typeof r=="object"&&(r.component&&typeof r.component=="string"?t=typeof r.text=="string"?xd(r.text):"":r.type==="init"&&r.form?t="":typeof r.text=="string"&&(t=xd(r.text)))}catch{}return e=n.length,t!==null?{text:t,raw:n}:null},close:()=>{}}};var Ed=()=>{let t=null;return{processChunk:e=>{if(!e.trim().startsWith("<"))return null;let o=e.match(/<text[^>]*>([\s\S]*?)<\/text>/);return o&&o[1]?(t=o[1],{text:t,raw:e}):null},getExtractedText:()=>t}};var kd="4.10.0";var Xr=kd;var Eg="https://api.runtype.com/v1/dispatch",ca="https://api.runtype.com";function kg(t){let e=t.toLowerCase(),o={"application/pdf":"pdf","application/json":"json","application/zip":"zip","text/plain":"txt","text/csv":"csv","text/markdown":"md"}[e];if(o)return`attachment.${o}`;let r=e.indexOf("/");if(r>0){let s=e.slice(r+1).split(";")[0]?.trim()??"";if(s&&s!=="octet-stream"&&/^[a-z0-9.+-]+$/i.test(s))return`attachment.${s}`}return"attachment"}var zi=t=>!!(t.contentParts&&t.contentParts.length>0||t.llmContent&&t.llmContent.trim().length>0||t.rawContent&&t.rawContent.trim().length>0||t.content&&t.content.trim().length>0);function Lg(t){switch(t){case"json":return Md;case"regex-json":return Td;case"xml":return Ed;default:return Sd}}var Ld=t=>t.startsWith("{")||t.startsWith("[")||t.startsWith("<");function Pg(t,e){if(!t)return e;let n=t.trim(),o=e.trim();if(n.length===0)return e;if(o.length===0)return t;let r=Ld(n);if(!Ld(o))return t;if(!r||o===n||o.startsWith(n))return e;let a=Qr(t);return Qr(e)!==null&&a===null?e:t}var Jr=class{constructor(e={}){this.config=e;this.clientSession=null;this.sessionInitPromise=null;this.lastSentClientToolsFingerprint=null;this.clientToolsFingerprintSessionId=null;this.sentNonEmptyClientToolsSessionId=null;if(e.target&&(e.agentId||e.flowId||e.agent))throw new Error("[Persona] `target` is mutually exclusive with `agentId`, `flowId`, and `agent`. Set only one routing field.");this.apiUrl=e.apiUrl??Eg,this.headers={"Content-Type":"application/json","X-Persona-Version":Xr,...e.headers},this.debug=!!e.debug,this.createStreamParser=e.streamParser??Lg(e.parserType),this.contextProviders=e.contextProviders??[],this.requestMiddleware=e.requestMiddleware,this.customFetch=e.customFetch,this.parseSSEEvent=e.parseSSEEvent,this.getHeaders=e.getHeaders,this.webMcpBridge=e.webmcp?.enabled===!0?new ea(e.webmcp):null}updateConfig(e){this.config=e}setSSEEventCallback(e){this.onSSEEvent=e}setWebMcpConfirmHandler(e){this.webMcpBridge?.setConfirmHandler(e)}isWebMcpOperational(){return this.webMcpBridge?.isOperational()===!0}executeWebMcpToolCall(e,n,o){return this.webMcpBridge?this.webMcpBridge.executeToolCall(e,n,o):null}getSSEEventCallback(){return this.onSSEEvent}isClientTokenMode(){return!!this.config.clientToken}routing(){let{agentId:e,flowId:n,target:o,targetProviders:r}=this.config;if(!o)return{agentId:e,flowId:n};let s=ad(o,r);return s.kind==="agentId"?{agentId:s.agentId}:s.kind==="flowId"?{flowId:s.flowId}:{targetPayload:s.payload}}isAgentMode(){return!!(this.config.agent||this.routing().agentId)}getClientApiUrl(e){return`${this.config.apiUrl?.replace(/\/+$/,"").replace(/\/v1\/dispatch$/,"")||ca}/v1/client/${e}`}getClientSession(){return this.clientSession}async initSession(){if(!this.isClientTokenMode())throw new Error("initSession() only available in client token mode");if(this.clientSession&&new Date<this.clientSession.expiresAt)return this.clientSession;if(this.sessionInitPromise)return this.sessionInitPromise;this.sessionInitPromise=this._doInitSession();try{let e=await this.sessionInitPromise;return this.clientSession=e,this.resetClientToolsFingerprint(),this.config.onSessionInit?.(e),e}finally{this.sessionInitPromise=null}}async _doInitSession(){let e=this.config.getStoredSessionId?.()||null,n=this.routing(),o=n.agentId??n.flowId,r={token:this.config.clientToken,...o&&{flowId:o},...e&&{sessionId:e}},s=await fetch(this.getClientApiUrl("init"),{method:"POST",headers:{"Content-Type":"application/json","X-Persona-Version":Xr},body:JSON.stringify(r)});if(!s.ok){let l=await s.json().catch(()=>({error:"Session initialization failed"}));throw s.status===401?new Error(`Invalid client token: ${l.hint||l.error}`):s.status===403?new Error(`Origin not allowed: ${l.hint||l.error}`):new Error(l.error||"Failed to initialize session")}let a=await s.json();return this.config.setStoredSessionId&&this.config.setStoredSessionId(a.sessionId),{sessionId:a.sessionId,expiresAt:new Date(a.expiresAt),flow:a.flow,config:{welcomeMessage:a.config.welcomeMessage,placeholder:a.config.placeholder,theme:a.config.theme}}}clearClientSession(){this.clientSession=null,this.sessionInitPromise=null,this.resetClientToolsFingerprint()}resetClientToolsFingerprint(){this.lastSentClientToolsFingerprint=null,this.clientToolsFingerprintSessionId=null,this.sentNonEmptyClientToolsSessionId=null}getFeedbackApiUrl(){return`${this.config.apiUrl?.replace(/\/+$/,"").replace(/\/v1\/dispatch$/,"")||ca}/v1/client/feedback`}async sendFeedback(e){if(!this.isClientTokenMode())throw new Error("sendFeedback() only available in client token mode");if(!this.getClientSession())throw new Error("No active session. Please initialize session first.");if(["upvote","downvote","copy"].includes(e.type)&&!e.messageId)throw new Error(`messageId is required for ${e.type} feedback type`);if(e.type==="csat"&&(e.rating===void 0||e.rating<1||e.rating>5))throw new Error("CSAT rating must be between 1 and 5");if(e.type==="nps"&&(e.rating===void 0||e.rating<0||e.rating>10))throw new Error("NPS rating must be between 0 and 10");this.debug&&console.debug("[AgentWidgetClient] sending feedback",e);let r={...e,...this.config.clientToken&&{token:this.config.clientToken}},s=await fetch(this.getFeedbackApiUrl(),{method:"POST",headers:{"Content-Type":"application/json","X-Persona-Version":Xr},body:JSON.stringify(r)});if(!s.ok){let a=await s.json().catch(()=>({error:"Feedback submission failed"}));throw s.status===401?(this.clientSession=null,this.config.onSessionExpired?.(),new Error("Session expired. Please refresh to continue.")):new Error(a.error||"Failed to submit feedback")}}async submitMessageFeedback(e,n){let o=this.getClientSession();if(!o)throw new Error("No active session. Please initialize session first.");return this.sendFeedback({sessionId:o.sessionId,messageId:e,type:n})}async submitCSATFeedback(e,n){let o=this.getClientSession();if(!o)throw new Error("No active session. Please initialize session first.");return this.sendFeedback({sessionId:o.sessionId,type:"csat",rating:e,comment:n})}async submitNPSFeedback(e,n){let o=this.getClientSession();if(!o)throw new Error("No active session. Please initialize session first.");return this.sendFeedback({sessionId:o.sessionId,type:"nps",rating:e,comment:n})}async dispatch(e,n){return e.signal?.throwIfAborted(),this.isClientTokenMode()?this.dispatchClientToken(e,n):this.isAgentMode()?this.dispatchAgent(e,n):this.dispatchProxy(e,n)}async dispatchClientToken(e,n){n({type:"status",status:"connecting"});try{let o=await this.initSession();if(new Date>=new Date(o.expiresAt.getTime()-6e4)){this.clearClientSession(),this.config.onSessionExpired?.();let d=new Error("Session expired. Please refresh to continue.");throw n({type:"error",error:d}),d}let r=await this.buildPayload(e.messages),s=r.metadata?Object.fromEntries(Object.entries(r.metadata).filter(([d])=>d!=="sessionId"&&d!=="session_id")):void 0,a={sessionId:o.sessionId,messages:e.messages.filter(zi).map(d=>({id:d.id,role:d.role,content:d.contentParts??d.llmContent??d.rawContent??d.content})),...e.assistantMessageId&&{assistantMessageId:e.assistantMessageId},...s&&Object.keys(s).length>0&&{metadata:s},...r.inputs&&Object.keys(r.inputs).length>0&&{inputs:r.inputs},...r.context&&{context:r.context}},{response:l,commit:p}=await this.sendWithClientToolsDiff(o.sessionId,r.clientTools,d=>{let c={...a,...d};return this.debug&&console.debug("[AgentWidgetClient] client token dispatch",c),fetch(this.getClientApiUrl("chat"),{method:"POST",headers:{"Content-Type":"application/json","X-Persona-Version":Xr},body:JSON.stringify(c),signal:e.signal})});if(!l.ok){let d=await l.json().catch(()=>({error:"Chat request failed"}));if(l.status===401){this.clearClientSession(),this.config.onSessionExpired?.();let u=new Error("Session expired. Please refresh to continue.");throw n({type:"error",error:u}),u}if(l.status===429){let u=new Error(d.hint||"Message limit reached for this session.");throw n({type:"error",error:u}),u}let c=new Error(d.error||"Failed to send message");throw n({type:"error",error:c}),c}if(!l.body){let d=new Error("No response body received");throw n({type:"error",error:d}),d}p(),n({type:"status",status:"connected"});try{await this.streamResponse(l.body,n,e.assistantMessageId)}finally{n({type:"status",status:"idle"})}}catch(o){let r=o instanceof Error?o:new Error(String(o));throw!r.message.includes("Session expired")&&!r.message.includes("Message limit")&&n({type:"error",error:r}),r}}async dispatchProxy(e,n){n({type:"status",status:"connecting"});let o=await this.buildPayload(e.messages);this.debug&&console.debug("[AgentWidgetClient] dispatch payload",o);let r={...this.headers};if(this.getHeaders)try{let a=await this.getHeaders();r={...r,...a}}catch(a){typeof console<"u"&&console.error("[AgentWidget] getHeaders error:",a)}let s;if(this.customFetch)try{s=await this.customFetch(this.apiUrl,{method:"POST",headers:r,body:JSON.stringify(o),signal:e.signal},o)}catch(a){let l=a instanceof Error?a:new Error(String(a));throw n({type:"error",error:l}),l}else s=await fetch(this.apiUrl,{method:"POST",headers:r,body:JSON.stringify(o),signal:e.signal});if(!s.ok||!s.body){let a=new Error(`Chat backend request failed: ${s.status} ${s.statusText}`);throw n({type:"error",error:a}),a}n({type:"status",status:"connected"});try{await this.streamResponse(s.body,n)}finally{n({type:"status",status:"idle"})}}async dispatchAgent(e,n){n({type:"status",status:"connecting"});let o=await this.buildAgentPayload(e.messages);this.debug&&console.debug("[AgentWidgetClient] agent dispatch payload",o);let r={...this.headers};if(this.getHeaders)try{let a=await this.getHeaders();r={...r,...a}}catch(a){typeof console<"u"&&console.error("[AgentWidget] getHeaders error:",a)}let s;if(this.customFetch)try{s=await this.customFetch(this.apiUrl,{method:"POST",headers:r,body:JSON.stringify(o),signal:e.signal},o)}catch(a){let l=a instanceof Error?a:new Error(String(a));throw n({type:"error",error:l}),l}else s=await fetch(this.apiUrl,{method:"POST",headers:r,body:JSON.stringify(o),signal:e.signal});if(!s.ok||!s.body){let a=new Error(`Agent execution request failed: ${s.status} ${s.statusText}`);throw n({type:"error",error:a}),a}n({type:"status",status:"connected"});try{await this.streamResponse(s.body,n,e.assistantMessageId)}finally{n({type:"status",status:"idle"})}}async processStream(e,n,o,r){n({type:"status",status:"connected"});try{await this.streamResponse(e,n,o,r)}finally{n({type:"status",status:"idle"})}}async resolveApproval(e,n){let r=`${this.config.apiUrl?.replace(/\/+$/,"").replace(/\/v1\/dispatch$/,"")||ca}/v1/agents/${e.agentId}/approve`,s={"Content-Type":"application/json",...this.headers};return this.getHeaders&&Object.assign(s,await this.getHeaders()),fetch(r,{method:"POST",headers:s,body:JSON.stringify({executionId:e.executionId,approvalId:e.approvalId,decision:n,streamResponse:!0})})}async sendWithClientToolsDiff(e,n,o,r){let s=!!(n&&n.length>0),a=s?od(n):void 0,l=this.clientToolsFingerprintSessionId===e,p=s&&l&&this.lastSentClientToolsFingerprint===a,d=!s&&r?.emptyMeansReplace===!0&&this.sentNonEmptyClientToolsSessionId===e,c=!1,u;for(let w=0;;w++){if(u=await o({...s&&(c||!p)&&n?{clientTools:n}:{},...d?{clientTools:[]}:{},...a?{clientToolsFingerprint:a}:{}}),u.status===409&&w===0&&s&&(await u.clone().json().catch(()=>null))?.error==="client_tools_resend_required"){c=!0,this.lastSentClientToolsFingerprint=null;continue}break}return{response:u,commit:()=>{this.lastSentClientToolsFingerprint=a??null,this.clientToolsFingerprintSessionId=e,s?this.sentNonEmptyClientToolsSessionId=e:d&&(this.sentNonEmptyClientToolsSessionId=null)}}}async resumeFlow(e,n,o){let r=this.isClientTokenMode(),s=r?this.getClientApiUrl("resume"):`${this.config.apiUrl?.replace(/\/+$/,"")||ca}/resume`,a;r&&(a=(await this.initSession()).sessionId);let l={"Content-Type":"application/json",...this.headers};this.getHeaders&&Object.assign(l,await this.getHeaders());let p={executionId:e,toolOutputs:n,streamResponse:o?.streamResponse??!0};if(a&&(p.sessionId=a),r&&a){let d=[...sa(this.config),...await this.webMcpBridge?.snapshotForDispatch()??[]],{response:c,commit:u}=await this.sendWithClientToolsDiff(a,d,w=>{let f={...p,...w};return this.debug&&console.debug("[AgentWidgetClient] client token resume",f),fetch(s,{method:"POST",headers:l,body:JSON.stringify(f),signal:o?.signal})},{emptyMeansReplace:!0});return c.ok&&u(),c}return fetch(s,{method:"POST",headers:l,body:JSON.stringify(p),signal:o?.signal})}latestMentionContext(e){for(let n=e.length-1;n>=0;n--){let o=e[n];if(o.role==="user")return o.mentionContext&&Object.keys(o.mentionContext).length>0?{mentions:o.mentionContext}:null}return null}async buildContextAggregate(e){let n={};this.contextProviders.length&&await Promise.all(this.contextProviders.map(async r=>{try{let s=await r({messages:e,config:this.config});s&&typeof s=="object"&&Object.assign(n,s)}catch(s){typeof console<"u"&&console.warn("[AgentWidget] Context provider failed:",s)}}));let o=this.latestMentionContext(e);return o&&Object.assign(n,o),Object.keys(n).length?n:null}async buildAgentPayload(e){let n=this.routing().agentId;if(!this.config.agent&&!n)throw new Error("Agent configuration required for agent mode");let o=e.slice().filter(zi).filter(l=>l.role==="user"||l.role==="assistant"||l.role==="system").filter(l=>!l.variant||l.variant==="assistant").sort((l,p)=>{let d=new Date(l.createdAt).getTime(),c=new Date(p.createdAt).getTime();return d-c}).map(l=>({role:l.role,content:l.contentParts??l.llmContent??l.rawContent??l.content,createdAt:l.createdAt})),r={agent:this.config.agent??{agentId:n},messages:o,options:{streamResponse:!0,recordMode:"virtual",...this.config.agentOptions}},s=[...sa(this.config),...await this.webMcpBridge?.snapshotForDispatch()??[]];s.length>0&&(r.clientTools=s);let a=await this.buildContextAggregate(e);return a&&(r.context=a),r}async buildPayload(e){let n=e.slice().filter(zi).sort((l,p)=>{let d=new Date(l.createdAt).getTime(),c=new Date(p.createdAt).getTime();return d-c}).map(l=>({role:l.role,content:l.contentParts??l.llmContent??l.rawContent??l.content,createdAt:l.createdAt})),o=this.routing(),r={messages:n,...o.agentId?{agent:{agentId:o.agentId}}:o.flowId?{flowId:o.flowId}:{}};if(o.targetPayload)for(let[l,p]of Object.entries(o.targetPayload))l!=="messages"&&(r[l]=p);let s=[...sa(this.config),...await this.webMcpBridge?.snapshotForDispatch()??[]];s.length>0&&(r.clientTools=s);let a=await this.buildContextAggregate(e);if(a&&(r.context=a),this.requestMiddleware)try{let l=await this.requestMiddleware({payload:{...r},config:this.config});if(l&&typeof l=="object"){let p=l;return r.clientTools!==void 0&&!("clientTools"in p)&&(p.clientTools=r.clientTools),p}}catch(l){typeof console<"u"&&console.error("[AgentWidget] Request middleware error:",l)}return r}async handleCustomSSEEvent(e,n,o,r,s,a){if(!this.parseSSEEvent)return!1;try{let l=await this.parseSSEEvent(e);if(l===null)return!1;let p=c=>{let u={id:`assistant-${Date.now()}-${Math.random().toString(16).slice(2)}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,variant:"assistant",sequence:s(),...c!==void 0&&{partId:c}};return o.current=u,r(u),u},d=c=>o.current?o.current:p(c);if(l.text!==void 0){l.partId!==void 0&&a.current!==null&&l.partId!==a.current&&(o.current&&(o.current.streaming=!1,r(o.current)),p(l.partId)),l.partId!==void 0&&(a.current=l.partId);let c=d(l.partId);l.partId!==void 0&&!c.partId&&(c.partId=l.partId),c.content+=l.text,r(c)}return l.done&&(o.current&&(o.current.streaming=!1,r(o.current)),a.current=null,n({type:"status",status:"idle"})),l.error&&(a.current=null,n({type:"error",error:new Error(l.error)})),!0}catch(l){return typeof console<"u"&&console.error("[AgentWidget] parseSSEEvent error:",l),!1}}async streamResponse(e,n,o,r){let s=e.getReader(),a=new TextDecoder,l="",p=Date.now(),d=0,c=()=>p+d++,u=M=>{let F=M.reasoning?{...M.reasoning,chunks:[...M.reasoning.chunks]}:void 0,y=M.toolCall?{...M.toolCall,chunks:M.toolCall.chunks?[...M.toolCall.chunks]:void 0}:void 0,A=M.tools?M.tools.map(k=>({...k,chunks:k.chunks?[...k.chunks]:void 0})):void 0;return{...M,reasoning:F,toolCall:y,tools:A}},w=M=>{if(M.role!=="assistant"||M.variant)return!0;let F=Array.isArray(M.contentParts)&&M.contentParts.length>0,y=typeof M.rawContent=="string"&&M.rawContent.trim()!=="";return typeof M.content=="string"&&M.content.trim()!==""||F||y||!!M.stopReason},f=M=>{w(M)&&n({type:"message",message:u(M)})},v=null,C=null,P={current:null},H={current:null},E=null,T="",I=new Map,z=new Map,N=new Map,x=new Map,j=new Map,q={lastId:null,byStep:new Map},J={lastId:null,byCall:new Map},D=M=>{if(M==null)return null;try{return String(M)}catch{return null}},$=M=>D(M.stepId??M.step_id??M.step??M.parentId??M.flowStepId??M.flow_step_id),fe=M=>D(M.callId??M.call_id??M.requestId??M.request_id??M.toolCallId??M.tool_call_id??M.stepId??M.step_id),ye=o,Le=!1,Ce=()=>{if(v)return v;let M,F="",y=E;return!Le&&ye?(M=ye,Le=!0,F=r??""):ye&&y?M=`${ye}_${y}`:M=`assistant-${Date.now()}-${Math.random().toString(16).slice(2)}`,v={id:M,role:"assistant",content:F,createdAt:new Date().toISOString(),streaming:!0,sequence:c()},f(v),v},te=(M,F)=>{q.lastId=F,M&&q.byStep.set(M,F)},ge=(M,F)=>{let y=M.reasoningId??M.id,A=$(M);if(y){let W=String(y);return te(A,W),W}if(A){let W=q.byStep.get(A);if(W)return q.lastId=W,W}if(q.lastId&&!F)return q.lastId;if(!F)return null;let k=`reason-${c()}`;return te(A,k),k},Y=M=>{let F=x.get(M);if(F)return F;let y={id:`reason-${M}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,variant:"reasoning",sequence:c(),reasoning:{id:M,status:"streaming",chunks:[]}};return x.set(M,y),f(y),y},ae=(M,F)=>{J.lastId=F,M&&J.byCall.set(M,F)},Z=new Set,ve=new Map,we=new Set,ue=new Map,Te=M=>{if(!M)return!1;let F=M.replace(/_+/g,"_").replace(/^_|_$/g,"");return F==="emit_artifact_markdown"||F==="emit_artifact_component"},Ae=(M,F)=>{let y=M.toolId??M.id,A=fe(M);if(y){let W=String(y);return ae(A,W),W}if(A){let W=J.byCall.get(A);if(W)return J.lastId=W,W}if(J.lastId&&!F)return J.lastId;if(!F)return null;let k=`tool-${c()}`;return ae(A,k),k},ze=M=>{let F=j.get(M);if(F)return F;let y={id:`tool-${M}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,variant:"tool",sequence:c(),toolCall:{id:M,status:"pending"}};return j.set(M,y),f(y),y},Ne=M=>{if(typeof M=="number"&&Number.isFinite(M))return M;if(typeof M=="string"){let F=Number(M);if(!Number.isNaN(F)&&Number.isFinite(F))return F;let y=Date.parse(M);if(!Number.isNaN(y))return y}return Date.now()},it=M=>{if(typeof M=="string")return M;if(M==null)return"";try{return JSON.stringify(M)}catch{return String(M)}},Je=new Map,Re=new Map,Me=new Map,Ye=(M,F,y)=>{let A=Me.get(M);A||(A=[],Me.set(M,A));let k=0,W=A.length;for(;k<W;){let B=k+W>>>1;A[B].seq<F?k=B+1:W=B}A[k]?.seq===F?A[k]={seq:F,text:y}:A.splice(k,0,{seq:F,text:y});let V="";for(let B=0;B<A.length;B++)V+=A[B].text;return V},sn=(M,F)=>{let y=it(F),A=Re.get(M.id),k=Pg(A,y);M.rawContent=k;let W=Je.get(M.id),V=Ee=>{let lt=M.content??"";Ee.trim()!==""&&(lt.trim().length===0||Ee.startsWith(lt)||Ee.trimStart().startsWith(lt.trim()))&&(M.content=Ee)},B=()=>{if(W){let Ee=W.close?.();Ee instanceof Promise&&Ee.catch(()=>{})}Je.delete(M.id),Re.delete(M.id),M.streaming=!1,f(M)};if(!W){V(y),B();return}let U=Qr(k);if(U!==null&&U.trim()!==""){V(U),B();return}let oe=Ee=>{let lt=typeof Ee=="string"?Ee:Ee?.text??null;if(lt!==null&&lt.trim()!=="")return lt;let K=W.getExtractedText();return K!==null&&K.trim()!==""?K:y},Ke;try{Ke=W.processChunk(k)}catch{V(y),B();return}if(Ke instanceof Promise){Ke.then(Ee=>{V(oe(Ee)),B()}).catch(()=>{V(y),B()});return}V(oe(Ke)),B()},Mt=null,yt=(M,F,y,A)=>{M.rawContent=F,Je.has(M.id)||Je.set(M.id,this.createStreamParser());let k=Je.get(M.id),W=F.trim().startsWith("{")||F.trim().startsWith("[");if(W&&Re.set(M.id,F),k.__isPlainTextParser===!0){M.content=A!==void 0?F:M.content+y,Re.delete(M.id),Je.delete(M.id),M.rawContent=void 0,f(M);return}let B=k.processChunk(F);if(B instanceof Promise)B.then(U=>{let oe=typeof U=="string"?U:U?.text??null;oe!==null&&oe.trim()!==""?(M.content=oe,f(M)):!W&&!F.trim().startsWith("<")&&(M.content=A!==void 0?F:M.content+y,Re.delete(M.id),Je.delete(M.id),M.rawContent=void 0,f(M))}).catch(()=>{M.content=A!==void 0?F:M.content+y,Re.delete(M.id),Je.delete(M.id),M.rawContent=void 0,f(M)});else{let U=typeof B=="string"?B:B?.text??null;U!==null&&U.trim()!==""?(M.content=U,f(M)):!W&&!F.trim().startsWith("<")&&(M.content=A!==void 0?F:M.content+y,Re.delete(M.id),Je.delete(M.id),M.rawContent=void 0,f(M))}},We=(M,F)=>{let y=F??M.content;if(y==null||y===""){M.streaming=!1,f(M);return}let k=Re.get(M.id)??it(y);M.rawContent=k;let W=Je.get(M.id),V=null,B=!1;if(W&&(V=W.getExtractedText(),V===null&&(V=Qr(k)),V===null)){let U=W.processChunk(k);U instanceof Promise?(B=!0,U.then(oe=>{let Ke=typeof oe=="string"?oe:oe?.text??null;Ke!==null&&(M.content=Ke,M.streaming=!1,Je.delete(M.id),Re.delete(M.id),f(M))}).catch(()=>{})):V=typeof U=="string"?U:U?.text??null}if(!B){V!==null&&V.trim()!==""?M.content=V:Re.has(M.id)||(M.content=it(y));let U=Je.get(M.id);if(U){let oe=U.close?.();oe instanceof Promise&&oe.catch(()=>{}),Je.delete(M.id)}Re.delete(M.id),M.streaming=!1,f(M)}},me=(M,F,y)=>{let A=z.get(M);if(A)return A;let k={id:`nested-${F}-${M}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,sequence:c(),...y?{variant:y}:{},...y==="reasoning"?{reasoning:{id:M,status:"streaming",chunks:[]}}:{},agentMetadata:{parentToolId:F}};return z.set(M,k),f(k),k},Qe=[],Pe,pe=new Map,ie=0,be="agent",bt=!1,he=null,de=null,fn=new Map,X=this.config.iterationDisplay??"separate";for(Pe=()=>{for(let M=0;M<Qe.length;M++){let F=Qe[M].payloadType,y=Qe[M].payload;if(!bt&&be!=="flow"&&typeof y.stepType=="string"&&(be="flow"),F==="reasoning_start"){let A=typeof y.id=="string"?y.id:null,k=typeof y.parentToolCallId=="string"&&y.parentToolCallId?y.parentToolCallId:null;if(A&&k){I.set(A,k),me(A,k,"reasoning");continue}let W=ge(y,!0)??`reason-${c()}`,V=Y(W);V.reasoning=V.reasoning??{id:W,status:"streaming",chunks:[]},V.reasoning.startedAt=V.reasoning.startedAt??Ne(y.startedAt??y.timestamp),V.reasoning.completedAt=void 0,V.reasoning.durationMs=void 0,(y.scope==="loop"||y.scope==="turn")&&(V.reasoning.scope=y.scope),V.streaming=!0,V.reasoning.status="streaming",f(V)}else if(F==="reasoning_delta"){let A=typeof y.id=="string"?y.id:null;if(A&&I.has(A)&&z.has(A)){let B=z.get(A),U=y.reasoningText??y.text??y.delta??"";U&&y.hidden!==!0&&B.reasoning&&(B.reasoning.chunks.push(String(U)),f(B));continue}let k=ge(y,!1)??ge(y,!0)??`reason-${c()}`,W=Y(k);W.reasoning=W.reasoning??{id:k,status:"streaming",chunks:[]},W.reasoning.startedAt=W.reasoning.startedAt??Ne(y.startedAt??y.timestamp);let V=y.reasoningText??y.text??y.delta??"";if(V&&y.hidden!==!0){let B=typeof y.sequenceIndex=="number"?y.sequenceIndex:void 0;if(B!==void 0){let U=Ye(k,B,String(V));W.reasoning.chunks=[U]}else W.reasoning.chunks.push(String(V))}if(W.reasoning.status=y.done?"complete":"streaming",y.done){W.reasoning.completedAt=Ne(y.completedAt??y.timestamp);let B=W.reasoning.startedAt??Date.now();W.reasoning.durationMs=Math.max(0,(W.reasoning.completedAt??Date.now())-B)}W.streaming=W.reasoning.status!=="complete",f(W)}else if(F==="reasoning_complete"){let A=typeof y.id=="string"?y.id:null;if(A&&I.has(A)&&z.has(A)){let U=z.get(A);if(U.reasoning){let oe=typeof y.text=="string"?y.text:"";oe&&U.reasoning.chunks.length===0&&U.reasoning.chunks.push(oe),U.reasoning.status="complete",U.streaming=!1,f(U)}I.delete(A),z.delete(A);continue}let k=ge(y,!1)??ge(y,!0)??`reason-${c()}`,W=typeof y.text=="string"?y.text:"";!x.get(k)&&(W||y.scope==="loop")&&Y(k);let V=x.get(k);if(V?.reasoning){(y.scope==="loop"||y.scope==="turn")&&(V.reasoning.scope=y.scope),W&&V.reasoning.chunks.length===0&&V.reasoning.chunks.push(W),V.reasoning.status="complete",V.reasoning.completedAt=Ne(y.completedAt??y.timestamp);let U=V.reasoning.startedAt??Date.now();V.reasoning.durationMs=Math.max(0,(V.reasoning.completedAt??Date.now())-U),V.streaming=!1,f(V)}let B=$(y);B&&q.byStep.delete(B)}else if(F==="tool_start"){v&&(v.streaming=!1,f(v),v=null),typeof y.iteration=="number"&&(ie=y.iteration);let A=(typeof y.toolCallId=="string"?y.toolCallId:void 0)??Ae(y,!0)??`tool-${c()}`,k=y.toolName??y.name;if(Te(k)){Z.add(A);continue}ae(fe(y),A);let W=ze(A),V=W.toolCall??{id:A,status:"pending"};V.name=k??V.name,V.status="running",y.parameters!==void 0?V.args=y.parameters:y.args!==void 0&&(V.args=y.args),V.startedAt=V.startedAt??Ne(y.startedAt??y.timestamp),V.completedAt=void 0,V.durationMs=void 0,W.toolCall=V,W.streaming=!0,y.executionId&&(W.agentMetadata={executionId:y.executionId,iteration:y.iteration}),f(W)}else if(F==="tool_output_delta"){let A=Ae(y,!1)??Ae(y,!0)??`tool-${c()}`;if(Z.has(A))continue;let k=ze(A),W=k.toolCall??{id:A,status:"running"};W.startedAt=W.startedAt??Ne(y.startedAt??y.timestamp);let V=y.text??y.delta??y.message??"";V&&(W.chunks=W.chunks??[],W.chunks.push(String(V))),W.status="running",k.toolCall=W,k.streaming=!0;let B=y.agentContext;(B||y.executionId)&&(k.agentMetadata=k.agentMetadata??{executionId:B?.executionId??y.executionId,iteration:B?.iteration??y.iteration}),f(k)}else if(F==="tool_complete"){let A=Ae(y,!1)??Ae(y,!0)??`tool-${c()}`;if(Z.has(A)){Z.delete(A);continue}let k=ze(A),W=k.toolCall??{id:A,status:"running"};W.status="complete",y.result!==void 0&&(W.result=y.result),typeof y.duration=="number"&&(W.duration=y.duration),W.completedAt=Ne(y.completedAt??y.timestamp);let V=y.duration??y.executionTime;if(typeof V=="number")W.durationMs=V;else{let oe=W.startedAt??Date.now();W.durationMs=Math.max(0,(W.completedAt??Date.now())-oe)}k.toolCall=W,k.streaming=!1;let B=y.agentContext;(B||y.executionId)&&(k.agentMetadata=k.agentMetadata??{executionId:B?.executionId??y.executionId,iteration:B?.iteration??y.iteration}),f(k);let U=fe(y);U&&J.byCall.delete(U)}else if(F==="await"&&y.toolName){let A=typeof y.toolCallId=="string"&&y.toolCallId.length>0?y.toolCallId:void 0,k=A??y.toolId??`local-${c()}`,W=ze(k),V=y.toolName,B=y.origin==="webmcp"&&!Jo(V)?`webmcp:${V}`:V,U=Jo(B),oe=W.toolCall??{id:k,status:"pending"};oe.name=B,oe.args=y.parameters,oe.status=U?"running":"complete",oe.chunks=oe.chunks??[],oe.startedAt=oe.startedAt??Ne(y.startedAt??y.timestamp??y.awaitedAt),U?(oe.completedAt=void 0,oe.duration=void 0,oe.durationMs=void 0):oe.completedAt=oe.completedAt??oe.startedAt,W.toolCall=oe,W.streaming=!1,W.agentMetadata={...W.agentMetadata,executionId:y.executionId??W.agentMetadata?.executionId,awaitingLocalTool:!0,...A?{webMcpToolCallId:A}:{}},f(W)}else if(F==="text_start"){let A=typeof y.id=="string"?y.id:null,k=typeof y.parentToolCallId=="string"&&y.parentToolCallId?y.parentToolCallId:null;if(A&&k){I.set(A,k);continue}let W=v;W&&(be==="flow"?(We(W),Mt=W):(W.streaming=!1,f(W)),v=null),E=typeof y.id=="string"?y.id:E,T=""}else if(F==="text_delta"){let A=typeof y.id=="string"?y.id:null,k=A?I.get(A):void 0;if(A&&k){let V=typeof y.delta=="string"?y.delta:"",B=(N.get(A)??"")+V;if(N.set(A,B),B.trim()==="")continue;let U=me(A,k);U.agentMetadata={...U.agentMetadata,executionId:y.executionId,parentToolId:k},yt(U,B,V,void 0);continue}if(E=typeof y.id=="string"?y.id:E,be==="flow"){let V=typeof y.delta=="string"?y.delta:"";if(T+=V,T.trim()==="")continue;let B=Ce();B.agentMetadata={executionId:y.executionId,iteration:y.iteration},yt(B,T,V,void 0),C=B;continue}let W=Ce();W.content+=y.delta??"",W.agentMetadata={executionId:y.executionId,iteration:y.iteration,turnId:he??void 0,agentName:de?.agentName},C=W,f(W)}else if(F==="text_complete"){let A=typeof y.id=="string"?y.id:null;if(A&&I.has(A)){let W=z.get(A);W&&We(W),I.delete(A),N.delete(A),z.delete(A);continue}let k=v;k&&(be==="flow"?(We(k),Mt=k):((k.content??"")===""&&typeof y.text=="string"&&(k.content=y.text),k.streaming=!1,f(k)),v=null),E=null,T=""}else if(F==="step_complete"){let A=y.stepType,k=y.executionType;if(A==="tool"||k==="context")continue;if(y.success===!1){let W=y.error,V=typeof W=="string"&&W!==""?W:W!=null&&typeof W=="object"&&Reflect.has(W,"message")?String(W.message??"Step failed"):"Step failed";n({type:"error",error:new Error(V)});let B=v;B&&B.streaming&&(B.streaming=!1,f(B)),n({type:"status",status:"idle"});continue}{let W=Mt;Mt=null;let V=y.stopReason,B=y.result?.response;if(W)V&&(W.stopReason=V),B!=null?sn(W,B):W.streaming!==!1&&(Je.delete(W.id),Re.delete(W.id),W.streaming=!1,f(W));else{let U=B!=null&&B!=="";if(U||V){let oe=Ce();V&&(oe.stopReason=V),U?We(oe,B):(oe.streaming=!1,f(oe))}}continue}}else if(F==="execution_start")be=y.kind==="flow"?"flow":"agent",bt=!0,be==="agent"&&(de={executionId:y.executionId,agentId:y.agentId??"virtual",agentName:y.agentName??"",status:"running",currentIteration:0,maxTurns:y.maxTurns??1,startedAt:Ne(y.startedAt)});else if(F==="turn_start"){let A=typeof y.iteration=="number"?y.iteration:ie;if(A!==ie){if(de&&(de.currentIteration=A),X==="separate"&&A>1){let k=v;k&&(k.streaming=!1,f(k),fn.set(A-1,k),v=null)}ie=A}he=typeof y.id=="string"?y.id:null,C=null}else if(F==="tool_input_delta"){let A=y.toolCallId??J.lastId;if(A){let k=j.get(A);k?.toolCall&&(k.toolCall.chunks=k.toolCall.chunks??[],k.toolCall.chunks.push(y.delta??""),f(k))}}else{if(F==="tool_input_complete")continue;if(F==="turn_complete"){let A=y.stopReason,k=v??C;if(A&&k!==null){let W=y.id;(!W||k.agentMetadata?.turnId===W)&&(k.stopReason=A,f(k))}he===y.id&&(he=null)}else if(F==="media_start"){let A=String(y.id);pe.set(A,{mediaType:typeof y.mediaType=="string"?y.mediaType:void 0,role:typeof y.role=="string"?y.role:void 0,toolCallId:y.toolCallId,parts:[]})}else if(F==="media_delta"){let A=pe.get(String(y.id));A&&typeof y.delta=="string"&&A.parts.push(y.delta)}else if(F==="media_complete"){let A=String(y.id),k=pe.get(A);pe.delete(A);let W=(typeof y.mediaType=="string"?y.mediaType:void 0)??k?.mediaType??"application/octet-stream",V=typeof y.data=="string"?y.data:void 0,B=typeof y.url=="string"?y.url:k&&k.parts.length>0?k.parts.join(""):void 0,U=null;if(V)U={type:"media",data:V,mediaType:W};else if(B){let lt=W.toLowerCase();U={type:lt==="image"||lt.startsWith("image/")?"image-url":"file-url",url:B,mediaType:W}}let oe=y.toolCallId??k?.toolCallId,Ke=U?[U]:[],Ee=[];for(let lt of Ke){if(!lt||typeof lt!="object")continue;let K=lt,_e=typeof K.type=="string"?K.type:void 0,ke=typeof K.mediaType=="string"?K.mediaType.toLowerCase():"",Be=null,Ie="";if(_e==="media"){let Ze=typeof K.data=="string"?K.data:void 0;if(!Ze)continue;Ie=ke.length>0?ke:"application/octet-stream",Be=`data:${Ie};base64,${Ze}`}else if(_e==="image-url"){let Ze=typeof K.url=="string"?K.url:void 0;if(!Ze)continue;Ie=ke,Be=Ze}else if(_e==="file-url"){let Ze=typeof K.url=="string"?K.url:void 0;if(!Ze)continue;Ie=ke,Be=Ze}else continue;if(Be)if(_e==="image-url"||Ie.startsWith("image/"))Ee.push({type:"image",image:Be,...Ie.includes("/")?{mimeType:Ie}:{}});else if(Ie.startsWith("audio/"))Ee.push({type:"audio",audio:Be,mimeType:Ie});else if(Ie.startsWith("video/"))Ee.push({type:"video",video:Be,mimeType:Ie});else{let Ze=Ie||"application/octet-stream";Ee.push({type:"file",data:Be,mimeType:Ze,filename:kg(Ze)})}}if(Ee.length>0){let lt=c(),K=oe,ke={id:`agent-media-${typeof K=="string"&&K.length>0?`${K}-${lt}`:String(lt)}`,role:"assistant",content:"",contentParts:Ee,createdAt:new Date().toISOString(),streaming:!1,sequence:lt,agentMetadata:{executionId:y.executionId,iteration:typeof y.iteration=="number"?y.iteration:ie}};f(ke);let Be=v;Be&&(Be.streaming=!1,f(Be)),v=null,P.current=null}}else if(F==="execution_complete"){let A=y.kind??be;A==="agent"&&de&&(de.status=y.success?"complete":"error",de.completedAt=Ne(y.completedAt),de.stopReason=y.stopReason);let k=v;k&&(A==="flow"&&k.streaming!==!1?We(k):(k.streaming=!1,f(k)),v=null),E=null,T="",Mt=null,n({type:"status",status:"idle",terminal:!0})}else if(F==="execution_error"){let A=typeof y.error=="string"?y.error:y.error?.message??"Execution error";n({type:"error",error:new Error(A)})}else if(F!=="ping"){if(F==="approval_start"){let A=y.approvalId??`approval-${c()}`,k={id:`approval-${A}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!1,variant:"approval",sequence:c(),approval:{id:A,status:"pending",agentId:de?.agentId??"virtual",executionId:y.executionId??de?.executionId??"",toolName:y.toolName??"",toolType:y.toolType,description:y.description??`Execute ${y.toolName??"tool"}`,...typeof y.reason=="string"&&y.reason?{reason:y.reason}:{},parameters:y.parameters}};f(k)}else if(F==="step_await"&&y.awaitReason==="approval_required"){let A=y.approvalId??`approval-${c()}`,k={id:`approval-${A}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!1,variant:"approval",sequence:c(),approval:{id:A,status:"pending",agentId:de?.agentId??"virtual",executionId:y.executionId??de?.executionId??"",toolName:y.toolName??"",toolType:y.toolType,description:y.description??`Execute ${y.toolName??"tool"}`,...typeof y.reason=="string"&&y.reason?{reason:y.reason}:{},parameters:y.parameters}};f(k)}else if(F==="approval_complete"){let A=y.approvalId;if(A){let W={id:`approval-${A}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!1,variant:"approval",sequence:c(),approval:{id:A,status:y.decision??"approved",agentId:de?.agentId??"virtual",executionId:y.executionId??de?.executionId??"",toolName:y.toolName??"",description:y.description??"",resolvedAt:Date.now()}};f(W)}}else if(F==="artifact_start"||F==="artifact_delta"||F==="artifact_update"||F==="artifact_complete"){if(F==="artifact_start"){let A=y.artifactType,k=String(y.id),W=typeof y.title=="string"?y.title:void 0,V=y.file,B;V&&typeof V=="object"&&!Array.isArray(V)&&typeof V.path=="string"&&typeof V.mimeType=="string"&&(B={path:V.path,mimeType:V.mimeType,...typeof V.language=="string"?{language:V.language}:{}}),n({type:"artifact_start",id:k,artifactType:A,title:W,component:typeof y.component=="string"?y.component:void 0,...B?{file:B}:{}});let U=y.props&&typeof y.props=="object"&&!Array.isArray(y.props)?{...y.props}:void 0;if(ue.set(k,{markdown:"",title:W,file:B,...U?{props:U}:{}}),!we.has(k)){we.add(k);let oe=ko(this.config.features?.artifacts,A),Ke=typeof y.component=="string"?y.component:void 0,Ee={id:`artifact-ref-${k}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,sequence:c(),rawContent:ta(oe,{artifactId:k,title:W,artifactType:A,status:"streaming",...B?{file:B}:{},...Ke?{component:Ke}:{}})};ve.set(k,Ee),f(Ee)}}else if(F==="artifact_delta"){let A=String(y.id),k=typeof y.delta=="string"?y.delta:String(y.delta??"");n({type:"artifact_delta",id:A,artDelta:k});let W=ue.get(A);W&&(W.markdown+=k)}else if(F==="artifact_update"){let A=y.props&&typeof y.props=="object"&&!Array.isArray(y.props)?y.props:{};n({type:"artifact_update",id:String(y.id),props:A,component:typeof y.component=="string"?y.component:void 0});let k=ue.get(String(y.id));k&&(k.props={...k.props??{},...A})}else if(F==="artifact_complete"){let A=String(y.id);n({type:"artifact_complete",id:A});let k=ve.get(A);if(k){k.streaming=!1;try{let W=JSON.parse(k.rawContent??"{}");if(W.props){W.props.status="complete";let V=ue.get(A);V?.markdown&&(W.props.markdown=V.markdown),V?.file&&(W.props.file=V.file),W.component==="PersonaArtifactInline"&&V?.props&&Object.keys(V.props).length>0&&(W.props.componentProps=V.props)}k.rawContent=JSON.stringify(W)}catch{}ue.delete(A),f(k),ve.delete(A)}}}else if(F==="transcript_insert"){let A=y.message;if(!A||typeof A!="object")continue;let k=String(A.id??`msg-${c()}`),W=A.role,B={id:k,role:W==="user"?"user":W==="system"?"system":"assistant",content:typeof A.content=="string"?A.content:"",rawContent:typeof A.rawContent=="string"?A.rawContent:void 0,createdAt:typeof A.createdAt=="string"?A.createdAt:new Date().toISOString(),streaming:A.streaming===!0,...typeof A.variant=="string"?{variant:A.variant}:{},sequence:c()};if(f(B),B.rawContent)try{let oe=JSON.parse(B.rawContent)?.props?.artifactId;typeof oe=="string"&&we.add(oe)}catch{}v=null,P.current=null,Je.delete(k),Re.delete(k)}else if(F==="error"){if(y.recoverable===!1&&y.error!=null&&y.error!==""){let A=typeof y.error=="string"?y.error:y.error?.message!=null?String(y.error.message):"Execution error";n({type:"error",error:new Error(A)});let k=v;k&&k.streaming&&(k.streaming=!1,f(k)),n({type:"status",status:"idle"})}}else if(F==="step_error"||F==="dispatch_error"||F==="flow_error"){let A=null;if(y.error instanceof Error)A=y.error;else if(F==="dispatch_error"){let k=y.message??y.error;k!=null&&k!==""&&(A=new Error(String(k)))}else{let k=y.error;typeof k=="string"&&k!==""?A=new Error(k):k!=null&&typeof k=="object"&&Reflect.has(k,"message")&&(A=new Error(String(k.message??k)))}if(A){n({type:"error",error:A});let k=v;k&&k.streaming&&(k.streaming=!1,f(k)),n({type:"status",status:"idle"})}}}}}Qe.length=0};;){let{done:M,value:F}=await s.read();if(M)break;l+=a.decode(F,{stream:!0});let y=l.split(`
12
12
 
13
- `);l=y.pop()??"";for(let A of y){let E=A.split(`
14
- `),R="message",K="",B=null;for(let Re of E)Re.startsWith("event:")?R=Re.replace("event:","").trim():Re.startsWith("data:")?K+=Re.replace("data:","").trim():Re.startsWith("id:")&&(B=Re.slice(3).trim());let z=()=>{B!==null&&B!==""&&n({type:"cursor",id:B})};if(!K){z();continue}let re;try{re=JSON.parse(K)}catch(Re){n({type:"error",error:Re instanceof Error?Re:new Error("Failed to parse chat stream payload")});continue}let et=R!=="message"?R:re.type??"message";if(this.onSSEEvent?.(et,re),this.parseSSEEvent){P.current=v;let Re=await this.handleCustomSSEEvent(re,n,P,f,c,W);if(P.current&&P.current!==v&&(v=P.current),Re){z();continue}}it.push({payloadType:et,payload:re}),Ie(),z()}}Ie()}};function ia(){let t=Date.now().toString(36),e=Math.random().toString(36).substring(2,10);return`usr_${t}_${e}`}function nr(){let t=Date.now().toString(36),e=Math.random().toString(36).substring(2,10);return`ast_${t}_${e}`}var la="[Image]";function Fi(t){return{type:"text",text:t}}var Cd=["image/png","image/jpeg","image/gif","image/webp","image/svg+xml","image/bmp"],lg=["application/pdf","text/plain","text/markdown","text/csv","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/json"],Dn=[...Cd,...lg];function cg(t){return Cd.includes(t)||t.startsWith("image/")}function ca(t){return cg(t.type)}async function Ad(t){return new Promise((e,n)=>{let o=new FileReader;o.onload=()=>{let r=o.result;ca(t)?e({type:"image",image:r,mimeType:t.type,alt:t.name}):e({type:"file",data:r,mimeType:t.type,filename:t.name})},o.onerror=()=>n(new Error("Failed to read file")),o.readAsDataURL(t)})}function Sd(t,e=Dn,n=10*1024*1024){return e.includes(t.type)?t.size>n?{valid:!1,error:`File too large. Maximum size: ${Math.round(n/1048576)}MB`}:{valid:!0}:{valid:!1,error:`Invalid file type "${t.type}". Accepted types: ${e.join(", ")}`}}function dg(t){let e=t.split(".");return e.length>1?e.pop().toLowerCase():""}function Td(t,e){let n=dg(e).toUpperCase();return{"application/pdf":"PDF","text/plain":"TXT","text/markdown":"MD","text/csv":"CSV","application/msword":"DOC","application/vnd.openxmlformats-officedocument.wordprocessingml.document":"DOCX","application/vnd.ms-excel":"XLS","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":"XLSX","application/json":"JSON"}[t]||n||"FILE"}var Md=16e3,pg=24e3,ug=4096,fg=1380533830;function gg(t){return t.byteLength>=44&&new DataView(t).getUint32(0,!1)===fg?new Uint8Array(t,44):new Uint8Array(t)}function mg(t){let e=t.replace(/\/+$/,"");return/^wss?:\/\//i.test(e)?e:/^https?:\/\//i.test(e)?e.replace(/^http/i,"ws"):`${typeof window<"u"&&window.location?.protocol==="https:"?"wss:":"ws:"}//${e}`}var Xr=class{constructor(e){this.config=e;this.type="runtype";this.ws=null;this.captureContext=null;this.mediaStream=null;this.sourceNode=null;this.processor=null;this.playback=null;this.callLive=!1;this.isSpeaking=!1;this.callGeneration=0;this.intentionalClose=!1;this.resultCallbacks=[];this.errorCallbacks=[];this.statusCallbacks=[];this.transcriptCallbacks=[];this.metricsCallbacks=[]}async connect(){}async startListening(){if(this.callLive)return;let e=this.config?.agentId,n=this.config?.clientToken,o=this.config?.host;if(!e)throw new Error("Runtype voice requires an agentId");if(!n)throw new Error("Runtype voice requires a clientToken");if(!o)throw new Error("Runtype voice requires a host (or widget apiUrl)");let r=++this.callGeneration;this.intentionalClose=!1,this.callLive=!0;try{let s=await navigator.mediaDevices.getUserMedia({audio:{sampleRate:Md,channelCount:1,echoCancellation:!0}});if(r!==this.callGeneration){s.getTracks().forEach(u=>u.stop());return}this.mediaStream=s;let a=window.AudioContext||window.webkitAudioContext,l=new a({sampleRate:Md});l.state==="suspended"&&await l.resume().catch(()=>{}),this.captureContext=l;let p=this.config?.createPlaybackEngine?await this.config.createPlaybackEngine():new Nc(pg);if(r!==this.callGeneration){p.destroy(),s.getTracks().forEach(u=>u.stop()),l.close().catch(()=>{});return}this.playback=p,p.onFinished(()=>{r===this.callGeneration&&(this.isSpeaking=!1,this.ws&&this.ws.readyState===WebSocket.OPEN&&this.emitStatus("listening"))});let d=`${mg(o)}/ws/agents/${encodeURIComponent(e)}/voice`,c=new WebSocket(d,["runtype.bearer",n]);c.binaryType="arraybuffer",this.ws=c,c.onopen=()=>{r===this.callGeneration&&(this.emitStatus("listening"),this.startCapture(l,s,c,r))},c.onmessage=u=>this.handleMessage(u,r),c.onerror=()=>{r===this.callGeneration&&(this.emitError(new Error("Voice connection failed")),this.emitStatus("error"),this.cleanup())},c.onclose=u=>{if(this.intentionalClose){this.intentionalClose=!1;return}if(r===this.callGeneration){if(u.code!==1e3){let w=u.code?` (code ${u.code})`:"";this.emitError(new Error(`Voice connection closed${w}`)),this.emitStatus("error")}else this.emitStatus("idle");this.cleanup()}}}catch(s){throw this.cleanup(),this.emitError(s),this.emitStatus("error"),s}}async stopListening(){this.cleanup(),this.emitStatus("idle")}async disconnect(){this.cleanup(),this.emitStatus("disconnected"),this.resultCallbacks=[],this.errorCallbacks=[],this.statusCallbacks=[],this.transcriptCallbacks=[],this.metricsCallbacks=[]}stopPlayback(){this.playback&&this.playback.flush(),this.isSpeaking=!1,this.ws&&this.ws.readyState===WebSocket.OPEN&&this.emitStatus("listening")}getInterruptionMode(){return"barge-in"}isBargeInActive(){return this.callLive}async deactivateBargeIn(){this.cleanup(),this.emitStatus("idle")}startCapture(e,n,o,r){let s=e.createMediaStreamSource(n);this.sourceNode=s;let a=e.createScriptProcessor(ug,1,1);this.processor=a,a.onaudioprocess=l=>{if(r!==this.callGeneration||o.readyState!==WebSocket.OPEN)return;let p=l.inputBuffer.getChannelData(0),d=new Int16Array(p.length);for(let c=0;c<p.length;c++){let u=Math.max(-1,Math.min(1,p[c]));d[c]=u<0?u*32768:u*32767}o.send(d.buffer)},s.connect(a),a.connect(e.destination)}handleMessage(e,n){if(n!==this.callGeneration)return;if(e.data instanceof ArrayBuffer){this.handleAudioFrame(e.data,n);return}let o;try{o=JSON.parse(e.data)}catch{return}switch(o.type){case"transcript_interim":this.emitStatus("listening"),this.emitTranscript("user",o.text??"",!1);break;case"transcript_final":{let r=o.role==="assistant"?"assistant":"user";this.emitStatus(r==="user"?"processing":"speaking"),this.emitTranscript(r,o.text??"",!0);break}case"audio_end":this.playback?this.playback.markStreamEnd():(this.isSpeaking=!1,this.emitStatus("listening"));break;case"metrics":this.emitMetrics({llmMs:o.llm_ms,ttsMs:o.tts_ms,firstAudioMs:o.first_audio_ms,totalMs:o.total_ms});break;case"error":this.emitError(new Error(o.error||"Voice error")),this.emitStatus("error");break}}handleAudioFrame(e,n){if(n!==this.callGeneration||!this.playback)return;let o=gg(e);o.length!==0&&(this.isSpeaking||(this.isSpeaking=!0,this.emitStatus("speaking")),this.playback.enqueue(o))}cleanup(){if(this.callGeneration+=1,this.callLive=!1,this.isSpeaking=!1,this.processor&&(this.processor.onaudioprocess=null,this.processor.disconnect(),this.processor=null),this.sourceNode&&(this.sourceNode.disconnect(),this.sourceNode=null),this.mediaStream&&(this.mediaStream.getTracks().forEach(e=>e.stop()),this.mediaStream=null),this.captureContext&&(this.captureContext.close().catch(()=>{}),this.captureContext=null),this.playback&&(this.playback.destroy(),this.playback=null),this.ws){this.intentionalClose=!0;try{this.ws.close(1e3,"client ended call")}catch{}this.ws=null}}onResult(e){this.resultCallbacks.push(e)}onError(e){this.errorCallbacks.push(e)}onStatusChange(e){this.statusCallbacks.push(e)}onTranscript(e){this.transcriptCallbacks.push(e)}onMetrics(e){this.metricsCallbacks.push(e)}emitStatus(e){this.statusCallbacks.forEach(n=>n(e))}emitError(e){this.errorCallbacks.forEach(n=>n(e))}emitTranscript(e,n,o){this.transcriptCallbacks.forEach(r=>r(e,n,o))}emitMetrics(e){this.metricsCallbacks.forEach(n=>n(e))}};var Io=class{constructor(e={}){this.config=e;this.type="browser";this.recognition=null;this.resultCallbacks=[];this.errorCallbacks=[];this.statusCallbacks=[];this.isListening=!1;this.w=typeof window<"u"?window:void 0}async connect(){this.statusCallbacks.forEach(e=>e("connected"))}async startListening(){try{if(this.isListening)throw new Error("Already listening");if(!this.w)throw new Error("Window object not available");let e=this.w.SpeechRecognition||this.w.webkitSpeechRecognition;if(!e)throw new Error("Browser speech recognition not supported");this.recognition=new e,this.recognition.lang=this.config?.language||"en-US",this.recognition.continuous=this.config?.continuous||!1,this.recognition.interimResults=!0,this.recognition.onresult=n=>{let o=Array.from(n.results).map(s=>s[0]).map(s=>s.transcript).join(""),r=n.results[n.results.length-1].isFinal;this.resultCallbacks.forEach(s=>s({text:o,confidence:r?.8:.5,provider:"browser"})),r&&!this.config?.continuous&&this.stopListening()},this.recognition.onerror=n=>{this.errorCallbacks.forEach(o=>o(new Error(n.error))),this.statusCallbacks.forEach(o=>o("error"))},this.recognition.onstart=()=>{this.isListening=!0,this.statusCallbacks.forEach(n=>n("listening"))},this.recognition.onend=()=>{this.isListening=!1,this.statusCallbacks.forEach(n=>n("idle"))},this.recognition.start()}catch(e){throw this.errorCallbacks.forEach(n=>n(e)),this.statusCallbacks.forEach(n=>n("error")),e}}async stopListening(){this.recognition&&(this.recognition.stop(),this.recognition=null),this.isListening=!1,this.statusCallbacks.forEach(e=>e("idle"))}onResult(e){this.resultCallbacks.push(e)}onError(e){this.errorCallbacks.push(e)}onStatusChange(e){this.statusCallbacks.push(e)}async disconnect(){await this.stopListening(),this.statusCallbacks.forEach(e=>e("disconnected"))}static isSupported(){return"SpeechRecognition"in window||"webkitSpeechRecognition"in window}};function or(t){switch(t.type){case"runtype":if(!t.runtype)throw new Error("Runtype voice provider requires configuration");return new Xr(t.runtype);case"browser":if(!Io.isSupported())throw new Error("Browser speech recognition not supported");return new Io(t.browser||{});case"custom":{let e=t.custom;if(!e)throw new Error("Custom voice provider requires a `custom` provider instance or factory");let n=typeof e=="function"?e():e;if(!n||typeof n.startListening!="function")throw new Error("Custom voice provider `custom` must be a VoiceProvider (or a factory returning one)");return n}default:throw new Error(`Unknown voice provider type: ${t.type}`)}}function Ed(t){if(t?.type==="custom"&&t.custom)return or({type:"custom",custom:t.custom});if(t?.type==="runtype"&&t.runtype)return or({type:"runtype",runtype:t.runtype});if(Io.isSupported())return or({type:"browser",browser:t?.browser||{language:"en-US"}});throw new Error("No supported voice providers available")}function Oi(t){try{return Ed(t),!0}catch{return!1}}function da(t){let e=["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)"];for(let n of e){let o=t.find(r=>r.name===n);if(o)return o}return t.find(n=>n.lang.startsWith("en"))??t[0]}var rr=class t{constructor(e={}){this.options=e;this.id="browser";this.supportsPause=!0}static isSupported(){return typeof window<"u"&&"speechSynthesis"in window}speak(e,n){if(!t.isSupported()){n.onError?.(new Error("Web Speech API is unavailable"));return}let o=window.speechSynthesis;o.cancel();let r=new SpeechSynthesisUtterance(e.text),s=o.getVoices();if(e.voice){let a=s.find(l=>l.name===e.voice);a&&(r.voice=a)}else s.length>0&&(r.voice=this.options.pickVoice?this.options.pickVoice(s):da(s));e.rate!==void 0&&(r.rate=e.rate),e.pitch!==void 0&&(r.pitch=e.pitch),r.onend=()=>n.onEnd?.(),r.onerror=a=>{let l=a.error;l==="canceled"||l==="interrupted"?n.onEnd?.():n.onError?.(new Error(l||"Speech synthesis failed"))},setTimeout(()=>{o.speak(r),n.onStart?.()},50)}pause(){t.isSupported()&&window.speechSynthesis.pause()}resume(){t.isSupported()&&window.speechSynthesis.resume()}stop(){t.isSupported()&&window.speechSynthesis.cancel()}};var Qr=class{constructor(e){this.resolveEngine=e;this.engine=null;this.activeId=null;this.state="idle";this.listeners=new Set;this.generation=0}get supportsPause(){return this.engine?.supportsPause??!0}stateFor(e){return this.activeId===e?this.state:"idle"}activeMessageId(){return this.activeId}onChange(e){return this.listeners.add(e),()=>this.listeners.delete(e)}toggle(e,n){if(this.activeId===e){if(this.state==="playing"){this.engine?.supportsPause?(this.engine.pause(),this.set(e,"paused")):this.stop();return}if(this.state==="paused"){this.engine?.resume(),this.set(e,"playing");return}if(this.state==="loading"){this.stop();return}}this.play(e,n)}async play(e,n){let o=++this.generation;this.engine?.stop(),this.set(e,"loading");try{if(!this.engine){let r=await this.resolveEngine();if(o!==this.generation)return;if(!r){this.set(null,"idle");return}this.engine=r}this.engine.speak(n,{onStart:()=>{o===this.generation&&this.set(e,"playing")},onEnd:()=>{o===this.generation&&this.set(null,"idle")},onError:()=>{o===this.generation&&this.set(null,"idle")}})}catch{o===this.generation&&this.set(null,"idle")}}stop(){this.generation++,this.engine?.stop(),this.set(null,"idle")}destroy(){this.stop(),this.engine?.destroy?.(),this.engine=null,this.listeners.clear()}set(e,n){this.activeId=n==="idle"?null:e,this.state=n;for(let o of this.listeners)o(this.activeId,this.state)}};function _i(t){if(!t)return"";let e=hg(t);return kd(e!==null?e:t)}function hg(t){let e=t.trim(),n=e.match(/^```(?:json)?\s*([\s\S]*?)\s*```$/i);if(n&&(e=n[1].trim()),!e.startsWith("{"))return null;try{let o=JSON.parse(e);if(o&&typeof o=="object"&&typeof o.text=="string")return o.text}catch{}return null}function kd(t){if(!t)return"";let e=t;return e=e.replace(/```[\s\S]*?```/g," "),e=e.replace(/~~~[\s\S]*?~~~/g," "),e=e.replace(/`([^`]+)`/g,"$1"),e=e.replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1"),e=e.replace(/\[([^\]]+)\]\([^)]*\)/g,"$1"),e=e.replace(/\[([^\]]+)\]\[[^\]]*\]/g,"$1"),e=e.replace(/<\/?[a-zA-Z][^>]*>/g," "),e=e.replace(/^[ \t]*#{1,6}[ \t]+/gm,""),e=e.replace(/^[ \t]*>[ \t]?/gm,""),e=e.replace(/^[ \t]*[-*+][ \t]+/gm,""),e=e.replace(/^[ \t]*\d+\.[ \t]+/gm,""),e=e.replace(/^[ \t]*([-*_])([ \t]*\1){2,}[ \t]*$/gm," "),e=e.replace(/(\*\*|__)(.*?)\1/g,"$2"),e=e.replace(/(\*|_)(.*?)\1/g,"$2"),e=e.replace(/~~(.*?)~~/g,"$1"),e=e.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/&nbsp;/g," "),e=e.replace(/[ \t]+/g," "),e=e.replace(/[ \t]*\n[ \t]*/g,`
13
+ `);l=y.pop()??"";for(let A of y){let k=A.split(`
14
+ `),W="message",V="",B=null;for(let Ee of k)Ee.startsWith("event:")?W=Ee.replace("event:","").trim():Ee.startsWith("data:")?V+=Ee.replace("data:","").trim():Ee.startsWith("id:")&&(B=Ee.slice(3).trim());let U=()=>{B!==null&&B!==""&&n({type:"cursor",id:B})};if(!V){U();continue}let oe;try{oe=JSON.parse(V)}catch(Ee){n({type:"error",error:Ee instanceof Error?Ee:new Error("Failed to parse chat stream payload")});continue}let Ke=W!=="message"?W:oe.type??"message";if(this.onSSEEvent?.(Ke,oe),this.parseSSEEvent){P.current=v;let Ee=await this.handleCustomSSEEvent(oe,n,P,f,c,H);if(P.current&&P.current!==v&&(v=P.current),Ee){U();continue}}Qe.push({payloadType:Ke,payload:oe}),Pe(),U()}}Pe()}};function da(){let t=Date.now().toString(36),e=Math.random().toString(36).substring(2,10);return`usr_${t}_${e}`}function nr(){let t=Date.now().toString(36),e=Math.random().toString(36).substring(2,10);return`ast_${t}_${e}`}var pa="[Image]";function Pd(t){return typeof t=="string"?!1:t.some(e=>e.type==="image")}function or(t){return{type:"text",text:t}}var Id=["image/png","image/jpeg","image/gif","image/webp","image/svg+xml","image/bmp"],Ig=["application/pdf","text/plain","text/markdown","text/csv","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/json"],Fn=[...Id,...Ig];function Rg(t){return Id.includes(t)||t.startsWith("image/")}function ua(t){return Rg(t.type)}async function Rd(t){return new Promise((e,n)=>{let o=new FileReader;o.onload=()=>{let r=o.result;ua(t)?e({type:"image",image:r,mimeType:t.type,alt:t.name}):e({type:"file",data:r,mimeType:t.type,filename:t.name})},o.onerror=()=>n(new Error("Failed to read file")),o.readAsDataURL(t)})}function Wd(t,e=Fn,n=10*1024*1024){return e.includes(t.type)?t.size>n?{valid:!1,error:`File too large. Maximum size: ${Math.round(n/1048576)}MB`}:{valid:!0}:{valid:!1,error:`Invalid file type "${t.type}". Accepted types: ${e.join(", ")}`}}function Wg(t){let e=t.split(".");return e.length>1?e.pop().toLowerCase():""}function Bd(t,e){let n=Wg(e).toUpperCase();return{"application/pdf":"PDF","text/plain":"TXT","text/markdown":"MD","text/csv":"CSV","application/msword":"DOC","application/vnd.openxmlformats-officedocument.wordprocessingml.document":"DOCX","application/vnd.ms-excel":"XLS","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":"XLSX","application/json":"JSON"}[t]||n||"FILE"}var Hd=16e3,Bg=24e3,Hg=4096,Dg=1380533830;function Ng(t){return t.byteLength>=44&&new DataView(t).getUint32(0,!1)===Dg?new Uint8Array(t,44):new Uint8Array(t)}function Fg(t){let e=t.replace(/\/+$/,"");return/^wss?:\/\//i.test(e)?e:/^https?:\/\//i.test(e)?e.replace(/^http/i,"ws"):`${typeof window<"u"&&window.location?.protocol==="https:"?"wss:":"ws:"}//${e}`}var Yr=class{constructor(e){this.config=e;this.type="runtype";this.ws=null;this.captureContext=null;this.mediaStream=null;this.sourceNode=null;this.processor=null;this.playback=null;this.callLive=!1;this.isSpeaking=!1;this.callGeneration=0;this.intentionalClose=!1;this.resultCallbacks=[];this.errorCallbacks=[];this.statusCallbacks=[];this.transcriptCallbacks=[];this.metricsCallbacks=[]}async connect(){}async startListening(){if(this.callLive)return;let e=this.config?.agentId,n=this.config?.clientToken,o=this.config?.host;if(!e)throw new Error("Runtype voice requires an agentId");if(!n)throw new Error("Runtype voice requires a clientToken");if(!o)throw new Error("Runtype voice requires a host (or widget apiUrl)");let r=++this.callGeneration;this.intentionalClose=!1,this.callLive=!0;try{let s=await navigator.mediaDevices.getUserMedia({audio:{sampleRate:Hd,channelCount:1,echoCancellation:!0}});if(r!==this.callGeneration){s.getTracks().forEach(u=>u.stop());return}this.mediaStream=s;let a=window.AudioContext||window.webkitAudioContext,l=new a({sampleRate:Hd});l.state==="suspended"&&await l.resume().catch(()=>{}),this.captureContext=l;let p=this.config?.createPlaybackEngine?await this.config.createPlaybackEngine():new jc(Bg);if(r!==this.callGeneration){p.destroy(),s.getTracks().forEach(u=>u.stop()),l.close().catch(()=>{});return}this.playback=p,p.onFinished(()=>{r===this.callGeneration&&(this.isSpeaking=!1,this.ws&&this.ws.readyState===WebSocket.OPEN&&this.emitStatus("listening"))});let d=`${Fg(o)}/ws/agents/${encodeURIComponent(e)}/voice`,c=new WebSocket(d,["runtype.bearer",n]);c.binaryType="arraybuffer",this.ws=c,c.onopen=()=>{r===this.callGeneration&&(this.emitStatus("listening"),this.startCapture(l,s,c,r))},c.onmessage=u=>this.handleMessage(u,r),c.onerror=()=>{r===this.callGeneration&&(this.emitError(new Error("Voice connection failed")),this.emitStatus("error"),this.cleanup())},c.onclose=u=>{if(this.intentionalClose){this.intentionalClose=!1;return}if(r===this.callGeneration){if(u.code!==1e3){let w=u.code?` (code ${u.code})`:"";this.emitError(new Error(`Voice connection closed${w}`)),this.emitStatus("error")}else this.emitStatus("idle");this.cleanup()}}}catch(s){throw this.cleanup(),this.emitError(s),this.emitStatus("error"),s}}async stopListening(){this.cleanup(),this.emitStatus("idle")}async disconnect(){this.cleanup(),this.emitStatus("disconnected"),this.resultCallbacks=[],this.errorCallbacks=[],this.statusCallbacks=[],this.transcriptCallbacks=[],this.metricsCallbacks=[]}stopPlayback(){this.playback&&this.playback.flush(),this.isSpeaking=!1,this.ws&&this.ws.readyState===WebSocket.OPEN&&this.emitStatus("listening")}getInterruptionMode(){return"barge-in"}isBargeInActive(){return this.callLive}async deactivateBargeIn(){this.cleanup(),this.emitStatus("idle")}startCapture(e,n,o,r){let s=e.createMediaStreamSource(n);this.sourceNode=s;let a=e.createScriptProcessor(Hg,1,1);this.processor=a,a.onaudioprocess=l=>{if(r!==this.callGeneration||o.readyState!==WebSocket.OPEN)return;let p=l.inputBuffer.getChannelData(0),d=new Int16Array(p.length);for(let c=0;c<p.length;c++){let u=Math.max(-1,Math.min(1,p[c]));d[c]=u<0?u*32768:u*32767}o.send(d.buffer)},s.connect(a),a.connect(e.destination)}handleMessage(e,n){if(n!==this.callGeneration)return;if(e.data instanceof ArrayBuffer){this.handleAudioFrame(e.data,n);return}let o;try{o=JSON.parse(e.data)}catch{return}switch(o.type){case"transcript_interim":this.emitStatus("listening"),this.emitTranscript("user",o.text??"",!1);break;case"transcript_final":{let r=o.role==="assistant"?"assistant":"user";this.emitStatus(r==="user"?"processing":"speaking"),this.emitTranscript(r,o.text??"",!0);break}case"audio_end":this.playback?this.playback.markStreamEnd():(this.isSpeaking=!1,this.emitStatus("listening"));break;case"metrics":this.emitMetrics({llmMs:o.llm_ms,ttsMs:o.tts_ms,firstAudioMs:o.first_audio_ms,totalMs:o.total_ms});break;case"error":this.emitError(new Error(o.error||"Voice error")),this.emitStatus("error");break}}handleAudioFrame(e,n){if(n!==this.callGeneration||!this.playback)return;let o=Ng(e);o.length!==0&&(this.isSpeaking||(this.isSpeaking=!0,this.emitStatus("speaking")),this.playback.enqueue(o))}cleanup(){if(this.callGeneration+=1,this.callLive=!1,this.isSpeaking=!1,this.processor&&(this.processor.onaudioprocess=null,this.processor.disconnect(),this.processor=null),this.sourceNode&&(this.sourceNode.disconnect(),this.sourceNode=null),this.mediaStream&&(this.mediaStream.getTracks().forEach(e=>e.stop()),this.mediaStream=null),this.captureContext&&(this.captureContext.close().catch(()=>{}),this.captureContext=null),this.playback&&(this.playback.destroy(),this.playback=null),this.ws){this.intentionalClose=!0;try{this.ws.close(1e3,"client ended call")}catch{}this.ws=null}}onResult(e){this.resultCallbacks.push(e)}onError(e){this.errorCallbacks.push(e)}onStatusChange(e){this.statusCallbacks.push(e)}onTranscript(e){this.transcriptCallbacks.push(e)}onMetrics(e){this.metricsCallbacks.push(e)}emitStatus(e){this.statusCallbacks.forEach(n=>n(e))}emitError(e){this.errorCallbacks.forEach(n=>n(e))}emitTranscript(e,n,o){this.transcriptCallbacks.forEach(r=>r(e,n,o))}emitMetrics(e){this.metricsCallbacks.forEach(n=>n(e))}};var Io=class{constructor(e={}){this.config=e;this.type="browser";this.recognition=null;this.resultCallbacks=[];this.errorCallbacks=[];this.statusCallbacks=[];this.isListening=!1;this.w=typeof window<"u"?window:void 0}async connect(){this.statusCallbacks.forEach(e=>e("connected"))}async startListening(){try{if(this.isListening)throw new Error("Already listening");if(!this.w)throw new Error("Window object not available");let e=this.w.SpeechRecognition||this.w.webkitSpeechRecognition;if(!e)throw new Error("Browser speech recognition not supported");this.recognition=new e,this.recognition.lang=this.config?.language||"en-US",this.recognition.continuous=this.config?.continuous||!1,this.recognition.interimResults=!0,this.recognition.onresult=n=>{let o=Array.from(n.results).map(s=>s[0]).map(s=>s.transcript).join(""),r=n.results[n.results.length-1].isFinal;this.resultCallbacks.forEach(s=>s({text:o,confidence:r?.8:.5,provider:"browser"})),r&&!this.config?.continuous&&this.stopListening()},this.recognition.onerror=n=>{this.errorCallbacks.forEach(o=>o(new Error(n.error))),this.statusCallbacks.forEach(o=>o("error"))},this.recognition.onstart=()=>{this.isListening=!0,this.statusCallbacks.forEach(n=>n("listening"))},this.recognition.onend=()=>{this.isListening=!1,this.statusCallbacks.forEach(n=>n("idle"))},this.recognition.start()}catch(e){throw this.errorCallbacks.forEach(n=>n(e)),this.statusCallbacks.forEach(n=>n("error")),e}}async stopListening(){this.recognition&&(this.recognition.stop(),this.recognition=null),this.isListening=!1,this.statusCallbacks.forEach(e=>e("idle"))}onResult(e){this.resultCallbacks.push(e)}onError(e){this.errorCallbacks.push(e)}onStatusChange(e){this.statusCallbacks.push(e)}async disconnect(){await this.stopListening(),this.statusCallbacks.forEach(e=>e("disconnected"))}static isSupported(){return"SpeechRecognition"in window||"webkitSpeechRecognition"in window}};function rr(t){switch(t.type){case"runtype":if(!t.runtype)throw new Error("Runtype voice provider requires configuration");return new Yr(t.runtype);case"browser":if(!Io.isSupported())throw new Error("Browser speech recognition not supported");return new Io(t.browser||{});case"custom":{let e=t.custom;if(!e)throw new Error("Custom voice provider requires a `custom` provider instance or factory");let n=typeof e=="function"?e():e;if(!n||typeof n.startListening!="function")throw new Error("Custom voice provider `custom` must be a VoiceProvider (or a factory returning one)");return n}default:throw new Error(`Unknown voice provider type: ${t.type}`)}}function Dd(t){if(t?.type==="custom"&&t.custom)return rr({type:"custom",custom:t.custom});if(t?.type==="runtype"&&t.runtype)return rr({type:"runtype",runtype:t.runtype});if(Io.isSupported())return rr({type:"browser",browser:t?.browser||{language:"en-US"}});throw new Error("No supported voice providers available")}function Ui(t){try{return Dd(t),!0}catch{return!1}}function fa(t){let e=["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)"];for(let n of e){let o=t.find(r=>r.name===n);if(o)return o}return t.find(n=>n.lang.startsWith("en"))??t[0]}var sr=class t{constructor(e={}){this.options=e;this.id="browser";this.supportsPause=!0}static isSupported(){return typeof window<"u"&&"speechSynthesis"in window}speak(e,n){if(!t.isSupported()){n.onError?.(new Error("Web Speech API is unavailable"));return}let o=window.speechSynthesis;o.cancel();let r=new SpeechSynthesisUtterance(e.text),s=o.getVoices();if(e.voice){let a=s.find(l=>l.name===e.voice);a&&(r.voice=a)}else s.length>0&&(r.voice=this.options.pickVoice?this.options.pickVoice(s):fa(s));e.rate!==void 0&&(r.rate=e.rate),e.pitch!==void 0&&(r.pitch=e.pitch),r.onend=()=>n.onEnd?.(),r.onerror=a=>{let l=a.error;l==="canceled"||l==="interrupted"?n.onEnd?.():n.onError?.(new Error(l||"Speech synthesis failed"))},setTimeout(()=>{o.speak(r),n.onStart?.()},50)}pause(){t.isSupported()&&window.speechSynthesis.pause()}resume(){t.isSupported()&&window.speechSynthesis.resume()}stop(){t.isSupported()&&window.speechSynthesis.cancel()}};var Zr=class{constructor(e){this.resolveEngine=e;this.engine=null;this.activeId=null;this.state="idle";this.listeners=new Set;this.generation=0}get supportsPause(){return this.engine?.supportsPause??!0}stateFor(e){return this.activeId===e?this.state:"idle"}activeMessageId(){return this.activeId}onChange(e){return this.listeners.add(e),()=>this.listeners.delete(e)}toggle(e,n){if(this.activeId===e){if(this.state==="playing"){this.engine?.supportsPause?(this.engine.pause(),this.set(e,"paused")):this.stop();return}if(this.state==="paused"){this.engine?.resume(),this.set(e,"playing");return}if(this.state==="loading"){this.stop();return}}this.play(e,n)}async play(e,n){let o=++this.generation;this.engine?.stop(),this.set(e,"loading");try{if(!this.engine){let r=await this.resolveEngine();if(o!==this.generation)return;if(!r){this.set(null,"idle");return}this.engine=r}this.engine.speak(n,{onStart:()=>{o===this.generation&&this.set(e,"playing")},onEnd:()=>{o===this.generation&&this.set(null,"idle")},onError:()=>{o===this.generation&&this.set(null,"idle")}})}catch{o===this.generation&&this.set(null,"idle")}}stop(){this.generation++,this.engine?.stop(),this.set(null,"idle")}destroy(){this.stop(),this.engine?.destroy?.(),this.engine=null,this.listeners.clear()}set(e,n){this.activeId=n==="idle"?null:e,this.state=n;for(let o of this.listeners)o(this.activeId,this.state)}};function ji(t){if(!t)return"";let e=Og(t);return Nd(e!==null?e:t)}function Og(t){let e=t.trim(),n=e.match(/^```(?:json)?\s*([\s\S]*?)\s*```$/i);if(n&&(e=n[1].trim()),!e.startsWith("{"))return null;try{let o=JSON.parse(e);if(o&&typeof o=="object"&&typeof o.text=="string")return o.text}catch{}return null}function Nd(t){if(!t)return"";let e=t;return e=e.replace(/```[\s\S]*?```/g," "),e=e.replace(/~~~[\s\S]*?~~~/g," "),e=e.replace(/`([^`]+)`/g,"$1"),e=e.replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1"),e=e.replace(/\[([^\]]+)\]\([^)]*\)/g,"$1"),e=e.replace(/\[([^\]]+)\]\[[^\]]*\]/g,"$1"),e=e.replace(/<\/?[a-zA-Z][^>]*>/g," "),e=e.replace(/^[ \t]*#{1,6}[ \t]+/gm,""),e=e.replace(/^[ \t]*>[ \t]?/gm,""),e=e.replace(/^[ \t]*[-*+][ \t]+/gm,""),e=e.replace(/^[ \t]*\d+\.[ \t]+/gm,""),e=e.replace(/^[ \t]*([-*_])([ \t]*\1){2,}[ \t]*$/gm," "),e=e.replace(/(\*\*|__)(.*?)\1/g,"$2"),e=e.replace(/(\*|_)(.*?)\1/g,"$2"),e=e.replace(/~~(.*?)~~/g,"$1"),e=e.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/&nbsp;/g," "),e=e.replace(/[ \t]+/g," "),e=e.replace(/[ \t]*\n[ \t]*/g,`
15
15
  `),e=e.replace(/\n{2,}/g,`
16
- `),e.trim()}var Ld=null;var $i=()=>Ld?Ld():import("./runtype-tts-entry-UJAEF7NZ.js");var yg=["apiUrl","clientToken","flowId","agentId","target","targetProviders","agent","agentOptions","headers","getHeaders","webmcp","streamParser","parserType","contextProviders","requestMiddleware","customFetch","parseSSEEvent","onSessionInit","onSessionExpired","getStoredSessionId","setStoredSessionId"];function bg(t,e){return yg.some(n=>t[n]!==e[n])}function Ui(t,e){let n=t instanceof Error?t:new Error(String(t));if(typeof e=="string")return e;if(typeof e=="function")return e(n);let o="Sorry: I couldn't reach the assistant. The chat service didn't respond. Please check that your proxy or backend is running and reachable, then try again.";return n.message?`${o}
16
+ `),e.trim()}var Fd=null;var qi=()=>Fd?Fd():import("./runtype-tts-entry-UJAEF7NZ.js");var _g=["apiUrl","clientToken","flowId","agentId","target","targetProviders","agent","agentOptions","headers","getHeaders","webmcp","streamParser","parserType","contextProviders","requestMiddleware","customFetch","parseSSEEvent","onSessionInit","onSessionExpired","getStoredSessionId","setStoredSessionId"];function $g(t,e){return _g.some(n=>t[n]!==e[n])}function Vi(t,e){let n=t instanceof Error?t:new Error(String(t));if(typeof e=="string")return e;if(typeof e=="function")return e(n);let o="Sorry: I couldn't reach the assistant. The chat service didn't respond. Please check that your proxy or backend is running and reachable, then try again.";return n.message?`${o}
17
17
 
18
- _Details: ${n.message}_`:o}var Jr=t=>({isError:!0,content:[{type:"text",text:t}]}),Pd=(t,e="WebMCP tool execution failed.")=>t instanceof Error&&t.message?t.message:typeof t=="string"&&t?t:e,Id=t=>Jo(t)||t===Hn,pa=class{constructor(e={},n){this.config=e;this.callbacks=n;this.status="idle";this.streaming=!1;this.abortController=null;this.sequenceCounter=Date.now();this.clientSession=null;this.agentExecution=null;this.resumable=null;this.activeAssistantMessageId=null;this.reconnecting=!1;this.reconnectController=null;this.reconnectControllerPromise=null;this.executionStateTimer=null;this.artifacts=new Map;this.selectedArtifactId=null;this.webMcpInflightKeys=new Set;this.webMcpResolvedKeys=new Set;this.webMcpResolveControllers=new Set;this.webMcpEpoch=0;this.webMcpApprovalResolvers=new Map;this.webMcpApprovalSeq=0;this.webMcpAwaitBatches=new Map;this.voiceProvider=null;this.voiceActive=!1;this.voiceStatus="disconnected";this.pendingVoiceUserMessageId=null;this.pendingVoiceAssistantMessageId=null;this.ttsSpokenMessageIds=new Set;this.readAloud=new Qr(()=>this.createSpeechEngine());this.handleEvent=e=>{if(e.type==="message"){this.upsertMessage(e.message),e.message.role==="assistant"&&!e.message.variant&&e.message.streaming&&(this.activeAssistantMessageId=e.message.id);let n=e.message.toolCall,o=!!n?.name&&(Jo(n.name)||n.name===Hn&&this.config.features?.suggestReplies?.enabled!==!1);e.message.agentMetadata?.awaitingLocalTool===!0&&o&&this.enqueueWebMcpAwait(e.message),e.message.agentMetadata?.executionId&&(this.agentExecution?e.message.agentMetadata.iteration!==void 0&&(this.agentExecution.currentIteration=e.message.agentMetadata.iteration):this.agentExecution={executionId:e.message.agentMetadata.executionId,agentId:"",agentName:e.message.agentMetadata.agentName??"",status:"running",currentIteration:e.message.agentMetadata.iteration??0,maxTurns:0})}else if(e.type==="cursor")this.trackCursor(e.id);else if(e.type==="status"){if(e.status==="idle"&&!e.terminal&&this.isDurableDrop()){this.beginReconnect();return}if(this.setStatus(e.status),e.status==="connecting")this.setStreaming(!0);else if(e.status==="idle"||e.status==="error"){this.clearResumable(),this.webMcpResolveControllers.size===0&&(this.setStreaming(!1),this.abortController=null);let n=this.webMcpAwaitBatches.size>0||this.webMcpResolveControllers.size>0;this.agentExecution?.status==="running"&&(e.status==="error"?this.agentExecution.status="error":n||(this.agentExecution.status="complete")),this.scheduleWebMcpBatchFlush()}}else e.type==="error"?(this.setStatus("error"),this.clearResumable(),this.webMcpResolveControllers.size===0&&(this.setStreaming(!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.applyArtifactStreamEvent(e)};this.messages=[...e.initialMessages??[]].map(o=>({...o,sequence:o.sequence??this.nextSequence()})),this.messages=this.sortMessages(this.messages),this.client=new Gr(e),this.wireDefaultWebMcpConfirm();for(let o of e.initialArtifacts??[])this.artifacts.set(o.id,{...o,status:"complete"});e.initialSelectedArtifactId!=null&&(this.selectedArtifactId=e.initialSelectedArtifactId),this.messages.length&&this.callbacks.onMessagesChanged([...this.messages]),this.artifacts.size>0&&this.emitArtifactsState(),this.callbacks.onStatusChanged(this.status),this.prefetchRuntypeTts()}prefetchRuntypeTts(){let e=this.config.textToSpeech;if(e?.provider!=="runtype"||e.createEngine)return;let n=e.host??this.config.apiUrl,o=e.agentId??this.config.voiceRecognition?.provider?.runtype?.agentId??this.config.agentId;!n||!o||!this.config.clientToken||$i().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 Oi(this.config.voiceRecognition?.provider)}isVoiceActive(){return this.voiceActive}getVoiceStatus(){return this.voiceStatus}getVoiceInterruptionMode(){return this.voiceProvider?.getInterruptionMode?this.voiceProvider.getInterruptionMode():"none"}stopVoicePlayback(){this.voiceProvider?.stopPlayback&&this.voiceProvider.stopPlayback()}isBargeInActive(){return this.voiceProvider?.isBargeInActive?.()??!1}async deactivateBargeIn(){this.voiceProvider?.deactivateBargeIn&&await this.voiceProvider.deactivateBargeIn()}createSpeechEngine(){let e=this.config.textToSpeech;if(e?.createEngine)return e.createEngine();let n=rr.isSupported()?new rr({pickVoice:e?.pickVoice}):null;if(e?.provider==="runtype"){let o=e.host??this.config.apiUrl,r=e.agentId??this.config.voiceRecognition?.provider?.runtype?.agentId??this.config.agentId,s=this.config.clientToken,a=e.browserFallback!==!1;if(o&&r&&s)return $i().then(({RuntypeSpeechEngine:l,FallbackSpeechEngine:p})=>{let d=new l({host:o,agentId:r,clientToken:s,voice:e.voice,prebufferMs:e.prebufferMs,createPlaybackEngine:e.createPlaybackEngine});return a&&n?new p(d,n,{onFallback:c=>console.warn(`[persona] Runtype read-aloud failed; using browser voice. ${c.message}`)}):d});if(a&&n)return s&&console.warn("[persona] textToSpeech.provider 'runtype' is missing an agentId; using the browser voice. Set textToSpeech.agentId (or voiceRecognition.provider.runtype.agentId)."),n}return n}setupVoice(e){try{let n=e||this.getVoiceConfigFromConfig();if(!n)throw new Error("Voice configuration not provided");this.voiceProvider=or(n);let r=(this.config.voiceRecognition??{}).processingErrorText??"Voice processing failed. Please try again.";this.voiceProvider.onResult(s=>{s.provider!=="runtype"&&s.text&&s.text.trim()&&this.sendMessage(s.text,{viaVoice:!0})}),this.voiceProvider.onTranscript&&this.voiceProvider.onTranscript((s,a,l)=>{if(s==="user"){if(this.pendingVoiceUserMessageId)this.upsertMessage({id:this.pendingVoiceUserMessageId,role:"user",content:a,createdAt:new Date().toISOString(),streaming:!1,voiceProcessing:!l});else{let p=this.injectMessage({role:"user",content:a,streaming:!1,voiceProcessing:!l});this.pendingVoiceUserMessageId=p.id}if(l){this.pendingVoiceUserMessageId=null;let p=this.injectMessage({role:"assistant",content:"",streaming:!0,voiceProcessing:!0});this.pendingVoiceAssistantMessageId=p.id,this.setStreaming(!0)}}else{if(this.pendingVoiceAssistantMessageId)this.upsertMessage({id:this.pendingVoiceAssistantMessageId,role:"assistant",content:a,createdAt:new Date().toISOString(),streaming:!l,voiceProcessing:!l});else{let p=this.injectMessage({role:"assistant",content:a,streaming:!l,voiceProcessing:!l});this.pendingVoiceAssistantMessageId=p.id}l&&(this.pendingVoiceAssistantMessageId&&this.ttsSpokenMessageIds.add(this.pendingVoiceAssistantMessageId),this.setStreaming(!1),this.pendingVoiceAssistantMessageId=null)}}),this.voiceProvider.onMetrics&&this.voiceProvider.onMetrics(s=>{this.config.voiceRecognition?.onMetrics?.(s)}),this.voiceProvider.onError(s=>{console.error("Voice error:",s),this.pendingVoiceAssistantMessageId&&(this.upsertMessage({id:this.pendingVoiceAssistantMessageId,role:"assistant",content:r,createdAt:new Date().toISOString(),streaming:!1,voiceProcessing:!1}),this.setStreaming(!1),this.pendingVoiceUserMessageId=null,this.pendingVoiceAssistantMessageId=null)}),this.voiceProvider.onStatusChange(s=>{this.voiceStatus=s,this.voiceActive=s==="listening",this.callbacks.onVoiceStatusChanged?.(s)}),this.voiceProvider.connect()}catch(n){console.error("Failed to setup voice:",n)}}async toggleVoice(){if(!this.voiceProvider){console.error("Voice not configured");return}if(this.voiceActive)await this.voiceProvider.stopListening();else{this.stopSpeaking();try{await this.voiceProvider.startListening()}catch(e){console.error("Failed to start voice:",e)}}}cleanupVoice(){this.voiceProvider&&(this.voiceProvider.disconnect(),this.voiceProvider=null),this.voiceActive=!1,this.voiceStatus="disconnected"}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}};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;try{let e=await this.client.initSession();return this.setClientSession(e),e}catch(e){return this.callbacks.onError?.(e instanceof Error?e:new Error(String(e))),null}}setClientSession(e){if(this.clientSession=e,e.config.welcomeMessage&&this.messages.length===0){let n={id:`welcome-${Date.now()}`,role:"assistant",content:e.config.welcomeMessage,createdAt:new Date().toISOString(),sequence:this.nextSequence()};this.appendMessage(n)}}getClientSession(){return this.clientSession??this.client.getClientSession()}isSessionValid(){let e=this.getClientSession();return e?new Date<e.expiresAt:!1}clearClientSession(){this.clientSession=null,this.client.clearClientSession()}getClient(){return this.client}async submitMessageFeedback(e,n){return this.client.submitMessageFeedback(e,n)}async submitCSATFeedback(e,n){return this.client.submitCSATFeedback(e,n)}async submitNPSFeedback(e,n){return this.client.submitNPSFeedback(e,n)}updateConfig(e){let n={...this.config,...e};if(!bg(this.config,n)){this.config=n,this.client.updateConfig(n);return}this.abortWebMcpResolves(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear();let o=this.client.getSSEEventCallback();this.config=n,this.client=new Gr(this.config),this.wireDefaultWebMcpConfirm(),o&&this.client.setSSEEventCallback(o)}getMessages(){return[...this.messages]}getStatus(){return this.status}isStreaming(){return this.streaming}injectTestEvent(e){this.handleEvent(e)}injectMessage(e){let{role:n,content:o,llmContent:r,contentParts:s,id:a,createdAt:l,sequence:p,streaming:d=!1,voiceProcessing:c,rawContent:u}=e,f={id:a??(n==="user"?ia():n==="assistant"?nr():`system-${Date.now()}-${Math.random().toString(16).slice(2)}`),role:n,content:o,createdAt:l??new Date().toISOString(),sequence:p??this.nextSequence(),streaming:d,...r!==void 0&&{llmContent:r},...s!==void 0&&{contentParts:s},...c!==void 0&&{voiceProcessing:c},...u!==void 0&&{rawContent:u}};return this.upsertMessage(f),f}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 n=[];for(let o of e){let{role:r,content:s,llmContent:a,contentParts:l,id:p,createdAt:d,sequence:c,streaming:u=!1,voiceProcessing:w,rawContent:f}=o,x={id:p??(r==="user"?ia():r==="assistant"?nr():`system-${Date.now()}-${Math.random().toString(16).slice(2)}`),role:r,content:s,createdAt:d??new Date().toISOString(),sequence:c??this.nextSequence(),streaming:u,...a!==void 0&&{llmContent:a},...l!==void 0&&{contentParts:l},...w!==void 0&&{voiceProcessing:w},...f!==void 0&&{rawContent:f}};n.push(x)}return this.messages=this.sortMessages([...this.messages,...n]),this.callbacks.onMessagesChanged([...this.messages]),n}injectComponentDirective(e){let{component:n,props:o={},text:r="",llmContent:s,id:a,createdAt:l,sequence:p}=e,d={text:r,component:n,props:o};return this.injectMessage({role:"assistant",content:r,rawContent:JSON.stringify(d),...s!==void 0&&{llmContent:s},...a!==void 0&&{id:a},...l!==void 0&&{createdAt:l},...p!==void 0&&{sequence:p}})}async sendMessage(e,n){let o=e.trim();if(!o&&(!n?.contentParts||n.contentParts.length===0))return;this.stopSpeaking(),this.abortController?.abort(),this.abortWebMcpResolves(),this.teardownReconnect();let r=ia(),s=nr();this.activeAssistantMessageId=null;let a={id:r,role:"user",content:o||la,createdAt:new Date().toISOString(),sequence:this.nextSequence(),viaVoice:n?.viaVoice||!1,...n?.contentParts&&n.contentParts.length>0&&{contentParts:n.contentParts}};this.appendMessage(a),this.setStreaming(!0);let l=new AbortController;this.abortController=l;let p=[...this.messages];try{await this.client.dispatch({messages:p,signal:l.signal,assistantMessageId:s},this.handleEvent)}catch(d){if(this.status==="resuming"||this.reconnecting)return;let c=d instanceof Error&&(d.name==="AbortError"||d.message.includes("aborted")||d.message.includes("abort"));if(!c){let u=Ui(d,this.config.errorMessage);if(u){let w={id:s,role:"assistant",createdAt:new Date().toISOString(),content:u,sequence:this.nextSequence()};this.appendMessage(w)}}this.setStatus("idle"),this.setStreaming(!1),this.abortController=null,c||(d instanceof Error?this.callbacks.onError?.(d):this.callbacks.onError?.(new Error(String(d))))}}async continueConversation(){if(this.streaming)return;this.abortController?.abort(),this.teardownReconnect();let e=nr();this.activeAssistantMessageId=null,this.setStreaming(!0);let n=new AbortController;this.abortController=n;let o=[...this.messages];try{await this.client.dispatch({messages:o,signal:n.signal,assistantMessageId:e},this.handleEvent)}catch(r){if(this.status==="resuming"||this.reconnecting)return;let s=r instanceof Error&&(r.name==="AbortError"||r.message.includes("aborted")||r.message.includes("abort"));if(!s){let a=Ui(r,this.config.errorMessage);if(a){let l={id:e,role:"assistant",createdAt:new Date().toISOString(),content:a,sequence:this.nextSequence()};this.appendMessage(l)}}this.setStatus("idle"),this.setStreaming(!1),this.abortController=null,s||(r instanceof Error?this.callbacks.onError?.(r):this.callbacks.onError?.(new Error(String(r))))}}async connectStream(e,n){if(this.streaming&&!n?.allowReentry)return;n?.allowReentry||this.abortController?.abort(),n?.preserveAssistantId&&n.assistantMessageId&&(this.activeAssistantMessageId=n.assistantMessageId);let o=n?.preserveAssistantId?n.assistantMessageId:void 0,r=!1;for(let s of this.messages)s.streaming&&s.id!==o&&(s.streaming=!1,r=!0);r&&this.callbacks.onMessagesChanged([...this.messages]),this.setStreaming(!0);try{await this.client.processStream(e,this.handleEvent,n?.assistantMessageId,n?.seedContent)}catch(s){if(this.status==="resuming"||this.reconnecting)return;this.setStatus("error"),this.webMcpResolveControllers.size===0&&(this.setStreaming(!1),this.abortController=null),this.callbacks.onError?.(s instanceof Error?s:new Error(String(s)))}}wireDefaultWebMcpConfirm(){let e=this.config.webmcp;e?.enabled===!0&&!e.onConfirm&&this.client.setWebMcpConfirmHandler(n=>this.requestWebMcpApproval(n))}requestWebMcpApproval(e){try{if(this.config.webmcp?.autoApprove?.(e)===!0)return Promise.resolve(!0)}catch{}let n={id:`webmcp-${++this.webMcpApprovalSeq}`,status:"pending",agentId:"",executionId:"",toolName:e.toolName,toolType:"webmcp",description:e.description??`Allow the assistant to run ${e.toolName}?`,parameters:e.args},o=`approval-${n.id}`;return this.upsertMessage({id:o,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!1,variant:"approval",approval:n}),new Promise(r=>{this.webMcpApprovalResolvers.set(o,r)})}resolveWebMcpApproval(e,n){let o=this.webMcpApprovalResolvers.get(e);if(!o)return;this.webMcpApprovalResolvers.delete(e);let r=this.messages.find(s=>s.id===e);r?.approval&&this.upsertMessage({...r,approval:{...r.approval,status:n,resolvedAt:Date.now()}}),o(n==="approved")}async resolveApproval(e,n,o){let r=`approval-${e.id}`,s={...e,status:n,resolvedAt:Date.now()},a=this.messages.find(c=>c.id===r),l={id:r,role:"assistant",content:"",createdAt:a?.createdAt??new Date().toISOString(),...a?.sequence!==void 0?{sequence:a.sequence}:{},streaming:!1,variant:"approval",approval:s};this.upsertMessage(l),this.abortController?.abort(),this.abortController=new AbortController,this.setStreaming(!0);let p=this.config.approval,d=p&&typeof p=="object"?p.onDecision:void 0;try{let c;if(d?c=await d({approvalId:e.id,executionId:e.executionId,agentId:e.agentId,toolName:e.toolName},n,o):c=await this.client.resolveApproval({agentId:e.agentId,executionId:e.executionId,approvalId:e.id},n),c){let u=null;if(c instanceof Response){if(!c.ok){let w=await c.json().catch(()=>null);throw new Error(w?.error??`Approval request failed: ${c.status}`)}u=c.body}else c instanceof ReadableStream&&(u=c);u?await this.connectStream(u,{allowReentry:!0}):(n==="denied"&&this.appendMessage({id:`denial-${e.id}`,role:"assistant",content:"Tool execution was denied by user.",createdAt:new Date().toISOString(),streaming:!1,sequence:this.nextSequence()}),this.setStreaming(!1),this.abortController=null)}else this.setStreaming(!1),this.abortController=null}catch(c){let u=c instanceof Error&&(c.name==="AbortError"||c.message.includes("aborted")||c.message.includes("abort"));this.setStreaming(!1),this.abortController=null,u||this.callbacks.onError?.(c instanceof Error?c:new Error(String(c)))}}persistAskUserQuestionProgress(e,n){let o=this.messages.find(r=>r.id===e.id);o&&this.upsertMessage({...o,agentMetadata:{...o.agentMetadata,askUserQuestionAnswers:n.answers,askUserQuestionIndex:n.currentIndex}})}markAskUserQuestionResolved(e,n){let o=this.messages.find(r=>r.id===e.id);o&&this.upsertMessage({...o,agentMetadata:{...o.agentMetadata,awaitingLocalTool:!1,askUserQuestionAnswered:!0,...n?{askUserQuestionAnswers:n}:{}}})}async resolveAskUserQuestion(e,n){if(this.messages.find(c=>c.id===e.id)?.agentMetadata?.askUserQuestionAnswered===!0)return;let r=e.agentMetadata?.executionId,s=e.toolCall?.name;if(!r||!s){this.callbacks.onError?.(new Error("resolveAskUserQuestion: message is missing executionId or toolCall.name"));return}let a=typeof n=="string"?void 0:n;if(a===void 0&&typeof n=="string"){let c=e.toolCall?.args,u=Array.isArray(c?.questions)?c.questions:[];if(u.length===1){let w=typeof u[0]?.question=="string"?u[0].question:"";w&&(a={[w]:n})}}this.markAskUserQuestionResolved(e,a),this.abortController?.abort(),this.abortController=new AbortController,this.setStreaming(!0);let l=e.toolCall.id,p=e.toolCall?.args,d=Array.isArray(p?.questions)?p.questions:[];if(d.length===0){let c=typeof n=="string"?n:Object.entries(n).map(([u,w])=>`${u}: ${Array.isArray(w)?w.join(", "):w}`).join(" | ");this.appendMessage({id:`ask-user-answer-${l}`,role:"user",content:c,createdAt:new Date().toISOString(),streaming:!1,sequence:this.nextSequence()})}else{let c=a??{};d.forEach((u,w)=>{let f=typeof u?.question=="string"?u.question:"";if(!f)return;let v=c[f],x=Array.isArray(v)?v.join(", "):typeof v=="string"?v:"";this.appendMessage({id:`ask-user-q-${l}-${w}`,role:"assistant",content:f,createdAt:new Date().toISOString(),streaming:!1,sequence:this.nextSequence()}),this.appendMessage({id:`ask-user-a-${l}-${w}`,role:"user",content:x||"*Skipped*",createdAt:new Date().toISOString(),streaming:!1,sequence:this.nextSequence()})})}try{let c=await this.client.resumeFlow(r,{[s]:n});if(!c.ok){let u=await c.json().catch(()=>null);throw new Error(u?.error??`Resume failed: ${c.status}`)}c.body?await this.connectStream(c.body,{allowReentry:!0}):(this.setStreaming(!1),this.abortController=null)}catch(c){let u=c instanceof Error&&(c.name==="AbortError"||c.message.includes("aborted")||c.message.includes("abort"));this.setStreaming(!1),this.abortController=null,u||this.callbacks.onError?.(c instanceof Error?c:new Error(String(c)))}}enqueueWebMcpAwait(e){let n=e.agentMetadata?.executionId,o=e.toolCall?.id;if(!n||!o){let s=this.webMcpEpoch;queueMicrotask(()=>{s===this.webMcpEpoch&&this.resolveWebMcpToolCall(e)});return}let r=this.webMcpAwaitBatches.get(n);r||(r={snapshots:[],seen:new Set},this.webMcpAwaitBatches.set(n,r)),!r.seen.has(o)&&(r.seen.add(o),r.snapshots.push(e))}scheduleWebMcpBatchFlush(){if(this.webMcpAwaitBatches.size===0)return;let e=this.webMcpEpoch;queueMicrotask(()=>{if(e===this.webMcpEpoch)for(let n of[...this.webMcpAwaitBatches.keys()])this.flushWebMcpAwaitBatch(n)})}flushWebMcpAwaitBatch(e){let n=this.webMcpAwaitBatches.get(e);if(!n)return;this.webMcpAwaitBatches.delete(e);let{snapshots:o}=n;o.length===1?this.resolveWebMcpToolCall(o[0]):o.length>1&&this.resolveWebMcpToolCallBatch(e,o)}resolveWebMcpToolStartedAt(e){let o=[this.messages.find(r=>r.id===e.id)?.toolCall?.startedAt,e.toolCall?.startedAt];for(let r of o)if(typeof r=="number"&&Number.isFinite(r))return r;return Date.now()}isSuggestRepliesAlreadyResolved(e){return e.toolCall?.name!==Hn?!1:(this.messages.find(o=>o.id===e.id)??e).agentMetadata?.suggestRepliesResolved===!0}markWebMcpToolRunning(e){let n=this.resolveWebMcpToolStartedAt(e);return this.upsertMessage({...e,streaming:!0,agentMetadata:{...e.agentMetadata,awaitingLocalTool:!1},toolCall:e.toolCall?{...e.toolCall,status:"running",startedAt:n,completedAt:void 0,duration:void 0,durationMs:void 0}:e.toolCall}),n}markWebMcpToolComplete(e,n,o,r=Date.now(),s){this.messages.some(a=>a.id===e.id)&&this.upsertMessage({...e,streaming:!1,agentMetadata:{...e.agentMetadata,awaitingLocalTool:!1,...s},toolCall:e.toolCall?{...e.toolCall,status:"complete",result:n,startedAt:o,completedAt:r,duration:void 0,durationMs:Math.max(0,r-o)}:e.toolCall})}async resolveWebMcpToolCallBatch(e,n){let o=[],r=[],s=new AbortController;this.webMcpResolveControllers.add(s),this.setStreaming(!0);let a=await Promise.all(n.map(async p=>{let d=p.toolCall?.name,c=p.toolCall?.id;if(!d||!c)return null;let u=`${e}:${c}`;if(this.webMcpInflightKeys.has(u)||this.webMcpResolvedKeys.has(u)||this.isSuggestRepliesAlreadyResolved(p))return null;this.webMcpInflightKeys.add(u),o.push(u);let w=this.markWebMcpToolRunning(p),f=p.agentMetadata?.webMcpToolCallId??d;if(d===Hn)return{dedupeKey:u,resumeKey:f,output:Bi(),toolMessage:p,startedAt:w,completedAt:Date.now()};let v=new AbortController;this.webMcpResolveControllers.add(v),r.push(v);let x=this.client.executeWebMcpToolCall(d,p.toolCall?.args,v.signal),P;if(!x)P={isError:!0,content:[{type:"text",text:"WebMCP not enabled on this widget."}]};else try{P=await x}catch(W){let T=W instanceof Error&&(W.name==="AbortError"||W.message.includes("aborted")||W.message.includes("abort"));return T||this.callbacks.onError?.(W instanceof Error?W:new Error(String(W))),this.markWebMcpToolComplete(p,Jr(T?"Aborted by cancel()":Pd(W)),w),this.webMcpInflightKeys.delete(u),null}return v.signal.aborted?(this.markWebMcpToolComplete(p,Jr("Aborted by cancel()"),w),this.webMcpInflightKeys.delete(u),null):{dedupeKey:u,resumeKey:f,output:P,toolMessage:p,startedAt:w,completedAt:Date.now()}})),l=[];try{if(l=a.filter(c=>c!==null),l.length===0)return;let p={};for(let c of l)p[c.resumeKey]=c.output;let d=await this.client.resumeFlow(e,p,{signal:s.signal});if(!d.ok){let c=await d.json().catch(()=>null);throw new Error(c?.error??`Resume failed: ${d.status}`)}for(let c of l)this.webMcpResolvedKeys.add(c.dedupeKey),this.markWebMcpToolComplete(c.toolMessage,c.output,c.startedAt,c.completedAt,c.toolMessage.toolCall?.name===Hn?{suggestRepliesResolved:!0}:void 0);d.body&&await this.connectStream(d.body,{allowReentry:!0})}catch(p){if(!(p instanceof Error&&(p.name==="AbortError"||p.message.includes("aborted")||p.message.includes("abort"))))this.callbacks.onError?.(p instanceof Error?p:new Error(String(p)));else for(let c of l)this.markWebMcpToolComplete(c.toolMessage,Jr("Aborted by cancel()"),c.startedAt)}finally{for(let p of o)this.webMcpInflightKeys.delete(p);for(let p of r)this.webMcpResolveControllers.delete(p);this.webMcpResolveControllers.delete(s),this.webMcpResolveControllers.size===0&&!this.abortController&&this.setStreaming(!1)}}async resolveWebMcpToolCall(e){let n=e.agentMetadata?.executionId,o=e.toolCall?.name,r=e.toolCall?.id;if(!n){this.callbacks.onError?.(new Error("WebMCP step_await missing executionId: dispatch left paused."));return}if(!o)return;if(!r){let v=`${n}:__no_tool_id__:${o}`;if(this.webMcpInflightKeys.has(v)||this.webMcpResolvedKeys.has(v))return;this.webMcpInflightKeys.add(v);try{await this.resumeWithToolOutput(n,o,{isError:!0,content:[{type:"text",text:"WebMCP step_await missing toolCall.id: cannot execute the page tool."}]}),this.webMcpResolvedKeys.add(v)}catch(x){this.callbacks.onError?.(x instanceof Error?x:new Error(String(x)))}finally{this.webMcpInflightKeys.delete(v)}return}let s=`${n}:${r}`;if(this.webMcpInflightKeys.has(s)||this.webMcpResolvedKeys.has(s)||this.isSuggestRepliesAlreadyResolved(e))return;this.webMcpInflightKeys.add(s);let a=this.markWebMcpToolRunning(e),l=new AbortController;this.webMcpResolveControllers.add(l);let{signal:p}=l;this.setStreaming(!0);let d=o===Hn,c=e.toolCall?.args,u=d?null:this.client.executeWebMcpToolCall(o,c,p),w="execute",f=a;try{let v;if(d?v=Bi():u?v=await u:v={isError:!0,content:[{type:"text",text:"WebMCP not enabled on this widget."}]},f=Date.now(),p.aborted){this.markWebMcpToolComplete(e,Jr("Aborted by cancel()"),a);return}let x=e.agentMetadata?.webMcpToolCallId??o;w="resume",await this.resumeWithToolOutput(n,x,v,{onHttpOk:()=>{this.webMcpResolvedKeys.add(s),this.markWebMcpToolComplete(e,v,a,f,d?{suggestRepliesResolved:!0}:void 0)},signal:p})}catch(v){let x=v instanceof Error&&(v.name==="AbortError"||v.message.includes("aborted")||v.message.includes("abort"));(w==="execute"||x||p.aborted)&&this.markWebMcpToolComplete(e,Jr(x||p.aborted?"Aborted by cancel()":Pd(v)),a),x||this.callbacks.onError?.(v instanceof Error?v:new Error(String(v)))}finally{this.webMcpInflightKeys.delete(s),this.webMcpResolveControllers.delete(l),this.webMcpResolveControllers.size===0&&!this.abortController&&this.setStreaming(!1)}}async resumeWithToolOutput(e,n,o,r){let s=await this.client.resumeFlow(e,{[n]:o},{signal:r?.signal});if(!s.ok){let a=await s.json().catch(()=>null);throw new Error(a?.error??`Resume failed: ${s.status}`)}r?.onHttpOk?.(),s.body?await this.connectStream(s.body,{allowReentry:!0}):this.webMcpResolveControllers.size===0&&(this.setStreaming(!1),this.abortController=null)}abortWebMcpResolves(){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.webMcpEpoch++}cancel(){this.abortController?.abort(),this.abortController=null,this.teardownReconnect(),this.abortWebMcpResolves(),this.webMcpInflightKeys.clear(),this.stopSpeaking(),this.stopVoicePlayback(),this.setStreaming(!1),this.setStatus("idle")}clearMessages(){this.stopSpeaking(),this.abortController?.abort(),this.abortController=null,this.teardownReconnect(),this.abortWebMcpResolves(),this.messages=[],this.agentExecution=null,this.clearArtifactState(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear(),this.client.resetClientToolsFingerprint(),this.setStreaming(!1),this.setStatus("idle"),this.callbacks.onMessagesChanged([...this.messages])}getArtifacts(){return[...this.artifacts.values()]}getArtifactById(e){return this.artifacts.get(e)}getSelectedArtifactId(){return this.selectedArtifactId}selectArtifact(e){this.selectedArtifactId=e,this.emitArtifactsState()}clearArtifacts(){this.clearArtifactState()}upsertArtifact(e){let n=e.id||`art_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,o=e.artifactType==="markdown"?{id:n,artifactType:"markdown",title:e.title,status:"complete",markdown:e.content,...e.file?{file:e.file}:{}}:{id:n,artifactType:"component",title:e.title,status:"complete",component:e.component,props:e.props??{}};return this.artifacts.set(n,o),this.selectedArtifactId=n,this.emitArtifactsState(),e.transcript!==!1&&this.injectArtifactRefBlock(o),o}injectArtifactRefBlock(e){let n=`artifact-ref-${e.id}`,o=Eo(this.config.features?.artifacts,e.artifactType),r=Ys(o,{artifactId:e.id,title:e.title,artifactType:e.artifactType,status:"complete",...e.file?{file:e.file}:{},...e.component?{component:e.component}:{},...e.props?{componentProps:e.props}:{},...e.markdown!==void 0?{markdown:e.markdown}:{}}),s=this.messages.find(a=>a.id===n);if(s){s.rawContent=r,s.streaming=!1,this.callbacks.onMessagesChanged([...this.messages]);return}this.injectAssistantMessage({id:n,content:"",rawContent:r})}clearArtifactState(){this.artifacts.size===0&&this.selectedArtifactId===null||(this.artifacts.clear(),this.selectedArtifactId=null,this.emitArtifactsState())}emitArtifactsState(){this.callbacks.onArtifactsState?.({artifacts:[...this.artifacts.values()],selectedId:this.selectedArtifactId})}applyArtifactStreamEvent(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.selectedArtifactId=e.id;break}case"artifact_delta":{let n=this.artifacts.get(e.id);n?.artifactType==="markdown"&&(n.markdown=(n.markdown??"")+e.artDelta);break}case"artifact_update":{let n=this.artifacts.get(e.id);n?.artifactType==="component"&&(n.props={...n.props,...e.props},e.component&&(n.component=e.component));break}case"artifact_complete":{let n=this.artifacts.get(e.id);n&&(n.status="complete");break}default:return}this.emitArtifactsState()}hydrateMessages(e){this.abortController?.abort(),this.abortController=null,this.teardownReconnect(),this.abortWebMcpResolves(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear(),this.messages=this.sortMessages(e.map(n=>({...n,streaming:!1,sequence:n.sequence??this.nextSequence()}))),this.setStreaming(!1),this.setStatus("idle"),this.callbacks.onMessagesChanged([...this.messages])}hydrateArtifacts(e,n=null){this.artifacts.clear();for(let o of e)this.artifacts.set(o.id,{...o,status:"complete"});this.selectedArtifactId=n,this.emitArtifactsState()}trackCursor(e){let n=this.agentExecution?.executionId;if(!n||!this.activeAssistantMessageId||this.agentExecution?.status!=="running")return;let o=this.resumable===null;this.resumable={executionId:n,lastEventId:e,assistantMessageId:this.activeAssistantMessageId,status:"running"},this.notifyExecutionState(o)}isDurableDrop(){return this.resumable!==null&&typeof this.config.reconnectStream=="function"&&this.abortController?.signal.aborted!==!0&&this.webMcpResolveControllers.size===0&&this.webMcpAwaitBatches.size===0&&!this.isAwaitPending()}isAwaitPending(){return this.messages.some(e=>e.agentMetadata?.awaitingLocalTool===!0&&e.agentMetadata?.askUserQuestionAnswered!==!0||e.variant==="approval"&&e.approval?.status==="pending")}beginReconnect(){this.reconnecting||!this.resumable||typeof this.config.reconnectStream!="function"||(this.reconnecting=!0,this.callbacks.onReconnect?.({phase:"paused",handle:this.resumable}),this.setStreaming(!0),this.setStatus("resuming"),this.loadReconnectController().then(e=>{this.reconnecting&&this.resumable&&e.begin()}))}loadReconnectController(){return this.reconnectController?Promise.resolve(this.reconnectController):(this.reconnectControllerPromise||(this.reconnectControllerPromise=import("./session-reconnect-JKIJBHS5.js").then(({createReconnectController:e})=>{let n=e(this.buildReconnectHost());return this.reconnectController=n,n})),this.reconnectControllerPromise)}buildReconnectHost(){let e=this;return{get config(){return e.config},getResumable:()=>e.resumable,clearResumable:()=>e.clearResumable(),getStatus:()=>e.status,setStatus:n=>e.setStatus(n),setStreaming:n=>e.setStreaming(n),setReconnecting:n=>{e.reconnecting=n},setAbortController:n=>{e.abortController=n},getMessages:()=>e.messages,notifyMessagesChanged:()=>e.callbacks.onMessagesChanged([...e.messages]),resumeConnect:(n,o,r)=>e.connectStream(n,{assistantMessageId:o,allowReentry:!0,preserveAssistantId:!0,seedContent:r}),appendMessage:n=>e.appendMessage(n),nextSequence:()=>e.nextSequence(),emitReconnect:n=>e.callbacks.onReconnect?.(n),buildErrorContent:n=>Ui(new Error(n),e.config.errorMessage),onError:n=>e.callbacks.onError?.(n)}}reconnectNow(){if(this.reconnecting){this.reconnectController?.wake();return}this.beginReconnect()}resumeFromHandle(e){if(typeof this.config.reconnectStream!="function"||this.reconnecting)return;let n=this.reopenTrailingAssistant();n||(n=nr(),this.appendMessage({id:n,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,sequence:this.nextSequence()})),this.activeAssistantMessageId=n,this.agentExecution||(this.agentExecution={executionId:e.executionId,agentId:"",agentName:"",status:"running",currentIteration:0,maxTurns:0}),this.resumable={executionId:e.executionId,lastEventId:e.after,assistantMessageId:n,status:"running"},this.beginReconnect()}reopenTrailingAssistant(){for(let e=this.messages.length-1;e>=0;e--){let n=this.messages[e];if(n.role==="assistant"&&!n.variant)return n.streaming=!0,this.callbacks.onMessagesChanged([...this.messages]),n.id;if(n.role==="user")break}return null}teardownReconnect(){this.reconnecting=!1,this.reconnectController?.teardown(),this.clearResumable()}clearResumable(){this.executionStateTimer&&(clearTimeout(this.executionStateTimer),this.executionStateTimer=null);let e=this.resumable!==null;this.resumable=null,e&&this.config.onExecutionState?.(null)}notifyExecutionState(e){let n=this.config.onExecutionState;if(n){if(e){this.executionStateTimer&&(clearTimeout(this.executionStateTimer),this.executionStateTimer=null),n(this.resumable);return}this.executionStateTimer||(this.executionStateTimer=setTimeout(()=>{this.executionStateTimer=null,this.config.onExecutionState?.(this.resumable)},500))}}getResumableHandle(){return this.resumable}setStatus(e){this.status!==e&&(this.status=e,this.callbacks.onStatusChanged(e))}setStreaming(e){if(this.streaming===e)return;let n=this.streaming;this.streaming=e,this.callbacks.onStreamingChanged(e),n&&!e&&this.speakLatestAssistantMessage()}speakLatestAssistantMessage(){let e=this.config.textToSpeech;if(!e?.enabled||!(!e.provider||e.provider==="browser"||e.provider==="runtype"&&e.browserFallback))return;let o=[...this.messages].reverse().find(s=>s.role==="assistant"&&s.content&&!s.voiceProcessing);if(!o)return;if(this.ttsSpokenMessageIds.has(o.id)){this.ttsSpokenMessageIds.delete(o.id);return}let r=_i(o.content);r.trim()&&this.readAloud.play(o.id,{text:r,voice:e.voice,rate:e.rate,pitch:e.pitch})}static pickBestVoice(e){return da(e)}toggleReadAloud(e){let n=this.messages.find(s=>s.id===e);if(!n||n.role!=="assistant")return;let o=_i(n.content||"");if(!o.trim())return;let r=this.config.textToSpeech;this.readAloud.toggle(e,{text:o,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()}appendMessage(e){let n=this.ensureSequence(e);this.messages=this.sortMessages([...this.messages,n]),this.callbacks.onMessagesChanged([...this.messages])}upsertMessage(e){let n=this.ensureSequence(e),o=this.messages.findIndex(r=>r.id===n.id);if(o===-1){this.appendMessage(n);return}this.messages=this.messages.map((r,s)=>{if(s!==o)return r;let a={...r,...n};if(r.agentMetadata?.askUserQuestionAnswered===!0&&n.agentMetadata&&(a.agentMetadata={...n.agentMetadata,askUserQuestionAnswered:!0,...r.agentMetadata.askUserQuestionAnswers?{askUserQuestionAnswers:r.agentMetadata.askUserQuestionAnswers}:{},awaitingLocalTool:!1}),r.agentMetadata?.suggestRepliesResolved===!0&&n.agentMetadata&&(a.agentMetadata={...a.agentMetadata??n.agentMetadata,suggestRepliesResolved:!0,awaitingLocalTool:!1}),r.approval&&n.approval&&r.approval.id===n.approval.id){let c=r.approval,u=n.approval;a.approval={...c,...u,executionId:u.executionId||c.executionId,toolName:u.toolName||c.toolName,description:u.description||c.description,toolType:u.toolType??c.toolType,reason:u.reason??c.reason,parameters:u.parameters??c.parameters}}let l=n.toolCall?.name,p=n.agentMetadata?.executionId,d=n.toolCall?.id;if(l&&Id(l)&&p&&d&&n.agentMetadata?.awaitingLocalTool===!0){let c=`${p}:${d}`,u=this.webMcpInflightKeys.has(c),w=this.webMcpResolvedKeys.has(c),f=r.toolCall?.name,v=r.agentMetadata?.executionId===p&&r.toolCall?.id===d&&f!==void 0&&Id(f)&&r.toolCall?.status==="complete";(u||w||v)&&(a.agentMetadata={...a.agentMetadata??{},awaitingLocalTool:!1},a.toolCall=r.toolCall,a.streaming=r.streaming)}return a}),this.messages=this.sortMessages(this.messages),this.callbacks.onMessagesChanged([...this.messages])}ensureSequence(e){return e.sequence!==void 0?{...e}:{...e,sequence:this.nextSequence()}}nextSequence(){return this.sequenceCounter++}sortMessages(e){return[...e].sort((n,o)=>{let r=new Date(n.createdAt).getTime(),s=new Date(o.createdAt).getTime();if(!Number.isNaN(r)&&!Number.isNaN(s)&&r!==s)return r-s;let a=n.sequence??0,l=o.sequence??0;return a!==l?a-l:n.id.localeCompare(o.id)})}};import{Activity as vg,ArrowDown as wg,ArrowUp as xg,ArrowUpRight as Cg,Bot as Ag,ChevronDown as Sg,ChevronUp as Tg,ChevronRight as Mg,ChevronLeft as Eg,Check as kg,Clipboard as Lg,ClipboardCopy as Pg,CodeXml as Ig,Copy as Rg,File as Wg,FileCode as Bg,FileSpreadsheet as Hg,FileText as Dg,ImagePlus as Ng,Loader as Fg,LoaderCircle as Og,Mic as _g,Paperclip as $g,RefreshCw as Ug,Search as zg,Send as jg,ShieldAlert as qg,ShieldCheck as Vg,ShieldX as Kg,Square as Gg,ThumbsDown as Xg,ThumbsUp as Qg,Upload as Jg,Volume2 as Yg,X as Zg,User as em,Mail as tm,Phone as nm,Calendar as om,Clock as rm,Building as sm,MapPin as am,Lock as im,Key as lm,CreditCard as cm,AtSign as dm,Hash as pm,Globe as um,Link as fm,CircleCheck as gm,CircleX as mm,TriangleAlert as hm,Info as ym,Ban as bm,Shield as vm,ArrowLeft as wm,ArrowRight as xm,ExternalLink as Cm,Ellipsis as Am,EllipsisVertical as Sm,Menu as Tm,House as Mm,Plus as Em,Minus as km,Pencil as Lm,Trash as Pm,Trash2 as Im,Save as Rm,Download as Wm,Share as Bm,Funnel as Hm,Settings as Dm,RotateCw as Nm,Maximize as Fm,Minimize as Om,ShoppingCart as _m,ShoppingBag as $m,Package as Um,Truck as zm,Tag as jm,Gift as qm,Receipt as Vm,Wallet as Km,Store as Gm,DollarSign as Xm,Percent as Qm,Play as Jm,Pause as Ym,VolumeX as Zm,Camera as eh,Image as th,Film as nh,Headphones as oh,MessageCircle as rh,MessageSquare as sh,Bell as ah,Heart as ih,Star as lh,Eye as ch,EyeOff as dh,Bookmark as ph,CalendarDays as uh,History as fh,Timer as gh,Folder as mh,FolderOpen as hh,Files as yh,Sparkles as bh,Zap as vh,Sun as wh,Moon as xh,Flag as Ch,Monitor as Ah,Smartphone as Sh}from"lucide";var Th={activity:vg,"arrow-down":wg,"arrow-up":xg,"arrow-up-right":Cg,bot:Ag,"chevron-down":Sg,"chevron-up":Tg,"chevron-right":Mg,"chevron-left":Eg,check:kg,clipboard:Lg,"clipboard-copy":Pg,"code-xml":Ig,copy:Rg,file:Wg,"file-code":Bg,"file-spreadsheet":Hg,"file-text":Dg,"image-plus":Ng,loader:Fg,"loader-circle":Og,mic:_g,paperclip:$g,"refresh-cw":Ug,search:zg,send:jg,"shield-alert":qg,"shield-check":Vg,"shield-x":Kg,square:Gg,"thumbs-down":Xg,"thumbs-up":Qg,upload:Jg,"volume-2":Yg,x:Zg,user:em,mail:tm,phone:nm,calendar:om,clock:rm,building:sm,"map-pin":am,lock:im,key:lm,"credit-card":cm,"at-sign":dm,hash:pm,globe:um,link:fm,"circle-check":gm,"circle-x":mm,"triangle-alert":hm,info:ym,ban:bm,shield:vm,"arrow-left":wm,"arrow-right":xm,"external-link":Cm,ellipsis:Am,"ellipsis-vertical":Sm,menu:Tm,house:Mm,plus:Em,minus:km,pencil:Lm,trash:Pm,"trash-2":Im,save:Rm,download:Wm,share:Bm,funnel:Hm,settings:Dm,"rotate-cw":Nm,maximize:Fm,minimize:Om,"shopping-cart":_m,"shopping-bag":$m,package:Um,truck:zm,tag:jm,gift:qm,receipt:Vm,wallet:Km,store:Gm,"dollar-sign":Xm,percent:Qm,play:Jm,pause:Ym,"volume-x":Zm,camera:eh,image:th,film:nh,headphones:oh,"message-circle":rh,"message-square":sh,bell:ah,heart:ih,star:lh,eye:ch,"eye-off":dh,bookmark:ph,"calendar-days":uh,history:fh,timer:gh,folder:mh,"folder-open":hh,files:yh,sparkles:bh,zap:vh,sun:wh,moon:xh,flag:Ch,monitor:Ah,smartphone:Sh},ae=(t,e=24,n="currentColor",o=2)=>{let r=Th[t];return r?Mh(r,e,n,o):(console.warn(`Lucide icon "${t}" is not in the Persona registry. Add it to packages/widget/src/utils/icons.ts (see docs/icon-registry-shortlist.md).`),null)};function Mh(t,e,n,o){if(!Array.isArray(t))return null;let r=document.createElementNS("http://www.w3.org/2000/svg","svg");return r.setAttribute("width",String(e)),r.setAttribute("height",String(e)),r.setAttribute("viewBox","0 0 24 24"),r.setAttribute("fill","none"),r.setAttribute("stroke",n),r.setAttribute("stroke-width",String(o)),r.setAttribute("stroke-linecap","round"),r.setAttribute("stroke-linejoin","round"),r.setAttribute("aria-hidden","true"),t.forEach(s=>{if(!Array.isArray(s)||s.length<2)return;let a=s[0],l=s[1];if(!l)return;let p=document.createElementNS("http://www.w3.org/2000/svg",a);Object.entries(l).forEach(([d,c])=>{d!=="stroke"&&p.setAttribute(d,String(c))}),r.appendChild(p)}),r}var ua={allowedTypes:Dn,maxFileSize:10*1024*1024,maxFiles:4};function Eh(){return`attach_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}function kh(t){return t==="application/pdf"||t.startsWith("text/")||t.includes("word")?"file-text":t.includes("excel")||t.includes("spreadsheet")?"file-spreadsheet":t==="application/json"?"file-code":"file"}var Yr=class t{constructor(e={}){this.attachments=[];this.previewsContainer=null;this.config={allowedTypes:e.allowedTypes??ua.allowedTypes,maxFileSize:e.maxFileSize??ua.maxFileSize,maxFiles:e.maxFiles??ua.maxFiles,onFileRejected:e.onFileRejected,onAttachmentsChange:e.onAttachmentsChange}}setPreviewsContainer(e){this.previewsContainer=e}updateConfig(e){e.allowedTypes!==void 0&&(this.config.allowedTypes=e.allowedTypes.length>0?e.allowedTypes:ua.allowedTypes),e.maxFileSize!==void 0&&(this.config.maxFileSize=e.maxFileSize),e.maxFiles!==void 0&&(this.config.maxFiles=e.maxFiles),e.onFileRejected!==void 0&&(this.config.onFileRejected=e.onFileRejected),e.onAttachmentsChange!==void 0&&(this.config.onAttachmentsChange=e.onAttachmentsChange)}getAttachments(){return[...this.attachments]}getContentParts(){return this.attachments.map(e=>e.contentPart)}hasAttachments(){return this.attachments.length>0}count(){return this.attachments.length}async handleFileSelect(e){!e||e.length===0||await this.handleFiles(Array.from(e))}async handleFiles(e){if(e.length){for(let n of e){if(this.attachments.length>=this.config.maxFiles){this.config.onFileRejected?.(n,"count");continue}let o=Sd(n,this.config.allowedTypes,this.config.maxFileSize);if(!o.valid){let r=o.error?.includes("type")?"type":"size";this.config.onFileRejected?.(n,r);continue}try{let r=await Ad(n),s=ca(n)?URL.createObjectURL(n):null,a={id:Eh(),file:n,previewUrl:s,contentPart:r};this.attachments.push(a),this.renderPreview(a)}catch(r){console.error("[AttachmentManager] Failed to process file:",r)}}this.updatePreviewsVisibility(),this.config.onAttachmentsChange?.(this.getAttachments())}}removeAttachment(e){let n=this.attachments.findIndex(s=>s.id===e);if(n===-1)return;let o=this.attachments[n];o.previewUrl&&URL.revokeObjectURL(o.previewUrl),this.attachments.splice(n,1);let r=this.previewsContainer?.querySelector(`[data-attachment-id="${e}"]`);r&&r.remove(),this.updatePreviewsVisibility(),this.config.onAttachmentsChange?.(this.getAttachments())}clearAttachments(){for(let e of this.attachments)e.previewUrl&&URL.revokeObjectURL(e.previewUrl);this.attachments=[],this.previewsContainer&&(this.previewsContainer.innerHTML=""),this.updatePreviewsVisibility(),this.config.onAttachmentsChange?.(this.getAttachments())}renderPreview(e){if(!this.previewsContainer)return;let n=ca(e.file),o=m("div","persona-attachment-preview persona-relative persona-inline-block");if(o.setAttribute("data-attachment-id",e.id),o.style.width="48px",o.style.height="48px",n&&e.previewUrl){let a=m("img");a.src=e.previewUrl,a.alt=e.file.name,a.className="persona-w-full persona-h-full persona-object-cover persona-rounded-lg persona-border persona-border-gray-200",a.style.width="48px",a.style.height="48px",a.style.objectFit="cover",a.style.borderRadius="8px",o.appendChild(a)}else{let a=m("div");a.style.width="48px",a.style.height="48px",a.style.borderRadius="8px",a.style.backgroundColor="var(--persona-container, #f3f4f6)",a.style.border="1px solid var(--persona-border, #e5e7eb)",a.style.display="flex",a.style.flexDirection="column",a.style.alignItems="center",a.style.justifyContent="center",a.style.gap="2px",a.style.overflow="hidden";let l=kh(e.file.type),p=ae(l,20,"var(--persona-muted, #6b7280)",1.5);p&&a.appendChild(p);let d=m("span");d.textContent=Td(e.file.type,e.file.name),d.style.fontSize="8px",d.style.fontWeight="600",d.style.color="var(--persona-muted, #6b7280)",d.style.textTransform="uppercase",d.style.lineHeight="1",a.appendChild(d),o.appendChild(a)}let r=m("button","persona-attachment-remove persona-absolute persona-flex persona-items-center persona-justify-center");r.type="button",r.setAttribute("aria-label","Remove attachment"),r.style.position="absolute",r.style.top="-4px",r.style.right="-4px",r.style.width="18px",r.style.height="18px",r.style.borderRadius="50%",r.style.backgroundColor="var(--persona-palette-colors-black-alpha-60, rgba(0, 0, 0, 0.6))",r.style.border="none",r.style.cursor="pointer",r.style.display="flex",r.style.alignItems="center",r.style.justifyContent="center",r.style.padding="0";let s=ae("x",10,"var(--persona-text-inverse, #ffffff)",2);s?r.appendChild(s):(r.textContent="\xD7",r.style.color="var(--persona-text-inverse, #ffffff)",r.style.fontSize="14px",r.style.lineHeight="1"),r.addEventListener("click",a=>{a.preventDefault(),a.stopPropagation(),this.removeAttachment(e.id)}),o.appendChild(r),this.previewsContainer.appendChild(o)}updatePreviewsVisibility(){this.previewsContainer&&(this.previewsContainer.style.display=this.attachments.length>0?"flex":"none")}static fromConfig(e,n){return new t({allowedTypes:e?.allowedTypes,maxFileSize:e?.maxFileSize,maxFiles:e?.maxFiles,onFileRejected:e?.onFileRejected,onAttachmentsChange:n})}};var Rd=t=>typeof t=="object"&&t!==null&&!Array.isArray(t);function Zr(t,e){if(!t)return e;if(!e)return t;let n={...t};for(let[o,r]of Object.entries(e)){let s=n[o];Rd(s)&&Rd(r)?n[o]=Zr(s,r):n[o]=r}return n}var Nn="min(440px, calc(100vw - 24px))",Bd="440px",Lh={enabled:!0,mountMode:"floating",dock:{side:"right",width:"420px"},title:"Chat Assistant",subtitle:"Here to help you get answers fast",agentIconText:"\u{1F4AC}",agentIconName:"bot",headerIconName:"bot",position:"bottom-right",width:Nn,heightOffset:0,autoExpand:!1,callToActionIconHidden:!1,agentIconSize:"40px",headerIconSize:"40px",closeButtonSize:"32px",closeButtonPaddingX:"0px",closeButtonPaddingY:"0px",callToActionIconName:"arrow-up-right",callToActionIconText:"",callToActionIconSize:"32px",callToActionIconPadding:"5px",callToActionIconColor:void 0,callToActionIconBackgroundColor:void 0,closeButtonBackgroundColor:"transparent",clearChat:{backgroundColor:"transparent",borderColor:"transparent",enabled:!0,placement:"inline",iconName:"refresh-cw",size:"32px",showTooltip:!0,tooltipText:"Clear chat",paddingX:"0px",paddingY:"0px"},headerIconHidden:!1,border:void 0,shadow:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)"},dt={apiUrl:"https://api.runtype.com/api/chat/dispatch",clientToken:void 0,agentId:void 0,target:void 0,theme:void 0,darkTheme:void 0,colorScheme:"light",launcher:Lh,copy:{welcomeTitle:"Hello \u{1F44B}",welcomeSubtitle:"Ask anything about your account or products.",inputPlaceholder:"How can I help...",sendButtonLabel:"Send"},sendButton:{borderWidth:"0px",paddingX:"12px",paddingY:"10px",borderColor:void 0,useIcon:!0,iconText:"\u2191",size:"40px",showTooltip:!0,tooltipText:"Send message",iconName:"send"},statusIndicator:{visible:!0,idleText:"Online",connectingText:"Connecting\u2026",connectedText:"Streaming\u2026",errorText:"Offline"},voiceRecognition:{enabled:!0,pauseDuration:2e3,iconName:"mic",iconSize:"39px",borderWidth:"0px",paddingX:"9px",paddingY:"14px",iconColor:void 0,backgroundColor:"transparent",borderColor:"transparent",recordingIconColor:void 0,recordingBackgroundColor:void 0,recordingBorderColor:"transparent",showTooltip:!0,tooltipText:"Start voice recognition"},features:{showReasoning:!0,showToolCalls:!0,scrollToBottom:{enabled:!0,iconName:"arrow-down",label:""},scrollBehavior:{mode:"anchor-top",anchorTopOffset:16,showActivityWhilePinned:!0},toolCallDisplay:{collapsedMode:"tool-call",activePreview:!1,grouped:!1,groupedMode:"stack",previewMaxLines:3,expandable:!0,loadingAnimation:"none"},reasoningDisplay:{activePreview:!1,previewMaxLines:3,expandable:!0,loadingAnimation:"none"},streamAnimation:{type:"none",placeholder:"none",speed:120,duration:1800},askUserQuestion:{enabled:!0,slideInMs:180,freeTextLabel:"Other\u2026",freeTextPlaceholder:"Type your answer\u2026",submitLabel:"Send"}},suggestionChips:["What can you help me with?","Tell me about your features","How does this work?"],suggestionChipsConfig:{fontFamily:"sans-serif",fontWeight:"500",paddingX:"12px",paddingY:"6px"},layout:{header:{layout:"default",showIcon:!0,showTitle:!0,showSubtitle:!0,showCloseButton:!0,showClearChat:!0},messages:{layout:"bubble",avatar:{show:!1,position:"left"},timestamp:{show:!1,position:"below"},groupConsecutive:!1},slots:{}},markdown:{options:{gfm:!0,breaks:!0},disableDefaultStyles:!1},messageActions:{enabled:!0,showCopy:!0,showUpvote:!1,showDownvote:!1,visibility:"hover",align:"right",layout:"pill-inside"},debug:!1};function Wd(t,e){if(!(!t&&!e))return t?e?Zr(t,e):t:e}function Hd(t){return t?{...dt,...t,theme:Wd(dt.theme,t.theme),darkTheme:Wd(dt.darkTheme,t.darkTheme),launcher:{...dt.launcher,...t.launcher,dock:{...dt.launcher?.dock,...t.launcher?.dock},clearChat:{...dt.launcher?.clearChat,...t.launcher?.clearChat}},copy:{...dt.copy,...t.copy},sendButton:{...dt.sendButton,...t.sendButton},statusIndicator:{...dt.statusIndicator,...t.statusIndicator},voiceRecognition:{...dt.voiceRecognition,...t.voiceRecognition},features:(()=>{let e=dt.features?.artifacts,n=t.features?.artifacts,o=dt.features?.scrollToBottom,r=t.features?.scrollToBottom,s=dt.features?.scrollBehavior,a=t.features?.scrollBehavior,l=dt.features?.streamAnimation,p=t.features?.streamAnimation,d=dt.features?.askUserQuestion,c=t.features?.askUserQuestion,u=e===void 0&&n===void 0?void 0:{...e,...n,layout:{...e?.layout,...n?.layout}},w=o===void 0&&r===void 0?void 0:{...o,...r},f=s===void 0&&a===void 0?void 0:{...s,...a},v=l===void 0&&p===void 0?void 0:{...l,...p},x=d===void 0&&c===void 0?void 0:{...d,...c,styles:{...d?.styles,...c?.styles}};return{...dt.features,...t.features,...w!==void 0?{scrollToBottom:w}:{},...f!==void 0?{scrollBehavior:f}:{},...u!==void 0?{artifacts:u}:{},...v!==void 0?{streamAnimation:v}:{},...x!==void 0?{askUserQuestion:x}:{}}})(),suggestionChips:t.suggestionChips??dt.suggestionChips,suggestionChipsConfig:{...dt.suggestionChipsConfig,...t.suggestionChipsConfig},layout:{...dt.layout,...t.layout,header:{...dt.layout?.header,...t.layout?.header},messages:{...dt.layout?.messages,...t.layout?.messages,avatar:{...dt.layout?.messages?.avatar,...t.layout?.messages?.avatar},timestamp:{...dt.layout?.messages?.timestamp,...t.layout?.messages?.timestamp}},slots:{...dt.layout?.slots,...t.layout?.slots}},markdown:{...dt.markdown,...t.markdown,options:{...dt.markdown?.options,...t.markdown?.options}},messageActions:{...dt.messageActions,...t.messageActions}}:dt}var fa="16px",ga="transparent",Ph={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"}},spacing:{0:"0px",1:"0.25rem",2:"0.5rem",3:"0.75rem",4:"1rem",5:"1.25rem",6:"1.5rem",8:"2rem",10:"2.5rem",12:"3rem",16:"4rem",20:"5rem",24:"6rem",32:"8rem",40:"10rem",48:"12rem",56:"14rem",64:"16rem"},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"}},Ih={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"}},Rh={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"}},input:{background:"palette.colors.gray.50",placeholder:"palette.colors.gray.400",borderRadius:"palette.radius.lg",padding:"semantic.spacing.md",focus:{border:"palette.colors.gray.400",ring:"palette.colors.gray.400"}},launcher:{background:"palette.colors.primary.500",foreground:"palette.colors.primary.50",border:"palette.colors.gray.200",size:"60px",iconSize:"28px",borderRadius:"palette.radius.full",shadow:"palette.shadows.lg"},panel:{width:Nn,maxWidth:Bd,height:"600px",maxHeight:"calc(100vh - 80px)",borderRadius:"palette.radius.xl",shadow:"palette.shadows.xl",inset:fa,canvasBackground:ga},header:{background:"palette.colors.primary.500",border:"palette.colors.primary.600",borderRadius:"palette.radius.xl palette.radius.xl 0 0",padding:"semantic.spacing.md",iconBackground:"palette.colors.primary.600",iconForeground:"palette.colors.primary.50",titleForeground:"palette.colors.primary.50",subtitleForeground:"palette.colors.primary.200",actionIconForeground:"palette.colors.primary.200"},message:{user:{background:"palette.colors.primary.500",text:"palette.colors.primary.50",borderRadius:"palette.radius.lg",shadow:"palette.shadows.sm"},assistant:{background:"palette.colors.gray.50",text:"palette.colors.gray.900",borderRadius:"palette.radius.lg",border:"palette.colors.gray.200",shadow:"palette.shadows.sm"},border:"semantic.colors.border"},introCard:{background:"semantic.colors.surface",borderRadius:"palette.radius.2xl",padding:"semantic.spacing.lg",shadow:"0 5px 15px rgba(15, 23, 42, 0.08)"},toolBubble:{shadow:"palette.shadows.sm"},reasoningBubble:{shadow:"palette.shadows.sm"},composer:{shadow:"palette.shadows.none"},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"},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"}},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"}}};function Kt(t,e){if(!e.startsWith("palette.")&&!e.startsWith("semantic.")&&!e.startsWith("components."))return e;let n=e.split("."),o=t;for(let r of n){if(o==null)return;o=o[r]}return typeof o=="string"&&(o.startsWith("palette.")||o.startsWith("semantic.")||o.startsWith("components."))?Kt(t,o):o}function Dd(t){let e={};function n(o,r){for(let[s,a]of Object.entries(o)){let l=`${r}.${s}`;if(typeof a=="string"){let p=Kt(t,a);p!==void 0&&(e[l]={path:l,value:p,type:r.includes("color")?"color":r.includes("spacing")?"spacing":r.includes("typography")?"typography":r.includes("shadow")?"shadow":r.includes("border")?"border":"color"})}else typeof a=="object"&&a!==null&&n(a,l)}}return n(t.palette,"palette"),n(t.semantic,"semantic"),n(t.components,"components"),e}function Wh(t){let e=[],n=[];return t.palette||e.push({path:"palette",message:"Theme must include a palette",severity:"error"}),t.semantic||n.push({path:"semantic",message:"No semantic tokens defined - defaults will be used",severity:"warning"}),t.components||n.push({path:"components",message:"No component tokens defined - defaults will be used",severity:"warning"}),{valid:e.length===0,errors:e,warnings:n}}function Nd(t,e){let n={...t};for(let[o,r]of Object.entries(e)){let s=n[o];s&&typeof s=="object"&&!Array.isArray(s)&&r&&typeof r=="object"&&!Array.isArray(r)?n[o]=Nd(s,r):n[o]=r}return n}function Bh(t,e){return e?Nd(t,e):t}function Ro(t,e={}){let n={palette:Ph,semantic:Ih,components:Rh},o={palette:{...n.palette,...t?.palette,colors:{...n.palette.colors,...t?.palette?.colors},spacing:{...n.palette.spacing,...t?.palette?.spacing},typography:{...n.palette.typography,...t?.palette?.typography},shadows:{...n.palette.shadows,...t?.palette?.shadows},borders:{...n.palette.borders,...t?.palette?.borders},radius:{...n.palette.radius,...t?.palette?.radius}},semantic:{...n.semantic,...t?.semantic,colors:{...n.semantic.colors,...t?.semantic?.colors,interactive:{...n.semantic.colors.interactive,...t?.semantic?.colors?.interactive},feedback:{...n.semantic.colors.feedback,...t?.semantic?.colors?.feedback}},spacing:{...n.semantic.spacing,...t?.semantic?.spacing},typography:{...n.semantic.typography,...t?.semantic?.typography}},components:Bh(n.components,t?.components)};if(e.validate!==!1){let r=Wh(o);if(!r.valid)throw new Error(`Theme validation failed: ${r.errors.map(s=>s.message).join(", ")}`)}if(e.plugins)for(let r of e.plugins)o=r.transform(o);return o}function Fd(t){let e=Dd(t),n={};for(let[C,j]of Object.entries(e)){let J=C.replace(/\./g,"-");n[`--persona-${J}`]=j.value}n["--persona-primary"]=n["--persona-semantic-colors-primary"]??n["--persona-palette-colors-primary-500"],n["--persona-secondary"]=n["--persona-semantic-colors-secondary"]??n["--persona-palette-colors-secondary-500"],n["--persona-accent"]=n["--persona-semantic-colors-accent"]??n["--persona-palette-colors-accent-500"],n["--persona-surface"]=n["--persona-semantic-colors-surface"]??n["--persona-palette-colors-gray-50"],n["--persona-background"]=n["--persona-semantic-colors-background"]??n["--persona-palette-colors-gray-50"],n["--persona-container"]=n["--persona-semantic-colors-container"]??n["--persona-palette-colors-gray-100"],n["--persona-text"]=n["--persona-semantic-colors-text"]??n["--persona-palette-colors-gray-900"],n["--persona-text-muted"]=n["--persona-semantic-colors-text-muted"]??n["--persona-palette-colors-gray-500"],n["--persona-text-inverse"]=n["--persona-semantic-colors-text-inverse"]??n["--persona-palette-colors-gray-50"],n["--persona-border"]=n["--persona-semantic-colors-border"]??n["--persona-palette-colors-gray-200"],n["--persona-divider"]=n["--persona-semantic-colors-divider"]??n["--persona-palette-colors-gray-200"],n["--persona-muted"]=n["--persona-text-muted"],n["--persona-voice-recording-indicator"]=n["--persona-components-voice-recording-indicator"]??n["--persona-palette-colors-error-500"],n["--persona-voice-recording-bg"]=n["--persona-components-voice-recording-background"]??n["--persona-palette-colors-error-50"],n["--persona-voice-processing-icon"]=n["--persona-components-voice-processing-icon"]??n["--persona-palette-colors-primary-500"],n["--persona-voice-speaking-icon"]=n["--persona-components-voice-speaking-icon"]??n["--persona-palette-colors-success-500"],n["--persona-approval-bg"]=n["--persona-components-approval-requested-background"]??n["--persona-surface"],n["--persona-approval-border"]=n["--persona-components-approval-requested-border"]??n["--persona-border"],n["--persona-approval-text"]=n["--persona-components-approval-requested-text"]??n["--persona-palette-colors-gray-900"],n["--persona-approval-shadow"]=n["--persona-components-approval-requested-shadow"]??"0 1px 2px 0 rgba(11, 11, 11, 0.06), 0 2px 8px 0 rgba(11, 11, 11, 0.04)",n["--persona-approval-approve-bg"]=n["--persona-components-approval-approve-background"]??n["--persona-button-primary-bg"],n["--persona-approval-deny-bg"]=n["--persona-components-approval-deny-background"]??n["--persona-container"],n["--persona-attachment-image-bg"]=n["--persona-components-attachment-image-background"]??n["--persona-palette-colors-gray-100"],n["--persona-attachment-image-border"]=n["--persona-components-attachment-image-border"]??n["--persona-palette-colors-gray-200"],n["--persona-font-family"]=n["--persona-semantic-typography-fontFamily"]??n["--persona-palette-typography-fontFamily-sans"],n["--persona-font-size"]=n["--persona-semantic-typography-fontSize"]??n["--persona-palette-typography-fontSize-base"],n["--persona-font-weight"]=n["--persona-semantic-typography-fontWeight"]??n["--persona-palette-typography-fontWeight-normal"],n["--persona-line-height"]=n["--persona-semantic-typography-lineHeight"]??n["--persona-palette-typography-lineHeight-normal"],n["--persona-input-font-family"]=n["--persona-font-family"],n["--persona-input-font-weight"]=n["--persona-font-weight"],n["--persona-radius-sm"]=n["--persona-palette-radius-sm"]??"0.125rem",n["--persona-radius-md"]=n["--persona-palette-radius-md"]??"0.375rem",n["--persona-radius-lg"]=n["--persona-palette-radius-lg"]??"0.5rem",n["--persona-radius-xl"]=n["--persona-palette-radius-xl"]??"0.75rem",n["--persona-radius-full"]=n["--persona-palette-radius-full"]??"9999px",n["--persona-launcher-radius"]=n["--persona-components-launcher-borderRadius"]??n["--persona-palette-radius-full"]??"9999px",n["--persona-launcher-bg"]=n["--persona-components-launcher-background"]??n["--persona-primary"],n["--persona-launcher-fg"]=n["--persona-components-launcher-foreground"]??n["--persona-text-inverse"],n["--persona-launcher-border"]=n["--persona-components-launcher-border"]??n["--persona-border"],n["--persona-button-primary-bg"]=n["--persona-components-button-primary-background"]??n["--persona-primary"],n["--persona-button-primary-fg"]=n["--persona-components-button-primary-foreground"]??n["--persona-text-inverse"],n["--persona-button-radius"]=n["--persona-components-button-primary-borderRadius"]??n["--persona-palette-radius-full"]??"9999px",n["--persona-panel-radius"]=n["--persona-components-panel-borderRadius"]??n["--persona-radius-xl"]??"0.75rem",n["--persona-panel-border"]=n["--persona-components-panel-border"]??`1px solid ${n["--persona-border"]}`,n["--persona-panel-shadow"]=n["--persona-components-panel-shadow"]??n["--persona-palette-shadows-xl"]??"0 25px 50px -12px rgba(0, 0, 0, 0.25)",n["--persona-panel-inset"]=n["--persona-components-panel-inset"]??fa,n["--persona-panel-canvas-bg"]=n["--persona-components-panel-canvasBackground"]??ga,n["--persona-launcher-shadow"]=n["--persona-components-launcher-shadow"]??"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)",n["--persona-input-radius"]=n["--persona-components-input-borderRadius"]??n["--persona-radius-lg"]??"0.5rem",n["--persona-message-user-radius"]=n["--persona-components-message-user-borderRadius"]??n["--persona-radius-lg"]??"0.5rem",n["--persona-message-assistant-radius"]=n["--persona-components-message-assistant-borderRadius"]??n["--persona-radius-lg"]??"0.5rem",n["--persona-header-bg"]=n["--persona-components-header-background"]??n["--persona-surface"],n["--persona-header-border"]=n["--persona-components-header-border"]??n["--persona-divider"],n["--persona-header-icon-bg"]=n["--persona-components-header-iconBackground"]??n["--persona-primary"],n["--persona-header-icon-fg"]=n["--persona-components-header-iconForeground"]??n["--persona-text-inverse"],n["--persona-header-title-fg"]=n["--persona-components-header-titleForeground"]??n["--persona-primary"],n["--persona-header-subtitle-fg"]=n["--persona-components-header-subtitleForeground"]??n["--persona-text-muted"],n["--persona-header-action-icon-fg"]=n["--persona-components-header-actionIconForeground"]??n["--persona-muted"];let o=t.components?.header;o?.shadow&&(n["--persona-header-shadow"]=o.shadow),o?.borderBottom&&(n["--persona-header-border-bottom"]=o.borderBottom);let r=t.components?.introCard;n["--persona-intro-card-bg"]=n["--persona-components-introCard-background"]??n["--persona-surface"],n["--persona-intro-card-radius"]=n["--persona-components-introCard-borderRadius"]??"1rem",n["--persona-intro-card-padding"]=n["--persona-components-introCard-padding"]??"1.5rem",n["--persona-intro-card-shadow"]=r?.shadow??n["--persona-components-introCard-shadow"]??"0 5px 15px rgba(15, 23, 42, 0.08)",n["--persona-input-background"]=n["--persona-components-input-background"]??n["--persona-surface"],n["--persona-input-placeholder"]=n["--persona-components-input-placeholder"]??n["--persona-text-muted"],n["--persona-message-user-bg"]=n["--persona-components-message-user-background"]??n["--persona-accent"],n["--persona-message-user-text"]=n["--persona-components-message-user-text"]??n["--persona-text-inverse"],n["--persona-message-user-shadow"]=n["--persona-components-message-user-shadow"]??"0 5px 15px rgba(15, 23, 42, 0.08)",n["--persona-message-assistant-bg"]=n["--persona-components-message-assistant-background"]??n["--persona-surface"],n["--persona-message-assistant-text"]=n["--persona-components-message-assistant-text"]??n["--persona-text"],n["--persona-message-assistant-border"]=n["--persona-components-message-assistant-border"]??n["--persona-border"],n["--persona-message-assistant-shadow"]=n["--persona-components-message-assistant-shadow"]??"0 1px 2px 0 rgb(0 0 0 / 0.05)",n["--persona-scroll-to-bottom-bg"]=n["--persona-components-scrollToBottom-background"]??n["--persona-button-primary-bg"]??n["--persona-accent"],n["--persona-scroll-to-bottom-fg"]=n["--persona-components-scrollToBottom-foreground"]??n["--persona-button-primary-fg"]??n["--persona-text-inverse"],n["--persona-scroll-to-bottom-border"]=n["--persona-components-scrollToBottom-border"]??n["--persona-primary"],n["--persona-scroll-to-bottom-size"]=n["--persona-components-scrollToBottom-size"]??"40px",n["--persona-scroll-to-bottom-radius"]=n["--persona-components-scrollToBottom-borderRadius"]??n["--persona-button-radius"]??n["--persona-radius-full"]??"9999px",n["--persona-scroll-to-bottom-shadow"]=n["--persona-components-scrollToBottom-shadow"]??n["--persona-palette-shadows-sm"]??"0 1px 2px 0 rgb(0 0 0 / 0.05)",n["--persona-scroll-to-bottom-padding"]=n["--persona-components-scrollToBottom-padding"]??"0.5rem 0.875rem",n["--persona-scroll-to-bottom-gap"]=n["--persona-components-scrollToBottom-gap"]??"0.5rem",n["--persona-scroll-to-bottom-font-size"]=n["--persona-components-scrollToBottom-fontSize"]??n["--persona-palette-typography-fontSize-sm"]??"0.875rem",n["--persona-scroll-to-bottom-icon-size"]=n["--persona-components-scrollToBottom-iconSize"]??"14px",n["--persona-tool-bubble-shadow"]=n["--persona-components-toolBubble-shadow"]??"0 5px 15px rgba(15, 23, 42, 0.08)",n["--persona-reasoning-bubble-shadow"]=n["--persona-components-reasoningBubble-shadow"]??"0 5px 15px rgba(15, 23, 42, 0.08)",n["--persona-composer-shadow"]=n["--persona-components-composer-shadow"]??"none",n["--persona-md-inline-code-bg"]=n["--persona-components-markdown-inlineCode-background"]??n["--persona-container"],n["--persona-md-inline-code-color"]=n["--persona-components-markdown-inlineCode-foreground"]??n["--persona-text"],n["--persona-md-link-color"]=n["--persona-components-markdown-link-foreground"]??n["--persona-accent"]??"#0f0f0f";let s=n["--persona-components-markdown-heading-h1-fontSize"];s&&(n["--persona-md-h1-size"]=s);let a=n["--persona-components-markdown-heading-h1-fontWeight"];a&&(n["--persona-md-h1-weight"]=a);let l=n["--persona-components-markdown-heading-h2-fontSize"];l&&(n["--persona-md-h2-size"]=l);let p=n["--persona-components-markdown-heading-h2-fontWeight"];p&&(n["--persona-md-h2-weight"]=p);let d=n["--persona-components-markdown-prose-fontFamily"];d&&d!=="inherit"&&(n["--persona-md-prose-font-family"]=d),n["--persona-md-code-block-bg"]=n["--persona-components-markdown-codeBlock-background"]??n["--persona-container"],n["--persona-md-code-block-border-color"]=n["--persona-components-markdown-codeBlock-borderColor"]??n["--persona-border"],n["--persona-md-code-block-text-color"]=n["--persona-components-markdown-codeBlock-textColor"]??"inherit",n["--persona-md-table-header-bg"]=n["--persona-components-markdown-table-headerBackground"]??n["--persona-container"],n["--persona-md-table-border-color"]=n["--persona-components-markdown-table-borderColor"]??n["--persona-border"],n["--persona-md-hr-color"]=n["--persona-components-markdown-hr-color"]??n["--persona-divider"],n["--persona-md-blockquote-border-color"]=n["--persona-components-markdown-blockquote-borderColor"]??n["--persona-palette-colors-gray-900"],n["--persona-md-blockquote-bg"]=n["--persona-components-markdown-blockquote-background"]??"transparent",n["--persona-md-blockquote-text-color"]=n["--persona-components-markdown-blockquote-textColor"]??n["--persona-palette-colors-gray-500"],n["--cw-container"]=n["--persona-components-collapsibleWidget-container"]??n["--persona-surface"],n["--cw-surface"]=n["--persona-components-collapsibleWidget-surface"]??n["--persona-surface"],n["--cw-border"]=n["--persona-components-collapsibleWidget-border"]??n["--persona-border"],n["--persona-message-border"]=n["--persona-components-message-border"]??n["--persona-border"];let c=t.components,u=c?.iconButton;u&&(u.background&&(n["--persona-icon-btn-bg"]=u.background),u.border&&(n["--persona-icon-btn-border"]=u.border),u.color&&(n["--persona-icon-btn-color"]=u.color),u.padding&&(n["--persona-icon-btn-padding"]=u.padding),u.borderRadius&&(n["--persona-icon-btn-radius"]=u.borderRadius),u.hoverBackground&&(n["--persona-icon-btn-hover-bg"]=u.hoverBackground),u.hoverColor&&(n["--persona-icon-btn-hover-color"]=u.hoverColor),u.activeBackground&&(n["--persona-icon-btn-active-bg"]=u.activeBackground),u.activeBorder&&(n["--persona-icon-btn-active-border"]=u.activeBorder));let w=c?.labelButton;w&&(w.background&&(n["--persona-label-btn-bg"]=w.background),w.border&&(n["--persona-label-btn-border"]=w.border),w.color&&(n["--persona-label-btn-color"]=w.color),w.padding&&(n["--persona-label-btn-padding"]=w.padding),w.borderRadius&&(n["--persona-label-btn-radius"]=w.borderRadius),w.hoverBackground&&(n["--persona-label-btn-hover-bg"]=w.hoverBackground),w.fontSize&&(n["--persona-label-btn-font-size"]=w.fontSize),w.gap&&(n["--persona-label-btn-gap"]=w.gap));let f=c?.toggleGroup;f&&(f.gap&&(n["--persona-toggle-group-gap"]=f.gap),f.borderRadius&&(n["--persona-toggle-group-radius"]=f.borderRadius));let v=c?.artifact;if(v?.toolbar){let C=v.toolbar;C.iconHoverColor&&(n["--persona-artifact-toolbar-icon-hover-color"]=C.iconHoverColor),C.iconHoverBackground&&(n["--persona-artifact-toolbar-icon-hover-bg"]=C.iconHoverBackground),C.iconPadding&&(n["--persona-artifact-toolbar-icon-padding"]=C.iconPadding),C.iconBorderRadius&&(n["--persona-artifact-toolbar-icon-radius"]=C.iconBorderRadius),C.iconBorder&&(n["--persona-artifact-toolbar-icon-border"]=C.iconBorder),C.toggleGroupGap&&(n["--persona-artifact-toolbar-toggle-group-gap"]=C.toggleGroupGap),C.toggleBorderRadius&&(n["--persona-artifact-toolbar-toggle-radius"]=C.toggleBorderRadius),C.toggleGroupPadding&&(n["--persona-artifact-toolbar-toggle-group-padding"]=C.toggleGroupPadding),C.toggleGroupBorder&&(n["--persona-artifact-toolbar-toggle-group-border"]=C.toggleGroupBorder),C.toggleGroupBorderRadius&&(n["--persona-artifact-toolbar-toggle-group-radius"]=C.toggleGroupBorderRadius),C.toggleGroupBackground&&(n["--persona-artifact-toolbar-toggle-group-bg"]=Kt(t,C.toggleGroupBackground)??C.toggleGroupBackground),C.copyBackground&&(n["--persona-artifact-toolbar-copy-bg"]=C.copyBackground),C.copyBorder&&(n["--persona-artifact-toolbar-copy-border"]=C.copyBorder),C.copyColor&&(n["--persona-artifact-toolbar-copy-color"]=C.copyColor),C.copyBorderRadius&&(n["--persona-artifact-toolbar-copy-radius"]=C.copyBorderRadius),C.copyPadding&&(n["--persona-artifact-toolbar-copy-padding"]=C.copyPadding),C.copyMenuBackground&&(n["--persona-artifact-toolbar-copy-menu-bg"]=C.copyMenuBackground,n["--persona-dropdown-bg"]=n["--persona-dropdown-bg"]??C.copyMenuBackground),C.copyMenuBorder&&(n["--persona-artifact-toolbar-copy-menu-border"]=C.copyMenuBorder,n["--persona-dropdown-border"]=n["--persona-dropdown-border"]??C.copyMenuBorder),C.copyMenuShadow&&(n["--persona-artifact-toolbar-copy-menu-shadow"]=C.copyMenuShadow,n["--persona-dropdown-shadow"]=n["--persona-dropdown-shadow"]??C.copyMenuShadow),C.copyMenuBorderRadius&&(n["--persona-artifact-toolbar-copy-menu-radius"]=C.copyMenuBorderRadius,n["--persona-dropdown-radius"]=n["--persona-dropdown-radius"]??C.copyMenuBorderRadius),C.copyMenuItemHoverBackground&&(n["--persona-artifact-toolbar-copy-menu-item-hover-bg"]=C.copyMenuItemHoverBackground,n["--persona-dropdown-item-hover-bg"]=n["--persona-dropdown-item-hover-bg"]??C.copyMenuItemHoverBackground),C.iconBackground&&(n["--persona-artifact-toolbar-icon-bg"]=C.iconBackground),C.toolbarBorder&&(n["--persona-artifact-toolbar-border"]=C.toolbarBorder)}if(v?.tab){let C=v.tab;C.background&&(n["--persona-artifact-tab-bg"]=C.background),C.activeBackground&&(n["--persona-artifact-tab-active-bg"]=C.activeBackground),C.activeBorder&&(n["--persona-artifact-tab-active-border"]=C.activeBorder),C.borderRadius&&(n["--persona-artifact-tab-radius"]=C.borderRadius),C.textColor&&(n["--persona-artifact-tab-color"]=C.textColor),C.hoverBackground&&(n["--persona-artifact-tab-hover-bg"]=C.hoverBackground),C.listBackground&&(n["--persona-artifact-tab-list-bg"]=C.listBackground),C.listBorderColor&&(n["--persona-artifact-tab-list-border-color"]=C.listBorderColor),C.listPadding&&(n["--persona-artifact-tab-list-padding"]=C.listPadding)}if(v?.pane){let C=v.pane;if(C.toolbarBackground){let j=Kt(t,C.toolbarBackground)??C.toolbarBackground;n["--persona-artifact-toolbar-bg"]=j}}if(v?.card){let C=v.card;C.background&&(n["--persona-artifact-card-bg"]=C.background),C.border&&(n["--persona-artifact-card-border"]=C.border),C.borderRadius&&(n["--persona-artifact-card-radius"]=C.borderRadius),C.hoverBackground&&(n["--persona-artifact-card-hover-bg"]=C.hoverBackground),C.hoverBorderColor&&(n["--persona-artifact-card-hover-border"]=C.hoverBorderColor)}if(v?.inline){let C=v.inline;C.background&&(n["--persona-artifact-inline-bg"]=Kt(t,C.background)??C.background),C.border&&(n["--persona-artifact-inline-border"]=C.border),C.borderRadius&&(n["--persona-artifact-inline-radius"]=C.borderRadius),C.chromeBackground&&(n["--persona-artifact-inline-chrome-bg"]=Kt(t,C.chromeBackground)??C.chromeBackground),C.chromeBorder&&(n["--persona-artifact-inline-chrome-border"]=Kt(t,C.chromeBorder)??C.chromeBorder),C.titleColor&&(n["--persona-artifact-inline-title-color"]=Kt(t,C.titleColor)??C.titleColor),C.mutedColor&&(n["--persona-artifact-inline-muted-color"]=Kt(t,C.mutedColor)??C.mutedColor),C.frameHeight&&(n["--persona-artifact-inline-frame-height"]=C.frameHeight)}let x=c?.code;x&&(x.keywordColor&&(n["--persona-code-keyword-color"]=x.keywordColor),x.stringColor&&(n["--persona-code-string-color"]=x.stringColor),x.commentColor&&(n["--persona-code-comment-color"]=x.commentColor),x.numberColor&&(n["--persona-code-number-color"]=x.numberColor),x.tagColor&&(n["--persona-code-tag-color"]=x.tagColor),x.attrColor&&(n["--persona-code-attr-color"]=x.attrColor),x.propertyColor&&(n["--persona-code-property-color"]=x.propertyColor),x.lineNumberColor&&(n["--persona-code-line-number-color"]=x.lineNumberColor),x.gutterBorderColor&&(n["--persona-code-gutter-border-color"]=x.gutterBorderColor),x.background&&(n["--persona-code-bg"]=Kt(t,x.background)??x.background));let P=n["--persona-surface"],W=n["--persona-container"],T=n["--persona-palette-colors-gray-100"]??"#f3f4f6",I=n["--persona-palette-colors-gray-200"]??"#e5e7eb",H=n["--persona-palette-colors-gray-300"]??"#d1d5db",q=!W||W===P,U=q?T:W,$=q?I:W;return n["--persona-icon-btn-hover-bg"]=n["--persona-icon-btn-hover-bg"]??U,n["--persona-icon-btn-active-bg"]=n["--persona-icon-btn-active-bg"]??$,q&&(n["--persona-icon-btn-active-border"]=n["--persona-icon-btn-active-border"]??H),n["--persona-label-btn-hover-bg"]=n["--persona-label-btn-hover-bg"]??U,n["--persona-artifact-tab-hover-bg"]=n["--persona-artifact-tab-hover-bg"]??U,n["--persona-artifact-card-hover-bg"]=n["--persona-artifact-card-hover-bg"]??U,n}var Hh={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"}}},Od=t=>{if(!(!t||typeof t!="object"||Array.isArray(t)))return t},zi=()=>typeof document<"u"&&document.documentElement.classList.contains("dark")||typeof window<"u"&&window.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light",Dh=t=>{let e=t?.colorScheme??"light";return e==="light"?"light":e==="dark"?"dark":zi()},_d=t=>Dh(t),Nh=t=>Ro(t),Fh=t=>{let e=Ro(void 0,{validate:!1});return Ro({...t,palette:{...e.palette,colors:{...Hh.colors,...t?.palette?.colors}}},{validate:!1})},sr=t=>{let e=_d(t),n=Od(t?.theme),o=Od(t?.darkTheme);return e==="dark"?Fh(Zr(n??{},o??{})):Nh(n)},Oh=t=>Fd(t),es=(t,e)=>{let n=sr(e),o=Oh(n);for(let[r,s]of Object.entries(o))t.style.setProperty(r,s);t.setAttribute("data-persona-color-scheme",_d(e))},ma=t=>{let e=[];if(typeof document<"u"&&typeof MutationObserver<"u"){let n=new MutationObserver(()=>{t(zi())});n.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),e.push(()=>n.disconnect())}if(typeof window<"u"&&window.matchMedia){let n=window.matchMedia("(prefers-color-scheme: dark)"),o=()=>t(zi());n.addEventListener?(n.addEventListener("change",o),e.push(()=>n.removeEventListener("change",o))):n.addListener&&(n.addListener(o),e.push(()=>n.removeListener(o)))}return()=>{e.forEach(n=>n())}};function Tn(t){let e=String(t).split(/[\\/]/);return e[e.length-1]??""}function $d(t){let e=Tn(t),n=e.lastIndexOf(".");return n<=0?"":e.slice(n+1).toLowerCase()}function ha(t){if(typeof t!="string")return"";let e=t.indexOf(`
18
+ _Details: ${n.message}_`:o}var es=t=>({isError:!0,content:[{type:"text",text:t}]}),Od=(t,e="WebMCP tool execution failed.")=>t instanceof Error&&t.message?t.message:typeof t=="string"&&t?t:e,_d=t=>Jo(t)||t===Nn,ga=class{constructor(e={},n){this.config=e;this.callbacks=n;this.status="idle";this.streaming=!1;this.abortController=null;this.sequenceCounter=Date.now();this.clientSession=null;this.agentExecution=null;this.resumable=null;this.activeAssistantMessageId=null;this.reconnecting=!1;this.reconnectController=null;this.reconnectControllerPromise=null;this.executionStateTimer=null;this.artifacts=new Map;this.selectedArtifactId=null;this.webMcpInflightKeys=new Set;this.webMcpResolvedKeys=new Set;this.webMcpResolveControllers=new Set;this.webMcpEpoch=0;this.webMcpApprovalResolvers=new Map;this.webMcpApprovalSeq=0;this.webMcpAwaitBatches=new Map;this.voiceProvider=null;this.voiceActive=!1;this.voiceStatus="disconnected";this.pendingVoiceUserMessageId=null;this.pendingVoiceAssistantMessageId=null;this.ttsSpokenMessageIds=new Set;this.readAloud=new Zr(()=>this.createSpeechEngine());this.handleEvent=e=>{if(e.type==="message"){this.upsertMessage(e.message),e.message.role==="assistant"&&!e.message.variant&&e.message.streaming&&(this.activeAssistantMessageId=e.message.id);let n=e.message.toolCall,o=!!n?.name&&(Jo(n.name)||n.name===Nn&&this.config.features?.suggestReplies?.enabled!==!1);e.message.agentMetadata?.awaitingLocalTool===!0&&o&&this.enqueueWebMcpAwait(e.message),e.message.agentMetadata?.executionId&&(this.agentExecution?e.message.agentMetadata.iteration!==void 0&&(this.agentExecution.currentIteration=e.message.agentMetadata.iteration):this.agentExecution={executionId:e.message.agentMetadata.executionId,agentId:"",agentName:e.message.agentMetadata.agentName??"",status:"running",currentIteration:e.message.agentMetadata.iteration??0,maxTurns:0})}else if(e.type==="cursor")this.trackCursor(e.id);else if(e.type==="status"){if(e.status==="idle"&&!e.terminal&&this.isDurableDrop()){this.beginReconnect();return}if(this.setStatus(e.status),e.status==="connecting")this.setStreaming(!0);else if(e.status==="idle"||e.status==="error"){this.clearResumable(),this.webMcpResolveControllers.size===0&&(this.setStreaming(!1),this.abortController=null);let n=this.webMcpAwaitBatches.size>0||this.webMcpResolveControllers.size>0;this.agentExecution?.status==="running"&&(e.status==="error"?this.agentExecution.status="error":n||(this.agentExecution.status="complete")),this.scheduleWebMcpBatchFlush()}}else e.type==="error"?(this.setStatus("error"),this.clearResumable(),this.webMcpResolveControllers.size===0&&(this.setStreaming(!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.applyArtifactStreamEvent(e)};this.messages=[...e.initialMessages??[]].map(o=>({...o,sequence:o.sequence??this.nextSequence()})),this.messages=this.sortMessages(this.messages),this.client=new Jr(e),this.wireDefaultWebMcpConfirm();for(let o of e.initialArtifacts??[])this.artifacts.set(o.id,{...o,status:"complete"});e.initialSelectedArtifactId!=null&&(this.selectedArtifactId=e.initialSelectedArtifactId),this.messages.length&&this.callbacks.onMessagesChanged([...this.messages]),this.artifacts.size>0&&this.emitArtifactsState(),this.callbacks.onStatusChanged(this.status),this.prefetchRuntypeTts()}prefetchRuntypeTts(){let e=this.config.textToSpeech;if(e?.provider!=="runtype"||e.createEngine)return;let n=e.host??this.config.apiUrl,o=e.agentId??this.config.voiceRecognition?.provider?.runtype?.agentId??this.config.agentId;!n||!o||!this.config.clientToken||qi().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 Ui(this.config.voiceRecognition?.provider)}isVoiceActive(){return this.voiceActive}getVoiceStatus(){return this.voiceStatus}getVoiceInterruptionMode(){return this.voiceProvider?.getInterruptionMode?this.voiceProvider.getInterruptionMode():"none"}stopVoicePlayback(){this.voiceProvider?.stopPlayback&&this.voiceProvider.stopPlayback()}isBargeInActive(){return this.voiceProvider?.isBargeInActive?.()??!1}async deactivateBargeIn(){this.voiceProvider?.deactivateBargeIn&&await this.voiceProvider.deactivateBargeIn()}createSpeechEngine(){let e=this.config.textToSpeech;if(e?.createEngine)return e.createEngine();let n=sr.isSupported()?new sr({pickVoice:e?.pickVoice}):null;if(e?.provider==="runtype"){let o=e.host??this.config.apiUrl,r=e.agentId??this.config.voiceRecognition?.provider?.runtype?.agentId??this.config.agentId,s=this.config.clientToken,a=e.browserFallback!==!1;if(o&&r&&s)return qi().then(({RuntypeSpeechEngine:l,FallbackSpeechEngine:p})=>{let d=new l({host:o,agentId:r,clientToken:s,voice:e.voice,prebufferMs:e.prebufferMs,createPlaybackEngine:e.createPlaybackEngine});return a&&n?new p(d,n,{onFallback:c=>console.warn(`[persona] Runtype read-aloud failed; using browser voice. ${c.message}`)}):d});if(a&&n)return s&&console.warn("[persona] textToSpeech.provider 'runtype' is missing an agentId; using the browser voice. Set textToSpeech.agentId (or voiceRecognition.provider.runtype.agentId)."),n}return n}setupVoice(e){try{let n=e||this.getVoiceConfigFromConfig();if(!n)throw new Error("Voice configuration not provided");this.voiceProvider=rr(n);let r=(this.config.voiceRecognition??{}).processingErrorText??"Voice processing failed. Please try again.";this.voiceProvider.onResult(s=>{s.provider!=="runtype"&&s.text&&s.text.trim()&&this.sendMessage(s.text,{viaVoice:!0})}),this.voiceProvider.onTranscript&&this.voiceProvider.onTranscript((s,a,l)=>{if(s==="user"){if(this.pendingVoiceUserMessageId)this.upsertMessage({id:this.pendingVoiceUserMessageId,role:"user",content:a,createdAt:new Date().toISOString(),streaming:!1,voiceProcessing:!l});else{let p=this.injectMessage({role:"user",content:a,streaming:!1,voiceProcessing:!l});this.pendingVoiceUserMessageId=p.id}if(l){this.pendingVoiceUserMessageId=null;let p=this.injectMessage({role:"assistant",content:"",streaming:!0,voiceProcessing:!0});this.pendingVoiceAssistantMessageId=p.id,this.setStreaming(!0)}}else{if(this.pendingVoiceAssistantMessageId)this.upsertMessage({id:this.pendingVoiceAssistantMessageId,role:"assistant",content:a,createdAt:new Date().toISOString(),streaming:!l,voiceProcessing:!l});else{let p=this.injectMessage({role:"assistant",content:a,streaming:!l,voiceProcessing:!l});this.pendingVoiceAssistantMessageId=p.id}l&&(this.pendingVoiceAssistantMessageId&&this.ttsSpokenMessageIds.add(this.pendingVoiceAssistantMessageId),this.setStreaming(!1),this.pendingVoiceAssistantMessageId=null)}}),this.voiceProvider.onMetrics&&this.voiceProvider.onMetrics(s=>{this.config.voiceRecognition?.onMetrics?.(s)}),this.voiceProvider.onError(s=>{console.error("Voice error:",s),this.pendingVoiceAssistantMessageId&&(this.upsertMessage({id:this.pendingVoiceAssistantMessageId,role:"assistant",content:r,createdAt:new Date().toISOString(),streaming:!1,voiceProcessing:!1}),this.setStreaming(!1),this.pendingVoiceUserMessageId=null,this.pendingVoiceAssistantMessageId=null)}),this.voiceProvider.onStatusChange(s=>{this.voiceStatus=s,this.voiceActive=s==="listening",this.callbacks.onVoiceStatusChanged?.(s)}),this.voiceProvider.connect()}catch(n){console.error("Failed to setup voice:",n)}}async toggleVoice(){if(!this.voiceProvider){console.error("Voice not configured");return}if(this.voiceActive)await this.voiceProvider.stopListening();else{this.stopSpeaking();try{await this.voiceProvider.startListening()}catch(e){console.error("Failed to start voice:",e)}}}cleanupVoice(){this.voiceProvider&&(this.voiceProvider.disconnect(),this.voiceProvider=null),this.voiceActive=!1,this.voiceStatus="disconnected"}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}};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;try{let e=await this.client.initSession();return this.setClientSession(e),e}catch(e){return this.callbacks.onError?.(e instanceof Error?e:new Error(String(e))),null}}setClientSession(e){if(this.clientSession=e,e.config.welcomeMessage&&this.messages.length===0){let n={id:`welcome-${Date.now()}`,role:"assistant",content:e.config.welcomeMessage,createdAt:new Date().toISOString(),sequence:this.nextSequence()};this.appendMessage(n)}}getClientSession(){return this.clientSession??this.client.getClientSession()}isSessionValid(){let e=this.getClientSession();return e?new Date<e.expiresAt:!1}clearClientSession(){this.clientSession=null,this.client.clearClientSession()}getClient(){return this.client}async submitMessageFeedback(e,n){return this.client.submitMessageFeedback(e,n)}async submitCSATFeedback(e,n){return this.client.submitCSATFeedback(e,n)}async submitNPSFeedback(e,n){return this.client.submitNPSFeedback(e,n)}updateConfig(e){let n={...this.config,...e};if(!$g(this.config,n)){this.config=n,this.client.updateConfig(n);return}this.abortWebMcpResolves(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear();let o=this.client.getSSEEventCallback();this.config=n,this.client=new Jr(this.config),this.wireDefaultWebMcpConfirm(),o&&this.client.setSSEEventCallback(o)}getMessages(){return[...this.messages]}getStatus(){return this.status}isStreaming(){return this.streaming}injectTestEvent(e){this.handleEvent(e)}injectMessage(e){let{role:n,content:o,llmContent:r,contentParts:s,id:a,createdAt:l,sequence:p,streaming:d=!1,voiceProcessing:c,rawContent:u}=e,f={id:a??(n==="user"?da():n==="assistant"?nr():`system-${Date.now()}-${Math.random().toString(16).slice(2)}`),role:n,content:o,createdAt:l??new Date().toISOString(),sequence:p??this.nextSequence(),streaming:d,...r!==void 0&&{llmContent:r},...s!==void 0&&{contentParts:s},...c!==void 0&&{voiceProcessing:c},...u!==void 0&&{rawContent:u}};return this.upsertMessage(f),f}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 n=[];for(let o of e){let{role:r,content:s,llmContent:a,contentParts:l,id:p,createdAt:d,sequence:c,streaming:u=!1,voiceProcessing:w,rawContent:f}=o,C={id:p??(r==="user"?da():r==="assistant"?nr():`system-${Date.now()}-${Math.random().toString(16).slice(2)}`),role:r,content:s,createdAt:d??new Date().toISOString(),sequence:c??this.nextSequence(),streaming:u,...a!==void 0&&{llmContent:a},...l!==void 0&&{contentParts:l},...w!==void 0&&{voiceProcessing:w},...f!==void 0&&{rawContent:f}};n.push(C)}return this.messages=this.sortMessages([...this.messages,...n]),this.callbacks.onMessagesChanged([...this.messages]),n}injectComponentDirective(e){let{component:n,props:o={},text:r="",llmContent:s,id:a,createdAt:l,sequence:p}=e,d={text:r,component:n,props:o};return this.injectMessage({role:"assistant",content:r,rawContent:JSON.stringify(d),...s!==void 0&&{llmContent:s},...a!==void 0&&{id:a},...l!==void 0&&{createdAt:l},...p!==void 0&&{sequence:p}})}async applyMentionBundle(e,n,o){let r;try{r=await o()}catch{return}let s=r.blocks.join(`
19
+
20
+ `),a=[s,n].filter(Boolean).join(`
21
+
22
+ `),l=Array.isArray(e.contentParts)&&e.contentParts.length>0,p=r.contentParts.length>0;if(l){let d=[];s&&d.push(or(s)),d.push(...r.contentParts),d.push(...e.contentParts),e.contentParts=d}else if(p){let d=[];a&&d.push(or(a)),d.push(...r.contentParts),e.contentParts=d}else s&&(e.llmContent=a);Object.keys(r.context).length>0&&(e.mentionContext=r.context)}async sendMessage(e,n){let o=e.trim();if(!o&&(!n?.contentParts||n.contentParts.length===0)&&(!n?.mentions||n.mentions.refs.length===0))return;this.stopSpeaking(),this.abortController?.abort(),this.abortWebMcpResolves(),this.teardownReconnect();let r=da(),s=nr();this.activeAssistantMessageId=null;let a=n?.contentParts&&Pd(n.contentParts)?pa:"",l={id:r,role:"user",content:o||a,createdAt:new Date().toISOString(),sequence:this.nextSequence(),viaVoice:n?.viaVoice||!1,...n?.contentParts&&n.contentParts.length>0&&{contentParts:n.contentParts},...n?.mentions&&n.mentions.refs.length>0&&{contextMentions:n.mentions.refs},...n?.contentSegments&&n.contentSegments.length>0&&{contentSegments:n.contentSegments}};this.appendMessage(l),this.setStreaming(!0);let p=new AbortController;if(this.abortController=p,n?.mentions){let c=this.messages.find(u=>u.id===r)??l;if(await this.applyMentionBundle(c,o,n.mentions.finalize),p.signal.aborted||this.abortController!==p)return;this.callbacks.onMessagesChanged([...this.messages])}let d=[...this.messages];try{await this.client.dispatch({messages:d,signal:p.signal,assistantMessageId:s},this.handleEvent)}catch(c){if(this.status==="resuming"||this.reconnecting)return;let u=c instanceof Error&&(c.name==="AbortError"||c.message.includes("aborted")||c.message.includes("abort"));if(!u){let w=Vi(c,this.config.errorMessage);if(w){let f={id:s,role:"assistant",createdAt:new Date().toISOString(),content:w,sequence:this.nextSequence()};this.appendMessage(f)}}this.setStatus("idle"),this.setStreaming(!1),this.abortController=null,u||(c instanceof Error?this.callbacks.onError?.(c):this.callbacks.onError?.(new Error(String(c))))}}async continueConversation(){if(this.streaming)return;this.abortController?.abort(),this.teardownReconnect();let e=nr();this.activeAssistantMessageId=null,this.setStreaming(!0);let n=new AbortController;this.abortController=n;let o=[...this.messages];try{await this.client.dispatch({messages:o,signal:n.signal,assistantMessageId:e},this.handleEvent)}catch(r){if(this.status==="resuming"||this.reconnecting)return;let s=r instanceof Error&&(r.name==="AbortError"||r.message.includes("aborted")||r.message.includes("abort"));if(!s){let a=Vi(r,this.config.errorMessage);if(a){let l={id:e,role:"assistant",createdAt:new Date().toISOString(),content:a,sequence:this.nextSequence()};this.appendMessage(l)}}this.setStatus("idle"),this.setStreaming(!1),this.abortController=null,s||(r instanceof Error?this.callbacks.onError?.(r):this.callbacks.onError?.(new Error(String(r))))}}async connectStream(e,n){if(this.streaming&&!n?.allowReentry)return;n?.allowReentry||this.abortController?.abort(),n?.preserveAssistantId&&n.assistantMessageId&&(this.activeAssistantMessageId=n.assistantMessageId);let o=n?.preserveAssistantId?n.assistantMessageId:void 0,r=!1;for(let s of this.messages)s.streaming&&s.id!==o&&(s.streaming=!1,r=!0);r&&this.callbacks.onMessagesChanged([...this.messages]),this.setStreaming(!0);try{await this.client.processStream(e,this.handleEvent,n?.assistantMessageId,n?.seedContent)}catch(s){if(this.status==="resuming"||this.reconnecting)return;this.setStatus("error"),this.webMcpResolveControllers.size===0&&(this.setStreaming(!1),this.abortController=null),this.callbacks.onError?.(s instanceof Error?s:new Error(String(s)))}}wireDefaultWebMcpConfirm(){let e=this.config.webmcp;e?.enabled===!0&&!e.onConfirm&&this.client.setWebMcpConfirmHandler(n=>this.requestWebMcpApproval(n))}requestWebMcpApproval(e){try{if(this.config.webmcp?.autoApprove?.(e)===!0)return Promise.resolve(!0)}catch{}let n={id:`webmcp-${++this.webMcpApprovalSeq}`,status:"pending",agentId:"",executionId:"",toolName:e.toolName,toolType:"webmcp",description:e.description??`Allow the assistant to run ${e.toolName}?`,parameters:e.args},o=`approval-${n.id}`;return this.upsertMessage({id:o,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!1,variant:"approval",approval:n}),new Promise(r=>{this.webMcpApprovalResolvers.set(o,r)})}resolveWebMcpApproval(e,n){let o=this.webMcpApprovalResolvers.get(e);if(!o)return;this.webMcpApprovalResolvers.delete(e);let r=this.messages.find(s=>s.id===e);r?.approval&&this.upsertMessage({...r,approval:{...r.approval,status:n,resolvedAt:Date.now()}}),o(n==="approved")}async resolveApproval(e,n,o){let r=`approval-${e.id}`,s={...e,status:n,resolvedAt:Date.now()},a=this.messages.find(c=>c.id===r),l={id:r,role:"assistant",content:"",createdAt:a?.createdAt??new Date().toISOString(),...a?.sequence!==void 0?{sequence:a.sequence}:{},streaming:!1,variant:"approval",approval:s};this.upsertMessage(l),this.abortController?.abort(),this.abortController=new AbortController,this.setStreaming(!0);let p=this.config.approval,d=p&&typeof p=="object"?p.onDecision:void 0;try{let c;if(d?c=await d({approvalId:e.id,executionId:e.executionId,agentId:e.agentId,toolName:e.toolName},n,o):c=await this.client.resolveApproval({agentId:e.agentId,executionId:e.executionId,approvalId:e.id},n),c){let u=null;if(c instanceof Response){if(!c.ok){let w=await c.json().catch(()=>null);throw new Error(w?.error??`Approval request failed: ${c.status}`)}u=c.body}else c instanceof ReadableStream&&(u=c);u?await this.connectStream(u,{allowReentry:!0}):(n==="denied"&&this.appendMessage({id:`denial-${e.id}`,role:"assistant",content:"Tool execution was denied by user.",createdAt:new Date().toISOString(),streaming:!1,sequence:this.nextSequence()}),this.setStreaming(!1),this.abortController=null)}else this.setStreaming(!1),this.abortController=null}catch(c){let u=c instanceof Error&&(c.name==="AbortError"||c.message.includes("aborted")||c.message.includes("abort"));this.setStreaming(!1),this.abortController=null,u||this.callbacks.onError?.(c instanceof Error?c:new Error(String(c)))}}persistAskUserQuestionProgress(e,n){let o=this.messages.find(r=>r.id===e.id);o&&this.upsertMessage({...o,agentMetadata:{...o.agentMetadata,askUserQuestionAnswers:n.answers,askUserQuestionIndex:n.currentIndex}})}markAskUserQuestionResolved(e,n){let o=this.messages.find(r=>r.id===e.id);o&&this.upsertMessage({...o,agentMetadata:{...o.agentMetadata,awaitingLocalTool:!1,askUserQuestionAnswered:!0,...n?{askUserQuestionAnswers:n}:{}}})}async resolveAskUserQuestion(e,n){if(this.messages.find(c=>c.id===e.id)?.agentMetadata?.askUserQuestionAnswered===!0)return;let r=e.agentMetadata?.executionId,s=e.toolCall?.name;if(!r||!s){this.callbacks.onError?.(new Error("resolveAskUserQuestion: message is missing executionId or toolCall.name"));return}let a=typeof n=="string"?void 0:n;if(a===void 0&&typeof n=="string"){let c=e.toolCall?.args,u=Array.isArray(c?.questions)?c.questions:[];if(u.length===1){let w=typeof u[0]?.question=="string"?u[0].question:"";w&&(a={[w]:n})}}this.markAskUserQuestionResolved(e,a),this.abortController?.abort(),this.abortController=new AbortController,this.setStreaming(!0);let l=e.toolCall.id,p=e.toolCall?.args,d=Array.isArray(p?.questions)?p.questions:[];if(d.length===0){let c=typeof n=="string"?n:Object.entries(n).map(([u,w])=>`${u}: ${Array.isArray(w)?w.join(", "):w}`).join(" | ");this.appendMessage({id:`ask-user-answer-${l}`,role:"user",content:c,createdAt:new Date().toISOString(),streaming:!1,sequence:this.nextSequence()})}else{let c=a??{};d.forEach((u,w)=>{let f=typeof u?.question=="string"?u.question:"";if(!f)return;let v=c[f],C=Array.isArray(v)?v.join(", "):typeof v=="string"?v:"";this.appendMessage({id:`ask-user-q-${l}-${w}`,role:"assistant",content:f,createdAt:new Date().toISOString(),streaming:!1,sequence:this.nextSequence()}),this.appendMessage({id:`ask-user-a-${l}-${w}`,role:"user",content:C||"*Skipped*",createdAt:new Date().toISOString(),streaming:!1,sequence:this.nextSequence()})})}try{let c=await this.client.resumeFlow(r,{[s]:n});if(!c.ok){let u=await c.json().catch(()=>null);throw new Error(u?.error??`Resume failed: ${c.status}`)}c.body?await this.connectStream(c.body,{allowReentry:!0}):(this.setStreaming(!1),this.abortController=null)}catch(c){let u=c instanceof Error&&(c.name==="AbortError"||c.message.includes("aborted")||c.message.includes("abort"));this.setStreaming(!1),this.abortController=null,u||this.callbacks.onError?.(c instanceof Error?c:new Error(String(c)))}}enqueueWebMcpAwait(e){let n=e.agentMetadata?.executionId,o=e.toolCall?.id;if(!n||!o){let s=this.webMcpEpoch;queueMicrotask(()=>{s===this.webMcpEpoch&&this.resolveWebMcpToolCall(e)});return}let r=this.webMcpAwaitBatches.get(n);r||(r={snapshots:[],seen:new Set},this.webMcpAwaitBatches.set(n,r)),!r.seen.has(o)&&(r.seen.add(o),r.snapshots.push(e))}scheduleWebMcpBatchFlush(){if(this.webMcpAwaitBatches.size===0)return;let e=this.webMcpEpoch;queueMicrotask(()=>{if(e===this.webMcpEpoch)for(let n of[...this.webMcpAwaitBatches.keys()])this.flushWebMcpAwaitBatch(n)})}flushWebMcpAwaitBatch(e){let n=this.webMcpAwaitBatches.get(e);if(!n)return;this.webMcpAwaitBatches.delete(e);let{snapshots:o}=n;o.length===1?this.resolveWebMcpToolCall(o[0]):o.length>1&&this.resolveWebMcpToolCallBatch(e,o)}resolveWebMcpToolStartedAt(e){let o=[this.messages.find(r=>r.id===e.id)?.toolCall?.startedAt,e.toolCall?.startedAt];for(let r of o)if(typeof r=="number"&&Number.isFinite(r))return r;return Date.now()}isSuggestRepliesAlreadyResolved(e){return e.toolCall?.name!==Nn?!1:(this.messages.find(o=>o.id===e.id)??e).agentMetadata?.suggestRepliesResolved===!0}markWebMcpToolRunning(e){let n=this.resolveWebMcpToolStartedAt(e);return this.upsertMessage({...e,streaming:!0,agentMetadata:{...e.agentMetadata,awaitingLocalTool:!1},toolCall:e.toolCall?{...e.toolCall,status:"running",startedAt:n,completedAt:void 0,duration:void 0,durationMs:void 0}:e.toolCall}),n}markWebMcpToolComplete(e,n,o,r=Date.now(),s){this.messages.some(a=>a.id===e.id)&&this.upsertMessage({...e,streaming:!1,agentMetadata:{...e.agentMetadata,awaitingLocalTool:!1,...s},toolCall:e.toolCall?{...e.toolCall,status:"complete",result:n,startedAt:o,completedAt:r,duration:void 0,durationMs:Math.max(0,r-o)}:e.toolCall})}async resolveWebMcpToolCallBatch(e,n){let o=[],r=[],s=new AbortController;this.webMcpResolveControllers.add(s),this.setStreaming(!0);let a=await Promise.all(n.map(async p=>{let d=p.toolCall?.name,c=p.toolCall?.id;if(!d||!c)return null;let u=`${e}:${c}`;if(this.webMcpInflightKeys.has(u)||this.webMcpResolvedKeys.has(u)||this.isSuggestRepliesAlreadyResolved(p))return null;this.webMcpInflightKeys.add(u),o.push(u);let w=this.markWebMcpToolRunning(p),f=p.agentMetadata?.webMcpToolCallId??d;if(d===Nn)return{dedupeKey:u,resumeKey:f,output:Oi(),toolMessage:p,startedAt:w,completedAt:Date.now()};let v=new AbortController;this.webMcpResolveControllers.add(v),r.push(v);let C=this.client.executeWebMcpToolCall(d,p.toolCall?.args,v.signal),P;if(!C)P={isError:!0,content:[{type:"text",text:"WebMCP not enabled on this widget."}]};else try{P=await C}catch(H){let E=H instanceof Error&&(H.name==="AbortError"||H.message.includes("aborted")||H.message.includes("abort"));return E||this.callbacks.onError?.(H instanceof Error?H:new Error(String(H))),this.markWebMcpToolComplete(p,es(E?"Aborted by cancel()":Od(H)),w),this.webMcpInflightKeys.delete(u),null}return v.signal.aborted?(this.markWebMcpToolComplete(p,es("Aborted by cancel()"),w),this.webMcpInflightKeys.delete(u),null):{dedupeKey:u,resumeKey:f,output:P,toolMessage:p,startedAt:w,completedAt:Date.now()}})),l=[];try{if(l=a.filter(c=>c!==null),l.length===0)return;let p={};for(let c of l)p[c.resumeKey]=c.output;let d=await this.client.resumeFlow(e,p,{signal:s.signal});if(!d.ok){let c=await d.json().catch(()=>null);throw new Error(c?.error??`Resume failed: ${d.status}`)}for(let c of l)this.webMcpResolvedKeys.add(c.dedupeKey),this.markWebMcpToolComplete(c.toolMessage,c.output,c.startedAt,c.completedAt,c.toolMessage.toolCall?.name===Nn?{suggestRepliesResolved:!0}:void 0);d.body&&await this.connectStream(d.body,{allowReentry:!0})}catch(p){if(!(p instanceof Error&&(p.name==="AbortError"||p.message.includes("aborted")||p.message.includes("abort"))))this.callbacks.onError?.(p instanceof Error?p:new Error(String(p)));else for(let c of l)this.markWebMcpToolComplete(c.toolMessage,es("Aborted by cancel()"),c.startedAt)}finally{for(let p of o)this.webMcpInflightKeys.delete(p);for(let p of r)this.webMcpResolveControllers.delete(p);this.webMcpResolveControllers.delete(s),this.webMcpResolveControllers.size===0&&!this.abortController&&this.setStreaming(!1)}}async resolveWebMcpToolCall(e){let n=e.agentMetadata?.executionId,o=e.toolCall?.name,r=e.toolCall?.id;if(!n){this.callbacks.onError?.(new Error("WebMCP step_await missing executionId: dispatch left paused."));return}if(!o)return;if(!r){let v=`${n}:__no_tool_id__:${o}`;if(this.webMcpInflightKeys.has(v)||this.webMcpResolvedKeys.has(v))return;this.webMcpInflightKeys.add(v);try{await this.resumeWithToolOutput(n,o,{isError:!0,content:[{type:"text",text:"WebMCP step_await missing toolCall.id: cannot execute the page tool."}]}),this.webMcpResolvedKeys.add(v)}catch(C){this.callbacks.onError?.(C instanceof Error?C:new Error(String(C)))}finally{this.webMcpInflightKeys.delete(v)}return}let s=`${n}:${r}`;if(this.webMcpInflightKeys.has(s)||this.webMcpResolvedKeys.has(s)||this.isSuggestRepliesAlreadyResolved(e))return;this.webMcpInflightKeys.add(s);let a=this.markWebMcpToolRunning(e),l=new AbortController;this.webMcpResolveControllers.add(l);let{signal:p}=l;this.setStreaming(!0);let d=o===Nn,c=e.toolCall?.args,u=d?null:this.client.executeWebMcpToolCall(o,c,p),w="execute",f=a;try{let v;if(d?v=Oi():u?v=await u:v={isError:!0,content:[{type:"text",text:"WebMCP not enabled on this widget."}]},f=Date.now(),p.aborted){this.markWebMcpToolComplete(e,es("Aborted by cancel()"),a);return}let C=e.agentMetadata?.webMcpToolCallId??o;w="resume",await this.resumeWithToolOutput(n,C,v,{onHttpOk:()=>{this.webMcpResolvedKeys.add(s),this.markWebMcpToolComplete(e,v,a,f,d?{suggestRepliesResolved:!0}:void 0)},signal:p})}catch(v){let C=v instanceof Error&&(v.name==="AbortError"||v.message.includes("aborted")||v.message.includes("abort"));(w==="execute"||C||p.aborted)&&this.markWebMcpToolComplete(e,es(C||p.aborted?"Aborted by cancel()":Od(v)),a),C||this.callbacks.onError?.(v instanceof Error?v:new Error(String(v)))}finally{this.webMcpInflightKeys.delete(s),this.webMcpResolveControllers.delete(l),this.webMcpResolveControllers.size===0&&!this.abortController&&this.setStreaming(!1)}}async resumeWithToolOutput(e,n,o,r){let s=await this.client.resumeFlow(e,{[n]:o},{signal:r?.signal});if(!s.ok){let a=await s.json().catch(()=>null);throw new Error(a?.error??`Resume failed: ${s.status}`)}r?.onHttpOk?.(),s.body?await this.connectStream(s.body,{allowReentry:!0}):this.webMcpResolveControllers.size===0&&(this.setStreaming(!1),this.abortController=null)}abortWebMcpResolves(){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.webMcpEpoch++}cancel(){this.abortController?.abort(),this.abortController=null,this.teardownReconnect(),this.abortWebMcpResolves(),this.webMcpInflightKeys.clear(),this.stopSpeaking(),this.stopVoicePlayback(),this.setStreaming(!1),this.setStatus("idle")}clearMessages(){this.stopSpeaking(),this.abortController?.abort(),this.abortController=null,this.teardownReconnect(),this.abortWebMcpResolves(),this.messages=[],this.agentExecution=null,this.clearArtifactState(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear(),this.client.resetClientToolsFingerprint(),this.setStreaming(!1),this.setStatus("idle"),this.callbacks.onMessagesChanged([...this.messages])}getArtifacts(){return[...this.artifacts.values()]}getArtifactById(e){return this.artifacts.get(e)}getSelectedArtifactId(){return this.selectedArtifactId}selectArtifact(e){this.selectedArtifactId=e,this.emitArtifactsState()}clearArtifacts(){this.clearArtifactState()}upsertArtifact(e){let n=e.id||`art_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,o=e.artifactType==="markdown"?{id:n,artifactType:"markdown",title:e.title,status:"complete",markdown:e.content,...e.file?{file:e.file}:{}}:{id:n,artifactType:"component",title:e.title,status:"complete",component:e.component,props:e.props??{}};return this.artifacts.set(n,o),this.selectedArtifactId=n,this.emitArtifactsState(),e.transcript!==!1&&this.injectArtifactRefBlock(o),o}injectArtifactRefBlock(e){let n=`artifact-ref-${e.id}`,o=ko(this.config.features?.artifacts,e.artifactType),r=ta(o,{artifactId:e.id,title:e.title,artifactType:e.artifactType,status:"complete",...e.file?{file:e.file}:{},...e.component?{component:e.component}:{},...e.props?{componentProps:e.props}:{},...e.markdown!==void 0?{markdown:e.markdown}:{}}),s=this.messages.find(a=>a.id===n);if(s){s.rawContent=r,s.streaming=!1,this.callbacks.onMessagesChanged([...this.messages]);return}this.injectAssistantMessage({id:n,content:"",rawContent:r})}clearArtifactState(){this.artifacts.size===0&&this.selectedArtifactId===null||(this.artifacts.clear(),this.selectedArtifactId=null,this.emitArtifactsState())}emitArtifactsState(){this.callbacks.onArtifactsState?.({artifacts:[...this.artifacts.values()],selectedId:this.selectedArtifactId})}applyArtifactStreamEvent(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.selectedArtifactId=e.id;break}case"artifact_delta":{let n=this.artifacts.get(e.id);n?.artifactType==="markdown"&&(n.markdown=(n.markdown??"")+e.artDelta);break}case"artifact_update":{let n=this.artifacts.get(e.id);n?.artifactType==="component"&&(n.props={...n.props,...e.props},e.component&&(n.component=e.component));break}case"artifact_complete":{let n=this.artifacts.get(e.id);n&&(n.status="complete");break}default:return}this.emitArtifactsState()}hydrateMessages(e){this.abortController?.abort(),this.abortController=null,this.teardownReconnect(),this.abortWebMcpResolves(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear(),this.messages=this.sortMessages(e.map(n=>({...n,streaming:!1,sequence:n.sequence??this.nextSequence()}))),this.setStreaming(!1),this.setStatus("idle"),this.callbacks.onMessagesChanged([...this.messages])}hydrateArtifacts(e,n=null){this.artifacts.clear();for(let o of e)this.artifacts.set(o.id,{...o,status:"complete"});this.selectedArtifactId=n,this.emitArtifactsState()}trackCursor(e){let n=this.agentExecution?.executionId;if(!n||!this.activeAssistantMessageId||this.agentExecution?.status!=="running")return;let o=this.resumable===null;this.resumable={executionId:n,lastEventId:e,assistantMessageId:this.activeAssistantMessageId,status:"running"},this.notifyExecutionState(o)}isDurableDrop(){return this.resumable!==null&&typeof this.config.reconnectStream=="function"&&this.abortController?.signal.aborted!==!0&&this.webMcpResolveControllers.size===0&&this.webMcpAwaitBatches.size===0&&!this.isAwaitPending()}isAwaitPending(){return this.messages.some(e=>e.agentMetadata?.awaitingLocalTool===!0&&e.agentMetadata?.askUserQuestionAnswered!==!0||e.variant==="approval"&&e.approval?.status==="pending")}beginReconnect(){this.reconnecting||!this.resumable||typeof this.config.reconnectStream!="function"||(this.reconnecting=!0,this.callbacks.onReconnect?.({phase:"paused",handle:this.resumable}),this.setStreaming(!0),this.setStatus("resuming"),this.loadReconnectController().then(e=>{this.reconnecting&&this.resumable&&e.begin()}))}loadReconnectController(){return this.reconnectController?Promise.resolve(this.reconnectController):(this.reconnectControllerPromise||(this.reconnectControllerPromise=import("./session-reconnect-JKIJBHS5.js").then(({createReconnectController:e})=>{let n=e(this.buildReconnectHost());return this.reconnectController=n,n})),this.reconnectControllerPromise)}buildReconnectHost(){let e=this;return{get config(){return e.config},getResumable:()=>e.resumable,clearResumable:()=>e.clearResumable(),getStatus:()=>e.status,setStatus:n=>e.setStatus(n),setStreaming:n=>e.setStreaming(n),setReconnecting:n=>{e.reconnecting=n},setAbortController:n=>{e.abortController=n},getMessages:()=>e.messages,notifyMessagesChanged:()=>e.callbacks.onMessagesChanged([...e.messages]),resumeConnect:(n,o,r)=>e.connectStream(n,{assistantMessageId:o,allowReentry:!0,preserveAssistantId:!0,seedContent:r}),appendMessage:n=>e.appendMessage(n),nextSequence:()=>e.nextSequence(),emitReconnect:n=>e.callbacks.onReconnect?.(n),buildErrorContent:n=>Vi(new Error(n),e.config.errorMessage),onError:n=>e.callbacks.onError?.(n)}}reconnectNow(){if(this.reconnecting){this.reconnectController?.wake();return}this.beginReconnect()}resumeFromHandle(e){if(typeof this.config.reconnectStream!="function"||this.reconnecting)return;let n=this.reopenTrailingAssistant();n||(n=nr(),this.appendMessage({id:n,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,sequence:this.nextSequence()})),this.activeAssistantMessageId=n,this.agentExecution||(this.agentExecution={executionId:e.executionId,agentId:"",agentName:"",status:"running",currentIteration:0,maxTurns:0}),this.resumable={executionId:e.executionId,lastEventId:e.after,assistantMessageId:n,status:"running"},this.beginReconnect()}reopenTrailingAssistant(){for(let e=this.messages.length-1;e>=0;e--){let n=this.messages[e];if(n.role==="assistant"&&!n.variant)return n.streaming=!0,this.callbacks.onMessagesChanged([...this.messages]),n.id;if(n.role==="user")break}return null}teardownReconnect(){this.reconnecting=!1,this.reconnectController?.teardown(),this.clearResumable()}clearResumable(){this.executionStateTimer&&(clearTimeout(this.executionStateTimer),this.executionStateTimer=null);let e=this.resumable!==null;this.resumable=null,e&&this.config.onExecutionState?.(null)}notifyExecutionState(e){let n=this.config.onExecutionState;if(n){if(e){this.executionStateTimer&&(clearTimeout(this.executionStateTimer),this.executionStateTimer=null),n(this.resumable);return}this.executionStateTimer||(this.executionStateTimer=setTimeout(()=>{this.executionStateTimer=null,this.config.onExecutionState?.(this.resumable)},500))}}getResumableHandle(){return this.resumable}setStatus(e){this.status!==e&&(this.status=e,this.callbacks.onStatusChanged(e))}setStreaming(e){if(this.streaming===e)return;let n=this.streaming;this.streaming=e,this.callbacks.onStreamingChanged(e),n&&!e&&this.speakLatestAssistantMessage()}speakLatestAssistantMessage(){let e=this.config.textToSpeech;if(!e?.enabled||!(!e.provider||e.provider==="browser"||e.provider==="runtype"&&e.browserFallback))return;let o=[...this.messages].reverse().find(s=>s.role==="assistant"&&s.content&&!s.voiceProcessing);if(!o)return;if(this.ttsSpokenMessageIds.has(o.id)){this.ttsSpokenMessageIds.delete(o.id);return}let r=ji(o.content);r.trim()&&this.readAloud.play(o.id,{text:r,voice:e.voice,rate:e.rate,pitch:e.pitch})}static pickBestVoice(e){return fa(e)}toggleReadAloud(e){let n=this.messages.find(s=>s.id===e);if(!n||n.role!=="assistant")return;let o=ji(n.content||"");if(!o.trim())return;let r=this.config.textToSpeech;this.readAloud.toggle(e,{text:o,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()}appendMessage(e){let n=this.ensureSequence(e);this.messages=this.sortMessages([...this.messages,n]),this.callbacks.onMessagesChanged([...this.messages])}upsertMessage(e){let n=this.ensureSequence(e),o=this.messages.findIndex(r=>r.id===n.id);if(o===-1){this.appendMessage(n);return}this.messages=this.messages.map((r,s)=>{if(s!==o)return r;let a={...r,...n};if(r.agentMetadata?.askUserQuestionAnswered===!0&&n.agentMetadata&&(a.agentMetadata={...n.agentMetadata,askUserQuestionAnswered:!0,...r.agentMetadata.askUserQuestionAnswers?{askUserQuestionAnswers:r.agentMetadata.askUserQuestionAnswers}:{},awaitingLocalTool:!1}),r.agentMetadata?.suggestRepliesResolved===!0&&n.agentMetadata&&(a.agentMetadata={...a.agentMetadata??n.agentMetadata,suggestRepliesResolved:!0,awaitingLocalTool:!1}),r.approval&&n.approval&&r.approval.id===n.approval.id){let c=r.approval,u=n.approval;a.approval={...c,...u,executionId:u.executionId||c.executionId,toolName:u.toolName||c.toolName,description:u.description||c.description,toolType:u.toolType??c.toolType,reason:u.reason??c.reason,parameters:u.parameters??c.parameters}}let l=n.toolCall?.name,p=n.agentMetadata?.executionId,d=n.toolCall?.id;if(l&&_d(l)&&p&&d&&n.agentMetadata?.awaitingLocalTool===!0){let c=`${p}:${d}`,u=this.webMcpInflightKeys.has(c),w=this.webMcpResolvedKeys.has(c),f=r.toolCall?.name,v=r.agentMetadata?.executionId===p&&r.toolCall?.id===d&&f!==void 0&&_d(f)&&r.toolCall?.status==="complete";(u||w||v)&&(a.agentMetadata={...a.agentMetadata??{},awaitingLocalTool:!1},a.toolCall=r.toolCall,a.streaming=r.streaming)}return a}),this.messages=this.sortMessages(this.messages),this.callbacks.onMessagesChanged([...this.messages])}ensureSequence(e){return e.sequence!==void 0?{...e}:{...e,sequence:this.nextSequence()}}nextSequence(){return this.sequenceCounter++}sortMessages(e){return[...e].sort((n,o)=>{let r=new Date(n.createdAt).getTime(),s=new Date(o.createdAt).getTime();if(!Number.isNaN(r)&&!Number.isNaN(s)&&r!==s)return r-s;let a=n.sequence??0,l=o.sequence??0;return a!==l?a-l:n.id.localeCompare(o.id)})}};var ma={allowedTypes:Fn,maxFileSize:10*1024*1024,maxFiles:4};function zg(){return`attach_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}function Ug(t){return t==="application/pdf"||t.startsWith("text/")||t.includes("word")?"file-text":t.includes("excel")||t.includes("spreadsheet")?"file-spreadsheet":t==="application/json"?"file-code":"file"}var ts=class t{constructor(e={}){this.attachments=[];this.previewsContainer=null;this.config={allowedTypes:e.allowedTypes??ma.allowedTypes,maxFileSize:e.maxFileSize??ma.maxFileSize,maxFiles:e.maxFiles??ma.maxFiles,onFileRejected:e.onFileRejected,onAttachmentsChange:e.onAttachmentsChange}}setPreviewsContainer(e){this.previewsContainer=e}updateConfig(e){e.allowedTypes!==void 0&&(this.config.allowedTypes=e.allowedTypes.length>0?e.allowedTypes:ma.allowedTypes),e.maxFileSize!==void 0&&(this.config.maxFileSize=e.maxFileSize),e.maxFiles!==void 0&&(this.config.maxFiles=e.maxFiles),e.onFileRejected!==void 0&&(this.config.onFileRejected=e.onFileRejected),e.onAttachmentsChange!==void 0&&(this.config.onAttachmentsChange=e.onAttachmentsChange)}getAttachments(){return[...this.attachments]}getContentParts(){return this.attachments.map(e=>e.contentPart)}hasAttachments(){return this.attachments.length>0}count(){return this.attachments.length}async handleFileSelect(e){!e||e.length===0||await this.handleFiles(Array.from(e))}async handleFiles(e){if(e.length){for(let n of e){if(this.attachments.length>=this.config.maxFiles){this.config.onFileRejected?.(n,"count");continue}let o=Wd(n,this.config.allowedTypes,this.config.maxFileSize);if(!o.valid){let r=o.error?.includes("type")?"type":"size";this.config.onFileRejected?.(n,r);continue}try{let r=await Rd(n),s=ua(n)?URL.createObjectURL(n):null,a={id:zg(),file:n,previewUrl:s,contentPart:r};this.attachments.push(a),this.renderPreview(a)}catch(r){console.error("[AttachmentManager] Failed to process file:",r)}}this.updatePreviewsVisibility(),this.config.onAttachmentsChange?.(this.getAttachments())}}removeAttachment(e){let n=this.attachments.findIndex(s=>s.id===e);if(n===-1)return;let o=this.attachments[n];o.previewUrl&&URL.revokeObjectURL(o.previewUrl),this.attachments.splice(n,1);let r=this.previewsContainer?.querySelector(`[data-attachment-id="${e}"]`);r&&r.remove(),this.updatePreviewsVisibility(),this.config.onAttachmentsChange?.(this.getAttachments())}clearAttachments(){for(let e of this.attachments)e.previewUrl&&URL.revokeObjectURL(e.previewUrl);this.attachments=[],this.previewsContainer&&(this.previewsContainer.innerHTML=""),this.updatePreviewsVisibility(),this.config.onAttachmentsChange?.(this.getAttachments())}renderPreview(e){if(!this.previewsContainer)return;let n=ua(e.file),o=m("div","persona-attachment-preview persona-relative persona-inline-block");if(o.setAttribute("data-attachment-id",e.id),o.style.width="48px",o.style.height="48px",n&&e.previewUrl){let a=m("img");a.src=e.previewUrl,a.alt=e.file.name,a.className="persona-w-full persona-h-full persona-object-cover persona-rounded-lg persona-border persona-border-gray-200",a.style.width="48px",a.style.height="48px",a.style.objectFit="cover",a.style.borderRadius="8px",o.appendChild(a)}else{let a=m("div");a.style.width="48px",a.style.height="48px",a.style.borderRadius="8px",a.style.backgroundColor="var(--persona-container, #f3f4f6)",a.style.border="1px solid var(--persona-border, #e5e7eb)",a.style.display="flex",a.style.flexDirection="column",a.style.alignItems="center",a.style.justifyContent="center",a.style.gap="2px",a.style.overflow="hidden";let l=Ug(e.file.type),p=ne(l,20,"var(--persona-muted, #6b7280)",1.5);p&&a.appendChild(p);let d=m("span");d.textContent=Bd(e.file.type,e.file.name),d.style.fontSize="8px",d.style.fontWeight="600",d.style.color="var(--persona-muted, #6b7280)",d.style.textTransform="uppercase",d.style.lineHeight="1",a.appendChild(d),o.appendChild(a)}let r=m("button","persona-attachment-remove persona-absolute persona-flex persona-items-center persona-justify-center");r.type="button",r.setAttribute("aria-label","Remove attachment"),r.style.position="absolute",r.style.top="-4px",r.style.right="-4px",r.style.width="18px",r.style.height="18px",r.style.borderRadius="50%",r.style.backgroundColor="var(--persona-palette-colors-black-alpha-60, rgba(0, 0, 0, 0.6))",r.style.border="none",r.style.cursor="pointer",r.style.display="flex",r.style.alignItems="center",r.style.justifyContent="center",r.style.padding="0";let s=ne("x",10,"var(--persona-text-inverse, #ffffff)",2);s?r.appendChild(s):(r.textContent="\xD7",r.style.color="var(--persona-text-inverse, #ffffff)",r.style.fontSize="14px",r.style.lineHeight="1"),r.addEventListener("click",a=>{a.preventDefault(),a.stopPropagation(),this.removeAttachment(e.id)}),o.appendChild(r),this.previewsContainer.appendChild(o)}updatePreviewsVisibility(){this.previewsContainer&&(this.previewsContainer.style.display=this.attachments.length>0?"flex":"none")}static fromConfig(e,n){return new t({allowedTypes:e?.allowedTypes,maxFileSize:e?.maxFileSize,maxFiles:e?.maxFiles,onFileRejected:e?.onFileRejected,onAttachmentsChange:n})}};function $d(t){let{config:e,onOpen:n}=t,o=t.buttonSize??"40px",r=parseFloat(o)||40,s=Math.round(r*.6),a=e.buttonIconName??"plus",l=e.buttonTooltipText??"Add context",p=m("div","persona-send-button-wrapper"),d=De("button",{className:"persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-mention-button",attrs:{type:"button","data-persona-composer-mention-button":"","aria-label":l,"aria-haspopup":"listbox","aria-expanded":"false"},style:{width:o,height:o,minWidth:o,minHeight:o,fontSize:"18px",lineHeight:"1"}}),c=ne(a,s,"currentColor",1.5);c?d.appendChild(c):d.textContent="+",d.addEventListener("click",w=>{w.preventDefault(),w.stopPropagation(),n()}),p.appendChild(d);let u=m("div","persona-send-button-tooltip");return u.textContent=l,p.appendChild(u),{button:d,wrapper:p}}var{setLoader:sv,load:jg}=Xo({fallbackImport:()=>import("./context-mentions-7S5KVUTG.js")});var Ki=jg;var{setLoader:lv,load:qg}=Xo({fallbackImport:()=>import("./context-mentions-inline-TTCN7ZM2.js"),resetOnSetLoader:!0});var zd=qg;function ns(t,e={}){if(e.render)return e.render({ref:t,readonly:!!e.readonly});let n=De("span",{className:Bn("persona-mention-token",e.readonly&&"persona-mention-token-readonly"),attrs:{"data-mention-source":t.sourceId,title:t.label,role:"img","aria-label":`${t.label} mention`}});t.color&&n.style.setProperty("--persona-mention-token-accent",t.color);let o=ne(t.iconName??"at-sign",13,"currentColor",2);if(o){let r=m("span","persona-mention-token-icon");r.appendChild(o),n.appendChild(r)}return n.appendChild(De("span",{className:"persona-mention-token-label",text:`@${t.label}`})),n}function Ud(t){let e=t.config.contextMentions;if(!e?.enabled)return null;let n=Kc(e).filter(T=>T.sources.length>0);if(n.length===0)return typeof console<"u"&&console.warn("[Persona] contextMentions.enabled is true but no sources were provided; mentions are disabled."),null;let o=n.filter(T=>T.sources.some(I=>typeof I.matchCommand=="function")),r=T=>o.some(I=>I.trigger?I.position==="line-start"?T.split(`
23
+ `).some(N=>N.startsWith(I.trigger)):(I.position==="anywhere"?T:T.split(`
24
+ `)[0]).startsWith(I.trigger):!1),s=(T,I)=>{if(!(typeof window>"u"))try{window.dispatchEvent(new CustomEvent(`persona:mention:${T}`,{detail:I}))}catch{}},a=De("div",{className:"persona-mention-context-row",attrs:{"data-persona-mention-context-row":""}}),l=null,p=null,d=t.textarea,c=null,u=null,w=null,f=null,v=()=>{if(l)return Promise.resolve(l);if(p)return p;let T=Ki().then(I=>(l=I.mountContextMentions({mentionConfig:e,textarea:t.textarea,composerInput:c??void 0,anchor:t.anchor,contextRow:a,getMessages:t.getMessages,getConfig:()=>t.config,liveRegionHost:t.liveRegionHost,popoverContainer:t.popoverContainer,onPickerOpenChange:E,emit:s}),l)).catch(I=>(typeof console<"u"&&console.warn("[Persona] Failed to load context mentions runtime",I),p===T&&(p=null),null));return p=T,T},C=()=>{zd().then(T=>{let I=T.mountInlineComposer({textarea:t.textarea,renderToken:N=>ns(N,{render:e.renderMentionToken}),onMentionRemoved:N=>l?.untrackMention(N)});c=I.input,u=I.destroy;let z=d;z.replaceWith(I.element),d=I.element,f={next:I.element,prev:z},w?.(I.element,z),l?l.rebindComposer(I.input):p&&p.then(N=>N?.rebindComposer(I.input))}).catch(T=>{typeof console<"u"&&console.warn("[Persona] Failed to load inline mention composer",T)})};e.display==="inline"&&C();let P=[],H=new Map;for(let T of n){if(!T.showButton)continue;let I=$d({config:{...e,buttonIconName:T.buttonIconName,buttonTooltipText:T.buttonTooltipText},buttonSize:t.config.sendButton?.size,onOpen:()=>{v().then(z=>z?.openMenu(T.trigger))}});P.push(I),H.set(T.trigger,I.button)}let E=(T,I,z)=>{let N=H.get(I);N&&(N.setAttribute("aria-expanded",T?"true":"false"),T?N.setAttribute("aria-controls",z):N.removeAttribute("aria-controls"))};return{affordanceButtons:P.map(T=>T.wrapper),contextRow:a,handleInput:T=>{if(l){l.handleInput();return}if(!Vc(T))return;let I=d,z=I.selectionStart??0;qc(I.value,z,n)&&v().then(N=>N?.handleInput())},handleKeydown:T=>{if(l?.isMenuOpen())return l.handleKeydown(T);if(T.key==="Backspace"&&l?.hasMentions()&&!f){let I=d,z=I.selectionStart===0&&I.selectionEnd===0;if((I.value.length===0||z)&&l.removeLastChip())return T.preventDefault(),!0}return!1},isMenuOpen:()=>l?.isMenuOpen()??!1,hasMentions:()=>l?.hasMentions()??!1,collectForSubmit:()=>l?.collectForSubmit()??null,takeInlineCommand:async T=>r(T)?(l??await v())?.dispatchInlineCommand(T)??null:null,clear:()=>l?.clear(),prefetch:()=>{Ki().catch(()=>{})},onComposerSwap:T=>{w=T,f&&T(f.next,f.prev)},destroy:()=>{l?.destroy(),u?.();for(let T of P)T.wrapper.remove();a.remove()}}}var jd=t=>typeof t=="object"&&t!==null&&!Array.isArray(t);function os(t,e){if(!t)return e;if(!e)return t;let n={...t};for(let[o,r]of Object.entries(e)){let s=n[o];jd(s)&&jd(r)?n[o]=os(s,r):n[o]=r}return n}var On="min(440px, calc(100vw - 24px))",Vd="440px",Vg={enabled:!0,mountMode:"floating",dock:{side:"right",width:"420px"},title:"Chat Assistant",subtitle:"Here to help you get answers fast",agentIconText:"\u{1F4AC}",agentIconName:"bot",headerIconName:"bot",position:"bottom-right",width:On,heightOffset:0,autoExpand:!1,callToActionIconHidden:!1,agentIconSize:"40px",headerIconSize:"40px",closeButtonSize:"32px",closeButtonPaddingX:"0px",closeButtonPaddingY:"0px",callToActionIconName:"arrow-up-right",callToActionIconText:"",callToActionIconSize:"32px",callToActionIconPadding:"5px",callToActionIconColor:void 0,callToActionIconBackgroundColor:void 0,closeButtonBackgroundColor:"transparent",clearChat:{backgroundColor:"transparent",borderColor:"transparent",enabled:!0,placement:"inline",iconName:"refresh-cw",size:"32px",showTooltip:!0,tooltipText:"Clear chat",paddingX:"0px",paddingY:"0px"},headerIconHidden:!1,border:void 0,shadow:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)"},ct={apiUrl:"https://api.runtype.com/api/chat/dispatch",clientToken:void 0,agentId:void 0,target:void 0,theme:void 0,darkTheme:void 0,colorScheme:"light",launcher:Vg,copy:{welcomeTitle:"Hello \u{1F44B}",welcomeSubtitle:"Ask anything about your account or products.",inputPlaceholder:"How can I help...",sendButtonLabel:"Send"},sendButton:{borderWidth:"0px",paddingX:"12px",paddingY:"10px",borderColor:void 0,useIcon:!0,iconText:"\u2191",size:"40px",showTooltip:!0,tooltipText:"Send message",iconName:"send"},statusIndicator:{visible:!0,idleText:"Online",connectingText:"Connecting\u2026",connectedText:"Streaming\u2026",errorText:"Offline"},voiceRecognition:{enabled:!0,pauseDuration:2e3,iconName:"mic",iconSize:"39px",borderWidth:"0px",paddingX:"9px",paddingY:"14px",iconColor:void 0,backgroundColor:"transparent",borderColor:"transparent",recordingIconColor:void 0,recordingBackgroundColor:void 0,recordingBorderColor:"transparent",showTooltip:!0,tooltipText:"Start voice recognition"},features:{showReasoning:!0,showToolCalls:!0,scrollToBottom:{enabled:!0,iconName:"arrow-down",label:""},scrollBehavior:{mode:"anchor-top",anchorTopOffset:16,showActivityWhilePinned:!0},toolCallDisplay:{collapsedMode:"tool-call",activePreview:!1,grouped:!1,groupedMode:"stack",previewMaxLines:3,expandable:!0,loadingAnimation:"none"},reasoningDisplay:{activePreview:!1,previewMaxLines:3,expandable:!0,loadingAnimation:"none"},streamAnimation:{type:"none",placeholder:"none",speed:120,duration:1800},askUserQuestion:{enabled:!0,slideInMs:180,freeTextLabel:"Other\u2026",freeTextPlaceholder:"Type your answer\u2026",submitLabel:"Send"}},suggestionChips:["What can you help me with?","Tell me about your features","How does this work?"],suggestionChipsConfig:{fontFamily:"sans-serif",fontWeight:"500",paddingX:"12px",paddingY:"6px"},layout:{header:{layout:"default",showIcon:!0,showTitle:!0,showSubtitle:!0,showCloseButton:!0,showClearChat:!0},messages:{layout:"bubble",avatar:{show:!1,position:"left"},timestamp:{show:!1,position:"below"},groupConsecutive:!1},slots:{}},markdown:{options:{gfm:!0,breaks:!0},disableDefaultStyles:!1},messageActions:{enabled:!0,showCopy:!0,showUpvote:!1,showDownvote:!1,visibility:"hover",align:"right",layout:"pill-inside"},debug:!1};function qd(t,e){if(!(!t&&!e))return t?e?os(t,e):t:e}function ha(t){return t?{...ct,...t,theme:qd(ct.theme,t.theme),darkTheme:qd(ct.darkTheme,t.darkTheme),launcher:{...ct.launcher,...t.launcher,dock:{...ct.launcher?.dock,...t.launcher?.dock},clearChat:{...ct.launcher?.clearChat,...t.launcher?.clearChat}},copy:{...ct.copy,...t.copy},sendButton:{...ct.sendButton,...t.sendButton},statusIndicator:{...ct.statusIndicator,...t.statusIndicator},voiceRecognition:{...ct.voiceRecognition,...t.voiceRecognition},features:(()=>{let e=ct.features?.artifacts,n=t.features?.artifacts,o=ct.features?.scrollToBottom,r=t.features?.scrollToBottom,s=ct.features?.scrollBehavior,a=t.features?.scrollBehavior,l=ct.features?.streamAnimation,p=t.features?.streamAnimation,d=ct.features?.askUserQuestion,c=t.features?.askUserQuestion,u=e===void 0&&n===void 0?void 0:{...e,...n,layout:{...e?.layout,...n?.layout}},w=o===void 0&&r===void 0?void 0:{...o,...r},f=s===void 0&&a===void 0?void 0:{...s,...a},v=l===void 0&&p===void 0?void 0:{...l,...p},C=d===void 0&&c===void 0?void 0:{...d,...c,styles:{...d?.styles,...c?.styles}};return{...ct.features,...t.features,...w!==void 0?{scrollToBottom:w}:{},...f!==void 0?{scrollBehavior:f}:{},...u!==void 0?{artifacts:u}:{},...v!==void 0?{streamAnimation:v}:{},...C!==void 0?{askUserQuestion:C}:{}}})(),suggestionChips:t.suggestionChips??ct.suggestionChips,suggestionChipsConfig:{...ct.suggestionChipsConfig,...t.suggestionChipsConfig},layout:{...ct.layout,...t.layout,header:{...ct.layout?.header,...t.layout?.header},messages:{...ct.layout?.messages,...t.layout?.messages,avatar:{...ct.layout?.messages?.avatar,...t.layout?.messages?.avatar},timestamp:{...ct.layout?.messages?.timestamp,...t.layout?.messages?.timestamp}},slots:{...ct.layout?.slots,...t.layout?.slots}},markdown:{...ct.markdown,...t.markdown,options:{...ct.markdown?.options,...t.markdown?.options}},messageActions:{...ct.messageActions,...t.messageActions}}:ct}var ya="16px",ba="transparent",Kg={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"}},spacing:{0:"0px",1:"0.25rem",2:"0.5rem",3:"0.75rem",4:"1rem",5:"1.25rem",6:"1.5rem",8:"2rem",10:"2.5rem",12:"3rem",16:"4rem",20:"5rem",24:"6rem",32:"8rem",40:"10rem",48:"12rem",56:"14rem",64:"16rem"},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"}},Gg={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"}},Qg={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:"palette.colors.gray.50",placeholder:"palette.colors.gray.400",borderRadius:"palette.radius.lg",padding:"semantic.spacing.md",focus:{border:"palette.colors.gray.400",ring:"palette.colors.gray.400"}},launcher:{background:"palette.colors.primary.500",foreground:"palette.colors.primary.50",border:"palette.colors.gray.200",size:"60px",iconSize:"28px",borderRadius:"palette.radius.full",shadow:"palette.shadows.lg"},panel:{width:On,maxWidth:Vd,height:"600px",maxHeight:"calc(100vh - 80px)",borderRadius:"palette.radius.xl",shadow:"palette.shadows.xl",inset:ya,canvasBackground:ba},header:{background:"palette.colors.primary.500",border:"palette.colors.primary.600",borderRadius:"palette.radius.xl palette.radius.xl 0 0",padding:"semantic.spacing.md",iconBackground:"palette.colors.primary.600",iconForeground:"palette.colors.primary.50",titleForeground:"palette.colors.primary.50",subtitleForeground:"palette.colors.primary.200",actionIconForeground:"palette.colors.primary.200"},message:{user:{background:"palette.colors.primary.500",text:"palette.colors.primary.50",borderRadius:"palette.radius.lg",shadow:"palette.shadows.sm"},assistant:{background:"palette.colors.gray.50",text:"palette.colors.gray.900",borderRadius:"palette.radius.lg",border:"palette.colors.gray.200",shadow:"palette.shadows.sm"},border:"semantic.colors.border"},introCard:{background:"transparent",borderRadius:"palette.radius.2xl",padding:"semantic.spacing.lg",shadow:"palette.shadows.none"},toolBubble:{shadow:"palette.shadows.sm"},reasoningBubble:{shadow:"palette.shadows.sm"},composer:{shadow:"palette.shadows.none"},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"},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"}},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"}}};function Vt(t,e){if(!e.startsWith("palette.")&&!e.startsWith("semantic.")&&!e.startsWith("components."))return e;let n=e.split("."),o=t;for(let r of n){if(o==null)return;o=o[r]}return typeof o=="string"&&(o.startsWith("palette.")||o.startsWith("semantic.")||o.startsWith("components."))?Vt(t,o):o}function Kd(t){let e={};function n(o,r){for(let[s,a]of Object.entries(o)){let l=`${r}.${s}`;if(typeof a=="string"){let p=Vt(t,a);p!==void 0&&(e[l]={path:l,value:p,type:r.includes("color")?"color":r.includes("spacing")?"spacing":r.includes("typography")?"typography":r.includes("shadow")?"shadow":r.includes("border")?"border":"color"})}else typeof a=="object"&&a!==null&&n(a,l)}}return n(t.palette,"palette"),n(t.semantic,"semantic"),n(t.components,"components"),e}function Xg(t){let e=[],n=[];return t.palette||e.push({path:"palette",message:"Theme must include a palette",severity:"error"}),t.semantic||n.push({path:"semantic",message:"No semantic tokens defined - defaults will be used",severity:"warning"}),t.components||n.push({path:"components",message:"No component tokens defined - defaults will be used",severity:"warning"}),{valid:e.length===0,errors:e,warnings:n}}function Gd(t,e){let n={...t};for(let[o,r]of Object.entries(e)){let s=n[o];s&&typeof s=="object"&&!Array.isArray(s)&&r&&typeof r=="object"&&!Array.isArray(r)?n[o]=Gd(s,r):n[o]=r}return n}function Jg(t,e){return e?Gd(t,e):t}function ar(t,e={}){let n={palette:Kg,semantic:Gg,components:Qg},o={palette:{...n.palette,...t?.palette,colors:{...n.palette.colors,...t?.palette?.colors},spacing:{...n.palette.spacing,...t?.palette?.spacing},typography:{...n.palette.typography,...t?.palette?.typography},shadows:{...n.palette.shadows,...t?.palette?.shadows},borders:{...n.palette.borders,...t?.palette?.borders},radius:{...n.palette.radius,...t?.palette?.radius}},semantic:{...n.semantic,...t?.semantic,colors:{...n.semantic.colors,...t?.semantic?.colors,interactive:{...n.semantic.colors.interactive,...t?.semantic?.colors?.interactive},feedback:{...n.semantic.colors.feedback,...t?.semantic?.colors?.feedback}},spacing:{...n.semantic.spacing,...t?.semantic?.spacing},typography:{...n.semantic.typography,...t?.semantic?.typography}},components:Jg(n.components,t?.components)};if(e.validate!==!1){let r=Xg(o);if(!r.valid)throw new Error(`Theme validation failed: ${r.errors.map(s=>s.message).join(", ")}`)}if(e.plugins)for(let r of e.plugins)o=r.transform(o);return o}function Qd(t){let e=Kd(t),n={};for(let[x,j]of Object.entries(e)){let q=x.replace(/\./g,"-");n[`--persona-${q}`]=j.value}n["--persona-primary"]=n["--persona-semantic-colors-primary"]??n["--persona-palette-colors-primary-500"],n["--persona-secondary"]=n["--persona-semantic-colors-secondary"]??n["--persona-palette-colors-secondary-500"],n["--persona-accent"]=n["--persona-semantic-colors-accent"]??n["--persona-palette-colors-accent-500"],n["--persona-surface"]=n["--persona-semantic-colors-surface"]??n["--persona-palette-colors-gray-50"],n["--persona-background"]=n["--persona-semantic-colors-background"]??n["--persona-palette-colors-gray-50"],n["--persona-container"]=n["--persona-semantic-colors-container"]??n["--persona-palette-colors-gray-100"],n["--persona-text"]=n["--persona-semantic-colors-text"]??n["--persona-palette-colors-gray-900"],n["--persona-text-muted"]=n["--persona-semantic-colors-text-muted"]??n["--persona-palette-colors-gray-500"],n["--persona-text-inverse"]=n["--persona-semantic-colors-text-inverse"]??n["--persona-palette-colors-gray-50"],n["--persona-border"]=n["--persona-semantic-colors-border"]??n["--persona-palette-colors-gray-200"],n["--persona-divider"]=n["--persona-semantic-colors-divider"]??n["--persona-palette-colors-gray-200"],n["--persona-muted"]=n["--persona-text-muted"],n["--persona-voice-recording-indicator"]=n["--persona-components-voice-recording-indicator"]??n["--persona-palette-colors-error-500"],n["--persona-voice-recording-bg"]=n["--persona-components-voice-recording-background"]??n["--persona-palette-colors-error-50"],n["--persona-voice-processing-icon"]=n["--persona-components-voice-processing-icon"]??n["--persona-palette-colors-primary-500"],n["--persona-voice-speaking-icon"]=n["--persona-components-voice-speaking-icon"]??n["--persona-palette-colors-success-500"],n["--persona-approval-bg"]=n["--persona-components-approval-requested-background"]??n["--persona-surface"],n["--persona-approval-border"]=n["--persona-components-approval-requested-border"]??n["--persona-border"],n["--persona-approval-text"]=n["--persona-components-approval-requested-text"]??n["--persona-palette-colors-gray-900"],n["--persona-approval-shadow"]=n["--persona-components-approval-requested-shadow"]??"0 1px 2px 0 rgba(11, 11, 11, 0.06), 0 2px 8px 0 rgba(11, 11, 11, 0.04)",n["--persona-approval-approve-bg"]=n["--persona-components-approval-approve-background"]??n["--persona-button-primary-bg"],n["--persona-approval-deny-bg"]=n["--persona-components-approval-deny-background"]??n["--persona-container"],n["--persona-attachment-image-bg"]=n["--persona-components-attachment-image-background"]??n["--persona-palette-colors-gray-100"],n["--persona-attachment-image-border"]=n["--persona-components-attachment-image-border"]??n["--persona-palette-colors-gray-200"],n["--persona-font-family"]=n["--persona-semantic-typography-fontFamily"]??n["--persona-palette-typography-fontFamily-sans"],n["--persona-font-size"]=n["--persona-semantic-typography-fontSize"]??n["--persona-palette-typography-fontSize-base"],n["--persona-font-weight"]=n["--persona-semantic-typography-fontWeight"]??n["--persona-palette-typography-fontWeight-normal"],n["--persona-line-height"]=n["--persona-semantic-typography-lineHeight"]??n["--persona-palette-typography-lineHeight-normal"],n["--persona-input-font-family"]=n["--persona-font-family"],n["--persona-input-font-weight"]=n["--persona-font-weight"],n["--persona-radius-sm"]=n["--persona-palette-radius-sm"]??"0.125rem",n["--persona-radius-md"]=n["--persona-palette-radius-md"]??"0.375rem",n["--persona-radius-lg"]=n["--persona-palette-radius-lg"]??"0.5rem",n["--persona-radius-xl"]=n["--persona-palette-radius-xl"]??"0.75rem",n["--persona-radius-full"]=n["--persona-palette-radius-full"]??"9999px",n["--persona-launcher-radius"]=n["--persona-components-launcher-borderRadius"]??n["--persona-palette-radius-full"]??"9999px",n["--persona-launcher-bg"]=n["--persona-components-launcher-background"]??n["--persona-primary"],n["--persona-launcher-fg"]=n["--persona-components-launcher-foreground"]??n["--persona-text-inverse"],n["--persona-launcher-border"]=n["--persona-components-launcher-border"]??n["--persona-border"],n["--persona-button-primary-bg"]=n["--persona-components-button-primary-background"]??n["--persona-primary"],n["--persona-button-primary-fg"]=n["--persona-components-button-primary-foreground"]??n["--persona-text-inverse"],n["--persona-button-radius"]=n["--persona-components-button-primary-borderRadius"]??n["--persona-palette-radius-full"]??"9999px",n["--persona-button-ghost-bg"]=n["--persona-components-button-ghost-background"]??"transparent",n["--persona-button-ghost-fg"]=n["--persona-components-button-ghost-foreground"]??n["--persona-text"],n["--persona-button-ghost-radius"]=n["--persona-components-button-ghost-borderRadius"]??n["--persona-radius-md"]??"0.375rem",n["--persona-button-ghost-hover-bg"]=n["--persona-components-button-ghost-hoverBackground"]??"rgba(0, 0, 0, 0.05)",n["--persona-panel-radius"]=n["--persona-components-panel-borderRadius"]??n["--persona-radius-xl"]??"0.75rem",n["--persona-panel-border"]=n["--persona-components-panel-border"]??`1px solid ${n["--persona-border"]}`,n["--persona-panel-shadow"]=n["--persona-components-panel-shadow"]??n["--persona-palette-shadows-xl"]??"0 25px 50px -12px rgba(0, 0, 0, 0.25)",n["--persona-panel-inset"]=n["--persona-components-panel-inset"]??ya,n["--persona-panel-canvas-bg"]=n["--persona-components-panel-canvasBackground"]??ba,n["--persona-launcher-shadow"]=n["--persona-components-launcher-shadow"]??"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)",n["--persona-input-radius"]=n["--persona-components-input-borderRadius"]??n["--persona-radius-lg"]??"0.5rem",n["--persona-message-user-radius"]=n["--persona-components-message-user-borderRadius"]??n["--persona-radius-lg"]??"0.5rem",n["--persona-message-assistant-radius"]=n["--persona-components-message-assistant-borderRadius"]??n["--persona-radius-lg"]??"0.5rem",n["--persona-header-bg"]=n["--persona-components-header-background"]??n["--persona-surface"],n["--persona-header-border"]=n["--persona-components-header-border"]??n["--persona-divider"],n["--persona-header-icon-bg"]=n["--persona-components-header-iconBackground"]??n["--persona-primary"],n["--persona-header-icon-fg"]=n["--persona-components-header-iconForeground"]??n["--persona-text-inverse"],n["--persona-header-title-fg"]=n["--persona-components-header-titleForeground"]??n["--persona-primary"],n["--persona-header-subtitle-fg"]=n["--persona-components-header-subtitleForeground"]??n["--persona-text-muted"],n["--persona-header-action-icon-fg"]=n["--persona-components-header-actionIconForeground"]??n["--persona-muted"];let o=t.components?.header;o?.shadow&&(n["--persona-header-shadow"]=o.shadow),o?.borderBottom&&(n["--persona-header-border-bottom"]=o.borderBottom),n["--persona-intro-card-bg"]=n["--persona-components-introCard-background"]??"transparent",n["--persona-intro-card-radius"]=n["--persona-components-introCard-borderRadius"]??"1rem",n["--persona-intro-card-padding"]=n["--persona-components-introCard-padding"]??"1.5rem",n["--persona-intro-card-shadow"]=n["--persona-components-introCard-shadow"]??"none",n["--persona-input-background"]=n["--persona-components-input-background"]??n["--persona-surface"],n["--persona-input-placeholder"]=n["--persona-components-input-placeholder"]??n["--persona-text-muted"],n["--persona-message-user-bg"]=n["--persona-components-message-user-background"]??n["--persona-accent"],n["--persona-message-user-text"]=n["--persona-components-message-user-text"]??n["--persona-text-inverse"],n["--persona-message-user-shadow"]=n["--persona-components-message-user-shadow"]??"0 5px 15px rgba(15, 23, 42, 0.08)",n["--persona-message-assistant-bg"]=n["--persona-components-message-assistant-background"]??n["--persona-surface"],n["--persona-message-assistant-text"]=n["--persona-components-message-assistant-text"]??n["--persona-text"],n["--persona-message-assistant-border"]=n["--persona-components-message-assistant-border"]??n["--persona-border"],n["--persona-message-assistant-shadow"]=n["--persona-components-message-assistant-shadow"]??"0 1px 2px 0 rgb(0 0 0 / 0.05)",n["--persona-scroll-to-bottom-bg"]=n["--persona-components-scrollToBottom-background"]??n["--persona-button-primary-bg"]??n["--persona-accent"],n["--persona-scroll-to-bottom-fg"]=n["--persona-components-scrollToBottom-foreground"]??n["--persona-button-primary-fg"]??n["--persona-text-inverse"],n["--persona-scroll-to-bottom-border"]=n["--persona-components-scrollToBottom-border"]??n["--persona-primary"],n["--persona-scroll-to-bottom-size"]=n["--persona-components-scrollToBottom-size"]??"40px",n["--persona-scroll-to-bottom-radius"]=n["--persona-components-scrollToBottom-borderRadius"]??n["--persona-button-radius"]??n["--persona-radius-full"]??"9999px",n["--persona-scroll-to-bottom-shadow"]=n["--persona-components-scrollToBottom-shadow"]??n["--persona-palette-shadows-sm"]??"0 1px 2px 0 rgb(0 0 0 / 0.05)",n["--persona-scroll-to-bottom-padding"]=n["--persona-components-scrollToBottom-padding"]??"0.5rem 0.875rem",n["--persona-scroll-to-bottom-gap"]=n["--persona-components-scrollToBottom-gap"]??"0.5rem",n["--persona-scroll-to-bottom-font-size"]=n["--persona-components-scrollToBottom-fontSize"]??n["--persona-palette-typography-fontSize-sm"]??"0.875rem",n["--persona-scroll-to-bottom-icon-size"]=n["--persona-components-scrollToBottom-iconSize"]??"14px",n["--persona-tool-bubble-shadow"]=n["--persona-components-toolBubble-shadow"]??"0 5px 15px rgba(15, 23, 42, 0.08)",n["--persona-reasoning-bubble-shadow"]=n["--persona-components-reasoningBubble-shadow"]??"0 5px 15px rgba(15, 23, 42, 0.08)",n["--persona-composer-shadow"]=n["--persona-components-composer-shadow"]??"none",n["--persona-md-inline-code-bg"]=n["--persona-components-markdown-inlineCode-background"]??n["--persona-container"],n["--persona-md-inline-code-color"]=n["--persona-components-markdown-inlineCode-foreground"]??n["--persona-text"],n["--persona-md-link-color"]=n["--persona-components-markdown-link-foreground"]??n["--persona-accent"]??"#0f0f0f";let r=n["--persona-components-markdown-heading-h1-fontSize"];r&&(n["--persona-md-h1-size"]=r);let s=n["--persona-components-markdown-heading-h1-fontWeight"];s&&(n["--persona-md-h1-weight"]=s);let a=n["--persona-components-markdown-heading-h2-fontSize"];a&&(n["--persona-md-h2-size"]=a);let l=n["--persona-components-markdown-heading-h2-fontWeight"];l&&(n["--persona-md-h2-weight"]=l);let p=n["--persona-components-markdown-prose-fontFamily"];p&&p!=="inherit"&&(n["--persona-md-prose-font-family"]=p),n["--persona-md-code-block-bg"]=n["--persona-components-markdown-codeBlock-background"]??n["--persona-container"],n["--persona-md-code-block-border-color"]=n["--persona-components-markdown-codeBlock-borderColor"]??n["--persona-border"],n["--persona-md-code-block-text-color"]=n["--persona-components-markdown-codeBlock-textColor"]??"inherit",n["--persona-md-table-header-bg"]=n["--persona-components-markdown-table-headerBackground"]??n["--persona-container"],n["--persona-md-table-border-color"]=n["--persona-components-markdown-table-borderColor"]??n["--persona-border"],n["--persona-md-hr-color"]=n["--persona-components-markdown-hr-color"]??n["--persona-divider"],n["--persona-md-blockquote-border-color"]=n["--persona-components-markdown-blockquote-borderColor"]??n["--persona-palette-colors-gray-900"],n["--persona-md-blockquote-bg"]=n["--persona-components-markdown-blockquote-background"]??"transparent",n["--persona-md-blockquote-text-color"]=n["--persona-components-markdown-blockquote-textColor"]??n["--persona-palette-colors-gray-500"],n["--cw-container"]=n["--persona-components-collapsibleWidget-container"]??n["--persona-surface"],n["--cw-surface"]=n["--persona-components-collapsibleWidget-surface"]??n["--persona-surface"],n["--cw-border"]=n["--persona-components-collapsibleWidget-border"]??n["--persona-border"],n["--persona-message-border"]=n["--persona-components-message-border"]??n["--persona-border"];let d=t.components,c=d?.iconButton;c&&(c.background&&(n["--persona-icon-btn-bg"]=c.background),c.border&&(n["--persona-icon-btn-border"]=c.border),c.color&&(n["--persona-icon-btn-color"]=c.color),c.padding&&(n["--persona-icon-btn-padding"]=c.padding),c.borderRadius&&(n["--persona-icon-btn-radius"]=c.borderRadius),c.hoverBackground&&(n["--persona-icon-btn-hover-bg"]=c.hoverBackground),c.hoverColor&&(n["--persona-icon-btn-hover-color"]=c.hoverColor),c.activeBackground&&(n["--persona-icon-btn-active-bg"]=c.activeBackground),c.activeBorder&&(n["--persona-icon-btn-active-border"]=c.activeBorder));let u=d?.labelButton;u&&(u.background&&(n["--persona-label-btn-bg"]=u.background),u.border&&(n["--persona-label-btn-border"]=u.border),u.color&&(n["--persona-label-btn-color"]=u.color),u.padding&&(n["--persona-label-btn-padding"]=u.padding),u.borderRadius&&(n["--persona-label-btn-radius"]=u.borderRadius),u.hoverBackground&&(n["--persona-label-btn-hover-bg"]=u.hoverBackground),u.fontSize&&(n["--persona-label-btn-font-size"]=u.fontSize),u.gap&&(n["--persona-label-btn-gap"]=u.gap));let w=d?.toggleGroup;w&&(w.gap&&(n["--persona-toggle-group-gap"]=w.gap),w.borderRadius&&(n["--persona-toggle-group-radius"]=w.borderRadius));let f=d?.artifact;if(f?.toolbar){let x=f.toolbar;x.iconHoverColor&&(n["--persona-artifact-toolbar-icon-hover-color"]=x.iconHoverColor),x.iconHoverBackground&&(n["--persona-artifact-toolbar-icon-hover-bg"]=x.iconHoverBackground),x.iconPadding&&(n["--persona-artifact-toolbar-icon-padding"]=x.iconPadding),x.iconBorderRadius&&(n["--persona-artifact-toolbar-icon-radius"]=x.iconBorderRadius),x.iconBorder&&(n["--persona-artifact-toolbar-icon-border"]=x.iconBorder),x.toggleGroupGap&&(n["--persona-artifact-toolbar-toggle-group-gap"]=x.toggleGroupGap),x.toggleBorderRadius&&(n["--persona-artifact-toolbar-toggle-radius"]=x.toggleBorderRadius),x.toggleGroupPadding&&(n["--persona-artifact-toolbar-toggle-group-padding"]=x.toggleGroupPadding),x.toggleGroupBorder&&(n["--persona-artifact-toolbar-toggle-group-border"]=x.toggleGroupBorder),x.toggleGroupBorderRadius&&(n["--persona-artifact-toolbar-toggle-group-radius"]=x.toggleGroupBorderRadius),x.toggleGroupBackground&&(n["--persona-artifact-toolbar-toggle-group-bg"]=Vt(t,x.toggleGroupBackground)??x.toggleGroupBackground),x.copyBackground&&(n["--persona-artifact-toolbar-copy-bg"]=x.copyBackground),x.copyBorder&&(n["--persona-artifact-toolbar-copy-border"]=x.copyBorder),x.copyColor&&(n["--persona-artifact-toolbar-copy-color"]=x.copyColor),x.copyBorderRadius&&(n["--persona-artifact-toolbar-copy-radius"]=x.copyBorderRadius),x.copyPadding&&(n["--persona-artifact-toolbar-copy-padding"]=x.copyPadding),x.copyMenuBackground&&(n["--persona-artifact-toolbar-copy-menu-bg"]=x.copyMenuBackground,n["--persona-dropdown-bg"]=n["--persona-dropdown-bg"]??x.copyMenuBackground),x.copyMenuBorder&&(n["--persona-artifact-toolbar-copy-menu-border"]=x.copyMenuBorder,n["--persona-dropdown-border"]=n["--persona-dropdown-border"]??x.copyMenuBorder),x.copyMenuShadow&&(n["--persona-artifact-toolbar-copy-menu-shadow"]=x.copyMenuShadow,n["--persona-dropdown-shadow"]=n["--persona-dropdown-shadow"]??x.copyMenuShadow),x.copyMenuBorderRadius&&(n["--persona-artifact-toolbar-copy-menu-radius"]=x.copyMenuBorderRadius,n["--persona-dropdown-radius"]=n["--persona-dropdown-radius"]??x.copyMenuBorderRadius),x.copyMenuItemHoverBackground&&(n["--persona-artifact-toolbar-copy-menu-item-hover-bg"]=x.copyMenuItemHoverBackground,n["--persona-dropdown-item-hover-bg"]=n["--persona-dropdown-item-hover-bg"]??x.copyMenuItemHoverBackground),x.iconBackground&&(n["--persona-artifact-toolbar-icon-bg"]=x.iconBackground),x.toolbarBorder&&(n["--persona-artifact-toolbar-border"]=x.toolbarBorder)}if(f?.tab){let x=f.tab;x.background&&(n["--persona-artifact-tab-bg"]=x.background),x.activeBackground&&(n["--persona-artifact-tab-active-bg"]=x.activeBackground),x.activeBorder&&(n["--persona-artifact-tab-active-border"]=x.activeBorder),x.borderRadius&&(n["--persona-artifact-tab-radius"]=x.borderRadius),x.textColor&&(n["--persona-artifact-tab-color"]=x.textColor),x.hoverBackground&&(n["--persona-artifact-tab-hover-bg"]=x.hoverBackground),x.listBackground&&(n["--persona-artifact-tab-list-bg"]=x.listBackground),x.listBorderColor&&(n["--persona-artifact-tab-list-border-color"]=x.listBorderColor),x.listPadding&&(n["--persona-artifact-tab-list-padding"]=x.listPadding)}if(f?.pane){let x=f.pane;if(x.toolbarBackground){let j=Vt(t,x.toolbarBackground)??x.toolbarBackground;n["--persona-artifact-toolbar-bg"]=j}}if(f?.card){let x=f.card;x.background&&(n["--persona-artifact-card-bg"]=x.background),x.border&&(n["--persona-artifact-card-border"]=x.border),x.borderRadius&&(n["--persona-artifact-card-radius"]=x.borderRadius),x.hoverBackground&&(n["--persona-artifact-card-hover-bg"]=x.hoverBackground),x.hoverBorderColor&&(n["--persona-artifact-card-hover-border"]=x.hoverBorderColor)}if(f?.inline){let x=f.inline;x.background&&(n["--persona-artifact-inline-bg"]=Vt(t,x.background)??x.background),x.border&&(n["--persona-artifact-inline-border"]=x.border),x.borderRadius&&(n["--persona-artifact-inline-radius"]=x.borderRadius),x.chromeBackground&&(n["--persona-artifact-inline-chrome-bg"]=Vt(t,x.chromeBackground)??x.chromeBackground),x.chromeBorder&&(n["--persona-artifact-inline-chrome-border"]=Vt(t,x.chromeBorder)??x.chromeBorder),x.titleColor&&(n["--persona-artifact-inline-title-color"]=Vt(t,x.titleColor)??x.titleColor),x.mutedColor&&(n["--persona-artifact-inline-muted-color"]=Vt(t,x.mutedColor)??x.mutedColor),x.frameHeight&&(n["--persona-artifact-inline-frame-height"]=x.frameHeight)}let v=d?.code;v&&(v.keywordColor&&(n["--persona-code-keyword-color"]=v.keywordColor),v.stringColor&&(n["--persona-code-string-color"]=v.stringColor),v.commentColor&&(n["--persona-code-comment-color"]=v.commentColor),v.numberColor&&(n["--persona-code-number-color"]=v.numberColor),v.tagColor&&(n["--persona-code-tag-color"]=v.tagColor),v.attrColor&&(n["--persona-code-attr-color"]=v.attrColor),v.propertyColor&&(n["--persona-code-property-color"]=v.propertyColor),v.lineNumberColor&&(n["--persona-code-line-number-color"]=v.lineNumberColor),v.gutterBorderColor&&(n["--persona-code-gutter-border-color"]=v.gutterBorderColor),v.background&&(n["--persona-code-bg"]=Vt(t,v.background)??v.background));let C=n["--persona-surface"],P=n["--persona-container"],H=n["--persona-palette-colors-gray-100"]??"#f3f4f6",E=n["--persona-palette-colors-gray-200"]??"#e5e7eb",T=n["--persona-palette-colors-gray-300"]??"#d1d5db",I=!P||P===C,z=I?H:P,N=I?E:P;return n["--persona-icon-btn-hover-bg"]=n["--persona-icon-btn-hover-bg"]??z,n["--persona-icon-btn-active-bg"]=n["--persona-icon-btn-active-bg"]??N,I&&(n["--persona-icon-btn-active-border"]=n["--persona-icon-btn-active-border"]??T),n["--persona-label-btn-hover-bg"]=n["--persona-label-btn-hover-bg"]??z,n["--persona-artifact-tab-hover-bg"]=n["--persona-artifact-tab-hover-bg"]??z,n["--persona-artifact-card-hover-bg"]=n["--persona-artifact-card-hover-bg"]??z,n}var Yg={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"}}},Xd=t=>{if(!(!t||typeof t!="object"||Array.isArray(t)))return t},Gi=()=>typeof document<"u"&&document.documentElement.classList.contains("dark")||typeof window<"u"&&window.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light",Zg=t=>{let e=t?.colorScheme??"light";return e==="light"?"light":e==="dark"?"dark":Gi()},Jd=t=>Zg(t),em=t=>ar(t),tm=t=>ar({...t,palette:{...t?.palette,colors:{...Yg.colors,...t?.palette?.colors}}},{validate:!1}),ir=t=>{let e=Jd(t),n=Xd(t?.theme),o=Xd(t?.darkTheme);return e==="dark"?tm(os(n??{},o??{})):em(n)},nm=t=>Qd(t),rs=(t,e)=>{let n=ir(e),o=nm(n);for(let[r,s]of Object.entries(o))t.style.setProperty(r,s);t.setAttribute("data-persona-color-scheme",Jd(e))},va=t=>{let e=[];if(typeof document<"u"&&typeof MutationObserver<"u"){let n=new MutationObserver(()=>{t(Gi())});n.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),e.push(()=>n.disconnect())}if(typeof window<"u"&&window.matchMedia){let n=window.matchMedia("(prefers-color-scheme: dark)"),o=()=>t(Gi());n.addEventListener?(n.addEventListener("change",o),e.push(()=>n.removeEventListener("change",o))):n.addListener&&(n.addListener(o),e.push(()=>n.removeListener(o)))}return()=>{e.forEach(n=>n())}};function Mn(t){let e=String(t).split(/[\\/]/);return e[e.length-1]??""}function Yd(t){let e=Mn(t),n=e.lastIndexOf(".");return n<=0?"":e.slice(n+1).toLowerCase()}function wa(t){if(typeof t!="string")return"";let e=t.indexOf(`
19
25
  `);if(e===-1||!t.slice(0,e).startsWith("```"))return t;let o=t.slice(e+1),r=o.lastIndexOf(`
20
- `);return(r===-1?o:o.slice(0,r)).split("`\u200B``").join("```")}function ts(t){let e=$d(t.path);if(e)return e==="html"||e==="htm"?"html":e==="svg"?"svg":e==="md"||e==="mdx"?"markdown":"other";let n=(t.mimeType||"").toLowerCase();return n.includes("html")?"html":n.includes("svg")?"svg":n.includes("markdown")?"markdown":"other"}function to(t){switch(ts(t)){case"html":return"HTML";case"svg":return"SVG";case"markdown":return"Markdown";default:{let e=$d(t.path);return e?e.toUpperCase():"File"}}}function Ud(t){let e=t.markdown??"";return t.file?{filename:Tn(t.file.path)||"artifact",mime:t.file.mimeType||"application/octet-stream",content:ha(e)}:{filename:`${t.title||"artifact"}.md`,mime:"text/markdown",content:e}}var ji="http://www.w3.org/2000/svg";function zd(t){let e=document.createElementNS(ji,"svg");e.setAttribute("class",ko("persona-spinner",t)),e.setAttribute("viewBox","0 0 24 24"),e.setAttribute("aria-hidden","true"),e.setAttribute("focusable","false");let n=document.createElementNS(ji,"circle");n.setAttribute("class","persona-spinner-track"),n.setAttribute("cx","12"),n.setAttribute("cy","12"),n.setAttribute("r","9");let o=document.createElementNS(ji,"circle");return o.setAttribute("class","persona-spinner-arc"),o.setAttribute("cx","12"),o.setAttribute("cy","12"),o.setAttribute("r","9"),e.appendChild(n),e.appendChild(o),e}var no=(t,e,n)=>{let o=n;for(let r of e){let s=m("span","persona-tool-char");s.style.setProperty("--char-index",String(o)),s.textContent=r===" "?"\xA0":r,t.appendChild(s),o++}return o};function jd(t,e,n){let o=n?.loadingAnimation??"shimmer",r=n?.loadingAnimationDuration??2e3;if(o==="none"){t.textContent=e;return}if(o==="pulse"){t.setAttribute("data-preserve-animation","true"),t.classList.add("persona-tool-loading-pulse"),t.style.setProperty("--persona-tool-anim-duration",`${r}ms`),t.textContent=e;return}t.setAttribute("data-preserve-animation","true"),t.classList.add(`persona-tool-loading-${o}`),t.style.setProperty("--persona-tool-anim-duration",`${r}ms`),o==="shimmer-color"&&(n?.loadingAnimationColor&&t.style.setProperty("--persona-tool-anim-color",n.loadingAnimationColor),n?.loadingAnimationSecondaryColor&&t.style.setProperty("--persona-tool-anim-secondary-color",n.loadingAnimationSecondaryColor)),no(t,e,0)}var qi="persona-artifact-status-label",qd="persona-artifact-status-detail",Vd="data-artifact-status-label",Vi=new Map,Kd=()=>typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now();function ar(t){t&&Vi.delete(t)}function _h(t){let e=t.artifactType==="markdown"?t.file:void 0;return e?to(e):t.artifactType==="component"?"Component":"Document"}function ir(t,e,n){let o=_h(t),r=`Generating ${o.toLowerCase()}...`,s=e?.statusLabel;if(typeof s=="string")return{label:s};if(typeof s!="function")return{label:r};let a=t.id,l=Vi.get(a);t.status!=="complete"&&l===void 0&&(l=Kd(),Vi.set(a,l));let p=l===void 0?0:Math.max(0,Kd()-l),d=t.artifactType==="component",c=!d&&typeof t.markdown=="string"?t.markdown:"",u=d?0:c.length,w=d||c===""?0:c.split(`
21
- `).length,f=t.artifactType==="markdown"?t.file:void 0,v={artifactId:a,artifactType:t.artifactType,title:t.title,typeLabel:o,file:f,chars:u,lines:w,elapsedMs:p,content:()=>d?"":c,surface:n};try{let x=s(v);return typeof x=="string"?{label:x}:x&&typeof x=="object"&&typeof x.label=="string"?{label:x.label,detail:typeof x.detail=="string"?x.detail:void 0}:{label:r}}catch{return{label:r}}}function $h(t){t.className=qi,t.removeAttribute("data-preserve-animation"),t.style.removeProperty("--persona-tool-anim-duration"),t.style.removeProperty("--persona-tool-anim-color"),t.style.removeProperty("--persona-tool-anim-secondary-color"),t.replaceChildren()}function Wo(t,e,n){let o=t.querySelector(`:scope > .${qi}`);o||(o=m("span",qi),t.appendChild(o)),o.getAttribute(Vd)!==e.label&&($h(o),jd(o,e.label,n),o.setAttribute(Vd,e.label));let r=t.querySelector(`:scope > .${qd}`),s=e.detail;s?(r||(r=m("span",qd),t.appendChild(r)),r.textContent!==s&&(r.textContent=s)):r&&r.remove()}var Uh={keyword:"persona-code-token-keyword",string:"persona-code-token-string",comment:"persona-code-token-comment",number:"persona-code-token-number",tag:"persona-code-token-tag",attr:"persona-code-token-attr",property:"persona-code-token-property"},zh=15e4,ya={html:"html",htm:"html",xhtml:"html",xml:"html",svg:"html",css:"css",js:"js",jsx:"js",mjs:"js",cjs:"js",ts:"js",tsx:"js",mts:"js",cts:"js",javascript:"js",typescript:"js",ecmascript:"js",json:"json",jsonc:"json",json5:"json"};function jh(t,e){let n=(t||"").trim().toLowerCase();if(n&&ya[n])return ya[n];if(e){let o=e.lastIndexOf(".");if(o>=0){let r=e.slice(o+1).toLowerCase();if(ya[r])return ya[r]}}return null}function ba(t,e){let n=[],o=0,r=0,s=a=>{a>r&&n.push({type:"plain",value:t.slice(r,a)})};for(;o<t.length;){let a=!1;for(let l of e){l.re.lastIndex=o;let p=l.re.exec(t);if(p&&p.index===o&&p[0].length>0){s(o);let d=l.map?l.map(p[0]):l.type;n.push({type:d,value:p[0]}),o+=p[0].length,r=o,a=!0;break}}a||(o+=1)}return s(t.length),n}var qh=new Set(["abstract","any","as","async","await","boolean","break","case","catch","class","const","continue","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","instanceof","interface","keyof","let","namespace","never","new","null","number","object","of","private","protected","public","readonly","return","satisfies","set","static","string","super","switch","symbol","this","throw","true","try","type","typeof","undefined","unknown","var","void","while","yield"]),Vh=[{type:"comment",re:/\/\/[^\n]*/y},{type:"comment",re:/\/\*[\s\S]*?\*\//y},{type:"string",re:/`(?:\\[\s\S]|[^\\`])*`/y},{type:"string",re:/"(?:\\.|[^"\\\n])*"/y},{type:"string",re:/'(?:\\.|[^'\\\n])*'/y},{type:"number",re:/0[xX][0-9a-fA-F]+|(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?/y},{type:"plain",re:/[A-Za-z_$][\w$]*/y,map:t=>qh.has(t)?"keyword":"plain"}];function Gd(t){return ba(t,Vh)}var Kh=[{type:"string",re:/"(?:\\.|[^"\\])*"/y},{type:"number",re:/-?(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?/y},{type:"plain",re:/[A-Za-z_]\w*/y,map:t=>t==="true"||t==="false"||t==="null"?"keyword":"plain"}];function Gh(t){let e=ba(t,Kh);for(let n=0;n<e.length;n+=1){if(e[n].type!=="string")continue;let o=n+1;for(;o<e.length&&e[o].value.trim()==="";)o+=1;let r=e[o];r&&r.value.replace(/^\s*/,"").startsWith(":")&&(e[n].type="property")}return e}var Xh=[{type:"comment",re:/\/\*[\s\S]*?\*\//y},{type:"string",re:/"(?:\\.|[^"\\\n])*"/y},{type:"string",re:/'(?:\\.|[^'\\\n])*'/y},{type:"keyword",re:/@[A-Za-z-]+/y},{type:"number",re:/#[0-9a-fA-F]{3,8}\b/y},{type:"number",re:/-?(?:\d+\.?\d*|\.\d+)(?:[a-z%]+)?/y},{type:"plain",re:/[A-Za-z_-][\w-]*/y}];function Xd(t){let e=ba(t,Xh),n="";for(let o=0;o<e.length;o+=1){let r=e[o];if(r.type==="plain"&&/^[A-Za-z_-][\w-]*$/.test(r.value)){let a=o+1;for(;a<e.length&&e[a].value.trim()==="";)a+=1;let l=e[a];l&&l.value.replace(/^\s*/,"").startsWith(":")&&(n===""||n==="{"||n==="}"||n===";"||n===",")&&(r.type="property")}let s=r.value.replace(/\s+$/,"");s&&(n=s[s.length-1])}return e}var Qh=[{type:"tag",re:/<\/?\s*[A-Za-z][\w:-]*/y},{type:"string",re:/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'/y},{type:"attr",re:/[A-Za-z_:@][\w:.-]*(?=\s*=)/y},{type:"attr",re:/[A-Za-z_:@][\w:.-]*/y},{type:"tag",re:/\/?>/y}];function Jh(t){let e=[],n=(s,a)=>{a&&e.push({type:s,value:a})},o=t.length,r=0;for(;r<o;){if(t.startsWith("<!--",r)){let a=t.indexOf("-->",r+4),l=a===-1?o:a+3;n("comment",t.slice(r,l)),r=l;continue}if(t[r]==="<"&&t[r+1]==="!"){let a=t.indexOf(">",r),l=a===-1?o:a+1;n("tag",t.slice(r,l)),r=l;continue}if(t[r]==="<"&&/[A-Za-z/]/.test(t[r+1]||"")){let a=t.indexOf(">",r),l=a===-1?o:a+1,p=t.slice(r,l);for(let c of ba(p,Qh))e.push(c);r=l;let d=/^<\s*(script|style)\b/i.exec(p);if(d&&!/\/>\s*$/.test(p)){let c=d[1].toLowerCase(),w=new RegExp("</\\s*"+c+"\\s*>","i").exec(t.slice(r)),f=w?r+w.index:o,v=t.slice(r,f),x=c==="script"?Gd(v):Xd(v);for(let P of x)e.push(P);r=f}continue}let s=t.indexOf("<",r);if(s===r)n("plain",t[r]),r+=1;else{let a=s===-1?o:s;n("plain",t.slice(r,a)),r=a}}return e}function Yh(t,e){switch(e){case"html":return Jh(t);case"css":return Xd(t);case"js":return Gd(t);case"json":return Gh(t)}}function Zh(t){let e=Yc(),n=m("span","persona-code-line"),o=(r,s)=>{if(!s)return;let a=Uh[r];if(a){let l=m("span",a);l.textContent=s,n.appendChild(l)}else n.appendChild(document.createTextNode(s))};for(let r of t){let s=r.value.split(`
26
+ `);return(r===-1?o:o.slice(0,r)).split("`\u200B``").join("```")}function ss(t){let e=Yd(t.path);if(e)return e==="html"||e==="htm"?"html":e==="svg"?"svg":e==="md"||e==="mdx"?"markdown":"other";let n=(t.mimeType||"").toLowerCase();return n.includes("html")?"html":n.includes("svg")?"svg":n.includes("markdown")?"markdown":"other"}function oo(t){switch(ss(t)){case"html":return"HTML";case"svg":return"SVG";case"markdown":return"Markdown";default:{let e=Yd(t.path);return e?e.toUpperCase():"File"}}}function Zd(t){let e=t.markdown??"";return t.file?{filename:Mn(t.file.path)||"artifact",mime:t.file.mimeType||"application/octet-stream",content:wa(e)}:{filename:`${t.title||"artifact"}.md`,mime:"text/markdown",content:e}}var Qi="http://www.w3.org/2000/svg";function ep(t){let e=document.createElementNS(Qi,"svg");e.setAttribute("class",Bn("persona-spinner",t)),e.setAttribute("viewBox","0 0 24 24"),e.setAttribute("aria-hidden","true"),e.setAttribute("focusable","false");let n=document.createElementNS(Qi,"circle");n.setAttribute("class","persona-spinner-track"),n.setAttribute("cx","12"),n.setAttribute("cy","12"),n.setAttribute("r","9");let o=document.createElementNS(Qi,"circle");return o.setAttribute("class","persona-spinner-arc"),o.setAttribute("cx","12"),o.setAttribute("cy","12"),o.setAttribute("r","9"),e.appendChild(n),e.appendChild(o),e}var ro=(t,e,n)=>{let o=n;for(let r of e){let s=m("span","persona-tool-char");s.style.setProperty("--char-index",String(o)),s.textContent=r===" "?"\xA0":r,t.appendChild(s),o++}return o};function tp(t,e,n){let o=n?.loadingAnimation??"shimmer",r=n?.loadingAnimationDuration??2e3;if(o==="none"){t.textContent=e;return}if(o==="pulse"){t.setAttribute("data-preserve-animation","true"),t.classList.add("persona-tool-loading-pulse"),t.style.setProperty("--persona-tool-anim-duration",`${r}ms`),t.textContent=e;return}t.setAttribute("data-preserve-animation","true"),t.classList.add(`persona-tool-loading-${o}`),t.style.setProperty("--persona-tool-anim-duration",`${r}ms`),o==="shimmer-color"&&(n?.loadingAnimationColor&&t.style.setProperty("--persona-tool-anim-color",n.loadingAnimationColor),n?.loadingAnimationSecondaryColor&&t.style.setProperty("--persona-tool-anim-secondary-color",n.loadingAnimationSecondaryColor)),ro(t,e,0)}var Xi="persona-artifact-status-label",np="persona-artifact-status-detail",op="data-artifact-status-label",Ji=new Map,rp=()=>typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now();function lr(t){t&&Ji.delete(t)}function om(t){let e=t.artifactType==="markdown"?t.file:void 0;return e?oo(e):t.artifactType==="component"?"Component":"Document"}function cr(t,e,n){let o=om(t),r=`Generating ${o.toLowerCase()}...`,s=e?.statusLabel;if(typeof s=="string")return{label:s};if(typeof s!="function")return{label:r};let a=t.id,l=Ji.get(a);t.status!=="complete"&&l===void 0&&(l=rp(),Ji.set(a,l));let p=l===void 0?0:Math.max(0,rp()-l),d=t.artifactType==="component",c=!d&&typeof t.markdown=="string"?t.markdown:"",u=d?0:c.length,w=d||c===""?0:c.split(`
27
+ `).length,f=t.artifactType==="markdown"?t.file:void 0,v={artifactId:a,artifactType:t.artifactType,title:t.title,typeLabel:o,file:f,chars:u,lines:w,elapsedMs:p,content:()=>d?"":c,surface:n};try{let C=s(v);return typeof C=="string"?{label:C}:C&&typeof C=="object"&&typeof C.label=="string"?{label:C.label,detail:typeof C.detail=="string"?C.detail:void 0}:{label:r}}catch{return{label:r}}}function rm(t){t.className=Xi,t.removeAttribute("data-preserve-animation"),t.style.removeProperty("--persona-tool-anim-duration"),t.style.removeProperty("--persona-tool-anim-color"),t.style.removeProperty("--persona-tool-anim-secondary-color"),t.replaceChildren()}function Ro(t,e,n){let o=t.querySelector(`:scope > .${Xi}`);o||(o=m("span",Xi),t.appendChild(o)),o.getAttribute(op)!==e.label&&(rm(o),tp(o,e.label,n),o.setAttribute(op,e.label));let r=t.querySelector(`:scope > .${np}`),s=e.detail;s?(r||(r=m("span",np),t.appendChild(r)),r.textContent!==s&&(r.textContent=s)):r&&r.remove()}var sm={keyword:"persona-code-token-keyword",string:"persona-code-token-string",comment:"persona-code-token-comment",number:"persona-code-token-number",tag:"persona-code-token-tag",attr:"persona-code-token-attr",property:"persona-code-token-property"},am=15e4,xa={html:"html",htm:"html",xhtml:"html",xml:"html",svg:"html",css:"css",js:"js",jsx:"js",mjs:"js",cjs:"js",ts:"js",tsx:"js",mts:"js",cts:"js",javascript:"js",typescript:"js",ecmascript:"js",json:"json",jsonc:"json",json5:"json"};function im(t,e){let n=(t||"").trim().toLowerCase();if(n&&xa[n])return xa[n];if(e){let o=e.lastIndexOf(".");if(o>=0){let r=e.slice(o+1).toLowerCase();if(xa[r])return xa[r]}}return null}function Ca(t,e){let n=[],o=0,r=0,s=a=>{a>r&&n.push({type:"plain",value:t.slice(r,a)})};for(;o<t.length;){let a=!1;for(let l of e){l.re.lastIndex=o;let p=l.re.exec(t);if(p&&p.index===o&&p[0].length>0){s(o);let d=l.map?l.map(p[0]):l.type;n.push({type:d,value:p[0]}),o+=p[0].length,r=o,a=!0;break}}a||(o+=1)}return s(t.length),n}var lm=new Set(["abstract","any","as","async","await","boolean","break","case","catch","class","const","continue","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","instanceof","interface","keyof","let","namespace","never","new","null","number","object","of","private","protected","public","readonly","return","satisfies","set","static","string","super","switch","symbol","this","throw","true","try","type","typeof","undefined","unknown","var","void","while","yield"]),cm=[{type:"comment",re:/\/\/[^\n]*/y},{type:"comment",re:/\/\*[\s\S]*?\*\//y},{type:"string",re:/`(?:\\[\s\S]|[^\\`])*`/y},{type:"string",re:/"(?:\\.|[^"\\\n])*"/y},{type:"string",re:/'(?:\\.|[^'\\\n])*'/y},{type:"number",re:/0[xX][0-9a-fA-F]+|(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?/y},{type:"plain",re:/[A-Za-z_$][\w$]*/y,map:t=>lm.has(t)?"keyword":"plain"}];function sp(t){return Ca(t,cm)}var dm=[{type:"string",re:/"(?:\\.|[^"\\])*"/y},{type:"number",re:/-?(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?/y},{type:"plain",re:/[A-Za-z_]\w*/y,map:t=>t==="true"||t==="false"||t==="null"?"keyword":"plain"}];function pm(t){let e=Ca(t,dm);for(let n=0;n<e.length;n+=1){if(e[n].type!=="string")continue;let o=n+1;for(;o<e.length&&e[o].value.trim()==="";)o+=1;let r=e[o];r&&r.value.replace(/^\s*/,"").startsWith(":")&&(e[n].type="property")}return e}var um=[{type:"comment",re:/\/\*[\s\S]*?\*\//y},{type:"string",re:/"(?:\\.|[^"\\\n])*"/y},{type:"string",re:/'(?:\\.|[^'\\\n])*'/y},{type:"keyword",re:/@[A-Za-z-]+/y},{type:"number",re:/#[0-9a-fA-F]{3,8}\b/y},{type:"number",re:/-?(?:\d+\.?\d*|\.\d+)(?:[a-z%]+)?/y},{type:"plain",re:/[A-Za-z_-][\w-]*/y}];function ap(t){let e=Ca(t,um),n="";for(let o=0;o<e.length;o+=1){let r=e[o];if(r.type==="plain"&&/^[A-Za-z_-][\w-]*$/.test(r.value)){let a=o+1;for(;a<e.length&&e[a].value.trim()==="";)a+=1;let l=e[a];l&&l.value.replace(/^\s*/,"").startsWith(":")&&(n===""||n==="{"||n==="}"||n===";"||n===",")&&(r.type="property")}let s=r.value.replace(/\s+$/,"");s&&(n=s[s.length-1])}return e}var fm=[{type:"tag",re:/<\/?\s*[A-Za-z][\w:-]*/y},{type:"string",re:/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'/y},{type:"attr",re:/[A-Za-z_:@][\w:.-]*(?=\s*=)/y},{type:"attr",re:/[A-Za-z_:@][\w:.-]*/y},{type:"tag",re:/\/?>/y}];function gm(t){let e=[],n=(s,a)=>{a&&e.push({type:s,value:a})},o=t.length,r=0;for(;r<o;){if(t.startsWith("<!--",r)){let a=t.indexOf("-->",r+4),l=a===-1?o:a+3;n("comment",t.slice(r,l)),r=l;continue}if(t[r]==="<"&&t[r+1]==="!"){let a=t.indexOf(">",r),l=a===-1?o:a+1;n("tag",t.slice(r,l)),r=l;continue}if(t[r]==="<"&&/[A-Za-z/]/.test(t[r+1]||"")){let a=t.indexOf(">",r),l=a===-1?o:a+1,p=t.slice(r,l);for(let c of Ca(p,fm))e.push(c);r=l;let d=/^<\s*(script|style)\b/i.exec(p);if(d&&!/\/>\s*$/.test(p)){let c=d[1].toLowerCase(),w=new RegExp("</\\s*"+c+"\\s*>","i").exec(t.slice(r)),f=w?r+w.index:o,v=t.slice(r,f),C=c==="script"?sp(v):ap(v);for(let P of C)e.push(P);r=f}continue}let s=t.indexOf("<",r);if(s===r)n("plain",t[r]),r+=1;else{let a=s===-1?o:s;n("plain",t.slice(r,a)),r=a}}return e}function mm(t,e){switch(e){case"html":return gm(t);case"css":return ap(t);case"js":return sp(t);case"json":return pm(t)}}function hm(t){let e=Uc(),n=m("span","persona-code-line"),o=(r,s)=>{if(!s)return;let a=sm[r];if(a){let l=m("span",a);l.textContent=s,n.appendChild(l)}else n.appendChild(document.createTextNode(s))};for(let r of t){let s=r.value.split(`
22
28
  `);for(let a=0;a<s.length;a+=1)a>0&&(e.appendChild(n),e.appendChild(document.createTextNode(`
23
- `)),n=m("span","persona-code-line")),o(r.type,s[a])}return n.childNodes.length>0?e.appendChild(n):e.lastChild||e.appendChild(n),e}function Qd(t,e,n){let o=t.length<=zh?jh(e,n):null,r=o?Yh(t,o):[{type:"plain",value:t}];return Zh(r)}var Rt={idle:"Online",connecting:"Connecting\u2026",connected:"Streaming\u2026",error:"Offline",paused:"Connection lost\u2026",resuming:"Reconnecting\u2026"},Ut=1e5,oo=Ut+1;function lr(t){let{items:e,onSelect:n,anchor:o,position:r="bottom-left",portal:s}=t,a=m("div","persona-dropdown-menu persona-hidden");a.setAttribute("role","menu"),a.setAttribute("data-persona-theme-zone","dropdown"),s?(a.style.position="fixed",a.style.zIndex=String(oo)):(a.style.position="absolute",a.style.top="100%",a.style.marginTop="4px",r==="bottom-right"?a.style.right="0":a.style.left="0");for(let f of e){if(f.dividerBefore){let P=document.createElement("hr");a.appendChild(P)}let v=document.createElement("button");if(v.type="button",v.setAttribute("role","menuitem"),v.setAttribute("data-dropdown-item-id",f.id),f.destructive&&v.setAttribute("data-destructive",""),f.icon){let P=ae(f.icon,16,"currentColor",1.5);P&&v.appendChild(P)}let x=document.createElement("span");x.textContent=f.label,v.appendChild(x),v.addEventListener("click",P=>{P.stopPropagation(),c(),n(f.id)}),a.appendChild(v)}let l=null;function p(){if(!s)return;let f=o.getBoundingClientRect();a.style.top=`${f.bottom+4}px`,r==="bottom-right"?(a.style.right=`${window.innerWidth-f.right}px`,a.style.left="auto"):(a.style.left=`${f.left}px`,a.style.right="auto")}function d(){p(),a.classList.remove("persona-hidden"),requestAnimationFrame(()=>{let f=v=>{!a.contains(v.target)&&!o.contains(v.target)&&c()};document.addEventListener("click",f,!0),l=()=>document.removeEventListener("click",f,!0)})}function c(){a.classList.add("persona-hidden"),l?.(),l=null}function u(){a.classList.contains("persona-hidden")?d():c()}function w(){c(),a.remove()}return s&&s.appendChild(a),{element:a,show:d,hide:c,toggle:u,destroy:w}}function Wt(t){let{icon:e,label:n,size:o,strokeWidth:r,className:s,onClick:a,aria:l}=t,p=m("button","persona-icon-btn"+(s?" "+s:""));p.type="button",p.setAttribute("aria-label",n),p.title=n;let d=ae(e,o??16,"currentColor",r??2);if(d&&p.appendChild(d),a&&p.addEventListener("click",a),l)for(let[c,u]of Object.entries(l))p.setAttribute(c,u);return p}function Bo(t){let{icon:e,label:n,variant:o="default",size:r="sm",iconSize:s,className:a,onClick:l,aria:p}=t,d="persona-label-btn";o!=="default"&&(d+=" persona-label-btn--"+o),d+=" persona-label-btn--"+r,a&&(d+=" "+a);let c=m("button",d);if(c.type="button",c.setAttribute("aria-label",n),e){let w=ae(e,s??14,"currentColor",2);w&&c.appendChild(w)}let u=m("span");if(u.textContent=n,c.appendChild(u),l&&c.addEventListener("click",l),p)for(let[w,f]of Object.entries(p))c.setAttribute(w,f);return c}function va(t){let{items:e,selectedId:n,onSelect:o,className:r}=t,s=m("div","persona-toggle-group"+(r?" "+r:""));s.setAttribute("role","group");let a=n,l=[];function p(){for(let c of l)c.btn.setAttribute("aria-pressed",c.id===a?"true":"false")}for(let c of e){let u;c.icon?u=Wt({icon:c.icon,label:c.label,className:c.className,onClick:()=>{a=c.id,p(),o(c.id)}}):(u=m("button","persona-icon-btn"+(c.className?" "+c.className:"")),u.type="button",u.setAttribute("aria-label",c.label),u.title=c.label,u.textContent=c.label,u.addEventListener("click",()=>{a=c.id,p(),o(c.id)})),u.setAttribute("aria-pressed",c.id===a?"true":"false"),l.push({id:c.id,btn:u}),s.appendChild(u)}function d(c){a=c,p()}return{element:s,setSelected:d}}function Jd(t){let{label:e,icon:n="chevron-down",menuItems:o,onSelect:r,position:s="bottom-left",portal:a,className:l,hover:p}=t,d=m("div","persona-combo-btn"+(l?" "+l:""));d.style.position="relative",d.style.display="inline-flex",d.style.alignItems="center",d.style.cursor="pointer",d.setAttribute("role","button"),d.setAttribute("tabindex","0"),d.setAttribute("aria-haspopup","true"),d.setAttribute("aria-expanded","false"),d.setAttribute("aria-label",e);let c=m("span","persona-combo-btn-label");c.textContent=e,d.appendChild(c);let u=ae(n,14,"currentColor",2);u&&(u.style.marginLeft="4px",u.style.opacity="0.6",d.appendChild(u)),p&&(d.style.borderRadius=p.borderRadius??"10px",d.style.padding=p.padding??"6px 4px 6px 12px",d.style.border="1px solid transparent",d.style.transition="background-color 0.15s ease, border-color 0.15s ease",d.addEventListener("mouseenter",()=>{d.style.backgroundColor=p.background??"",d.style.borderColor=p.border??""}),d.addEventListener("mouseleave",()=>{d.style.backgroundColor="",d.style.borderColor="transparent"}));let w=lr({items:o,onSelect:f=>{d.setAttribute("aria-expanded","false"),r(f)},anchor:d,position:s,portal:a});return a||d.appendChild(w.element),d.addEventListener("click",f=>{f.stopPropagation();let v=!w.element.classList.contains("persona-hidden");d.setAttribute("aria-expanded",v?"false":"true"),w.toggle()}),d.addEventListener("keydown",f=>{(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),d.click())}),{element:d,setLabel:f=>{c.textContent=f,d.setAttribute("aria-label",f)},open:()=>{d.setAttribute("aria-expanded","true"),w.show()},close:()=>{d.setAttribute("aria-expanded","false"),w.hide()},toggle:()=>{let f=!w.element.classList.contains("persona-hidden");d.setAttribute("aria-expanded",f?"false":"true"),w.toggle()},destroy:()=>{w.destroy(),d.remove()}}}var wa="persona-artifact-custom-action-btn";function cr(t,e){let n=e?.documentChrome??!1,o;if(typeof t.icon=="function"){if(t.showLabel){let r="persona-label-btn persona-label-btn--sm "+wa+(n?" persona-artifact-doc-copy-btn":"");o=m("button",r)}else{let r="persona-icon-btn "+wa+(n?" persona-artifact-doc-icon-btn":"");o=m("button",r)}o.type="button",o.setAttribute("aria-label",t.label),o.title=t.label;try{let r=t.icon();r&&o.appendChild(r)}catch{}if(t.showLabel){let r=m("span");r.textContent=t.label,o.appendChild(r)}}else t.showLabel||!t.icon?o=Bo({icon:t.icon,label:t.label,className:wa+(n?" persona-artifact-doc-copy-btn":"")}):o=Wt({icon:t.icon,label:t.label,className:wa+(n?" persona-artifact-doc-icon-btn":"")});return e?.onClick&&o.addEventListener("click",e.onClick),o}function ns(t){if(!t)return null;let e={artifactId:t.id,title:t.title??"",artifactType:t.artifactType};return t.artifactType==="markdown"?(e.markdown=t.markdown??"",t.file&&(e.file=t.file)):e.jsonPayload=JSON.stringify({component:t.component,props:t.props},null,2),e}function Yd(t,e){let n=t.file&&typeof t.file=="object"&&!Array.isArray(t.file)?t.file:void 0,o=typeof t.title=="string"&&t.title?t.title:"Untitled artifact",r=n?Tn(n.path):o,s=typeof t.artifactId=="string"?t.artifactId:"",a=t.status==="streaming"?"streaming":"complete",l=typeof t.artifactType=="string"?t.artifactType:"markdown",p=n?to(n):l==="component"?"Component":"Document",d=document.createElement("div");d.className="persona-artifact-card persona-flex persona-w-full persona-max-w-full persona-items-center persona-gap-3 persona-px-4 persona-py-3",d.tabIndex=0,d.setAttribute("role","button"),d.setAttribute("aria-label",`Open ${r} in artifact panel`),s&&d.setAttribute("data-open-artifact",s);let c=document.createElement("div");c.className="persona-flex persona-h-10 persona-w-10 persona-flex-shrink-0 persona-items-center persona-justify-center persona-rounded-lg",c.style.border="1px solid var(--persona-border, #e5e7eb)",c.style.color="var(--persona-muted, #9ca3af)",c.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"/><polyline points="14 2 14 8 20 8"/></svg>';let u=document.createElement("div");u.className="persona-min-w-0 persona-flex-1 persona-flex persona-flex-col persona-gap-0.5";let w=document.createElement("div");w.className="persona-truncate persona-text-sm persona-font-medium",w.style.color="var(--persona-text, #1f2937)",w.textContent=r;let f=document.createElement("div");if(f.className="persona-text-xs persona-flex persona-items-center persona-gap-1.5",f.style.color="var(--persona-muted, #9ca3af)",a==="streaming"){let v=e?.config?.features?.artifacts,x={id:s,artifactType:l==="component"?"component":"markdown",title:o,status:"streaming",...typeof t.markdown=="string"?{markdown:t.markdown}:{},...n?{file:n}:{}},P=ir(x,v,"card");Wo(f,P,v)}else s&&ar(s),f.textContent=p;if(u.append(w,f),d.append(c,u),a==="complete"){let v=e?.config?.features?.artifacts?.cardActions;if(v&&v.length>0){let P={artifactId:s||null,title:r,artifactType:l,markdown:typeof t.markdown=="string"?t.markdown:void 0,file:n};for(let W of v)try{if(W.visible===void 0||W.visible(P)){let T=cr(W);T.setAttribute("data-artifact-custom-action",W.id),T.className=`${T.className} persona-flex-shrink-0`,d.append(T)}}catch{}}let x=Bo({label:"Download",className:"persona-flex-shrink-0"});x.title=`Download ${r}`,x.setAttribute("data-download-artifact",s),d.append(x)}return d}var xa=(t,e)=>{let n=e?.config?.features?.artifacts?.renderCard;if(n){let o=typeof t.title=="string"&&t.title?t.title:"Untitled artifact",r=typeof t.artifactId=="string"?t.artifactId:"",s=t.status==="streaming"?"streaming":"complete",a=typeof t.artifactType=="string"?t.artifactType:"markdown",l=n({artifact:{artifactId:r,title:o,artifactType:a,status:s},config:e.config,defaultRenderer:()=>Yd(t,e)});if(l)return l}return Yd(t,e)};var ro=new WeakMap;function Ki(t,e,n){if(e.length===0)return;let o=new Map(e.map(r=>[r.id,r]));t.querySelectorAll("[data-artifact-inline]").forEach(r=>{let s=ro.get(r);if(!s)return;let a=o.get(r.getAttribute("data-artifact-inline")??"");a&&s(a,n)})}function op(t){return ro.has(t)}function ey(t){let e=typeof t.artifactId=="string"?t.artifactId:"",n=typeof t.title=="string"&&t.title?t.title:void 0,o=t.status==="streaming"?"streaming":"complete";if(t.artifactType==="component"){let s=t.componentProps,a=s&&typeof s=="object"&&!Array.isArray(s)?s:{};return{id:e,artifactType:"component",title:n,status:o,component:typeof t.component=="string"?t.component:"",props:a}}let r=t.file&&typeof t.file=="object"&&!Array.isArray(t.file)?t.file:void 0;return{id:e,artifactType:"markdown",title:n,status:o,markdown:typeof t.markdown=="string"?t.markdown:"",...r?{file:r}:{}}}function Zd(t){let e=t.artifactType==="markdown"?t.file:void 0,n=e?Tn(e.path):t.title&&t.title.trim()?t.title:"Untitled artifact",o=e?to(e):t.artifactType==="component"?"Component":"Document";return{title:n,typeLabel:o}}function ty(t){let e={artifactId:t.id,title:t.title??"",status:t.status,artifactType:t.artifactType};return t.artifactType==="markdown"&&(typeof t.markdown=="string"&&(e.markdown=t.markdown),t.file&&(e.file=t.file)),e}var ep=180,ny=240,oy=.8,ry=300,sy=500,ay="cubic-bezier(0.2, 0, 0, 1)",tp=240,iy=.35;function ly(t,e,n){let{swap:o,onSettled:r}=n,s=!1;try{s=typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{s=!1}if(!e||!t.isConnected||s||typeof t.animate!="function"){o(),r();return}t.style.height=`${e}px`,t.style.overflow="hidden";let a=[];for(let l of Array.from(t.children))l instanceof HTMLElement&&a.push(l.animate([{opacity:1},{opacity:0}],{duration:ep,easing:"ease-out",fill:"forwards"}));window.setTimeout(()=>{for(let W of a)W.cancel();o();let l=()=>{t.style.removeProperty("height"),t.style.removeProperty("overflow")};if(!t.isConnected){l(),r();return}t.style.height="auto";let p=t.getBoundingClientRect().height;if(t.style.height=`${e}px`,!p||Math.abs(p-e)<1){l(),r();return}let d=Math.abs(e-p),c=Math.round(Math.min(sy,Math.max(ry,ny+d*oy))),u=Math.round(c*iy),w=t.firstElementChild instanceof HTMLElement?t.firstElementChild:null,f=w?w.animate([{opacity:0},{opacity:1}],{duration:tp,delay:u,easing:"ease-out",fill:"backwards"}):null,v=t.animate([{height:`${e}px`},{height:`${p}px`}],{duration:c,easing:ay});t.style.height=`${p}px`;let x=!1,P=()=>{x||(x=!0,l(),r())};Promise.allSettled([v.finished,f?.finished].filter(Boolean)).then(P),window.setTimeout(P,Math.max(c,u+tp)+120)},ep)}function cy(t){let e=t?.inlineChrome;if(e===!1)return{chromeEnabled:!1,showCopy:!1,showExpand:!1,showViewToggle:!1};let n=typeof e=="object"?e:void 0;return{chromeEnabled:!0,showCopy:n?.showCopy!==!1,showExpand:n?.showExpand!==!1,showViewToggle:n?.showViewToggle!==!1}}var os="--persona-artifact-inline-body-height";function dy(t){let e=t?.inlineBody,n=e?.streamingView==="status"?"status":"source",o=e?.viewMode==="source"?"source":"rendered",r=320,s=320,a=e?.height;typeof a=="number"||a==="auto"?(r=a,s=a):a&&typeof a=="object"&&(r=a.streaming??320,s=a.complete??320);let l=e?.overflow==="clip"?"clip":"scroll",p=l==="clip"?!1:e?.followOutput!==!1,d,c,u=e?.fadeMask;u===!0?(d=!0,c=!0):u===!1?(d=!1,c=!1):u&&typeof u=="object"?(d=u.top===!0,c=u.bottom===!0):l==="clip"?(d=!1,c=!0):(d=!0,c=!0);let w=e?.transition==="none"?"none":"auto",f=e?.completeDisplay==="card"?"card":"inline";return{streamingView:n,viewMode:o,streamingHeight:r,completeHeight:s,followOutput:p,overflow:l,fadeTop:d,fadeBottom:c,transition:w,completeDisplay:f}}function np(t,e){let n=ey(t),o=e.config?.features?.artifacts,{chromeEnabled:r,showCopy:s,showExpand:a,showViewToggle:l}=cy(o),p=o?.inlineActions??[],d=dy(o),c=d.completeDisplay==="card",u=null,w=n,f=m("div","persona-artifact-inline persona-w-full persona-max-w-full");f.setAttribute("data-persona-theme-zone","artifact-inline"),n.id&&f.setAttribute("data-artifact-inline",n.id);let v=Y=>xa(ty(Y),e),x=Y=>{f.classList.add("persona-artifact-inline--card"),f.style.removeProperty(os),f.replaceChildren(v(Y)),ro.set(f,le=>{f.replaceChildren(v(le))})};if(c&&n.status==="complete")return x(n),f;let P=Ca(n,{config:e.config,bodyLayout:d,resolveViewMode:()=>u??d.viewMode}),W=m("div","persona-artifact-inline-body");W.appendChild(P.el);let T=Y=>{let le=Y.status!=="complete",Z=le?d.streamingHeight:d.completeHeight,be=typeof Z=="number";be?f.style.setProperty(os,`${Z}px`):f.style.removeProperty(os);let ve=!!P.el.querySelector(".persona-code-pre"),fe=!!P.el.querySelector("iframe, .persona-artifact-source-window--fixed, .persona-artifact-status-view");W.classList.toggle("persona-artifact-content-flush",ve),W.classList.toggle("persona-artifact-inline-body--sized",be&&fe),W.classList.toggle("persona-artifact-inline-body--cap",!le&&!fe&&typeof d.completeHeight=="number")},I=n.status,H=(Y,le)=>{I!=="complete"&&Y.status==="complete"?(typeof d.completeHeight=="number"?f.style.setProperty(os,`${d.completeHeight}px`):f.style.removeProperty(os),sp(W,le?.suppressTransition?"none":d.transition,Y.id,()=>{P.update(Y),T(Y)})):P.update(Y),T(Y),I=Y.status};T(n);let q=d.overflow==="clip"&&a&&!!n.id;if(q&&(W.setAttribute("data-expand-artifact-inline",n.id),W.setAttribute("role","button"),W.setAttribute("tabindex","0"),W.classList.add("persona-cursor-pointer"),W.setAttribute("aria-label",`Open ${Zd(n).title} in panel`)),!r)return f.appendChild(W),ro.set(f,H),f;let U=m("div","persona-artifact-inline-chrome");U.setAttribute("data-persona-theme-zone","artifact-inline-chrome");let $=m("div","persona-artifact-inline-chrome-lead"),C=m("span","persona-flex persona-items-center persona-flex-shrink-0"),j=ae("file-text",16,"currentColor",2);j&&C.appendChild(j);let J=m("span","persona-artifact-inline-title persona-truncate persona-min-w-0"),D=m("span","persona-artifact-inline-type");$.append(C,J,D);let _=m("div","persona-artifact-inline-chrome-actions"),ce=m("span","persona-flex persona-items-center persona-gap-1"),he=()=>u??d.viewMode,Me=l?va({items:[{id:"rendered",icon:"eye",label:"Rendered view",className:"persona-artifact-doc-icon-btn persona-artifact-view-btn"},{id:"source",icon:"code-xml",label:"Source",className:"persona-artifact-doc-icon-btn persona-artifact-code-btn"}],selectedId:he(),className:"persona-artifact-toggle-group persona-flex-shrink-0",onSelect:Y=>{let le=Y==="source"?"source":"rendered";le!==he()&&(u=le,P.update(w),T(w))}}):null,Ce=s?Wt({icon:"copy",label:"Copy",className:"persona-artifact-doc-icon-btn persona-flex-shrink-0"}):null;Ce&&n.id&&Ce.setAttribute("data-copy-artifact",n.id);let te=a?Wt({icon:"maximize",label:"Open in panel",className:"persona-artifact-doc-icon-btn persona-flex-shrink-0"}):null;te&&n.id&&te.setAttribute("data-expand-artifact-inline",n.id),_.appendChild(ce),Me&&_.appendChild(Me.element),Ce&&_.appendChild(Ce),te&&_.appendChild(te),U.append($,_),f.append(U,W);let ge=Y=>{let{title:le,typeLabel:Z}=Zd(Y);J.textContent=le,J.title=le,q&&W.setAttribute("aria-label",`Open ${le} in panel`);let be=Y.status!=="complete";if(be){D.classList.contains("persona-artifact-inline-status")||(D.className="persona-artifact-inline-status",D.removeAttribute("data-preserve-animation"),D.replaceChildren());let ve=ir(Y,o,"inline-chrome");Wo(D,ve,o)}else ar(Y.id),D.className="persona-artifact-inline-type",D.removeAttribute("data-preserve-animation"),D.replaceChildren(),D.textContent=Z;if(Ce&&Ce.classList.toggle("persona-hidden",be),Me){let ve=Y.artifactType==="markdown"?Y.file:void 0,fe=!1;if(!be&&ve&&d.viewMode!=="source"){let Te=ts(ve);Te==="markdown"?fe=!0:(Te==="html"||Te==="svg")&&(fe=o?.filePreview?.enabled!==!1)}Me.element.classList.toggle("persona-hidden",!fe),Me.setSelected(he())}if(ce.replaceChildren(),!be&&p.length>0){let ve=ns(Y);if(ve)for(let fe of p)try{if(fe.visible===void 0||fe.visible(ve)){let Te=cr(fe,{documentChrome:!0});Te.setAttribute("data-artifact-custom-action",fe.id),Te.classList.add("persona-flex-shrink-0"),ce.appendChild(Te)}}catch{}}};return ge(n),ro.set(f,(Y,le)=>{if(c&&I!=="complete"&&Y.status==="complete"){let Z=f.isConnected?f.getBoundingClientRect().height:0;I="complete";let be=Y,ve=!1,fe=Te=>{be=Te,ve=!0};ro.set(f,fe),ly(f,Z,{swap:()=>{x(be),ve=!1,ro.set(f,fe)},onSettled:()=>{ve?x(be):ro.set(f,Te=>{f.replaceChildren(v(Te))})}});return}(Y.status!=="complete"||Y.id!==w.id)&&(u=null),w=Y,H(Y,le),ge(Y)}),f}var rp=(t,e)=>{let n=e?.config?.features?.artifacts?.renderInline;if(n){let o=typeof t.title=="string"&&t.title?t.title:"Untitled artifact",r=typeof t.artifactId=="string"?t.artifactId:"",s=t.status==="streaming"?"streaming":"complete",a=typeof t.artifactType=="string"?t.artifactType:"markdown",l=n({artifact:{artifactId:r,title:o,artifactType:a,status:s},config:e.config,defaultRenderer:()=>np(t,e)});if(l)return l}return np(t,e)};var Gi=class{constructor(){this.components=new Map;this.options=new Map}register(e,n,o){this.components.has(e)&&console.warn(`[ComponentRegistry] Component "${e}" is already registered. Overwriting.`),this.components.set(e,n),o?this.options.set(e,o):this.options.delete(e)}unregister(e){this.components.delete(e),this.options.delete(e)}get(e){return this.components.get(e)}has(e){return this.components.has(e)}getOptions(e){return this.options.get(e)}getAllNames(){return Array.from(this.components.keys())}clear(){this.components.clear(),this.options.clear()}registerAll(e){Object.entries(e).forEach(([n,o])=>{this.register(n,o)})}},Fn=new Gi;Fn.register("PersonaArtifactCard",xa,{bubbleChrome:!1});Fn.register("PersonaArtifactInline",rp,{bubbleChrome:!1});function rs(t){if(!t)return"";if(t.artifactType==="markdown"){let e=t.markdown??"";return t.file?ha(e):e}return JSON.stringify({component:t.component,props:t.props},null,2)}var Xi=!1;function py(t){return"persona-artifact-vt-"+((t||"artifact").replace(/[^A-Za-z0-9_-]/g,"-").replace(/^-+/,"")||"artifact")}function sp(t,e,n,o){let r=typeof document<"u"?document.startViewTransition:void 0,s=!1;try{s=typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{s=!1}if(e!=="auto"||!t||typeof r!="function"||Xi||s){o();return}Xi=!0;let a=py(n);t.style.setProperty("view-transition-name",a);let l=()=>{Xi=!1,t.style.removeProperty("view-transition-name")};try{r.call(document,()=>{o()}).finished.then(l,l)}catch{l(),o()}}var uy="persona-font-mono persona-text-xs persona-whitespace-pre-wrap persona-break-words persona-text-persona-primary",fy="persona-text-sm persona-leading-relaxed persona-markdown-bubble";function gy(t){let e=m("div","persona-rounded-lg persona-border persona-border-persona-border persona-p-3 persona-text-persona-primary"),n=m("div","persona-font-semibold persona-text-sm persona-mb-2");n.textContent=t.component?`Component: ${t.component}`:"Component";let o=m("pre","persona-font-mono persona-text-xs persona-whitespace-pre-wrap persona-overflow-x-auto");return o.textContent=JSON.stringify(t.props??{},null,2),e.appendChild(n),e.appendChild(o),e}function my(t){if(t===!1)return{enabled:!1,delayMs:0,minVisibleMs:0,timeoutMs:0,injectReadySignal:!1,label:"Starting preview...",labelDelayMs:2e3};let e=t&&typeof t=="object"?t:void 0;return{enabled:!0,delayMs:e?.delayMs??200,minVisibleMs:e?.minVisibleMs??300,timeoutMs:e?.timeoutMs??8e3,injectReadySignal:e?.injectReadySignal!==!1,label:e?.label===!1?!1:e?.label??"Starting preview...",labelDelayMs:e?.labelDelayMs??2e3,renderIndicator:e?.renderIndicator}}var hy=220;function yy(){try{if(typeof crypto<"u"&&crypto.getRandomValues){let t=new Uint32Array(2);return crypto.getRandomValues(t),t[0].toString(36)+t[1].toString(36)}}catch{}return Math.random().toString(36).slice(2)+Math.random().toString(36).slice(2)}function by(t){return`
24
- <script>(function(){var d=false;var t=`+JSON.stringify(t)+";function r(){if(d)return;d=true;try{parent.postMessage({persona:'artifact-preview-ready',token:t},'*');}catch(e){}}function s(){if(typeof requestAnimationFrame==='function'){requestAnimationFrame(function(){requestAnimationFrame(r);});}setTimeout(r,150);}if(document.readyState==='complete'){s();}else{window.addEventListener('load',s);}})();</script>"}function vy(t,e,n){let o=m("div","persona-artifact-frame-loading");if(n.renderIndicator)try{let a=n.renderIndicator({artifactId:t,config:e});if(a)return o.appendChild(a),{el:o,revealLabel:()=>{}}}catch{}let r=m("div","persona-artifact-frame-loading-indicator");r.appendChild(zd());let s=null;return n.label!==!1&&(s=m("div","persona-artifact-frame-loading-text"),s.textContent=n.label,r.appendChild(s)),o.appendChild(r),{el:o,revealLabel:()=>{s&&s.classList.add("persona-artifact-frame-loading-text--visible")}}}function wy(t,e,n,o,r,s){let a=null,l=0,p=!1,d=new Set,c=()=>{d.forEach(I=>clearTimeout(I)),d.clear()},u=(I,H)=>{let q=setTimeout(()=>{d.delete(q),I()},H);d.add(q)},w=()=>{a&&a.parentElement&&a.remove(),a=null},f=()=>{if(a||p)return;let I=vy(r,s,o);a=I.el,t.appendChild(a),l=Date.now(),o.label!==!1&&u(I.revealLabel,o.labelDelayMs)},v=()=>{a&&(a.classList.add("persona-artifact-frame-loading--out"),u(w,hy))},x=()=>{n!==null?typeof window<"u"&&window.removeEventListener("message",W):e.removeEventListener("load",T)},P=()=>{if(p||(p=!0,x(),c(),!a))return;let I=Math.max(0,o.minVisibleMs-(Date.now()-l));I>0?u(v,I):v()};function W(I){if(n===null)return;let H=I.data;!H||H.persona!=="artifact-preview-ready"||H.token!==n||I.source===e.contentWindow&&P()}function T(){let I=H=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>H()):setTimeout(H,0)};I(()=>I(()=>P()))}return u(f,o.delayMs),u(P,o.timeoutMs),n!==null?typeof window<"u"&&window.addEventListener("message",W):e.addEventListener("load",T),()=>{p=!0,c(),x(),w()}}function Ca(t,e){let{config:n}=e,o=e.registry??Fn,r=e.bodyLayout,s=n.markdown?Gs(n.markdown):null,a=Xs(n.sanitize),l=t,p=!1,d=te=>{let ge=Wn()!==null;s&&!ge&&!p&&(p=!0,Ks(()=>Ce(l)));let Y=s?s(te):Jn(te);return s&&ge&&a?a(Y):Y},c=m("div","persona-artifact-preview-body"),u=null,w=null,f=null,v=()=>{f&&(f(),f=null),u=null,w=null},x=null,P=null,W=null,T=!1,I=()=>{x=null,P=null,W=null,T=!1},H=null,q=null,U=()=>{H=null,q=null},$=40,C=0,j=te=>typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>te()):setTimeout(te,0),J=te=>te.scrollHeight-te.clientHeight-te.scrollTop<=$,D=te=>{if(!r)return;let ge=te.scrollHeight-te.clientHeight>1,Y=te.scrollHeight-te.clientHeight-te.scrollTop;te.classList.toggle("persona-artifact-fade-top",r.fadeTop&&ge&&te.scrollTop>1),te.classList.toggle("persona-artifact-fade-bottom",r.fadeBottom&&ge&&Y>1)},_=te=>{C||(C=j(()=>{C=0,te.scrollTop=te.scrollHeight,D(te)}))},ce=(te,ge,Y,le)=>{let Z=!!r,be=Y.id+"|"+(Z?"w":"p");if(!x||W!==be||x.parentElement!==c){v(),U(),c.replaceChildren();let Te=m("pre",uy+" persona-code-pre"),Ae=m("code","persona-code");if(Te.appendChild(Ae),Z){let ze=m("div","persona-artifact-source-window");if(ze.appendChild(Te),c.appendChild(ze),!(r?.overflow==="clip")&&typeof ze.addEventListener=="function"){let Pe=()=>ze.scrollHeight-ze.clientHeight>1;ze.addEventListener("scroll",()=>{J(ze)&&(T=!1),D(ze)},{passive:!0}),ze.addEventListener("wheel",We=>{Pe()&&We.deltaY<0&&(T=!0)},{passive:!0}),ze.addEventListener("touchmove",()=>{Pe()&&(T=!0)},{passive:!0})}x=ze}else c.appendChild(Te),x=Te;P=Ae,W=be}let ve=Z?x:null;ve&&(ve.classList.toggle("persona-artifact-source-window--fixed",le),ve.classList.toggle("persona-artifact-source-window--clip",le&&r?.overflow==="clip"));let fe=ve?J(ve):!0;if(P.replaceChildren(Qd(te,ge?.language,ge?.path)),ve){let Te=Y.status!=="complete";le&&Te&&r?.followOutput&&!T&&fe?_(ve):Te||(T=!1),D(ve)}},he=te=>{v(),I(),U(),c.replaceChildren();let ge=m("div",fy);ge.innerHTML=d(te),c.appendChild(ge)},Me=te=>{let ge=te.id,Y=n.features?.artifacts,le=ir(te,Y,"status-body");if(H&&q===ge&&H.parentElement===c){let ve=H.querySelector(".persona-artifact-status-view-text");ve&&Wo(ve,le,Y);return}v(),I(),c.replaceChildren();let Z=m("div","persona-artifact-status-view"),be=m("div","persona-artifact-status-view-text");Wo(be,le,Y),Z.appendChild(be),c.appendChild(Z),H=Z,q=ge},Ce=te=>{l=te;let ge=e.resolveViewMode?.(te)??r?.viewMode??"rendered",Y=te.artifactType==="markdown"?te.file:void 0,le=te.status!=="complete";le||ar(te.id);let Z=le?r?.streamingHeight:r?.completeHeight,be=!!r&&typeof Z=="number";if(r?.streamingView==="status"&&le){Me(te);return}if(Y){let fe=ha(te.markdown??""),Te=ts(Y),Ae=n.features?.artifacts?.filePreview?.enabled!==!1;if(!le&&ge==="rendered"&&Ae&&(Te==="html"||Te==="svg")){let Ne=te.id+"\0"+fe;if(u&&w===Ne&&u.parentElement===c)return;I(),U(),v(),c.replaceChildren();let Pe=n.features?.artifacts?.filePreview,We=Pe?.iframeSandbox??"allow-scripts";!Pe?.dangerouslyAllowSameOrigin&&We.includes("allow-same-origin")&&(console.warn("[AgentWidget] Stripped allow-same-origin from filePreview.iframeSandbox: it lets artifact content run with the page origin. Set filePreview.dangerouslyAllowSameOrigin to keep it."),We=We.split(/\s+/).filter(Et=>Et&&Et!=="allow-same-origin").join(" "));let at=my(Pe?.loading),Oe=m("div","persona-artifact-frame"),Xe=m("iframe","persona-artifact-iframe");Xe.setAttribute("sandbox",We),Xe.setAttribute("data-artifact-id",te.id);let sn=null;at.enabled&&at.injectReadySignal?(sn=yy(),Xe.srcdoc=fe+by(sn)):Xe.srcdoc=fe,Oe.appendChild(Xe),c.appendChild(Oe),at.enabled&&(f=wy(Oe,Xe,sn,at,te.id,n)),u=Oe,w=Ne;return}if(v(),!le&&Te==="markdown"&&ge==="rendered"){he(fe);return}ce(fe,{language:Y.language,path:Y.path},te,be);return}if(te.artifactType==="markdown"){if(ge==="source"){v(),ce(te.markdown??"",void 0,te,be);return}he(te.markdown??"");return}v(),I(),U(),c.replaceChildren();let ve=te.component?o.get(te.component):void 0;if(ve){let Te={message:{id:te.id,role:"assistant",content:"",createdAt:new Date().toISOString()},config:n,updateProps:()=>{}};try{let Ae=ve(te.props??{},Te);if(Ae){c.appendChild(Ae);return}}catch{}}c.appendChild(gy(te))};return Ce(t),{el:c,update(te){Ce(te)}}}import{Idiomorph as xy}from"idiomorph";var Aa=(t,e,n={})=>{let{preserveTypingAnimation:o=!0}=n;xy.morph(t,e.innerHTML,{morphStyle:"innerHTML",callbacks:{beforeNodeMorphed(r,s){if(r instanceof HTMLElement&&o){if(r.classList.contains("persona-animate-typing")||r.hasAttribute("data-preserve-runtime"))return!1;if(r.hasAttribute("data-tool-elapsed"))return s instanceof HTMLElement&&s.getAttribute("data-tool-elapsed")===r.getAttribute("data-tool-elapsed")?!1:void 0;if(r.hasAttribute("data-preserve-animation")){if(s instanceof HTMLElement&&!s.hasAttribute("data-preserve-animation"))return;if(s instanceof HTMLElement&&s.hasAttribute("data-preserve-animation")){let a=r.textContent??"",l=s.textContent??"";if(a!==l)return}return!1}}}}})};var ap=t=>t.replace(/^\n+/,"").replace(/\s+$/,"");var Sa={index:-1,draft:""};function ip(t){let{direction:e,history:n,currentValue:o,atStart:r,state:s}=t,a=s.index!==-1;if(n.length===0)return{handled:!1,state:s};if(e==="up"){if(!a&&!r)return{handled:!1,state:s};if(!a){let l=n.length-1;return{handled:!0,value:n[l],state:{index:l,draft:o}}}if(s.index>0){let l=s.index-1;return{handled:!0,value:n[l],state:{index:l,draft:s.draft}}}return{handled:!0,state:s}}if(!a)return{handled:!1,state:s};if(s.index<n.length-1){let l=s.index+1;return{handled:!0,value:n[l],state:{index:l,draft:s.draft}}}return{handled:!0,value:s.draft,state:{...Sa}}}function lp(t,e){return[t.id,t.role,t.content?.length??0,t.content?.slice(-32)??"",t.streaming?"1":"0",t.voiceProcessing?"1":"0",t.variant??"",t.rawContent?.length??0,t.llmContent?.length??0,t.approval?.status??"",t.toolCall?.status??"",t.toolCall?.name??"",t.toolCall?.chunks?.length??0,t.toolCall?.chunks?.[t.toolCall.chunks.length-1]?.slice(-32)??"",typeof t.toolCall?.args=="string"?t.toolCall.args.length:t.toolCall?.args?JSON.stringify(t.toolCall.args).length:0,t.reasoning?.chunks?.length??0,t.reasoning?.chunks?.[t.reasoning.chunks.length-1]?.length??0,t.reasoning?.chunks?.[t.reasoning.chunks.length-1]?.slice(-32)??"",t.contentParts?.length??0,t.stopReason??"",e].join("\0")}function cp(){return new Map}function dp(t,e,n){let o=t.get(e);return o&&o.fingerprint===n?o.wrapper:null}function pp(t,e,n,o){t.set(e,{fingerprint:n,wrapper:o})}function up(t,e){for(let n of t.keys())e.has(n)||t.delete(n)}function Ta(t=!0){let e=t;return{isFollowing:()=>e,pause:()=>e?(e=!1,!0):!1,resume:()=>e?!1:(e=!0,!0)}}function Mn(t){return Math.max(0,t.scrollHeight-t.clientHeight)}function so(t,e){return Mn(t)-t.scrollTop<=e}function Ma(t){let{following:e,currentScrollTop:n,lastScrollTop:o,nearBottom:r,userScrollThreshold:s,isAutoScrolling:a=!1,pauseOnUpwardScroll:l=!1,pauseWhenAwayFromBottom:p=!0,resumeRequiresDownwardScroll:d=!1}=t,c=n-o;return a||Math.abs(c)<s?{action:"none",delta:c,nextLastScrollTop:n}:!e&&r&&(!d||c>0)?{action:"resume",delta:c,nextLastScrollTop:n}:e&&l&&c<0?{action:"pause",delta:c,nextLastScrollTop:n}:e&&p&&!r?{action:"pause",delta:c,nextLastScrollTop:n}:{action:"none",delta:c,nextLastScrollTop:n}}function Ea(t){let{following:e,deltaY:n,nearBottom:o=!1,resumeWhenNearBottom:r=!1}=t;return e&&n<0?"pause":!e&&r&&n>0&&o?"resume":"none"}function fp(t,e){return!t||t.isCollapsed?!1:e.contains(t.anchorNode)||e.contains(t.focusNode)}function gp(t){let e=Math.max(0,t.anchorOffsetTop-t.topOffset),n=Math.max(0,e+t.viewportHeight-t.contentHeight);return{targetScrollTop:e,spacerHeight:n}}function mp(t){let e=Math.max(0,t.currentContentHeight-t.contentHeightAtAnchor);return Math.max(0,t.initialSpacerHeight-e)}var ss={type:"none",placeholder:"none",speed:120,duration:1800,buffer:"none"},Cy=["pre","code","a","script","style"],ka=t=>({type:t?.type??ss.type,placeholder:t?.placeholder??ss.placeholder,speed:t?.speed??ss.speed,duration:t?.duration??ss.duration,buffer:t?.buffer??ss.buffer}),Ay=[{name:"typewriter",containerClass:"persona-stream-typewriter",wrap:"char",useCaret:!0},{name:"pop-bubble",bubbleClass:"persona-stream-pop",wrap:"none"},{name:"letter-rise",containerClass:"persona-stream-letter-rise",wrap:"char"},{name:"word-fade",containerClass:"persona-stream-word-fade",wrap:"word"}],yp=new Map;for(let t of Ay)yp.set(t.name,t);var dr=(t,e)=>t==="none"?null:e&&Object.prototype.hasOwnProperty.call(e,t)?e[t]??null:yp.get(t)??null,La=(t,e,n,o,r)=>{if(!r)return t;if(n?.bufferContent)return n.bufferContent(t,o);if(!t)return t;if(e==="word"){let s=t.search(/\s(?=\S*$)/);return s<0?"":t.slice(0,s)}if(e==="line"){let s=t.lastIndexOf(`
25
- `);return s<0?"":t.slice(0,s)}return t},Sy=(t,e,n,o)=>{let r=t.createElement("span");return r.className="persona-stream-char",r.id=`stream-c-${n}-${o}`,r.style.setProperty("--char-index",String(o)),r.textContent=e,r},Ty=(t,e,n,o)=>{let r=t.createElement("span");return r.className="persona-stream-word",r.id=`stream-w-${n}-${o}`,r.style.setProperty("--word-index",String(o)),r.textContent=e,r},Qi=/\s/,My=(t,e)=>{let n=t.parentNode;for(;n;){if(n.nodeType===1){let o=n;if(e.has(o.tagName.toLowerCase()))return!0}n=n.parentNode}return!1},Ey=(t,e,n)=>{let o=t.ownerDocument,r=t.parentNode;if(!o||!r)return;let s=t.nodeValue??"";if(!s)return;let a=o.createDocumentFragment(),l=0;for(;l<s.length;)if(Qi.test(s[l])){let p=l;for(;p<s.length&&Qi.test(s[p]);)p+=1;a.appendChild(o.createTextNode(s.slice(l,p))),l=p}else{let p=o.createElement("span");p.className="persona-stream-word-group";let d=l;for(;d<s.length&&!Qi.test(s[d]);)p.appendChild(Sy(o,s[d],e,n.value)),n.value+=1,d+=1;a.appendChild(p),l=d}r.replaceChild(a,t)},ky=(t,e,n)=>{let o=t.ownerDocument,r=t.parentNode;if(!o||!r)return;let s=t.nodeValue??"";if(!s)return;let a=o.createDocumentFragment(),l=s.split(/(\s+)/);for(let p of l)p&&(/^\s+$/.test(p)?a.appendChild(o.createTextNode(p)):(a.appendChild(Ty(o,p,e,n.value)),n.value+=1));r.replaceChild(a,t)},as=(t,e,n,o)=>{if(!t||typeof document>"u")return t;let r=document.createElement("div");r.innerHTML=t;let s=new Set((o?.skipTags??Cy).map(u=>u.toLowerCase())),a=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,null),l=[],p=a.nextNode();for(;p;)My(p,s)||l.push(p),p=a.nextNode();let d={value:o?.startIndex??0},c=e==="char"?Ey:ky;for(let u of l)c(u,n,d);return r.innerHTML},Pa=(t=document)=>{let e=t.createElement("span");return e.className="persona-stream-caret",e.setAttribute("aria-hidden","true"),e.setAttribute("data-preserve-animation","stream-caret"),e},is=(t=document)=>{let e=t.createElement("div");e.className="persona-stream-skeleton",e.setAttribute("data-preserve-animation","stream-skeleton"),e.setAttribute("aria-hidden","true");let n=t.createElement("div");return n.className="persona-stream-skeleton-line",e.appendChild(n),e},hp=new WeakMap,Ly=(t,e)=>{if(!t.styles)return;let n=hp.get(e);if(n||(n=new Set,hp.set(e,n)),n.has(t.name)){let s=t.name.replace(/["\\]/g,"\\$&");if(e.querySelector(`style[data-persona-animation="${s}"]`))return;n.delete(t.name)}n.add(t.name);let r=(e instanceof ShadowRoot?e.ownerDocument:e.ownerDocument??document).createElement("style");r.setAttribute("data-persona-animation",t.name),r.textContent=t.styles,e.appendChild(r)},Ji=new WeakMap,Py=(t,e)=>{if(!t.onAttach)return;let n=Ji.get(e);if(n||(n=new Map,Ji.set(e,n)),n.has(t.name))return;let o=t.onAttach(e);n.set(t.name,o)},bp=t=>{let e=Ji.get(t);if(e){for(let n of e.values())typeof n=="function"&&n();e.clear()}},Ia=(t,e)=>{Ly(t,e),Py(t,e)};function Yi(t,e=Ut){let n=t.style.position,o=t.style.zIndex,r=t.style.isolation,s=getComputedStyle(t),a=s.position==="static"||s.position==="";return a&&(t.style.position="relative"),t.style.zIndex=String(e),t.style.isolation="isolate",()=>{a&&(t.style.position=n),t.style.zIndex=o,t.style.isolation=r}}var ls=0,ao=null;function Zi(t=document){if(ls++,ls===1){let n=t.body,r=(t.defaultView??window).scrollY||t.documentElement.scrollTop;ao={originalOverflow:n.style.overflow,originalPosition:n.style.position,originalTop:n.style.top,originalWidth:n.style.width,scrollY:r},n.style.overflow="hidden",n.style.position="fixed",n.style.top=`-${r}px`,n.style.width="100%"}let e=!1;return()=>{if(!e&&(e=!0,ls=Math.max(0,ls-1),ls===0&&ao)){let n=t.body,o=t.defaultView??window;n.style.overflow=ao.originalOverflow,n.style.position=ao.originalPosition,n.style.top=ao.originalTop,n.style.width=ao.originalWidth,o.scrollTo(0,ao.scrollY),ao=null}}}var cs={side:"right",width:"420px",animate:!0,reveal:"resize",maxHeight:"100dvh"},Ft=t=>(t?.launcher?.mountMode??"floating")==="docked",ds=t=>(t?.launcher?.mountMode??"floating")==="composer-bar",un=t=>{let e=t?.launcher?.dock;return{side:e?.side??cs.side,width:e?.width??cs.width,animate:e?.animate??cs.animate,reveal:e?.reveal??cs.reveal,maxHeight:e?.maxHeight??cs.maxHeight}};var wn={"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"};var Iy="persona-relative persona-ml-auto persona-inline-flex persona-items-center persona-justify-center",Ra=(t,e={})=>{let{showClose:n=!0,wrapperClassName:o=Iy,buttonSize:r,iconSize:s="28px"}=e,a=t?.launcher??{},l=r??a.closeButtonSize??"32px",p=m("div",o),d=a.closeButtonTooltipText??"Close chat",c=a.closeButtonShowTooltip??!0,u=a.closeButtonIconName??"x",w=a.closeButtonIconText??"\xD7",f=!!(a.closeButtonBorderWidth||a.closeButtonBorderColor),v=nt("button",{className:ko("persona-inline-flex persona-items-center persona-justify-center persona-cursor-pointer",!a.closeButtonBackgroundColor&&"hover:persona-bg-gray-100",!f&&"persona-border-none",!a.closeButtonBorderRadius&&"persona-rounded-full"),attrs:{type:"button","aria-label":d},style:{height:l,width:l,display:n?void 0:"none",color:a.closeButtonColor||Gt.actionIconColor,backgroundColor:a.closeButtonBackgroundColor||void 0,border:f?`${a.closeButtonBorderWidth||"0px"} solid ${a.closeButtonBorderColor||"transparent"}`:void 0,borderRadius:a.closeButtonBorderRadius||void 0,paddingLeft:a.closeButtonPaddingX||void 0,paddingRight:a.closeButtonPaddingX||void 0,paddingTop:a.closeButtonPaddingY||void 0,paddingBottom:a.closeButtonPaddingY||void 0}}),x=ae(u,s,"currentColor",1);if(x?(x.style.display="block",v.appendChild(x)):v.textContent=w,p.appendChild(v),c&&d){let P=null,W=()=>{if(P)return;let I=v.ownerDocument,H=I.body;if(!H)return;P=Sn(I,"div","persona-clear-chat-tooltip"),P.textContent=d;let q=Sn(I,"div");q.className="persona-clear-chat-tooltip-arrow",P.appendChild(q);let U=v.getBoundingClientRect();P.style.position="fixed",P.style.zIndex=String(oo),P.style.left=`${U.left+U.width/2}px`,P.style.top=`${U.top-8}px`,P.style.transform="translate(-50%, -100%)",H.appendChild(P)},T=()=>{P&&P.parentNode&&(P.parentNode.removeChild(P),P=null)};p.addEventListener("mouseenter",W),p.addEventListener("mouseleave",T),v.addEventListener("focus",W),v.addEventListener("blur",T),p._cleanupTooltip=()=>{T(),p.removeEventListener("mouseenter",W),p.removeEventListener("mouseleave",T),v.removeEventListener("focus",W),v.removeEventListener("blur",T)}}return{button:v,wrapper:p}},Ry="persona-relative persona-ml-auto persona-clear-chat-button-wrapper",Wa=(t,e={})=>{let{wrapperClassName:n=Ry,buttonSize:o,iconSize:r="20px"}=e,a=(t?.launcher??{}).clearChat??{},l=o??a.size??"32px",p=a.iconName??"refresh-cw",d=a.iconColor??"",c=a.backgroundColor??"",u=a.borderWidth??"",w=a.borderColor??"",f=a.borderRadius??"",v=a.paddingX??"",x=a.paddingY??"",P=a.tooltipText??"Clear chat",W=a.showTooltip??!0,T=m("div",n),I=!!(u||w),H=nt("button",{className:ko("persona-inline-flex persona-items-center persona-justify-center persona-cursor-pointer",!c&&"hover:persona-bg-gray-100",!I&&"persona-border-none",!f&&"persona-rounded-full"),attrs:{type:"button","aria-label":P},style:{height:l,width:l,color:d||Gt.actionIconColor,backgroundColor:c||void 0,border:I?`${u||"0px"} solid ${w||"transparent"}`:void 0,borderRadius:f||void 0,paddingLeft:v||void 0,paddingRight:v||void 0,paddingTop:x||void 0,paddingBottom:x||void 0}}),q=ae(p,r,"currentColor",1);if(q&&(q.style.display="block",H.appendChild(q)),T.appendChild(H),W&&P){let U=null,$=()=>{if(U)return;let j=H.ownerDocument,J=j.body;if(!J)return;U=Sn(j,"div","persona-clear-chat-tooltip"),U.textContent=P;let D=Sn(j,"div");D.className="persona-clear-chat-tooltip-arrow",U.appendChild(D);let _=H.getBoundingClientRect();U.style.position="fixed",U.style.zIndex=String(oo),U.style.left=`${_.left+_.width/2}px`,U.style.top=`${_.top-8}px`,U.style.transform="translate(-50%, -100%)",J.appendChild(U)},C=()=>{U&&U.parentNode&&(U.parentNode.removeChild(U),U=null)};T.addEventListener("mouseenter",$),T.addEventListener("mouseleave",C),H.addEventListener("focus",$),H.addEventListener("blur",C),T._cleanupTooltip=()=>{C(),T.removeEventListener("mouseenter",$),T.removeEventListener("mouseleave",C),H.removeEventListener("focus",$),H.removeEventListener("blur",C)}}return{button:H,wrapper:T}};var Gt={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-action-icon-fg, var(--persona-muted, #9ca3af))"},Ho=t=>{let{config:e,showClose:n=!0}=t,o=nt("div",{className:"persona-widget-header persona-flex persona-items-center persona-gap-3 persona-px-6 persona-py-5",attrs:{"data-persona-theme-zone":"header"},style:{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)))"}}),r=e?.launcher??{},s=r.headerIconSize??"48px",a=r.closeButtonPlacement??"inline",l=r.headerIconHidden??!1,p=r.headerIconName,d=nt("div",{className:"persona-flex persona-items-center persona-justify-center persona-rounded-xl persona-text-xl",style:{height:s,width:s,backgroundColor:"var(--persona-header-icon-bg, var(--persona-primary, #0f0f0f))",color:"var(--persona-header-icon-fg, var(--persona-text-inverse, #ffffff))"}});if(!l)if(p){let q=parseFloat(s)||24,U=ae(p,q*.6,"currentColor",1);U?d.replaceChildren(U):d.textContent=e?.launcher?.agentIconText??"\u{1F4AC}"}else if(e?.launcher?.iconUrl){let q=m("img");q.src=e.launcher.iconUrl,q.alt="",q.className="persona-rounded-xl persona-object-cover",q.style.height=s,q.style.width=s,d.replaceChildren(q)}else d.textContent=e?.launcher?.agentIconText??"\u{1F4AC}";let c=m("div","persona-flex persona-flex-col persona-flex-1 persona-min-w-0"),u=nt("span",{className:"persona-text-base persona-font-semibold",text:e?.launcher?.title??"Chat Assistant",style:{color:Gt.titleColor}}),w=nt("span",{className:"persona-text-xs",text:e?.launcher?.subtitle??"Here to help you get answers fast",style:{color:Gt.subtitleColor}});c.append(u,w),l?o.append(c):o.append(d,c);let f=r.clearChat??{},v=f.enabled??!0,x=f.placement??"inline",P=null,W=null;if(v){let U=Wa(e,{wrapperClassName:x==="top-right"?"persona-absolute persona-top-4 persona-z-50":"persona-relative persona-ml-auto persona-clear-chat-button-wrapper"});P=U.button,W=U.wrapper,x==="top-right"&&(W.style.right="48px"),x==="inline"&&o.appendChild(W)}let T=a==="top-right"?"persona-absolute persona-top-4 persona-right-4 persona-z-50":v&&x==="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",{button:I,wrapper:H}=Ra(e,{showClose:n,wrapperClassName:T});return a!=="top-right"&&o.appendChild(H),{header:o,iconHolder:d,headerTitle:u,headerSubtitle:w,closeButton:I,closeButtonWrapper:H,clearChatButton:P,clearChatButtonWrapper:W}},ps=(t,e,n)=>{let o=n?.launcher??{},r=o.closeButtonPlacement??"inline",s=o.clearChat?.placement??"inline";t.appendChild(e.header),r==="top-right"&&(t.style.position="relative",t.appendChild(e.closeButtonWrapper)),e.clearChatButtonWrapper&&s==="top-right"&&(t.style.position="relative",t.appendChild(e.clearChatButtonWrapper))};var Wy=t=>{let e=Ho({config:t.config,showClose:t.showClose,onClose:t.onClose,onClearChat:t.onClearChat}),n=t.layoutHeaderConfig?.onTitleClick;if(n){let o=e.headerTitle.parentElement;o&&(o.style.cursor="pointer",o.setAttribute("role","button"),o.setAttribute("tabindex","0"),o.addEventListener("click",()=>n()),o.addEventListener("keydown",r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),n())}))}return e};function By(t,e,n){if(e?.length)for(let o of e){let r=m("button","persona-inline-flex persona-items-center persona-justify-center persona-rounded-md persona-border-none persona-bg-transparent persona-p-0 persona-text-persona-muted hover:persona-opacity-80");if(r.type="button",r.setAttribute("aria-label",o.ariaLabel??o.label??o.id),o.icon){let s=ae(o.icon,14,"currentColor",2);s&&r.appendChild(s)}else o.label&&(r.textContent=o.label);if(o.menuItems?.length){let s=m("div","persona-relative");s.appendChild(r);let a=lr({items:o.menuItems,onSelect:l=>n?.(l),anchor:s,position:"bottom-left"});s.appendChild(a.element),r.addEventListener("click",l=>{l.stopPropagation(),a.toggle()}),t.appendChild(s)}else r.addEventListener("click",()=>n?.(o.id)),t.appendChild(r)}}var Hy=t=>{let{config:e,showClose:n=!0,onClose:o,layoutHeaderConfig:r,onHeaderAction:s}=t,a=e?.launcher??{},l=m("div","persona-flex persona-items-center persona-justify-between persona-px-6 persona-py-4");l.setAttribute("data-persona-theme-zone","header"),l.style.backgroundColor="var(--persona-header-bg, var(--persona-surface, #ffffff))",l.style.borderBottomColor="var(--persona-header-border, var(--persona-divider, #f1f5f9))",l.style.boxShadow="var(--persona-header-shadow, none)",l.style.borderBottom="var(--persona-header-border-bottom, 1px solid var(--persona-header-border, var(--persona-divider, #f1f5f9)))";let p=r?.titleMenu,d,c;if(p)d=Jd({label:a.title??"Chat Assistant",menuItems:p.menuItems,onSelect:p.onSelect,hover:p.hover,className:""}).element,d.style.color=Gt.titleColor,c=d.querySelector(".persona-combo-btn-label")??d;else{if(d=m("div","persona-flex persona-min-w-0 persona-flex-1 persona-items-center persona-gap-1"),c=m("span","persona-text-base persona-font-semibold persona-truncate"),c.style.color=Gt.titleColor,c.textContent=a.title??"Chat Assistant",d.appendChild(c),By(d,r?.trailingActions,r?.onAction??s),r?.onTitleClick){d.style.cursor="pointer",d.setAttribute("role","button"),d.setAttribute("tabindex","0");let I=r.onTitleClick;d.addEventListener("click",H=>{H.target.closest("button")||I()}),d.addEventListener("keydown",H=>{(H.key==="Enter"||H.key===" ")&&(H.preventDefault(),I())})}let T=r?.titleRowHover;T&&(d.style.borderRadius=T.borderRadius??"10px",d.style.padding=T.padding??"6px 4px 6px 12px",d.style.margin="-6px 0 -6px -12px",d.style.border="1px solid transparent",d.style.transition="background-color 0.15s ease, border-color 0.15s ease",d.style.width="fit-content",d.style.flex="none",d.addEventListener("mouseenter",()=>{d.style.backgroundColor=T.background??"",d.style.borderColor=T.border??""}),d.addEventListener("mouseleave",()=>{d.style.backgroundColor="",d.style.borderColor="transparent"}))}l.appendChild(d);let u=a.closeButtonSize??"32px",w=m("div",""),f=m("button","persona-inline-flex persona-items-center persona-justify-center persona-rounded-full hover:persona-bg-gray-100 persona-cursor-pointer persona-border-none");f.style.height=u,f.style.width=u,f.type="button",f.setAttribute("aria-label","Close chat"),f.style.display=n?"":"none",f.style.color=a.closeButtonColor||Gt.actionIconColor;let v=a.closeButtonIconName??"x",x=ae(v,"28px","currentColor",1);x?f.appendChild(x):f.textContent="\xD7",o&&f.addEventListener("click",o),w.appendChild(f),l.appendChild(w);let P=m("div");P.style.display="none";let W=m("span");return W.style.display="none",{header:l,iconHolder:P,headerTitle:c,headerSubtitle:W,closeButton:f,closeButtonWrapper:w,clearChatButton:null,clearChatButtonWrapper:null}},vp={default:Wy,minimal:Hy},Dy=t=>vp[t]??vp.default,Ba=(t,e,n)=>{if(e?.render){let a=e.render({config:t,onClose:n?.onClose,onClearChat:n?.onClearChat,trailingActions:e.trailingActions,onAction:e.onAction}),l=m("div");l.style.display="none";let p=m("span"),d=m("span"),c=m("button");c.style.display="none";let u=m("div");return u.style.display="none",{header:a,iconHolder:l,headerTitle:p,headerSubtitle:d,closeButton:c,closeButtonWrapper:u,clearChatButton:null,clearChatButtonWrapper:null}}let o=e?.layout??"default",s=Dy(o)({config:t,showClose:e?.showCloseButton??n?.showClose??!0,onClose:n?.onClose,onClearChat:n?.onClearChat,layoutHeaderConfig:e,onHeaderAction:e?.onAction});return e&&(e.showIcon===!1&&(s.iconHolder.style.display="none"),e.showTitle===!1&&(s.headerTitle.style.display="none"),e.showSubtitle===!1&&(s.headerSubtitle.style.display="none"),e.showCloseButton===!1&&(s.closeButton.style.display="none"),e.showClearChat===!1&&s.clearChatButtonWrapper&&(s.clearChatButtonWrapper.style.display="none")),s};var Ha=t=>{let e=m("textarea");e.setAttribute("data-persona-composer-input",""),e.placeholder=t?.copy?.inputPlaceholder??"Type your message\u2026",e.className="persona-w-full persona-min-h-[24px] persona-resize-none persona-border-none persona-bg-transparent persona-text-sm persona-text-persona-primary focus:persona-outline-none focus:persona-border-none persona-composer-textarea",e.rows=1,e.style.fontFamily='var(--persona-input-font-family, var(--persona-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif))',e.style.fontWeight="var(--persona-input-font-weight, var(--persona-font-weight, 400))";let n=3,o=20;e.style.maxHeight=`${n*o}px`,e.style.overflowY="auto";let r=()=>{let a=parseFloat(e.style.maxHeight);return Number.isFinite(a)&&a>0?a:n*o},s=()=>{e.addEventListener("input",()=>{e.style.height="auto";let a=Math.min(e.scrollHeight,r());e.style.height=`${a}px`})};return e.style.border="none",e.style.outline="none",e.style.borderWidth="0",e.style.borderStyle="none",e.style.borderColor="transparent",e.addEventListener("focus",()=>{e.style.border="none",e.style.outline="none",e.style.borderWidth="0",e.style.borderStyle="none",e.style.borderColor="transparent",e.style.boxShadow="none"}),e.addEventListener("blur",()=>{e.style.border="none",e.style.outline="none"}),{textarea:e,attachAutoResize:s}},Da=t=>{let e=t?.sendButton??{},n=e.useIcon??!1,o=e.iconText??"\u2191",r=e.iconName,s=e.stopIconName??"square",a=e.tooltipText??"Send message",l=e.stopTooltipText??"Stop generating",p=t?.copy?.sendButtonLabel??"Send",d=t?.copy?.stopButtonLabel??"Stop",c=e.showTooltip??!1,u=e.size??"40px",w=e.backgroundColor,f=e.textColor,v=m("div","persona-send-button-wrapper"),x=nt("button",{className:ko("persona-rounded-button disabled:persona-opacity-50 persona-cursor-pointer",n?"persona-flex persona-items-center persona-justify-center":"persona-bg-persona-accent persona-px-4 persona-py-2 persona-text-sm persona-font-semibold",n&&!w&&"persona-bg-persona-primary",!n&&!f&&"persona-text-white"),attrs:{type:"submit","data-persona-composer-submit":""},style:{width:n?u:void 0,height:n?u:void 0,minWidth:n?u:void 0,minHeight:n?u:void 0,fontSize:n?"18px":void 0,lineHeight:n?"1":void 0,color:n?f||"var(--persona-button-primary-fg, #ffffff)":f||void 0,backgroundColor:n&&w||void 0,borderWidth:e.borderWidth||void 0,borderStyle:e.borderWidth?"solid":void 0,borderColor:e.borderColor||void 0,paddingLeft:e.paddingX||void 0,paddingRight:e.paddingX||void 0,paddingTop:e.paddingY||void 0,paddingBottom:e.paddingY||void 0}}),P=null,W=null;if(n){let q=parseFloat(u)||24,U=f?.trim()||"currentColor";r?(P=ae(r,q,U,2),P?x.appendChild(P):x.textContent=o):x.textContent=o,W=ae(s,q,U,2)}else x.textContent=p;let T=null;c&&a&&(T=m("div","persona-send-button-tooltip"),T.textContent=a,v.appendChild(T)),x.setAttribute("aria-label",a),v.appendChild(x);let I="send";return{button:x,wrapper:v,setMode:q=>{if(q===I)return;I=q;let U=q==="stop"?l:a;if(x.setAttribute("aria-label",U),T&&(T.textContent=U),n){if(P&&W){let $=q==="stop"?W:P;x.replaceChildren($)}}else x.textContent=q==="stop"?d:p}}},Na=t=>{let e=t?.voiceRecognition??{};if(!(e.enabled===!0))return null;let o=typeof window<"u"&&(typeof window.webkitSpeechRecognition<"u"||typeof window.SpeechRecognition<"u"),r=e.provider?.type==="runtype";if(!(o||r))return null;let a=t?.sendButton?.size??"40px",l=e.iconName??"mic",p=e.iconSize??a,d=parseFloat(p)||24,c=e.backgroundColor??t?.sendButton?.backgroundColor,u=e.iconColor??t?.sendButton?.textColor,w=m("div","persona-send-button-wrapper"),f=nt("button",{className:"persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer",attrs:{type:"button","data-persona-composer-mic":"","aria-label":"Start voice recognition"},style:{width:p,height:p,minWidth:p,minHeight:p,fontSize:"18px",lineHeight:"1",color:u||"var(--persona-text, #111827)",backgroundColor:c||void 0,borderWidth:e.borderWidth||void 0,borderStyle:e.borderWidth?"solid":void 0,borderColor:e.borderColor||void 0,paddingLeft:e.paddingX||void 0,paddingRight:e.paddingX||void 0,paddingTop:e.paddingY||void 0,paddingBottom:e.paddingY||void 0}}),x=ae(l,d,u||"currentColor",1.5);x?f.appendChild(x):f.textContent="\u{1F3A4}",w.appendChild(f);let P=e.tooltipText??"Start voice recognition";if((e.showTooltip??!1)&&P){let T=m("div","persona-send-button-tooltip");T.textContent=P,w.appendChild(T)}return{button:f,wrapper:w}},Fa=t=>{let e=t?.attachments??{};if(e.enabled!==!0)return null;let n=t?.sendButton?.size??"40px",o=m("div","persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2");o.setAttribute("data-persona-composer-attachment-previews",""),o.style.display="none";let r=m("input");r.type="file",r.setAttribute("data-persona-composer-attachment-input",""),r.accept=(e.allowedTypes??Dn).join(","),r.multiple=(e.maxFiles??4)>1,r.style.display="none",r.setAttribute("aria-label","Attach files");let s=e.buttonIconName??"paperclip",a=n,l=parseFloat(a)||40,p=Math.round(l*.6),d=m("div","persona-send-button-wrapper"),c=nt("button",{className:"persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-attachment-button",attrs:{type:"button","data-persona-composer-attachment-button":"","aria-label":e.buttonTooltipText??"Attach file"},style:{width:a,height:a,minWidth:a,minHeight:a,fontSize:"18px",lineHeight:"1",backgroundColor:"transparent",color:"var(--persona-primary, #111827)",border:"none",borderRadius:"6px",transition:"background-color 0.15s ease"}});c.addEventListener("mouseenter",()=>{c.style.backgroundColor="var(--persona-palette-colors-black-alpha-50, rgba(0, 0, 0, 0.05))"}),c.addEventListener("mouseleave",()=>{c.style.backgroundColor="transparent"});let u=ae(s,p,"currentColor",1.5);u?c.appendChild(u):c.textContent="\u{1F4CE}",c.addEventListener("click",v=>{v.preventDefault(),r.click()}),d.appendChild(c);let w=e.buttonTooltipText??"Attach file",f=m("div","persona-send-button-tooltip");return f.textContent=w,d.appendChild(f),{button:c,wrapper:d,input:r,previewsContainer:o}},Oa=t=>{let e=t?.statusIndicator??{},n=e.align==="left"?"persona-text-left":e.align==="center"?"persona-text-center":"persona-text-right",o=m("div",`persona-mt-2 ${n} persona-text-xs persona-text-persona-muted`);o.setAttribute("data-persona-composer-status","");let r=e.visible??!0;o.style.display=r?"":"none";let s=e.idleText??"Online";if(e.idleLink){let a=m("a");a.href=e.idleLink,a.target="_blank",a.rel="noopener noreferrer",a.textContent=s,a.style.color="inherit",a.style.textDecoration="none",o.appendChild(a)}else o.textContent=s;return o},_a=()=>nt("div",{className:"persona-mb-3 persona-flex persona-flex-wrap persona-gap-2",attrs:{"data-persona-composer-suggestions":""}});var $a=t=>{let{config:e}=t,n=nt("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"}}),o=_a(),r=nt("form",{className:"persona-widget-composer persona-flex persona-flex-col persona-gap-2 persona-rounded-2xl persona-border persona-border-gray-200 persona-bg-persona-input-background persona-px-4 persona-py-3",attrs:{"data-persona-composer-form":""},style:{outline:"none"}}),{textarea:s,attachAutoResize:a}=Ha(e);a();let l=Da(e),p=Na(e),d=Fa(e),c=Oa(e);d&&(d.previewsContainer.style.gap="8px",r.append(d.previewsContainer,d.input)),r.append(s);let u=nt("div",{className:"persona-widget-composer__actions persona-flex persona-items-center persona-justify-between persona-w-full",attrs:{"data-persona-composer-actions":""}}),w=m("div","persona-widget-composer__left-actions persona-flex persona-items-center persona-gap-2"),f=m("div","persona-widget-composer__right-actions persona-flex persona-items-center persona-gap-1");return d&&w.append(d.wrapper),p&&f.append(p.wrapper),f.append(l.wrapper),u.append(w,f),r.append(u),r.addEventListener("click",v=>{v.target!==l.button&&v.target!==l.wrapper&&v.target!==p?.button&&v.target!==p?.wrapper&&v.target!==d?.button&&v.target!==d?.wrapper&&s.focus()}),n.append(o,r,c),{footer:n,suggestions:o,composerForm:r,textarea:s,sendButton:l.button,sendButtonWrapper:l.wrapper,micButton:p?.button??null,micButtonWrapper:p?.wrapper??null,statusText:c,attachmentButton:d?.button??null,attachmentButtonWrapper:d?.wrapper??null,attachmentInput:d?.input??null,attachmentPreviewsContainer:d?.previewsContainer??null,actionsRow:u,leftActions:w,rightActions:f,setSendButtonMode:l.setMode}};var wp=()=>{let t=nt("button",{className:"persona-pill-peek",attrs:{type:"button","data-persona-pill-peek":"","aria-label":"Show conversation",tabindex:"-1"}}),e=m("span","persona-pill-peek__icon"),n=ae("message-square",16,"currentColor",1.5);n&&e.appendChild(n);let o=m("span","persona-pill-peek__text"),r=m("span","persona-pill-peek__caret"),s=ae("chevron-up",16,"currentColor",1.5);return s&&r.appendChild(s),t.append(e,o,r),{root:t,textNode:o}},xp=t=>{let{config:e}=t,n=nt("div",{className:"persona-widget-footer persona-widget-footer--pill",attrs:{"data-persona-theme-zone":"composer"}}),o=_a(),r=Oa(e);r.style.display="none";let{textarea:s,attachAutoResize:a}=Ha(e);s.style.maxHeight="100px",a();let l=Da(e),p=Na(e),d=Fa(e);d&&d.previewsContainer.classList.add("persona-pill-composer__previews");let c=nt("form",{className:"persona-widget-composer persona-pill-composer",attrs:{"data-persona-composer-form":""},style:{outline:"none"}}),u=m("div","persona-widget-composer__left-actions persona-pill-composer__left");d&&u.append(d.wrapper);let w=m("div","persona-widget-composer__right-actions persona-pill-composer__right");p&&w.append(p.wrapper),w.append(l.wrapper),c.addEventListener("click",v=>{v.target!==l.button&&v.target!==l.wrapper&&v.target!==p?.button&&v.target!==p?.wrapper&&v.target!==d?.button&&v.target!==d?.wrapper&&s.focus()}),d&&c.append(d.input),c.append(u,s,w),d&&n.append(d.previewsContainer),n.append(o,c,r);let f=c;return{footer:n,suggestions:o,composerForm:c,textarea:s,sendButton:l.button,sendButtonWrapper:l.wrapper,micButton:p?.button??null,micButtonWrapper:p?.wrapper??null,statusText:r,attachmentButton:d?.button??null,attachmentButtonWrapper:d?.wrapper??null,attachmentInput:d?.input??null,attachmentPreviewsContainer:d?.previewsContainer??null,actionsRow:f,leftActions:u,rightActions:w,setSendButtonMode:l.setMode}};var Cp=t=>{let e=t?.launcher?.enabled??!0,n=Ft(t);if(ds(t)){let c=t?.launcher?.composerBar??{},u=m("div","persona-widget-wrapper persona-fixed persona-transition");u.setAttribute("data-persona-composer-bar",""),u.dataset.state="collapsed",u.dataset.expandedSize=c.expandedSize??"anchored",u.style.zIndex=String(t?.launcher?.zIndex??Ut);let w=m("div","persona-widget-panel persona-relative persona-flex persona-flex-1 persona-min-h-0 persona-flex-col");w.style.width="100%",u.appendChild(w);let f=m("div","persona-widget-pill-root");return f.setAttribute("data-persona-composer-bar",""),f.dataset.state="collapsed",f.dataset.expandedSize=c.expandedSize??"anchored",f.style.zIndex=String(t?.launcher?.zIndex??Ut),{wrapper:u,panel:w,pillRoot:f}}if(n){let c=m("div","persona-relative persona-h-full persona-w-full persona-flex persona-flex-1 persona-min-h-0 persona-flex-col"),u=m("div","persona-relative persona-h-full persona-w-full persona-flex persona-flex-1 persona-min-h-0 persona-flex-col");return c.appendChild(u),{wrapper:c,panel:u}}if(!e){let c=m("div","persona-relative persona-h-full persona-flex persona-flex-col persona-flex-1 persona-min-h-0"),u=m("div","persona-relative persona-flex-1 persona-flex persona-flex-col persona-min-h-0"),w=t?.launcher?.width??"100%";return c.style.width=w,u.style.width="100%",c.appendChild(u),{wrapper:c,panel:u}}let r=t?.launcher??{},s=r.position&&wn[r.position]?wn[r.position]:wn["bottom-right"],a=m("div",`persona-widget-wrapper persona-fixed ${s} persona-transition`);a.style.zIndex=String(t?.launcher?.zIndex??Ut);let l=m("div","persona-widget-panel persona-relative persona-min-h-[320px]"),d=t?.launcher?.width??t?.launcherWidth??Nn;return l.style.width=d,l.style.maxWidth=d,a.appendChild(l),{wrapper:a,panel:l}},Ny=(t,e)=>{let n=m("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:o,wrapper:r}=Ra(t,{showClose:e,wrapperClassName:"persona-composer-bar-close",buttonSize:"16px",iconSize:"14px"});r.style.position="absolute",r.style.top="8px",r.style.right="8px",r.style.zIndex="10";let s=t?.launcher?.clearChat?.enabled??!0,a=null,l=null;if(s){let H=Wa(t,{wrapperClassName:"persona-composer-bar-clear-chat",buttonSize:"16px",iconSize:"14px"});a=H.button,l=H.wrapper,l.style.position="absolute",l.style.top="8px",l.style.right="32px",l.style.zIndex="10"}let p=nt("span",{className:"persona-widget-header",attrs:{"data-persona-theme-zone":"header"},style:{display:"none"}}),d=nt("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"}});d.style.setProperty("scrollbar-gutter","stable");let c=nt("h2",{className:"persona-text-lg persona-font-semibold persona-text-persona-primary",text:t?.copy?.welcomeTitle??"Hello \u{1F44B}"}),u=nt("p",{className:"persona-mt-2 persona-text-sm persona-text-persona-muted",text:t?.copy?.welcomeSubtitle??"Ask anything about your account or products."}),w=nt("div",{className:"persona-rounded-2xl persona-p-6",attrs:{"data-persona-intro-card":""},style:{background:"var(--persona-intro-card-bg, var(--persona-surface, #ffffff))",boxShadow:"var(--persona-intro-card-shadow, 0 5px 15px rgba(15, 23, 42, 0.08))"}},c,u),f=m("div","persona-flex persona-flex-col persona-gap-3"),v=t?.layout?.contentMaxWidth;v&&(f.style.maxWidth=v,f.style.marginLeft="auto",f.style.marginRight="auto",f.style.width="100%"),t?.copy?.showWelcomeCard!==!1||(w.style.display="none",d.classList.remove("persona-gap-6"),d.classList.add("persona-gap-3")),d.append(w,f);let P=nt("div",{className:"persona-composer-overlay persona-pointer-events-none",attrs:{"data-persona-composer-overlay":""},style:{position:"absolute",left:"0",right:"0",bottom:"0",zIndex:"20"}}),W=xp({config:t}),{root:T,textNode:I}=wp();return n.append(p,r,d,P),l&&n.appendChild(l),{container:n,body:d,messagesWrapper:f,composerOverlay:P,suggestions:W.suggestions,textarea:W.textarea,sendButton:W.sendButton,sendButtonWrapper:W.sendButtonWrapper,micButton:W.micButton,micButtonWrapper:W.micButtonWrapper,composerForm:W.composerForm,statusText:W.statusText,introTitle:c,introSubtitle:u,closeButton:o,closeButtonWrapper:r,clearChatButton:a,clearChatButtonWrapper:l,iconHolder:m("span"),headerTitle:m("span"),headerSubtitle:m("span"),header:p,footer:W.footer,attachmentButton:W.attachmentButton,attachmentButtonWrapper:W.attachmentButtonWrapper,attachmentInput:W.attachmentInput,attachmentPreviewsContainer:W.attachmentPreviewsContainer,actionsRow:W.actionsRow,leftActions:W.leftActions,rightActions:W.rightActions,setSendButtonMode:W.setSendButtonMode,peekBanner:T,peekTextNode:I}},Ap=(t,e=!0)=>{if(ds(t))return Ny(t,e);let n=nt("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"}}),o=t?.layout?.header,r=t?.layout?.showHeader!==!1,s=o?Ba(t,o,{showClose:e}):Ho({config:t,showClose:e}),a=nt("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"}});a.style.setProperty("scrollbar-gutter","stable");let l=nt("h2",{className:"persona-text-lg persona-font-semibold persona-text-persona-primary",text:t?.copy?.welcomeTitle??"Hello \u{1F44B}"}),p=nt("p",{className:"persona-mt-2 persona-text-sm persona-text-persona-muted",text:t?.copy?.welcomeSubtitle??"Ask anything about your account or products."}),d=nt("div",{className:"persona-rounded-2xl persona-p-6",attrs:{"data-persona-intro-card":""},style:{background:"var(--persona-intro-card-bg, var(--persona-surface, #ffffff))",boxShadow:Ft(t)?"none":"var(--persona-intro-card-shadow, 0 5px 15px rgba(15, 23, 42, 0.08))"}},l,p),c=m("div","persona-flex persona-flex-col persona-gap-3"),u=t?.layout?.contentMaxWidth;u&&(c.style.maxWidth=u,c.style.marginLeft="auto",c.style.marginRight="auto",c.style.width="100%"),t?.copy?.showWelcomeCard!==!1||(d.style.display="none",a.classList.remove("persona-gap-6"),a.classList.add("persona-gap-3")),a.append(d,c);let f=$a({config:t}),v=t?.layout?.showFooter!==!1;r?ps(n,s,t):(s.header.style.display="none",ps(n,s,t)),n.append(a);let x=nt("div",{className:"persona-composer-overlay persona-pointer-events-none",attrs:{"data-persona-composer-overlay":""},style:{position:"absolute",left:"0",right:"0",bottom:"0",zIndex:"20"}});return v||(f.footer.style.display="none"),n.append(f.footer),n.append(x),{container:n,body:a,messagesWrapper:c,composerOverlay:x,suggestions:f.suggestions,textarea:f.textarea,sendButton:f.sendButton,sendButtonWrapper:f.sendButtonWrapper,micButton:f.micButton,micButtonWrapper:f.micButtonWrapper,composerForm:f.composerForm,statusText:f.statusText,introTitle:l,introSubtitle:p,closeButton:s.closeButton,closeButtonWrapper:s.closeButtonWrapper,clearChatButton:s.clearChatButton,clearChatButtonWrapper:s.clearChatButtonWrapper,iconHolder:s.iconHolder,headerTitle:s.headerTitle,headerSubtitle:s.headerSubtitle,header:s.header,footer:f.footer,attachmentButton:f.attachmentButton,attachmentButtonWrapper:f.attachmentButtonWrapper,attachmentInput:f.attachmentInput,attachmentPreviewsContainer:f.attachmentPreviewsContainer,actionsRow:f.actionsRow,leftActions:f.leftActions,rightActions:f.rightActions,setSendButtonMode:f.setSendButtonMode}};var el=(t,e)=>{let n=m("button");n.type="button",n.innerHTML=`
29
+ `)),n=m("span","persona-code-line")),o(r.type,s[a])}return n.childNodes.length>0?e.appendChild(n):e.lastChild||e.appendChild(n),e}function ip(t,e,n){let o=t.length<=am?im(e,n):null,r=o?mm(t,o):[{type:"plain",value:t}];return hm(r)}var It={idle:"Online",connecting:"Connecting\u2026",connected:"Streaming\u2026",error:"Offline",paused:"Connection lost\u2026",resuming:"Reconnecting\u2026"},zt=1e5,so=zt+1;function dr(t){let{items:e,onSelect:n,anchor:o,position:r="bottom-left",portal:s}=t,a=m("div","persona-dropdown-menu persona-hidden");a.setAttribute("role","menu"),a.setAttribute("data-persona-theme-zone","dropdown"),s?(a.style.position="fixed",a.style.zIndex=String(so)):(a.style.position="absolute",a.style.top="100%",a.style.marginTop="4px",r==="bottom-right"?a.style.right="0":a.style.left="0");for(let f of e){if(f.dividerBefore){let P=document.createElement("hr");a.appendChild(P)}let v=document.createElement("button");if(v.type="button",v.setAttribute("role","menuitem"),v.setAttribute("data-dropdown-item-id",f.id),f.destructive&&v.setAttribute("data-destructive",""),f.icon){let P=ne(f.icon,16,"currentColor",1.5);P&&v.appendChild(P)}let C=document.createElement("span");C.textContent=f.label,v.appendChild(C),v.addEventListener("click",P=>{P.stopPropagation(),c(),n(f.id)}),a.appendChild(v)}let l=null;function p(){if(!s)return;let f=o.getBoundingClientRect();a.style.top=`${f.bottom+4}px`,r==="bottom-right"?(a.style.right=`${window.innerWidth-f.right}px`,a.style.left="auto"):(a.style.left=`${f.left}px`,a.style.right="auto")}function d(){p(),a.classList.remove("persona-hidden"),requestAnimationFrame(()=>{let f=v=>{!a.contains(v.target)&&!o.contains(v.target)&&c()};document.addEventListener("click",f,!0),l=()=>document.removeEventListener("click",f,!0)})}function c(){a.classList.add("persona-hidden"),l?.(),l=null}function u(){a.classList.contains("persona-hidden")?d():c()}function w(){c(),a.remove()}return s&&s.appendChild(a),{element:a,show:d,hide:c,toggle:u,destroy:w}}function Rt(t){let{icon:e,label:n,size:o,strokeWidth:r,className:s,onClick:a,aria:l}=t,p=m("button","persona-icon-btn"+(s?" "+s:""));p.type="button",p.setAttribute("aria-label",n),p.title=n;let d=ne(e,o??16,"currentColor",r??2);if(d&&p.appendChild(d),a&&p.addEventListener("click",a),l)for(let[c,u]of Object.entries(l))p.setAttribute(c,u);return p}function Wo(t){let{icon:e,label:n,variant:o="default",size:r="sm",iconSize:s,className:a,onClick:l,aria:p}=t,d="persona-label-btn";o!=="default"&&(d+=" persona-label-btn--"+o),d+=" persona-label-btn--"+r,a&&(d+=" "+a);let c=m("button",d);if(c.type="button",c.setAttribute("aria-label",n),e){let w=ne(e,s??14,"currentColor",2);w&&c.appendChild(w)}let u=m("span");if(u.textContent=n,c.appendChild(u),l&&c.addEventListener("click",l),p)for(let[w,f]of Object.entries(p))c.setAttribute(w,f);return c}function Aa(t){let{items:e,selectedId:n,onSelect:o,className:r}=t,s=m("div","persona-toggle-group"+(r?" "+r:""));s.setAttribute("role","group");let a=n,l=[];function p(){for(let c of l)c.btn.setAttribute("aria-pressed",c.id===a?"true":"false")}for(let c of e){let u;c.icon?u=Rt({icon:c.icon,label:c.label,className:c.className,onClick:()=>{a=c.id,p(),o(c.id)}}):(u=m("button","persona-icon-btn"+(c.className?" "+c.className:"")),u.type="button",u.setAttribute("aria-label",c.label),u.title=c.label,u.textContent=c.label,u.addEventListener("click",()=>{a=c.id,p(),o(c.id)})),u.setAttribute("aria-pressed",c.id===a?"true":"false"),l.push({id:c.id,btn:u}),s.appendChild(u)}function d(c){a=c,p()}return{element:s,setSelected:d}}function lp(t){let{label:e,icon:n="chevron-down",menuItems:o,onSelect:r,position:s="bottom-left",portal:a,className:l,hover:p}=t,d=m("div","persona-combo-btn"+(l?" "+l:""));d.style.position="relative",d.style.display="inline-flex",d.style.alignItems="center",d.style.cursor="pointer",d.setAttribute("role","button"),d.setAttribute("tabindex","0"),d.setAttribute("aria-haspopup","true"),d.setAttribute("aria-expanded","false"),d.setAttribute("aria-label",e);let c=m("span","persona-combo-btn-label");c.textContent=e,d.appendChild(c);let u=ne(n,14,"currentColor",2);u&&(u.style.marginLeft="4px",u.style.opacity="0.6",d.appendChild(u)),p&&(d.style.borderRadius=p.borderRadius??"10px",d.style.padding=p.padding??"6px 4px 6px 12px",d.style.border="1px solid transparent",d.style.transition="background-color 0.15s ease, border-color 0.15s ease",d.addEventListener("mouseenter",()=>{d.style.backgroundColor=p.background??"",d.style.borderColor=p.border??""}),d.addEventListener("mouseleave",()=>{d.style.backgroundColor="",d.style.borderColor="transparent"}));let w=dr({items:o,onSelect:f=>{d.setAttribute("aria-expanded","false"),r(f)},anchor:d,position:s,portal:a});return a||d.appendChild(w.element),d.addEventListener("click",f=>{f.stopPropagation();let v=!w.element.classList.contains("persona-hidden");d.setAttribute("aria-expanded",v?"false":"true"),w.toggle()}),d.addEventListener("keydown",f=>{(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),d.click())}),{element:d,setLabel:f=>{c.textContent=f,d.setAttribute("aria-label",f)},open:()=>{d.setAttribute("aria-expanded","true"),w.show()},close:()=>{d.setAttribute("aria-expanded","false"),w.hide()},toggle:()=>{let f=!w.element.classList.contains("persona-hidden");d.setAttribute("aria-expanded",f?"false":"true"),w.toggle()},destroy:()=>{w.destroy(),d.remove()}}}var Sa="persona-artifact-custom-action-btn";function pr(t,e){let n=e?.documentChrome??!1,o;if(typeof t.icon=="function"){if(t.showLabel){let r="persona-label-btn persona-label-btn--sm "+Sa+(n?" persona-artifact-doc-copy-btn":"");o=m("button",r)}else{let r="persona-icon-btn "+Sa+(n?" persona-artifact-doc-icon-btn":"");o=m("button",r)}o.type="button",o.setAttribute("aria-label",t.label),o.title=t.label;try{let r=t.icon();r&&o.appendChild(r)}catch{}if(t.showLabel){let r=m("span");r.textContent=t.label,o.appendChild(r)}}else t.showLabel||!t.icon?o=Wo({icon:t.icon,label:t.label,className:Sa+(n?" persona-artifact-doc-copy-btn":"")}):o=Rt({icon:t.icon,label:t.label,className:Sa+(n?" persona-artifact-doc-icon-btn":"")});return e?.onClick&&o.addEventListener("click",e.onClick),o}function as(t){if(!t)return null;let e={artifactId:t.id,title:t.title??"",artifactType:t.artifactType};return t.artifactType==="markdown"?(e.markdown=t.markdown??"",t.file&&(e.file=t.file)):e.jsonPayload=JSON.stringify({component:t.component,props:t.props},null,2),e}function cp(t,e){let n=t.file&&typeof t.file=="object"&&!Array.isArray(t.file)?t.file:void 0,o=typeof t.title=="string"&&t.title?t.title:"Untitled artifact",r=n?Mn(n.path):o,s=typeof t.artifactId=="string"?t.artifactId:"",a=t.status==="streaming"?"streaming":"complete",l=typeof t.artifactType=="string"?t.artifactType:"markdown",p=n?oo(n):l==="component"?"Component":"Document",d=document.createElement("div");d.className="persona-artifact-card persona-flex persona-w-full persona-max-w-full persona-items-center persona-gap-3 persona-px-4 persona-py-3",d.tabIndex=0,d.setAttribute("role","button"),d.setAttribute("aria-label",`Open ${r} in artifact panel`),s&&d.setAttribute("data-open-artifact",s);let c=document.createElement("div");c.className="persona-flex persona-h-10 persona-w-10 persona-flex-shrink-0 persona-items-center persona-justify-center persona-rounded-lg",c.style.border="1px solid var(--persona-border, #e5e7eb)",c.style.color="var(--persona-muted, #9ca3af)",c.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"/><polyline points="14 2 14 8 20 8"/></svg>';let u=document.createElement("div");u.className="persona-min-w-0 persona-flex-1 persona-flex persona-flex-col persona-gap-0.5";let w=document.createElement("div");w.className="persona-truncate persona-text-sm persona-font-medium",w.style.color="var(--persona-text, #1f2937)",w.textContent=r;let f=document.createElement("div");if(f.className="persona-text-xs persona-flex persona-items-center persona-gap-1.5",f.style.color="var(--persona-muted, #9ca3af)",a==="streaming"){let v=e?.config?.features?.artifacts,C={id:s,artifactType:l==="component"?"component":"markdown",title:o,status:"streaming",...typeof t.markdown=="string"?{markdown:t.markdown}:{},...n?{file:n}:{}},P=cr(C,v,"card");Ro(f,P,v)}else s&&lr(s),f.textContent=p;if(u.append(w,f),d.append(c,u),a==="complete"){let v=e?.config?.features?.artifacts?.cardActions;if(v&&v.length>0){let P={artifactId:s||null,title:r,artifactType:l,markdown:typeof t.markdown=="string"?t.markdown:void 0,file:n};for(let H of v)try{if(H.visible===void 0||H.visible(P)){let E=pr(H);E.setAttribute("data-artifact-custom-action",H.id),E.className=`${E.className} persona-flex-shrink-0`,d.append(E)}}catch{}}let C=Wo({label:"Download",className:"persona-flex-shrink-0"});C.title=`Download ${r}`,C.setAttribute("data-download-artifact",s),d.append(C)}return d}var Ta=(t,e)=>{let n=e?.config?.features?.artifacts?.renderCard;if(n){let o=typeof t.title=="string"&&t.title?t.title:"Untitled artifact",r=typeof t.artifactId=="string"?t.artifactId:"",s=t.status==="streaming"?"streaming":"complete",a=typeof t.artifactType=="string"?t.artifactType:"markdown",l=n({artifact:{artifactId:r,title:o,artifactType:a,status:s},config:e.config,defaultRenderer:()=>cp(t,e)});if(l)return l}return cp(t,e)};var ao=new WeakMap;function Yi(t,e,n){if(e.length===0)return;let o=new Map(e.map(r=>[r.id,r]));t.querySelectorAll("[data-artifact-inline]").forEach(r=>{let s=ao.get(r);if(!s)return;let a=o.get(r.getAttribute("data-artifact-inline")??"");a&&s(a,n)})}function gp(t){return ao.has(t)}function ym(t){let e=typeof t.artifactId=="string"?t.artifactId:"",n=typeof t.title=="string"&&t.title?t.title:void 0,o=t.status==="streaming"?"streaming":"complete";if(t.artifactType==="component"){let s=t.componentProps,a=s&&typeof s=="object"&&!Array.isArray(s)?s:{};return{id:e,artifactType:"component",title:n,status:o,component:typeof t.component=="string"?t.component:"",props:a}}let r=t.file&&typeof t.file=="object"&&!Array.isArray(t.file)?t.file:void 0;return{id:e,artifactType:"markdown",title:n,status:o,markdown:typeof t.markdown=="string"?t.markdown:"",...r?{file:r}:{}}}function dp(t){let e=t.artifactType==="markdown"?t.file:void 0,n=e?Mn(e.path):t.title&&t.title.trim()?t.title:"Untitled artifact",o=e?oo(e):t.artifactType==="component"?"Component":"Document";return{title:n,typeLabel:o}}function bm(t){let e={artifactId:t.id,title:t.title??"",status:t.status,artifactType:t.artifactType};return t.artifactType==="markdown"&&(typeof t.markdown=="string"&&(e.markdown=t.markdown),t.file&&(e.file=t.file)),e}var pp=180,vm=240,wm=.8,xm=300,Cm=500,Am="cubic-bezier(0.2, 0, 0, 1)",up=240,Sm=.35;function Tm(t,e,n){let{swap:o,onSettled:r}=n,s=!1;try{s=typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{s=!1}if(!e||!t.isConnected||s||typeof t.animate!="function"){o(),r();return}t.style.height=`${e}px`,t.style.overflow="hidden";let a=[];for(let l of Array.from(t.children))l instanceof HTMLElement&&a.push(l.animate([{opacity:1},{opacity:0}],{duration:pp,easing:"ease-out",fill:"forwards"}));window.setTimeout(()=>{for(let H of a)H.cancel();o();let l=()=>{t.style.removeProperty("height"),t.style.removeProperty("overflow")};if(!t.isConnected){l(),r();return}t.style.height="auto";let p=t.getBoundingClientRect().height;if(t.style.height=`${e}px`,!p||Math.abs(p-e)<1){l(),r();return}let d=Math.abs(e-p),c=Math.round(Math.min(Cm,Math.max(xm,vm+d*wm))),u=Math.round(c*Sm),w=t.firstElementChild instanceof HTMLElement?t.firstElementChild:null,f=w?w.animate([{opacity:0},{opacity:1}],{duration:up,delay:u,easing:"ease-out",fill:"backwards"}):null,v=t.animate([{height:`${e}px`},{height:`${p}px`}],{duration:c,easing:Am});t.style.height=`${p}px`;let C=!1,P=()=>{C||(C=!0,l(),r())};Promise.allSettled([v.finished,f?.finished].filter(Boolean)).then(P),window.setTimeout(P,Math.max(c,u+up)+120)},pp)}function Mm(t){let e=t?.inlineChrome;if(e===!1)return{chromeEnabled:!1,showCopy:!1,showExpand:!1,showViewToggle:!1};let n=typeof e=="object"?e:void 0;return{chromeEnabled:!0,showCopy:n?.showCopy!==!1,showExpand:n?.showExpand!==!1,showViewToggle:n?.showViewToggle!==!1}}var is="--persona-artifact-inline-body-height";function Em(t){let e=t?.inlineBody,n=e?.streamingView==="status"?"status":"source",o=e?.viewMode==="source"?"source":"rendered",r=320,s=320,a=e?.height;typeof a=="number"||a==="auto"?(r=a,s=a):a&&typeof a=="object"&&(r=a.streaming??320,s=a.complete??320);let l=e?.overflow==="clip"?"clip":"scroll",p=l==="clip"?!1:e?.followOutput!==!1,d,c,u=e?.fadeMask;u===!0?(d=!0,c=!0):u===!1?(d=!1,c=!1):u&&typeof u=="object"?(d=u.top===!0,c=u.bottom===!0):l==="clip"?(d=!1,c=!0):(d=!0,c=!0);let w=e?.transition==="none"?"none":"auto",f=e?.completeDisplay==="card"?"card":"inline";return{streamingView:n,viewMode:o,streamingHeight:r,completeHeight:s,followOutput:p,overflow:l,fadeTop:d,fadeBottom:c,transition:w,completeDisplay:f}}function fp(t,e){let n=ym(t),o=e.config?.features?.artifacts,{chromeEnabled:r,showCopy:s,showExpand:a,showViewToggle:l}=Mm(o),p=o?.inlineActions??[],d=Em(o),c=d.completeDisplay==="card",u=null,w=n,f=m("div","persona-artifact-inline persona-w-full persona-max-w-full");f.setAttribute("data-persona-theme-zone","artifact-inline"),n.id&&f.setAttribute("data-artifact-inline",n.id);let v=Y=>Ta(bm(Y),e),C=Y=>{f.classList.add("persona-artifact-inline--card"),f.style.removeProperty(is),f.replaceChildren(v(Y)),ao.set(f,ae=>{f.replaceChildren(v(ae))})};if(c&&n.status==="complete")return C(n),f;let P=Ma(n,{config:e.config,bodyLayout:d,resolveViewMode:()=>u??d.viewMode}),H=m("div","persona-artifact-inline-body");H.appendChild(P.el);let E=Y=>{let ae=Y.status!=="complete",Z=ae?d.streamingHeight:d.completeHeight,ve=typeof Z=="number";ve?f.style.setProperty(is,`${Z}px`):f.style.removeProperty(is);let we=!!P.el.querySelector(".persona-code-pre"),ue=!!P.el.querySelector("iframe, .persona-artifact-source-window--fixed, .persona-artifact-status-view");H.classList.toggle("persona-artifact-content-flush",we),H.classList.toggle("persona-artifact-inline-body--sized",ve&&ue),H.classList.toggle("persona-artifact-inline-body--cap",!ae&&!ue&&typeof d.completeHeight=="number")},T=n.status,I=(Y,ae)=>{T!=="complete"&&Y.status==="complete"?(typeof d.completeHeight=="number"?f.style.setProperty(is,`${d.completeHeight}px`):f.style.removeProperty(is),hp(H,ae?.suppressTransition?"none":d.transition,Y.id,()=>{P.update(Y),E(Y)})):P.update(Y),E(Y),T=Y.status};E(n);let z=d.overflow==="clip"&&a&&!!n.id;if(z&&(H.setAttribute("data-expand-artifact-inline",n.id),H.setAttribute("role","button"),H.setAttribute("tabindex","0"),H.classList.add("persona-cursor-pointer"),H.setAttribute("aria-label",`Open ${dp(n).title} in panel`)),!r)return f.appendChild(H),ao.set(f,I),f;let N=m("div","persona-artifact-inline-chrome");N.setAttribute("data-persona-theme-zone","artifact-inline-chrome");let x=m("div","persona-artifact-inline-chrome-lead"),j=m("span","persona-flex persona-items-center persona-flex-shrink-0"),q=ne("file-text",16,"currentColor",2);q&&j.appendChild(q);let J=m("span","persona-artifact-inline-title persona-truncate persona-min-w-0"),D=m("span","persona-artifact-inline-type");x.append(j,J,D);let $=m("div","persona-artifact-inline-chrome-actions"),fe=m("span","persona-flex persona-items-center persona-gap-1"),ye=()=>u??d.viewMode,Le=l?Aa({items:[{id:"rendered",icon:"eye",label:"Rendered view",className:"persona-artifact-doc-icon-btn persona-artifact-view-btn"},{id:"source",icon:"code-xml",label:"Source",className:"persona-artifact-doc-icon-btn persona-artifact-code-btn"}],selectedId:ye(),className:"persona-artifact-toggle-group persona-flex-shrink-0",onSelect:Y=>{let ae=Y==="source"?"source":"rendered";ae!==ye()&&(u=ae,P.update(w),E(w))}}):null,Ce=s?Rt({icon:"copy",label:"Copy",className:"persona-artifact-doc-icon-btn persona-flex-shrink-0"}):null;Ce&&n.id&&Ce.setAttribute("data-copy-artifact",n.id);let te=a?Rt({icon:"maximize",label:"Open in panel",className:"persona-artifact-doc-icon-btn persona-flex-shrink-0"}):null;te&&n.id&&te.setAttribute("data-expand-artifact-inline",n.id),$.appendChild(fe),Le&&$.appendChild(Le.element),Ce&&$.appendChild(Ce),te&&$.appendChild(te),N.append(x,$),f.append(N,H);let ge=Y=>{let{title:ae,typeLabel:Z}=dp(Y);J.textContent=ae,J.title=ae,z&&H.setAttribute("aria-label",`Open ${ae} in panel`);let ve=Y.status!=="complete";if(ve){D.classList.contains("persona-artifact-inline-status")||(D.className="persona-artifact-inline-status",D.removeAttribute("data-preserve-animation"),D.replaceChildren());let we=cr(Y,o,"inline-chrome");Ro(D,we,o)}else lr(Y.id),D.className="persona-artifact-inline-type",D.removeAttribute("data-preserve-animation"),D.replaceChildren(),D.textContent=Z;if(Ce&&Ce.classList.toggle("persona-hidden",ve),Le){let we=Y.artifactType==="markdown"?Y.file:void 0,ue=!1;if(!ve&&we&&d.viewMode!=="source"){let Te=ss(we);Te==="markdown"?ue=!0:(Te==="html"||Te==="svg")&&(ue=o?.filePreview?.enabled!==!1)}Le.element.classList.toggle("persona-hidden",!ue),Le.setSelected(ye())}if(fe.replaceChildren(),!ve&&p.length>0){let we=as(Y);if(we)for(let ue of p)try{if(ue.visible===void 0||ue.visible(we)){let Te=pr(ue,{documentChrome:!0});Te.setAttribute("data-artifact-custom-action",ue.id),Te.classList.add("persona-flex-shrink-0"),fe.appendChild(Te)}}catch{}}};return ge(n),ao.set(f,(Y,ae)=>{if(c&&T!=="complete"&&Y.status==="complete"){let Z=f.isConnected?f.getBoundingClientRect().height:0;T="complete";let ve=Y,we=!1,ue=Te=>{ve=Te,we=!0};ao.set(f,ue),Tm(f,Z,{swap:()=>{C(ve),we=!1,ao.set(f,ue)},onSettled:()=>{we?C(ve):ao.set(f,Te=>{f.replaceChildren(v(Te))})}});return}(Y.status!=="complete"||Y.id!==w.id)&&(u=null),w=Y,I(Y,ae),ge(Y)}),f}var mp=(t,e)=>{let n=e?.config?.features?.artifacts?.renderInline;if(n){let o=typeof t.title=="string"&&t.title?t.title:"Untitled artifact",r=typeof t.artifactId=="string"?t.artifactId:"",s=t.status==="streaming"?"streaming":"complete",a=typeof t.artifactType=="string"?t.artifactType:"markdown",l=n({artifact:{artifactId:r,title:o,artifactType:a,status:s},config:e.config,defaultRenderer:()=>fp(t,e)});if(l)return l}return fp(t,e)};var Zi=class{constructor(){this.components=new Map;this.options=new Map}register(e,n,o){this.components.has(e)&&console.warn(`[ComponentRegistry] Component "${e}" is already registered. Overwriting.`),this.components.set(e,n),o?this.options.set(e,o):this.options.delete(e)}unregister(e){this.components.delete(e),this.options.delete(e)}get(e){return this.components.get(e)}has(e){return this.components.has(e)}getOptions(e){return this.options.get(e)}getAllNames(){return Array.from(this.components.keys())}clear(){this.components.clear(),this.options.clear()}registerAll(e){Object.entries(e).forEach(([n,o])=>{this.register(n,o)})}},_n=new Zi;_n.register("PersonaArtifactCard",Ta,{bubbleChrome:!1});_n.register("PersonaArtifactInline",mp,{bubbleChrome:!1});function ls(t){if(!t)return"";if(t.artifactType==="markdown"){let e=t.markdown??"";return t.file?wa(e):e}return JSON.stringify({component:t.component,props:t.props},null,2)}var el=!1;function km(t){return"persona-artifact-vt-"+((t||"artifact").replace(/[^A-Za-z0-9_-]/g,"-").replace(/^-+/,"")||"artifact")}function hp(t,e,n,o){let r=typeof document<"u"?document.startViewTransition:void 0,s=!1;try{s=typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{s=!1}if(e!=="auto"||!t||typeof r!="function"||el||s){o();return}el=!0;let a=km(n);t.style.setProperty("view-transition-name",a);let l=()=>{el=!1,t.style.removeProperty("view-transition-name")};try{r.call(document,()=>{o()}).finished.then(l,l)}catch{l(),o()}}var Lm="persona-font-mono persona-text-xs persona-whitespace-pre-wrap persona-break-words persona-text-persona-primary",Pm="persona-text-sm persona-leading-relaxed persona-markdown-bubble";function Im(t){let e=m("div","persona-rounded-lg persona-border persona-border-persona-border persona-p-3 persona-text-persona-primary"),n=m("div","persona-font-semibold persona-text-sm persona-mb-2");n.textContent=t.component?`Component: ${t.component}`:"Component";let o=m("pre","persona-font-mono persona-text-xs persona-whitespace-pre-wrap persona-overflow-x-auto");return o.textContent=JSON.stringify(t.props??{},null,2),e.appendChild(n),e.appendChild(o),e}function Rm(t){if(t===!1)return{enabled:!1,delayMs:0,minVisibleMs:0,timeoutMs:0,injectReadySignal:!1,label:"Starting preview...",labelDelayMs:2e3};let e=t&&typeof t=="object"?t:void 0;return{enabled:!0,delayMs:e?.delayMs??200,minVisibleMs:e?.minVisibleMs??300,timeoutMs:e?.timeoutMs??8e3,injectReadySignal:e?.injectReadySignal!==!1,label:e?.label===!1?!1:e?.label??"Starting preview...",labelDelayMs:e?.labelDelayMs??2e3,renderIndicator:e?.renderIndicator}}var Wm=220;function Bm(){try{if(typeof crypto<"u"&&crypto.getRandomValues){let t=new Uint32Array(2);return crypto.getRandomValues(t),t[0].toString(36)+t[1].toString(36)}}catch{}return Math.random().toString(36).slice(2)+Math.random().toString(36).slice(2)}function Hm(t){return`
30
+ <script>(function(){var d=false;var t=`+JSON.stringify(t)+";function r(){if(d)return;d=true;try{parent.postMessage({persona:'artifact-preview-ready',token:t},'*');}catch(e){}}function s(){if(typeof requestAnimationFrame==='function'){requestAnimationFrame(function(){requestAnimationFrame(r);});}setTimeout(r,150);}if(document.readyState==='complete'){s();}else{window.addEventListener('load',s);}})();</script>"}function Dm(t,e,n){let o=m("div","persona-artifact-frame-loading");if(n.renderIndicator)try{let a=n.renderIndicator({artifactId:t,config:e});if(a)return o.appendChild(a),{el:o,revealLabel:()=>{}}}catch{}let r=m("div","persona-artifact-frame-loading-indicator");r.appendChild(ep());let s=null;return n.label!==!1&&(s=m("div","persona-artifact-frame-loading-text"),s.textContent=n.label,r.appendChild(s)),o.appendChild(r),{el:o,revealLabel:()=>{s&&s.classList.add("persona-artifact-frame-loading-text--visible")}}}function Nm(t,e,n,o,r,s){let a=null,l=0,p=!1,d=new Set,c=()=>{d.forEach(T=>clearTimeout(T)),d.clear()},u=(T,I)=>{let z=setTimeout(()=>{d.delete(z),T()},I);d.add(z)},w=()=>{a&&a.parentElement&&a.remove(),a=null},f=()=>{if(a||p)return;let T=Dm(r,s,o);a=T.el,t.appendChild(a),l=Date.now(),o.label!==!1&&u(T.revealLabel,o.labelDelayMs)},v=()=>{a&&(a.classList.add("persona-artifact-frame-loading--out"),u(w,Wm))},C=()=>{n!==null?typeof window<"u"&&window.removeEventListener("message",H):e.removeEventListener("load",E)},P=()=>{if(p||(p=!0,C(),c(),!a))return;let T=Math.max(0,o.minVisibleMs-(Date.now()-l));T>0?u(v,T):v()};function H(T){if(n===null)return;let I=T.data;!I||I.persona!=="artifact-preview-ready"||I.token!==n||T.source===e.contentWindow&&P()}function E(){let T=I=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>I()):setTimeout(I,0)};T(()=>T(()=>P()))}return u(f,o.delayMs),u(P,o.timeoutMs),n!==null?typeof window<"u"&&window.addEventListener("message",H):e.addEventListener("load",E),()=>{p=!0,c(),C(),w()}}function Ma(t,e){let{config:n}=e,o=e.registry??_n,r=e.bodyLayout,s=n.markdown?Js(n.markdown):null,a=Ys(n.sanitize),l=t,p=!1,d=te=>{let ge=Hn()!==null;s&&!ge&&!p&&(p=!0,Xs(()=>Ce(l)));let Y=s?s(te):Zn(te);return s&&ge&&a?a(Y):Y},c=m("div","persona-artifact-preview-body"),u=null,w=null,f=null,v=()=>{f&&(f(),f=null),u=null,w=null},C=null,P=null,H=null,E=!1,T=()=>{C=null,P=null,H=null,E=!1},I=null,z=null,N=()=>{I=null,z=null},x=40,j=0,q=te=>typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>te()):setTimeout(te,0),J=te=>te.scrollHeight-te.clientHeight-te.scrollTop<=x,D=te=>{if(!r)return;let ge=te.scrollHeight-te.clientHeight>1,Y=te.scrollHeight-te.clientHeight-te.scrollTop;te.classList.toggle("persona-artifact-fade-top",r.fadeTop&&ge&&te.scrollTop>1),te.classList.toggle("persona-artifact-fade-bottom",r.fadeBottom&&ge&&Y>1)},$=te=>{j||(j=q(()=>{j=0,te.scrollTop=te.scrollHeight,D(te)}))},fe=(te,ge,Y,ae)=>{let Z=!!r,ve=Y.id+"|"+(Z?"w":"p");if(!C||H!==ve||C.parentElement!==c){v(),N(),c.replaceChildren();let Te=m("pre",Lm+" persona-code-pre"),Ae=m("code","persona-code");if(Te.appendChild(Ae),Z){let ze=m("div","persona-artifact-source-window");if(ze.appendChild(Te),c.appendChild(ze),!(r?.overflow==="clip")&&typeof ze.addEventListener=="function"){let it=()=>ze.scrollHeight-ze.clientHeight>1;ze.addEventListener("scroll",()=>{J(ze)&&(E=!1),D(ze)},{passive:!0}),ze.addEventListener("wheel",Je=>{it()&&Je.deltaY<0&&(E=!0)},{passive:!0}),ze.addEventListener("touchmove",()=>{it()&&(E=!0)},{passive:!0})}C=ze}else c.appendChild(Te),C=Te;P=Ae,H=ve}let we=Z?C:null;we&&(we.classList.toggle("persona-artifact-source-window--fixed",ae),we.classList.toggle("persona-artifact-source-window--clip",ae&&r?.overflow==="clip"));let ue=we?J(we):!0;if(P.replaceChildren(ip(te,ge?.language,ge?.path)),we){let Te=Y.status!=="complete";ae&&Te&&r?.followOutput&&!E&&ue?$(we):Te||(E=!1),D(we)}},ye=te=>{v(),T(),N(),c.replaceChildren();let ge=m("div",Pm);ge.innerHTML=d(te),c.appendChild(ge)},Le=te=>{let ge=te.id,Y=n.features?.artifacts,ae=cr(te,Y,"status-body");if(I&&z===ge&&I.parentElement===c){let we=I.querySelector(".persona-artifact-status-view-text");we&&Ro(we,ae,Y);return}v(),T(),c.replaceChildren();let Z=m("div","persona-artifact-status-view"),ve=m("div","persona-artifact-status-view-text");Ro(ve,ae,Y),Z.appendChild(ve),c.appendChild(Z),I=Z,z=ge},Ce=te=>{l=te;let ge=e.resolveViewMode?.(te)??r?.viewMode??"rendered",Y=te.artifactType==="markdown"?te.file:void 0,ae=te.status!=="complete";ae||lr(te.id);let Z=ae?r?.streamingHeight:r?.completeHeight,ve=!!r&&typeof Z=="number";if(r?.streamingView==="status"&&ae){Le(te);return}if(Y){let ue=wa(te.markdown??""),Te=ss(Y),Ae=n.features?.artifacts?.filePreview?.enabled!==!1;if(!ae&&ge==="rendered"&&Ae&&(Te==="html"||Te==="svg")){let Ne=te.id+"\0"+ue;if(u&&w===Ne&&u.parentElement===c)return;T(),N(),v(),c.replaceChildren();let it=n.features?.artifacts?.filePreview,Je=it?.iframeSandbox??"allow-scripts";!it?.dangerouslyAllowSameOrigin&&Je.includes("allow-same-origin")&&(console.warn("[AgentWidget] Stripped allow-same-origin from filePreview.iframeSandbox: it lets artifact content run with the page origin. Set filePreview.dangerouslyAllowSameOrigin to keep it."),Je=Je.split(/\s+/).filter(Mt=>Mt&&Mt!=="allow-same-origin").join(" "));let Re=Rm(it?.loading),Me=m("div","persona-artifact-frame"),Ye=m("iframe","persona-artifact-iframe");Ye.setAttribute("sandbox",Je),Ye.setAttribute("data-artifact-id",te.id);let sn=null;Re.enabled&&Re.injectReadySignal?(sn=Bm(),Ye.srcdoc=ue+Hm(sn)):Ye.srcdoc=ue,Me.appendChild(Ye),c.appendChild(Me),Re.enabled&&(f=Nm(Me,Ye,sn,Re,te.id,n)),u=Me,w=Ne;return}if(v(),!ae&&Te==="markdown"&&ge==="rendered"){ye(ue);return}fe(ue,{language:Y.language,path:Y.path},te,ve);return}if(te.artifactType==="markdown"){if(ge==="source"){v(),fe(te.markdown??"",void 0,te,ve);return}ye(te.markdown??"");return}v(),T(),N(),c.replaceChildren();let we=te.component?o.get(te.component):void 0;if(we){let Te={message:{id:te.id,role:"assistant",content:"",createdAt:new Date().toISOString()},config:n,updateProps:()=>{}};try{let Ae=we(te.props??{},Te);if(Ae){c.appendChild(Ae);return}}catch{}}c.appendChild(Im(te))};return Ce(t),{el:c,update(te){Ce(te)}}}import{Idiomorph as Fm}from"idiomorph";var Ea=(t,e,n={})=>{let{preserveTypingAnimation:o=!0}=n;Fm.morph(t,e.innerHTML,{morphStyle:"innerHTML",callbacks:{beforeNodeMorphed(r,s){if(r instanceof HTMLElement&&o){if(r.classList.contains("persona-animate-typing")||r.hasAttribute("data-preserve-runtime"))return!1;if(r.hasAttribute("data-tool-elapsed"))return s instanceof HTMLElement&&s.getAttribute("data-tool-elapsed")===r.getAttribute("data-tool-elapsed")?!1:void 0;if(r.hasAttribute("data-preserve-animation")){if(s instanceof HTMLElement&&!s.hasAttribute("data-preserve-animation"))return;if(s instanceof HTMLElement&&s.hasAttribute("data-preserve-animation")){let a=r.textContent??"",l=s.textContent??"";if(a!==l)return}return!1}}}}})};var yp=t=>t.replace(/^\n+/,"").replace(/\s+$/,"");var tl={index:-1,draft:""};function bp(t){let{direction:e,history:n,currentValue:o,atStart:r,state:s}=t,a=s.index!==-1;if(n.length===0)return{handled:!1,state:s};if(e==="up"){if(!a&&!r)return{handled:!1,state:s};if(!a){let l=n.length-1;return{handled:!0,value:n[l],state:{index:l,draft:o}}}if(s.index>0){let l=s.index-1;return{handled:!0,value:n[l],state:{index:l,draft:s.draft}}}return{handled:!0,state:s}}if(!a)return{handled:!1,state:s};if(s.index<n.length-1){let l=s.index+1;return{handled:!0,value:n[l],state:{index:l,draft:s.draft}}}return{handled:!0,value:s.draft,state:{index:-1,draft:s.draft}}}function vp(t,e){return[t.id,t.role,t.content?.length??0,t.content?.slice(-32)??"",t.streaming?"1":"0",t.voiceProcessing?"1":"0",t.variant??"",t.rawContent?.length??0,t.llmContent?.length??0,t.approval?.status??"",t.toolCall?.status??"",t.toolCall?.name??"",t.toolCall?.chunks?.length??0,t.toolCall?.chunks?.[t.toolCall.chunks.length-1]?.slice(-32)??"",typeof t.toolCall?.args=="string"?t.toolCall.args.length:t.toolCall?.args?JSON.stringify(t.toolCall.args).length:0,t.reasoning?.chunks?.length??0,t.reasoning?.chunks?.[t.reasoning.chunks.length-1]?.length??0,t.reasoning?.chunks?.[t.reasoning.chunks.length-1]?.slice(-32)??"",t.contentParts?.length??0,t.stopReason??"",e].join("\0")}function wp(){return new Map}function xp(t,e,n){let o=t.get(e);return o&&o.fingerprint===n?o.wrapper:null}function Cp(t,e,n,o){t.set(e,{fingerprint:n,wrapper:o})}function Ap(t,e){for(let n of t.keys())e.has(n)||t.delete(n)}function ka(t=!0){let e=t;return{isFollowing:()=>e,pause:()=>e?(e=!1,!0):!1,resume:()=>e?!1:(e=!0,!0)}}function En(t){return Math.max(0,t.scrollHeight-t.clientHeight)}function io(t,e){return En(t)-t.scrollTop<=e}function La(t){let{following:e,currentScrollTop:n,lastScrollTop:o,nearBottom:r,userScrollThreshold:s,isAutoScrolling:a=!1,pauseOnUpwardScroll:l=!1,pauseWhenAwayFromBottom:p=!0,resumeRequiresDownwardScroll:d=!1}=t,c=n-o;return a||Math.abs(c)<s?{action:"none",delta:c,nextLastScrollTop:n}:!e&&r&&(!d||c>0)?{action:"resume",delta:c,nextLastScrollTop:n}:e&&l&&c<0?{action:"pause",delta:c,nextLastScrollTop:n}:e&&p&&!r?{action:"pause",delta:c,nextLastScrollTop:n}:{action:"none",delta:c,nextLastScrollTop:n}}function Pa(t){let{following:e,deltaY:n,nearBottom:o=!1,resumeWhenNearBottom:r=!1}=t;return e&&n<0?"pause":!e&&r&&n>0&&o?"resume":"none"}function Sp(t,e){return!t||t.isCollapsed?!1:e.contains(t.anchorNode)||e.contains(t.focusNode)}function Tp(t){let e=Math.max(0,t.anchorOffsetTop-t.topOffset),n=Math.max(0,e+t.viewportHeight-t.contentHeight);return{targetScrollTop:e,spacerHeight:n}}function Mp(t){let e=Math.max(0,t.currentContentHeight-t.contentHeightAtAnchor);return Math.max(0,t.initialSpacerHeight-e)}var cs={type:"none",placeholder:"none",speed:120,duration:1800,buffer:"none"},Om=["pre","code","a","script","style"],Ia=t=>({type:t?.type??cs.type,placeholder:t?.placeholder??cs.placeholder,speed:t?.speed??cs.speed,duration:t?.duration??cs.duration,buffer:t?.buffer??cs.buffer}),_m=[{name:"typewriter",containerClass:"persona-stream-typewriter",wrap:"char",useCaret:!0},{name:"pop-bubble",bubbleClass:"persona-stream-pop",wrap:"none"},{name:"letter-rise",containerClass:"persona-stream-letter-rise",wrap:"char"},{name:"word-fade",containerClass:"persona-stream-word-fade",wrap:"word"}],kp=new Map;for(let t of _m)kp.set(t.name,t);var ur=(t,e)=>t==="none"?null:e&&Object.prototype.hasOwnProperty.call(e,t)?e[t]??null:kp.get(t)??null,Ra=(t,e,n,o,r)=>{if(!r)return t;if(n?.bufferContent)return n.bufferContent(t,o);if(!t)return t;if(e==="word"){let s=t.search(/\s(?=\S*$)/);return s<0?"":t.slice(0,s)}if(e==="line"){let s=t.lastIndexOf(`
31
+ `);return s<0?"":t.slice(0,s)}return t},$m=(t,e,n,o)=>{let r=t.createElement("span");return r.className="persona-stream-char",r.id=`stream-c-${n}-${o}`,r.style.setProperty("--char-index",String(o)),r.textContent=e,r},zm=(t,e,n,o)=>{let r=t.createElement("span");return r.className="persona-stream-word",r.id=`stream-w-${n}-${o}`,r.style.setProperty("--word-index",String(o)),r.textContent=e,r},nl=/\s/,Um=(t,e)=>{let n=t.parentNode;for(;n;){if(n.nodeType===1){let o=n;if(e.has(o.tagName.toLowerCase()))return!0}n=n.parentNode}return!1},jm=(t,e,n)=>{let o=t.ownerDocument,r=t.parentNode;if(!o||!r)return;let s=t.nodeValue??"";if(!s)return;let a=o.createDocumentFragment(),l=0;for(;l<s.length;)if(nl.test(s[l])){let p=l;for(;p<s.length&&nl.test(s[p]);)p+=1;a.appendChild(o.createTextNode(s.slice(l,p))),l=p}else{let p=o.createElement("span");p.className="persona-stream-word-group";let d=l;for(;d<s.length&&!nl.test(s[d]);)p.appendChild($m(o,s[d],e,n.value)),n.value+=1,d+=1;a.appendChild(p),l=d}r.replaceChild(a,t)},qm=(t,e,n)=>{let o=t.ownerDocument,r=t.parentNode;if(!o||!r)return;let s=t.nodeValue??"";if(!s)return;let a=o.createDocumentFragment(),l=s.split(/(\s+)/);for(let p of l)p&&(/^\s+$/.test(p)?a.appendChild(o.createTextNode(p)):(a.appendChild(zm(o,p,e,n.value)),n.value+=1));r.replaceChild(a,t)},ds=(t,e,n,o)=>{if(!t||typeof document>"u")return t;let r=document.createElement("div");r.innerHTML=t;let s=new Set((o?.skipTags??Om).map(u=>u.toLowerCase())),a=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,null),l=[],p=a.nextNode();for(;p;)Um(p,s)||l.push(p),p=a.nextNode();let d={value:o?.startIndex??0},c=e==="char"?jm:qm;for(let u of l)c(u,n,d);return r.innerHTML},Wa=(t=document)=>{let e=t.createElement("span");return e.className="persona-stream-caret",e.setAttribute("aria-hidden","true"),e.setAttribute("data-preserve-animation","stream-caret"),e},ps=(t=document)=>{let e=t.createElement("div");e.className="persona-stream-skeleton",e.setAttribute("data-preserve-animation","stream-skeleton"),e.setAttribute("aria-hidden","true");let n=t.createElement("div");return n.className="persona-stream-skeleton-line",e.appendChild(n),e},Ep=new WeakMap,Vm=(t,e)=>{if(!t.styles)return;let n=Ep.get(e);if(n||(n=new Set,Ep.set(e,n)),n.has(t.name)){let s=t.name.replace(/["\\]/g,"\\$&");if(e.querySelector(`style[data-persona-animation="${s}"]`))return;n.delete(t.name)}n.add(t.name);let r=(e instanceof ShadowRoot?e.ownerDocument:e.ownerDocument??document).createElement("style");r.setAttribute("data-persona-animation",t.name),r.textContent=t.styles,e.appendChild(r)},ol=new WeakMap,Km=(t,e)=>{if(!t.onAttach)return;let n=ol.get(e);if(n||(n=new Map,ol.set(e,n)),n.has(t.name))return;let o=t.onAttach(e);n.set(t.name,o)},Lp=t=>{let e=ol.get(t);if(e){for(let n of e.values())typeof n=="function"&&n();e.clear()}},Ba=(t,e)=>{Vm(t,e),Km(t,e)};function rl(t,e=zt){let n=t.style.position,o=t.style.zIndex,r=t.style.isolation,s=getComputedStyle(t),a=s.position==="static"||s.position==="";return a&&(t.style.position="relative"),t.style.zIndex=String(e),t.style.isolation="isolate",()=>{a&&(t.style.position=n),t.style.zIndex=o,t.style.isolation=r}}var us=0,lo=null;function sl(t=document){if(us++,us===1){let n=t.body,r=(t.defaultView??window).scrollY||t.documentElement.scrollTop;lo={originalOverflow:n.style.overflow,originalPosition:n.style.position,originalTop:n.style.top,originalWidth:n.style.width,scrollY:r},n.style.overflow="hidden",n.style.position="fixed",n.style.top=`-${r}px`,n.style.width="100%"}let e=!1;return()=>{if(!e&&(e=!0,us=Math.max(0,us-1),us===0&&lo)){let n=t.body,o=t.defaultView??window;n.style.overflow=lo.originalOverflow,n.style.position=lo.originalPosition,n.style.top=lo.originalTop,n.style.width=lo.originalWidth,o.scrollTo(0,lo.scrollY),lo=null}}}var fs={side:"right",width:"420px",animate:!0,reveal:"resize",maxHeight:"100dvh"},Nt=t=>(t?.launcher?.mountMode??"floating")==="docked",gs=t=>(t?.launcher?.mountMode??"floating")==="composer-bar",un=t=>{let e=t?.launcher?.dock;return{side:e?.side??fs.side,width:e?.width??fs.width,animate:e?.animate??fs.animate,reveal:e?.reveal??fs.reveal,maxHeight:e?.maxHeight??fs.maxHeight}};var xn={"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"};var Gm="persona-relative persona-ml-auto persona-inline-flex persona-items-center persona-justify-center",Ha=(t,e={})=>{let{showClose:n=!0,wrapperClassName:o=Gm,buttonSize:r,iconSize:s="28px"}=e,a=t?.launcher??{},l=r??a.closeButtonSize??"32px",p=m("div",o),d=a.closeButtonTooltipText??"Close chat",c=a.closeButtonShowTooltip??!0,u=a.closeButtonIconName??"x",w=a.closeButtonIconText??"\xD7",f=!!(a.closeButtonBorderWidth||a.closeButtonBorderColor),v=De("button",{className:Bn("persona-inline-flex persona-items-center persona-justify-center persona-cursor-pointer",!a.closeButtonBackgroundColor&&"hover:persona-bg-gray-100",!f&&"persona-border-none",!a.closeButtonBorderRadius&&"persona-rounded-full"),attrs:{type:"button","aria-label":d},style:{height:l,width:l,display:n?void 0:"none",color:a.closeButtonColor||Kt.actionIconColor,backgroundColor:a.closeButtonBackgroundColor||void 0,border:f?`${a.closeButtonBorderWidth||"0px"} solid ${a.closeButtonBorderColor||"transparent"}`:void 0,borderRadius:a.closeButtonBorderRadius||void 0,paddingLeft:a.closeButtonPaddingX||void 0,paddingRight:a.closeButtonPaddingX||void 0,paddingTop:a.closeButtonPaddingY||void 0,paddingBottom:a.closeButtonPaddingY||void 0}}),C=ne(u,s,"currentColor",1);if(C?(C.style.display="block",v.appendChild(C)):v.textContent=w,p.appendChild(v),c&&d){let P=null,H=()=>{if(P)return;let T=v.ownerDocument,I=T.body;if(!I)return;P=Tn(T,"div","persona-clear-chat-tooltip"),P.textContent=d;let z=Tn(T,"div");z.className="persona-clear-chat-tooltip-arrow",P.appendChild(z);let N=v.getBoundingClientRect();P.style.position="fixed",P.style.zIndex=String(so),P.style.left=`${N.left+N.width/2}px`,P.style.top=`${N.top-8}px`,P.style.transform="translate(-50%, -100%)",I.appendChild(P)},E=()=>{P&&P.parentNode&&(P.parentNode.removeChild(P),P=null)};p.addEventListener("mouseenter",H),p.addEventListener("mouseleave",E),v.addEventListener("focus",H),v.addEventListener("blur",E),p._cleanupTooltip=()=>{E(),p.removeEventListener("mouseenter",H),p.removeEventListener("mouseleave",E),v.removeEventListener("focus",H),v.removeEventListener("blur",E)}}return{button:v,wrapper:p}},Qm="persona-relative persona-ml-auto persona-clear-chat-button-wrapper",Da=(t,e={})=>{let{wrapperClassName:n=Qm,buttonSize:o,iconSize:r="20px"}=e,a=(t?.launcher??{}).clearChat??{},l=o??a.size??"32px",p=a.iconName??"refresh-cw",d=a.iconColor??"",c=a.backgroundColor??"",u=a.borderWidth??"",w=a.borderColor??"",f=a.borderRadius??"",v=a.paddingX??"",C=a.paddingY??"",P=a.tooltipText??"Clear chat",H=a.showTooltip??!0,E=m("div",n),T=!!(u||w),I=De("button",{className:Bn("persona-inline-flex persona-items-center persona-justify-center persona-cursor-pointer",!c&&"hover:persona-bg-gray-100",!T&&"persona-border-none",!f&&"persona-rounded-full"),attrs:{type:"button","aria-label":P},style:{height:l,width:l,color:d||Kt.actionIconColor,backgroundColor:c||void 0,border:T?`${u||"0px"} solid ${w||"transparent"}`:void 0,borderRadius:f||void 0,paddingLeft:v||void 0,paddingRight:v||void 0,paddingTop:C||void 0,paddingBottom:C||void 0}}),z=ne(p,r,"currentColor",1);if(z&&(z.style.display="block",I.appendChild(z)),E.appendChild(I),H&&P){let N=null,x=()=>{if(N)return;let q=I.ownerDocument,J=q.body;if(!J)return;N=Tn(q,"div","persona-clear-chat-tooltip"),N.textContent=P;let D=Tn(q,"div");D.className="persona-clear-chat-tooltip-arrow",N.appendChild(D);let $=I.getBoundingClientRect();N.style.position="fixed",N.style.zIndex=String(so),N.style.left=`${$.left+$.width/2}px`,N.style.top=`${$.top-8}px`,N.style.transform="translate(-50%, -100%)",J.appendChild(N)},j=()=>{N&&N.parentNode&&(N.parentNode.removeChild(N),N=null)};E.addEventListener("mouseenter",x),E.addEventListener("mouseleave",j),I.addEventListener("focus",x),I.addEventListener("blur",j),E._cleanupTooltip=()=>{j(),E.removeEventListener("mouseenter",x),E.removeEventListener("mouseleave",j),I.removeEventListener("focus",x),I.removeEventListener("blur",j)}}return{button:I,wrapper:E}};var Kt={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-action-icon-fg, var(--persona-muted, #9ca3af))"},Bo=t=>{let{config:e,showClose:n=!0}=t,o=De("div",{className:"persona-widget-header persona-flex persona-items-center persona-gap-3 persona-px-6 persona-py-5",attrs:{"data-persona-theme-zone":"header"},style:{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)))"}}),r=e?.launcher??{},s=r.headerIconSize??"48px",a=r.closeButtonPlacement??"inline",l=r.headerIconHidden??!1,p=r.headerIconName,d=De("div",{className:"persona-flex persona-items-center persona-justify-center persona-rounded-xl persona-text-xl",style:{height:s,width:s,backgroundColor:"var(--persona-header-icon-bg, var(--persona-primary, #0f0f0f))",color:"var(--persona-header-icon-fg, var(--persona-text-inverse, #ffffff))"}});if(!l)if(p){let z=parseFloat(s)||24,N=ne(p,z*.6,"currentColor",1);N?d.replaceChildren(N):d.textContent=e?.launcher?.agentIconText??"\u{1F4AC}"}else if(e?.launcher?.iconUrl){let z=m("img");z.src=e.launcher.iconUrl,z.alt="",z.className="persona-rounded-xl persona-object-cover",z.style.height=s,z.style.width=s,d.replaceChildren(z)}else d.textContent=e?.launcher?.agentIconText??"\u{1F4AC}";let c=m("div","persona-flex persona-flex-col persona-flex-1 persona-min-w-0"),u=De("span",{className:"persona-text-base persona-font-semibold",text:e?.launcher?.title??"Chat Assistant",style:{color:Kt.titleColor}}),w=De("span",{className:"persona-text-xs",text:e?.launcher?.subtitle??"Here to help you get answers fast",style:{color:Kt.subtitleColor}});c.append(u,w),l?o.append(c):o.append(d,c);let f=r.clearChat??{},v=f.enabled??!0,C=f.placement??"inline",P=null,H=null;if(v){let N=Da(e,{wrapperClassName:C==="top-right"?"persona-absolute persona-top-4 persona-z-50":"persona-relative persona-ml-auto persona-clear-chat-button-wrapper"});P=N.button,H=N.wrapper,C==="top-right"&&(H.style.right="48px"),C==="inline"&&o.appendChild(H)}let E=a==="top-right"?"persona-absolute persona-top-4 persona-right-4 persona-z-50":v&&C==="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",{button:T,wrapper:I}=Ha(e,{showClose:n,wrapperClassName:E});return a!=="top-right"&&o.appendChild(I),{header:o,iconHolder:d,headerTitle:u,headerSubtitle:w,closeButton:T,closeButtonWrapper:I,clearChatButton:P,clearChatButtonWrapper:H}},ms=(t,e,n)=>{let o=n?.launcher??{},r=o.closeButtonPlacement??"inline",s=o.clearChat?.placement??"inline";t.appendChild(e.header),r==="top-right"&&(t.style.position="relative",t.appendChild(e.closeButtonWrapper)),e.clearChatButtonWrapper&&s==="top-right"&&(t.style.position="relative",t.appendChild(e.clearChatButtonWrapper))};var Xm=t=>{let e=Bo({config:t.config,showClose:t.showClose,onClose:t.onClose,onClearChat:t.onClearChat}),n=t.layoutHeaderConfig?.onTitleClick;if(n){let o=e.headerTitle.parentElement;o&&(o.style.cursor="pointer",o.setAttribute("role","button"),o.setAttribute("tabindex","0"),o.addEventListener("click",()=>n()),o.addEventListener("keydown",r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),n())}))}return e};function Jm(t,e,n){if(e?.length)for(let o of e){let r=m("button","persona-inline-flex persona-items-center persona-justify-center persona-rounded-md persona-border-none persona-bg-transparent persona-p-0 persona-text-persona-muted hover:persona-opacity-80");if(r.type="button",r.setAttribute("aria-label",o.ariaLabel??o.label??o.id),o.icon){let s=ne(o.icon,14,"currentColor",2);s&&r.appendChild(s)}else o.label&&(r.textContent=o.label);if(o.menuItems?.length){let s=m("div","persona-relative");s.appendChild(r);let a=dr({items:o.menuItems,onSelect:l=>n?.(l),anchor:s,position:"bottom-left"});s.appendChild(a.element),r.addEventListener("click",l=>{l.stopPropagation(),a.toggle()}),t.appendChild(s)}else r.addEventListener("click",()=>n?.(o.id)),t.appendChild(r)}}var Ym=t=>{let{config:e,showClose:n=!0,onClose:o,layoutHeaderConfig:r,onHeaderAction:s}=t,a=e?.launcher??{},l=m("div","persona-flex persona-items-center persona-justify-between persona-px-6 persona-py-4");l.setAttribute("data-persona-theme-zone","header"),l.style.backgroundColor="var(--persona-header-bg, var(--persona-surface, #ffffff))",l.style.borderBottomColor="var(--persona-header-border, var(--persona-divider, #f1f5f9))",l.style.boxShadow="var(--persona-header-shadow, none)",l.style.borderBottom="var(--persona-header-border-bottom, 1px solid var(--persona-header-border, var(--persona-divider, #f1f5f9)))";let p=r?.titleMenu,d,c;if(p)d=lp({label:a.title??"Chat Assistant",menuItems:p.menuItems,onSelect:p.onSelect,hover:p.hover,className:""}).element,d.style.color=Kt.titleColor,c=d.querySelector(".persona-combo-btn-label")??d;else{if(d=m("div","persona-flex persona-min-w-0 persona-flex-1 persona-items-center persona-gap-1"),c=m("span","persona-text-base persona-font-semibold persona-truncate"),c.style.color=Kt.titleColor,c.textContent=a.title??"Chat Assistant",d.appendChild(c),Jm(d,r?.trailingActions,r?.onAction??s),r?.onTitleClick){d.style.cursor="pointer",d.setAttribute("role","button"),d.setAttribute("tabindex","0");let T=r.onTitleClick;d.addEventListener("click",I=>{I.target.closest("button")||T()}),d.addEventListener("keydown",I=>{(I.key==="Enter"||I.key===" ")&&(I.preventDefault(),T())})}let E=r?.titleRowHover;E&&(d.style.borderRadius=E.borderRadius??"10px",d.style.padding=E.padding??"6px 4px 6px 12px",d.style.margin="-6px 0 -6px -12px",d.style.border="1px solid transparent",d.style.transition="background-color 0.15s ease, border-color 0.15s ease",d.style.width="fit-content",d.style.flex="none",d.addEventListener("mouseenter",()=>{d.style.backgroundColor=E.background??"",d.style.borderColor=E.border??""}),d.addEventListener("mouseleave",()=>{d.style.backgroundColor="",d.style.borderColor="transparent"}))}l.appendChild(d);let u=a.closeButtonSize??"32px",w=m("div",""),f=m("button","persona-inline-flex persona-items-center persona-justify-center persona-rounded-full hover:persona-bg-gray-100 persona-cursor-pointer persona-border-none");f.style.height=u,f.style.width=u,f.type="button",f.setAttribute("aria-label","Close chat"),f.style.display=n?"":"none",f.style.color=a.closeButtonColor||Kt.actionIconColor;let v=a.closeButtonIconName??"x",C=ne(v,"28px","currentColor",1);C?f.appendChild(C):f.textContent="\xD7",o&&f.addEventListener("click",o),w.appendChild(f),l.appendChild(w);let P=m("div");P.style.display="none";let H=m("span");return H.style.display="none",{header:l,iconHolder:P,headerTitle:c,headerSubtitle:H,closeButton:f,closeButtonWrapper:w,clearChatButton:null,clearChatButtonWrapper:null}},Pp={default:Xm,minimal:Ym},Zm=t=>Pp[t]??Pp.default,Na=(t,e,n)=>{if(e?.render){let a=e.render({config:t,onClose:n?.onClose,onClearChat:n?.onClearChat,trailingActions:e.trailingActions,onAction:e.onAction}),l=m("div");l.style.display="none";let p=m("span"),d=m("span"),c=m("button");c.style.display="none";let u=m("div");return u.style.display="none",{header:a,iconHolder:l,headerTitle:p,headerSubtitle:d,closeButton:c,closeButtonWrapper:u,clearChatButton:null,clearChatButtonWrapper:null}}let o=e?.layout??"default",s=Zm(o)({config:t,showClose:e?.showCloseButton??n?.showClose??!0,onClose:n?.onClose,onClearChat:n?.onClearChat,layoutHeaderConfig:e,onHeaderAction:e?.onAction});return e&&(e.showIcon===!1&&(s.iconHolder.style.display="none"),e.showTitle===!1&&(s.headerTitle.style.display="none"),e.showSubtitle===!1&&(s.headerSubtitle.style.display="none"),e.showCloseButton===!1&&(s.closeButton.style.display="none"),e.showClearChat===!1&&s.clearChatButtonWrapper&&(s.clearChatButtonWrapper.style.display="none")),s};var Fa=t=>{let e=m("textarea");e.setAttribute("data-persona-composer-input",""),e.placeholder=t?.copy?.inputPlaceholder??"Type your message\u2026",e.className="persona-w-full persona-min-h-[24px] persona-resize-none persona-border-none persona-bg-transparent persona-text-sm persona-text-persona-primary focus:persona-outline-none focus:persona-border-none persona-composer-textarea",e.rows=1,e.style.fontFamily='var(--persona-input-font-family, var(--persona-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif))',e.style.fontWeight="var(--persona-input-font-weight, var(--persona-font-weight, 400))";let n=3,o=20;e.style.maxHeight=`${n*o}px`,e.style.overflowY="auto";let r=()=>{let a=parseFloat(e.style.maxHeight);return Number.isFinite(a)&&a>0?a:n*o},s=()=>{e.addEventListener("input",()=>{e.style.height="auto";let a=Math.min(e.scrollHeight,r());e.style.height=`${a}px`})};return e.style.border="none",e.style.outline="none",e.style.borderWidth="0",e.style.borderStyle="none",e.style.borderColor="transparent",e.addEventListener("focus",()=>{e.style.border="none",e.style.outline="none",e.style.borderWidth="0",e.style.borderStyle="none",e.style.borderColor="transparent",e.style.boxShadow="none"}),e.addEventListener("blur",()=>{e.style.border="none",e.style.outline="none"}),{textarea:e,attachAutoResize:s}},Oa=t=>{let e=t?.sendButton??{},n=e.useIcon??!1,o=e.iconText??"\u2191",r=e.iconName,s=e.stopIconName??"square",a=e.tooltipText??"Send message",l=e.stopTooltipText??"Stop generating",p=t?.copy?.sendButtonLabel??"Send",d=t?.copy?.stopButtonLabel??"Stop",c=e.showTooltip??!1,u=e.size??"40px",w=e.backgroundColor,f=e.textColor,v=m("div","persona-send-button-wrapper"),C=De("button",{className:Bn("persona-rounded-button disabled:persona-opacity-50 persona-cursor-pointer",n?"persona-flex persona-items-center persona-justify-center":"persona-bg-persona-accent persona-px-4 persona-py-2 persona-text-sm persona-font-semibold",n&&!w&&"persona-bg-persona-primary",!n&&!f&&"persona-text-white"),attrs:{type:"submit","data-persona-composer-submit":""},style:{width:n?u:void 0,height:n?u:void 0,minWidth:n?u:void 0,minHeight:n?u:void 0,fontSize:n?"18px":void 0,lineHeight:n?"1":void 0,color:n?f||"var(--persona-button-primary-fg, #ffffff)":f||void 0,backgroundColor:n&&w||void 0,borderWidth:e.borderWidth||void 0,borderStyle:e.borderWidth?"solid":void 0,borderColor:e.borderColor||void 0,paddingLeft:e.paddingX||void 0,paddingRight:e.paddingX||void 0,paddingTop:e.paddingY||void 0,paddingBottom:e.paddingY||void 0}}),P=null,H=null;if(n){let z=parseFloat(u)||24,N=f?.trim()||"currentColor";r?(P=ne(r,z,N,2),P?C.appendChild(P):C.textContent=o):C.textContent=o,H=ne(s,z,N,2)}else C.textContent=p;let E=null;c&&a&&(E=m("div","persona-send-button-tooltip"),E.textContent=a,v.appendChild(E)),C.setAttribute("aria-label",a),v.appendChild(C);let T="send";return{button:C,wrapper:v,setMode:z=>{if(z===T)return;T=z;let N=z==="stop"?l:a;if(C.setAttribute("aria-label",N),E&&(E.textContent=N),n){if(P&&H){let x=z==="stop"?H:P;C.replaceChildren(x)}}else C.textContent=z==="stop"?d:p}}},_a=t=>{let e=t?.voiceRecognition??{};if(!(e.enabled===!0))return null;let o=typeof window<"u"&&(typeof window.webkitSpeechRecognition<"u"||typeof window.SpeechRecognition<"u"),r=e.provider?.type==="runtype";if(!(o||r))return null;let a=t?.sendButton?.size??"40px",l=e.iconName??"mic",p=e.iconSize??a,d=parseFloat(p)||24,c=e.backgroundColor??t?.sendButton?.backgroundColor,u=e.iconColor??t?.sendButton?.textColor,w=m("div","persona-send-button-wrapper"),f=De("button",{className:"persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer",attrs:{type:"button","data-persona-composer-mic":"","aria-label":"Start voice recognition"},style:{width:p,height:p,minWidth:p,minHeight:p,fontSize:"18px",lineHeight:"1",color:u||"var(--persona-text, #111827)",backgroundColor:c||void 0,borderWidth:e.borderWidth||void 0,borderStyle:e.borderWidth?"solid":void 0,borderColor:e.borderColor||void 0,paddingLeft:e.paddingX||void 0,paddingRight:e.paddingX||void 0,paddingTop:e.paddingY||void 0,paddingBottom:e.paddingY||void 0}}),C=ne(l,d,u||"currentColor",1.5);C?f.appendChild(C):f.textContent="\u{1F3A4}",w.appendChild(f);let P=e.tooltipText??"Start voice recognition";if((e.showTooltip??!1)&&P){let E=m("div","persona-send-button-tooltip");E.textContent=P,w.appendChild(E)}return{button:f,wrapper:w}},$a=t=>{let e=t?.attachments??{};if(e.enabled!==!0)return null;let n=t?.sendButton?.size??"40px",o=m("div","persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2");o.setAttribute("data-persona-composer-attachment-previews",""),o.style.display="none";let r=m("input");r.type="file",r.setAttribute("data-persona-composer-attachment-input",""),r.accept=(e.allowedTypes??Fn).join(","),r.multiple=(e.maxFiles??4)>1,r.style.display="none",r.setAttribute("aria-label","Attach files");let s=e.buttonIconName??"paperclip",a=n,l=parseFloat(a)||40,p=Math.round(l*.6),d=m("div","persona-send-button-wrapper"),c=De("button",{className:"persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-attachment-button",attrs:{type:"button","data-persona-composer-attachment-button":"","aria-label":e.buttonTooltipText??"Attach file"},style:{width:a,height:a,minWidth:a,minHeight:a,fontSize:"18px",lineHeight:"1"}}),u=ne(s,p,"currentColor",1.5);u?c.appendChild(u):c.textContent="\u{1F4CE}",c.addEventListener("click",v=>{v.preventDefault(),r.click()}),d.appendChild(c);let w=e.buttonTooltipText??"Attach file",f=m("div","persona-send-button-tooltip");return f.textContent=w,d.appendChild(f),{button:c,wrapper:d,input:r,previewsContainer:o}},za=t=>{let e=t?.statusIndicator??{},n=e.align==="left"?"persona-text-left":e.align==="center"?"persona-text-center":"persona-text-right",o=m("div",`persona-mt-2 ${n} persona-text-xs persona-text-persona-muted`);o.setAttribute("data-persona-composer-status","");let r=e.visible??!0;o.style.display=r?"":"none";let s=e.idleText??"Online";if(e.idleLink){let a=m("a");a.href=e.idleLink,a.target="_blank",a.rel="noopener noreferrer",a.textContent=s,a.style.color="inherit",a.style.textDecoration="none",o.appendChild(a)}else o.textContent=s;return o},Ua=()=>De("div",{className:"persona-mb-3 persona-flex persona-flex-wrap persona-gap-2",attrs:{"data-persona-composer-suggestions":""}});var ja=t=>{let{config:e}=t,n=De("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"}}),o=Ua(),r=De("form",{className:"persona-widget-composer persona-flex persona-flex-col persona-gap-2 persona-rounded-2xl persona-border persona-border-gray-200 persona-bg-persona-input-background persona-px-4 persona-py-3",attrs:{"data-persona-composer-form":""},style:{outline:"none"}}),{textarea:s,attachAutoResize:a}=Fa(e);a();let l=Oa(e),p=_a(e),d=$a(e),c=za(e);d&&(d.previewsContainer.style.gap="8px",r.append(d.previewsContainer,d.input)),r.append(s);let u=De("div",{className:"persona-widget-composer__actions persona-flex persona-items-center persona-justify-between persona-w-full",attrs:{"data-persona-composer-actions":""}}),w=m("div","persona-widget-composer__left-actions persona-flex persona-items-center persona-gap-2"),f=m("div","persona-widget-composer__right-actions persona-flex persona-items-center persona-gap-1");return d&&w.append(d.wrapper),p&&f.append(p.wrapper),f.append(l.wrapper),u.append(w,f),r.append(u),r.addEventListener("click",v=>{v.target!==l.button&&v.target!==l.wrapper&&v.target!==p?.button&&v.target!==p?.wrapper&&v.target!==d?.button&&v.target!==d?.wrapper&&s.focus()}),n.append(o,r,c),{footer:n,suggestions:o,composerForm:r,textarea:s,sendButton:l.button,sendButtonWrapper:l.wrapper,micButton:p?.button??null,micButtonWrapper:p?.wrapper??null,statusText:c,attachmentButton:d?.button??null,attachmentButtonWrapper:d?.wrapper??null,attachmentInput:d?.input??null,attachmentPreviewsContainer:d?.previewsContainer??null,actionsRow:u,leftActions:w,rightActions:f,setSendButtonMode:l.setMode}};var Ip=()=>{let t=De("button",{className:"persona-pill-peek",attrs:{type:"button","data-persona-pill-peek":"","aria-label":"Show conversation",tabindex:"-1"}}),e=m("span","persona-pill-peek__icon"),n=ne("message-square",16,"currentColor",1.5);n&&e.appendChild(n);let o=m("span","persona-pill-peek__text"),r=m("span","persona-pill-peek__caret"),s=ne("chevron-up",16,"currentColor",1.5);return s&&r.appendChild(s),t.append(e,o,r),{root:t,textNode:o}},Rp=t=>{let{config:e}=t,n=De("div",{className:"persona-widget-footer persona-widget-footer--pill",attrs:{"data-persona-theme-zone":"composer"}}),o=Ua(),r=za(e);r.style.display="none";let{textarea:s,attachAutoResize:a}=Fa(e);s.style.maxHeight="100px",a();let l=Oa(e),p=_a(e),d=$a(e);d&&d.previewsContainer.classList.add("persona-pill-composer__previews");let c=De("form",{className:"persona-widget-composer persona-pill-composer",attrs:{"data-persona-composer-form":""},style:{outline:"none"}}),u=m("div","persona-widget-composer__left-actions persona-pill-composer__left");d&&u.append(d.wrapper);let w=m("div","persona-widget-composer__right-actions persona-pill-composer__right");p&&w.append(p.wrapper),w.append(l.wrapper),c.addEventListener("click",v=>{v.target!==l.button&&v.target!==l.wrapper&&v.target!==p?.button&&v.target!==p?.wrapper&&v.target!==d?.button&&v.target!==d?.wrapper&&s.focus()}),d&&c.append(d.input),c.append(u,s,w),d&&n.append(d.previewsContainer),n.append(o,c,r);let f=c;return{footer:n,suggestions:o,composerForm:c,textarea:s,sendButton:l.button,sendButtonWrapper:l.wrapper,micButton:p?.button??null,micButtonWrapper:p?.wrapper??null,statusText:r,attachmentButton:d?.button??null,attachmentButtonWrapper:d?.wrapper??null,attachmentInput:d?.input??null,attachmentPreviewsContainer:d?.previewsContainer??null,actionsRow:f,leftActions:u,rightActions:w,setSendButtonMode:l.setMode}};var Wp=t=>{let e=t?.launcher?.enabled??!0,n=Nt(t);if(gs(t)){let c=t?.launcher?.composerBar??{},u=m("div","persona-widget-wrapper persona-fixed persona-transition");u.setAttribute("data-persona-composer-bar",""),u.dataset.state="collapsed",u.dataset.expandedSize=c.expandedSize??"anchored",u.style.zIndex=String(t?.launcher?.zIndex??zt);let w=m("div","persona-widget-panel persona-relative persona-flex persona-flex-1 persona-min-h-0 persona-flex-col");w.style.width="100%",u.appendChild(w);let f=m("div","persona-widget-pill-root");return f.setAttribute("data-persona-composer-bar",""),f.dataset.state="collapsed",f.dataset.expandedSize=c.expandedSize??"anchored",f.style.zIndex=String(t?.launcher?.zIndex??zt),{wrapper:u,panel:w,pillRoot:f}}if(n){let c=m("div","persona-relative persona-h-full persona-w-full persona-flex persona-flex-1 persona-min-h-0 persona-flex-col"),u=m("div","persona-relative persona-h-full persona-w-full persona-flex persona-flex-1 persona-min-h-0 persona-flex-col");return c.appendChild(u),{wrapper:c,panel:u}}if(!e){let c=m("div","persona-relative persona-h-full persona-flex persona-flex-col persona-flex-1 persona-min-h-0"),u=m("div","persona-relative persona-flex-1 persona-flex persona-flex-col persona-min-h-0"),w=t?.launcher?.width??"100%";return c.style.width=w,u.style.width="100%",c.appendChild(u),{wrapper:c,panel:u}}let r=t?.launcher??{},s=r.position&&xn[r.position]?xn[r.position]:xn["bottom-right"],a=m("div",`persona-widget-wrapper persona-fixed ${s} persona-transition`);a.style.zIndex=String(t?.launcher?.zIndex??zt);let l=m("div","persona-widget-panel persona-relative persona-min-h-[320px]"),d=t?.launcher?.width??t?.launcherWidth??On;return l.style.width=d,l.style.maxWidth=d,a.appendChild(l),{wrapper:a,panel:l}},eh=(t,e)=>{let n=m("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:o,wrapper:r}=Ha(t,{showClose:e,wrapperClassName:"persona-composer-bar-close",buttonSize:"16px",iconSize:"14px"});r.style.position="absolute",r.style.top="8px",r.style.right="8px",r.style.zIndex="10";let s=t?.launcher?.clearChat?.enabled??!0,a=null,l=null;if(s){let I=Da(t,{wrapperClassName:"persona-composer-bar-clear-chat",buttonSize:"16px",iconSize:"14px"});a=I.button,l=I.wrapper,l.style.position="absolute",l.style.top="8px",l.style.right="32px",l.style.zIndex="10"}let p=De("span",{className:"persona-widget-header",attrs:{"data-persona-theme-zone":"header"},style:{display:"none"}}),d=De("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"}});d.style.setProperty("scrollbar-gutter","stable");let c=De("h2",{className:"persona-text-lg persona-font-semibold persona-text-persona-primary",text:t?.copy?.welcomeTitle??"Hello \u{1F44B}"}),u=De("p",{className:"persona-mt-2 persona-text-sm persona-text-persona-muted",text:t?.copy?.welcomeSubtitle??"Ask anything about your account or products."}),w=De("div",{className:"persona-rounded-2xl persona-p-6",attrs:{"data-persona-intro-card":""},style:{background:"var(--persona-intro-card-bg, transparent)",boxShadow:"var(--persona-intro-card-shadow, none)"}},c,u),f=m("div","persona-flex persona-flex-col persona-gap-3"),v=t?.layout?.contentMaxWidth;v&&(f.style.maxWidth=v,f.style.marginLeft="auto",f.style.marginRight="auto",f.style.width="100%"),t?.copy?.showWelcomeCard!==!1||(w.style.display="none",d.classList.remove("persona-gap-6"),d.classList.add("persona-gap-3")),d.append(w,f);let P=De("div",{className:"persona-composer-overlay persona-pointer-events-none",attrs:{"data-persona-composer-overlay":""},style:{position:"absolute",left:"0",right:"0",bottom:"0",zIndex:"20"}}),H=Rp({config:t}),{root:E,textNode:T}=Ip();return n.append(p,r,d,P),l&&n.appendChild(l),{container:n,body:d,messagesWrapper:f,composerOverlay:P,suggestions:H.suggestions,textarea:H.textarea,sendButton:H.sendButton,sendButtonWrapper:H.sendButtonWrapper,micButton:H.micButton,micButtonWrapper:H.micButtonWrapper,composerForm:H.composerForm,statusText:H.statusText,introTitle:c,introSubtitle:u,closeButton:o,closeButtonWrapper:r,clearChatButton:a,clearChatButtonWrapper:l,iconHolder:m("span"),headerTitle:m("span"),headerSubtitle:m("span"),header:p,footer:H.footer,attachmentButton:H.attachmentButton,attachmentButtonWrapper:H.attachmentButtonWrapper,attachmentInput:H.attachmentInput,attachmentPreviewsContainer:H.attachmentPreviewsContainer,actionsRow:H.actionsRow,leftActions:H.leftActions,rightActions:H.rightActions,setSendButtonMode:H.setSendButtonMode,peekBanner:E,peekTextNode:T}},Bp=(t,e=!0)=>{if(gs(t))return eh(t,e);let n=De("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"}}),o=t?.layout?.header,r=t?.layout?.showHeader!==!1,s=o?Na(t,o,{showClose:e}):Bo({config:t,showClose:e}),a=De("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"}});a.style.setProperty("scrollbar-gutter","stable");let l=De("h2",{className:"persona-text-lg persona-font-semibold persona-text-persona-primary",text:t?.copy?.welcomeTitle??"Hello \u{1F44B}"}),p=De("p",{className:"persona-mt-2 persona-text-sm persona-text-persona-muted",text:t?.copy?.welcomeSubtitle??"Ask anything about your account or products."}),d=De("div",{className:"persona-rounded-2xl persona-p-6",attrs:{"data-persona-intro-card":""},style:{background:"var(--persona-intro-card-bg, transparent)",boxShadow:Nt(t)?"none":"var(--persona-intro-card-shadow, none)"}},l,p),c=m("div","persona-flex persona-flex-col persona-gap-3"),u=t?.layout?.contentMaxWidth;u&&(c.style.maxWidth=u,c.style.marginLeft="auto",c.style.marginRight="auto",c.style.width="100%"),t?.copy?.showWelcomeCard!==!1||(d.style.display="none",a.classList.remove("persona-gap-6"),a.classList.add("persona-gap-3")),a.append(d,c);let f=ja({config:t}),v=t?.layout?.showFooter!==!1;r?ms(n,s,t):(s.header.style.display="none",ms(n,s,t)),n.append(a);let C=De("div",{className:"persona-composer-overlay persona-pointer-events-none",attrs:{"data-persona-composer-overlay":""},style:{position:"absolute",left:"0",right:"0",bottom:"0",zIndex:"20"}});return v||(f.footer.style.display="none"),n.append(f.footer),n.append(C),{container:n,body:a,messagesWrapper:c,composerOverlay:C,suggestions:f.suggestions,textarea:f.textarea,sendButton:f.sendButton,sendButtonWrapper:f.sendButtonWrapper,micButton:f.micButton,micButtonWrapper:f.micButtonWrapper,composerForm:f.composerForm,statusText:f.statusText,introTitle:l,introSubtitle:p,closeButton:s.closeButton,closeButtonWrapper:s.closeButtonWrapper,clearChatButton:s.clearChatButton,clearChatButtonWrapper:s.clearChatButtonWrapper,iconHolder:s.iconHolder,headerTitle:s.headerTitle,headerSubtitle:s.headerSubtitle,header:s.header,footer:f.footer,attachmentButton:f.attachmentButton,attachmentButtonWrapper:f.attachmentButtonWrapper,attachmentInput:f.attachmentInput,attachmentPreviewsContainer:f.attachmentPreviewsContainer,actionsRow:f.actionsRow,leftActions:f.leftActions,rightActions:f.rightActions,setSendButtonMode:f.setSendButtonMode}};var al=(t,e)=>{let n=m("button");n.type="button",n.innerHTML=`
26
32
  <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">\u{1F4AC}</span>
27
33
  <img data-role="launcher-image" class="persona-rounded-full persona-object-cover" alt="" style="display:none" />
28
34
  <span class="persona-flex persona-min-w-0 persona-flex-1 persona-flex-col persona-items-start persona-text-left">
@@ -30,14 +36,14 @@ _Details: ${n.message}_`:o}var Jr=t=>({isError:!0,content:[{type:"text",text:t}]
30
36
  <span class="persona-block persona-w-full persona-truncate persona-text-xs persona-text-persona-muted" data-role="launcher-subtitle"></span>
31
37
  </span>
32
38
  <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">\u2197</span>
33
- `,n.addEventListener("click",e);let o=s=>{let a=s.launcher??{},l=Ft(s),p=n.querySelector("[data-role='launcher-title']");if(p){let I=a.title??"Chat Assistant";p.textContent=I,p.setAttribute("title",I)}let d=n.querySelector("[data-role='launcher-subtitle']");if(d){let I=a.subtitle??"Here to help you get answers fast";d.textContent=I,d.setAttribute("title",I)}let c=n.querySelector(".persona-flex-col");c&&(a.textHidden||l?c.style.display="none":c.style.display="");let u=n.querySelector("[data-role='launcher-icon']");if(u)if(a.agentIconHidden)u.style.display="none";else{let I=a.agentIconSize??"40px";if(u.style.height=I,u.style.width=I,a.agentIconBackgroundColor?(u.style.backgroundColor=a.agentIconBackgroundColor,u.classList.remove("persona-bg-persona-primary")):(u.style.backgroundColor="",u.classList.add("persona-bg-persona-primary")),u.innerHTML="",a.agentIconName){let H=parseFloat(I)||24,q=ae(a.agentIconName,H*.6,"var(--persona-text-inverse, #ffffff)",2);q?(u.appendChild(q),u.style.display=""):(u.textContent=a.agentIconText??"\u{1F4AC}",u.style.display="")}else a.iconUrl?u.style.display="none":(u.textContent=a.agentIconText??"\u{1F4AC}",u.style.display="")}let w=n.querySelector("[data-role='launcher-image']");if(w){let I=a.agentIconSize??"40px";w.style.height=I,w.style.width=I,a.iconUrl&&!a.agentIconName&&!a.agentIconHidden?(w.src=a.iconUrl,w.style.display="block"):w.style.display="none"}let f=n.querySelector("[data-role='launcher-call-to-action-icon']");if(f){let I=a.callToActionIconSize??"32px";f.style.height=I,f.style.width=I,a.callToActionIconBackgroundColor?(f.style.backgroundColor=a.callToActionIconBackgroundColor,f.classList.remove("persona-bg-persona-primary")):(f.style.backgroundColor="",f.classList.add("persona-bg-persona-primary")),a.callToActionIconColor?(f.style.color=a.callToActionIconColor,f.classList.remove("persona-text-persona-call-to-action")):(f.style.color="",f.classList.add("persona-text-persona-call-to-action"));let H=0;if(a.callToActionIconPadding?(f.style.boxSizing="border-box",f.style.padding=a.callToActionIconPadding,H=(parseFloat(a.callToActionIconPadding)||0)*2):(f.style.boxSizing="",f.style.padding=""),a.callToActionIconHidden)f.style.display="none";else if(f.style.display=l?"none":"",f.innerHTML="",a.callToActionIconName){let q=parseFloat(I)||24,U=Math.max(q-H,8),$=ae(a.callToActionIconName,U,"currentColor",2);$?f.appendChild($):f.textContent=a.callToActionIconText??"\u2197"}else f.textContent=a.callToActionIconText??"\u2197"}let v=a.position&&wn[a.position]?wn[a.position]:wn["bottom-right"],x="persona-fixed persona-flex persona-items-center persona-gap-3 persona-rounded-launcher persona-bg-persona-surface persona-py-2.5 persona-pl-3 persona-pr-3 persona-transition hover:persona-translate-y-[-2px] persona-cursor-pointer",P="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-surface persona-transition hover:persona-translate-y-[-2px] persona-cursor-pointer";n.className=l?P:`${x} ${v}`,l||(n.style.zIndex=String(a.zIndex??Ut));let W="1px solid var(--persona-border, #e5e7eb)",T="var(--persona-launcher-shadow, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1))";n.style.border=a.border??W,n.style.boxShadow=a.shadow!==void 0?a.shadow.trim()===""?"none":a.shadow:T,l?(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=a.collapsedMaxWidth??"",n.style.justifyContent="",n.style.padding="",n.style.overflow="")},r=()=>{n.removeEventListener("click",e),n.remove()};return t&&o(t),{element:n,update:o,destroy:r}};var Sp=({config:t,showClose:e})=>{let{wrapper:n,panel:o,pillRoot:r}=Cp(t),s=Ap(t,e),a={wrapper:n,panel:o,pillRoot:r},l={container:s.container,body:s.body,messagesWrapper:s.messagesWrapper,composerOverlay:s.composerOverlay,introTitle:s.introTitle,introSubtitle:s.introSubtitle},p={element:s.header,iconHolder:s.iconHolder,headerTitle:s.headerTitle,headerSubtitle:s.headerSubtitle,closeButton:s.closeButton,closeButtonWrapper:s.closeButtonWrapper,clearChatButton:s.clearChatButton,clearChatButtonWrapper:s.clearChatButtonWrapper},d={footer:s.footer,form:s.composerForm,textarea:s.textarea,sendButton:s.sendButton,sendButtonWrapper:s.sendButtonWrapper,micButton:s.micButton,micButtonWrapper:s.micButtonWrapper,statusText:s.statusText,suggestions:s.suggestions,attachmentButton:s.attachmentButton,attachmentButtonWrapper:s.attachmentButtonWrapper,attachmentInput:s.attachmentInput,attachmentPreviewsContainer:s.attachmentPreviewsContainer,actionsRow:s.actionsRow,leftActions:s.leftActions,rightActions:s.rightActions,setSendButtonMode:s.setSendButtonMode,peekBanner:s.peekBanner,peekTextNode:s.peekTextNode};return{shell:a,panelElements:s,transcript:l,header:p,composer:d,replaceHeader:w=>(p.element.replaceWith(w.header),p.element=w.header,p.iconHolder=w.iconHolder,p.headerTitle=w.headerTitle,p.headerSubtitle=w.headerSubtitle,p.closeButton=w.closeButton,p.closeButtonWrapper=w.closeButtonWrapper,p.clearChatButton=w.clearChatButton,p.clearChatButtonWrapper=w.clearChatButtonWrapper,w),replaceComposer:w=>{d.footer.replaceWith(w),d.footer=w}}},tl=({config:t,plugins:e,onToggle:n})=>{let o=e.find(s=>s.renderLauncher);if(o?.renderLauncher){let s=o.renderLauncher({config:t,defaultRenderer:()=>el(t,n).element,onToggle:n});if(s)return{instance:null,element:s}}let r=el(t,n);return{instance:r,element:r.element}};var Fy=t=>{switch(t){case"max_tool_calls":return"Stopped after calling a tool. Send a follow-up to continue.";case"length":return"Response cut off as max tokens reached. Ask for more to continue.";case"content_filter":return"The provider filtered this response.";case"error":return"Something went wrong generating this response.";default:return null}},Oy=(t,e)=>{if(!t)return null;let n=Fy(t);if(n===null)return null;let o=e?.[t],r=o!==void 0?o:n;return r||null},_y=(t,e)=>{let n=m("div","persona-message-stop-reason persona-text-xs persona-mt-2 persona-italic");return n.setAttribute("data-stop-reason",t),n.setAttribute("role","note"),n.style.opacity="0.75",n.textContent=e,n},$y=t=>{let e=t.toLowerCase();return e.startsWith("data:image/svg+xml")?!1:!!(/^(?:https?|blob):/i.test(t)||e.startsWith("data:image/")||!t.includes(":"))},nl=t=>{let e=t.toLowerCase();return e.startsWith("javascript:")||e.startsWith("data:text/html")||e.startsWith("data:text/javascript")||e.startsWith("data:text/xml")||e.startsWith("data:application/xhtml")||e.startsWith("data:image/svg+xml")?!1:!!(/^(?:https?|blob):/i.test(t)||e.startsWith("data:")||!t.includes(":"))},ol=320,Mp=320,Uy=t=>!t.contentParts||t.contentParts.length===0?[]:t.contentParts.filter(e=>e.type==="image"&&typeof e.image=="string"&&e.image.trim().length>0),zy=t=>!t.contentParts||t.contentParts.length===0?[]:t.contentParts.filter(e=>e.type==="audio"&&typeof e.audio=="string"&&e.audio.trim().length>0),jy=t=>!t.contentParts||t.contentParts.length===0?[]:t.contentParts.filter(e=>e.type==="video"&&typeof e.video=="string"&&e.video.trim().length>0),qy=t=>!t.contentParts||t.contentParts.length===0?[]:t.contentParts.filter(e=>e.type==="file"&&typeof e.data=="string"&&e.data.trim().length>0),Vy=(t,e,n)=>{if(t.length===0)return null;try{let o=m("div","persona-flex persona-flex-col persona-gap-2");o.setAttribute("data-message-attachments","images"),e&&(o.style.marginBottom="8px");let r=0,s=!1,a=()=>{s||(s=!0,o.remove(),n?.())};return t.forEach((l,p)=>{let d=m("img");d.alt=l.alt?.trim()||`Attached image ${p+1}`,d.loading="lazy",d.decoding="async",d.referrerPolicy="no-referrer",d.style.display="block",d.style.width="100%",d.style.maxWidth=`${ol}px`,d.style.maxHeight=`${Mp}px`,d.style.height="auto",d.style.objectFit="contain",d.style.borderRadius="10px",d.style.backgroundColor="var(--persona-attachment-image-bg, var(--persona-container, #f3f4f6))",d.style.border="1px solid var(--persona-attachment-image-border, var(--persona-border, #e5e7eb))";let c=!1;r+=1,d.addEventListener("error",()=>{c||(c=!0,r=Math.max(0,r-1),d.remove(),r===0&&a())}),d.addEventListener("load",()=>{c=!0}),$y(l.image)?(d.src=l.image,o.appendChild(d)):(c=!0,r=Math.max(0,r-1),d.remove())}),r===0?(a(),null):o}catch{return n?.(),null}},Ky=t=>{if(t.length===0)return null;try{let e=m("div","persona-flex persona-flex-col persona-gap-2");e.setAttribute("data-message-attachments","audio");let n=0;return t.forEach(o=>{if(!nl(o.audio))return;let r=m("audio");r.controls=!0,r.preload="metadata",r.src=o.audio,r.style.display="block",r.style.width="100%",r.style.maxWidth=`${ol}px`,e.appendChild(r),n+=1}),n===0?(e.remove(),null):e}catch{return null}},Gy=t=>{if(t.length===0)return null;try{let e=m("div","persona-flex persona-flex-col persona-gap-2");e.setAttribute("data-message-attachments","video");let n=0;return t.forEach(o=>{if(!nl(o.video))return;let r=m("video");r.controls=!0,r.preload="metadata",r.src=o.video,r.style.display="block",r.style.width="100%",r.style.maxWidth=`${ol}px`,r.style.maxHeight=`${Mp}px`,r.style.borderRadius="10px",r.style.backgroundColor="var(--persona-attachment-image-bg, var(--persona-container, #f3f4f6))",e.appendChild(r),n+=1}),n===0?(e.remove(),null):e}catch{return null}},Xy=t=>{if(t.length===0)return null;try{let e=m("div","persona-flex persona-flex-col persona-gap-2");e.setAttribute("data-message-attachments","files");let n=0;return t.forEach(o=>{if(!nl(o.data))return;let r=m("a");r.href=o.data,r.download=o.filename,r.target="_blank",r.rel="noopener noreferrer",r.textContent=o.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",e.appendChild(r),n+=1}),n===0?(e.remove(),null):e}catch{return null}},us=()=>{let t=document.createElement("div");t.className="persona-flex persona-items-center persona-space-x-1 persona-h-5 persona-mt-2";let e=document.createElement("div");e.className="persona-animate-typing persona-rounded-full persona-h-1.5 persona-w-1.5",e.style.backgroundColor="currentColor",e.style.opacity="0.4",e.style.animationDelay="0ms";let n=document.createElement("div");n.className="persona-animate-typing persona-rounded-full persona-h-1.5 persona-w-1.5",n.style.backgroundColor="currentColor",n.style.opacity="0.4",n.style.animationDelay="250ms";let o=document.createElement("div");o.className="persona-animate-typing persona-rounded-full persona-h-1.5 persona-w-1.5",o.style.backgroundColor="currentColor",o.style.opacity="0.4",o.style.animationDelay="500ms";let r=document.createElement("span");return r.className="persona-sr-only",r.textContent="Loading",t.appendChild(e),t.appendChild(n),t.appendChild(o),t.appendChild(r),t},Qy=(t,e,n)=>{let o={config:n??{},streaming:!0,location:t,defaultRenderer:us};if(e){let r=e(o);if(r!==null)return r}return us()},Jy=(t,e)=>{let n=m("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"),o=e==="user"?t.userAvatar:t.assistantAvatar;if(o)if(o.startsWith("http")||o.startsWith("/")||o.startsWith("data:")){let r=m("img");r.src=o,r.alt=e==="user"?"User":"Assistant",r.className="persona-w-full persona-h-full persona-rounded-full persona-object-cover",n.appendChild(r)}else n.textContent=o,n.classList.add(e==="user"?"persona-bg-persona-accent":"persona-bg-persona-primary","persona-text-white");else n.textContent=e==="user"?"U":"A",n.classList.add(e==="user"?"persona-bg-persona-accent":"persona-bg-persona-primary","persona-text-white");return n},Tp=(t,e,n="div")=>{let o=m(n,"persona-text-xs persona-text-persona-muted"),r=new Date(t.createdAt);return e.format?o.textContent=e.format(r):o.textContent=r.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),o},Yy=(t,e="bubble")=>{let n=["persona-message-bubble","persona-max-w-[85%]"];switch(e){case"flat":t==="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-primary","persona-py-2");break;case"minimal":n.push("persona-text-sm","persona-leading-relaxed"),t==="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-surface","persona-text-persona-primary","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"),t==="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-surface","persona-border","persona-border-persona-message-border","persona-text-persona-primary","persona-px-5","persona-py-3");break}return n},Zy=(t,e,n)=>{let o=e.showCopy??!0,r=e.showUpvote??!0,s=e.showDownvote??!0,a=e.showReadAloud??!1;if(!o&&!r&&!s&&!a){let v=m("div");return v.style.display="none",v.id=`actions-${t.id}`,v.setAttribute("data-actions-for",t.id),v}let l=e.visibility??"hover",p=e.align??"right",d=e.layout??"pill-inside",c={left:"persona-message-actions-left",center:"persona-message-actions-center",right:"persona-message-actions-right"}[p],u={"pill-inside":"persona-message-actions-pill","row-inside":"persona-message-actions-row"}[d],w=m("div",`persona-message-actions persona-flex persona-items-center persona-gap-1 persona-mt-2 ${c} ${u} ${l==="hover"?"persona-message-actions-hover":""}`);w.id=`actions-${t.id}`,w.setAttribute("data-actions-for",t.id);let f=(v,x,P)=>{let W=Wt({icon:v,label:x,size:14,className:"persona-message-action-btn"});return W.setAttribute("data-action",P),W};return o&&w.appendChild(f("copy","Copy message","copy")),a&&w.appendChild(f("volume-2","Read aloud","read-aloud")),r&&w.appendChild(f("thumbs-up","Upvote","upvote")),s&&w.appendChild(f("thumbs-down","Downvote","downvote")),w},rl=(t,e,n,o,r,s)=>{let a=n??{},l=a.layout??"bubble",p=a.avatar,d=a.timestamp,c=p?.show??!1,u=d?.show??!1,w=p?.position??"left",f=d?.position??"below",v=Yy(t.role,l),x=m("div",v.join(" "));x.id=`bubble-${t.id}`,x.setAttribute("data-message-id",t.id),x.setAttribute("data-persona-theme-zone",t.role==="user"?"user-message":"assistant-message"),t.role==="user"?(x.style.backgroundColor="var(--persona-message-user-bg, var(--persona-accent))",x.style.color="var(--persona-message-user-text, white)"):t.role==="assistant"&&(x.style.backgroundColor="var(--persona-message-assistant-bg, var(--persona-surface))",x.style.color="var(--persona-message-assistant-text, var(--persona-text))");let P=Uy(t),W=t.content?.trim()??"",I=P.length>0&&W===la,H=ka(s?.widgetConfig?.features?.streamAnimation),q=s?.widgetConfig?.features?.streamAnimation?.plugins,U=t.role==="assistant"&&H.type!=="none"?dr(H.type,q):null,$=t.role==="assistant"&&U?.isAnimating?.(t)===!0,C=t.role==="assistant"&&U!==null&&(!!t.streaming||$);C&&U?.bubbleClass&&x.classList.add(U.bubbleClass);let j=document.createElement("div");j.classList.add("persona-message-content"),t.streaming&&j.classList.add("persona-content-streaming"),C&&U&&(U.containerClass&&j.classList.add(U.containerClass),j.style.setProperty("--persona-stream-step",`${H.speed}ms`),j.style.setProperty("--persona-stream-duration",`${H.duration}ms`));let J=C?La(t.content??"",H.buffer,U,t,!!t.streaming):t.content??"",D=e({text:J,message:t,streaming:!!t.streaming,raw:t.rawContent}),_=D;C&&U?.wrap==="char"?_=as(D,"char",t.id,{skipTags:U.skipTags}):C&&U?.wrap==="word"&&(_=as(D,"word",t.id,{skipTags:U.skipTags}));let ce=null;if(I?(ce=document.createElement("div"),ce.innerHTML=_,ce.style.display="none",j.appendChild(ce)):j.innerHTML=_,C&&U?.useCaret&&!I&&W){let Z=Pa(),be=j.querySelectorAll(".persona-stream-char, .persona-stream-word"),ve=be[be.length-1];if(ve?.parentNode)ve.parentNode.insertBefore(Z,ve.nextSibling);else{let fe=j.lastElementChild;fe?fe.appendChild(Z):j.appendChild(Z)}}if(u&&f==="inline"&&t.createdAt){let Z=Tp(t,d,"span");Z.classList.add("persona-timestamp-inline");let be=j.lastElementChild;be?be.appendChild(Z):j.appendChild(Z)}if(P.length>0){let Z=Vy(P,!I&&!!W,()=>{I&&ce&&(ce.style.display="")});Z?x.appendChild(Z):I&&ce&&(ce.style.display="")}let he=zy(t);if(he.length>0){let Z=Ky(he);Z&&x.appendChild(Z)}let Me=jy(t);if(Me.length>0){let Z=Gy(Me);Z&&x.appendChild(Z)}let Ce=qy(t);if(Ce.length>0){let Z=Xy(Ce);Z&&x.appendChild(Z)}if(x.appendChild(j),u&&f==="below"&&t.createdAt){let Z=Tp(t,d);Z.classList.add("persona-mt-1"),x.appendChild(Z)}let te=t.role==="assistant"?Oy(t.stopReason,s?.widgetConfig?.copy?.stopReasonNotice):null;if(t.streaming&&t.role==="assistant"){let Z=!!(J&&J.trim()),be=H.placeholder==="skeleton",ve=be&&H.buffer==="line"&&Z;if(Z)ve&&x.appendChild(is());else if(be)x.appendChild(is());else{let fe=Qy("inline",s?.loadingIndicatorRenderer,s?.widgetConfig);fe&&x.appendChild(fe)}}if(te&&t.stopReason&&!t.streaming&&(W||(j.style.display="none"),x.appendChild(_y(t.stopReason,te))),t.role==="assistant"&&!t.streaming&&t.content&&t.content.trim()&&o?.enabled!==!1&&o){let Z=Zy(t,o,r);x.appendChild(Z)}if(!c||t.role==="system")return x;let Y=m("div",`persona-flex persona-gap-2 ${t.role==="user"?"persona-flex-row-reverse":""}`),le=Jy(p,t.role);return w==="right"||w==="left"&&t.role==="user"?Y.append(x,le):Y.append(le,x),x.classList.remove("persona-max-w-[85%]"),x.classList.add("persona-max-w-[calc(85%-2.5rem)]"),Y};var pr=new Set,eb=(t,e)=>e==null?!1:typeof e=="string"?(t.textContent=e,!0):(t.appendChild(e),!0),tb=(t,e)=>{let n=t.reasoning?.chunks.join("").trim()??"";return n?n.split(/\r?\n/).map(o=>o.trim()).filter(Boolean).slice(0,e).join(`
34
- `):""},Ep=(t,e)=>{let n=pr.has(t),o=e.querySelector('button[data-expand-header="true"]'),r=e.querySelector(".persona-border-t"),s=e.querySelector('[data-persona-collapsed-preview="reasoning"]');if(!o||!r)return;o.setAttribute("aria-expanded",n?"true":"false");let l=o.querySelector(".persona-ml-auto")?.querySelector(":scope > .persona-flex.persona-items-center");if(l){l.innerHTML="";let d=ae(n?"chevron-up":"chevron-down",16,"currentColor",2);d?l.appendChild(d):l.textContent=n?"Hide":"Show"}r.style.display=n?"":"none",s&&(s.style.display=n?"none":s.textContent||s.childNodes.length?"":"none")},sl=(t,e)=>{let n=t.reasoning,o=m("div",["persona-message-bubble","persona-reasoning-bubble","persona-w-full","persona-max-w-[85%]","persona-rounded-2xl","persona-bg-persona-surface","persona-border","persona-border-persona-message-border","persona-text-persona-primary","persona-shadow-sm","persona-overflow-hidden","persona-px-0","persona-py-0"].join(" "));if(o.id=`bubble-${t.id}`,o.setAttribute("data-message-id",t.id),!n)return o;let r=e?.features?.reasoningDisplay??{},s=r.expandable!==!1,a=s&&pr.has(t.id),l=n.status!=="complete",p=tb(t,r.previewMaxLines??3),d=m("button",s?"persona-flex persona-w-full persona-items-center persona-justify-between persona-gap-3 persona-bg-transparent persona-px-4 persona-py-3 persona-text-left persona-cursor-pointer persona-border-none":"persona-flex persona-w-full persona-items-center persona-justify-between persona-gap-3 persona-bg-transparent persona-px-4 persona-py-3 persona-text-left persona-cursor-default persona-border-none");d.type="button",s&&(d.setAttribute("aria-expanded",a?"true":"false"),d.setAttribute("data-expand-header","true")),d.setAttribute("data-bubble-type","reasoning");let c=m("div","persona-flex persona-flex-col persona-text-left"),u=m("span","persona-text-xs persona-text-persona-primary"),w="Thinking...",f=e?.reasoning??{},v=String(n.startedAt??Date.now()),x=()=>{let he=m("span","");return he.setAttribute("data-tool-elapsed",v),he.textContent=ra(n),he},P=f.renderCollapsedSummary?.({message:t,reasoning:n,defaultSummary:w,previewText:p,isActive:l,config:e??{},elapsed:ra(n),createElapsedElement:x});typeof P=="string"&&P.trim()?(u.textContent=P,c.appendChild(u)):P instanceof HTMLElement?c.appendChild(P):(u.textContent=w,c.appendChild(u));let W=m("span","persona-text-xs persona-text-persona-primary");W.textContent=gd(n),c.appendChild(W);let T=r.loadingAnimation??"none",I=f.activeTextTemplate,H=f.completeTextTemplate,q=l?I:H,U=P instanceof HTMLElement,$=(he,Me)=>{u.textContent="";let Ce=sa(he,""),te=0;for(let ge of Ce){let Y=ge.styles.length>0?(()=>{let le=m("span",ge.styles.map(Z=>`persona-tool-text-${Z}`).join(" "));return u.appendChild(le),le})():u;if(ge.isDuration&&l)Y.appendChild(x());else{let le=ge.isDuration?ra(n):ge.text;Me?te=no(Y,le,te):Y.appendChild(document.createTextNode(le))}}};if(!U&&q)if(W.style.display="none",u.style.display="",l&&T!=="none"){let he=f.loadingAnimationDuration??2e3;u.setAttribute("data-preserve-animation","true"),T==="pulse"?(u.classList.add("persona-tool-loading-pulse"),u.style.setProperty("--persona-tool-anim-duration",`${he}ms`),$(q,!1)):(u.classList.add(`persona-tool-loading-${T}`),u.style.setProperty("--persona-tool-anim-duration",`${he}ms`),T==="shimmer-color"&&(f.loadingAnimationColor&&u.style.setProperty("--persona-tool-anim-color",f.loadingAnimationColor),f.loadingAnimationSecondaryColor&&u.style.setProperty("--persona-tool-anim-secondary-color",f.loadingAnimationSecondaryColor)),$(q,!0))}else $(q,!1);else if(!U&&l&&T!=="none"){u.style.display="";let he=f.loadingAnimationDuration??2e3;if(u.setAttribute("data-preserve-animation","true"),T==="pulse")u.classList.add("persona-tool-loading-pulse"),u.style.setProperty("--persona-tool-anim-duration",`${he}ms`);else{u.classList.add(`persona-tool-loading-${T}`),u.style.setProperty("--persona-tool-anim-duration",`${he}ms`),T==="shimmer-color"&&(f.loadingAnimationColor&&u.style.setProperty("--persona-tool-anim-color",f.loadingAnimationColor),f.loadingAnimationSecondaryColor&&u.style.setProperty("--persona-tool-anim-secondary-color",f.loadingAnimationSecondaryColor));let Me=u.textContent||w;u.textContent="",no(u,Me,0)}n.status==="complete"&&(u.style.display="none")}else U||(n.status==="complete"?u.style.display="none":u.style.display="");let C=null;if(s){C=m("div","persona-flex persona-items-center");let Me=ae(a?"chevron-up":"chevron-down",16,"currentColor",2);Me?C.appendChild(Me):C.textContent=a?"Hide":"Show";let Ce=m("div","persona-flex persona-items-center persona-ml-auto");Ce.append(C),d.append(c,Ce)}else d.append(c);let j=m("div","persona-px-4 persona-py-3 persona-text-xs persona-leading-snug persona-text-persona-muted");if(j.setAttribute("data-persona-collapsed-preview","reasoning"),j.style.display="none",j.style.whiteSpace="pre-wrap",!a&&l&&r.activePreview&&p){let he=e?.reasoning?.renderCollapsedPreview?.({message:t,reasoning:n,defaultPreview:p,isActive:l,config:e??{}});eb(j,he)||(j.textContent=p),j.style.display=""}if(!a&&l&&r.activeMinHeight&&(o.style.minHeight=r.activeMinHeight),!s)return o.append(d,j),o;let J=m("div","persona-border-t persona-border-gray-200 persona-bg-gray-50 persona-px-4 persona-py-3");J.style.display=a?"":"none";let D=n.chunks.join(""),_=m("div","persona-whitespace-pre-wrap persona-text-xs persona-leading-snug persona-text-persona-muted");return _.textContent=D||(n.status==="complete"?"No additional context was shared.":"Waiting for details\u2026"),J.appendChild(_),(()=>{if(d.setAttribute("aria-expanded",a?"true":"false"),C){C.innerHTML="";let Me=ae(a?"chevron-up":"chevron-down",16,"currentColor",2);Me?C.appendChild(Me):C.textContent=a?"Hide":"Show"}J.style.display=a?"":"none",j.style.display=a?"none":j.textContent||j.childNodes.length?"":"none"})(),o.append(d,j,J),o};var ur=new Set,nb=(t,e)=>e==null?!1:typeof e=="string"?(t.textContent=e,!0):(t.appendChild(e),!0),ob=(t,e)=>{let n=t.toolCall;if(!n)return"";let o=(n.chunks??[]).join("").trim();if(o)return o.split(/\r?\n/).map(a=>a.trim()).filter(Boolean).slice(-e).join(`
35
- `);let r=eo(n.args).trim();return r?r.split(/\r?\n/).map(s=>s.trim()).filter(Boolean).slice(0,e).join(`
36
- `):""},al=(t,e)=>{t.style.backgroundColor=e.codeBlockBackgroundColor??"var(--persona-container, #f3f4f6)",t.style.borderColor=e.codeBlockBorderColor??"var(--persona-border, #e5e7eb)",t.style.color=e.codeBlockTextColor??"var(--persona-text, #171717)"},rb=(t,e)=>{let n=t.toolCall,o=e?.features?.toolCallDisplay,r=o?.collapsedMode??"tool-call",s=ob(t,o?.previewMaxLines??3),a=n?md(n):"";if(!n)return{summary:a,previewText:s,isActive:!1};let l=n.status!=="complete",p=e?.toolCall??{},d=a;return r==="tool-name"?d=n.name?.trim()||a:r==="tool-preview"&&s&&(d=s),l&&p.activeTextTemplate?d=Di(n,p.activeTextTemplate,d):!l&&p.completeTextTemplate&&(d=Di(n,p.completeTextTemplate,d)),{summary:d,previewText:s,isActive:l}},kp=(t,e,n)=>{let o=ur.has(t),r=n?.toolCall??{},s=e.querySelector('button[data-expand-header="true"]'),a=e.querySelector(".persona-border-t"),l=e.querySelector('[data-persona-collapsed-preview="tool"]');if(!s||!a)return;s.setAttribute("aria-expanded",o?"true":"false");let d=s.querySelector(".persona-ml-auto")?.querySelector(":scope > .persona-flex.persona-items-center");if(d){d.innerHTML="";let c=r.toggleTextColor||r.headerTextColor||"var(--persona-primary, #171717)",u=ae(o?"chevron-up":"chevron-down",16,c,2);u?d.appendChild(u):d.textContent=o?"Hide":"Show"}a.style.display=o?"":"none",l&&(l.style.display=o?"none":l.textContent||l.childNodes.length?"":"none")},il=(t,e)=>{let n=t.toolCall,o=e?.toolCall??{},r=m("div",["persona-message-bubble","persona-tool-bubble","persona-w-full","persona-max-w-[85%]","persona-rounded-2xl","persona-bg-persona-surface","persona-border","persona-border-persona-message-border","persona-text-persona-primary","persona-shadow-sm","persona-overflow-hidden","persona-px-0","persona-py-0"].join(" "));if(r.id=`bubble-${t.id}`,r.setAttribute("data-message-id",t.id),o.backgroundColor&&(r.style.backgroundColor=o.backgroundColor),o.borderColor&&(r.style.borderColor=o.borderColor),o.borderWidth&&(r.style.borderWidth=o.borderWidth),o.borderRadius&&(r.style.borderRadius=o.borderRadius),r.style.boxShadow=o.shadow!==void 0?o.shadow.trim()===""?"none":o.shadow:"var(--persona-tool-bubble-shadow, 0 5px 15px rgba(15, 23, 42, 0.08))",!n)return r;let s=e?.features?.toolCallDisplay??{},a=s.expandable!==!1,l=a&&ur.has(t.id),{summary:p,previewText:d,isActive:c}=rb(t,e),u=m("button",a?"persona-flex persona-w-full persona-items-center persona-justify-between persona-gap-3 persona-bg-transparent persona-px-4 persona-py-3 persona-text-left persona-cursor-pointer persona-border-none":"persona-flex persona-w-full persona-items-center persona-justify-between persona-gap-3 persona-bg-transparent persona-px-4 persona-py-3 persona-text-left persona-cursor-default persona-border-none");u.type="button",a&&(u.setAttribute("aria-expanded",l?"true":"false"),u.setAttribute("data-expand-header","true")),u.setAttribute("data-bubble-type","tool"),o.headerBackgroundColor&&(u.style.backgroundColor=o.headerBackgroundColor),o.headerPaddingX&&(u.style.paddingLeft=o.headerPaddingX,u.style.paddingRight=o.headerPaddingX),o.headerPaddingY&&(u.style.paddingTop=o.headerPaddingY,u.style.paddingBottom=o.headerPaddingY);let w=m("div","persona-flex persona-flex-col persona-text-left"),f=m("span","persona-text-xs persona-text-persona-primary");o.headerTextColor&&(f.style.color=o.headerTextColor);let v=String(n.startedAt??Date.now()),x=()=>{let D=m("span","");return D.setAttribute("data-tool-elapsed",v),D.textContent=qr(n),D},P=o.renderCollapsedSummary?.({message:t,toolCall:n,defaultSummary:p,previewText:d,collapsedMode:s.collapsedMode??"tool-call",isActive:c,config:e??{},elapsed:qr(n),createElapsedElement:x});typeof P=="string"&&P.trim()?(f.textContent=P,w.appendChild(f)):P instanceof HTMLElement?w.appendChild(P):(f.textContent=p,w.appendChild(f));let W=s.loadingAnimation??"none",T=o.activeTextTemplate,I=o.completeTextTemplate,H=c?T:I,q=P instanceof HTMLElement,U=(D,_)=>{f.textContent="";let ce=n.name?.trim()||"tool",he=sa(D,ce),Me=0;for(let Ce of he){let te=Ce.styles.length>0?(()=>{let ge=m("span",Ce.styles.map(Y=>`persona-tool-text-${Y}`).join(" "));return f.appendChild(ge),ge})():f;if(Ce.isDuration&&c)te.appendChild(x());else{let ge=Ce.isDuration?qr(n):Ce.text;_?Me=no(te,ge,Me):te.appendChild(document.createTextNode(ge))}}};if(!q)if(c&&W!=="none"){let D=o.loadingAnimationDuration??2e3;if(f.setAttribute("data-preserve-animation","true"),W==="pulse")f.classList.add("persona-tool-loading-pulse"),f.style.setProperty("--persona-tool-anim-duration",`${D}ms`),H&&U(H,!1);else if(f.classList.add(`persona-tool-loading-${W}`),f.style.setProperty("--persona-tool-anim-duration",`${D}ms`),W==="shimmer-color"&&(o.loadingAnimationColor&&f.style.setProperty("--persona-tool-anim-color",o.loadingAnimationColor),o.loadingAnimationSecondaryColor&&f.style.setProperty("--persona-tool-anim-secondary-color",o.loadingAnimationSecondaryColor)),H)U(H,!0);else{let _=f.textContent||p;f.textContent="",no(f,_,0)}}else H&&U(H,!1);let $=null;if(a){$=m("div","persona-flex persona-items-center");let D=o.toggleTextColor||o.headerTextColor||"var(--persona-primary, #171717)",_=ae(l?"chevron-up":"chevron-down",16,D,2);_?$.appendChild(_):$.textContent=l?"Hide":"Show";let ce=m("div","persona-flex persona-items-center persona-gap-2 persona-ml-auto");ce.append($),u.append(w,ce)}else u.append(w);let C=m("div","persona-px-4 persona-py-3 persona-text-xs persona-leading-snug persona-text-persona-muted");if(C.setAttribute("data-persona-collapsed-preview","tool"),C.style.display="none",C.style.whiteSpace="pre-wrap",!l&&c&&s.activePreview&&d){let D=o.renderCollapsedPreview?.({message:t,toolCall:n,defaultPreview:d,isActive:c,config:e??{}});nb(C,D)||(C.textContent=d),C.style.display=""}if(!l&&c&&s.activeMinHeight&&(r.style.minHeight=s.activeMinHeight),!a)return r.append(u,C),r;let j=m("div","persona-border-t persona-border-gray-200 persona-bg-gray-50 persona-space-y-3 persona-px-4 persona-py-3");if(j.style.display=l?"":"none",o.contentBackgroundColor&&(j.style.backgroundColor=o.contentBackgroundColor),o.contentTextColor&&(j.style.color=o.contentTextColor),o.contentPaddingX&&(j.style.paddingLeft=o.contentPaddingX,j.style.paddingRight=o.contentPaddingX),o.contentPaddingY&&(j.style.paddingTop=o.contentPaddingY,j.style.paddingBottom=o.contentPaddingY),n.name){let D=m("div","persona-text-xs persona-text-persona-muted persona-italic");o.contentTextColor?D.style.color=o.contentTextColor:o.headerTextColor&&(D.style.color=o.headerTextColor),D.textContent=n.name,j.appendChild(D)}if(n.args!==void 0){let D=m("div","persona-space-y-1"),_=m("div","persona-text-xs persona-text-persona-muted");o.labelTextColor&&(_.style.color=o.labelTextColor),_.textContent="Arguments";let ce=m("pre","persona-max-h-48 persona-overflow-auto persona-whitespace-pre-wrap persona-rounded-lg persona-border persona-px-3 persona-py-2 persona-text-xs");ce.style.fontSize="0.75rem",ce.style.lineHeight="1rem",al(ce,o),ce.textContent=eo(n.args),D.append(_,ce),j.appendChild(D)}if(n.chunks&&n.chunks.length){let D=m("div","persona-space-y-1"),_=m("div","persona-text-xs persona-text-persona-muted");o.labelTextColor&&(_.style.color=o.labelTextColor),_.textContent="Activity";let ce=m("pre","persona-max-h-48 persona-overflow-auto persona-whitespace-pre-wrap persona-rounded-lg persona-border persona-px-3 persona-py-2 persona-text-xs");ce.style.fontSize="0.75rem",ce.style.lineHeight="1rem",al(ce,o),ce.textContent=n.chunks.join(""),D.append(_,ce),j.appendChild(D)}if(n.status==="complete"&&n.result!==void 0){let D=m("div","persona-space-y-1"),_=m("div","persona-text-xs persona-text-persona-muted");o.labelTextColor&&(_.style.color=o.labelTextColor),_.textContent="Result";let ce=m("pre","persona-max-h-48 persona-overflow-auto persona-whitespace-pre-wrap persona-rounded-lg persona-border persona-px-3 persona-py-2 persona-text-xs");ce.style.fontSize="0.75rem",ce.style.lineHeight="1rem",al(ce,o),ce.textContent=eo(n.result),D.append(_,ce),j.appendChild(D)}if(n.status==="complete"&&typeof n.duration=="number"){let D=m("div","persona-text-xs persona-text-persona-muted");o.contentTextColor&&(D.style.color=o.contentTextColor),D.textContent=`Duration: ${n.duration}ms`,j.appendChild(D)}return(()=>{if(u.setAttribute("aria-expanded",l?"true":"false"),$){$.innerHTML="";let D=o.toggleTextColor||o.headerTextColor||"var(--persona-primary, #171717)",_=ae(l?"chevron-up":"chevron-down",16,D,2);_?$.appendChild(_):$.textContent=l?"Hide":"Show"}j.style.display=l?"":"none",C.style.display=l?"none":C.textContent||C.childNodes.length?"":"none"})(),r.append(u,C,j),r};var Do=new Map,Ua=t=>{let n=(t.startsWith(Bn)?t.slice(Bn.length):t).replace(/([a-z0-9])([A-Z])/g,"$1 $2").split(/[_\-\s.]+/).filter(Boolean);if(n.length===0)return t;let o=n.join(" ").toLowerCase();return o.charAt(0).toUpperCase()+o.slice(1)},Lp=t=>t?.approval!==!1?t?.approval:void 0,Pp=(t,e)=>{let n=Lp(e)?.detailsDisplay??"collapsed";return Do.get(t)??n==="expanded"},Ip=(t,e,n)=>{let o=Lp(n);t.setAttribute("aria-expanded",e?"true":"false");let r=t.querySelector("[data-approval-details-label]");r&&(r.textContent=e?o?.hideDetailsLabel??"Hide details":o?.showDetailsLabel??"Show details");let s=t.querySelector("[data-approval-details-chevron]");if(s){s.innerHTML="";let a=ae(e?"chevron-up":"chevron-down",14,"currentColor",2);a&&s.appendChild(a)}},Rp=(t,e,n)=>{let o=e.querySelector('button[data-bubble-type="approval"]'),r=e.querySelector("[data-approval-details]");if(!o||!r)return;let s=Pp(t,n);Ip(o,s,n),r.style.display=s?"":"none"};var za=(t,e)=>{let n=t.approval,o=e?.approval!==!1?e?.approval:void 0,r=n?.status==="pending",s=m("div",["persona-approval-bubble","persona-w-full","persona-max-w-[85%]","persona-rounded-2xl","persona-border","persona-shadow-sm","persona-overflow-hidden"].join(" "));if(s.id=`bubble-${t.id}`,s.setAttribute("data-message-id",t.id),s.style.backgroundColor=o?.backgroundColor??"var(--persona-approval-bg, #fefce8)",s.style.borderColor=o?.borderColor??"var(--persona-approval-border, #fef08a)",s.style.boxShadow=o?.shadow!==void 0?o.shadow.trim()===""?"none":o.shadow:"var(--persona-approval-shadow, 0 5px 15px rgba(15, 23, 42, 0.08))",!n)return s;let a=m("div","persona-flex persona-items-start persona-gap-3 persona-px-4 persona-py-3"),l=m("div","persona-flex-shrink-0 persona-mt-0.5");l.setAttribute("data-approval-icon","true");let p=n.status==="denied"?"shield-x":n.status==="timeout"?"shield-alert":"shield-check",d=n.status==="approved"?"var(--persona-feedback-success, #16a34a)":n.status==="denied"?"var(--persona-feedback-error, #dc2626)":n.status==="timeout"?"var(--persona-feedback-warning, #ca8a04)":o?.titleColor??"currentColor",c=ae(p,20,d,2);c&&l.appendChild(c);let u=m("div","persona-flex-1 persona-min-w-0"),w=m("div","persona-flex persona-items-center persona-gap-2"),f=m("span","persona-text-sm persona-font-medium persona-text-persona-primary");if(o?.titleColor&&(f.style.color=o.titleColor),f.textContent=o?.title??"Approval Required",w.appendChild(f),!r){let $=m("span","persona-inline-flex persona-items-center persona-px-2 persona-py-0.5 persona-rounded-full persona-text-xs persona-font-medium");$.setAttribute("data-approval-status",n.status),n.status==="approved"?($.style.backgroundColor="var(--persona-palette-colors-success-100, #dcfce7)",$.style.color="var(--persona-palette-colors-success-700, #15803d)",$.textContent="Approved"):n.status==="denied"?($.style.backgroundColor="var(--persona-palette-colors-error-100, #fee2e2)",$.style.color="var(--persona-palette-colors-error-700, #b91c1c)",$.textContent="Denied"):n.status==="timeout"&&($.style.backgroundColor="var(--persona-palette-colors-warning-100, #fef3c7)",$.style.color="var(--persona-palette-colors-warning-700, #b45309)",$.textContent="Timeout"),w.appendChild($)}u.appendChild(w);let x=n.toolType==="webmcp"||n.toolName.startsWith(Bn)?$r(n.toolName):void 0,P=o?.formatDescription?.({toolName:n.toolName,toolType:n.toolType,description:n.description,parameters:n.parameters,...x?{displayTitle:x}:{},...n.reason?{reason:n.reason}:{}}),W=!n.toolName,T=P||(W?n.description:`The assistant wants to use \u201C${x??Ua(n.toolName)}\u201D.`),I=m("p","persona-text-sm persona-mt-0.5 persona-text-persona-muted");if(I.setAttribute("data-approval-summary","true"),o?.descriptionColor&&(I.style.color=o.descriptionColor),I.textContent=T,u.appendChild(I),n.reason){let $=m("p","persona-text-sm persona-mt-1 persona-text-persona-muted");$.setAttribute("data-approval-reason","true"),o?.reasonColor?$.style.color=o.reasonColor:o?.descriptionColor&&($.style.color=o.descriptionColor);let C=m("span","persona-font-medium");C.textContent=`${o?.reasonLabel??"Agent's stated reason:"} `,$.appendChild(C),$.appendChild(document.createTextNode(n.reason)),u.appendChild($)}let H=o?.detailsDisplay??"collapsed",q=!!n.description&&!W,U=q||!!n.parameters;if(H!=="hidden"&&U){let $=Pp(t.id,e),C=m("button","persona-inline-flex persona-items-center persona-gap-1 persona-mt-1 persona-p-0 persona-border-none persona-bg-transparent persona-text-xs persona-font-medium persona-cursor-pointer persona-text-persona-muted");C.type="button",C.setAttribute("data-expand-header","true"),C.setAttribute("data-bubble-type","approval"),o?.descriptionColor&&(C.style.color=o.descriptionColor);let j=m("span");j.setAttribute("data-approval-details-label","true");let J=m("span","persona-inline-flex persona-items-center");J.setAttribute("data-approval-details-chevron","true"),C.append(j,J),Ip(C,$,e),u.appendChild(C);let D=m("div");if(D.setAttribute("data-approval-details","true"),D.style.display=$?"":"none",q){let _=m("p","persona-text-sm persona-mt-1 persona-text-persona-muted");o?.descriptionColor&&(_.style.color=o.descriptionColor),_.textContent=n.description,D.appendChild(_)}if(n.parameters){let _=m("pre","persona-mt-2 persona-text-xs persona-p-2 persona-rounded persona-overflow-x-auto persona-max-h-32 persona-bg-persona-container persona-text-persona-primary");o?.parameterBackgroundColor&&(_.style.backgroundColor=o.parameterBackgroundColor),o?.parameterTextColor&&(_.style.color=o.parameterTextColor),_.style.fontSize="0.75rem",_.style.lineHeight="1rem",_.textContent=eo(n.parameters),D.appendChild(_)}u.appendChild(D)}if(r){let $=m("div","persona-flex persona-gap-2 persona-mt-2");$.setAttribute("data-approval-buttons","true");let C=m("button","persona-inline-flex persona-items-center persona-px-3 persona-py-1.5 persona-rounded-md persona-text-xs persona-font-medium persona-border-none persona-cursor-pointer");C.type="button",C.style.backgroundColor=o?.approveButtonColor??"var(--persona-approval-approve-bg, #22c55e)",C.style.color=o?.approveButtonTextColor??"#ffffff",C.setAttribute("data-approval-action","approve");let j=ae("shield-check",14,o?.approveButtonTextColor??"#ffffff",2);j&&(j.style.marginRight="4px",C.appendChild(j));let J=document.createTextNode(o?.approveLabel??"Approve");C.appendChild(J);let D=m("button","persona-inline-flex persona-items-center persona-px-3 persona-py-1.5 persona-rounded-md persona-text-xs persona-font-medium persona-cursor-pointer");D.type="button",D.style.backgroundColor=o?.denyButtonColor??"transparent",D.style.color=o?.denyButtonTextColor??"var(--persona-feedback-error, #dc2626)",D.style.border=`1px solid ${o?.denyButtonTextColor?o.denyButtonTextColor:"var(--persona-palette-colors-error-200, #fca5a5)"}`,D.setAttribute("data-approval-action","deny");let _=ae("shield-x",14,o?.denyButtonTextColor??"var(--persona-feedback-error, #dc2626)",2);_&&(_.style.marginRight="4px",D.appendChild(_));let ce=document.createTextNode(o?.denyLabel??"Deny");D.appendChild(ce),$.append(C,D),u.appendChild($)}return a.append(l,u),s.appendChild(a),s};function sb(t){let e=t.getRootNode?.();return e instanceof ShadowRoot?e:(t.ownerDocument??document).body}function Wp(t){let{anchor:e,content:n,placement:o="bottom-start",offset:r=6,matchAnchorWidth:s=!1,zIndex:a=2147483e3,onOpen:l,onDismiss:p}=t,d=t.container??sb(e),c=!1,u=null,w=()=>{if(!c)return;let x=e.getBoundingClientRect();n.style.position="fixed",s&&(n.style.minWidth=`${x.width}px`);let P=o==="top-start"||o==="top-end"?x.top-r-n.getBoundingClientRect().height:x.bottom+r,W=o==="bottom-end"||o==="top-end"?x.right-n.getBoundingClientRect().width:x.left;n.style.top=`${P}px`,n.style.left=`${W}px`},f=()=>{c&&(c=!1,u&&(u(),u=null),n.remove())},v=()=>{if(c)return;c=!0,a!=null&&(n.style.zIndex=String(a)),d.appendChild(n),w();let x=(e.ownerDocument??document).defaultView??window,P=e.ownerDocument??document,W=()=>{if(!e.isConnected){f(),p?.("anchor-removed");return}w()},T=H=>{let q=typeof H.composedPath=="function"?H.composedPath():[];q.includes(n)||q.includes(e)||(f(),p?.("outside"))},I=x.setTimeout(()=>{P.addEventListener("pointerdown",T,!0)},0);x.addEventListener("scroll",W,!0),x.addEventListener("resize",W),u=()=>{x.clearTimeout(I),P.removeEventListener("pointerdown",T,!0),x.removeEventListener("scroll",W,!0),x.removeEventListener("resize",W)},l?.()};return{get isOpen(){return c},open:v,close:f,toggle:()=>c?f():v(),reposition:w,destroy:f}}function Bp(t){return(typeof t.composedPath=="function"?t.composedPath():[]).some(n=>n instanceof HTMLElement&&(n.tagName==="INPUT"||n.tagName==="TEXTAREA"||n.isContentEditable))}var ab=()=>({keyHandlers:new Map,popovers:new Map,pendingOrder:[],latestPendingApprovalId:null}),Hp=(t,e)=>{let n=t.keyHandlers.get(e);n&&(document.removeEventListener("keydown",n),t.keyHandlers.delete(e));let o=t.popovers.get(e);o&&(o.destroy(),t.popovers.delete(e))},No=(t,e)=>{Hp(t,e);let n=t.pendingOrder.indexOf(e);n!==-1&&t.pendingOrder.splice(n,1),t.latestPendingApprovalId===e&&(t.latestPendingApprovalId=t.pendingOrder.length?t.pendingOrder[t.pendingOrder.length-1]:null)},ib=t=>t?.approval!==!1?t?.approval:void 0,lb=(t,e)=>{let n=e?.detailsDisplay??"collapsed";return Do.get(t)??n==="expanded"},ll=t=>{let e=m("span","persona-approval-kbd");return e.textContent=t,e},cb=(t,e)=>{let n=m("span","persona-approval-title");e?.titleColor&&(n.style.color=e.titleColor);let r=t.toolType==="webmcp"||t.toolName.startsWith(Bn)?$r(t.toolName):void 0,s=e?.formatDescription?.({toolName:t.toolName,toolType:t.toolType,description:t.description??"",parameters:t.parameters,...r?{displayTitle:r}:{},...t.reason?{reason:t.reason}:{}});if(s)return n.textContent=s,n;let a=r??Ua(t.toolName),l=t.toolType&&t.toolType!=="webmcp"?t.toolType:null;n.append("The assistant wants to use ");let p=document.createElement("strong");if(p.textContent=a,n.appendChild(p),l){n.append(" from ");let d=document.createElement("strong");d.textContent=l,n.appendChild(d)}return n},db=t=>{let e=m("div","persona-approval-resolved"),n=ae("ban",15,"currentColor",2);n&&e.appendChild(n);let o=m("span","persona-approval-resolved-name");return o.textContent=t.toolName?Ua(t.toolName):"Tool",e.append(o,document.createTextNode(t.status==="timeout"?" timed out":" denied")),e},pb=(t,e,n,o,r,s,a)=>{let l=m("div","persona-approval-card persona-shadow-sm");l.id=`bubble-${e.id}`,l.setAttribute("data-message-id",e.id),l.setAttribute("data-bubble-type","approval"),o?.backgroundColor&&(l.style.background=o.backgroundColor),o?.borderColor&&(l.style.borderColor=o.borderColor),o?.shadow!==void 0&&(l.style.boxShadow=o.shadow.trim()===""?"none":o.shadow);let p=o?.detailsDisplay??"collapsed",d=!!n.description&&p!=="hidden",c=n.parameters!=null&&p!=="hidden",u=d||c,w=u&&lb(e.id,o),f=o?.showDetailsLabel??"Show details",v=o?.hideDetailsLabel??"Hide details",x=m("button","persona-approval-head");x.type="button",u?(x.setAttribute("data-action","toggle-params"),x.setAttribute("aria-expanded",w?"true":"false"),x.setAttribute("aria-label",w?v:f)):x.setAttribute("data-static","true");let P=m("span","persona-approval-logo"),W=ae("shield-check",16,"currentColor",2);W&&P.appendChild(W),x.appendChild(P);let T=cb(n,o);if(u){let C=m("span","persona-approval-toggle");C.setAttribute("aria-hidden","true");let j=ae("chevron-down",14,"currentColor",2);j&&C.appendChild(j),T.append(" "),T.appendChild(C)}x.appendChild(T),l.appendChild(x);let I=m("div","persona-approval-body");if(u){let C=m("div","persona-approval-details");if(C.setAttribute("data-role","params"),C.hidden=!w,d){let j=m("p","persona-approval-desc");o?.descriptionColor&&(j.style.color=o.descriptionColor),j.textContent=n.description,C.appendChild(j)}if(c){let j=m("pre","persona-approval-params");o?.parameterBackgroundColor&&(j.style.background=o.parameterBackgroundColor),o?.parameterTextColor&&(j.style.color=o.parameterTextColor),j.textContent=eo(n.parameters),C.appendChild(j)}I.appendChild(C)}if(n.reason){let C=m("p","persona-approval-reason");o?.reasonColor?C.style.color=o.reasonColor:o?.descriptionColor&&(C.style.color=o.descriptionColor);let j=m("span","persona-approval-reason-label");j.textContent=`${o?.reasonLabel??"Agent's stated reason:"} `,C.append(j,document.createTextNode(n.reason)),I.appendChild(C)}let H=m("div","persona-approval-actions"),q=null,U=C=>{o?.approveButtonColor&&(C.style.background=o.approveButtonColor),o?.approveButtonTextColor&&(C.style.color=o.approveButtonTextColor)},$=m("button","persona-approval-deny");if($.type="button",$.setAttribute("data-action","deny"),o?.denyButtonColor&&($.style.background=o.denyButtonColor),o?.denyButtonTextColor&&($.style.color=o.denyButtonTextColor),$.append(o?.denyLabel??"Deny"),a){let C=m("div","persona-approval-split"),j=m("button","persona-approval-primary");j.type="button",j.setAttribute("data-action","always"),U(j),j.append(o?.approveLabel??"Always allow",ll("\u23CE"));let J=m("button","persona-approval-caret");J.type="button",J.setAttribute("data-action","toggle-menu"),J.setAttribute("aria-label","More options"),U(J);let D=ae("chevron-down",15,"currentColor",2);D&&J.appendChild(D),C.append(j,J),H.append(C,$),$.append(ll("Esc"));let _=m("div","persona-approval-menu"),ce=m("button","persona-approval-menu-item");ce.type="button",ce.append("Allow once",ll("\u2318\u23CE")),_.appendChild(ce),q=Wp({anchor:C,content:_,placement:"bottom-start",matchAnchorWidth:!0}),t.popovers.set(e.id,q),ce.addEventListener("click",()=>{No(t,e.id),r()})}else{let C=m("button","persona-approval-primary persona-approval-primary--solo");C.type="button",C.setAttribute("data-action","allow"),U(C),C.append(o?.approveLabel??"Allow"),H.append(C,$)}return I.appendChild(H),l.appendChild(I),l.addEventListener("click",C=>{let j=C.target instanceof Element?C.target.closest("[data-action]"):null;if(!j)return;let J=j.getAttribute("data-action");if(J==="toggle-params"){let D=l.querySelector('[data-role="params"]');if(D){let _=D.hidden;D.hidden=!_,x.setAttribute("aria-expanded",_?"true":"false"),x.setAttribute("aria-label",_?v:f),Do.set(e.id,_)}return}if(J==="toggle-menu"){q?.toggle();return}if(J==="always"){No(t,e.id),r({remember:!0});return}if(J==="allow"){No(t,e.id),r();return}if(J==="deny"){No(t,e.id),s();return}}),l},Dp=()=>{let t=ab();return{plugin:{id:"persona-built-in-approval",renderApproval:({message:o,approve:r,deny:s,config:a})=>{let l=o?.approval;if(!l)return null;let p=ib(a);if(l.status!=="pending"){if(No(t,o.id),l.status==="approved"){let u=document.createElement("div");return u.style.display="none",u}return db(l)}Hp(t,o.id);let d=p?.enableAlwaysAllow===!0,c=pb(t,o,l,p,r,s,d);if(d){t.pendingOrder.includes(o.id)||t.pendingOrder.push(o.id),t.latestPendingApprovalId=t.pendingOrder[t.pendingOrder.length-1];let u=w=>{Bp(w)||o.id===t.latestPendingApprovalId&&(w.key!=="Escape"&&w.key!=="Enter"||(w.preventDefault(),w.stopImmediatePropagation(),No(t,o.id),w.key==="Escape"?s():w.metaKey||w.ctrlKey?r():r({remember:!0})))};t.keyHandlers.set(o.id,u),document.addEventListener("keydown",u)}return c}},teardown:()=>{for(let o of[...t.keyHandlers.keys(),...t.popovers.keys()])No(t,o);t.latestPendingApprovalId=null}}};var Np=t=>{let e=[],n=null;return{buttons:e,render:(r,s,a,l,p,d)=>{t.innerHTML="",e.length=0;let c=d?.agentPushed===!0;if(c||(n=null),!r||!r.length||!c&&(l??(s?s.getMessages():[])).some(P=>P.role==="user"))return;let u=document.createDocumentFragment(),w=s?s.isStreaming():!1,f=v=>{switch(v){case"serif":return'Georgia, "Times New Roman", Times, serif';case"mono":return'"Courier New", Courier, "Lucida Console", Monaco, monospace';default:return'-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif'}};if(r.forEach(v=>{let x=m("button","persona-rounded-button persona-bg-persona-surface persona-px-3 persona-py-1.5 persona-text-xs persona-font-medium persona-text-persona-primary hover:persona-opacity-80 persona-cursor-pointer persona-border persona-border-persona-border");x.type="button",x.textContent=v,x.disabled=w,p?.fontFamily&&(x.style.fontFamily=f(p.fontFamily)),p?.fontWeight&&(x.style.fontWeight=p.fontWeight),p?.paddingX&&(x.style.paddingLeft=p.paddingX,x.style.paddingRight=p.paddingX),p?.paddingY&&(x.style.paddingTop=p.paddingY,x.style.paddingBottom=p.paddingY),x.addEventListener("click",()=>{!s||s.isStreaming()||(a.value="",c&&t.dispatchEvent(new CustomEvent("persona:suggestReplies:selected",{detail:{suggestion:v},bubbles:!0,composed:!0})),s.sendMessage(v))}),u.appendChild(x),e.push(x)}),t.appendChild(u),c){let v=JSON.stringify(r);v!==n&&(n=v,t.dispatchEvent(new CustomEvent("persona:suggestReplies:shown",{detail:{suggestions:[...r]},bubbles:!0,composed:!0})))}}}};var fs=class{constructor(e=2e3,n=null){this.head=0;this.count=0;this.totalCaptured=0;this.eventTypesSet=new Set;this.maxSize=e,this.buffer=new Array(e),this.store=n}push(e){this.buffer[this.head]=e,this.head=(this.head+1)%this.maxSize,this.count<this.maxSize&&this.count++,this.totalCaptured++,this.eventTypesSet.add(e.type),this.store?.put(e)}getAll(){return this.count===0?[]:this.count<this.maxSize?this.buffer.slice(0,this.count):[...this.buffer.slice(this.head,this.maxSize),...this.buffer.slice(0,this.head)]}async restore(){if(!this.store)return 0;let e=await this.store.getAll();if(e.length===0)return 0;let n=e.length>this.maxSize?e.slice(e.length-this.maxSize):e;for(let o of n)this.buffer[this.head]=o,this.head=(this.head+1)%this.maxSize,this.count<this.maxSize&&this.count++,this.eventTypesSet.add(o.type);return this.totalCaptured=e.length,n.length}getAllFromStore(){return this.store?this.store.getAll():Promise.resolve(this.getAll())}getRecent(e){let n=this.getAll();return e>=n.length?n:n.slice(n.length-e)}getSize(){return this.count}getTotalCaptured(){return this.totalCaptured}getEvictedCount(){return this.totalCaptured-this.count}clear(){this.buffer=new Array(this.maxSize),this.head=0,this.count=0,this.totalCaptured=0,this.eventTypesSet.clear(),this.store?.clear()}destroy(){this.buffer=[],this.head=0,this.count=0,this.totalCaptured=0,this.eventTypesSet.clear(),this.store?.destroy()}getEventTypes(){return Array.from(this.eventTypesSet)}};var gs=class{constructor(e="persona-event-stream",n="events"){this.db=null;this.pendingWrites=[];this.flushScheduled=!1;this.isDestroyed=!1;this.dbName=e,this.storeName=n}open(){return new Promise((e,n)=>{try{let o=indexedDB.open(this.dbName,1);o.onupgradeneeded=()=>{let r=o.result;r.objectStoreNames.contains(this.storeName)||r.createObjectStore(this.storeName,{keyPath:"id"}).createIndex("timestamp","timestamp",{unique:!1})},o.onsuccess=()=>{this.db=o.result,e()},o.onerror=()=>{n(o.error)}}catch(o){n(o)}})}put(e){!this.db||this.isDestroyed||(this.pendingWrites.push(e),this.flushScheduled||(this.flushScheduled=!0,queueMicrotask(()=>this.flushWrites())))}putBatch(e){if(!(!this.db||this.isDestroyed||e.length===0))try{let o=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName);for(let r of e)o.put(r)}catch{}}getAll(){return new Promise((e,n)=>{if(!this.db){e([]);return}try{let a=this.db.transaction(this.storeName,"readonly").objectStore(this.storeName).index("timestamp").getAll();a.onsuccess=()=>{e(a.result)},a.onerror=()=>{n(a.error)}}catch(o){n(o)}})}getCount(){return new Promise((e,n)=>{if(!this.db){e(0);return}try{let s=this.db.transaction(this.storeName,"readonly").objectStore(this.storeName).count();s.onsuccess=()=>{e(s.result)},s.onerror=()=>{n(s.error)}}catch(o){n(o)}})}clear(){return new Promise((e,n)=>{if(!this.db){e();return}this.pendingWrites=[];try{let s=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName).clear();s.onsuccess=()=>{e()},s.onerror=()=>{n(s.error)}}catch(o){n(o)}})}close(){this.db&&(this.db.close(),this.db=null)}destroy(){return this.isDestroyed=!0,this.pendingWrites=[],this.close(),new Promise((e,n)=>{try{let o=indexedDB.deleteDatabase(this.dbName);o.onsuccess=()=>{e()},o.onerror=()=>{n(o.error)}}catch(o){n(o)}})}flushWrites(){if(this.flushScheduled=!1,!this.db||this.isDestroyed||this.pendingWrites.length===0)return;let e=this.pendingWrites;this.pendingWrites=[];try{let o=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName);for(let r of e)o.put(r)}catch{}}};var ub=new Set(["flow_start","flow_run_start","agent_start","dispatch_start","run_start"]),fb=new Set(["step_start","execution_start"]),gb=new Set(["step_delta","step_chunk","chunk","agent_turn_delta"]),mb=new Set(["step_complete","agent_turn_complete"]),hb=new Set(["flow_complete","agent_complete"]),Fp=new Set(["step_error","flow_error","agent_error","dispatch_error","error"]),_p=t=>typeof t=="object"&&t!==null&&!Array.isArray(t),rn=t=>typeof t=="number"&&Number.isFinite(t)?t:void 0,Fo=(t,e)=>{let n=t[e];return _p(n)?n:void 0};function cl(t){return t>0?Math.max(1,Math.ceil(t/4)):0}function ja(t,e){if(!(t<=0||e===void 0||e<250))return t/(e/1e3)}function yb(t,e){return typeof e.type=="string"?e.type:t}function bb(t){return typeof t.text=="string"?t.text:typeof t.delta=="string"?t.delta:typeof t.content=="string"?t.content:typeof t.chunk=="string"?t.chunk:""}function vb(t,e){return t==="step_delta"||t==="step_chunk"?e.stepType!=="tool"&&e.executionType!=="context":t!=="agent_turn_delta"?!0:(typeof e.contentType=="string"?e.contentType:typeof e.content_type=="string"?e.content_type:void 0)==="text"}function Op(t){let e=Fo(t,"result"),n=[Fo(t,"tokens"),Fo(t,"totalTokens"),e?Fo(e,"tokens"):void 0,Fo(t,"usage"),e?Fo(e,"usage"):void 0];for(let o of n){if(!o)continue;let r=rn(o.output)??rn(o.outputTokens)??rn(o.completionTokens);if(r!==void 0)return r}return rn(t.outputTokens)??rn(t.completionTokens)??(e?rn(e.outputTokens)??rn(e.completionTokens):void 0)}function wb(t){let e=Fo(t,"result");return rn(t.executionTime)??rn(t.executionTimeMs)??rn(t.execution_time)??rn(t.duration)??(e?rn(e.executionTime)??rn(e.executionTimeMs):void 0)}function xb(){return typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now()}var ms=class{constructor(e=xb){this.metric={status:"idle"};this.run=null;this.now=e}getMetric(){let e=this.run;if(e&&this.metric.status==="running"&&e.firstDeltaAt!==void 0&&this.metric.outputTokens!==void 0){let n=this.now()-e.firstDeltaAt;return{...this.metric,durationMs:n,tokensPerSecond:ja(this.metric.outputTokens,n)}}return this.metric}reset(){this.run=null,this.metric={status:"idle"}}startRun(e){this.run={startedAt:e,visibleCharCount:0,exactOutputTokens:0},this.metric={status:"running"}}processEvent(e,n){if(!_p(n)){Fp.has(e)&&this.run&&(this.run=null,this.metric={status:"error"});return}let o=yb(e,n),r=this.now();if(ub.has(o)){this.startRun(r);return}if(fb.has(o)){this.run||this.startRun(r);return}if(gb.has(o)){if(!vb(o,n))return;let s=bb(n);if(!s)return;this.run||this.startRun(r);let a=this.run;a.firstDeltaAt??(a.firstDeltaAt=r),a.visibleCharCount+=s.length;let l=a.exactOutputTokens+cl(a.visibleCharCount),p=r-a.firstDeltaAt;this.metric={status:"running",tokensPerSecond:ja(l,p),outputTokens:l,durationMs:p,source:a.exactOutputTokens>0?"usage":"estimate"};return}if(mb.has(o)){if(!this.run)return;let s=this.run,a=Op(n);a!==void 0&&(s.exactOutputTokens+=a,s.visibleCharCount=0);let l=s.exactOutputTokens>0,p=s.exactOutputTokens+cl(s.visibleCharCount),d=this.resolveDuration(s,n,r);this.metric={status:"running",tokensPerSecond:ja(p,d),outputTokens:p,durationMs:d,source:l?"usage":"estimate"};return}if(hb.has(o)){if(!this.run)return;let s=this.run,a=Op(n),l=a??s.exactOutputTokens+cl(s.visibleCharCount),p=a!==void 0||s.exactOutputTokens>0?"usage":"estimate",d=this.resolveDuration(s,n,r);this.metric={status:"complete",tokensPerSecond:ja(l,d),outputTokens:l,durationMs:d,source:p},this.run=null;return}if(Fp.has(o)){if(!this.run)return;this.run=null,this.metric={status:"error"}}}resolveDuration(e,n,o){let r=e.firstDeltaAt!==void 0?o-e.firstDeltaAt:void 0;return r!==void 0&&r>=250?r:wb(n)??o-e.startedAt}};function fr(t,e){e&&e.split(/\s+/).forEach(n=>n&&t.classList.add(n))}var Cb={flow_:{bg:"var(--persona-palette-colors-success-100, #dcfce7)",text:"var(--persona-palette-colors-success-700, #166534)"},step_:{bg:"var(--persona-palette-colors-primary-100, #f5f5f5)",text:"var(--persona-palette-colors-primary-700, #0a0a0a)"},reason_:{bg:"var(--persona-palette-colors-warning-100, #ffedd5)",text:"var(--persona-palette-colors-warning-700, #9a3412)"},tool_:{bg:"var(--persona-palette-colors-purple-100, #f3e8ff)",text:"var(--persona-palette-colors-purple-700, #6b21a8)"},agent_:{bg:"var(--persona-palette-colors-teal-100, #ccfbf1)",text:"var(--persona-palette-colors-teal-700, #115e59)"},error:{bg:"var(--persona-palette-colors-error-100, #fecaca)",text:"var(--persona-palette-colors-error-700, #991b1b)"}},Ab={bg:"var(--persona-palette-colors-gray-100, #f3f4f6)",text:"var(--persona-palette-colors-gray-600, #4b5563)"},Sb=["flowName","stepName","reasoningText","text","name","tool","toolName"],Tb=100;function Mb(t,e){let n={...Cb,...e};if(n[t])return n[t];for(let o of Object.keys(n))if(o.endsWith("_")&&t.startsWith(o))return n[o];return Ab}function Eb(t,e){return`+${((t-e)/1e3).toFixed(3)}s`}function kb(t){let e=new Date(t),n=String(e.getHours()).padStart(2,"0"),o=String(e.getMinutes()).padStart(2,"0"),r=String(e.getSeconds()).padStart(2,"0"),s=String(e.getMilliseconds()).padStart(3,"0");return`${n}:${o}:${r}.${s}`}function Lb(t,e){try{let n=JSON.parse(t);if(typeof n!="object"||n===null)return null;for(let o of e){let r=o.split("."),s=n;for(let a of r)if(s&&typeof s=="object"&&s!==null)s=s[a];else{s=void 0;break}if(typeof s=="string"&&s.trim())return s.trim()}}catch{}return null}function Pb(t){return navigator.clipboard?.writeText?navigator.clipboard.writeText(t):new Promise(e=>{let n=document.createElement("textarea");n.value=t,n.style.position="fixed",n.style.opacity="0",document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n),e()})}function Ib(t){let e;try{e=JSON.parse(t.payload)}catch{e=t.payload}return JSON.stringify({type:t.type,timestamp:new Date(t.timestamp).toISOString(),payload:e},null,2)}function Rb(t){return t.tokensPerSecond===void 0||!Number.isFinite(t.tokensPerSecond)?"-- tok/s":`${t.tokensPerSecond.toFixed(1)} tok/s`}function Wb(t){let e=[];return t.outputTokens!==void 0&&e.push(`${t.outputTokens.toLocaleString()} tok`),t.durationMs!==void 0&&e.push(`${(t.durationMs/1e3).toFixed(2)}s`),t.source&&e.push(t.source),e.join(" \xB7 ")}function Bb(t,e,n){let o,r;try{r=JSON.parse(t.payload),o=JSON.stringify(r,null,2)}catch{r=t.payload,o=t.payload}let s=e.find(l=>l.renderEventStreamPayload);if(s?.renderEventStreamPayload&&n){let l=s.renderEventStreamPayload({event:t,config:n,defaultRenderer:()=>a(),parsedPayload:r});if(l)return l}return a();function a(){let l=m("div","persona-bg-persona-container persona-border-t persona-border-persona-divider persona-px-3 persona-py-2 persona-ml-4 persona-mr-3 persona-mb-1 persona-rounded-b persona-overflow-auto persona-max-h-[300px]"),p=m("pre","persona-m-0 persona-whitespace-pre-wrap persona-break-all persona-text-[11px] persona-text-persona-secondary persona-font-mono");return p.textContent=o,l.appendChild(p),l}}function dl(t,e,n,o,r,s,a,l){let p=r.has(t.id),d=m("div","persona-border-b persona-border-persona-divider persona-text-xs");fr(d,o.classNames?.eventRow);let c=a.find(w=>w.renderEventStreamRow);if(c?.renderEventStreamRow&&l){let w=c.renderEventStreamRow({event:t,index:e,config:l,defaultRenderer:()=>u(),isExpanded:p,onToggleExpand:()=>s(t.id)});if(w)return d.appendChild(w),d}return d.appendChild(u()),d;function u(){let w=m("div",""),f=m("div","persona-flex persona-items-center persona-gap-2 persona-px-3 persona-py-3 hover:persona-bg-persona-container persona-cursor-pointer persona-group");f.setAttribute("data-event-id",t.id);let v=m("span","persona-flex-shrink-0 persona-text-persona-muted persona-w-4 persona-text-center persona-flex persona-items-center persona-justify-center"),x=ae(p?"chevron-down":"chevron-right","14px","currentColor",2);x&&v.appendChild(x);let P=m("span","persona-text-[11px] persona-text-persona-muted persona-whitespace-nowrap persona-flex-shrink-0 persona-font-mono persona-w-[70px]"),W=o.timestampFormat??"relative";P.textContent=W==="relative"?Eb(t.timestamp,n):kb(t.timestamp);let T=null;o.showSequenceNumbers!==!1&&(T=m("span","persona-text-[11px] persona-text-persona-muted persona-font-mono persona-flex-shrink-0 persona-w-[28px] persona-text-right"),T.textContent=String(e+1));let I=Mb(t.type,o.badgeColors),H=m("span","persona-inline-flex persona-items-center persona-px-2 persona-py-0.5 persona-rounded persona-text-[11px] persona-font-mono persona-font-medium persona-whitespace-nowrap persona-flex-shrink-0 persona-border");H.style.backgroundColor=I.bg,H.style.color=I.text,H.style.borderColor=I.text+"50",H.textContent=t.type;let q=o.descriptionFields??Sb,U=Lb(t.payload,q),$=null;U&&($=m("span","persona-text-[11px] persona-text-persona-secondary persona-truncate persona-min-w-0"),$.textContent=U);let C=m("div","persona-flex-1 persona-min-w-0"),j=m("button","persona-text-persona-muted hover:persona-text-persona-primary persona-cursor-pointer persona-flex-shrink-0 persona-border-none persona-bg-transparent persona-p-0"),J=ae("clipboard","12px","currentColor",1.5);return J&&j.appendChild(J),j.addEventListener("click",async D=>{D.stopPropagation(),await Pb(Ib(t)),j.innerHTML="";let _=ae("check","12px","currentColor",1.5);_&&j.appendChild(_),setTimeout(()=>{j.innerHTML="";let ce=ae("clipboard","12px","currentColor",1.5);ce&&j.appendChild(ce)},1500)}),f.appendChild(v),f.appendChild(P),T&&f.appendChild(T),f.appendChild(H),$&&f.appendChild($),f.appendChild(C),f.appendChild(j),w.appendChild(f),p&&w.appendChild(Bb(t,a,l)),w}}function $p(t){let{buffer:e,getFullHistory:n,onClose:o,config:r,plugins:s=[],getThroughput:a}=t,l=r?.features?.scrollToBottom,p=l?.enabled!==!1,d=l?.iconName??"arrow-down",c=l?.label??"",u=r?.features?.eventStream??{},w=s.find(v=>v.renderEventStreamView);if(w?.renderEventStreamView&&r){let v=w.renderEventStreamView({config:r,events:e.getAll(),defaultRenderer:()=>f().element,onClose:o});if(v)return{element:v,update:()=>{},destroy:()=>{}}}return f();function f(){let v=u.classNames,x=m("div","persona-event-stream-view persona-flex persona-flex-col persona-flex-1 persona-min-h-0");fr(x,v?.panel);let P=[],W="",T="",I=null,H=[],q={},U=0,$=Ta(),C=0,j=0,J=!1,D=null,_=!1,ce=0,he=new Set,Me=new Map,Ce="",te="",ge=null,Y,le,Z,be,ve=null,fe=null,Te=null;function Ae(){let B=m("div","persona-event-toolbar persona-relative persona-flex persona-flex-col persona-flex-shrink-0"),z=m("div","persona-flex persona-items-center persona-gap-2 persona-px-4 persona-py-3 persona-pb-0 persona-border-persona-divider persona-bg-persona-surface persona-overflow-hidden");if(fr(z,v?.headerBar),a){fe=m("div","persona-relative persona-flex persona-items-center persona-gap-1.5 persona-whitespace-nowrap"),fe.style.cursor="help",ve=m("span","persona-text-[11px] persona-font-mono persona-bg-persona-container persona-text-persona-muted persona-px-2 persona-py-0.5 persona-rounded persona-border persona-border-persona-border persona-tabular-nums"),ve.textContent="-- tok/s",Te=m("div","persona-absolute persona-z-50 persona-whitespace-nowrap persona-rounded persona-border persona-border-persona-border persona-bg-persona-container persona-text-persona-primary persona-text-[11px] persona-font-mono persona-px-2 persona-py-1 persona-shadow"),Te.style.display="none",Te.style.pointerEvents="none";let Qe=fe,io=Te,lo=()=>{if(!io.textContent)return;let ws=Qe.getBoundingClientRect(),Qt=B.getBoundingClientRect();io.style.left=`${ws.left-Qt.left}px`,io.style.top=`${ws.bottom-Qt.top+4}px`,io.style.display="block"},Ka=()=>{io.style.display="none"};fe.addEventListener("mouseenter",lo),fe.addEventListener("mouseleave",Ka),fe.appendChild(ve)}let re=m("div","persona-flex-1");Y=m("select","persona-text-xs persona-bg-persona-surface persona-border persona-border-persona-border persona-rounded persona-px-2.5 persona-py-1 persona-text-persona-primary persona-cursor-pointer");let et=m("option","");et.value="",et.textContent="All events (0)",Y.appendChild(et),le=m("button","persona-inline-flex persona-items-center persona-gap-1.5 persona-rounded persona-text-xs persona-text-persona-muted hover:persona-bg-persona-container hover:persona-text-persona-primary persona-cursor-pointer persona-border persona-border-persona-border persona-bg-persona-surface persona-flex-shrink-0 persona-px-2.5 persona-py-1"),le.type="button",le.title="Copy All";let lt=ae("clipboard-copy","12px","currentColor",1.5);lt&&le.appendChild(lt);let V=m("span","persona-event-copy-all persona-text-xs");V.textContent="Copy All",le.appendChild(V),fe&&z.appendChild(fe),z.appendChild(re),z.appendChild(Y),z.appendChild(le);let $e=m("div","persona-relative persona-px-4 persona-py-2.5 persona-border-b persona-border-persona-divider persona-bg-persona-surface");fr($e,v?.searchBar);let xe=ae("search","14px","var(--persona-muted, #9ca3af)",1.5),Be=m("span","persona-absolute persona-left-6 persona-top-1/2 persona--translate-y-1/2 persona-pointer-events-none persona-flex persona-items-center");xe&&Be.appendChild(xe),Z=m("input","persona-text-sm persona-bg-persona-surface persona-border persona-border-persona-border persona-rounded-md persona-pl-8 persona-pr-3 persona-py-1 persona-w-full persona-text-persona-primary"),fr(Z,v?.searchInput),Z.type="text",Z.placeholder="Search event payloads...",be=m("button","persona-absolute persona-right-5 persona-top-1/2 persona--translate-y-1/2 persona-text-persona-muted hover:persona-text-persona-primary persona-cursor-pointer persona-border-none persona-bg-transparent persona-p-0 persona-leading-none"),be.type="button",be.style.display="none";let Le=ae("x","12px","currentColor",2);return Le&&be.appendChild(Le),$e.appendChild(Be),$e.appendChild(Z),$e.appendChild(be),B.appendChild(z),B.appendChild($e),Te&&B.appendChild(Te),B}let ze,Ne=s.find(B=>B.renderEventStreamToolbar);Ne?.renderEventStreamToolbar&&r?ze=Ne.renderEventStreamToolbar({config:r,defaultRenderer:()=>Ae(),eventCount:e.getSize(),filteredCount:0,onFilterChange:z=>{W=z,Ie(),ye()},onSearchChange:z=>{T=z,Ie(),ye()}})??Ae():ze=Ae();let Pe=m("div","persona-text-xs persona-text-persona-muted persona-text-center persona-py-0.5 persona-px-4 persona-bg-persona-container persona-border-b persona-border-persona-divider persona-italic persona-flex-shrink-0");Pe.style.display="none";function We(){if(!a||!ve||!fe)return;let B=a(),z=Rb(B);ve.textContent=z;let re=Wb(B);Te&&(Te.textContent=re,re||(Te.style.display="none")),fe.setAttribute("aria-label",re?`Throughput: ${z}, ${re}`:`Throughput: ${z}`)}let at=m("div","persona-flex-1 persona-min-h-0 persona-relative"),Oe=m("div","persona-event-stream-list persona-overflow-y-auto persona-min-h-0");Oe.style.height="100%";let Xe=m("div","persona-scroll-to-bottom-indicator persona-absolute persona-bottom-3 persona-left-1/2 persona-transform persona--translate-x-1/2 persona-cursor-pointer persona-z-10 persona-text-xs");fr(Xe,v?.scrollIndicator),Xe.style.display="none",Xe.setAttribute("data-persona-scroll-to-bottom-has-label",c?"true":"false");let sn=ae(d,"14px","currentColor",2);sn&&Xe.appendChild(sn);let Et=m("span","");Et.textContent=c,Xe.appendChild(Et);let ft=m("div","persona-flex persona-items-center persona-justify-center persona-h-full persona-text-sm persona-text-persona-muted");ft.style.display="none",at.appendChild(Oe),at.appendChild(ft),at.appendChild(Xe),x.setAttribute("tabindex","0"),x.appendChild(ze),x.appendChild(Pe),x.appendChild(at);function Ee(){let B=e.getAll(),z={};for(let $e of B)z[$e.type]=(z[$e.type]||0)+1;let re=Object.keys(z).sort(),et=re.length!==H.length||!re.every(($e,xe)=>$e===H[xe]),Re=!et&&re.some($e=>z[$e]!==q[$e]),lt=B.length!==Object.values(q).reduce(($e,xe)=>$e+xe,0);if(!et&&!Re&&!lt||(H=re,q=z,!Y))return;let V=Y.value;if(Y.options[0].textContent=`All events (${B.length})`,et){for(;Y.options.length>1;)Y.remove(1);for(let $e of re){let xe=m("option","");xe.value=$e,xe.textContent=`${$e} (${z[$e]||0})`,Y.appendChild(xe)}V&&re.includes(V)?Y.value=V:V&&(Y.value="",W="")}else for(let $e=1;$e<Y.options.length;$e++){let xe=Y.options[$e];xe.textContent=`${xe.value} (${z[xe.value]||0})`}}function me(){let B=e.getAll();if(W&&(B=B.filter(z=>z.type===W)),T){let z=T.toLowerCase();B=B.filter(re=>re.type.toLowerCase().includes(z)||re.payload.toLowerCase().includes(z))}return B}function it(){return W!==""||T!==""}function Ie(){U=0,C=0,$.resume(),Xe.style.display="none"}function ue(B){he.has(B)?he.delete(B):he.add(B),ge=B;let z=Oe.scrollTop,re=$.isFollowing();_=!0,$.pause(),ye(),Oe.scrollTop=z,re&&$.resume(),_=!1}function ie(){return so(Oe,50)}function ye(){j=Date.now(),J=!1,We(),Ee();let B=e.getEvictedCount();B>0?(Pe.textContent=`${B.toLocaleString()} older events truncated`,Pe.style.display=""):Pe.style.display="none",P=me();let z=P.length,re=e.getSize()>0;z===0&&re&&it()?(ft.textContent=T?`No events matching '${T}'`:"No events matching filter",ft.style.display="",Oe.style.display="none"):(ft.style.display="none",Oe.style.display=""),le&&(le.title=it()?`Copy Filtered (${z})`:"Copy All"),p&&!$.isFollowing()&&z>U&&(C+=z-U,Et.textContent=c?`${c}${C>0?` (${C})`:""}`:"",Xe.style.display=""),U=z;let et=e.getAll(),Re=et.length>0?et[0].timestamp:0,lt=new Set(P.map(xe=>xe.id));for(let xe of he)lt.has(xe)||he.delete(xe);let V=W!==Ce||T!==te,$e=Me.size===0&&P.length>0;if(V||$e||P.length===0){Oe.innerHTML="",Me.clear();let xe=document.createDocumentFragment();for(let Be=0;Be<P.length;Be++){let Le=dl(P[Be],Be,Re,u,he,ue,s,r);Me.set(P[Be].id,Le),xe.appendChild(Le)}Oe.appendChild(xe),Ce=W,te=T,ge=null}else{if(ge!==null){let Be=Me.get(ge);if(Be&&Be.parentNode===Oe){let Le=P.findIndex(Qe=>Qe.id===ge);if(Le>=0){let Qe=dl(P[Le],Le,Re,u,he,ue,s,r);Oe.insertBefore(Qe,Be),Be.remove(),Me.set(ge,Qe)}}ge=null}let xe=new Set(P.map(Be=>Be.id));for(let[Be,Le]of Me)xe.has(Be)||(Le.remove(),Me.delete(Be));for(let Be=0;Be<P.length;Be++){let Le=P[Be];if(!Me.has(Le.id)){let Qe=dl(Le,Be,Re,u,he,ue,s,r);Me.set(Le.id,Qe),Oe.appendChild(Qe)}}}$.isFollowing()&&(Oe.scrollTop=Oe.scrollHeight)}function bt(){if(Date.now()-j>=Tb){D!==null&&(cancelAnimationFrame(D),D=null),ye();return}J||(J=!0,D=requestAnimationFrame(()=>{D=null,ye()}))}let N=(B,z)=>{if(!le)return;le.innerHTML="";let re=ae(B,"12px","currentColor",1.5);re&&le.appendChild(re);let et=m("span","persona-text-xs");et.textContent="Copy All",le.appendChild(et),setTimeout(()=>{le.innerHTML="";let Re=ae("clipboard-copy","12px","currentColor",1.5);Re&&le.appendChild(Re);let lt=m("span","persona-text-xs");lt.textContent="Copy All",le.appendChild(lt),le.disabled=!1},z)},ne=async()=>{if(le){le.disabled=!0;try{let B;it()?B=P:n?(B=await n(),B.length===0&&(B=e.getAll())):B=e.getAll();let z=B.map(re=>{try{return JSON.parse(re.payload)}catch{return re.payload}});await navigator.clipboard.writeText(JSON.stringify(z,null,2)),N("check",1500)}catch{N("x",1500)}}},De=()=>{Y&&(W=Y.value,Ie(),ye())},ke=()=>{!Z||!be||(be.style.display=Z.value?"":"none",I&&clearTimeout(I),I=setTimeout(()=>{T=Z.value,Ie(),ye()},150))},M=()=>{!Z||!be||(Z.value="",T="",be.style.display="none",I&&clearTimeout(I),Ie(),ye())},X=()=>{if(_)return;let B=Oe.scrollTop,{action:z,nextLastScrollTop:re}=Ma({following:$.isFollowing(),currentScrollTop:B,lastScrollTop:ce,nearBottom:ie(),userScrollThreshold:1,resumeRequiresDownwardScroll:!0});ce=re,z==="resume"?($.resume(),C=0,Xe.style.display="none"):z==="pause"&&($.pause(),p&&(Et.textContent=c,Xe.style.display=""))},y=B=>{let z=Ea({following:$.isFollowing(),deltaY:B.deltaY,nearBottom:ie(),resumeWhenNearBottom:!0});z==="pause"?($.pause(),p&&(Et.textContent=c,Xe.style.display="")):z==="resume"&&($.resume(),C=0,Xe.style.display="none")},A=()=>{p&&(Oe.scrollTop=Oe.scrollHeight,$.resume(),C=0,Xe.style.display="none")},E=B=>{let z=B.target;if(!z||z.closest("button"))return;let re=z.closest("[data-event-id]");if(!re)return;let et=re.getAttribute("data-event-id");et&&ue(et)},R=B=>{if((B.metaKey||B.ctrlKey)&&B.key==="f"){B.preventDefault(),Z?.focus(),Z?.select();return}B.key==="Escape"&&(Z&&document.activeElement===Z?(M(),Z.blur(),x.focus()):o&&o())};le&&le.addEventListener("click",ne),Y&&Y.addEventListener("change",De),Z&&Z.addEventListener("input",ke),be&&be.addEventListener("click",M),Oe.addEventListener("scroll",X),Oe.addEventListener("wheel",y,{passive:!0}),Oe.addEventListener("click",E),Xe.addEventListener("click",A),x.addEventListener("keydown",R);function K(){I&&clearTimeout(I),D!==null&&(cancelAnimationFrame(D),D=null),J=!1,Me.clear(),le&&le.removeEventListener("click",ne),Y&&Y.removeEventListener("change",De),Z&&Z.removeEventListener("input",ke),be&&be.removeEventListener("click",M),Oe.removeEventListener("scroll",X),Oe.removeEventListener("wheel",y),Oe.removeEventListener("click",E),Xe.removeEventListener("click",A),x.removeEventListener("keydown",R)}return{element:x,update:bt,destroy:K}}}function Up(t,e){let n=e.orientation??"horizontal",o=n==="vertical"?"ArrowUp":"ArrowLeft",r=n==="vertical"?"ArrowDown":"ArrowRight";t.setAttribute("role","tablist");let s=[],a=!1,l=u=>{typeof u.scrollIntoView=="function"&&u.scrollIntoView({block:"nearest",inline:"nearest"})},p=u=>{let w=u;return s.findIndex(f=>f===w||f.contains(w))},d=u=>{let w=p(u.target);if(w<0)return;let f=w;if(u.key===r)f=Math.min(w+1,s.length-1);else if(u.key===o)f=Math.max(w-1,0);else if(u.key==="Home")f=0;else if(u.key==="End")f=s.length-1;else return;u.preventDefault(),f!==w&&e.onSelect(f)},c=u=>{let w=p(u.target);w>=0&&l(s[w])};return t.addEventListener("keydown",d),t.addEventListener("focusin",c),{beforeRender(){a=typeof document<"u"&&t.contains(document.activeElement)},render(u,w){if(s=u,u.forEach((f,v)=>{f.setAttribute("role","tab");let x=v===w;f.setAttribute("aria-selected",x?"true":"false"),f.tabIndex=x||w<0&&v===0?0:-1}),a){let f=(w>=0?u[w]:void 0)??u[0];f&&typeof f.focus=="function"&&(l(f),f.focus())}},destroy(){t.removeEventListener("keydown",d),t.removeEventListener("focusin",c)}}}function zp(t,e){let n=t.features?.artifacts?.layout,r=(n?.toolbarPreset??"default")==="document",s=n?.toolbarTitle??"Artifacts",a=n?.closeButtonLabel??"Close",l=n?.panePadding?.trim(),p=n?.tabFadeSize?.trim(),d=N=>({start:N===!1?!1:typeof N=="object"&&N?N.start!==!1:!0,end:N===!1?!1:typeof N=="object"&&N?N.end!==!1:!0}),{start:c,end:u}=d(n?.tabFade),w=typeof document<"u"?m("div","persona-artifact-backdrop persona-fixed persona-inset-0 persona-z-[55] persona-bg-black/30 persona-hidden md:persona-hidden"):null,f=()=>{w?.classList.add("persona-hidden"),v.classList.remove("persona-artifact-drawer-open"),_?.hide()};w&&w.addEventListener("click",()=>{f(),e.onDismiss?.()});let v=m("aside","persona-artifact-pane persona-flex persona-flex-col persona-min-h-0 persona-min-w-0 persona-bg-persona-surface persona-text-persona-primary persona-border-l persona-border-persona-border");v.setAttribute("data-persona-theme-zone","artifact-pane"),r&&v.classList.add("persona-artifact-pane-document");let x=m("div","persona-artifact-toolbar persona-flex persona-items-center persona-justify-between persona-gap-2 persona-px-2 persona-py-2 persona-border-b persona-border-persona-border persona-shrink-0");x.setAttribute("data-persona-theme-zone","artifact-toolbar"),r&&x.classList.add("persona-artifact-toolbar-document");let P=m("span","persona-text-xs persona-font-medium persona-truncate");P.textContent=s;let W=Wt({icon:"x",label:a});W.addEventListener("click",()=>{f(),e.onDismiss?.()});let T="rendered",I=va({items:[{id:"rendered",icon:"eye",label:"Rendered view",className:r?"persona-artifact-doc-icon-btn persona-artifact-view-btn":void 0},{id:"source",icon:"code-xml",label:"Source",className:r?"persona-artifact-doc-icon-btn persona-artifact-code-btn":void 0}],selectedId:"rendered",className:"persona-artifact-toggle-group persona-shrink-0",onSelect:N=>{T=N==="source"?"source":"rendered",ie()}}),H=m("div","persona-flex persona-items-center persona-gap-1 persona-shrink-0"),q=n?.documentToolbarShowCopyLabel===!0,U=n?.documentToolbarShowCopyChevron===!0,$=n?.documentToolbarCopyMenuItems,C=!!(U&&$&&$.length>0),j=null,J,D=null,_=null;if(r&&(q||U)&&!C){if(J=q?Bo({icon:"copy",label:"Copy",iconSize:14,className:"persona-artifact-doc-copy-btn"}):Wt({icon:"copy",label:"Copy",className:"persona-artifact-doc-copy-btn"}),U){let N=ae("chevron-down",14,"currentColor",2);N&&J.appendChild(N)}}else r&&C?(j=m("div","persona-relative persona-inline-flex persona-items-center persona-gap-0 persona-rounded-md"),J=q?Bo({icon:"copy",label:"Copy",iconSize:14,className:"persona-artifact-doc-copy-btn"}):Wt({icon:"copy",label:"Copy",className:"persona-artifact-doc-copy-btn"}),D=Wt({icon:"chevron-down",label:"More copy options",size:14,className:"persona-artifact-doc-copy-menu-chevron persona-artifact-doc-icon-btn",aria:{"aria-haspopup":"true","aria-expanded":"false"}}),j.append(J,D)):r?J=Wt({icon:"copy",label:"Copy",className:"persona-artifact-doc-icon-btn"}):(J=Wt({icon:"copy",label:"Copy"}),n?.showCopyButton!==!0&&J.classList.add("persona-hidden"));let ce=r?Wt({icon:"refresh-cw",label:"Refresh",className:"persona-artifact-doc-icon-btn"}):Wt({icon:"refresh-cw",label:"Refresh"}),he=r?Wt({icon:"x",label:a,className:"persona-artifact-doc-icon-btn"}):Wt({icon:"x",label:a}),Me=Wt({icon:"maximize",label:"Expand artifacts panel",className:"persona-artifact-expand-btn"+(r?" persona-artifact-doc-icon-btn":""),onClick:()=>e.onToggleExpand?.()});n?.showExpandToggle!==!0&&Me.classList.add("persona-hidden");let Ce=m("div","persona-flex persona-items-center persona-gap-1 persona-shrink-0 persona-artifact-toolbar-custom-actions"),te=t.features?.artifacts?.toolbarActions??[],ge=()=>{let N=Pe.find(M=>M.id===We)??Pe[Pe.length-1],ne=N?.id??null,De=N?.artifactType==="markdown"?N.markdown??"":"",ke=N?JSON.stringify({component:N.component,props:N.props},null,2):"";return{markdown:De,jsonPayload:ke,id:ne}},Y=async()=>{let N=Pe.find(ne=>ne.id===We)??Pe[Pe.length-1];try{await navigator.clipboard.writeText(rs(N))}catch{}};if(J.addEventListener("click",async()=>{let N=n?.onDocumentToolbarCopyMenuSelect;if(N&&C){let{markdown:ne,jsonPayload:De,id:ke}=ge();try{await N({actionId:"primary",artifactId:ke,markdown:ne,jsonPayload:De})}catch{}return}await Y()}),D&&$?.length){let N=()=>v.closest("[data-persona-root]")??document.body,ne=()=>{_=lr({items:$.map(De=>({id:De.id,label:De.label})),onSelect:async De=>{let{markdown:ke,jsonPayload:M,id:X}=ge(),y=n?.onDocumentToolbarCopyMenuSelect;try{y?await y({actionId:De,artifactId:X,markdown:ke,jsonPayload:M}):De==="markdown"||De==="md"?await navigator.clipboard.writeText(ke):De==="json"||De==="source"?await navigator.clipboard.writeText(M):await navigator.clipboard.writeText(ke||M)}catch{}},anchor:j??D,position:"bottom-right",portal:N()})};v.isConnected?ne():requestAnimationFrame(ne),D.addEventListener("click",De=>{De.stopPropagation(),_?.toggle()})}ce.addEventListener("click",async()=>{try{await n?.onDocumentToolbarRefresh?.()}catch{}ie()}),he.addEventListener("click",()=>{f(),e.onDismiss?.()});let le=m("span","persona-min-w-0 persona-flex-1 persona-text-xs persona-font-medium persona-text-persona-primary persona-truncate persona-text-center md:persona-text-left");if(r)x.replaceChildren(),j?H.append(j,ce,he):H.append(J,ce,he),H.insertBefore(Ce,he),H.insertBefore(Me,he),x.append(I.element,le,H);else{let N=m("div","persona-flex persona-items-center persona-gap-1 persona-shrink-0");N.append(J,Ce,Me,W),x.appendChild(P),x.appendChild(N)}l&&(x.style.paddingLeft=l,x.style.paddingRight=l);let Z=m("div","persona-artifact-list persona-shrink-0 persona-flex persona-gap-1 persona-overflow-x-auto persona-p-2 persona-border-b persona-border-persona-border");p&&Z.style.setProperty("--persona-artifact-tab-fade-size",p);let be=t.features?.artifacts?.renderTabBar,ve=m("div","persona-artifact-tab-custom persona-shrink-0 persona-border-b persona-border-persona-border persona-hidden"),fe=Up(Z,{onSelect:N=>e.onSelect(Pe[N].id)}),Te=N=>{let ne=N.scrollWidth-N.clientWidth,De=ne>1,ke=Math.abs(N.scrollLeft);N.classList.toggle("persona-artifact-tab-fade-start",c&&De&&ke>1),N.classList.toggle("persona-artifact-tab-fade-end",u&&De&&ke<ne-1)},Ae=0,ze=()=>{if(Ae)return;let N=()=>{Ae=0,Te(Z)};Ae=typeof requestAnimationFrame=="function"?requestAnimationFrame(N):setTimeout(N,0)};Z.addEventListener("scroll",()=>ze(),{passive:!0}),typeof ResizeObserver<"u"&&new ResizeObserver(()=>Te(Z)).observe(Z);let Ne=m("div","persona-artifact-content persona-flex-1 persona-min-h-0 persona-overflow-y-auto persona-p-3");if(l){for(let N of[Z,ve])N.style.paddingLeft=l,N.style.paddingRight=l;Ne.style.padding=l}v.appendChild(x),v.appendChild(Z),v.appendChild(ve),v.appendChild(Ne);let Pe=[],We=null,at=!1,Oe=!0,Xe=!1,sn=null,Et="",ft=null,Ee=!1,me=N=>N.artifactType==="markdown"&&!!N.file||r?T:"rendered",it=N=>{r||(N&&!Ee?(x.insertBefore(I.element,P),Ee=!0):!N&&Ee&&(I.element.remove(),Ee=!1))},Ie=()=>We&&Pe.find(N=>N.id===We)||Pe[Pe.length-1],ue=()=>{let N=ns(Ie());if(!N){Ce.replaceChildren();return}let ne=te.filter(De=>De.visible===void 0||De.visible(N)).map(De=>cr(De,{documentChrome:r,onClick:()=>{let ke=ns(Ie());if(ke)try{Promise.resolve(De.onClick(ke)).catch(()=>{})}catch{}}}));Ce.replaceChildren(...ne)},ie=()=>{ue();let N=r&&Pe.length<=1,ne=!!be;if(Z.classList.toggle("persona-hidden",N||ne),ve.classList.toggle("persona-hidden",N||!ne),ne&&be){let M=Pe.map(X=>X.id).join("|")+" "+(We??"");if(M!==Et){Et=M;let X=be({records:Pe,selectedId:We,onSelect:e.onSelect});ve.firstElementChild!==X&&ve.replaceChildren(X)}}else{fe.beforeRender(),Z.replaceChildren();let M=[],X=-1;for(let[y,A]of Pe.entries()){let E=m("button","persona-artifact-tab persona-shrink-0 persona-rounded-lg persona-px-2 persona-py-1 persona-text-xs persona-border persona-border-transparent persona-text-persona-primary");E.type="button";let R=A.artifactType==="markdown"?A.file:void 0,K=R?Tn(R.path):A.title||A.id.slice(0,8),B=R?.path||A.title||K;E.textContent=K,E.title=B,E.setAttribute("aria-label",B),A.id===We&&(E.classList.add("persona-bg-persona-container","persona-border-persona-border"),X=y),E.addEventListener("click",()=>e.onSelect(A.id)),Z.appendChild(E),M.push(E)}if(fe.render(M,X),X>=0&&We!==sn){sn=We;let y=M[X];typeof y.scrollIntoView=="function"&&y.scrollIntoView({block:"nearest",inline:"nearest"})}Te(Z)}let De=We&&Pe.find(M=>M.id===We)||Pe[Pe.length-1];if(!De){Ne.replaceChildren(),ft=null,it(!1);return}let ke=De.artifactType==="markdown"?De.file:void 0;if(it(!!ke),r){let M=ke?to(ke):De.artifactType==="markdown"?"MD":De.component??"Component",X=(De.title||"Document").trim(),y=ke?Tn(ke.path):X.replace(/\s*·\s*MD\s*$/i,"").trim()||"Document";le.textContent=`${y} \xB7 ${M}`}else P.textContent=ke?Tn(ke.path):s;ft?(ft.el.parentElement!==Ne&&Ne.replaceChildren(ft.el),ft.update(De)):(ft=Ca(De,{config:t,resolveViewMode:me}),Ne.replaceChildren(ft.el)),Ne.classList.toggle("persona-artifact-content-flush",!!Ne.querySelector(".persona-code-pre"))},ye=()=>{let N=Pe.length>0;if(v.classList.toggle("persona-hidden",!N),w){let ke=((typeof v.closest=="function"?v.closest("[data-persona-root]"):null)?.classList.contains("persona-artifact-narrow-host")??!1)||typeof window<"u"&&window.matchMedia("(max-width: 640px)").matches;N&&ke&&at?(w.classList.remove("persona-hidden"),v.classList.add("persona-artifact-drawer-open")):(w.classList.add("persona-hidden"),v.classList.remove("persona-artifact-drawer-open"))}},bt=()=>{Xe=!1,ie(),ye()};return{element:v,backdrop:w,update(N){Pe=N.artifacts,We=N.selectedId??N.artifacts[N.artifacts.length-1]?.id??null,Pe.length>0&&(at=!0),Xe=!0,Oe&&bt()},setMobileOpen(N){at=N,!N&&w?(w.classList.add("persona-hidden"),v.classList.remove("persona-artifact-drawer-open")):ye()},setExpanded(N){let ne=ae(N?"minimize":"maximize",16,"currentColor",2);ne&&Me.replaceChildren(ne);let De=N?"Collapse artifacts panel":"Expand artifacts panel";Me.setAttribute("aria-label",De),Me.title=De},setExpandToggleVisible(N){Me.classList.toggle("persona-hidden",!N)},setCopyButtonVisible(N){r||J.classList.toggle("persona-hidden",!N)},setCustomActions(N){te=N,ue()},setTabFade(N){let ne=d(N);ne.start===c&&ne.end===u||(c=ne.start,u=ne.end,Te(Z))},setRenderTabBar(N){N!==be&&(be=N,Et="",ie())},setVisible(N){N!==Oe&&(Oe=N,N&&Xe&&bt())}}}function Xt(t){return t?.features?.artifacts?.enabled===!0}function jp(t,e){if(t.classList.remove("persona-artifact-border-full","persona-artifact-border-left"),t.style.removeProperty("--persona-artifact-pane-border"),t.style.removeProperty("--persona-artifact-pane-border-left"),!Xt(e))return;let n=e.features?.artifacts?.layout,o=n?.paneBorder?.trim(),r=n?.paneBorderLeft?.trim();o?(t.classList.add("persona-artifact-border-full"),t.style.setProperty("--persona-artifact-pane-border",o)):r&&(t.classList.add("persona-artifact-border-left"),t.style.setProperty("--persona-artifact-pane-border-left",r))}function Hb(t){t.style.removeProperty("--persona-artifact-doc-toolbar-icon-color"),t.style.removeProperty("--persona-artifact-doc-toggle-active-bg"),t.style.removeProperty("--persona-artifact-doc-toggle-active-border")}var qp=["panel","seamless","detached"];function pl(t){let e=t.features?.artifacts?.layout?.paneAppearance;return e&&qp.includes(e)?e:e?"panel":t.launcher?.detachedPanel?"detached":"panel"}function ul(t){return!t||!Xt(t)?!1:pl(t)==="detached"}function hs(t,e){if(!Xt(e)){t.style.removeProperty("--persona-artifact-split-gap"),t.style.removeProperty("--persona-artifact-pane-width"),t.style.removeProperty("--persona-artifact-pane-max-width"),t.style.removeProperty("--persona-artifact-pane-min-width"),t.style.removeProperty("--persona-artifact-pane-bg"),t.style.removeProperty("--persona-artifact-pane-padding"),Hb(t),jp(t,e);return}let n=e.features?.artifacts?.layout,o=pl(e)==="detached"?"var(--persona-panel-inset)":"0";t.style.setProperty("--persona-artifact-split-gap",n?.splitGap??o),t.style.setProperty("--persona-artifact-pane-width",n?.paneWidth??"40%"),t.style.setProperty("--persona-artifact-pane-max-width",n?.paneMaxWidth??"28rem"),n?.paneMinWidth?t.style.setProperty("--persona-artifact-pane-min-width",n.paneMinWidth):t.style.removeProperty("--persona-artifact-pane-min-width");let r=n?.paneBackground?.trim();r?t.style.setProperty("--persona-artifact-pane-bg",r):t.style.removeProperty("--persona-artifact-pane-bg");let s=n?.panePadding?.trim();s?t.style.setProperty("--persona-artifact-pane-padding",s):t.style.removeProperty("--persona-artifact-pane-padding");let a=n?.documentToolbarIconColor?.trim();a?t.style.setProperty("--persona-artifact-doc-toolbar-icon-color",a):t.style.removeProperty("--persona-artifact-doc-toolbar-icon-color");let l=n?.documentToolbarToggleActiveBackground?.trim();l?t.style.setProperty("--persona-artifact-doc-toggle-active-bg",l):t.style.removeProperty("--persona-artifact-doc-toggle-active-bg");let p=n?.documentToolbarToggleActiveBorderColor?.trim();p?t.style.setProperty("--persona-artifact-doc-toggle-active-border",p):t.style.removeProperty("--persona-artifact-doc-toggle-active-border"),jp(t,e)}function ys(t,e){for(let l of qp)t.classList.remove(`persona-artifact-appearance-${l}`);if(t.style.removeProperty("--persona-artifact-pane-radius"),t.style.removeProperty("--persona-artifact-pane-shadow"),t.style.removeProperty("--persona-artifact-chat-shadow"),!Xt(e))return;let n=e.features?.artifacts?.layout,o=pl(e);t.classList.add(`persona-artifact-appearance-${o}`);let r=n?.paneBorderRadius?.trim();r&&t.style.setProperty("--persona-artifact-pane-radius",r);let s=n?.paneShadow?.trim();s&&t.style.setProperty("--persona-artifact-pane-shadow",s);let a=n?.chatShadow?.trim();a&&t.style.setProperty("--persona-artifact-chat-shadow",a)}function Vp(t,e){return!e||!Xt(t)?!1:t.features?.artifacts?.layout?.expandLauncherPanelWhenOpen!==!1}function Db(t,e){if(!t?.trim())return e;let n=/^(\d+(?:\.\d+)?)px\s*$/i.exec(t.trim());return n?Math.max(0,Number(n[1])):e}function Nb(t){if(!t?.trim())return null;let e=/^(\d+(?:\.\d+)?)px\s*$/i.exec(t.trim());return e?Math.max(0,Number(e[1])):null}function Fb(t,e,n){return n<e?e:Math.min(n,Math.max(e,t))}function Ob(t,e,n,o){let r=t-o-2*e-n;return Math.max(0,r)}function fl(t,e){let o=(e.getComputedStyle(t).gap||"0px").trim().split(/\s+/)[0]??"0px",r=/^([\d.]+)px$/i.exec(o);if(r)return Number(r[1]);let s=/^([\d.]+)/.exec(o);return s?Number(s[1]):8}function Kp(t,e,n,o,r,s){let a=Db(r,200),l=Ob(e,n,o,200);l=Math.max(a,l);let p=Nb(s);return p!==null&&(l=Math.min(l,p)),Fb(t,a,l)}var Gp={init:{title:"Schedule a Demo",description:"Share the basics and we'll follow up with a confirmation.",fields:[{name:"name",label:"Full name",placeholder:"Jane Doe",required:!0},{name:"email",label:"Work email",placeholder:"jane@example.com",type:"email",required:!0},{name:"notes",label:"What would you like to cover?",type:"textarea"}],submitLabel:"Submit details"},followup:{title:"Additional Information",description:"Provide any extra details to tailor the next steps.",fields:[{name:"company",label:"Company",placeholder:"Acme Inc."},{name:"context",label:"Context",type:"textarea",placeholder:"Share more about your use case"}],submitLabel:"Send"}},gl=(t,e,n,o)=>{let r=t.querySelectorAll("[data-tv-form]");r.length&&r.forEach(s=>{if(s.dataset.enhanced==="true")return;let a=s.dataset.tvForm??"init";s.dataset.enhanced="true";let l=Gp[a]??Gp.init;s.classList.add("persona-form-card","persona-space-y-4");let p=m("div","persona-space-y-1"),d=m("h3","persona-text-base persona-font-semibold persona-text-persona-primary");if(d.textContent=l.title,p.appendChild(d),l.description){let v=m("p","persona-text-sm persona-text-persona-muted");v.textContent=l.description,p.appendChild(v)}let c=document.createElement("form");c.className="persona-form-grid persona-space-y-3",l.fields.forEach(v=>{let x=m("label","persona-form-field persona-flex persona-flex-col persona-gap-1");x.htmlFor=`${e.id}-${a}-${v.name}`;let P=m("span","persona-text-xs persona-font-medium persona-text-persona-muted");P.textContent=v.label,x.appendChild(P);let W=v.type??"text",T;W==="textarea"?(T=document.createElement("textarea"),T.rows=3):(T=document.createElement("input"),T.type=W),T.className="persona-rounded-xl persona-border persona-border-gray-200 persona-bg-white persona-px-3 persona-py-2 persona-text-sm persona-text-persona-primary focus:persona-outline-none focus:persona-border-persona-primary",T.id=`${e.id}-${a}-${v.name}`,T.name=v.name,T.placeholder=v.placeholder??"",v.required&&(T.required=!0),x.appendChild(T),c.appendChild(x)});let u=m("div","persona-flex persona-items-center persona-justify-between persona-gap-2"),w=m("div","persona-text-xs persona-text-persona-muted persona-min-h-[1.5rem]"),f=m("button","persona-inline-flex persona-items-center persona-rounded-full persona-bg-persona-primary persona-px-4 persona-py-2 persona-text-sm persona-font-semibold persona-text-white disabled:persona-opacity-60 persona-cursor-pointer");f.type="submit",f.textContent=l.submitLabel??"Submit",u.appendChild(w),u.appendChild(f),c.appendChild(u),s.replaceChildren(p,c),c.addEventListener("submit",async v=>{v.preventDefault();let x=n.formEndpoint??"/form",P=new FormData(c),W={};P.forEach((T,I)=>{W[I]=T}),W.type=a,f.disabled=!0,w.textContent="Submitting\u2026";try{let T=await fetch(x,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(W)});if(!T.ok)throw new Error(`Form submission failed (${T.status})`);let I=await T.json();w.textContent=I.message??"Thanks! We'll be in touch soon.",I.success&&I.nextPrompt&&await o.sendMessage(String(I.nextPrompt))}catch(T){w.textContent=T instanceof Error?T.message:"Something went wrong. Please try again."}finally{f.disabled=!1}})})};var ml=class{constructor(){this.plugins=new Map}register(e){this.plugins.has(e.id)&&console.warn(`Plugin "${e.id}" is already registered. Overwriting.`),this.plugins.set(e.id,e),e.onRegister?.()}unregister(e){let n=this.plugins.get(e);n&&(n.onUnregister?.(),this.plugins.delete(e))}getAll(){return Array.from(this.plugins.values()).sort((e,n)=>(n.priority??0)-(e.priority??0))}getForInstance(e){let n=this.getAll();if(!e||e.length===0)return n;let o=new Set(e.map(s=>s.id));return[...n.filter(s=>!o.has(s.id)),...e].sort((s,a)=>(a.priority??0)-(s.priority??0))}clear(){this.plugins.forEach(e=>e.onUnregister?.()),this.plugins.clear()}},hl=new ml;var Xp=()=>{let t=new Map,e=(r,s)=>(t.has(r)||t.set(r,new Set),t.get(r).add(s),()=>n(r,s)),n=(r,s)=>{t.get(r)?.delete(s)};return{on:e,off:n,emit:(r,s)=>{t.get(r)?.forEach(a=>{try{a(s)}catch(l){typeof console<"u"&&console.error("[AgentWidget] Event handler error:",l)}})}}};var _b=t=>{let e=t.match(/```(?:json)?\s*([\s\S]*?)```/i);return e?e[1]:t},$b=t=>{let e=t.trim(),n=e.indexOf("{");if(n===-1)return null;let o=0;for(let r=n;r<e.length;r+=1){let s=e[r];if(s==="{"&&(o+=1),s==="}"&&(o-=1,o===0))return e.slice(n,r+1)}return null},bl=({text:t})=>{if(!t||!t.includes("{"))return null;try{let e=_b(t),n=$b(e);if(!n)return null;let o=JSON.parse(n);if(!o||typeof o!="object"||!o.action)return null;let{action:r,...s}=o;return{type:String(r),payload:s,raw:o}}catch{return null}},yl=t=>typeof t=="string"?t:t==null?"":String(t),bs={message:t=>t.type!=="message"?void 0:{handled:!0,displayText:yl(t.payload.text)},messageAndClick:(t,e)=>{if(t.type!=="message_and_click")return;let n=t.payload,o=yl(n.element);if(o&&e.document?.querySelector){let r=e.document.querySelector(o);r?setTimeout(()=>{r.click()},400):typeof console<"u"&&console.warn("[AgentWidget] Element not found for selector:",o)}return{handled:!0,displayText:yl(n.text)}}},Qp=t=>Array.isArray(t)?t.map(e=>String(e)):[],vl=t=>{let e=new Set(Qp(t.getSessionMetadata().processedActionMessageIds)),n=()=>{e=new Set(Qp(t.getSessionMetadata().processedActionMessageIds))},o=()=>{let s=Array.from(e);t.updateSessionMetadata(a=>({...a,processedActionMessageIds:s}))};return{process:s=>{if(s.streaming||s.message.role!=="assistant"||!s.text||e.has(s.message.id))return null;let a=typeof s.raw=="string"&&s.raw||typeof s.message.rawContent=="string"&&s.message.rawContent||typeof s.text=="string"&&s.text||null;!a&&typeof s.text=="string"&&s.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 l=a?t.parsers.reduce((d,c)=>d||c?.({text:a,message:s.message})||null,null):null;if(!l)return null;e.add(s.message.id),o();let p={action:l,message:s.message};t.emit("action:detected",p);for(let d of t.handlers)if(d)try{let c=()=>{t.emit("action:resubmit",p)},u=d(l,{message:s.message,metadata:t.getSessionMetadata(),updateMetadata:t.updateSessionMetadata,document:t.documentRef,triggerResubmit:c});if(!u)continue;if(u.handled){let w=u.persistMessage!==!1;return{text:u.displayText!==void 0?u.displayText:"",persist:w,resubmit:u.resubmit}}}catch(c){typeof console<"u"&&console.error("[AgentWidget] Action handler error:",c)}return{text:"",persist:!0}},syncFromMetadata:n}};var Ub=t=>{if(!t)return null;try{return JSON.parse(t)}catch(e){return typeof console<"u"&&console.error("[AgentWidget] Failed to parse stored state:",e),null}},zb=t=>t.map(e=>({...e,streaming:!1})),jb=t=>t.map(e=>({...e,status:"complete"})),Jp=(t="persona-state")=>{let e=()=>typeof window>"u"||!window.localStorage?null:window.localStorage;return{load:()=>{let n=e();return n?Ub(n.getItem(t)):null},save:n=>{let o=e();if(o)try{let r={...n,messages:n.messages?zb(n.messages):void 0,artifacts:n.artifacts?jb(n.artifacts):void 0};o.setItem(t,JSON.stringify(r))}catch(r){typeof console<"u"&&console.error("[AgentWidget] Failed to persist state:",r)}},clear:()=>{let n=e();if(n)try{n.removeItem(t)}catch(o){typeof console<"u"&&console.error("[AgentWidget] Failed to clear stored state:",o)}}}};import{parse as QA,STR as JA,OBJ as YA}from"partial-json";function Yp(t,e){let{config:n,message:o,onPropsUpdate:r}=e,s=Fn.get(t.component);if(!s)return console.warn(`[ComponentMiddleware] Component "${t.component}" not found in registry. Falling back to default rendering.`),null;let a={message:o,config:n,updateProps:l=>{r&&r(l)}};try{return s(t.props,a)}catch(l){return console.error(`[ComponentMiddleware] Error rendering component "${t.component}":`,l),null}}function Zp(t){if(typeof t.rawContent=="string"&&t.rawContent.length>0)return t.rawContent;if(typeof t.content=="string"){let e=t.content.trim();if(e.startsWith("{")||e.startsWith("["))return t.content}return null}function wl(t){let e=Zp(t);if(!e)return!1;try{let n=JSON.parse(e);return typeof n=="object"&&n!==null&&"component"in n&&typeof n.component=="string"}catch{return!1}}function eu(t){let e=Zp(t);if(!e)return null;try{let n=JSON.parse(e);if(typeof n=="object"&&n!==null&&"component"in n&&typeof n.component=="string"){let o=n;return{component:o.component,props:o.props&&typeof o.props=="object"&&o.props!==null?o.props:{},raw:e}}}catch{}return null}var qb=["Very dissatisfied","Dissatisfied","Neutral","Satisfied","Very satisfied"];function tu(t){let{onSubmit:e,onDismiss:n,title:o="How satisfied are you?",subtitle:r="Please rate your experience",commentPlaceholder:s="Share your thoughts (optional)...",submitText:a="Submit",skipText:l="Skip",showComment:p=!0,ratingLabels:d=qb}=t,c=document.createElement("div");c.className="persona-feedback-container persona-feedback-csat",c.setAttribute("role","dialog"),c.setAttribute("aria-label","Customer satisfaction feedback");let u=null,w=document.createElement("div");w.className="persona-feedback-content";let f=document.createElement("div");f.className="persona-feedback-header";let v=document.createElement("h3");v.className="persona-feedback-title",v.textContent=o,f.appendChild(v);let x=document.createElement("p");x.className="persona-feedback-subtitle",x.textContent=r,f.appendChild(x),w.appendChild(f);let P=document.createElement("div");P.className="persona-feedback-rating persona-feedback-rating-csat",P.setAttribute("role","radiogroup"),P.setAttribute("aria-label","Satisfaction rating from 1 to 5");let W=[];for(let U=1;U<=5;U++){let $=document.createElement("button");$.type="button",$.className="persona-feedback-rating-btn persona-feedback-star-btn",$.setAttribute("role","radio"),$.setAttribute("aria-checked","false"),$.setAttribute("aria-label",`${U} star${U>1?"s":""}: ${d[U-1]}`),$.title=d[U-1],$.dataset.rating=String(U),$.innerHTML=`
39
+ `,n.addEventListener("click",e);let o=s=>{let a=s.launcher??{},l=Nt(s),p=n.querySelector("[data-role='launcher-title']");if(p){let T=a.title??"Chat Assistant";p.textContent=T,p.setAttribute("title",T)}let d=n.querySelector("[data-role='launcher-subtitle']");if(d){let T=a.subtitle??"Here to help you get answers fast";d.textContent=T,d.setAttribute("title",T)}let c=n.querySelector(".persona-flex-col");c&&(a.textHidden||l?c.style.display="none":c.style.display="");let u=n.querySelector("[data-role='launcher-icon']");if(u)if(a.agentIconHidden)u.style.display="none";else{let T=a.agentIconSize??"40px";if(u.style.height=T,u.style.width=T,a.agentIconBackgroundColor?(u.style.backgroundColor=a.agentIconBackgroundColor,u.classList.remove("persona-bg-persona-primary")):(u.style.backgroundColor="",u.classList.add("persona-bg-persona-primary")),u.innerHTML="",a.agentIconName){let I=parseFloat(T)||24,z=ne(a.agentIconName,I*.6,"var(--persona-text-inverse, #ffffff)",2);z?(u.appendChild(z),u.style.display=""):(u.textContent=a.agentIconText??"\u{1F4AC}",u.style.display="")}else a.iconUrl?u.style.display="none":(u.textContent=a.agentIconText??"\u{1F4AC}",u.style.display="")}let w=n.querySelector("[data-role='launcher-image']");if(w){let T=a.agentIconSize??"40px";w.style.height=T,w.style.width=T,a.iconUrl&&!a.agentIconName&&!a.agentIconHidden?(w.src=a.iconUrl,w.style.display="block"):w.style.display="none"}let f=n.querySelector("[data-role='launcher-call-to-action-icon']");if(f){let T=a.callToActionIconSize??"32px";f.style.height=T,f.style.width=T,a.callToActionIconBackgroundColor?(f.style.backgroundColor=a.callToActionIconBackgroundColor,f.classList.remove("persona-bg-persona-primary")):(f.style.backgroundColor="",f.classList.add("persona-bg-persona-primary")),a.callToActionIconColor?(f.style.color=a.callToActionIconColor,f.classList.remove("persona-text-persona-call-to-action")):(f.style.color="",f.classList.add("persona-text-persona-call-to-action"));let I=0;if(a.callToActionIconPadding?(f.style.boxSizing="border-box",f.style.padding=a.callToActionIconPadding,I=(parseFloat(a.callToActionIconPadding)||0)*2):(f.style.boxSizing="",f.style.padding=""),a.callToActionIconHidden)f.style.display="none";else if(f.style.display=l?"none":"",f.innerHTML="",a.callToActionIconName){let z=parseFloat(T)||24,N=Math.max(z-I,8),x=ne(a.callToActionIconName,N,"currentColor",2);x?f.appendChild(x):f.textContent=a.callToActionIconText??"\u2197"}else f.textContent=a.callToActionIconText??"\u2197"}let v=a.position&&xn[a.position]?xn[a.position]:xn["bottom-right"],C="persona-fixed persona-flex persona-items-center persona-gap-3 persona-rounded-launcher persona-bg-persona-surface persona-py-2.5 persona-pl-3 persona-pr-3 persona-transition hover:persona-translate-y-[-2px] persona-cursor-pointer",P="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-surface persona-transition hover:persona-translate-y-[-2px] persona-cursor-pointer";n.className=l?P:`${C} ${v}`,l||(n.style.zIndex=String(a.zIndex??zt));let H="1px solid var(--persona-border, #e5e7eb)",E="var(--persona-launcher-shadow, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1))";n.style.border=a.border??H,n.style.boxShadow=a.shadow!==void 0?a.shadow.trim()===""?"none":a.shadow:E,l?(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=a.collapsedMaxWidth??"",n.style.justifyContent="",n.style.padding="",n.style.overflow="")},r=()=>{n.removeEventListener("click",e),n.remove()};return t&&o(t),{element:n,update:o,destroy:r}};var Hp=({config:t,showClose:e})=>{let{wrapper:n,panel:o,pillRoot:r}=Wp(t),s=Bp(t,e),a={wrapper:n,panel:o,pillRoot:r},l={container:s.container,body:s.body,messagesWrapper:s.messagesWrapper,composerOverlay:s.composerOverlay,introTitle:s.introTitle,introSubtitle:s.introSubtitle},p={element:s.header,iconHolder:s.iconHolder,headerTitle:s.headerTitle,headerSubtitle:s.headerSubtitle,closeButton:s.closeButton,closeButtonWrapper:s.closeButtonWrapper,clearChatButton:s.clearChatButton,clearChatButtonWrapper:s.clearChatButtonWrapper},d={footer:s.footer,form:s.composerForm,textarea:s.textarea,sendButton:s.sendButton,sendButtonWrapper:s.sendButtonWrapper,micButton:s.micButton,micButtonWrapper:s.micButtonWrapper,statusText:s.statusText,suggestions:s.suggestions,attachmentButton:s.attachmentButton,attachmentButtonWrapper:s.attachmentButtonWrapper,attachmentInput:s.attachmentInput,attachmentPreviewsContainer:s.attachmentPreviewsContainer,actionsRow:s.actionsRow,leftActions:s.leftActions,rightActions:s.rightActions,setSendButtonMode:s.setSendButtonMode,peekBanner:s.peekBanner,peekTextNode:s.peekTextNode};return{shell:a,panelElements:s,transcript:l,header:p,composer:d,replaceHeader:w=>(p.element.replaceWith(w.header),p.element=w.header,p.iconHolder=w.iconHolder,p.headerTitle=w.headerTitle,p.headerSubtitle=w.headerSubtitle,p.closeButton=w.closeButton,p.closeButtonWrapper=w.closeButtonWrapper,p.clearChatButton=w.clearChatButton,p.clearChatButtonWrapper=w.clearChatButtonWrapper,w),replaceComposer:w=>{d.footer.replaceWith(w),d.footer=w}}},il=({config:t,plugins:e,onToggle:n})=>{let o=e.find(s=>s.renderLauncher);if(o?.renderLauncher){let s=o.renderLauncher({config:t,defaultRenderer:()=>al(t,n).element,onToggle:n});if(s)return{instance:null,element:s}}let r=al(t,n);return{instance:r,element:r.element}};var th=t=>{switch(t){case"max_tool_calls":return"Stopped after calling a tool. Send a follow-up to continue.";case"length":return"Response cut off as max tokens reached. Ask for more to continue.";case"content_filter":return"The provider filtered this response.";case"error":return"Something went wrong generating this response.";default:return null}},nh=(t,e)=>{if(!t)return null;let n=th(t);if(n===null)return null;let o=e?.[t],r=o!==void 0?o:n;return r||null},oh=(t,e)=>{let n=m("div","persona-message-stop-reason persona-text-xs persona-mt-2 persona-italic");return n.setAttribute("data-stop-reason",t),n.setAttribute("role","note"),n.style.opacity="0.75",n.textContent=e,n},rh=t=>{let e=t.toLowerCase();return e.startsWith("data:image/svg+xml")?!1:!!(/^(?:https?|blob):/i.test(t)||e.startsWith("data:image/")||!t.includes(":"))},ll=t=>{let e=t.toLowerCase();return e.startsWith("javascript:")||e.startsWith("data:text/html")||e.startsWith("data:text/javascript")||e.startsWith("data:text/xml")||e.startsWith("data:application/xhtml")||e.startsWith("data:image/svg+xml")?!1:!!(/^(?:https?|blob):/i.test(t)||e.startsWith("data:")||!t.includes(":"))},cl=320,Op=320,sh=t=>!t.contentParts||t.contentParts.length===0?[]:t.contentParts.filter(e=>e.type==="image"&&typeof e.image=="string"&&e.image.trim().length>0),ah=t=>!t.contentParts||t.contentParts.length===0?[]:t.contentParts.filter(e=>e.type==="audio"&&typeof e.audio=="string"&&e.audio.trim().length>0),ih=t=>!t.contentParts||t.contentParts.length===0?[]:t.contentParts.filter(e=>e.type==="video"&&typeof e.video=="string"&&e.video.trim().length>0),lh=t=>!t.contentParts||t.contentParts.length===0?[]:t.contentParts.filter(e=>e.type==="file"&&typeof e.data=="string"&&e.data.trim().length>0),ch=t=>{if(!t||t.length===0)return null;let e=De("div",{className:"persona-mention-context-row persona-message-mentions",attrs:{"data-message-mentions":""}});e.style.display="flex";for(let n of t){let o=De("div",{className:"persona-mention-chip persona-mention-chip-readonly",attrs:{"data-status":"ready",title:n.label}}),r=m("span","persona-mention-chip-icon"),s=ne(n.iconName??"at-sign",13,"currentColor",2);s&&r.appendChild(s),o.appendChild(r),o.appendChild(De("span",{className:"persona-mention-chip-label",text:n.label})),e.appendChild(o)}return e},dh=(t,e)=>{let n=document.createDocumentFragment();for(let o of t){if(o.kind==="text"){n.appendChild(document.createTextNode(o.text));continue}n.appendChild(ns(o.ref,{readonly:!0,render:e}))}return n},Dp="\uE000",Np="\uE001",ph=(t,e,n,o)=>{let r=Math.random().toString(36).slice(2,8),s=w=>`${Dp}${r}:${w}${Np}`,a=e.map((w,f)=>w.kind==="text"?w.text:s(f)).join(""),l=n(a);if(!e.every((w,f)=>w.kind==="text"||l.includes(s(f)))){t.replaceChildren(dh(e,o));return}t.innerHTML=l;let d=new RegExp(`${Dp}${r}:(\\d+)${Np}`),c=document.createTreeWalker(t,NodeFilter.SHOW_TEXT),u=[];for(let w=c.nextNode();w;w=c.nextNode())u.push(w);for(let w of u){let f=w;for(let v=d.exec(f.data);v;v=d.exec(f.data)){let C=e[Number(v[1])],P=f.splitText(v.index);P.data=P.data.slice(v[0].length),C?.kind==="mention"&&P.parentNode?.insertBefore(ns(C.ref,{readonly:!0,render:o}),P),f=P}}},uh=(t,e,n)=>{if(t.length===0)return null;try{let o=m("div","persona-flex persona-flex-col persona-gap-2");o.setAttribute("data-message-attachments","images"),e&&(o.style.marginBottom="8px");let r=0,s=!1,a=()=>{s||(s=!0,o.remove(),n?.())};return t.forEach((l,p)=>{let d=m("img");d.alt=l.alt?.trim()||`Attached image ${p+1}`,d.loading="lazy",d.decoding="async",d.referrerPolicy="no-referrer",d.style.display="block",d.style.width="100%",d.style.maxWidth=`${cl}px`,d.style.maxHeight=`${Op}px`,d.style.height="auto",d.style.objectFit="contain",d.style.borderRadius="10px",d.style.backgroundColor="var(--persona-attachment-image-bg, var(--persona-container, #f3f4f6))",d.style.border="1px solid var(--persona-attachment-image-border, var(--persona-border, #e5e7eb))";let c=!1;r+=1,d.addEventListener("error",()=>{c||(c=!0,r=Math.max(0,r-1),d.remove(),r===0&&a())}),d.addEventListener("load",()=>{c=!0}),rh(l.image)?(d.src=l.image,o.appendChild(d)):(c=!0,r=Math.max(0,r-1),d.remove())}),r===0?(a(),null):o}catch{return n?.(),null}},fh=t=>{if(t.length===0)return null;try{let e=m("div","persona-flex persona-flex-col persona-gap-2");e.setAttribute("data-message-attachments","audio");let n=0;return t.forEach(o=>{if(!ll(o.audio))return;let r=m("audio");r.controls=!0,r.preload="metadata",r.src=o.audio,r.style.display="block",r.style.width="100%",r.style.maxWidth=`${cl}px`,e.appendChild(r),n+=1}),n===0?(e.remove(),null):e}catch{return null}},gh=t=>{if(t.length===0)return null;try{let e=m("div","persona-flex persona-flex-col persona-gap-2");e.setAttribute("data-message-attachments","video");let n=0;return t.forEach(o=>{if(!ll(o.video))return;let r=m("video");r.controls=!0,r.preload="metadata",r.src=o.video,r.style.display="block",r.style.width="100%",r.style.maxWidth=`${cl}px`,r.style.maxHeight=`${Op}px`,r.style.borderRadius="10px",r.style.backgroundColor="var(--persona-attachment-image-bg, var(--persona-container, #f3f4f6))",e.appendChild(r),n+=1}),n===0?(e.remove(),null):e}catch{return null}},mh=t=>{if(t.length===0)return null;try{let e=m("div","persona-flex persona-flex-col persona-gap-2");e.setAttribute("data-message-attachments","files");let n=0;return t.forEach(o=>{if(!ll(o.data))return;let r=m("a");r.href=o.data,r.download=o.filename,r.target="_blank",r.rel="noopener noreferrer",r.textContent=o.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",e.appendChild(r),n+=1}),n===0?(e.remove(),null):e}catch{return null}},hs=()=>{let t=document.createElement("div");t.className="persona-flex persona-items-center persona-space-x-1 persona-h-5 persona-mt-2";let e=document.createElement("div");e.className="persona-animate-typing persona-rounded-full persona-h-1.5 persona-w-1.5",e.style.backgroundColor="currentColor",e.style.opacity="0.4",e.style.animationDelay="0ms";let n=document.createElement("div");n.className="persona-animate-typing persona-rounded-full persona-h-1.5 persona-w-1.5",n.style.backgroundColor="currentColor",n.style.opacity="0.4",n.style.animationDelay="250ms";let o=document.createElement("div");o.className="persona-animate-typing persona-rounded-full persona-h-1.5 persona-w-1.5",o.style.backgroundColor="currentColor",o.style.opacity="0.4",o.style.animationDelay="500ms";let r=document.createElement("span");return r.className="persona-sr-only",r.textContent="Loading",t.appendChild(e),t.appendChild(n),t.appendChild(o),t.appendChild(r),t},hh=(t,e,n)=>{let o={config:n??{},streaming:!0,location:t,defaultRenderer:hs};if(e){let r=e(o);if(r!==null)return r}return hs()},yh=(t,e)=>{let n=m("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"),o=e==="user"?t.userAvatar:t.assistantAvatar;if(o)if(o.startsWith("http")||o.startsWith("/")||o.startsWith("data:")){let r=m("img");r.src=o,r.alt=e==="user"?"User":"Assistant",r.className="persona-w-full persona-h-full persona-rounded-full persona-object-cover",n.appendChild(r)}else n.textContent=o,n.classList.add(e==="user"?"persona-bg-persona-accent":"persona-bg-persona-primary","persona-text-white");else n.textContent=e==="user"?"U":"A",n.classList.add(e==="user"?"persona-bg-persona-accent":"persona-bg-persona-primary","persona-text-white");return n},Fp=(t,e,n="div")=>{let o=m(n,"persona-text-xs persona-text-persona-muted"),r=new Date(t.createdAt);return e.format?o.textContent=e.format(r):o.textContent=r.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),o},bh=(t,e="bubble")=>{let n=["persona-message-bubble","persona-max-w-[85%]"];switch(e){case"flat":t==="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-primary","persona-py-2");break;case"minimal":n.push("persona-text-sm","persona-leading-relaxed"),t==="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-surface","persona-text-persona-primary","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"),t==="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-surface","persona-border","persona-border-persona-message-border","persona-text-persona-primary","persona-px-5","persona-py-3");break}return n},vh=(t,e,n)=>{let o=e.showCopy??!0,r=e.showUpvote??!0,s=e.showDownvote??!0,a=e.showReadAloud??!1;if(!o&&!r&&!s&&!a){let v=m("div");return v.style.display="none",v.id=`actions-${t.id}`,v.setAttribute("data-actions-for",t.id),v}let l=e.visibility??"hover",p=e.align??"right",d=e.layout??"pill-inside",c={left:"persona-message-actions-left",center:"persona-message-actions-center",right:"persona-message-actions-right"}[p],u={"pill-inside":"persona-message-actions-pill","row-inside":"persona-message-actions-row"}[d],w=m("div",`persona-message-actions persona-flex persona-items-center persona-gap-1 persona-mt-2 ${c} ${u} ${l==="hover"?"persona-message-actions-hover":""}`);w.id=`actions-${t.id}`,w.setAttribute("data-actions-for",t.id);let f=(v,C,P)=>{let H=Rt({icon:v,label:C,size:14,className:"persona-message-action-btn"});return H.setAttribute("data-action",P),H};return o&&w.appendChild(f("copy","Copy message","copy")),a&&w.appendChild(f("volume-2","Read aloud","read-aloud")),r&&w.appendChild(f("thumbs-up","Upvote","upvote")),s&&w.appendChild(f("thumbs-down","Downvote","downvote")),w},dl=(t,e,n,o,r,s)=>{let a=n??{},l=a.layout??"bubble",p=a.avatar,d=a.timestamp,c=p?.show??!1,u=d?.show??!1,w=p?.position??"left",f=d?.position??"below",v=bh(t.role,l),C=m("div",v.join(" "));C.id=`bubble-${t.id}`,C.setAttribute("data-message-id",t.id),C.setAttribute("data-persona-theme-zone",t.role==="user"?"user-message":"assistant-message"),t.role==="user"?(C.style.backgroundColor="var(--persona-message-user-bg, var(--persona-accent))",C.style.color="var(--persona-message-user-text, white)"):t.role==="assistant"&&(C.style.backgroundColor="var(--persona-message-assistant-bg, var(--persona-surface))",C.style.color="var(--persona-message-assistant-text, var(--persona-text))");let P=sh(t),H=t.content?.trim()??"",T=P.length>0&&H===pa,I=Ia(s?.widgetConfig?.features?.streamAnimation),z=s?.widgetConfig?.features?.streamAnimation?.plugins,N=t.role==="assistant"&&I.type!=="none"?ur(I.type,z):null,x=t.role==="assistant"&&N?.isAnimating?.(t)===!0,j=t.role==="assistant"&&N!==null&&(!!t.streaming||x);j&&N?.bubbleClass&&C.classList.add(N.bubbleClass);let q=document.createElement("div");q.classList.add("persona-message-content"),t.streaming&&q.classList.add("persona-content-streaming"),j&&N&&(N.containerClass&&q.classList.add(N.containerClass),q.style.setProperty("--persona-stream-step",`${I.speed}ms`),q.style.setProperty("--persona-stream-duration",`${I.duration}ms`));let J=j?Ra(t.content??"",I.buffer,N,t,!!t.streaming):t.content??"",D=()=>{let Z=e({text:J,message:t,streaming:!!t.streaming,raw:t.rawContent});return j&&N?.wrap==="char"?ds(Z,"char",t.id,{skipTags:N.skipTags}):j&&N?.wrap==="word"?ds(Z,"word",t.id,{skipTags:N.skipTags}):Z},$=null;if(T?($=document.createElement("div"),$.innerHTML=D(),$.style.display="none",q.appendChild($)):t.contentSegments?.length?ph(q,t.contentSegments,Z=>e({text:Z,message:t,streaming:!!t.streaming,raw:t.rawContent}),s?.widgetConfig?.contextMentions?.renderMentionToken):q.innerHTML=D(),j&&N?.useCaret&&!T&&H){let Z=Wa(),ve=q.querySelectorAll(".persona-stream-char, .persona-stream-word"),we=ve[ve.length-1];if(we?.parentNode)we.parentNode.insertBefore(Z,we.nextSibling);else{let ue=q.lastElementChild;ue?ue.appendChild(Z):q.appendChild(Z)}}if(u&&f==="inline"&&t.createdAt){let Z=Fp(t,d,"span");Z.classList.add("persona-timestamp-inline");let ve=q.lastElementChild;ve?ve.appendChild(Z):q.appendChild(Z)}if(P.length>0){let Z=uh(P,!T&&!!H,()=>{T&&$&&($.style.display="")});Z?C.appendChild(Z):T&&$&&($.style.display="")}let fe=ah(t);if(fe.length>0){let Z=fh(fe);Z&&C.appendChild(Z)}let ye=ih(t);if(ye.length>0){let Z=gh(ye);Z&&C.appendChild(Z)}let Le=lh(t);if(Le.length>0){let Z=mh(Le);Z&&C.appendChild(Z)}let Ce=t.contentSegments?.length?null:ch(t.contextMentions);if(Ce&&C.appendChild(Ce),C.appendChild(q),u&&f==="below"&&t.createdAt){let Z=Fp(t,d);Z.classList.add("persona-mt-1"),C.appendChild(Z)}let te=t.role==="assistant"?nh(t.stopReason,s?.widgetConfig?.copy?.stopReasonNotice):null;if(t.streaming&&t.role==="assistant"){let Z=!!(J&&J.trim()),ve=I.placeholder==="skeleton",we=ve&&I.buffer==="line"&&Z;if(Z)we&&C.appendChild(ps());else if(ve)C.appendChild(ps());else{let ue=hh("inline",s?.loadingIndicatorRenderer,s?.widgetConfig);ue&&C.appendChild(ue)}}if(te&&t.stopReason&&!t.streaming&&(H||(q.style.display="none"),C.appendChild(oh(t.stopReason,te))),t.role==="assistant"&&!t.streaming&&t.content&&t.content.trim()&&o?.enabled!==!1&&o){let Z=vh(t,o,r);C.appendChild(Z)}if(!c||t.role==="system")return C;let Y=m("div",`persona-flex persona-gap-2 ${t.role==="user"?"persona-flex-row-reverse":""}`),ae=yh(p,t.role);return w==="right"||w==="left"&&t.role==="user"?Y.append(C,ae):Y.append(ae,C),C.classList.remove("persona-max-w-[85%]"),C.classList.add("persona-max-w-[calc(85%-2.5rem)]"),Y};var fr=new Set,wh=(t,e)=>e==null?!1:typeof e=="string"?(t.textContent=e,!0):(t.appendChild(e),!0),xh=(t,e)=>{let n=t.reasoning?.chunks.join("").trim()??"";return n?n.split(/\r?\n/).map(o=>o.trim()).filter(Boolean).slice(0,e).join(`
40
+ `):""},_p=(t,e)=>{let n=fr.has(t),o=e.querySelector('button[data-expand-header="true"]'),r=e.querySelector(".persona-border-t"),s=e.querySelector('[data-persona-collapsed-preview="reasoning"]');if(!o||!r)return;o.setAttribute("aria-expanded",n?"true":"false");let l=o.querySelector(".persona-ml-auto")?.querySelector(":scope > .persona-flex.persona-items-center");if(l){l.innerHTML="";let d=ne(n?"chevron-up":"chevron-down",16,"currentColor",2);d?l.appendChild(d):l.textContent=n?"Hide":"Show"}r.style.display=n?"":"none",s&&(s.style.display=n?"none":s.textContent||s.childNodes.length?"":"none")},pl=(t,e)=>{let n=t.reasoning,o=m("div",["persona-message-bubble","persona-reasoning-bubble","persona-w-full","persona-max-w-[85%]","persona-rounded-2xl","persona-bg-persona-surface","persona-border","persona-border-persona-message-border","persona-text-persona-primary","persona-shadow-sm","persona-overflow-hidden","persona-px-0","persona-py-0"].join(" "));if(o.id=`bubble-${t.id}`,o.setAttribute("data-message-id",t.id),!n)return o;let r=e?.features?.reasoningDisplay??{},s=r.expandable!==!1,a=s&&fr.has(t.id),l=n.status!=="complete",p=xh(t,r.previewMaxLines??3),d=m("button",s?"persona-flex persona-w-full persona-items-center persona-justify-between persona-gap-3 persona-bg-transparent persona-px-4 persona-py-3 persona-text-left persona-cursor-pointer persona-border-none":"persona-flex persona-w-full persona-items-center persona-justify-between persona-gap-3 persona-bg-transparent persona-px-4 persona-py-3 persona-text-left persona-cursor-default persona-border-none");d.type="button",s&&(d.setAttribute("aria-expanded",a?"true":"false"),d.setAttribute("data-expand-header","true")),d.setAttribute("data-bubble-type","reasoning");let c=m("div","persona-flex persona-flex-col persona-text-left"),u=m("span","persona-text-xs persona-text-persona-primary"),w="Thinking...",f=e?.reasoning??{},v=String(n.startedAt??Date.now()),C=()=>{let ye=m("span","");return ye.setAttribute("data-tool-elapsed",v),ye.textContent=ia(n),ye},P=f.renderCollapsedSummary?.({message:t,reasoning:n,defaultSummary:w,previewText:p,isActive:l,config:e??{},elapsed:ia(n),createElapsedElement:C});typeof P=="string"&&P.trim()?(u.textContent=P,c.appendChild(u)):P instanceof HTMLElement?c.appendChild(P):(u.textContent=w,c.appendChild(u));let H=m("span","persona-text-xs persona-text-persona-primary");H.textContent=Cd(n),c.appendChild(H);let E=r.loadingAnimation??"none",T=f.activeTextTemplate,I=f.completeTextTemplate,z=l?T:I,N=P instanceof HTMLElement,x=(ye,Le)=>{u.textContent="";let Ce=la(ye,""),te=0;for(let ge of Ce){let Y=ge.styles.length>0?(()=>{let ae=m("span",ge.styles.map(Z=>`persona-tool-text-${Z}`).join(" "));return u.appendChild(ae),ae})():u;if(ge.isDuration&&l)Y.appendChild(C());else{let ae=ge.isDuration?ia(n):ge.text;Le?te=ro(Y,ae,te):Y.appendChild(document.createTextNode(ae))}}};if(!N&&z)if(H.style.display="none",u.style.display="",l&&E!=="none"){let ye=f.loadingAnimationDuration??2e3;u.setAttribute("data-preserve-animation","true"),E==="pulse"?(u.classList.add("persona-tool-loading-pulse"),u.style.setProperty("--persona-tool-anim-duration",`${ye}ms`),x(z,!1)):(u.classList.add(`persona-tool-loading-${E}`),u.style.setProperty("--persona-tool-anim-duration",`${ye}ms`),E==="shimmer-color"&&(f.loadingAnimationColor&&u.style.setProperty("--persona-tool-anim-color",f.loadingAnimationColor),f.loadingAnimationSecondaryColor&&u.style.setProperty("--persona-tool-anim-secondary-color",f.loadingAnimationSecondaryColor)),x(z,!0))}else x(z,!1);else if(!N&&l&&E!=="none"){u.style.display="";let ye=f.loadingAnimationDuration??2e3;if(u.setAttribute("data-preserve-animation","true"),E==="pulse")u.classList.add("persona-tool-loading-pulse"),u.style.setProperty("--persona-tool-anim-duration",`${ye}ms`);else{u.classList.add(`persona-tool-loading-${E}`),u.style.setProperty("--persona-tool-anim-duration",`${ye}ms`),E==="shimmer-color"&&(f.loadingAnimationColor&&u.style.setProperty("--persona-tool-anim-color",f.loadingAnimationColor),f.loadingAnimationSecondaryColor&&u.style.setProperty("--persona-tool-anim-secondary-color",f.loadingAnimationSecondaryColor));let Le=u.textContent||w;u.textContent="",ro(u,Le,0)}n.status==="complete"&&(u.style.display="none")}else N||(n.status==="complete"?u.style.display="none":u.style.display="");let j=null;if(s){j=m("div","persona-flex persona-items-center");let Le=ne(a?"chevron-up":"chevron-down",16,"currentColor",2);Le?j.appendChild(Le):j.textContent=a?"Hide":"Show";let Ce=m("div","persona-flex persona-items-center persona-ml-auto");Ce.append(j),d.append(c,Ce)}else d.append(c);let q=m("div","persona-px-4 persona-py-3 persona-text-xs persona-leading-snug persona-text-persona-muted");if(q.setAttribute("data-persona-collapsed-preview","reasoning"),q.style.display="none",q.style.whiteSpace="pre-wrap",!a&&l&&r.activePreview&&p){let ye=e?.reasoning?.renderCollapsedPreview?.({message:t,reasoning:n,defaultPreview:p,isActive:l,config:e??{}});wh(q,ye)||(q.textContent=p),q.style.display=""}if(!a&&l&&r.activeMinHeight&&(o.style.minHeight=r.activeMinHeight),!s)return o.append(d,q),o;let J=m("div","persona-border-t persona-border-gray-200 persona-bg-gray-50 persona-px-4 persona-py-3");J.style.display=a?"":"none";let D=n.chunks.join(""),$=m("div","persona-whitespace-pre-wrap persona-text-xs persona-leading-snug persona-text-persona-muted");return $.textContent=D||(n.status==="complete"?"No additional context was shared.":"Waiting for details\u2026"),J.appendChild($),(()=>{if(d.setAttribute("aria-expanded",a?"true":"false"),j){j.innerHTML="";let Le=ne(a?"chevron-up":"chevron-down",16,"currentColor",2);Le?j.appendChild(Le):j.textContent=a?"Hide":"Show"}J.style.display=a?"":"none",q.style.display=a?"none":q.textContent||q.childNodes.length?"":"none"})(),o.append(d,q,J),o};var gr=new Set,Ch=(t,e)=>e==null?!1:typeof e=="string"?(t.textContent=e,!0):(t.appendChild(e),!0),Ah=(t,e)=>{let n=t.toolCall;if(!n)return"";let o=(n.chunks??[]).join("").trim();if(o)return o.split(/\r?\n/).map(a=>a.trim()).filter(Boolean).slice(-e).join(`
41
+ `);let r=no(n.args).trim();return r?r.split(/\r?\n/).map(s=>s.trim()).filter(Boolean).slice(0,e).join(`
42
+ `):""},ul=(t,e)=>{t.style.backgroundColor=e.codeBlockBackgroundColor??"var(--persona-container, #f3f4f6)",t.style.borderColor=e.codeBlockBorderColor??"var(--persona-border, #e5e7eb)",t.style.color=e.codeBlockTextColor??"var(--persona-text, #171717)"},Sh=(t,e)=>{let n=t.toolCall,o=e?.features?.toolCallDisplay,r=o?.collapsedMode??"tool-call",s=Ah(t,o?.previewMaxLines??3),a=n?Ad(n):"";if(!n)return{summary:a,previewText:s,isActive:!1};let l=n.status!=="complete",p=e?.toolCall??{},d=a;return r==="tool-name"?d=n.name?.trim()||a:r==="tool-preview"&&s&&(d=s),l&&p.activeTextTemplate?d=$i(n,p.activeTextTemplate,d):!l&&p.completeTextTemplate&&(d=$i(n,p.completeTextTemplate,d)),{summary:d,previewText:s,isActive:l}},$p=(t,e,n)=>{let o=gr.has(t),r=n?.toolCall??{},s=e.querySelector('button[data-expand-header="true"]'),a=e.querySelector(".persona-border-t"),l=e.querySelector('[data-persona-collapsed-preview="tool"]');if(!s||!a)return;s.setAttribute("aria-expanded",o?"true":"false");let d=s.querySelector(".persona-ml-auto")?.querySelector(":scope > .persona-flex.persona-items-center");if(d){d.innerHTML="";let c=r.toggleTextColor||r.headerTextColor||"var(--persona-primary, #171717)",u=ne(o?"chevron-up":"chevron-down",16,c,2);u?d.appendChild(u):d.textContent=o?"Hide":"Show"}a.style.display=o?"":"none",l&&(l.style.display=o?"none":l.textContent||l.childNodes.length?"":"none")},fl=(t,e)=>{let n=t.toolCall,o=e?.toolCall??{},r=m("div",["persona-message-bubble","persona-tool-bubble","persona-w-full","persona-max-w-[85%]","persona-rounded-2xl","persona-bg-persona-surface","persona-border","persona-border-persona-message-border","persona-text-persona-primary","persona-shadow-sm","persona-overflow-hidden","persona-px-0","persona-py-0"].join(" "));if(r.id=`bubble-${t.id}`,r.setAttribute("data-message-id",t.id),o.backgroundColor&&(r.style.backgroundColor=o.backgroundColor),o.borderColor&&(r.style.borderColor=o.borderColor),o.borderWidth&&(r.style.borderWidth=o.borderWidth),o.borderRadius&&(r.style.borderRadius=o.borderRadius),r.style.boxShadow=o.shadow!==void 0?o.shadow.trim()===""?"none":o.shadow:"var(--persona-tool-bubble-shadow, 0 5px 15px rgba(15, 23, 42, 0.08))",!n)return r;let s=e?.features?.toolCallDisplay??{},a=s.expandable!==!1,l=a&&gr.has(t.id),{summary:p,previewText:d,isActive:c}=Sh(t,e),u=m("button",a?"persona-flex persona-w-full persona-items-center persona-justify-between persona-gap-3 persona-bg-transparent persona-px-4 persona-py-3 persona-text-left persona-cursor-pointer persona-border-none":"persona-flex persona-w-full persona-items-center persona-justify-between persona-gap-3 persona-bg-transparent persona-px-4 persona-py-3 persona-text-left persona-cursor-default persona-border-none");u.type="button",a&&(u.setAttribute("aria-expanded",l?"true":"false"),u.setAttribute("data-expand-header","true")),u.setAttribute("data-bubble-type","tool"),o.headerBackgroundColor&&(u.style.backgroundColor=o.headerBackgroundColor),o.headerPaddingX&&(u.style.paddingLeft=o.headerPaddingX,u.style.paddingRight=o.headerPaddingX),o.headerPaddingY&&(u.style.paddingTop=o.headerPaddingY,u.style.paddingBottom=o.headerPaddingY);let w=m("div","persona-flex persona-flex-col persona-text-left"),f=m("span","persona-text-xs persona-text-persona-primary");o.headerTextColor&&(f.style.color=o.headerTextColor);let v=String(n.startedAt??Date.now()),C=()=>{let D=m("span","");return D.setAttribute("data-tool-elapsed",v),D.textContent=Gr(n),D},P=o.renderCollapsedSummary?.({message:t,toolCall:n,defaultSummary:p,previewText:d,collapsedMode:s.collapsedMode??"tool-call",isActive:c,config:e??{},elapsed:Gr(n),createElapsedElement:C});typeof P=="string"&&P.trim()?(f.textContent=P,w.appendChild(f)):P instanceof HTMLElement?w.appendChild(P):(f.textContent=p,w.appendChild(f));let H=s.loadingAnimation??"none",E=o.activeTextTemplate,T=o.completeTextTemplate,I=c?E:T,z=P instanceof HTMLElement,N=(D,$)=>{f.textContent="";let fe=n.name?.trim()||"tool",ye=la(D,fe),Le=0;for(let Ce of ye){let te=Ce.styles.length>0?(()=>{let ge=m("span",Ce.styles.map(Y=>`persona-tool-text-${Y}`).join(" "));return f.appendChild(ge),ge})():f;if(Ce.isDuration&&c)te.appendChild(C());else{let ge=Ce.isDuration?Gr(n):Ce.text;$?Le=ro(te,ge,Le):te.appendChild(document.createTextNode(ge))}}};if(!z)if(c&&H!=="none"){let D=o.loadingAnimationDuration??2e3;if(f.setAttribute("data-preserve-animation","true"),H==="pulse")f.classList.add("persona-tool-loading-pulse"),f.style.setProperty("--persona-tool-anim-duration",`${D}ms`),I&&N(I,!1);else if(f.classList.add(`persona-tool-loading-${H}`),f.style.setProperty("--persona-tool-anim-duration",`${D}ms`),H==="shimmer-color"&&(o.loadingAnimationColor&&f.style.setProperty("--persona-tool-anim-color",o.loadingAnimationColor),o.loadingAnimationSecondaryColor&&f.style.setProperty("--persona-tool-anim-secondary-color",o.loadingAnimationSecondaryColor)),I)N(I,!0);else{let $=f.textContent||p;f.textContent="",ro(f,$,0)}}else I&&N(I,!1);let x=null;if(a){x=m("div","persona-flex persona-items-center");let D=o.toggleTextColor||o.headerTextColor||"var(--persona-primary, #171717)",$=ne(l?"chevron-up":"chevron-down",16,D,2);$?x.appendChild($):x.textContent=l?"Hide":"Show";let fe=m("div","persona-flex persona-items-center persona-gap-2 persona-ml-auto");fe.append(x),u.append(w,fe)}else u.append(w);let j=m("div","persona-px-4 persona-py-3 persona-text-xs persona-leading-snug persona-text-persona-muted");if(j.setAttribute("data-persona-collapsed-preview","tool"),j.style.display="none",j.style.whiteSpace="pre-wrap",!l&&c&&s.activePreview&&d){let D=o.renderCollapsedPreview?.({message:t,toolCall:n,defaultPreview:d,isActive:c,config:e??{}});Ch(j,D)||(j.textContent=d),j.style.display=""}if(!l&&c&&s.activeMinHeight&&(r.style.minHeight=s.activeMinHeight),!a)return r.append(u,j),r;let q=m("div","persona-border-t persona-border-gray-200 persona-bg-gray-50 persona-space-y-3 persona-px-4 persona-py-3");if(q.style.display=l?"":"none",o.contentBackgroundColor&&(q.style.backgroundColor=o.contentBackgroundColor),o.contentTextColor&&(q.style.color=o.contentTextColor),o.contentPaddingX&&(q.style.paddingLeft=o.contentPaddingX,q.style.paddingRight=o.contentPaddingX),o.contentPaddingY&&(q.style.paddingTop=o.contentPaddingY,q.style.paddingBottom=o.contentPaddingY),n.name){let D=m("div","persona-text-xs persona-text-persona-muted persona-italic");o.contentTextColor?D.style.color=o.contentTextColor:o.headerTextColor&&(D.style.color=o.headerTextColor),D.textContent=n.name,q.appendChild(D)}if(n.args!==void 0){let D=m("div","persona-space-y-1"),$=m("div","persona-text-xs persona-text-persona-muted");o.labelTextColor&&($.style.color=o.labelTextColor),$.textContent="Arguments";let fe=m("pre","persona-max-h-48 persona-overflow-auto persona-whitespace-pre-wrap persona-rounded-lg persona-border persona-px-3 persona-py-2 persona-text-xs");fe.style.fontSize="0.75rem",fe.style.lineHeight="1rem",ul(fe,o),fe.textContent=no(n.args),D.append($,fe),q.appendChild(D)}if(n.chunks&&n.chunks.length){let D=m("div","persona-space-y-1"),$=m("div","persona-text-xs persona-text-persona-muted");o.labelTextColor&&($.style.color=o.labelTextColor),$.textContent="Activity";let fe=m("pre","persona-max-h-48 persona-overflow-auto persona-whitespace-pre-wrap persona-rounded-lg persona-border persona-px-3 persona-py-2 persona-text-xs");fe.style.fontSize="0.75rem",fe.style.lineHeight="1rem",ul(fe,o),fe.textContent=n.chunks.join(""),D.append($,fe),q.appendChild(D)}if(n.status==="complete"&&n.result!==void 0){let D=m("div","persona-space-y-1"),$=m("div","persona-text-xs persona-text-persona-muted");o.labelTextColor&&($.style.color=o.labelTextColor),$.textContent="Result";let fe=m("pre","persona-max-h-48 persona-overflow-auto persona-whitespace-pre-wrap persona-rounded-lg persona-border persona-px-3 persona-py-2 persona-text-xs");fe.style.fontSize="0.75rem",fe.style.lineHeight="1rem",ul(fe,o),fe.textContent=no(n.result),D.append($,fe),q.appendChild(D)}if(n.status==="complete"&&typeof n.duration=="number"){let D=m("div","persona-text-xs persona-text-persona-muted");o.contentTextColor&&(D.style.color=o.contentTextColor),D.textContent=`Duration: ${n.duration}ms`,q.appendChild(D)}return(()=>{if(u.setAttribute("aria-expanded",l?"true":"false"),x){x.innerHTML="";let D=o.toggleTextColor||o.headerTextColor||"var(--persona-primary, #171717)",$=ne(l?"chevron-up":"chevron-down",16,D,2);$?x.appendChild($):x.textContent=l?"Hide":"Show"}q.style.display=l?"":"none",j.style.display=l?"none":j.textContent||j.childNodes.length?"":"none"})(),r.append(u,j,q),r};var Ho=new Map,qa=t=>{let n=(t.startsWith(Dn)?t.slice(Dn.length):t).replace(/([a-z0-9])([A-Z])/g,"$1 $2").split(/[_\-\s.]+/).filter(Boolean);if(n.length===0)return t;let o=n.join(" ").toLowerCase();return o.charAt(0).toUpperCase()+o.slice(1)},zp=t=>t?.approval!==!1?t?.approval:void 0,Up=(t,e)=>{let n=zp(e)?.detailsDisplay??"collapsed";return Ho.get(t)??n==="expanded"},jp=(t,e,n)=>{let o=zp(n);t.setAttribute("aria-expanded",e?"true":"false");let r=t.querySelector("[data-approval-details-label]");r&&(r.textContent=e?o?.hideDetailsLabel??"Hide details":o?.showDetailsLabel??"Show details");let s=t.querySelector("[data-approval-details-chevron]");if(s){s.innerHTML="";let a=ne(e?"chevron-up":"chevron-down",14,"currentColor",2);a&&s.appendChild(a)}},qp=(t,e,n)=>{let o=e.querySelector('button[data-bubble-type="approval"]'),r=e.querySelector("[data-approval-details]");if(!o||!r)return;let s=Up(t,n);jp(o,s,n),r.style.display=s?"":"none"};var Va=(t,e)=>{let n=t.approval,o=e?.approval!==!1?e?.approval:void 0,r=n?.status==="pending",s=m("div",["persona-approval-bubble","persona-w-full","persona-max-w-[85%]","persona-rounded-2xl","persona-border","persona-shadow-sm","persona-overflow-hidden"].join(" "));if(s.id=`bubble-${t.id}`,s.setAttribute("data-message-id",t.id),s.style.backgroundColor=o?.backgroundColor??"var(--persona-approval-bg, #fefce8)",s.style.borderColor=o?.borderColor??"var(--persona-approval-border, #fef08a)",s.style.boxShadow=o?.shadow!==void 0?o.shadow.trim()===""?"none":o.shadow:"var(--persona-approval-shadow, 0 5px 15px rgba(15, 23, 42, 0.08))",!n)return s;let a=m("div","persona-flex persona-items-start persona-gap-3 persona-px-4 persona-py-3"),l=m("div","persona-flex-shrink-0 persona-mt-0.5");l.setAttribute("data-approval-icon","true");let p=n.status==="denied"?"shield-x":n.status==="timeout"?"shield-alert":"shield-check",d=n.status==="approved"?"var(--persona-feedback-success, #16a34a)":n.status==="denied"?"var(--persona-feedback-error, #dc2626)":n.status==="timeout"?"var(--persona-feedback-warning, #ca8a04)":o?.titleColor??"currentColor",c=ne(p,20,d,2);c&&l.appendChild(c);let u=m("div","persona-flex-1 persona-min-w-0"),w=m("div","persona-flex persona-items-center persona-gap-2"),f=m("span","persona-text-sm persona-font-medium persona-text-persona-primary");if(o?.titleColor&&(f.style.color=o.titleColor),f.textContent=o?.title??"Approval Required",w.appendChild(f),!r){let x=m("span","persona-inline-flex persona-items-center persona-px-2 persona-py-0.5 persona-rounded-full persona-text-xs persona-font-medium");x.setAttribute("data-approval-status",n.status),n.status==="approved"?(x.style.backgroundColor="var(--persona-palette-colors-success-100, #dcfce7)",x.style.color="var(--persona-palette-colors-success-700, #15803d)",x.textContent="Approved"):n.status==="denied"?(x.style.backgroundColor="var(--persona-palette-colors-error-100, #fee2e2)",x.style.color="var(--persona-palette-colors-error-700, #b91c1c)",x.textContent="Denied"):n.status==="timeout"&&(x.style.backgroundColor="var(--persona-palette-colors-warning-100, #fef3c7)",x.style.color="var(--persona-palette-colors-warning-700, #b45309)",x.textContent="Timeout"),w.appendChild(x)}u.appendChild(w);let C=n.toolType==="webmcp"||n.toolName.startsWith(Dn)?jr(n.toolName):void 0,P=o?.formatDescription?.({toolName:n.toolName,toolType:n.toolType,description:n.description,parameters:n.parameters,...C?{displayTitle:C}:{},...n.reason?{reason:n.reason}:{}}),H=!n.toolName,E=P||(H?n.description:`The assistant wants to use \u201C${C??qa(n.toolName)}\u201D.`),T=m("p","persona-text-sm persona-mt-0.5 persona-text-persona-muted");if(T.setAttribute("data-approval-summary","true"),o?.descriptionColor&&(T.style.color=o.descriptionColor),T.textContent=E,u.appendChild(T),n.reason){let x=m("p","persona-text-sm persona-mt-1 persona-text-persona-muted");x.setAttribute("data-approval-reason","true"),o?.reasonColor?x.style.color=o.reasonColor:o?.descriptionColor&&(x.style.color=o.descriptionColor);let j=m("span","persona-font-medium");j.textContent=`${o?.reasonLabel??"Agent's stated reason:"} `,x.appendChild(j),x.appendChild(document.createTextNode(n.reason)),u.appendChild(x)}let I=o?.detailsDisplay??"collapsed",z=!!n.description&&!H,N=z||!!n.parameters;if(I!=="hidden"&&N){let x=Up(t.id,e),j=m("button","persona-inline-flex persona-items-center persona-gap-1 persona-mt-1 persona-p-0 persona-border-none persona-bg-transparent persona-text-xs persona-font-medium persona-cursor-pointer persona-text-persona-muted");j.type="button",j.setAttribute("data-expand-header","true"),j.setAttribute("data-bubble-type","approval"),o?.descriptionColor&&(j.style.color=o.descriptionColor);let q=m("span");q.setAttribute("data-approval-details-label","true");let J=m("span","persona-inline-flex persona-items-center");J.setAttribute("data-approval-details-chevron","true"),j.append(q,J),jp(j,x,e),u.appendChild(j);let D=m("div");if(D.setAttribute("data-approval-details","true"),D.style.display=x?"":"none",z){let $=m("p","persona-text-sm persona-mt-1 persona-text-persona-muted");o?.descriptionColor&&($.style.color=o.descriptionColor),$.textContent=n.description,D.appendChild($)}if(n.parameters){let $=m("pre","persona-mt-2 persona-text-xs persona-p-2 persona-rounded persona-overflow-x-auto persona-max-h-32 persona-bg-persona-container persona-text-persona-primary");o?.parameterBackgroundColor&&($.style.backgroundColor=o.parameterBackgroundColor),o?.parameterTextColor&&($.style.color=o.parameterTextColor),$.style.fontSize="0.75rem",$.style.lineHeight="1rem",$.textContent=no(n.parameters),D.appendChild($)}u.appendChild(D)}if(r){let x=m("div","persona-flex persona-gap-2 persona-mt-2");x.setAttribute("data-approval-buttons","true");let j=m("button","persona-inline-flex persona-items-center persona-px-3 persona-py-1.5 persona-rounded-md persona-text-xs persona-font-medium persona-border-none persona-cursor-pointer");j.type="button",j.style.backgroundColor=o?.approveButtonColor??"var(--persona-approval-approve-bg, #22c55e)",j.style.color=o?.approveButtonTextColor??"#ffffff",j.setAttribute("data-approval-action","approve");let q=ne("shield-check",14,o?.approveButtonTextColor??"#ffffff",2);q&&(q.style.marginRight="4px",j.appendChild(q));let J=document.createTextNode(o?.approveLabel??"Approve");j.appendChild(J);let D=m("button","persona-inline-flex persona-items-center persona-px-3 persona-py-1.5 persona-rounded-md persona-text-xs persona-font-medium persona-cursor-pointer");D.type="button",D.style.backgroundColor=o?.denyButtonColor??"transparent",D.style.color=o?.denyButtonTextColor??"var(--persona-feedback-error, #dc2626)",D.style.border=`1px solid ${o?.denyButtonTextColor?o.denyButtonTextColor:"var(--persona-palette-colors-error-200, #fca5a5)"}`,D.setAttribute("data-approval-action","deny");let $=ne("shield-x",14,o?.denyButtonTextColor??"var(--persona-feedback-error, #dc2626)",2);$&&($.style.marginRight="4px",D.appendChild($));let fe=document.createTextNode(o?.denyLabel??"Deny");D.appendChild(fe),x.append(j,D),u.appendChild(x)}return a.append(l,u),s.appendChild(a),s};var Th=()=>({keyHandlers:new Map,popovers:new Map,pendingOrder:[],latestPendingApprovalId:null}),Vp=(t,e)=>{let n=t.keyHandlers.get(e);n&&(document.removeEventListener("keydown",n),t.keyHandlers.delete(e));let o=t.popovers.get(e);o&&(o.destroy(),t.popovers.delete(e))},Do=(t,e)=>{Vp(t,e);let n=t.pendingOrder.indexOf(e);n!==-1&&t.pendingOrder.splice(n,1),t.latestPendingApprovalId===e&&(t.latestPendingApprovalId=t.pendingOrder.length?t.pendingOrder[t.pendingOrder.length-1]:null)},Mh=t=>t?.approval!==!1?t?.approval:void 0,Eh=(t,e)=>{let n=e?.detailsDisplay??"collapsed";return Ho.get(t)??n==="expanded"},gl=t=>{let e=m("span","persona-approval-kbd");return e.textContent=t,e},kh=(t,e)=>{let n=m("span","persona-approval-title");e?.titleColor&&(n.style.color=e.titleColor);let r=t.toolType==="webmcp"||t.toolName.startsWith(Dn)?jr(t.toolName):void 0,s=e?.formatDescription?.({toolName:t.toolName,toolType:t.toolType,description:t.description??"",parameters:t.parameters,...r?{displayTitle:r}:{},...t.reason?{reason:t.reason}:{}});if(s)return n.textContent=s,n;let a=r??qa(t.toolName),l=t.toolType&&t.toolType!=="webmcp"?t.toolType:null;n.append("The assistant wants to use ");let p=document.createElement("strong");if(p.textContent=a,n.appendChild(p),l){n.append(" from ");let d=document.createElement("strong");d.textContent=l,n.appendChild(d)}return n},Lh=t=>{let e=m("div","persona-approval-resolved"),n=ne("ban",15,"currentColor",2);n&&e.appendChild(n);let o=m("span","persona-approval-resolved-name");return o.textContent=t.toolName?qa(t.toolName):"Tool",e.append(o,document.createTextNode(t.status==="timeout"?" timed out":" denied")),e},Ph=(t,e,n,o,r,s,a)=>{let l=m("div","persona-approval-card persona-shadow-sm");l.id=`bubble-${e.id}`,l.setAttribute("data-message-id",e.id),l.setAttribute("data-bubble-type","approval"),o?.backgroundColor&&(l.style.background=o.backgroundColor),o?.borderColor&&(l.style.borderColor=o.borderColor),o?.shadow!==void 0&&(l.style.boxShadow=o.shadow.trim()===""?"none":o.shadow);let p=o?.detailsDisplay??"collapsed",d=!!n.description&&p!=="hidden",c=n.parameters!=null&&p!=="hidden",u=d||c,w=u&&Eh(e.id,o),f=o?.showDetailsLabel??"Show details",v=o?.hideDetailsLabel??"Hide details",C=m("button","persona-approval-head");C.type="button",u?(C.setAttribute("data-action","toggle-params"),C.setAttribute("aria-expanded",w?"true":"false"),C.setAttribute("aria-label",w?v:f)):C.setAttribute("data-static","true");let P=m("span","persona-approval-logo"),H=ne("shield-check",16,"currentColor",2);H&&P.appendChild(H),C.appendChild(P);let E=kh(n,o);if(u){let j=m("span","persona-approval-toggle");j.setAttribute("aria-hidden","true");let q=ne("chevron-down",14,"currentColor",2);q&&j.appendChild(q),E.append(" "),E.appendChild(j)}C.appendChild(E),l.appendChild(C);let T=m("div","persona-approval-body");if(u){let j=m("div","persona-approval-details");if(j.setAttribute("data-role","params"),j.hidden=!w,d){let q=m("p","persona-approval-desc");o?.descriptionColor&&(q.style.color=o.descriptionColor),q.textContent=n.description,j.appendChild(q)}if(c){let q=m("pre","persona-approval-params");o?.parameterBackgroundColor&&(q.style.background=o.parameterBackgroundColor),o?.parameterTextColor&&(q.style.color=o.parameterTextColor),q.textContent=no(n.parameters),j.appendChild(q)}T.appendChild(j)}if(n.reason){let j=m("p","persona-approval-reason");o?.reasonColor?j.style.color=o.reasonColor:o?.descriptionColor&&(j.style.color=o.descriptionColor);let q=m("span","persona-approval-reason-label");q.textContent=`${o?.reasonLabel??"Agent's stated reason:"} `,j.append(q,document.createTextNode(n.reason)),T.appendChild(j)}let I=m("div","persona-approval-actions"),z=null,N=j=>{o?.approveButtonColor&&(j.style.background=o.approveButtonColor),o?.approveButtonTextColor&&(j.style.color=o.approveButtonTextColor)},x=m("button","persona-approval-deny");if(x.type="button",x.setAttribute("data-action","deny"),o?.denyButtonColor&&(x.style.background=o.denyButtonColor),o?.denyButtonTextColor&&(x.style.color=o.denyButtonTextColor),x.append(o?.denyLabel??"Deny"),a){let j=m("div","persona-approval-split"),q=m("button","persona-approval-primary");q.type="button",q.setAttribute("data-action","always"),N(q),q.append(o?.approveLabel??"Always allow",gl("\u23CE"));let J=m("button","persona-approval-caret");J.type="button",J.setAttribute("data-action","toggle-menu"),J.setAttribute("aria-label","More options"),N(J);let D=ne("chevron-down",15,"currentColor",2);D&&J.appendChild(D),j.append(q,J),I.append(j,x),x.append(gl("Esc"));let $=m("div","persona-approval-menu"),fe=m("button","persona-approval-menu-item");fe.type="button",fe.append("Allow once",gl("\u2318\u23CE")),$.appendChild(fe),z=Gc({anchor:j,content:$,placement:"bottom-start",matchAnchorWidth:!0}),t.popovers.set(e.id,z),fe.addEventListener("click",()=>{Do(t,e.id),r()})}else{let j=m("button","persona-approval-primary persona-approval-primary--solo");j.type="button",j.setAttribute("data-action","allow"),N(j),j.append(o?.approveLabel??"Allow"),I.append(j,x)}return T.appendChild(I),l.appendChild(T),l.addEventListener("click",j=>{let q=j.target instanceof Element?j.target.closest("[data-action]"):null;if(!q)return;let J=q.getAttribute("data-action");if(J==="toggle-params"){let D=l.querySelector('[data-role="params"]');if(D){let $=D.hidden;D.hidden=!$,C.setAttribute("aria-expanded",$?"true":"false"),C.setAttribute("aria-label",$?v:f),Ho.set(e.id,$)}return}if(J==="toggle-menu"){z?.toggle();return}if(J==="always"){Do(t,e.id),r({remember:!0});return}if(J==="allow"){Do(t,e.id),r();return}if(J==="deny"){Do(t,e.id),s();return}}),l},Kp=()=>{let t=Th();return{plugin:{id:"persona-built-in-approval",renderApproval:({message:o,approve:r,deny:s,config:a})=>{let l=o?.approval;if(!l)return null;let p=Mh(a);if(l.status!=="pending"){if(Do(t,o.id),l.status==="approved"){let u=document.createElement("div");return u.style.display="none",u}return Lh(l)}Vp(t,o.id);let d=p?.enableAlwaysAllow===!0,c=Ph(t,o,l,p,r,s,d);if(d){t.pendingOrder.includes(o.id)||t.pendingOrder.push(o.id),t.latestPendingApprovalId=t.pendingOrder[t.pendingOrder.length-1];let u=w=>{Qc(w)||o.id===t.latestPendingApprovalId&&(w.key!=="Escape"&&w.key!=="Enter"||(w.preventDefault(),w.stopImmediatePropagation(),Do(t,o.id),w.key==="Escape"?s():w.metaKey||w.ctrlKey?r():r({remember:!0})))};t.keyHandlers.set(o.id,u),document.addEventListener("keydown",u)}return c}},teardown:()=>{for(let o of[...t.keyHandlers.keys(),...t.popovers.keys()])Do(t,o);t.latestPendingApprovalId=null}}};var Gp=t=>{let e=[],n=null;return{buttons:e,render:(r,s,a,l,p,d)=>{t.innerHTML="",e.length=0;let c=d?.agentPushed===!0;if(c||(n=null),!r||!r.length||!c&&(l??(s?s.getMessages():[])).some(P=>P.role==="user"))return;let u=document.createDocumentFragment(),w=s?s.isStreaming():!1,f=v=>{switch(v){case"serif":return'Georgia, "Times New Roman", Times, serif';case"mono":return'"Courier New", Courier, "Lucida Console", Monaco, monospace';default:return'-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif'}};if(r.forEach(v=>{let C=m("button","persona-rounded-button persona-bg-persona-surface persona-px-3 persona-py-1.5 persona-text-xs persona-font-medium persona-text-persona-primary hover:persona-opacity-80 persona-cursor-pointer persona-border persona-border-persona-border");C.type="button",C.textContent=v,C.disabled=w,p?.fontFamily&&(C.style.fontFamily=f(p.fontFamily)),p?.fontWeight&&(C.style.fontWeight=p.fontWeight),p?.paddingX&&(C.style.paddingLeft=p.paddingX,C.style.paddingRight=p.paddingX),p?.paddingY&&(C.style.paddingTop=p.paddingY,C.style.paddingBottom=p.paddingY),C.addEventListener("click",()=>{!s||s.isStreaming()||(a.value="",c&&t.dispatchEvent(new CustomEvent("persona:suggestReplies:selected",{detail:{suggestion:v},bubbles:!0,composed:!0})),s.sendMessage(v))}),u.appendChild(C),e.push(C)}),t.appendChild(u),c){let v=JSON.stringify(r);v!==n&&(n=v,t.dispatchEvent(new CustomEvent("persona:suggestReplies:shown",{detail:{suggestions:[...r]},bubbles:!0,composed:!0})))}}}};var ys=class{constructor(e=2e3,n=null){this.head=0;this.count=0;this.totalCaptured=0;this.eventTypesSet=new Set;this.maxSize=e,this.buffer=new Array(e),this.store=n}push(e){this.buffer[this.head]=e,this.head=(this.head+1)%this.maxSize,this.count<this.maxSize&&this.count++,this.totalCaptured++,this.eventTypesSet.add(e.type),this.store?.put(e)}getAll(){return this.count===0?[]:this.count<this.maxSize?this.buffer.slice(0,this.count):[...this.buffer.slice(this.head,this.maxSize),...this.buffer.slice(0,this.head)]}async restore(){if(!this.store)return 0;let e=await this.store.getAll();if(e.length===0)return 0;let n=e.length>this.maxSize?e.slice(e.length-this.maxSize):e;for(let o of n)this.buffer[this.head]=o,this.head=(this.head+1)%this.maxSize,this.count<this.maxSize&&this.count++,this.eventTypesSet.add(o.type);return this.totalCaptured=e.length,n.length}getAllFromStore(){return this.store?this.store.getAll():Promise.resolve(this.getAll())}getRecent(e){let n=this.getAll();return e>=n.length?n:n.slice(n.length-e)}getSize(){return this.count}getTotalCaptured(){return this.totalCaptured}getEvictedCount(){return this.totalCaptured-this.count}clear(){this.buffer=new Array(this.maxSize),this.head=0,this.count=0,this.totalCaptured=0,this.eventTypesSet.clear(),this.store?.clear()}destroy(){this.buffer=[],this.head=0,this.count=0,this.totalCaptured=0,this.eventTypesSet.clear(),this.store?.destroy()}getEventTypes(){return Array.from(this.eventTypesSet)}};var bs=class{constructor(e="persona-event-stream",n="events"){this.db=null;this.pendingWrites=[];this.flushScheduled=!1;this.isDestroyed=!1;this.dbName=e,this.storeName=n}open(){return new Promise((e,n)=>{try{let o=indexedDB.open(this.dbName,1);o.onupgradeneeded=()=>{let r=o.result;r.objectStoreNames.contains(this.storeName)||r.createObjectStore(this.storeName,{keyPath:"id"}).createIndex("timestamp","timestamp",{unique:!1})},o.onsuccess=()=>{this.db=o.result,e()},o.onerror=()=>{n(o.error)}}catch(o){n(o)}})}put(e){!this.db||this.isDestroyed||(this.pendingWrites.push(e),this.flushScheduled||(this.flushScheduled=!0,queueMicrotask(()=>this.flushWrites())))}putBatch(e){if(!(!this.db||this.isDestroyed||e.length===0))try{let o=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName);for(let r of e)o.put(r)}catch{}}getAll(){return new Promise((e,n)=>{if(!this.db){e([]);return}try{let a=this.db.transaction(this.storeName,"readonly").objectStore(this.storeName).index("timestamp").getAll();a.onsuccess=()=>{e(a.result)},a.onerror=()=>{n(a.error)}}catch(o){n(o)}})}getCount(){return new Promise((e,n)=>{if(!this.db){e(0);return}try{let s=this.db.transaction(this.storeName,"readonly").objectStore(this.storeName).count();s.onsuccess=()=>{e(s.result)},s.onerror=()=>{n(s.error)}}catch(o){n(o)}})}clear(){return new Promise((e,n)=>{if(!this.db){e();return}this.pendingWrites=[];try{let s=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName).clear();s.onsuccess=()=>{e()},s.onerror=()=>{n(s.error)}}catch(o){n(o)}})}close(){this.db&&(this.db.close(),this.db=null)}destroy(){return this.isDestroyed=!0,this.pendingWrites=[],this.close(),new Promise((e,n)=>{try{let o=indexedDB.deleteDatabase(this.dbName);o.onsuccess=()=>{e()},o.onerror=()=>{n(o.error)}}catch(o){n(o)}})}flushWrites(){if(this.flushScheduled=!1,!this.db||this.isDestroyed||this.pendingWrites.length===0)return;let e=this.pendingWrites;this.pendingWrites=[];try{let o=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName);for(let r of e)o.put(r)}catch{}}};var Ih=new Set(["flow_start","flow_run_start","agent_start","dispatch_start","run_start"]),Rh=new Set(["step_start","execution_start"]),Wh=new Set(["step_delta","step_chunk","chunk","agent_turn_delta"]),Bh=new Set(["step_complete","agent_turn_complete"]),Hh=new Set(["flow_complete","agent_complete"]),Qp=new Set(["step_error","flow_error","agent_error","dispatch_error","error"]),Jp=t=>typeof t=="object"&&t!==null&&!Array.isArray(t),rn=t=>typeof t=="number"&&Number.isFinite(t)?t:void 0,No=(t,e)=>{let n=t[e];return Jp(n)?n:void 0};function ml(t){return t>0?Math.max(1,Math.ceil(t/4)):0}function Ka(t,e){if(!(t<=0||e===void 0||e<250))return t/(e/1e3)}function Dh(t,e){return typeof e.type=="string"?e.type:t}function Nh(t){return typeof t.text=="string"?t.text:typeof t.delta=="string"?t.delta:typeof t.content=="string"?t.content:typeof t.chunk=="string"?t.chunk:""}function Fh(t,e){return t==="step_delta"||t==="step_chunk"?e.stepType!=="tool"&&e.executionType!=="context":t!=="agent_turn_delta"?!0:(typeof e.contentType=="string"?e.contentType:typeof e.content_type=="string"?e.content_type:void 0)==="text"}function Xp(t){let e=No(t,"result"),n=[No(t,"tokens"),No(t,"totalTokens"),e?No(e,"tokens"):void 0,No(t,"usage"),e?No(e,"usage"):void 0];for(let o of n){if(!o)continue;let r=rn(o.output)??rn(o.outputTokens)??rn(o.completionTokens);if(r!==void 0)return r}return rn(t.outputTokens)??rn(t.completionTokens)??(e?rn(e.outputTokens)??rn(e.completionTokens):void 0)}function Oh(t){let e=No(t,"result");return rn(t.executionTime)??rn(t.executionTimeMs)??rn(t.execution_time)??rn(t.duration)??(e?rn(e.executionTime)??rn(e.executionTimeMs):void 0)}function _h(){return typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now()}var vs=class{constructor(e=_h){this.metric={status:"idle"};this.run=null;this.now=e}getMetric(){let e=this.run;if(e&&this.metric.status==="running"&&e.firstDeltaAt!==void 0&&this.metric.outputTokens!==void 0){let n=this.now()-e.firstDeltaAt;return{...this.metric,durationMs:n,tokensPerSecond:Ka(this.metric.outputTokens,n)}}return this.metric}reset(){this.run=null,this.metric={status:"idle"}}startRun(e){this.run={startedAt:e,visibleCharCount:0,exactOutputTokens:0},this.metric={status:"running"}}processEvent(e,n){if(!Jp(n)){Qp.has(e)&&this.run&&(this.run=null,this.metric={status:"error"});return}let o=Dh(e,n),r=this.now();if(Ih.has(o)){this.startRun(r);return}if(Rh.has(o)){this.run||this.startRun(r);return}if(Wh.has(o)){if(!Fh(o,n))return;let s=Nh(n);if(!s)return;this.run||this.startRun(r);let a=this.run;a.firstDeltaAt??(a.firstDeltaAt=r),a.visibleCharCount+=s.length;let l=a.exactOutputTokens+ml(a.visibleCharCount),p=r-a.firstDeltaAt;this.metric={status:"running",tokensPerSecond:Ka(l,p),outputTokens:l,durationMs:p,source:a.exactOutputTokens>0?"usage":"estimate"};return}if(Bh.has(o)){if(!this.run)return;let s=this.run,a=Xp(n);a!==void 0&&(s.exactOutputTokens+=a,s.visibleCharCount=0);let l=s.exactOutputTokens>0,p=s.exactOutputTokens+ml(s.visibleCharCount),d=this.resolveDuration(s,n,r);this.metric={status:"running",tokensPerSecond:Ka(p,d),outputTokens:p,durationMs:d,source:l?"usage":"estimate"};return}if(Hh.has(o)){if(!this.run)return;let s=this.run,a=Xp(n),l=a??s.exactOutputTokens+ml(s.visibleCharCount),p=a!==void 0||s.exactOutputTokens>0?"usage":"estimate",d=this.resolveDuration(s,n,r);this.metric={status:"complete",tokensPerSecond:Ka(l,d),outputTokens:l,durationMs:d,source:p},this.run=null;return}if(Qp.has(o)){if(!this.run)return;this.run=null,this.metric={status:"error"}}}resolveDuration(e,n,o){let r=e.firstDeltaAt!==void 0?o-e.firstDeltaAt:void 0;return r!==void 0&&r>=250?r:Oh(n)??o-e.startedAt}};function mr(t,e){e&&e.split(/\s+/).forEach(n=>n&&t.classList.add(n))}var $h={flow_:{bg:"var(--persona-palette-colors-success-100, #dcfce7)",text:"var(--persona-palette-colors-success-700, #166534)"},step_:{bg:"var(--persona-palette-colors-primary-100, #f5f5f5)",text:"var(--persona-palette-colors-primary-700, #0a0a0a)"},reason_:{bg:"var(--persona-palette-colors-warning-100, #ffedd5)",text:"var(--persona-palette-colors-warning-700, #9a3412)"},tool_:{bg:"var(--persona-palette-colors-purple-100, #f3e8ff)",text:"var(--persona-palette-colors-purple-700, #6b21a8)"},agent_:{bg:"var(--persona-palette-colors-teal-100, #ccfbf1)",text:"var(--persona-palette-colors-teal-700, #115e59)"},error:{bg:"var(--persona-palette-colors-error-100, #fecaca)",text:"var(--persona-palette-colors-error-700, #991b1b)"}},zh={bg:"var(--persona-palette-colors-gray-100, #f3f4f6)",text:"var(--persona-palette-colors-gray-600, #4b5563)"},Uh=["flowName","stepName","reasoningText","text","name","tool","toolName"],jh=100;function qh(t,e){let n={...$h,...e};if(n[t])return n[t];for(let o of Object.keys(n))if(o.endsWith("_")&&t.startsWith(o))return n[o];return zh}function Vh(t,e){return`+${((t-e)/1e3).toFixed(3)}s`}function Kh(t){let e=new Date(t),n=String(e.getHours()).padStart(2,"0"),o=String(e.getMinutes()).padStart(2,"0"),r=String(e.getSeconds()).padStart(2,"0"),s=String(e.getMilliseconds()).padStart(3,"0");return`${n}:${o}:${r}.${s}`}function Gh(t,e){try{let n=JSON.parse(t);if(typeof n!="object"||n===null)return null;for(let o of e){let r=o.split("."),s=n;for(let a of r)if(s&&typeof s=="object"&&s!==null)s=s[a];else{s=void 0;break}if(typeof s=="string"&&s.trim())return s.trim()}}catch{}return null}function Qh(t){return navigator.clipboard?.writeText?navigator.clipboard.writeText(t):new Promise(e=>{let n=document.createElement("textarea");n.value=t,n.style.position="fixed",n.style.opacity="0",document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n),e()})}function Xh(t){let e;try{e=JSON.parse(t.payload)}catch{e=t.payload}return JSON.stringify({type:t.type,timestamp:new Date(t.timestamp).toISOString(),payload:e},null,2)}function Jh(t){return t.tokensPerSecond===void 0||!Number.isFinite(t.tokensPerSecond)?"-- tok/s":`${t.tokensPerSecond.toFixed(1)} tok/s`}function Yh(t){let e=[];return t.outputTokens!==void 0&&e.push(`${t.outputTokens.toLocaleString()} tok`),t.durationMs!==void 0&&e.push(`${(t.durationMs/1e3).toFixed(2)}s`),t.source&&e.push(t.source),e.join(" \xB7 ")}function Zh(t,e,n){let o,r;try{r=JSON.parse(t.payload),o=JSON.stringify(r,null,2)}catch{r=t.payload,o=t.payload}let s=e.find(l=>l.renderEventStreamPayload);if(s?.renderEventStreamPayload&&n){let l=s.renderEventStreamPayload({event:t,config:n,defaultRenderer:()=>a(),parsedPayload:r});if(l)return l}return a();function a(){let l=m("div","persona-bg-persona-container persona-border-t persona-border-persona-divider persona-px-3 persona-py-2 persona-ml-4 persona-mr-3 persona-mb-1 persona-rounded-b persona-overflow-auto persona-max-h-[300px]"),p=m("pre","persona-m-0 persona-whitespace-pre-wrap persona-break-all persona-text-[11px] persona-text-persona-secondary persona-font-mono");return p.textContent=o,l.appendChild(p),l}}function hl(t,e,n,o,r,s,a,l){let p=r.has(t.id),d=m("div","persona-border-b persona-border-persona-divider persona-text-xs");mr(d,o.classNames?.eventRow);let c=a.find(w=>w.renderEventStreamRow);if(c?.renderEventStreamRow&&l){let w=c.renderEventStreamRow({event:t,index:e,config:l,defaultRenderer:()=>u(),isExpanded:p,onToggleExpand:()=>s(t.id)});if(w)return d.appendChild(w),d}return d.appendChild(u()),d;function u(){let w=m("div",""),f=m("div","persona-flex persona-items-center persona-gap-2 persona-px-3 persona-py-3 hover:persona-bg-persona-container persona-cursor-pointer persona-group");f.setAttribute("data-event-id",t.id);let v=m("span","persona-flex-shrink-0 persona-text-persona-muted persona-w-4 persona-text-center persona-flex persona-items-center persona-justify-center"),C=ne(p?"chevron-down":"chevron-right","14px","currentColor",2);C&&v.appendChild(C);let P=m("span","persona-text-[11px] persona-text-persona-muted persona-whitespace-nowrap persona-flex-shrink-0 persona-font-mono persona-w-[70px]"),H=o.timestampFormat??"relative";P.textContent=H==="relative"?Vh(t.timestamp,n):Kh(t.timestamp);let E=null;o.showSequenceNumbers!==!1&&(E=m("span","persona-text-[11px] persona-text-persona-muted persona-font-mono persona-flex-shrink-0 persona-w-[28px] persona-text-right"),E.textContent=String(e+1));let T=qh(t.type,o.badgeColors),I=m("span","persona-inline-flex persona-items-center persona-px-2 persona-py-0.5 persona-rounded persona-text-[11px] persona-font-mono persona-font-medium persona-whitespace-nowrap persona-flex-shrink-0 persona-border");I.style.backgroundColor=T.bg,I.style.color=T.text,I.style.borderColor=T.text+"50",I.textContent=t.type;let z=o.descriptionFields??Uh,N=Gh(t.payload,z),x=null;N&&(x=m("span","persona-text-[11px] persona-text-persona-secondary persona-truncate persona-min-w-0"),x.textContent=N);let j=m("div","persona-flex-1 persona-min-w-0"),q=m("button","persona-text-persona-muted hover:persona-text-persona-primary persona-cursor-pointer persona-flex-shrink-0 persona-border-none persona-bg-transparent persona-p-0"),J=ne("clipboard","12px","currentColor",1.5);return J&&q.appendChild(J),q.addEventListener("click",async D=>{D.stopPropagation(),await Qh(Xh(t)),q.innerHTML="";let $=ne("check","12px","currentColor",1.5);$&&q.appendChild($),setTimeout(()=>{q.innerHTML="";let fe=ne("clipboard","12px","currentColor",1.5);fe&&q.appendChild(fe)},1500)}),f.appendChild(v),f.appendChild(P),E&&f.appendChild(E),f.appendChild(I),x&&f.appendChild(x),f.appendChild(j),f.appendChild(q),w.appendChild(f),p&&w.appendChild(Zh(t,a,l)),w}}function Yp(t){let{buffer:e,getFullHistory:n,onClose:o,config:r,plugins:s=[],getThroughput:a}=t,l=r?.features?.scrollToBottom,p=l?.enabled!==!1,d=l?.iconName??"arrow-down",c=l?.label??"",u=r?.features?.eventStream??{},w=s.find(v=>v.renderEventStreamView);if(w?.renderEventStreamView&&r){let v=w.renderEventStreamView({config:r,events:e.getAll(),defaultRenderer:()=>f().element,onClose:o});if(v)return{element:v,update:()=>{},destroy:()=>{}}}return f();function f(){let v=u.classNames,C=m("div","persona-event-stream-view persona-flex persona-flex-col persona-flex-1 persona-min-h-0");mr(C,v?.panel);let P=[],H="",E="",T=null,I=[],z={},N=0,x=ka(),j=0,q=0,J=!1,D=null,$=!1,fe=0,ye=new Set,Le=new Map,Ce="",te="",ge=null,Y,ae,Z,ve,we=null,ue=null,Te=null;function Ae(){let B=m("div","persona-event-toolbar persona-relative persona-flex persona-flex-col persona-flex-shrink-0"),U=m("div","persona-flex persona-items-center persona-gap-2 persona-px-4 persona-py-3 persona-pb-0 persona-border-persona-divider persona-bg-persona-surface persona-overflow-hidden");if(mr(U,v?.headerBar),a){ue=m("div","persona-relative persona-flex persona-items-center persona-gap-1.5 persona-whitespace-nowrap"),ue.style.cursor="help",we=m("span","persona-text-[11px] persona-font-mono persona-bg-persona-container persona-text-persona-muted persona-px-2 persona-py-0.5 persona-rounded persona-border persona-border-persona-border persona-tabular-nums"),we.textContent="-- tok/s",Te=m("div","persona-absolute persona-z-50 persona-whitespace-nowrap persona-rounded persona-border persona-border-persona-border persona-bg-persona-container persona-text-persona-primary persona-text-[11px] persona-font-mono persona-px-2 persona-py-1 persona-shadow"),Te.style.display="none",Te.style.pointerEvents="none";let Ze=ue,co=Te,po=()=>{if(!co.textContent)return;let Ss=Ze.getBoundingClientRect(),Qt=B.getBoundingClientRect();co.style.left=`${Ss.left-Qt.left}px`,co.style.top=`${Ss.bottom-Qt.top+4}px`,co.style.display="block"},Xa=()=>{co.style.display="none"};ue.addEventListener("mouseenter",po),ue.addEventListener("mouseleave",Xa),ue.appendChild(we)}let oe=m("div","persona-flex-1");Y=m("select","persona-text-xs persona-bg-persona-surface persona-border persona-border-persona-border persona-rounded persona-px-2.5 persona-py-1 persona-text-persona-primary persona-cursor-pointer");let Ke=m("option","");Ke.value="",Ke.textContent="All events (0)",Y.appendChild(Ke),ae=m("button","persona-inline-flex persona-items-center persona-gap-1.5 persona-rounded persona-text-xs persona-text-persona-muted hover:persona-bg-persona-container hover:persona-text-persona-primary persona-cursor-pointer persona-border persona-border-persona-border persona-bg-persona-surface persona-flex-shrink-0 persona-px-2.5 persona-py-1"),ae.type="button",ae.title="Copy All";let lt=ne("clipboard-copy","12px","currentColor",1.5);lt&&ae.appendChild(lt);let K=m("span","persona-event-copy-all persona-text-xs");K.textContent="Copy All",ae.appendChild(K),ue&&U.appendChild(ue),U.appendChild(oe),U.appendChild(Y),U.appendChild(ae);let _e=m("div","persona-relative persona-px-4 persona-py-2.5 persona-border-b persona-border-persona-divider persona-bg-persona-surface");mr(_e,v?.searchBar);let ke=ne("search","14px","var(--persona-muted, #9ca3af)",1.5),Be=m("span","persona-absolute persona-left-6 persona-top-1/2 persona--translate-y-1/2 persona-pointer-events-none persona-flex persona-items-center");ke&&Be.appendChild(ke),Z=m("input","persona-text-sm persona-bg-persona-surface persona-border persona-border-persona-border persona-rounded-md persona-pl-8 persona-pr-3 persona-py-1 persona-w-full persona-text-persona-primary"),mr(Z,v?.searchInput),Z.type="text",Z.placeholder="Search event payloads...",ve=m("button","persona-absolute persona-right-5 persona-top-1/2 persona--translate-y-1/2 persona-text-persona-muted hover:persona-text-persona-primary persona-cursor-pointer persona-border-none persona-bg-transparent persona-p-0 persona-leading-none"),ve.type="button",ve.style.display="none";let Ie=ne("x","12px","currentColor",2);return Ie&&ve.appendChild(Ie),_e.appendChild(Be),_e.appendChild(Z),_e.appendChild(ve),B.appendChild(U),B.appendChild(_e),Te&&B.appendChild(Te),B}let ze,Ne=s.find(B=>B.renderEventStreamToolbar);Ne?.renderEventStreamToolbar&&r?ze=Ne.renderEventStreamToolbar({config:r,defaultRenderer:()=>Ae(),eventCount:e.getSize(),filteredCount:0,onFilterChange:U=>{H=U,Pe(),be()},onSearchChange:U=>{E=U,Pe(),be()}})??Ae():ze=Ae();let it=m("div","persona-text-xs persona-text-persona-muted persona-text-center persona-py-0.5 persona-px-4 persona-bg-persona-container persona-border-b persona-border-persona-divider persona-italic persona-flex-shrink-0");it.style.display="none";function Je(){if(!a||!we||!ue)return;let B=a(),U=Jh(B);we.textContent=U;let oe=Yh(B);Te&&(Te.textContent=oe,oe||(Te.style.display="none")),ue.setAttribute("aria-label",oe?`Throughput: ${U}, ${oe}`:`Throughput: ${U}`)}let Re=m("div","persona-flex-1 persona-min-h-0 persona-relative"),Me=m("div","persona-event-stream-list persona-overflow-y-auto persona-min-h-0");Me.style.height="100%";let Ye=m("div","persona-scroll-to-bottom-indicator persona-absolute persona-bottom-3 persona-left-1/2 persona-transform persona--translate-x-1/2 persona-cursor-pointer persona-z-10 persona-text-xs");mr(Ye,v?.scrollIndicator),Ye.style.display="none",Ye.setAttribute("data-persona-scroll-to-bottom-has-label",c?"true":"false");let sn=ne(d,"14px","currentColor",2);sn&&Ye.appendChild(sn);let Mt=m("span","");Mt.textContent=c,Ye.appendChild(Mt);let yt=m("div","persona-flex persona-items-center persona-justify-center persona-h-full persona-text-sm persona-text-persona-muted");yt.style.display="none",Re.appendChild(Me),Re.appendChild(yt),Re.appendChild(Ye),C.setAttribute("tabindex","0"),C.appendChild(ze),C.appendChild(it),C.appendChild(Re);function We(){let B=e.getAll(),U={};for(let _e of B)U[_e.type]=(U[_e.type]||0)+1;let oe=Object.keys(U).sort(),Ke=oe.length!==I.length||!oe.every((_e,ke)=>_e===I[ke]),Ee=!Ke&&oe.some(_e=>U[_e]!==z[_e]),lt=B.length!==Object.values(z).reduce((_e,ke)=>_e+ke,0);if(!Ke&&!Ee&&!lt||(I=oe,z=U,!Y))return;let K=Y.value;if(Y.options[0].textContent=`All events (${B.length})`,Ke){for(;Y.options.length>1;)Y.remove(1);for(let _e of oe){let ke=m("option","");ke.value=_e,ke.textContent=`${_e} (${U[_e]||0})`,Y.appendChild(ke)}K&&oe.includes(K)?Y.value=K:K&&(Y.value="",H="")}else for(let _e=1;_e<Y.options.length;_e++){let ke=Y.options[_e];ke.textContent=`${ke.value} (${U[ke.value]||0})`}}function me(){let B=e.getAll();if(H&&(B=B.filter(U=>U.type===H)),E){let U=E.toLowerCase();B=B.filter(oe=>oe.type.toLowerCase().includes(U)||oe.payload.toLowerCase().includes(U))}return B}function Qe(){return H!==""||E!==""}function Pe(){N=0,j=0,x.resume(),Ye.style.display="none"}function pe(B){ye.has(B)?ye.delete(B):ye.add(B),ge=B;let U=Me.scrollTop,oe=x.isFollowing();$=!0,x.pause(),be(),Me.scrollTop=U,oe&&x.resume(),$=!1}function ie(){return io(Me,50)}function be(){q=Date.now(),J=!1,Je(),We();let B=e.getEvictedCount();B>0?(it.textContent=`${B.toLocaleString()} older events truncated`,it.style.display=""):it.style.display="none",P=me();let U=P.length,oe=e.getSize()>0;U===0&&oe&&Qe()?(yt.textContent=E?`No events matching '${E}'`:"No events matching filter",yt.style.display="",Me.style.display="none"):(yt.style.display="none",Me.style.display=""),ae&&(ae.title=Qe()?`Copy Filtered (${U})`:"Copy All"),p&&!x.isFollowing()&&U>N&&(j+=U-N,Mt.textContent=c?`${c}${j>0?` (${j})`:""}`:"",Ye.style.display=""),N=U;let Ke=e.getAll(),Ee=Ke.length>0?Ke[0].timestamp:0,lt=new Set(P.map(ke=>ke.id));for(let ke of ye)lt.has(ke)||ye.delete(ke);let K=H!==Ce||E!==te,_e=Le.size===0&&P.length>0;if(K||_e||P.length===0){Me.innerHTML="",Le.clear();let ke=document.createDocumentFragment();for(let Be=0;Be<P.length;Be++){let Ie=hl(P[Be],Be,Ee,u,ye,pe,s,r);Le.set(P[Be].id,Ie),ke.appendChild(Ie)}Me.appendChild(ke),Ce=H,te=E,ge=null}else{if(ge!==null){let Be=Le.get(ge);if(Be&&Be.parentNode===Me){let Ie=P.findIndex(Ze=>Ze.id===ge);if(Ie>=0){let Ze=hl(P[Ie],Ie,Ee,u,ye,pe,s,r);Me.insertBefore(Ze,Be),Be.remove(),Le.set(ge,Ze)}}ge=null}let ke=new Set(P.map(Be=>Be.id));for(let[Be,Ie]of Le)ke.has(Be)||(Ie.remove(),Le.delete(Be));for(let Be=0;Be<P.length;Be++){let Ie=P[Be];if(!Le.has(Ie.id)){let Ze=hl(Ie,Be,Ee,u,ye,pe,s,r);Le.set(Ie.id,Ze),Me.appendChild(Ze)}}}x.isFollowing()&&(Me.scrollTop=Me.scrollHeight)}function bt(){if(Date.now()-q>=jh){D!==null&&(cancelAnimationFrame(D),D=null),be();return}J||(J=!0,D=requestAnimationFrame(()=>{D=null,be()}))}let he=(B,U)=>{if(!ae)return;ae.innerHTML="";let oe=ne(B,"12px","currentColor",1.5);oe&&ae.appendChild(oe);let Ke=m("span","persona-text-xs");Ke.textContent="Copy All",ae.appendChild(Ke),setTimeout(()=>{ae.innerHTML="";let Ee=ne("clipboard-copy","12px","currentColor",1.5);Ee&&ae.appendChild(Ee);let lt=m("span","persona-text-xs");lt.textContent="Copy All",ae.appendChild(lt),ae.disabled=!1},U)},de=async()=>{if(ae){ae.disabled=!0;try{let B;Qe()?B=P:n?(B=await n(),B.length===0&&(B=e.getAll())):B=e.getAll();let U=B.map(oe=>{try{return JSON.parse(oe.payload)}catch{return oe.payload}});await navigator.clipboard.writeText(JSON.stringify(U,null,2)),he("check",1500)}catch{he("x",1500)}}},fn=()=>{Y&&(H=Y.value,Pe(),be())},X=()=>{!Z||!ve||(ve.style.display=Z.value?"":"none",T&&clearTimeout(T),T=setTimeout(()=>{E=Z.value,Pe(),be()},150))},M=()=>{!Z||!ve||(Z.value="",E="",ve.style.display="none",T&&clearTimeout(T),Pe(),be())},F=()=>{if($)return;let B=Me.scrollTop,{action:U,nextLastScrollTop:oe}=La({following:x.isFollowing(),currentScrollTop:B,lastScrollTop:fe,nearBottom:ie(),userScrollThreshold:1,resumeRequiresDownwardScroll:!0});fe=oe,U==="resume"?(x.resume(),j=0,Ye.style.display="none"):U==="pause"&&(x.pause(),p&&(Mt.textContent=c,Ye.style.display=""))},y=B=>{let U=Pa({following:x.isFollowing(),deltaY:B.deltaY,nearBottom:ie(),resumeWhenNearBottom:!0});U==="pause"?(x.pause(),p&&(Mt.textContent=c,Ye.style.display="")):U==="resume"&&(x.resume(),j=0,Ye.style.display="none")},A=()=>{p&&(Me.scrollTop=Me.scrollHeight,x.resume(),j=0,Ye.style.display="none")},k=B=>{let U=B.target;if(!U||U.closest("button"))return;let oe=U.closest("[data-event-id]");if(!oe)return;let Ke=oe.getAttribute("data-event-id");Ke&&pe(Ke)},W=B=>{if((B.metaKey||B.ctrlKey)&&B.key==="f"){B.preventDefault(),Z?.focus(),Z?.select();return}B.key==="Escape"&&(Z&&document.activeElement===Z?(M(),Z.blur(),C.focus()):o&&o())};ae&&ae.addEventListener("click",de),Y&&Y.addEventListener("change",fn),Z&&Z.addEventListener("input",X),ve&&ve.addEventListener("click",M),Me.addEventListener("scroll",F),Me.addEventListener("wheel",y,{passive:!0}),Me.addEventListener("click",k),Ye.addEventListener("click",A),C.addEventListener("keydown",W);function V(){T&&clearTimeout(T),D!==null&&(cancelAnimationFrame(D),D=null),J=!1,Le.clear(),ae&&ae.removeEventListener("click",de),Y&&Y.removeEventListener("change",fn),Z&&Z.removeEventListener("input",X),ve&&ve.removeEventListener("click",M),Me.removeEventListener("scroll",F),Me.removeEventListener("wheel",y),Me.removeEventListener("click",k),Ye.removeEventListener("click",A),C.removeEventListener("keydown",W)}return{element:C,update:bt,destroy:V}}}function Zp(t,e){let n=e.orientation??"horizontal",o=n==="vertical"?"ArrowUp":"ArrowLeft",r=n==="vertical"?"ArrowDown":"ArrowRight";t.setAttribute("role","tablist");let s=[],a=!1,l=u=>{typeof u.scrollIntoView=="function"&&u.scrollIntoView({block:"nearest",inline:"nearest"})},p=u=>{let w=u;return s.findIndex(f=>f===w||f.contains(w))},d=u=>{let w=p(u.target);if(w<0)return;let f=w;if(u.key===r)f=Math.min(w+1,s.length-1);else if(u.key===o)f=Math.max(w-1,0);else if(u.key==="Home")f=0;else if(u.key==="End")f=s.length-1;else return;u.preventDefault(),f!==w&&e.onSelect(f)},c=u=>{let w=p(u.target);w>=0&&l(s[w])};return t.addEventListener("keydown",d),t.addEventListener("focusin",c),{beforeRender(){a=typeof document<"u"&&t.contains(document.activeElement)},render(u,w){if(s=u,u.forEach((f,v)=>{f.setAttribute("role","tab");let C=v===w;f.setAttribute("aria-selected",C?"true":"false"),f.tabIndex=C||w<0&&v===0?0:-1}),a){let f=(w>=0?u[w]:void 0)??u[0];f&&typeof f.focus=="function"&&(l(f),f.focus())}},destroy(){t.removeEventListener("keydown",d),t.removeEventListener("focusin",c)}}}function eu(t,e){let n=t.features?.artifacts?.layout,r=(n?.toolbarPreset??"default")==="document",s=n?.toolbarTitle??"Artifacts",a=n?.closeButtonLabel??"Close",l=n?.panePadding?.trim(),p=n?.tabFadeSize?.trim(),d=X=>({start:X===!1?!1:typeof X=="object"&&X?X.start!==!1:!0,end:X===!1?!1:typeof X=="object"&&X?X.end!==!1:!0}),{start:c,end:u}=d(n?.tabFade),w=typeof document<"u"?m("div","persona-artifact-backdrop persona-fixed persona-inset-0 persona-z-[55] persona-bg-black/30 persona-hidden md:persona-hidden"):null,f=()=>{w?.classList.add("persona-hidden"),v.classList.remove("persona-artifact-drawer-open"),$?.hide()};w&&w.addEventListener("click",()=>{f(),e.onDismiss?.()});let v=m("aside","persona-artifact-pane persona-flex persona-flex-col persona-min-h-0 persona-min-w-0 persona-bg-persona-surface persona-text-persona-primary persona-border-l persona-border-persona-border");v.setAttribute("data-persona-theme-zone","artifact-pane"),r&&v.classList.add("persona-artifact-pane-document");let C=m("div","persona-artifact-toolbar persona-flex persona-items-center persona-justify-between persona-gap-2 persona-px-2 persona-py-2 persona-border-b persona-border-persona-border persona-shrink-0");C.setAttribute("data-persona-theme-zone","artifact-toolbar"),r&&C.classList.add("persona-artifact-toolbar-document");let P=m("span","persona-text-xs persona-font-medium persona-truncate");P.textContent=s;let H=Rt({icon:"x",label:a});H.addEventListener("click",()=>{f(),e.onDismiss?.()});let E="rendered",T=Aa({items:[{id:"rendered",icon:"eye",label:"Rendered view",className:r?"persona-artifact-doc-icon-btn persona-artifact-view-btn":void 0},{id:"source",icon:"code-xml",label:"Source",className:r?"persona-artifact-doc-icon-btn persona-artifact-code-btn":void 0}],selectedId:"rendered",className:"persona-artifact-toggle-group persona-shrink-0",onSelect:X=>{E=X==="source"?"source":"rendered",he()}}),I=m("div","persona-flex persona-items-center persona-gap-1 persona-shrink-0"),z=n?.documentToolbarShowCopyLabel===!0,N=n?.documentToolbarShowCopyChevron===!0,x=n?.documentToolbarCopyMenuItems,j=!!(N&&x&&x.length>0),q=null,J,D=null,$=null;if(r&&(z||N)&&!j){if(J=z?Wo({icon:"copy",label:"Copy",iconSize:14,className:"persona-artifact-doc-copy-btn"}):Rt({icon:"copy",label:"Copy",className:"persona-artifact-doc-copy-btn"}),N){let X=ne("chevron-down",14,"currentColor",2);X&&J.appendChild(X)}}else r&&j?(q=m("div","persona-relative persona-inline-flex persona-items-center persona-gap-0 persona-rounded-md"),J=z?Wo({icon:"copy",label:"Copy",iconSize:14,className:"persona-artifact-doc-copy-btn"}):Rt({icon:"copy",label:"Copy",className:"persona-artifact-doc-copy-btn"}),D=Rt({icon:"chevron-down",label:"More copy options",size:14,className:"persona-artifact-doc-copy-menu-chevron persona-artifact-doc-icon-btn",aria:{"aria-haspopup":"true","aria-expanded":"false"}}),q.append(J,D)):r?J=Rt({icon:"copy",label:"Copy",className:"persona-artifact-doc-icon-btn"}):(J=Rt({icon:"copy",label:"Copy"}),n?.showCopyButton!==!0&&J.classList.add("persona-hidden"));let fe=r?Rt({icon:"refresh-cw",label:"Refresh",className:"persona-artifact-doc-icon-btn"}):Rt({icon:"refresh-cw",label:"Refresh"}),ye=r?Rt({icon:"x",label:a,className:"persona-artifact-doc-icon-btn"}):Rt({icon:"x",label:a}),Le=Rt({icon:"maximize",label:"Expand artifacts panel",className:"persona-artifact-expand-btn"+(r?" persona-artifact-doc-icon-btn":""),onClick:()=>e.onToggleExpand?.()});n?.showExpandToggle!==!0&&Le.classList.add("persona-hidden");let Ce=m("div","persona-flex persona-items-center persona-gap-1 persona-shrink-0 persona-artifact-toolbar-custom-actions"),te=t.features?.artifacts?.toolbarActions??[],ge=()=>{let X=Re.find(A=>A.id===Me)??Re[Re.length-1],M=X?.id??null,F=X?.artifactType==="markdown"?X.markdown??"":"",y=X?JSON.stringify({component:X.component,props:X.props},null,2):"";return{markdown:F,jsonPayload:y,id:M}},Y=async()=>{let X=Re.find(M=>M.id===Me)??Re[Re.length-1];try{await navigator.clipboard.writeText(ls(X))}catch{}};if(J.addEventListener("click",async()=>{let X=n?.onDocumentToolbarCopyMenuSelect;if(X&&j){let{markdown:M,jsonPayload:F,id:y}=ge();try{await X({actionId:"primary",artifactId:y,markdown:M,jsonPayload:F})}catch{}return}await Y()}),D&&x?.length){let X=()=>v.closest("[data-persona-root]")??document.body,M=()=>{$=dr({items:x.map(F=>({id:F.id,label:F.label})),onSelect:async F=>{let{markdown:y,jsonPayload:A,id:k}=ge(),W=n?.onDocumentToolbarCopyMenuSelect;try{W?await W({actionId:F,artifactId:k,markdown:y,jsonPayload:A}):F==="markdown"||F==="md"?await navigator.clipboard.writeText(y):F==="json"||F==="source"?await navigator.clipboard.writeText(A):await navigator.clipboard.writeText(y||A)}catch{}},anchor:q??D,position:"bottom-right",portal:X()})};v.isConnected?M():requestAnimationFrame(M),D.addEventListener("click",F=>{F.stopPropagation(),$?.toggle()})}fe.addEventListener("click",async()=>{try{await n?.onDocumentToolbarRefresh?.()}catch{}he()}),ye.addEventListener("click",()=>{f(),e.onDismiss?.()});let ae=m("span","persona-min-w-0 persona-flex-1 persona-text-xs persona-font-medium persona-text-persona-primary persona-truncate persona-text-center md:persona-text-left");if(r)C.replaceChildren(),q?I.append(q,fe,ye):I.append(J,fe,ye),I.insertBefore(Ce,ye),I.insertBefore(Le,ye),C.append(T.element,ae,I);else{let X=m("div","persona-flex persona-items-center persona-gap-1 persona-shrink-0");X.append(J,Ce,Le,H),C.appendChild(P),C.appendChild(X)}l&&(C.style.paddingLeft=l,C.style.paddingRight=l);let Z=m("div","persona-artifact-list persona-shrink-0 persona-flex persona-gap-1 persona-overflow-x-auto persona-p-2 persona-border-b persona-border-persona-border");p&&Z.style.setProperty("--persona-artifact-tab-fade-size",p);let ve=t.features?.artifacts?.renderTabBar,we=m("div","persona-artifact-tab-custom persona-shrink-0 persona-border-b persona-border-persona-border persona-hidden"),ue=Zp(Z,{onSelect:X=>e.onSelect(Re[X].id)}),Te=X=>{let M=X.scrollWidth-X.clientWidth,F=M>1,y=Math.abs(X.scrollLeft);X.classList.toggle("persona-artifact-tab-fade-start",c&&F&&y>1),X.classList.toggle("persona-artifact-tab-fade-end",u&&F&&y<M-1)},Ae=0,ze=()=>{if(Ae)return;let X=()=>{Ae=0,Te(Z)};Ae=typeof requestAnimationFrame=="function"?requestAnimationFrame(X):setTimeout(X,0)};Z.addEventListener("scroll",()=>ze(),{passive:!0}),typeof ResizeObserver<"u"&&new ResizeObserver(()=>Te(Z)).observe(Z);let Ne=m("div","persona-artifact-content persona-flex-1 persona-min-h-0 persona-overflow-y-auto persona-p-3"),it=()=>{Ne.scrollLeft=0},Je=()=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(it):setTimeout(it,0)};if(l){for(let X of[Z,we])X.style.paddingLeft=l,X.style.paddingRight=l;Ne.style.padding=l}v.appendChild(C),v.appendChild(Z),v.appendChild(we),v.appendChild(Ne);let Re=[],Me=null,Ye=!1,sn=!1,Mt=!0,yt=!1,We=null,me="",Qe=null,Pe=!1,pe=X=>X.artifactType==="markdown"&&!!X.file||r?E:"rendered",ie=X=>{r||(X&&!Pe?(C.insertBefore(T.element,P),Pe=!0):!X&&Pe&&(T.element.remove(),Pe=!1))},be=()=>Me&&Re.find(X=>X.id===Me)||Re[Re.length-1],bt=()=>{let X=as(be());if(!X){Ce.replaceChildren();return}let M=te.filter(F=>F.visible===void 0||F.visible(X)).map(F=>pr(F,{documentChrome:r,onClick:()=>{let y=as(be());if(y)try{Promise.resolve(F.onClick(y)).catch(()=>{})}catch{}}}));Ce.replaceChildren(...M)},he=()=>{bt();let X=r&&Re.length<=1,M=!!ve;if(Z.classList.toggle("persona-hidden",X||M),we.classList.toggle("persona-hidden",X||!M),M&&ve){let A=Re.map(k=>k.id).join("|")+" "+(Me??"");if(A!==me){me=A;let k=ve({records:Re,selectedId:Me,onSelect:e.onSelect});we.firstElementChild!==k&&we.replaceChildren(k)}}else{ue.beforeRender(),Z.replaceChildren();let A=[],k=-1;for(let[W,V]of Re.entries()){let B=m("button","persona-artifact-tab persona-shrink-0 persona-rounded-lg persona-px-2 persona-py-1 persona-text-xs persona-border persona-border-transparent persona-text-persona-primary");B.type="button";let U=V.artifactType==="markdown"?V.file:void 0,oe=U?Mn(U.path):V.title||V.id.slice(0,8),Ke=U?.path||V.title||oe;B.textContent=oe,B.title=Ke,B.setAttribute("aria-label",Ke),V.id===Me&&(B.classList.add("persona-bg-persona-container","persona-border-persona-border"),k=W),B.addEventListener("click",()=>e.onSelect(V.id)),Z.appendChild(B),A.push(B)}if(ue.render(A,k),k>=0&&Me!==We){We=Me;let W=A[k];typeof W.scrollIntoView=="function"&&W.scrollIntoView({block:"nearest",inline:"nearest"})}Te(Z)}let F=Me&&Re.find(A=>A.id===Me)||Re[Re.length-1];if(!F){Ne.replaceChildren(),Qe=null,ie(!1);return}let y=F.artifactType==="markdown"?F.file:void 0;if(ie(!!y),r){let A=y?oo(y):F.artifactType==="markdown"?"MD":F.component??"Component",k=(F.title||"Document").trim(),W=y?Mn(y.path):k.replace(/\s*·\s*MD\s*$/i,"").trim()||"Document";ae.textContent=`${W} \xB7 ${A}`}else P.textContent=y?Mn(y.path):s;Qe?(Qe.el.parentElement!==Ne&&Ne.replaceChildren(Qe.el),Qe.update(F)):(Qe=Ma(F,{config:t,resolveViewMode:pe}),Ne.replaceChildren(Qe.el)),Ne.classList.toggle("persona-artifact-content-flush",!!Ne.querySelector(".persona-code-pre"))},de=()=>{let X=Re.length>0;if(v.classList.toggle("persona-hidden",!X),w){let y=((typeof v.closest=="function"?v.closest("[data-persona-root]"):null)?.classList.contains("persona-artifact-narrow-host")??!1)||typeof window<"u"&&window.matchMedia("(max-width: 640px)").matches;X&&y&&Ye?(w.classList.remove("persona-hidden"),v.classList.add("persona-artifact-drawer-open")):(w.classList.add("persona-hidden"),v.classList.remove("persona-artifact-drawer-open"))}},fn=()=>{yt=!1,he(),de()};return{element:v,backdrop:w,update(X){let M=X.selectedId??X.artifacts[X.artifacts.length-1]?.id??null,F=M!==Me;Re=X.artifacts,Me=M,Re.length>0&&(Ye=!0),yt=!0,Mt&&fn(),F&&it()},setMobileOpen(X){Ye=X,!X&&w?(w.classList.add("persona-hidden"),v.classList.remove("persona-artifact-drawer-open")):de()},setExpanded(X){X!==sn&&(sn=X,Je());let M=ne(X?"minimize":"maximize",16,"currentColor",2);M&&Le.replaceChildren(M);let F=X?"Collapse artifacts panel":"Expand artifacts panel";Le.setAttribute("aria-label",F),Le.title=F},setExpandToggleVisible(X){Le.classList.toggle("persona-hidden",!X)},setCopyButtonVisible(X){r||J.classList.toggle("persona-hidden",!X)},setCustomActions(X){te=X,bt()},setTabFade(X){let M=d(X);M.start===c&&M.end===u||(c=M.start,u=M.end,Te(Z))},setRenderTabBar(X){X!==ve&&(ve=X,me="",he())},setVisible(X){X!==Mt&&(Mt=X,X&&yt&&fn())}}}function Gt(t){return t?.features?.artifacts?.enabled===!0}function tu(t,e){if(t.classList.remove("persona-artifact-border-full","persona-artifact-border-left"),t.style.removeProperty("--persona-artifact-pane-border"),t.style.removeProperty("--persona-artifact-pane-border-left"),!Gt(e))return;let n=e.features?.artifacts?.layout,o=n?.paneBorder?.trim(),r=n?.paneBorderLeft?.trim();o?(t.classList.add("persona-artifact-border-full"),t.style.setProperty("--persona-artifact-pane-border",o)):r&&(t.classList.add("persona-artifact-border-left"),t.style.setProperty("--persona-artifact-pane-border-left",r))}function ey(t){t.style.removeProperty("--persona-artifact-doc-toolbar-icon-color"),t.style.removeProperty("--persona-artifact-doc-toggle-active-bg"),t.style.removeProperty("--persona-artifact-doc-toggle-active-border")}var nu=["panel","seamless","detached"];function yl(t){let e=t.features?.artifacts?.layout?.paneAppearance;return e&&nu.includes(e)?e:e?"panel":t.launcher?.detachedPanel?"detached":"panel"}function bl(t){return!t||!Gt(t)?!1:yl(t)==="detached"}function ws(t,e){if(!Gt(e)){t.style.removeProperty("--persona-artifact-split-gap"),t.style.removeProperty("--persona-artifact-pane-width"),t.style.removeProperty("--persona-artifact-pane-max-width"),t.style.removeProperty("--persona-artifact-pane-min-width"),t.style.removeProperty("--persona-artifact-pane-bg"),t.style.removeProperty("--persona-artifact-pane-padding"),ey(t),tu(t,e);return}let n=e.features?.artifacts?.layout,o=yl(e)==="detached"?"var(--persona-panel-inset)":"0";t.style.setProperty("--persona-artifact-split-gap",n?.splitGap??o),t.style.setProperty("--persona-artifact-pane-width",n?.paneWidth??"40%"),t.style.setProperty("--persona-artifact-pane-max-width",n?.paneMaxWidth??"28rem"),n?.paneMinWidth?t.style.setProperty("--persona-artifact-pane-min-width",n.paneMinWidth):t.style.removeProperty("--persona-artifact-pane-min-width");let r=n?.paneBackground?.trim();r?t.style.setProperty("--persona-artifact-pane-bg",r):t.style.removeProperty("--persona-artifact-pane-bg");let s=n?.panePadding?.trim();s?t.style.setProperty("--persona-artifact-pane-padding",s):t.style.removeProperty("--persona-artifact-pane-padding");let a=n?.documentToolbarIconColor?.trim();a?t.style.setProperty("--persona-artifact-doc-toolbar-icon-color",a):t.style.removeProperty("--persona-artifact-doc-toolbar-icon-color");let l=n?.documentToolbarToggleActiveBackground?.trim();l?t.style.setProperty("--persona-artifact-doc-toggle-active-bg",l):t.style.removeProperty("--persona-artifact-doc-toggle-active-bg");let p=n?.documentToolbarToggleActiveBorderColor?.trim();p?t.style.setProperty("--persona-artifact-doc-toggle-active-border",p):t.style.removeProperty("--persona-artifact-doc-toggle-active-border"),tu(t,e)}function xs(t,e){for(let l of nu)t.classList.remove(`persona-artifact-appearance-${l}`);if(t.style.removeProperty("--persona-artifact-pane-radius"),t.style.removeProperty("--persona-artifact-pane-shadow"),t.style.removeProperty("--persona-artifact-chat-shadow"),!Gt(e))return;let n=e.features?.artifacts?.layout,o=yl(e);t.classList.add(`persona-artifact-appearance-${o}`);let r=n?.paneBorderRadius?.trim();r&&t.style.setProperty("--persona-artifact-pane-radius",r);let s=n?.paneShadow?.trim();s&&t.style.setProperty("--persona-artifact-pane-shadow",s);let a=n?.chatShadow?.trim();a&&t.style.setProperty("--persona-artifact-chat-shadow",a)}function ou(t,e){return!e||!Gt(t)?!1:t.features?.artifacts?.layout?.expandLauncherPanelWhenOpen!==!1}function ty(t,e){if(!t?.trim())return e;let n=/^(\d+(?:\.\d+)?)px\s*$/i.exec(t.trim());return n?Math.max(0,Number(n[1])):e}function ny(t){if(!t?.trim())return null;let e=/^(\d+(?:\.\d+)?)px\s*$/i.exec(t.trim());return e?Math.max(0,Number(e[1])):null}function oy(t,e,n){return n<e?e:Math.min(n,Math.max(e,t))}function ry(t,e,n,o){let r=t-o-2*e-n;return Math.max(0,r)}function vl(t,e){let o=(e.getComputedStyle(t).gap||"0px").trim().split(/\s+/)[0]??"0px",r=/^([\d.]+)px$/i.exec(o);if(r)return Number(r[1]);let s=/^([\d.]+)/.exec(o);return s?Number(s[1]):8}function ru(t,e,n,o,r,s){let a=ty(r,200),l=ry(e,n,o,200);l=Math.max(a,l);let p=ny(s);return p!==null&&(l=Math.min(l,p)),oy(t,a,l)}var su={init:{title:"Schedule a Demo",description:"Share the basics and we'll follow up with a confirmation.",fields:[{name:"name",label:"Full name",placeholder:"Jane Doe",required:!0},{name:"email",label:"Work email",placeholder:"jane@example.com",type:"email",required:!0},{name:"notes",label:"What would you like to cover?",type:"textarea"}],submitLabel:"Submit details"},followup:{title:"Additional Information",description:"Provide any extra details to tailor the next steps.",fields:[{name:"company",label:"Company",placeholder:"Acme Inc."},{name:"context",label:"Context",type:"textarea",placeholder:"Share more about your use case"}],submitLabel:"Send"}},wl=(t,e,n,o)=>{let r=t.querySelectorAll("[data-tv-form]");r.length&&r.forEach(s=>{if(s.dataset.enhanced==="true")return;let a=s.dataset.tvForm??"init";s.dataset.enhanced="true";let l=su[a]??su.init;s.classList.add("persona-form-card","persona-space-y-4");let p=m("div","persona-space-y-1"),d=m("h3","persona-text-base persona-font-semibold persona-text-persona-primary");if(d.textContent=l.title,p.appendChild(d),l.description){let v=m("p","persona-text-sm persona-text-persona-muted");v.textContent=l.description,p.appendChild(v)}let c=document.createElement("form");c.className="persona-form-grid persona-space-y-3",l.fields.forEach(v=>{let C=m("label","persona-form-field persona-flex persona-flex-col persona-gap-1");C.htmlFor=`${e.id}-${a}-${v.name}`;let P=m("span","persona-text-xs persona-font-medium persona-text-persona-muted");P.textContent=v.label,C.appendChild(P);let H=v.type??"text",E;H==="textarea"?(E=document.createElement("textarea"),E.rows=3):(E=document.createElement("input"),E.type=H),E.className="persona-rounded-xl persona-border persona-border-gray-200 persona-bg-white persona-px-3 persona-py-2 persona-text-sm persona-text-persona-primary focus:persona-outline-none focus:persona-border-persona-primary",E.id=`${e.id}-${a}-${v.name}`,E.name=v.name,E.placeholder=v.placeholder??"",v.required&&(E.required=!0),C.appendChild(E),c.appendChild(C)});let u=m("div","persona-flex persona-items-center persona-justify-between persona-gap-2"),w=m("div","persona-text-xs persona-text-persona-muted persona-min-h-[1.5rem]"),f=m("button","persona-inline-flex persona-items-center persona-rounded-full persona-bg-persona-primary persona-px-4 persona-py-2 persona-text-sm persona-font-semibold persona-text-white disabled:persona-opacity-60 persona-cursor-pointer");f.type="submit",f.textContent=l.submitLabel??"Submit",u.appendChild(w),u.appendChild(f),c.appendChild(u),s.replaceChildren(p,c),c.addEventListener("submit",async v=>{v.preventDefault();let C=n.formEndpoint??"/form",P=new FormData(c),H={};P.forEach((E,T)=>{H[T]=E}),H.type=a,f.disabled=!0,w.textContent="Submitting\u2026";try{let E=await fetch(C,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(H)});if(!E.ok)throw new Error(`Form submission failed (${E.status})`);let T=await E.json();w.textContent=T.message??"Thanks! We'll be in touch soon.",T.success&&T.nextPrompt&&await o.sendMessage(String(T.nextPrompt))}catch(E){w.textContent=E instanceof Error?E.message:"Something went wrong. Please try again."}finally{f.disabled=!1}})})};var xl=class{constructor(){this.plugins=new Map}register(e){this.plugins.has(e.id)&&console.warn(`Plugin "${e.id}" is already registered. Overwriting.`),this.plugins.set(e.id,e),e.onRegister?.()}unregister(e){let n=this.plugins.get(e);n&&(n.onUnregister?.(),this.plugins.delete(e))}getAll(){return Array.from(this.plugins.values()).sort((e,n)=>(n.priority??0)-(e.priority??0))}getForInstance(e){let n=this.getAll();if(!e||e.length===0)return n;let o=new Set(e.map(s=>s.id));return[...n.filter(s=>!o.has(s.id)),...e].sort((s,a)=>(a.priority??0)-(s.priority??0))}clear(){this.plugins.forEach(e=>e.onUnregister?.()),this.plugins.clear()}},Cl=new xl;var au=t=>typeof t=="object"&&t!==null&&!Array.isArray(t),sy=new Set(["headers","agent","storageAdapter","components","targetProviders","voiceRecognition.provider.custom","features.streamAnimation.plugins"]),iu=(t,e,n)=>{if(!au(t)||!au(e)||sy.has(n))return e;let o={...t};for(let r of Object.keys(e)){if(e[r]===void 0){delete o[r];continue}let s=n?`${n}.${r}`:r;o[r]=iu(t[r],e[r],s)}return o};function lu(t,e){let n=iu(t,e,"");return ha(n)}var cu=()=>{let t=new Map,e=(r,s)=>(t.has(r)||t.set(r,new Set),t.get(r).add(s),()=>n(r,s)),n=(r,s)=>{t.get(r)?.delete(s)};return{on:e,off:n,emit:(r,s)=>{t.get(r)?.forEach(a=>{try{a(s)}catch(l){typeof console<"u"&&console.error("[AgentWidget] Event handler error:",l)}})}}};var ay=t=>{let e=t.match(/```(?:json)?\s*([\s\S]*?)```/i);return e?e[1]:t},iy=t=>{let e=t.trim(),n=e.indexOf("{");if(n===-1)return null;let o=0;for(let r=n;r<e.length;r+=1){let s=e[r];if(s==="{"&&(o+=1),s==="}"&&(o-=1,o===0))return e.slice(n,r+1)}return null},Sl=({text:t})=>{if(!t||!t.includes("{"))return null;try{let e=ay(t),n=iy(e);if(!n)return null;let o=JSON.parse(n);if(!o||typeof o!="object"||!o.action)return null;let{action:r,...s}=o;return{type:String(r),payload:s,raw:o}}catch{return null}},Al=t=>typeof t=="string"?t:t==null?"":String(t),Cs={message:t=>t.type!=="message"?void 0:{handled:!0,displayText:Al(t.payload.text)},messageAndClick:(t,e)=>{if(t.type!=="message_and_click")return;let n=t.payload,o=Al(n.element);if(o&&e.document?.querySelector){let r=e.document.querySelector(o);r?setTimeout(()=>{r.click()},400):typeof console<"u"&&console.warn("[AgentWidget] Element not found for selector:",o)}return{handled:!0,displayText:Al(n.text)}}},du=t=>Array.isArray(t)?t.map(e=>String(e)):[],Tl=t=>{let e=new Set(du(t.getSessionMetadata().processedActionMessageIds)),n=()=>{e=new Set(du(t.getSessionMetadata().processedActionMessageIds))},o=()=>{let s=Array.from(e);t.updateSessionMetadata(a=>({...a,processedActionMessageIds:s}))};return{process:s=>{if(s.streaming||s.message.role!=="assistant"||!s.text||e.has(s.message.id))return null;let a=typeof s.raw=="string"&&s.raw||typeof s.message.rawContent=="string"&&s.message.rawContent||typeof s.text=="string"&&s.text||null;!a&&typeof s.text=="string"&&s.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 l=a?t.parsers.reduce((d,c)=>d||c?.({text:a,message:s.message})||null,null):null;if(!l)return null;e.add(s.message.id),o();let p={action:l,message:s.message};t.emit("action:detected",p);for(let d of t.handlers)if(d)try{let c=()=>{t.emit("action:resubmit",p)},u=d(l,{message:s.message,metadata:t.getSessionMetadata(),updateMetadata:t.updateSessionMetadata,document:t.documentRef,triggerResubmit:c});if(!u)continue;if(u.handled){let w=u.persistMessage!==!1;return{text:u.displayText!==void 0?u.displayText:"",persist:w,resubmit:u.resubmit}}}catch(c){typeof console<"u"&&console.error("[AgentWidget] Action handler error:",c)}return{text:"",persist:!0}},syncFromMetadata:n}};var ly=t=>{if(!t)return null;try{return JSON.parse(t)}catch(e){return typeof console<"u"&&console.error("[AgentWidget] Failed to parse stored state:",e),null}},cy=t=>t.map(e=>({...e,streaming:!1})),dy=t=>t.map(e=>({...e,status:"complete"})),pu=(t="persona-state")=>{let e=()=>typeof window>"u"||!window.localStorage?null:window.localStorage;return{load:()=>{let n=e();return n?ly(n.getItem(t)):null},save:n=>{let o=e();if(o)try{let r={...n,messages:n.messages?cy(n.messages):void 0,artifacts:n.artifacts?dy(n.artifacts):void 0};o.setItem(t,JSON.stringify(r))}catch(r){typeof console<"u"&&console.error("[AgentWidget] Failed to persist state:",r)}},clear:()=>{let n=e();if(n)try{n.removeItem(t)}catch(o){typeof console<"u"&&console.error("[AgentWidget] Failed to clear stored state:",o)}}}};import{parse as zC,STR as UC,OBJ as jC}from"partial-json";function uu(t,e){let{config:n,message:o,onPropsUpdate:r}=e,s=_n.get(t.component);if(!s)return console.warn(`[ComponentMiddleware] Component "${t.component}" not found in registry. Falling back to default rendering.`),null;let a={message:o,config:n,updateProps:l=>{r&&r(l)}};try{return s(t.props,a)}catch(l){return console.error(`[ComponentMiddleware] Error rendering component "${t.component}":`,l),null}}function fu(t){if(typeof t.rawContent=="string"&&t.rawContent.length>0)return t.rawContent;if(typeof t.content=="string"){let e=t.content.trim();if(e.startsWith("{")||e.startsWith("["))return t.content}return null}function Ml(t){let e=fu(t);if(!e)return!1;try{let n=JSON.parse(e);return typeof n=="object"&&n!==null&&"component"in n&&typeof n.component=="string"}catch{return!1}}function gu(t){let e=fu(t);if(!e)return null;try{let n=JSON.parse(e);if(typeof n=="object"&&n!==null&&"component"in n&&typeof n.component=="string"){let o=n;return{component:o.component,props:o.props&&typeof o.props=="object"&&o.props!==null?o.props:{},raw:e}}}catch{}return null}var py=["Very dissatisfied","Dissatisfied","Neutral","Satisfied","Very satisfied"];function mu(t){let{onSubmit:e,onDismiss:n,title:o="How satisfied are you?",subtitle:r="Please rate your experience",commentPlaceholder:s="Share your thoughts (optional)...",submitText:a="Submit",skipText:l="Skip",showComment:p=!0,ratingLabels:d=py}=t,c=document.createElement("div");c.className="persona-feedback-container persona-feedback-csat",c.setAttribute("role","dialog"),c.setAttribute("aria-label","Customer satisfaction feedback");let u=null,w=document.createElement("div");w.className="persona-feedback-content";let f=document.createElement("div");f.className="persona-feedback-header";let v=document.createElement("h3");v.className="persona-feedback-title",v.textContent=o,f.appendChild(v);let C=document.createElement("p");C.className="persona-feedback-subtitle",C.textContent=r,f.appendChild(C),w.appendChild(f);let P=document.createElement("div");P.className="persona-feedback-rating persona-feedback-rating-csat",P.setAttribute("role","radiogroup"),P.setAttribute("aria-label","Satisfaction rating from 1 to 5");let H=[];for(let N=1;N<=5;N++){let x=document.createElement("button");x.type="button",x.className="persona-feedback-rating-btn persona-feedback-star-btn",x.setAttribute("role","radio"),x.setAttribute("aria-checked","false"),x.setAttribute("aria-label",`${N} star${N>1?"s":""}: ${d[N-1]}`),x.title=d[N-1],x.dataset.rating=String(N),x.innerHTML=`
37
43
  <svg class="persona-feedback-star" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
38
44
  <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>
39
45
  </svg>
40
- `,$.addEventListener("click",()=>{u=U,W.forEach((C,j)=>{let J=j<U;C.classList.toggle("selected",J),C.setAttribute("aria-checked",j===U-1?"true":"false")})}),W.push($),P.appendChild($)}w.appendChild(P);let T=null;if(p){let U=document.createElement("div");U.className="persona-feedback-comment-container",T=document.createElement("textarea"),T.className="persona-feedback-comment",T.placeholder=s,T.rows=3,T.setAttribute("aria-label","Additional comments"),U.appendChild(T),w.appendChild(U)}let I=document.createElement("div");I.className="persona-feedback-actions";let H=document.createElement("button");H.type="button",H.className="persona-feedback-btn persona-feedback-btn-skip",H.textContent=l,H.addEventListener("click",()=>{n?.(),c.remove()});let q=document.createElement("button");return q.type="button",q.className="persona-feedback-btn persona-feedback-btn-submit",q.textContent=a,q.addEventListener("click",async()=>{if(u===null){P.classList.add("persona-feedback-shake"),setTimeout(()=>P.classList.remove("persona-feedback-shake"),500);return}q.disabled=!0,q.textContent="Submitting...";try{let U=T?.value.trim()||void 0;await e(u,U),c.remove()}catch(U){q.disabled=!1,q.textContent=a,console.error("[CSAT Feedback] Failed to submit:",U)}}),I.appendChild(H),I.appendChild(q),w.appendChild(I),c.appendChild(w),c}function nu(t){let{onSubmit:e,onDismiss:n,title:o="How likely are you to recommend us?",subtitle:r="On a scale of 0 to 10",commentPlaceholder:s="What could we do better? (optional)...",submitText:a="Submit",skipText:l="Skip",showComment:p=!0,lowLabel:d="Not likely",highLabel:c="Very likely"}=t,u=document.createElement("div");u.className="persona-feedback-container persona-feedback-nps",u.setAttribute("role","dialog"),u.setAttribute("aria-label","Net Promoter Score feedback");let w=null,f=document.createElement("div");f.className="persona-feedback-content";let v=document.createElement("div");v.className="persona-feedback-header";let x=document.createElement("h3");x.className="persona-feedback-title",x.textContent=o,v.appendChild(x);let P=document.createElement("p");P.className="persona-feedback-subtitle",P.textContent=r,v.appendChild(P),f.appendChild(v);let W=document.createElement("div");W.className="persona-feedback-rating persona-feedback-rating-nps",W.setAttribute("role","radiogroup"),W.setAttribute("aria-label","Likelihood rating from 0 to 10");let T=document.createElement("div");T.className="persona-feedback-labels";let I=document.createElement("span");I.className="persona-feedback-label-low",I.textContent=d;let H=document.createElement("span");H.className="persona-feedback-label-high",H.textContent=c,T.appendChild(I),T.appendChild(H);let q=document.createElement("div");q.className="persona-feedback-numbers";let U=[];for(let D=0;D<=10;D++){let _=document.createElement("button");_.type="button",_.className="persona-feedback-rating-btn persona-feedback-number-btn",_.setAttribute("role","radio"),_.setAttribute("aria-checked","false"),_.setAttribute("aria-label",`Rating ${D} out of 10`),_.textContent=String(D),_.dataset.rating=String(D),D<=6?_.classList.add("persona-feedback-detractor"):D<=8?_.classList.add("persona-feedback-passive"):_.classList.add("persona-feedback-promoter"),_.addEventListener("click",()=>{w=D,U.forEach((ce,he)=>{ce.classList.toggle("selected",he===D),ce.setAttribute("aria-checked",he===D?"true":"false")})}),U.push(_),q.appendChild(_)}W.appendChild(T),W.appendChild(q),f.appendChild(W);let $=null;if(p){let D=document.createElement("div");D.className="persona-feedback-comment-container",$=document.createElement("textarea"),$.className="persona-feedback-comment",$.placeholder=s,$.rows=3,$.setAttribute("aria-label","Additional comments"),D.appendChild($),f.appendChild(D)}let C=document.createElement("div");C.className="persona-feedback-actions";let j=document.createElement("button");j.type="button",j.className="persona-feedback-btn persona-feedback-btn-skip",j.textContent=l,j.addEventListener("click",()=>{n?.(),u.remove()});let J=document.createElement("button");return J.type="button",J.className="persona-feedback-btn persona-feedback-btn-submit",J.textContent=a,J.addEventListener("click",async()=>{if(w===null){q.classList.add("persona-feedback-shake"),setTimeout(()=>q.classList.remove("persona-feedback-shake"),500);return}J.disabled=!0,J.textContent="Submitting...";try{let D=$?.value.trim()||void 0;await e(w,D),u.remove()}catch(D){J.disabled=!1,J.textContent=a,console.error("[NPS Feedback] Failed to submit:",D)}}),C.appendChild(j),C.appendChild(J),f.appendChild(C),u.appendChild(f),u}var gr="persona-chat-history",Vb=30*1e3,Kb=641,Gb={"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 Xb(t){if(!t)return[];let e=[],n=Array.from(t.items??[]);for(let o of n){if(o.kind!=="file"||!o.type.startsWith("image/"))continue;let r=o.getAsFile();if(!r)continue;if(r.name){e.push(r);continue}let s=Gb[r.type]??"png";e.push(new File([r],`clipboard-image-${Date.now()}.${s}`,{type:r.type,lastModified:Date.now()}))}if(e.length>0)return e;for(let o of Array.from(t.files??[]))o.type.startsWith("image/")&&e.push(o);return e}function qa(t){if(!t)return!1;let e=t.types;return e?typeof e.contains=="function"?e.contains("Files"):Array.from(e).includes("Files"):!1}function Qb(t){return t?t===!0?{storage:"session",keyPrefix:"persona-",persist:{openState:!0,voiceState:!0,focusInput:!0},clearOnChatClear:!0}:{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}:null}function Jb(t){try{let e=t==="local"?localStorage:sessionStorage,n="__persist_test__";return e.setItem(n,"1"),e.removeItem(n),e}catch{return null}}var xl=t=>!t||typeof t!="object"?{}:{...t},ou=t=>t.map(e=>({...e,streaming:!1})),ru=(t,e,n)=>{let o=t?.markdown?Gs(t.markdown):null,r=Xs(t?.sanitize);return t?.postprocessMessage&&r&&t?.sanitize===void 0&&console.warn("[Persona] A custom postprocessMessage is active with the default HTML sanitizer. Tags or attributes not in the built-in allowlist will be stripped. To keep custom HTML, set `sanitize: false` or provide a custom sanitize function."),s=>{let a=s.text??"",l=s.message.rawContent??null;if(e){let c=e.process({text:a,raw:l??a,message:s.message,streaming:s.streaming});c!==null&&(a=c.text,c.persist||(s.message.__skipPersist=!0),c.resubmit&&!s.streaming&&n&&n())}let p=Wn()!==null,d;if(t?.postprocessMessage){let c=t.postprocessMessage({...s,text:a,raw:l??s.text??""});d=r?r(c):c}else if(o){let c=s.streaming?jc(a):a,u=o(c);d=r&&p?r(u):u}else d=Jn(a);return d}};function su(t){let e=m("div","persona-attachment-drop-overlay");t?.background&&e.style.setProperty("--persona-drop-overlay-bg",t.background),t?.backdropBlur!==void 0&&e.style.setProperty("--persona-drop-overlay-blur",t.backdropBlur),t?.border&&e.style.setProperty("--persona-drop-overlay-border",t.border),t?.borderRadius&&e.style.setProperty("--persona-drop-overlay-radius",t.borderRadius),t?.inset&&e.style.setProperty("--persona-drop-overlay-inset",t.inset),t?.labelSize&&e.style.setProperty("--persona-drop-overlay-label-size",t.labelSize),t?.labelColor&&e.style.setProperty("--persona-drop-overlay-label-color",t.labelColor);let n=t?.iconName??"upload",o=t?.iconSize??"48px",r=t?.iconColor??"rgba(59, 130, 246, 0.6)",s=t?.iconStrokeWidth??.5,a=ae(n,o,r,s);if(a&&e.appendChild(a),t?.label){let l=m("span","persona-drop-overlay-label");l.textContent=t.label,e.appendChild(l)}return e}var au=(t,e,n)=>{if(t==null)throw new Error('createAgentExperience: mount must be a non-null HTMLElement (e.g. pass document.getElementById("my-root") after the node exists).');t.id&&!t.getAttribute("data-persona-instance")&&t.setAttribute("data-persona-instance",t.id),t.hasAttribute("data-persona-root")||t.setAttribute("data-persona-root","true");let o=Hd(e),r=hl.getForInstance(o.plugins),{plugin:s,teardown:a}=Dp();o.components&&Fn.registerAll(o.components);let l=Xp(),d=o.persistState===!1?null:o.storageAdapter??Jp(),c={},u=null,w=!1,f=i=>{if(o.onStateLoaded)try{let g=o.onStateLoaded(i);if(g&&typeof g=="object"&&"state"in g){let{state:h,open:b}=g;return b&&(w=!0),h}return g}catch(g){typeof console<"u"&&console.error("[AgentWidget] onStateLoaded hook failed:",g)}return i};if(d?.load)try{let i=d.load();if(i&&typeof i.then=="function")u=i.then(g=>f(g??{messages:[],metadata:{}}));else{let h=f(i??{messages:[],metadata:{}});h.metadata&&(c=xl(h.metadata)),h.messages?.length&&(o={...o,initialMessages:h.messages}),h.artifacts?.length&&(o={...o,initialArtifacts:h.artifacts,initialSelectedArtifactId:h.selectedArtifactId??null})}}catch(i){typeof console<"u"&&console.error("[AgentWidget] Failed to load stored state:",i)}else if(o.onStateLoaded)try{let i=f({messages:[],metadata:{}});i.messages?.length&&(o={...o,initialMessages:i.messages})}catch(i){typeof console<"u"&&console.error("[AgentWidget] onStateLoaded hook failed:",i)}let v=()=>c,x=i=>{c=i({...c})??{},ci()},P=o.actionParsers&&o.actionParsers.length?o.actionParsers:[bl],W=o.actionHandlers&&o.actionHandlers.length?o.actionHandlers:[bs.message,bs.messageAndClick],T=vl({parsers:P,handlers:W,getSessionMetadata:v,updateSessionMetadata:x,emit:l.emit,documentRef:typeof document<"u"?document:null});T.syncFromMetadata();let I=o.launcher?.enabled??!0,H=o.launcher?.autoExpand??!1,q=o.autoFocusInput??!1,U=H,$=I,C=o.layout?.header?.layout,j=!1,J=()=>ds(o),D=()=>I||J(),_=J()?!1:I?H:!0,ce=!1,he=null,Me=()=>{ce=!0,he&&clearTimeout(he),he=setTimeout(()=>{ce&&(typeof console<"u"&&console.warn("[AgentWidget] Resubmit requested but no injection occurred within 10s"),ce=!1)},1e4)},Ce=ru(o,T,Me),te=o.features?.showReasoning??!0,ge=o.features?.showToolCalls??!0,Y=o.features?.showEventStreamToggle??!1,le=o.features?.scrollToBottom??{},Z=o.features?.scrollBehavior??{},ve=`${(typeof o.persistState=="object"?o.persistState?.keyPrefix:void 0)??"persona-"}event-stream`,fe=Y?new gs(ve):null,Te=o.features?.eventStream?.maxEvents??2e3,Ae=Y?new fs(Te,fe):null,ze=Y?new ms:null,Ne=null,Pe=!1,We=null,at=0;fe?.open().then(()=>Ae?.restore()).catch(i=>{o.debug&&console.warn("[AgentWidget] IndexedDB not available for event stream:",i)});let Oe={onCopy:i=>{l.emit("message:copy",i),F?.isClientTokenMode()&&F.submitMessageFeedback(i.id,"copy").catch(g=>{o.debug&&console.error("[AgentWidget] Failed to submit copy feedback:",g)}),o.messageActions?.onCopy?.(i)},onFeedback:i=>{l.emit("message:feedback",i),F?.isClientTokenMode()&&F.submitMessageFeedback(i.messageId,i.type).catch(g=>{o.debug&&console.error("[AgentWidget] Failed to submit feedback:",g)}),o.messageActions?.onFeedback?.(i)}},Xe=o.statusIndicator??{},sn=i=>i==="idle"?Xe.idleText??Rt.idle:i==="connecting"?Xe.connectingText??Rt.connecting:i==="connected"?Xe.connectedText??Rt.connected:i==="error"?Xe.errorText??Rt.error:i==="paused"?Xe.pausedText??Rt.paused:i==="resuming"?Xe.resumingText??Rt.resuming:Rt[i];function Et(i,g,h,b){if(b==="idle"&&h.idleLink){i.textContent="";let S=document.createElement("a");S.href=h.idleLink,S.target="_blank",S.rel="noopener noreferrer",S.textContent=g,S.style.color="inherit",S.style.textDecoration="none",i.appendChild(S)}else i.textContent=g}let ft=Sp({config:o,showClose:D()}),{wrapper:Ee,panel:me,pillRoot:it}=ft.shell,Ie=ft.panelElements,{container:ue,body:ie,messagesWrapper:ye,suggestions:bt,textarea:N,sendButton:ne,sendButtonWrapper:De,composerForm:ke,statusText:M,introTitle:X,introSubtitle:y,closeButton:A,iconHolder:E,headerTitle:R,headerSubtitle:K,header:B,footer:z,actionsRow:re,leftActions:et,rightActions:Re}=Ie,lt=Ie.setSendButtonMode,V=Ie.micButton,$e=Ie.micButtonWrapper,xe=Ie.attachmentButton,Be=Ie.attachmentButtonWrapper,Le=Ie.attachmentInput,Qe=Ie.attachmentPreviewsContainer;ue.classList.add("persona-relative"),ie.classList.add("persona-relative");let io=12,lo=()=>le.label??"",Ka=()=>le.iconName??"arrow-down",ws=()=>le.enabled!==!1,Qt=()=>Z.mode??"anchor-top",On=()=>Qt()==="follow"||Qt()==="anchor-top"&&Sr,kl=()=>Z.anchorTopOffset??16,bu=()=>Z.restorePosition??"bottom",Ll=()=>Z.pauseOnInteraction===!0,Pl=()=>Z.showActivityWhilePinned!==!1,Il=()=>Z.announce===!0,Pt=m("button","persona-scroll-to-bottom-indicator persona-absolute persona-bottom-3 persona-left-1/2 persona-z-10 persona-flex persona-items-center persona-gap-1 persona-text-xs persona-transform persona--translate-x-1/2 persona-cursor-pointer");Pt.type="button",Pt.style.display="none",Pt.setAttribute("data-persona-scroll-to-bottom","true");let hr=m("span","persona-flex persona-items-center"),Ga=m("span",""),co=m("span","");co.setAttribute("data-persona-scroll-to-bottom-count",""),co.style.display="none",Pt.append(hr,Ga,co),ue.appendChild(Pt);let _n=m("div","persona-stream-anchor-spacer");_n.setAttribute("aria-hidden","true"),_n.setAttribute("data-persona-anchor-spacer",""),_n.style.flexShrink="0",_n.style.pointerEvents="none",_n.style.height="0px",ie.appendChild(_n);let po=m("div","persona-sr-only");po.setAttribute("aria-live","polite"),po.setAttribute("aria-atomic","true"),po.setAttribute("role","status"),po.setAttribute("data-persona-live-region",""),Object.assign(po.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"}),ue.appendChild(po);let yr=null,xs=null,Rl=i=>{!Il()||!i||(xs=i,yr===null&&(yr=setTimeout(()=>{yr=null,xs&&Il()&&(po.textContent=xs),xs=null},400)))},Oo=()=>{let g=z.style.display==="none"?0:z.offsetHeight;Pt.style.bottom=`${g+io}px`};Oo();let Wl=()=>{let i=!!lo();Pt.setAttribute("aria-label",lo()||"Jump to latest"),Pt.title=lo(),Pt.setAttribute("data-persona-scroll-to-bottom-has-label",i?"true":"false"),hr.innerHTML="";let g=ae(Ka(),"14px","currentColor",2);g?(hr.appendChild(g),hr.style.display=""):hr.style.display="none",Ga.textContent=lo(),Ga.style.display=i?"":"none"};Wl();let Tt=null,Bl=null,Hl=r.find(i=>i.renderHeader);if(Hl?.renderHeader){let i=Hl.renderHeader({config:o,defaultRenderer:()=>{let g=Ho({config:o,showClose:D()});return ps(ue,g,o),g.header},onClose:()=>mt(!1,"user")});if(i){let g=ue.querySelector(".persona-border-b-persona-divider");g&&(g.replaceWith(i),B=i,ft.header.element=i)}}let Xa=()=>{if(!Ae)return;if(Pe=!0,!Ne&&Ae&&(Ne=$p({buffer:Ae,getFullHistory:()=>Ae.getAllFromStore(),onClose:()=>br(),config:o,plugins:r,getThroughput:()=>ze?.getMetric()??{status:"idle"}})),Ne&&(ie.style.display="none",z.parentNode?.insertBefore(Ne.element,z),Ne.update()),rt){rt.style.boxShadow=`inset 0 0 0 1.5px ${Gt.actionIconColor}`;let g=o.features?.eventStream?.classNames?.toggleButtonActive;g&&g.split(/\s+/).forEach(h=>h&&rt.classList.add(h))}let i=()=>{if(!Pe)return;let g=Date.now();g-at>=200&&(Ne?.update(),at=g),We=requestAnimationFrame(i)};at=0,We=requestAnimationFrame(i),en(),l.emit("eventStream:opened",{timestamp:Date.now()})},br=()=>{if(Pe){if(Pe=!1,Ne&&Ne.element.remove(),ie.style.display="",rt){rt.style.boxShadow="";let i=o.features?.eventStream?.classNames?.toggleButtonActive;i&&i.split(/\s+/).forEach(g=>g&&rt.classList.remove(g))}We!==null&&(cancelAnimationFrame(We),We=null),en(),l.emit("eventStream:closed",{timestamp:Date.now()})}},rt=null;if(Y){let i=o.features?.eventStream?.classNames,g="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"+(i?.toggleButton?" "+i.toggleButton:"");rt=m("button",g),rt.style.width="28px",rt.style.height="28px",rt.style.color=Gt.actionIconColor,rt.type="button",rt.setAttribute("aria-label","Event Stream"),rt.title="Event Stream";let h=ae("activity","18px","currentColor",1.5);h&&rt.appendChild(h);let b=Ie.clearChatButtonWrapper,S=Ie.closeButtonWrapper,k=b||S;k&&k.parentNode===B?B.insertBefore(rt,k):B.appendChild(rt),rt.addEventListener("click",()=>{Pe?br():Xa()})}let vu=i=>{let g=o.attachments;if(!g?.enabled)return;let h=i.querySelector("[data-persona-composer-attachment-previews]")??i.querySelector(".persona-attachment-previews");if(!h){h=m("div","persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2"),h.setAttribute("data-persona-composer-attachment-previews",""),h.style.display="none";let S=i.querySelector("[data-persona-composer-form]");S?.parentNode?S.parentNode.insertBefore(h,S):i.insertBefore(h,i.firstChild)}if(!(i.querySelector("[data-persona-composer-attachment-input]")??i.querySelector('input[type="file"]'))){let S=m("input");S.type="file",S.setAttribute("data-persona-composer-attachment-input",""),S.accept=(g.allowedTypes??Dn).join(","),S.multiple=(g.maxFiles??4)>1,S.style.display="none",S.setAttribute("aria-label",g.buttonTooltipText??"Attach files"),i.appendChild(S)}},Dl=r.find(i=>i.renderComposer);if(Dl?.renderComposer){let i=o.composer,g=Dl.renderComposer({config:o,defaultRenderer:()=>$a({config:o}).footer,onSubmit:h=>{if(!F||F.isStreaming())return;let b=h.trim(),S=Tt?.hasAttachments()??!1;if(!b&&!S)return;pc();let k;S&&(k=[],k.push(...Tt.getContentParts()),b&&k.push(Fi(b))),F.sendMessage(b,{contentParts:k}),S&&Tt.clearAttachments()},streaming:!1,disabled:!1,openAttachmentPicker:()=>{Le?.click()},models:i?.models,selectedModelId:i?.selectedModelId,onModelChange:h=>{o.composer={...o.composer,selectedModelId:h},o.agent&&(o.agent={...o.agent,model:h})},onVoiceToggle:o.voiceRecognition?.enabled===!0?()=>{Bl?.()}:void 0});g&&(ft.replaceComposer(g),z=ft.composer.footer)}let wu=i=>{let g=(...de)=>{for(let oe of de){let we=i.querySelector(oe);if(we)return we}return null},h=i.querySelector("[data-persona-composer-form]"),b=i.querySelector("[data-persona-composer-input]"),S=i.querySelector("[data-persona-composer-submit]"),k=i.querySelector("[data-persona-composer-mic]"),Q=i.querySelector("[data-persona-composer-status]");h&&(ke=h),b&&(N=b),S&&(ne=S),k&&(V=k,$e=k.parentElement),Q&&(M=Q);let O=g("[data-persona-composer-suggestions]",".persona-mb-3.persona-flex.persona-flex-wrap.persona-gap-2");O&&(bt=O);let G=g("[data-persona-composer-attachment-button]",".persona-attachment-button");G&&(xe=G,Be=G.parentElement),Le=g("[data-persona-composer-attachment-input]",'input[type="file"]'),Qe=g("[data-persona-composer-attachment-previews]",".persona-attachment-previews");let se=g("[data-persona-composer-actions]",".persona-widget-composer .persona-flex.persona-items-center.persona-justify-between");se&&(re=se)};vu(z),wu(z);let $n=o.layout?.contentMaxWidth??(J()?o.launcher?.composerBar?.contentMaxWidth??"720px":void 0);if($n&&(ye.style.maxWidth=$n,ye.style.marginLeft="auto",ye.style.marginRight="auto",ye.style.width="100%"),$n&&ke&&!J()&&(ke.style.maxWidth=$n,ke.style.marginLeft="auto",ke.style.marginRight="auto"),$n&&bt&&!J()&&(bt.style.maxWidth=$n,bt.style.marginLeft="auto",bt.style.marginRight="auto"),$n&&Qe&&!J()&&(Qe.style.maxWidth=$n,Qe.style.marginLeft="auto",Qe.style.marginRight="auto"),o.attachments?.enabled&&Le&&Qe){Tt=Yr.fromConfig(o.attachments),Tt.setPreviewsContainer(Qe),Le.addEventListener("change",h=>{let b=h.target;Tt?.handleFileSelect(b.files),b.value=""});let i=o.attachments.dropOverlay,g=su(i);ue.appendChild(g)}(()=>{let i=o.layout?.slots??{},g=b=>{switch(b){case"body-top":return ue.querySelector(".persona-rounded-2xl.persona-bg-persona-surface.persona-p-6")||null;case"messages":return ye;case"footer-top":return bt;case"composer":return ke;case"footer-bottom":return M;default:return null}},h=(b,S)=>{switch(b){case"header-left":case"header-center":case"header-right":if(b==="header-left")B.insertBefore(S,B.firstChild);else if(b==="header-right")B.appendChild(S);else{let k=B.querySelector(".persona-flex-col");k?k.parentNode?.insertBefore(S,k.nextSibling):B.appendChild(S)}break;case"body-top":{let k=ie.querySelector(".persona-rounded-2xl.persona-bg-persona-surface.persona-p-6");k?k.replaceWith(S):ie.insertBefore(S,ie.firstChild);break}case"body-bottom":ie.appendChild(S);break;case"footer-top":bt.replaceWith(S);break;case"footer-bottom":M.replaceWith(S);break;default:break}};for(let[b,S]of Object.entries(i))if(S)try{let k=S({config:o,defaultContent:()=>g(b)});k&&h(b,k)}catch(k){typeof console<"u"&&console.error(`[AgentWidget] Error rendering slot "${b}":`,k)}})();let Nl=i=>{let h=i.target.closest('button[data-expand-header="true"]');if(!h)return;let b=h.closest(".persona-reasoning-bubble, .persona-tool-bubble, .persona-approval-bubble");if(!b)return;let S=b.getAttribute("data-message-id");if(!S)return;let k=h.getAttribute("data-bubble-type");if(k==="reasoning")pr.has(S)?pr.delete(S):pr.add(S),Ep(S,b);else if(k==="tool")ur.has(S)?ur.delete(S):ur.add(S),kp(S,b,o);else if(k==="approval"){let O=((o.approval!==!1?o.approval:void 0)?.detailsDisplay??"collapsed")==="expanded",G=Do.get(S)??O;Do.set(S,!G),Rp(S,b,o)}mo.delete(S)};ye.addEventListener("pointerdown",i=>{i.target.closest('button[data-expand-header="true"]')&&(i.preventDefault(),Nl(i))}),ye.addEventListener("keydown",i=>{let g=i.target;(i.key==="Enter"||i.key===" ")&&g.closest('button[data-expand-header="true"]')&&(i.preventDefault(),Nl(i))}),ye.addEventListener("copy",i=>{let{clipboardData:g}=i;if(!g)return;let h=ye.getRootNode(),b=typeof h.getSelection=="function"?h.getSelection():window.getSelection();if(!b||b.isCollapsed)return;let S=b.toString(),k=ap(S);!k||k===S||(g.setData("text/plain",k),i.preventDefault())});let Qa=new Map,Fl=null,Ol="idle",xu={idle:{icon:"volume-2",label:"Read aloud"},loading:{icon:"loader-circle",label:"Loading\u2026"},playing:{icon:"pause",label:"Pause"},paused:{icon:"play",label:"Resume"}},Cu=(i,g)=>{let{icon:h,label:b}=xu[g];i.setAttribute("aria-label",b),i.title=b,i.setAttribute("aria-pressed",g==="idle"?"false":"true"),i.classList.toggle("persona-message-action-active",g!=="idle"),i.classList.toggle("persona-message-action-loading",g==="loading");let S=ae(h,14,"currentColor",2);S&&(i.innerHTML="",i.appendChild(S))},_l=()=>{ye.querySelectorAll('[data-action="read-aloud"]').forEach(g=>{let b=g.closest("[data-actions-for]")?.getAttribute("data-actions-for")??null;Cu(g,b&&b===Fl?Ol:"idle")})};ye.addEventListener("click",i=>{let h=i.target.closest(".persona-message-action-btn[data-action]");if(!h)return;i.preventDefault(),i.stopPropagation();let b=h.closest("[data-actions-for]");if(!b)return;let S=b.getAttribute("data-actions-for");if(!S)return;let k=h.getAttribute("data-action");if(k==="copy"){let O=F.getMessages().find(G=>G.id===S);if(O&&Oe.onCopy){let G=O.content||"";navigator.clipboard.writeText(G).then(()=>{h.classList.add("persona-message-action-success");let se=ae("check",14,"currentColor",2);se&&(h.innerHTML="",h.appendChild(se)),setTimeout(()=>{h.classList.remove("persona-message-action-success");let de=ae("copy",14,"currentColor",2);de&&(h.innerHTML="",h.appendChild(de))},2e3)}).catch(se=>{typeof console<"u"&&console.error("[AgentWidget] Failed to copy message:",se)}),Oe.onCopy(O)}}else if(k==="read-aloud")F.toggleReadAloud(S);else if(k==="upvote"||k==="downvote"){let O=(Qa.get(S)??null)===k,G=k==="upvote"?"thumbs-up":"thumbs-down";if(O){Qa.delete(S),h.classList.remove("persona-message-action-active");let se=ae(G,14,"currentColor",2);se&&(h.innerHTML="",h.appendChild(se))}else{let se=k==="upvote"?"downvote":"upvote",de=b.querySelector(`[data-action="${se}"]`);if(de){de.classList.remove("persona-message-action-active");let st=ae(se==="upvote"?"thumbs-up":"thumbs-down",14,"currentColor",2);st&&(de.innerHTML="",de.appendChild(st))}Qa.set(S,k),h.classList.add("persona-message-action-active");let oe=ae(G,14,"currentColor",2);oe&&(oe.setAttribute("fill","currentColor"),h.innerHTML="",h.appendChild(oe)),h.classList.remove("persona-message-action-pop"),h.offsetWidth,h.classList.add("persona-message-action-pop");let Ve=F.getMessages().find(ht=>ht.id===S);Ve&&Oe.onFeedback&&Oe.onFeedback({type:k,messageId:Ve.id,message:Ve})}}}),ye.addEventListener("click",i=>{let h=i.target.closest("button[data-approval-action]");if(!h)return;i.preventDefault(),i.stopPropagation();let b=h.closest(".persona-approval-bubble");if(!b)return;let S=b.getAttribute("data-message-id");if(!S)return;let k=h.getAttribute("data-approval-action");if(!k)return;let Q=k==="approve"?"approved":"denied",G=F.getMessages().find(de=>de.id===S);if(!G?.approval)return;let se=b.querySelector("[data-approval-buttons]");se&&se.querySelectorAll("button").forEach(oe=>{oe.disabled=!0,oe.style.opacity="0.5",oe.style.cursor="not-allowed"}),G.approval.toolType==="webmcp"?F.resolveWebMcpApproval(S,Q):F.resolveApproval(G.approval,Q)});let Je=null,vr=null,wr=()=>{},xr="none",Cs=null,fn={artifacts:[],selectedId:null},En=!1,gn=!1,Cr=!1,_o=!1,$l=()=>_o||fn.artifacts.some(i=>Eo(o.features?.artifacts,i.artifactType)==="panel"),As=()=>fn.artifacts.length>0&&!En&&$l(),gt={current:null},Ja=(i,g)=>{let h=F.getArtifactById(g),b=h?.markdown,S=h?.title||"artifact",k=h?.file,Q=h?.artifactType??"markdown";if(!b){let se=i.closest("[data-open-artifact], [data-artifact-inline]")?.closest("[data-message-id]")?.getAttribute("data-message-id");if(se){let oe=F.getMessages().find(we=>we.id===se);if(oe?.rawContent)try{let we=JSON.parse(oe.rawContent);b=we?.props?.markdown,S=we?.props?.title||S,we?.props?.file&&typeof we.props.file=="object"&&(k=we.props.file),!h&&typeof we?.props?.artifactType=="string"&&(Q=we.props.artifactType)}catch{}}}return{markdown:b,title:S,file:k,artifactType:Q}};ye.addEventListener("click",i=>{let h=i.target.closest("[data-download-artifact]");if(!h)return;i.preventDefault(),i.stopPropagation();let b=h.getAttribute("data-download-artifact");if(!b||o.features?.artifacts?.onArtifactAction?.({type:"download",artifactId:b})===!0)return;let{markdown:k,title:Q,file:O}=Ja(h,b);if(!k)return;let{filename:G,mime:se,content:de}=Ud({title:Q,markdown:k,file:O}),oe=new Blob([de],{type:se}),we=URL.createObjectURL(oe),Ve=document.createElement("a");Ve.href=we,Ve.download=G,Ve.click(),URL.revokeObjectURL(we)}),ye.addEventListener("click",i=>{let h=i.target.closest("[data-artifact-custom-action]");if(!h)return;i.preventDefault(),i.stopPropagation();let b=h.getAttribute("data-artifact-custom-action");if(!b)return;let S=h.closest("[data-artifact-inline]"),k=S?null:h.closest("[data-open-artifact]"),Q=S?S.getAttribute("data-artifact-inline"):k?.getAttribute("data-open-artifact")??null,G=(S?o.features?.artifacts?.inlineActions:o.features?.artifacts?.cardActions)?.find(ht=>ht.id===b);if(!G)return;let{markdown:se,title:de,file:oe,artifactType:we}=Ja(h,Q??""),Ve={artifactId:Q,title:de,artifactType:we,markdown:se,file:oe};try{Promise.resolve(G.onClick(Ve)).catch(()=>{})}catch{}}),ye.addEventListener("click",i=>{let h=i.target.closest("[data-copy-artifact]");if(!h)return;i.preventDefault(),i.stopPropagation();let b=h.getAttribute("data-copy-artifact");if(!b)return;let S=F.getArtifactById(b),k="";if(S)k=rs(S);else{let{markdown:Q,file:O,artifactType:G}=Ja(h,b);G==="markdown"&&(k=rs({id:b,artifactType:"markdown",status:"complete",markdown:Q??"",...O?{file:O}:{}}))}k&&navigator.clipboard.writeText(k).then(()=>{let Q=ae("check",16,"currentColor",2);Q&&(h.replaceChildren(Q),setTimeout(()=>{let O=ae("copy",16,"currentColor",2);O&&h.replaceChildren(O)},1500))}).catch(()=>{})}),ye.addEventListener("click",i=>{let h=i.target.closest("[data-expand-artifact-inline]");if(!h)return;i.preventDefault(),i.stopPropagation();let b=h.getAttribute("data-expand-artifact-inline");!b||o.features?.artifacts?.onArtifactAction?.({type:"open",artifactId:b})===!0||(En=!1,_o=!0,gn=!0,Cr=!0,F.selectArtifact(b),kn())}),ye.addEventListener("click",i=>{let g=i.target;if(g.closest("[data-download-artifact]")||g.closest("[data-artifact-custom-action]"))return;let h=g.closest("[data-open-artifact]");if(!h)return;let b=h.getAttribute("data-open-artifact");!b||o.features?.artifacts?.onArtifactAction?.({type:"open",artifactId:b})===!0||(i.preventDefault(),i.stopPropagation(),En=!1,_o=!0,F.selectArtifact(b),kn())}),ye.addEventListener("keydown",i=>{if(i.key!=="Enter"&&i.key!==" ")return;let g=i.target;!g.hasAttribute("data-open-artifact")&&!g.hasAttribute("data-expand-artifact-inline")||(i.preventDefault(),g.click())});let $o=Ie.composerOverlay,Uo=(i,g,h)=>{let b=g.trim();if(!b||!gt.current)return;let S=i.getAttribute("data-tool-call-id")??"",k=h.source==="free-text";t.dispatchEvent(new CustomEvent("persona:askUserQuestion:answered",{detail:{toolUseId:S,answer:b,answers:h.structured,values:h.values??(h.source==="multi"?b.split(", "):[b]),isFreeText:k,source:h.source},bubbles:!0,composed:!0})),tr($o,S);let Q=gt.current.getMessages().find(O=>O.toolCall?.id===S);Q?.agentMetadata?.awaitingLocalTool?gt.current.resolveAskUserQuestion(Q,h.structured??b):gt.current.sendMessage(b)},uo=i=>{let g=gt.current;if(!g)return;let h=i.getAttribute("data-tool-call-id")??"",b=g.getMessages().find(S=>S.toolCall?.id===h);b&&g.persistAskUserQuestionProgress(b,{answers:Zs(i,b),currentIndex:pn(i)})},Ul=i=>Object.entries(i).map(([g,h])=>`${g}: ${Array.isArray(h)?h.join(", "):h}`).join(" | "),Ya=i=>{if(o.features?.askUserQuestion?.groupedAutoAdvance===!1)return;let g=pn(i),h=er(i);if(g>=h-1)return;let b=gt.current?.getMessages().find(S=>S.toolCall?.id===i.getAttribute("data-tool-call-id"));b&&(ta(i,b,o,g+1),uo(i))};$o.addEventListener("click",i=>{let h=i.target.closest("[data-ask-user-action]");if(!h)return;let b=h.closest("[data-persona-ask-sheet-for]");if(!b)return;let S=h.getAttribute("data-ask-user-action");if(i.preventDefault(),i.stopPropagation(),S==="dismiss"){let k=b.getAttribute("data-tool-call-id")??"";t.dispatchEvent(new CustomEvent("persona:askUserQuestion:dismissed",{detail:{toolUseId:k},bubbles:!0,composed:!0})),tr($o,k);let Q=gt.current?.getMessages().find(O=>O.toolCall?.id===k);Q?.agentMetadata?.awaitingLocalTool&&(gt.current?.markAskUserQuestionResolved(Q),gt.current?.resolveAskUserQuestion(Q,"(dismissed)"));return}if(S==="pick"){let k=h.getAttribute("data-option-label");if(!k)return;let Q=b.getAttribute("data-multi-select")==="true",O=Yn(b);if(O&&Q){let G=Po(b)[pn(b)],se=new Set(Array.isArray(G)?G:[]);se.has(k)?se.delete(k):se.add(k),Zn(b,Array.from(se)),uo(b);return}if(O){Zn(b,k),uo(b),Ya(b);return}if(Q){let G=h.getAttribute("aria-pressed")==="true";h.setAttribute("aria-pressed",G?"false":"true"),h.classList.toggle("persona-ask-pill-selected",!G);let se=b.querySelector('[data-ask-user-action="submit-multi"]');se&&(se.disabled=Wi(b).length===0);return}Uo(b,k,{source:"pick",values:[k]});return}if(S==="submit-multi"){let k=Wi(b);if(k.length===0)return;Uo(b,k.join(", "),{source:"multi",values:k});return}if(S==="open-free-text"){let k=b.querySelector('[data-ask-free-text-row="true"]');k&&(k.classList.remove("persona-hidden"),k.querySelector('[data-ask-free-text-input="true"]')?.focus());return}if(S==="focus-free-text"){b.querySelector('[data-ask-free-text-input="true"]')?.focus();return}if(S==="submit-free-text"){let Q=b.querySelector('[data-ask-free-text-input="true"]')?.value??"";if(!Q.trim())return;if(Yn(b)){Zn(b,Q.trim()),uo(b),Ya(b);return}Uo(b,Q,{source:"free-text"});return}if(S==="next"||S==="back"){if(!gt.current)return;let k=b.getAttribute("data-tool-call-id")??"",Q=gt.current.getMessages().find(oe=>oe.toolCall?.id===k);if(!Q)return;let G=b.querySelector('[data-ask-free-text-input="true"]')?.value?.trim()??"";if(G){let oe=Po(b)[pn(b)];(typeof oe!="string"||oe!==G)&&Zn(b,G)}let se=S==="next"?1:-1,de=pn(b)+se;ta(b,Q,o,de),uo(b);return}if(S==="submit-all"){if(!gt.current)return;let k=b.getAttribute("data-tool-call-id")??"",Q=gt.current.getMessages().find(oe=>oe.toolCall?.id===k);if(!Q)return;let G=b.querySelector('[data-ask-free-text-input="true"]')?.value?.trim()??"";G&&Zn(b,G);let se=Zs(b,Q);gt.current.persistAskUserQuestionProgress(Q,{answers:se,currentIndex:pn(b)});let de=Ul(se);Uo(b,de||"(submitted)",{source:"submit-all",structured:se});return}if(S==="skip"){if(!gt.current)return;let k=b.getAttribute("data-tool-call-id")??"",Q=gt.current.getMessages().find(we=>we.toolCall?.id===k);if(!Q)return;let O=Yn(b),G=pn(b),se=er(b),de=G>=se-1;if(!O){t.dispatchEvent(new CustomEvent("persona:askUserQuestion:dismissed",{detail:{toolUseId:k},bubbles:!0,composed:!0})),tr($o,k),Q.agentMetadata?.awaitingLocalTool&&(gt.current.markAskUserQuestionResolved(Q),gt.current.resolveAskUserQuestion(Q,"(dismissed)"));return}Zn(b,"");let oe=b.querySelector('[data-ask-free-text-input="true"]');if(oe&&(oe.value=""),de){let we=Zs(b,Q),Ve=Ul(we);Uo(b,Ve||"(skipped)",{source:"submit-all",structured:we});return}ta(b,Q,o,G+1),uo(b);return}}),$o.addEventListener("keydown",i=>{if(i.key!=="Enter")return;let h=i.target;if(!h.matches?.('[data-ask-free-text-input="true"]'))return;let b=h.closest("[data-persona-ask-sheet-for]");if(!b)return;i.preventDefault();let S=h.value;if(S.trim()){if(Yn(b)){Zn(b,S.trim()),uo(b),Ya(b);return}Uo(b,S,{source:"free-text"})}});let zl=i=>{if(!/^[1-9]$/.test(i.key)||i.metaKey||i.ctrlKey||i.altKey)return;let g=i.target;if(g?.tagName==="INPUT"||g?.tagName==="TEXTAREA"||g?.isContentEditable)return;let h=$o.querySelector("[data-persona-ask-sheet-for]");if(!h||h.getAttribute("data-ask-layout")!=="rows"||h.getAttribute("data-multi-select")==="true")return;let b=Number(i.key),k=h.querySelectorAll('[data-ask-pill-list="true"] [data-ask-user-action="pick"], [data-ask-pill-list="true"] [data-ask-user-action="focus-free-text"]')[b-1];k&&(i.preventDefault(),k.click())};document.addEventListener("keydown",zl);let Un=null,vt=null,Ar=null,Ss=null,Za=()=>{},jl=!1,Ts="",Ms="";function ei(){Ss?.(),Ss=null}let ql=()=>{if(!Un||!vt)return;let i=t.classList.contains("persona-artifact-welded-split"),g=t.ownerDocument.defaultView??window,h=g.innerWidth<=640;if(!i||t.classList.contains("persona-artifact-narrow-host")||h){vt.style.removeProperty("position"),vt.style.removeProperty("left"),vt.style.removeProperty("top"),vt.style.removeProperty("bottom"),vt.style.removeProperty("width"),vt.style.removeProperty("z-index");return}let b=Un.firstElementChild;if(!b||b===vt)return;let S=10;vt.style.position="absolute",vt.style.top="0",vt.style.bottom="0",vt.style.width=`${S}px`,vt.style.zIndex="5";let k=fl(Un,g),Q=b.offsetWidth+k/2-S/2;vt.style.left=`${Math.max(0,Q)}px`},Es=()=>{},Au=()=>{let i=t.ownerDocument.defaultView??window,g=o.launcher?.mobileFullscreen??!0,h=o.launcher?.mobileBreakpoint??640;return!g||i.innerWidth>h?!1:I||Ft(o)},ks=()=>!Xt(o)||!As()||t.classList.contains("persona-artifact-narrow-host")||Au()||(t.ownerDocument.defaultView??window).innerWidth<Kb?"none":ul(o)?"detached":"welded",kn=()=>{if(!Je||!Xt(o))return;hs(t,o),ys(t,o),Es();let i=o.features?.artifacts?.layout?.narrowHostMaxWidth??520,g=me.getBoundingClientRect().width||0;t.classList.toggle("persona-artifact-narrow-host",g>0&&g<=i);let h=As();Je.setVisible(h),Je.update(fn),En?(Je.setMobileOpen(!1),Je.element.classList.add("persona-hidden"),Je.backdrop?.classList.add("persona-hidden"),gn=!1,Cr=!1):fn.artifacts.length>0&&$l()?(Je.element.classList.remove("persona-hidden"),Je.setMobileOpen(!0)):(Je.setMobileOpen(!1),Je.element.classList.add("persona-hidden"),Je.backdrop?.classList.add("persona-hidden"),gn=!1,Cr=!1);let b=o.features?.artifacts?.layout?.showExpandToggle===!0;if(Je.setExpandToggleVisible(b),Je.setCopyButtonVisible(o.features?.artifacts?.layout?.showCopyButton===!0),Je.setCustomActions(o.features?.artifacts?.toolbarActions??[]),Je.setTabFade(o.features?.artifacts?.layout?.tabFade),Je.setRenderTabBar(o.features?.artifacts?.renderTabBar),!b&&!Cr&&(gn=!1),gn!==jl){let k=Je.element;gn?(Ts=k.style.width,Ms=k.style.maxWidth,k.style.removeProperty("width"),k.style.removeProperty("max-width")):(Ts&&(k.style.width=Ts),Ms&&(k.style.maxWidth=Ms),Ts="",Ms=""),jl=gn}t.classList.toggle("persona-artifact-expanded",gn),Je.setExpanded(gn);let S=ks();S!==xr&&(xr=S,wr()),Za()};if(Xt(o)){me.style.position="relative";let i=m("div","persona-flex persona-flex-1 persona-flex-col persona-min-w-0 persona-min-h-0"),g=m("div","persona-flex persona-h-full persona-w-full persona-min-h-0 persona-artifact-split-root");i.appendChild(ue),Je=zp(o,{onSelect:h=>gt.current?.selectArtifact(h),onDismiss:()=>{En=!0,kn()},onToggleExpand:()=>{let h=!gn,b=fn.selectedId??fn.artifacts[fn.artifacts.length-1]?.id??null;o.features?.artifacts?.onArtifactAction?.({type:"expand",artifactId:b,expanded:h})!==!0&&(gn=h,h||(Cr=!1),kn())}}),Je.element.classList.add("persona-hidden"),Un=g,g.appendChild(i),g.appendChild(Je.element),Je.backdrop&&me.appendChild(Je.backdrop),me.appendChild(g),Za=()=>{if(!Un||!Je)return;if(!(o.features?.artifacts?.layout?.resizable===!0)){Ar?.(),Ar=null,ei(),vt&&(vt.remove(),vt=null),Je.element.style.removeProperty("width"),Je.element.style.removeProperty("maxWidth");return}if(!vt){let b=m("div","persona-artifact-split-handle persona-shrink-0 persona-h-full");b.setAttribute("role","separator"),b.setAttribute("aria-orientation","vertical"),b.setAttribute("aria-label","Resize artifacts panel"),b.tabIndex=0;let S=t.ownerDocument,k=S.defaultView??window,Q=O=>{if(!Je||O.button!==0||t.classList.contains("persona-artifact-narrow-host")||t.classList.contains("persona-artifact-expanded")||k.innerWidth<=640)return;O.preventDefault(),ei();let G=O.clientX,se=Je.element.getBoundingClientRect().width,de=o.features?.artifacts?.layout,oe=Ve=>{let ht=Un.getBoundingClientRect().width,st=t.classList.contains("persona-artifact-welded-split"),jt=fl(Un,k),Bt=st?0:b.getBoundingClientRect().width||6,L=se-(Ve.clientX-G),Fe=Kp(L,ht,jt,Bt,de?.resizableMinWidth,de?.resizableMaxWidth);Je.element.style.width=`${Fe}px`,Je.element.style.maxWidth="none",ql()},we=()=>{S.removeEventListener("pointermove",oe),S.removeEventListener("pointerup",we),S.removeEventListener("pointercancel",we),Ss=null;try{b.releasePointerCapture(O.pointerId)}catch{}};Ss=we,S.addEventListener("pointermove",oe),S.addEventListener("pointerup",we),S.addEventListener("pointercancel",we);try{b.setPointerCapture(O.pointerId)}catch{}};b.addEventListener("pointerdown",Q),vt=b,Un.insertBefore(b,Je.element),Ar=()=>{b.removeEventListener("pointerdown",Q)}}if(vt){let b=As();vt.classList.toggle("persona-hidden",!b),ql()}},Es=()=>{if(!I||!Je||(o.launcher?.sidebarMode??!1)||Ft(o)&&un(o).reveal==="emerge")return;let b=t.ownerDocument.defaultView??window,S=o.launcher?.mobileFullscreen??!0,k=o.launcher?.mobileBreakpoint??640;if(S&&b.innerWidth<=k||!Vp(o,I))return;let Q=o.launcher?.width??o.launcherWidth??Nn,O=o.features?.artifacts?.layout?.expandedPanelWidth??"min(720px, calc(100vw - 24px))";As()?(me.style.width=O,me.style.maxWidth=O):(me.style.width=Q,me.style.maxWidth=Q)},typeof ResizeObserver<"u"&&(vr=new ResizeObserver(()=>{kn()}),vr.observe(me))}else me.appendChild(ue);J()&&it&&(Ie.peekBanner&&it.appendChild(Ie.peekBanner),it.appendChild(z)),t.appendChild(Ee),it&&t.appendChild(it);let Ls=()=>{if(J()){me.style.width="100%",me.style.maxWidth="100%";let Lt=o.launcher?.composerBar??{},Jt=Ee.dataset.state==="expanded",zs=Lt.expandedSize??"anchored";if(!(Jt&&zs!=="fullscreen")){ue.style.background="",ue.style.border="",ue.style.borderRadius="",ue.style.overflow="",ue.style.boxShadow="";return}let Hr=o.theme?.components?.panel,js=sr(o),Qo=(Rn,Ao)=>Rn==null||Rn===""?Ao:Kt(js,Rn)??Rn,Dr="1px solid var(--persona-border)",Si="var(--persona-palette-shadows-xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25))",Co="var(--persona-panel-radius, var(--persona-radius-xl, 0.75rem))";ue.style.background="var(--persona-surface, #ffffff)",ue.style.border=Qo(Hr?.border,Dr),ue.style.borderRadius=Qo(Hr?.borderRadius,Co),ue.style.boxShadow=Qo(Hr?.shadow,Si),ue.style.overflow="hidden";return}let i=Ft(o),g=o.launcher?.sidebarMode??!1,h=i||g||(o.launcher?.fullHeight??!1),b=o.launcher?.enabled===!1,S=o.launcher?.detachedPanel===!0,k=o.theme?.components?.panel,Q=sr(o),O=(Lt,Jt)=>Lt==null||Lt===""?Jt:Kt(Q,Lt)??Lt,G=t.ownerDocument.defaultView??window,se=o.launcher?.mobileFullscreen??!0,de=o.launcher?.mobileBreakpoint??640,oe=G.innerWidth<=de,we=se&&oe&&I,Ve=i&&se&&oe,ht=o.launcher?.position??"bottom-left",st=ht==="bottom-left"||ht==="top-left",jt=o.launcher?.zIndex??Ut,Bt="var(--persona-panel-border, 1px solid var(--persona-border))",L="var(--persona-panel-shadow, var(--persona-palette-shadows-xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25)))",Fe="var(--persona-panel-radius, var(--persona-radius-xl, 0.75rem))",Se=S&&!we&&!Ve;Se?t.setAttribute("data-persona-panel-detached","true"):t.removeAttribute("data-persona-panel-detached");let _e=Se?Bt:g||we?"none":Bt,St=Se?L:we?"none":g?st?"var(--persona-palette-shadows-sidebar-left, 2px 0 12px rgba(0, 0, 0, 0.08))":"var(--persona-palette-shadows-sidebar-right, -2px 0 12px rgba(0, 0, 0, 0.08))":b?"none":L;i&&!we&&!Se&&(St="none",_e="none");let pt=Se?Fe:g||we?"0":Fe,xt=O(k?.border,_e),yt=O(k?.shadow,St),_t=O(k?.borderRadius,pt),wo=ks(),ut=wo==="detached",pe=wo==="welded";t.classList.toggle("persona-artifact-detached-split",ut),t.classList.toggle("persona-artifact-welded-split",pe);let Ct="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)))))",ot=(o.features?.artifacts?.layout?.chatSurface==="flush"?"flush":"card")==="flush"&&Xt(o)&&ul(o)&&b&&!i;t.classList.toggle("persona-artifact-chat-flush",ot);let je=ut||ot?"none":yt,Ye=ut?Bt:pe?"none":xt,kt=ut?Fe:_t;ot&&(Ye="none",kt="0");let He=k?.borderRadius!=null&&k.borderRadius!=="",Ze=ot&&!He?"0":_t,tn=ie.scrollTop;t.style.cssText="",Ee.style.cssText="",me.style.cssText="",ue.style.cssText="",ie.style.cssText="",z.style.cssText="",Pe&&(ie.style.display="none");let xo=()=>{if(tn<=0)return;(ie.ownerDocument.defaultView??window).requestAnimationFrame(()=>{if(ie.scrollTop===tn)return;let Jt=ie.scrollHeight-ie.clientHeight;Jt<=0||(ie.scrollTop=Math.min(tn,Jt))})};if(we){Ee.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"),Ee.style.cssText=`
46
+ `,x.addEventListener("click",()=>{u=N,H.forEach((j,q)=>{let J=q<N;j.classList.toggle("selected",J),j.setAttribute("aria-checked",q===N-1?"true":"false")})}),H.push(x),P.appendChild(x)}w.appendChild(P);let E=null;if(p){let N=document.createElement("div");N.className="persona-feedback-comment-container",E=document.createElement("textarea"),E.className="persona-feedback-comment",E.placeholder=s,E.rows=3,E.setAttribute("aria-label","Additional comments"),N.appendChild(E),w.appendChild(N)}let T=document.createElement("div");T.className="persona-feedback-actions";let I=document.createElement("button");I.type="button",I.className="persona-feedback-btn persona-feedback-btn-skip",I.textContent=l,I.addEventListener("click",()=>{n?.(),c.remove()});let z=document.createElement("button");return z.type="button",z.className="persona-feedback-btn persona-feedback-btn-submit",z.textContent=a,z.addEventListener("click",async()=>{if(u===null){P.classList.add("persona-feedback-shake"),setTimeout(()=>P.classList.remove("persona-feedback-shake"),500);return}z.disabled=!0,z.textContent="Submitting...";try{let N=E?.value.trim()||void 0;await e(u,N),c.remove()}catch(N){z.disabled=!1,z.textContent=a,console.error("[CSAT Feedback] Failed to submit:",N)}}),T.appendChild(I),T.appendChild(z),w.appendChild(T),c.appendChild(w),c}function hu(t){let{onSubmit:e,onDismiss:n,title:o="How likely are you to recommend us?",subtitle:r="On a scale of 0 to 10",commentPlaceholder:s="What could we do better? (optional)...",submitText:a="Submit",skipText:l="Skip",showComment:p=!0,lowLabel:d="Not likely",highLabel:c="Very likely"}=t,u=document.createElement("div");u.className="persona-feedback-container persona-feedback-nps",u.setAttribute("role","dialog"),u.setAttribute("aria-label","Net Promoter Score feedback");let w=null,f=document.createElement("div");f.className="persona-feedback-content";let v=document.createElement("div");v.className="persona-feedback-header";let C=document.createElement("h3");C.className="persona-feedback-title",C.textContent=o,v.appendChild(C);let P=document.createElement("p");P.className="persona-feedback-subtitle",P.textContent=r,v.appendChild(P),f.appendChild(v);let H=document.createElement("div");H.className="persona-feedback-rating persona-feedback-rating-nps",H.setAttribute("role","radiogroup"),H.setAttribute("aria-label","Likelihood rating from 0 to 10");let E=document.createElement("div");E.className="persona-feedback-labels";let T=document.createElement("span");T.className="persona-feedback-label-low",T.textContent=d;let I=document.createElement("span");I.className="persona-feedback-label-high",I.textContent=c,E.appendChild(T),E.appendChild(I);let z=document.createElement("div");z.className="persona-feedback-numbers";let N=[];for(let D=0;D<=10;D++){let $=document.createElement("button");$.type="button",$.className="persona-feedback-rating-btn persona-feedback-number-btn",$.setAttribute("role","radio"),$.setAttribute("aria-checked","false"),$.setAttribute("aria-label",`Rating ${D} out of 10`),$.textContent=String(D),$.dataset.rating=String(D),D<=6?$.classList.add("persona-feedback-detractor"):D<=8?$.classList.add("persona-feedback-passive"):$.classList.add("persona-feedback-promoter"),$.addEventListener("click",()=>{w=D,N.forEach((fe,ye)=>{fe.classList.toggle("selected",ye===D),fe.setAttribute("aria-checked",ye===D?"true":"false")})}),N.push($),z.appendChild($)}H.appendChild(E),H.appendChild(z),f.appendChild(H);let x=null;if(p){let D=document.createElement("div");D.className="persona-feedback-comment-container",x=document.createElement("textarea"),x.className="persona-feedback-comment",x.placeholder=s,x.rows=3,x.setAttribute("aria-label","Additional comments"),D.appendChild(x),f.appendChild(D)}let j=document.createElement("div");j.className="persona-feedback-actions";let q=document.createElement("button");q.type="button",q.className="persona-feedback-btn persona-feedback-btn-skip",q.textContent=l,q.addEventListener("click",()=>{n?.(),u.remove()});let J=document.createElement("button");return J.type="button",J.className="persona-feedback-btn persona-feedback-btn-submit",J.textContent=a,J.addEventListener("click",async()=>{if(w===null){z.classList.add("persona-feedback-shake"),setTimeout(()=>z.classList.remove("persona-feedback-shake"),500);return}J.disabled=!0,J.textContent="Submitting...";try{let D=x?.value.trim()||void 0;await e(w,D),u.remove()}catch(D){J.disabled=!1,J.textContent=a,console.error("[NPS Feedback] Failed to submit:",D)}}),j.appendChild(q),j.appendChild(J),f.appendChild(j),u.appendChild(f),u}var hr="persona-chat-history",uy=30*1e3,fy=641,gy={"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 my(t){if(!t)return[];let e=[],n=Array.from(t.items??[]);for(let o of n){if(o.kind!=="file"||!o.type.startsWith("image/"))continue;let r=o.getAsFile();if(!r)continue;if(r.name){e.push(r);continue}let s=gy[r.type]??"png";e.push(new File([r],`clipboard-image-${Date.now()}.${s}`,{type:r.type,lastModified:Date.now()}))}if(e.length>0)return e;for(let o of Array.from(t.files??[]))o.type.startsWith("image/")&&e.push(o);return e}function Ga(t){if(!t)return!1;let e=t.types;return e?typeof e.contains=="function"?e.contains("Files"):Array.from(e).includes("Files"):!1}function hy(t){return t?t===!0?{storage:"session",keyPrefix:"persona-",persist:{openState:!0,voiceState:!0,focusInput:!0},clearOnChatClear:!0}:{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}:null}function yy(t){try{let e=t==="local"?localStorage:sessionStorage,n="__persist_test__";return e.setItem(n,"1"),e.removeItem(n),e}catch{return null}}var El=t=>!t||typeof t!="object"?{}:{...t},yu=t=>t.map(e=>({...e,streaming:!1})),bu=(t,e,n)=>{let o=t?.markdown?Js(t.markdown):null,r=Ys(t?.sanitize);return t?.postprocessMessage&&r&&t?.sanitize===void 0&&console.warn("[Persona] A custom postprocessMessage is active with the default HTML sanitizer. Tags or attributes not in the built-in allowlist will be stripped. To keep custom HTML, set `sanitize: false` or provide a custom sanitize function."),s=>{let a=s.text??"",l=s.message.rawContent??null;if(e){let c=e.process({text:a,raw:l??a,message:s.message,streaming:s.streaming});c!==null&&(a=c.text,c.persist||(s.message.__skipPersist=!0),c.resubmit&&!s.streaming&&n&&n())}let p=Hn()!==null,d;if(t?.postprocessMessage){let c=t.postprocessMessage({...s,text:a,raw:l??s.text??""});d=r?r(c):c}else if(o){let c=s.streaming?Zc(a):a,u=o(c);d=r&&p?r(u):u}else d=Zn(a);return d}};function vu(t){let e=m("div","persona-attachment-drop-overlay");t?.background&&e.style.setProperty("--persona-drop-overlay-bg",t.background),t?.backdropBlur!==void 0&&e.style.setProperty("--persona-drop-overlay-blur",t.backdropBlur),t?.border&&e.style.setProperty("--persona-drop-overlay-border",t.border),t?.borderRadius&&e.style.setProperty("--persona-drop-overlay-radius",t.borderRadius),t?.inset&&e.style.setProperty("--persona-drop-overlay-inset",t.inset),t?.labelSize&&e.style.setProperty("--persona-drop-overlay-label-size",t.labelSize),t?.labelColor&&e.style.setProperty("--persona-drop-overlay-label-color",t.labelColor);let n=t?.iconName??"upload",o=t?.iconSize??"48px",r=t?.iconColor??"rgba(59, 130, 246, 0.6)",s=t?.iconStrokeWidth??.5,a=ne(n,o,r,s);if(a&&e.appendChild(a),t?.label){let l=m("span","persona-drop-overlay-label");l.textContent=t.label,e.appendChild(l)}return e}var by=(t,e)=>{let n={...t};for(let[o,r]of Object.entries(e)){let s=n[o];n[o]=s?{...s,...r}:r}return n},vy=t=>t.reduce((e,n)=>({blocks:[...e.blocks,...n.blocks],contentParts:[...e.contentParts,...n.contentParts],context:by(e.context,n.context)}),{blocks:[],contentParts:[],context:{}}),wu=(t,e,n)=>{if(t==null)throw new Error('createAgentExperience: mount must be a non-null HTMLElement (e.g. pass document.getElementById("my-root") after the node exists).');t.id&&!t.getAttribute("data-persona-instance")&&t.setAttribute("data-persona-instance",t.id),t.hasAttribute("data-persona-root")||t.setAttribute("data-persona-root","true");let o=ha(e),r=Cl.getForInstance(o.plugins),{plugin:s,teardown:a}=Kp();o.components&&_n.registerAll(o.components);let l=cu(),d=o.persistState===!1?null:o.storageAdapter??pu(),c={},u=null,w=!1,f=i=>{if(o.onStateLoaded)try{let g=o.onStateLoaded(i);if(g&&typeof g=="object"&&"state"in g){let{state:h,open:b}=g;return b&&(w=!0),h}return g}catch(g){typeof console<"u"&&console.error("[AgentWidget] onStateLoaded hook failed:",g)}return i};if(d?.load)try{let i=d.load();if(i&&typeof i.then=="function")u=i.then(g=>f(g??{messages:[],metadata:{}}));else{let h=f(i??{messages:[],metadata:{}});h.metadata&&(c=El(h.metadata)),h.messages?.length&&(o={...o,initialMessages:h.messages}),h.artifacts?.length&&(o={...o,initialArtifacts:h.artifacts,initialSelectedArtifactId:h.selectedArtifactId??null})}}catch(i){typeof console<"u"&&console.error("[AgentWidget] Failed to load stored state:",i)}else if(o.onStateLoaded)try{let i=f({messages:[],metadata:{}});i.messages?.length&&(o={...o,initialMessages:i.messages})}catch(i){typeof console<"u"&&console.error("[AgentWidget] onStateLoaded hook failed:",i)}let v=()=>c,C=i=>{c=i({...c})??{},ui()},P=o.actionParsers&&o.actionParsers.length?o.actionParsers:[Sl],H=o.actionHandlers&&o.actionHandlers.length?o.actionHandlers:[Cs.message,Cs.messageAndClick],E=Tl({parsers:P,handlers:H,getSessionMetadata:v,updateSessionMetadata:C,emit:l.emit,documentRef:typeof document<"u"?document:null});E.syncFromMetadata();let T=o.launcher?.enabled??!0,I=o.launcher?.autoExpand??!1,z=o.autoFocusInput??!1,N=I,x=T,j=o.layout?.header?.layout,q=!1,J=()=>gs(o),D=()=>T||J(),$=J()?!1:T?I:!0,fe=!1,ye=null,Le=()=>{fe=!0,ye&&clearTimeout(ye),ye=setTimeout(()=>{fe&&(typeof console<"u"&&console.warn("[AgentWidget] Resubmit requested but no injection occurred within 10s"),fe=!1)},1e4)},Ce=bu(o,E,Le),te=o.features?.showReasoning??!0,ge=o.features?.showToolCalls??!0,Y=o.features?.showEventStreamToggle??!1,ae=o.features?.scrollToBottom??{},Z=o.features?.scrollBehavior??{},we=`${(typeof o.persistState=="object"?o.persistState?.keyPrefix:void 0)??"persona-"}event-stream`,ue=Y?new bs(we):null,Te=o.features?.eventStream?.maxEvents??2e3,Ae=Y?new ys(Te,ue):null,ze=Y?new vs:null,Ne=null,it=!1,Je=null,Re=0;ue?.open().then(()=>Ae?.restore()).catch(i=>{o.debug&&console.warn("[AgentWidget] IndexedDB not available for event stream:",i)});let Me={onCopy:i=>{l.emit("message:copy",i),_?.isClientTokenMode()&&_.submitMessageFeedback(i.id,"copy").catch(g=>{o.debug&&console.error("[AgentWidget] Failed to submit copy feedback:",g)}),o.messageActions?.onCopy?.(i)},onFeedback:i=>{l.emit("message:feedback",i),_?.isClientTokenMode()&&_.submitMessageFeedback(i.messageId,i.type).catch(g=>{o.debug&&console.error("[AgentWidget] Failed to submit feedback:",g)}),o.messageActions?.onFeedback?.(i)}},Ye=o.statusIndicator??{},sn=i=>i==="idle"?Ye.idleText??It.idle:i==="connecting"?Ye.connectingText??It.connecting:i==="connected"?Ye.connectedText??It.connected:i==="error"?Ye.errorText??It.error:i==="paused"?Ye.pausedText??It.paused:i==="resuming"?Ye.resumingText??It.resuming:It[i];function Mt(i,g,h,b){if(b==="idle"&&h.idleLink){i.textContent="";let S=document.createElement("a");S.href=h.idleLink,S.target="_blank",S.rel="noopener noreferrer",S.textContent=g,S.style.color="inherit",S.style.textDecoration="none",i.appendChild(S)}else i.textContent=g}let yt=Hp({config:o,showClose:D()}),{wrapper:We,panel:me,pillRoot:Qe}=yt.shell,Pe=yt.panelElements,{container:pe,body:ie,messagesWrapper:be,suggestions:bt,textarea:he,sendButton:de,sendButtonWrapper:fn,composerForm:X,statusText:M,introTitle:F,introSubtitle:y,closeButton:A,iconHolder:k,headerTitle:W,headerSubtitle:V,header:B,footer:U,actionsRow:oe,rightActions:Ke}=Pe,Ee=Pe.leftActions,lt=Pe.setSendButtonMode,K=Pe.micButton,_e=Pe.micButtonWrapper,ke=Pe.attachmentButton,Be=Pe.attachmentButtonWrapper,Ie=Pe.attachmentInput,Ze=Pe.attachmentPreviewsContainer;pe.classList.add("persona-relative"),ie.classList.add("persona-relative");let co=12,po=()=>ae.label??"",Xa=()=>ae.iconName??"arrow-down",Ss=()=>ae.enabled!==!1,Qt=()=>Z.mode??"anchor-top",$n=()=>Qt()==="follow"||Qt()==="anchor-top"&&Mr,Bl=()=>Z.anchorTopOffset??16,Ru=()=>Z.restorePosition??"bottom",Hl=()=>Z.pauseOnInteraction===!0,Dl=()=>Z.showActivityWhilePinned!==!1,Nl=()=>Z.announce===!0,Lt=m("button","persona-scroll-to-bottom-indicator persona-absolute persona-bottom-3 persona-left-1/2 persona-z-10 persona-flex persona-items-center persona-gap-1 persona-text-xs persona-transform persona--translate-x-1/2 persona-cursor-pointer");Lt.type="button",Lt.style.display="none",Lt.setAttribute("data-persona-scroll-to-bottom","true");let br=m("span","persona-flex persona-items-center"),Ja=m("span",""),uo=m("span","");uo.setAttribute("data-persona-scroll-to-bottom-count",""),uo.style.display="none",Lt.append(br,Ja,uo),pe.appendChild(Lt);let zn=m("div","persona-stream-anchor-spacer");zn.setAttribute("aria-hidden","true"),zn.setAttribute("data-persona-anchor-spacer",""),zn.style.flexShrink="0",zn.style.pointerEvents="none",zn.style.height="0px",ie.appendChild(zn);let fo=m("div","persona-sr-only");fo.setAttribute("aria-live","polite"),fo.setAttribute("aria-atomic","true"),fo.setAttribute("role","status"),fo.setAttribute("data-persona-live-region",""),Object.assign(fo.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"}),pe.appendChild(fo);let vr=null,Ts=null,Fl=i=>{!Nl()||!i||(Ts=i,vr===null&&(vr=setTimeout(()=>{vr=null,Ts&&Nl()&&(fo.textContent=Ts),Ts=null},400)))},Fo=()=>{let g=U.style.display==="none"?0:U.offsetHeight;Lt.style.bottom=`${g+co}px`};Fo();let Ol=()=>{let i=!!po();Lt.setAttribute("aria-label",po()||"Jump to latest"),Lt.title=po(),Lt.setAttribute("data-persona-scroll-to-bottom-has-label",i?"true":"false"),br.innerHTML="";let g=ne(Xa(),"14px","currentColor",2);g?(br.appendChild(g),br.style.display=""):br.style.display="none",Ja.textContent=po(),Ja.style.display=i?"":"none"};Ol();let St=null,Yt=null,_l=null,$l=r.find(i=>i.renderHeader);if($l?.renderHeader){let i=$l.renderHeader({config:o,defaultRenderer:()=>{let g=Bo({config:o,showClose:D()});return ms(pe,g,o),g.header},onClose:()=>ft(!1,"user")});if(i){let g=pe.querySelector(".persona-border-b-persona-divider");g&&(g.replaceWith(i),B=i,yt.header.element=i)}}let Ya=()=>{if(!Ae)return;if(it=!0,!Ne&&Ae&&(Ne=Yp({buffer:Ae,getFullHistory:()=>Ae.getAllFromStore(),onClose:()=>wr(),config:o,plugins:r,getThroughput:()=>ze?.getMetric()??{status:"idle"}})),Ne&&(ie.style.display="none",U.parentNode?.insertBefore(Ne.element,U),Ne.update()),st){st.style.boxShadow=`inset 0 0 0 1.5px ${Kt.actionIconColor}`;let g=o.features?.eventStream?.classNames?.toggleButtonActive;g&&g.split(/\s+/).forEach(h=>h&&st.classList.add(h))}let i=()=>{if(!it)return;let g=Date.now();g-Re>=200&&(Ne?.update(),Re=g),Je=requestAnimationFrame(i)};Re=0,Je=requestAnimationFrame(i),en(),l.emit("eventStream:opened",{timestamp:Date.now()})},wr=()=>{if(it){if(it=!1,Ne&&Ne.element.remove(),ie.style.display="",st){st.style.boxShadow="";let i=o.features?.eventStream?.classNames?.toggleButtonActive;i&&i.split(/\s+/).forEach(g=>g&&st.classList.remove(g))}Je!==null&&(cancelAnimationFrame(Je),Je=null),en(),l.emit("eventStream:closed",{timestamp:Date.now()})}},st=null;if(Y){let i=o.features?.eventStream?.classNames,g="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"+(i?.toggleButton?" "+i.toggleButton:"");st=m("button",g),st.style.width="28px",st.style.height="28px",st.style.color=Kt.actionIconColor,st.type="button",st.setAttribute("aria-label","Event Stream"),st.title="Event Stream";let h=ne("activity","18px","currentColor",1.5);h&&st.appendChild(h);let b=Pe.clearChatButtonWrapper,S=Pe.closeButtonWrapper,L=b||S;L&&L.parentNode===B?B.insertBefore(st,L):B.appendChild(st),st.addEventListener("click",()=>{it?wr():Ya()})}let Wu=i=>{let g=o.attachments;if(!g?.enabled)return;let h=i.querySelector("[data-persona-composer-attachment-previews]")??i.querySelector(".persona-attachment-previews");if(!h){h=m("div","persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2"),h.setAttribute("data-persona-composer-attachment-previews",""),h.style.display="none";let S=i.querySelector("[data-persona-composer-form]");S?.parentNode?S.parentNode.insertBefore(h,S):i.insertBefore(h,i.firstChild)}if(!(i.querySelector("[data-persona-composer-attachment-input]")??i.querySelector('input[type="file"]'))){let S=m("input");S.type="file",S.setAttribute("data-persona-composer-attachment-input",""),S.accept=(g.allowedTypes??Fn).join(","),S.multiple=(g.maxFiles??4)>1,S.style.display="none",S.setAttribute("aria-label",g.buttonTooltipText??"Attach files"),i.appendChild(S)}},zl=r.find(i=>i.renderComposer);if(zl?.renderComposer){let i=o.composer,g=zl.renderComposer({config:o,defaultRenderer:()=>ja({config:o}).footer,onSubmit:h=>{if(!_||_.isStreaming())return;let b=h.trim(),S=St?.hasAttachments()??!1;if(!b&&!S)return;yc();let L;S&&(L=[],L.push(...St.getContentParts()),b&&L.push(or(b))),_.sendMessage(b,{contentParts:L}),S&&St.clearAttachments()},streaming:!1,disabled:!1,openAttachmentPicker:()=>{Ie?.click()},models:i?.models,selectedModelId:i?.selectedModelId,onModelChange:h=>{o.composer={...o.composer,selectedModelId:h},o.agent&&(o.agent={...o.agent,model:h})},onVoiceToggle:o.voiceRecognition?.enabled===!0?()=>{_l?.()}:void 0});g&&(yt.replaceComposer(g),U=yt.composer.footer)}let Bu=i=>{let g=(...le)=>{for(let se of le){let xe=i.querySelector(se);if(xe)return xe}return null},h=i.querySelector("[data-persona-composer-form]"),b=i.querySelector("[data-persona-composer-input]"),S=i.querySelector("[data-persona-composer-submit]"),L=i.querySelector("[data-persona-composer-mic]"),Q=i.querySelector("[data-persona-composer-status]");h&&(X=h),b&&(he=b),S&&(de=S),L&&(K=L,_e=L.parentElement),Q&&(M=Q);let O=g("[data-persona-composer-suggestions]",".persona-mb-3.persona-flex.persona-flex-wrap.persona-gap-2");O&&(bt=O);let G=g("[data-persona-composer-attachment-button]",".persona-attachment-button");G&&(ke=G,Be=G.parentElement),Ie=g("[data-persona-composer-attachment-input]",'input[type="file"]'),Ze=g("[data-persona-composer-attachment-previews]",".persona-attachment-previews");let re=g("[data-persona-composer-actions]",".persona-widget-composer .persona-flex.persona-items-center.persona-justify-between");re&&(oe=re),Ee=g(".persona-widget-composer__left-actions")};Wu(U),Bu(U);let Un=o.layout?.contentMaxWidth??(J()?o.launcher?.composerBar?.contentMaxWidth??"720px":void 0);if(Un&&(be.style.maxWidth=Un,be.style.marginLeft="auto",be.style.marginRight="auto",be.style.width="100%"),Un&&X&&!J()&&(X.style.maxWidth=Un,X.style.marginLeft="auto",X.style.marginRight="auto"),Un&&bt&&!J()&&(bt.style.maxWidth=Un,bt.style.marginLeft="auto",bt.style.marginRight="auto"),Un&&Ze&&!J()&&(Ze.style.maxWidth=Un,Ze.style.marginLeft="auto",Ze.style.marginRight="auto"),o.attachments?.enabled&&Ie&&Ze){St=ts.fromConfig(o.attachments),St.setPreviewsContainer(Ze),Ie.addEventListener("change",h=>{let b=h.target;St?.handleFileSelect(b.files),b.value=""});let i=o.attachments.dropOverlay,g=vu(i);pe.appendChild(g)}let Hu=()=>Yt?.prefetch();if(o.contextMentions?.enabled&&he&&(Yt=Ud({config:o,textarea:he,anchor:X??he,getMessages:()=>_.getMessages(),liveRegionHost:pe}),Yt)){let i=he;i.parentElement?.insertBefore(Yt.contextRow,i);let g=Yt.affordanceButtons;for(let h=g.length-1;h>=0;h--){let b=g[h];Ee?Ee.insertBefore(b,Ee.firstChild):X?.appendChild(b)}}(()=>{let i=o.layout?.slots??{},g=b=>{switch(b){case"body-top":return pe.querySelector(".persona-rounded-2xl.persona-bg-persona-surface.persona-p-6")||null;case"messages":return be;case"footer-top":return bt;case"composer":return X;case"footer-bottom":return M;default:return null}},h=(b,S)=>{switch(b){case"header-left":case"header-center":case"header-right":if(b==="header-left")B.insertBefore(S,B.firstChild);else if(b==="header-right")B.appendChild(S);else{let L=B.querySelector(".persona-flex-col");L?L.parentNode?.insertBefore(S,L.nextSibling):B.appendChild(S)}break;case"body-top":{let L=ie.querySelector(".persona-rounded-2xl.persona-bg-persona-surface.persona-p-6");L?L.replaceWith(S):ie.insertBefore(S,ie.firstChild);break}case"body-bottom":ie.appendChild(S);break;case"footer-top":bt.replaceWith(S);break;case"footer-bottom":M.replaceWith(S);break;default:break}};for(let[b,S]of Object.entries(i))if(S)try{let L=S({config:o,defaultContent:()=>g(b)});L&&h(b,L)}catch(L){typeof console<"u"&&console.error(`[AgentWidget] Error rendering slot "${b}":`,L)}})();let Ul=i=>{let h=i.target.closest('button[data-expand-header="true"]');if(!h)return;let b=h.closest(".persona-reasoning-bubble, .persona-tool-bubble, .persona-approval-bubble");if(!b)return;let S=b.getAttribute("data-message-id");if(!S)return;let L=h.getAttribute("data-bubble-type");if(L==="reasoning")fr.has(S)?fr.delete(S):fr.add(S),_p(S,b);else if(L==="tool")gr.has(S)?gr.delete(S):gr.add(S),$p(S,b,o);else if(L==="approval"){let O=((o.approval!==!1?o.approval:void 0)?.detailsDisplay??"collapsed")==="expanded",G=Ho.get(S)??O;Ho.set(S,!G),qp(S,b,o)}yo.delete(S)};be.addEventListener("pointerdown",i=>{i.target.closest('button[data-expand-header="true"]')&&(i.preventDefault(),Ul(i))}),be.addEventListener("keydown",i=>{let g=i.target;(i.key==="Enter"||i.key===" ")&&g.closest('button[data-expand-header="true"]')&&(i.preventDefault(),Ul(i))}),be.addEventListener("copy",i=>{let{clipboardData:g}=i;if(!g)return;let h=be.getRootNode(),b=typeof h.getSelection=="function"?h.getSelection():window.getSelection();if(!b||b.isCollapsed)return;let S=b.toString(),L=yp(S);!L||L===S||(g.setData("text/plain",L),i.preventDefault())});let Za=new Map,jl=null,ql="idle",Du={idle:{icon:"volume-2",label:"Read aloud"},loading:{icon:"loader-circle",label:"Loading\u2026"},playing:{icon:"pause",label:"Pause"},paused:{icon:"play",label:"Resume"}},Nu=(i,g)=>{let{icon:h,label:b}=Du[g];i.setAttribute("aria-label",b),i.title=b,i.setAttribute("aria-pressed",g==="idle"?"false":"true"),i.classList.toggle("persona-message-action-active",g!=="idle"),i.classList.toggle("persona-message-action-loading",g==="loading");let S=ne(h,14,"currentColor",2);S&&(i.innerHTML="",i.appendChild(S))},Vl=()=>{be.querySelectorAll('[data-action="read-aloud"]').forEach(g=>{let b=g.closest("[data-actions-for]")?.getAttribute("data-actions-for")??null;Nu(g,b&&b===jl?ql:"idle")})};be.addEventListener("click",i=>{let h=i.target.closest(".persona-message-action-btn[data-action]");if(!h)return;i.preventDefault(),i.stopPropagation();let b=h.closest("[data-actions-for]");if(!b)return;let S=b.getAttribute("data-actions-for");if(!S)return;let L=h.getAttribute("data-action");if(L==="copy"){let O=_.getMessages().find(G=>G.id===S);if(O&&Me.onCopy){let G=O.content||"";navigator.clipboard.writeText(G).then(()=>{h.classList.add("persona-message-action-success");let re=ne("check",14,"currentColor",2);re&&(h.innerHTML="",h.appendChild(re)),setTimeout(()=>{h.classList.remove("persona-message-action-success");let le=ne("copy",14,"currentColor",2);le&&(h.innerHTML="",h.appendChild(le))},2e3)}).catch(re=>{typeof console<"u"&&console.error("[AgentWidget] Failed to copy message:",re)}),Me.onCopy(O)}}else if(L==="read-aloud")_.toggleReadAloud(S);else if(L==="upvote"||L==="downvote"){let O=(Za.get(S)??null)===L,G=L==="upvote"?"thumbs-up":"thumbs-down";if(O){Za.delete(S),h.classList.remove("persona-message-action-active");let re=ne(G,14,"currentColor",2);re&&(h.innerHTML="",h.appendChild(re))}else{let re=L==="upvote"?"downvote":"upvote",le=b.querySelector(`[data-action="${re}"]`);if(le){le.classList.remove("persona-message-action-active");let at=ne(re==="upvote"?"thumbs-up":"thumbs-down",14,"currentColor",2);at&&(le.innerHTML="",le.appendChild(at))}Za.set(S,L),h.classList.add("persona-message-action-active");let se=ne(G,14,"currentColor",2);se&&(se.setAttribute("fill","currentColor"),h.innerHTML="",h.appendChild(se)),h.classList.remove("persona-message-action-pop"),h.offsetWidth,h.classList.add("persona-message-action-pop");let Ve=_.getMessages().find(gt=>gt.id===S);Ve&&Me.onFeedback&&Me.onFeedback({type:L,messageId:Ve.id,message:Ve})}}}),be.addEventListener("click",i=>{let h=i.target.closest("button[data-approval-action]");if(!h)return;i.preventDefault(),i.stopPropagation();let b=h.closest(".persona-approval-bubble");if(!b)return;let S=b.getAttribute("data-message-id");if(!S)return;let L=h.getAttribute("data-approval-action");if(!L)return;let Q=L==="approve"?"approved":"denied",G=_.getMessages().find(le=>le.id===S);if(!G?.approval)return;let re=b.querySelector("[data-approval-buttons]");re&&re.querySelectorAll("button").forEach(se=>{se.disabled=!0,se.style.opacity="0.5",se.style.cursor="not-allowed"}),G.approval.toolType==="webmcp"?_.resolveWebMcpApproval(S,Q):_.resolveApproval(G.approval,Q)});let et=null,xr=null,Cr=()=>{},Ar="none",Ms=null,gn={artifacts:[],selectedId:null},kn=!1,mn=!1,Sr=!1,Oo=!1,Kl=()=>Oo||gn.artifacts.some(i=>ko(o.features?.artifacts,i.artifactType)==="panel"),Es=()=>gn.artifacts.length>0&&!kn&&Kl(),ut={current:null},ei=(i,g)=>{let h=_.getArtifactById(g),b=h?.markdown,S=h?.title||"artifact",L=h?.file,Q=h?.artifactType??"markdown";if(!b){let re=i.closest("[data-open-artifact], [data-artifact-inline]")?.closest("[data-message-id]")?.getAttribute("data-message-id");if(re){let se=_.getMessages().find(xe=>xe.id===re);if(se?.rawContent)try{let xe=JSON.parse(se.rawContent);b=xe?.props?.markdown,S=xe?.props?.title||S,xe?.props?.file&&typeof xe.props.file=="object"&&(L=xe.props.file),!h&&typeof xe?.props?.artifactType=="string"&&(Q=xe.props.artifactType)}catch{}}}return{markdown:b,title:S,file:L,artifactType:Q}};be.addEventListener("click",i=>{let h=i.target.closest("[data-download-artifact]");if(!h)return;i.preventDefault(),i.stopPropagation();let b=h.getAttribute("data-download-artifact");if(!b||o.features?.artifacts?.onArtifactAction?.({type:"download",artifactId:b})===!0)return;let{markdown:L,title:Q,file:O}=ei(h,b);if(!L)return;let{filename:G,mime:re,content:le}=Zd({title:Q,markdown:L,file:O}),se=new Blob([le],{type:re}),xe=URL.createObjectURL(se),Ve=document.createElement("a");Ve.href=xe,Ve.download=G,Ve.click(),URL.revokeObjectURL(xe)}),be.addEventListener("click",i=>{let h=i.target.closest("[data-artifact-custom-action]");if(!h)return;i.preventDefault(),i.stopPropagation();let b=h.getAttribute("data-artifact-custom-action");if(!b)return;let S=h.closest("[data-artifact-inline]"),L=S?null:h.closest("[data-open-artifact]"),Q=S?S.getAttribute("data-artifact-inline"):L?.getAttribute("data-open-artifact")??null,G=(S?o.features?.artifacts?.inlineActions:o.features?.artifacts?.cardActions)?.find(gt=>gt.id===b);if(!G)return;let{markdown:re,title:le,file:se,artifactType:xe}=ei(h,Q??""),Ve={artifactId:Q,title:le,artifactType:xe,markdown:re,file:se};try{Promise.resolve(G.onClick(Ve)).catch(()=>{})}catch{}}),be.addEventListener("click",i=>{let h=i.target.closest("[data-copy-artifact]");if(!h)return;i.preventDefault(),i.stopPropagation();let b=h.getAttribute("data-copy-artifact");if(!b)return;let S=_.getArtifactById(b),L="";if(S)L=ls(S);else{let{markdown:Q,file:O,artifactType:G}=ei(h,b);G==="markdown"&&(L=ls({id:b,artifactType:"markdown",status:"complete",markdown:Q??"",...O?{file:O}:{}}))}L&&navigator.clipboard.writeText(L).then(()=>{let Q=ne("check",16,"currentColor",2);Q&&(h.replaceChildren(Q),setTimeout(()=>{let O=ne("copy",16,"currentColor",2);O&&h.replaceChildren(O)},1500))}).catch(()=>{})}),be.addEventListener("click",i=>{let h=i.target.closest("[data-expand-artifact-inline]");if(!h)return;i.preventDefault(),i.stopPropagation();let b=h.getAttribute("data-expand-artifact-inline");!b||o.features?.artifacts?.onArtifactAction?.({type:"open",artifactId:b})===!0||(kn=!1,Oo=!0,mn=!0,Sr=!0,_.selectArtifact(b),Ln())}),be.addEventListener("click",i=>{let g=i.target;if(g.closest("[data-download-artifact]")||g.closest("[data-artifact-custom-action]"))return;let h=g.closest("[data-open-artifact]");if(!h)return;let b=h.getAttribute("data-open-artifact");!b||o.features?.artifacts?.onArtifactAction?.({type:"open",artifactId:b})===!0||(i.preventDefault(),i.stopPropagation(),kn=!1,Oo=!0,_.selectArtifact(b),Ln())}),be.addEventListener("keydown",i=>{if(i.key!=="Enter"&&i.key!==" ")return;let g=i.target;!g.hasAttribute("data-open-artifact")&&!g.hasAttribute("data-expand-artifact-inline")||(i.preventDefault(),g.click())});let _o=Pe.composerOverlay,$o=(i,g,h)=>{let b=g.trim();if(!b||!ut.current)return;let S=i.getAttribute("data-tool-call-id")??"",L=h.source==="free-text";t.dispatchEvent(new CustomEvent("persona:askUserQuestion:answered",{detail:{toolUseId:S,answer:b,answers:h.structured,values:h.values??(h.source==="multi"?b.split(", "):[b]),isFreeText:L,source:h.source},bubbles:!0,composed:!0})),tr(_o,S);let Q=ut.current.getMessages().find(O=>O.toolCall?.id===S);Q?.agentMetadata?.awaitingLocalTool?ut.current.resolveAskUserQuestion(Q,h.structured??b):ut.current.sendMessage(b)},go=i=>{let g=ut.current;if(!g)return;let h=i.getAttribute("data-tool-call-id")??"",b=g.getMessages().find(S=>S.toolCall?.id===h);b&&g.persistAskUserQuestionProgress(b,{answers:na(i,b),currentIndex:pn(i)})},Gl=i=>Object.entries(i).map(([g,h])=>`${g}: ${Array.isArray(h)?h.join(", "):h}`).join(" | "),ti=i=>{if(o.features?.askUserQuestion?.groupedAutoAdvance===!1)return;let g=pn(i),h=er(i);if(g>=h-1)return;let b=ut.current?.getMessages().find(S=>S.toolCall?.id===i.getAttribute("data-tool-call-id"));b&&(ra(i,b,o,g+1),go(i))};_o.addEventListener("click",i=>{let h=i.target.closest("[data-ask-user-action]");if(!h)return;let b=h.closest("[data-persona-ask-sheet-for]");if(!b)return;let S=h.getAttribute("data-ask-user-action");if(i.preventDefault(),i.stopPropagation(),S==="dismiss"){let L=b.getAttribute("data-tool-call-id")??"";t.dispatchEvent(new CustomEvent("persona:askUserQuestion:dismissed",{detail:{toolUseId:L},bubbles:!0,composed:!0})),tr(_o,L);let Q=ut.current?.getMessages().find(O=>O.toolCall?.id===L);Q?.agentMetadata?.awaitingLocalTool&&(ut.current?.markAskUserQuestionResolved(Q),ut.current?.resolveAskUserQuestion(Q,"(dismissed)"));return}if(S==="pick"){let L=h.getAttribute("data-option-label");if(!L)return;let Q=b.getAttribute("data-multi-select")==="true",O=eo(b);if(O&&Q){let G=Po(b)[pn(b)],re=new Set(Array.isArray(G)?G:[]);re.has(L)?re.delete(L):re.add(L),to(b,Array.from(re)),go(b);return}if(O){to(b,L),go(b),ti(b);return}if(Q){let G=h.getAttribute("aria-pressed")==="true";h.setAttribute("aria-pressed",G?"false":"true"),h.classList.toggle("persona-ask-pill-selected",!G);let re=b.querySelector('[data-ask-user-action="submit-multi"]');re&&(re.disabled=Fi(b).length===0);return}$o(b,L,{source:"pick",values:[L]});return}if(S==="submit-multi"){let L=Fi(b);if(L.length===0)return;$o(b,L.join(", "),{source:"multi",values:L});return}if(S==="open-free-text"){let L=b.querySelector('[data-ask-free-text-row="true"]');L&&(L.classList.remove("persona-hidden"),L.querySelector('[data-ask-free-text-input="true"]')?.focus());return}if(S==="focus-free-text"){b.querySelector('[data-ask-free-text-input="true"]')?.focus();return}if(S==="submit-free-text"){let Q=b.querySelector('[data-ask-free-text-input="true"]')?.value??"";if(!Q.trim())return;if(eo(b)){to(b,Q.trim()),go(b),ti(b);return}$o(b,Q,{source:"free-text"});return}if(S==="next"||S==="back"){if(!ut.current)return;let L=b.getAttribute("data-tool-call-id")??"",Q=ut.current.getMessages().find(se=>se.toolCall?.id===L);if(!Q)return;let G=b.querySelector('[data-ask-free-text-input="true"]')?.value?.trim()??"";if(G){let se=Po(b)[pn(b)];(typeof se!="string"||se!==G)&&to(b,G)}let re=S==="next"?1:-1,le=pn(b)+re;ra(b,Q,o,le),go(b);return}if(S==="submit-all"){if(!ut.current)return;let L=b.getAttribute("data-tool-call-id")??"",Q=ut.current.getMessages().find(se=>se.toolCall?.id===L);if(!Q)return;let G=b.querySelector('[data-ask-free-text-input="true"]')?.value?.trim()??"";G&&to(b,G);let re=na(b,Q);ut.current.persistAskUserQuestionProgress(Q,{answers:re,currentIndex:pn(b)});let le=Gl(re);$o(b,le||"(submitted)",{source:"submit-all",structured:re});return}if(S==="skip"){if(!ut.current)return;let L=b.getAttribute("data-tool-call-id")??"",Q=ut.current.getMessages().find(xe=>xe.toolCall?.id===L);if(!Q)return;let O=eo(b),G=pn(b),re=er(b),le=G>=re-1;if(!O){t.dispatchEvent(new CustomEvent("persona:askUserQuestion:dismissed",{detail:{toolUseId:L},bubbles:!0,composed:!0})),tr(_o,L),Q.agentMetadata?.awaitingLocalTool&&(ut.current.markAskUserQuestionResolved(Q),ut.current.resolveAskUserQuestion(Q,"(dismissed)"));return}to(b,"");let se=b.querySelector('[data-ask-free-text-input="true"]');if(se&&(se.value=""),le){let xe=na(b,Q),Ve=Gl(xe);$o(b,Ve||"(skipped)",{source:"submit-all",structured:xe});return}ra(b,Q,o,G+1),go(b);return}}),_o.addEventListener("keydown",i=>{if(i.key!=="Enter")return;let h=i.target;if(!h.matches?.('[data-ask-free-text-input="true"]'))return;let b=h.closest("[data-persona-ask-sheet-for]");if(!b)return;i.preventDefault();let S=h.value;if(S.trim()){if(eo(b)){to(b,S.trim()),go(b),ti(b);return}$o(b,S,{source:"free-text"})}});let Ql=i=>{if(!/^[1-9]$/.test(i.key)||i.metaKey||i.ctrlKey||i.altKey)return;let g=i.target;if(g?.tagName==="INPUT"||g?.tagName==="TEXTAREA"||g?.isContentEditable)return;let h=_o.querySelector("[data-persona-ask-sheet-for]");if(!h||h.getAttribute("data-ask-layout")!=="rows"||h.getAttribute("data-multi-select")==="true")return;let b=Number(i.key),L=h.querySelectorAll('[data-ask-pill-list="true"] [data-ask-user-action="pick"], [data-ask-pill-list="true"] [data-ask-user-action="focus-free-text"]')[b-1];L&&(i.preventDefault(),L.click())};document.addEventListener("keydown",Ql);let jn=null,vt=null,Tr=null,ks=null,ni=()=>{},Xl=!1,Ls="",Ps="";function oi(){ks?.(),ks=null}let Jl=()=>{if(!jn||!vt)return;let i=t.classList.contains("persona-artifact-welded-split"),g=t.ownerDocument.defaultView??window,h=g.innerWidth<=640;if(!i||t.classList.contains("persona-artifact-narrow-host")||h){vt.style.removeProperty("position"),vt.style.removeProperty("left"),vt.style.removeProperty("top"),vt.style.removeProperty("bottom"),vt.style.removeProperty("width"),vt.style.removeProperty("z-index");return}let b=jn.firstElementChild;if(!b||b===vt)return;let S=10;vt.style.position="absolute",vt.style.top="0",vt.style.bottom="0",vt.style.width=`${S}px`,vt.style.zIndex="5";let L=vl(jn,g),Q=b.offsetWidth+L/2-S/2;vt.style.left=`${Math.max(0,Q)}px`},Is=()=>{},Fu=()=>{let i=t.ownerDocument.defaultView??window,g=o.launcher?.mobileFullscreen??!0,h=o.launcher?.mobileBreakpoint??640;return!g||i.innerWidth>h?!1:T||Nt(o)},Rs=()=>!Gt(o)||!Es()||t.classList.contains("persona-artifact-narrow-host")||Fu()||(t.ownerDocument.defaultView??window).innerWidth<fy?"none":bl(o)?"detached":"welded",Ln=()=>{if(!et||!Gt(o))return;ws(t,o),xs(t,o),Is();let i=o.features?.artifacts?.layout?.narrowHostMaxWidth??520,g=me.getBoundingClientRect().width||0;t.classList.toggle("persona-artifact-narrow-host",g>0&&g<=i);let h=Es();et.setVisible(h),et.update(gn),kn?(et.setMobileOpen(!1),et.element.classList.add("persona-hidden"),et.backdrop?.classList.add("persona-hidden"),mn=!1,Sr=!1):gn.artifacts.length>0&&Kl()?(et.element.classList.remove("persona-hidden"),et.setMobileOpen(!0)):(et.setMobileOpen(!1),et.element.classList.add("persona-hidden"),et.backdrop?.classList.add("persona-hidden"),mn=!1,Sr=!1);let b=o.features?.artifacts?.layout?.showExpandToggle===!0;if(et.setExpandToggleVisible(b),et.setCopyButtonVisible(o.features?.artifacts?.layout?.showCopyButton===!0),et.setCustomActions(o.features?.artifacts?.toolbarActions??[]),et.setTabFade(o.features?.artifacts?.layout?.tabFade),et.setRenderTabBar(o.features?.artifacts?.renderTabBar),!b&&!Sr&&(mn=!1),mn!==Xl){let L=et.element;mn?(Ls=L.style.width,Ps=L.style.maxWidth,L.style.removeProperty("width"),L.style.removeProperty("max-width")):(Ls&&(L.style.width=Ls),Ps&&(L.style.maxWidth=Ps),Ls="",Ps=""),Xl=mn}t.classList.toggle("persona-artifact-expanded",mn),et.setExpanded(mn);let S=Rs();S!==Ar&&(Ar=S,Cr()),ni()};if(Gt(o)){me.style.position="relative";let i=m("div","persona-flex persona-flex-1 persona-flex-col persona-min-w-0 persona-min-h-0"),g=m("div","persona-flex persona-h-full persona-w-full persona-min-h-0 persona-artifact-split-root");i.appendChild(pe),et=eu(o,{onSelect:h=>ut.current?.selectArtifact(h),onDismiss:()=>{kn=!0,Ln()},onToggleExpand:()=>{let h=!mn,b=gn.selectedId??gn.artifacts[gn.artifacts.length-1]?.id??null;o.features?.artifacts?.onArtifactAction?.({type:"expand",artifactId:b,expanded:h})!==!0&&(mn=h,h||(Sr=!1),Ln())}}),et.element.classList.add("persona-hidden"),jn=g,g.appendChild(i),g.appendChild(et.element),et.backdrop&&me.appendChild(et.backdrop),me.appendChild(g),ni=()=>{if(!jn||!et)return;if(!(o.features?.artifacts?.layout?.resizable===!0)){Tr?.(),Tr=null,oi(),vt&&(vt.remove(),vt=null),et.element.style.removeProperty("width"),et.element.style.removeProperty("maxWidth");return}if(!vt){let b=m("div","persona-artifact-split-handle persona-shrink-0 persona-h-full");b.setAttribute("role","separator"),b.setAttribute("aria-orientation","vertical"),b.setAttribute("aria-label","Resize artifacts panel"),b.tabIndex=0;let S=t.ownerDocument,L=S.defaultView??window,Q=O=>{if(!et||O.button!==0||t.classList.contains("persona-artifact-narrow-host")||t.classList.contains("persona-artifact-expanded")||L.innerWidth<=640)return;O.preventDefault(),oi();let G=O.clientX,re=et.element.getBoundingClientRect().width,le=o.features?.artifacts?.layout,se=Ve=>{let gt=jn.getBoundingClientRect().width,at=t.classList.contains("persona-artifact-welded-split"),jt=vl(jn,L),Wt=at?0:b.getBoundingClientRect().width||6,R=re-(Ve.clientX-G),Fe=ru(R,gt,jt,Wt,le?.resizableMinWidth,le?.resizableMaxWidth);et.element.style.width=`${Fe}px`,et.element.style.maxWidth="none",Jl()},xe=()=>{S.removeEventListener("pointermove",se),S.removeEventListener("pointerup",xe),S.removeEventListener("pointercancel",xe),ks=null;try{b.releasePointerCapture(O.pointerId)}catch{}};ks=xe,S.addEventListener("pointermove",se),S.addEventListener("pointerup",xe),S.addEventListener("pointercancel",xe);try{b.setPointerCapture(O.pointerId)}catch{}};b.addEventListener("pointerdown",Q),vt=b,jn.insertBefore(b,et.element),Tr=()=>{b.removeEventListener("pointerdown",Q)}}if(vt){let b=Es();vt.classList.toggle("persona-hidden",!b),Jl()}},Is=()=>{if(!T||!et||(o.launcher?.sidebarMode??!1)||Nt(o)&&un(o).reveal==="emerge")return;let b=t.ownerDocument.defaultView??window,S=o.launcher?.mobileFullscreen??!0,L=o.launcher?.mobileBreakpoint??640;if(S&&b.innerWidth<=L||!ou(o,T))return;let Q=o.launcher?.width??o.launcherWidth??On,O=o.features?.artifacts?.layout?.expandedPanelWidth??"min(720px, calc(100vw - 24px))";Es()?(me.style.width=O,me.style.maxWidth=O):(me.style.width=Q,me.style.maxWidth=Q)},typeof ResizeObserver<"u"&&(xr=new ResizeObserver(()=>{Ln()}),xr.observe(me))}else me.appendChild(pe);J()&&Qe&&(Pe.peekBanner&&Qe.appendChild(Pe.peekBanner),Qe.appendChild(U)),t.appendChild(We),Qe&&t.appendChild(Qe);let Ws=()=>{if(J()){me.style.width="100%",me.style.maxWidth="100%";let kt=o.launcher?.composerBar??{},Xt=We.dataset.state==="expanded",Vs=kt.expandedSize??"anchored";if(!(Xt&&Vs!=="fullscreen")){pe.style.background="",pe.style.border="",pe.style.borderRadius="",pe.style.overflow="",pe.style.boxShadow="";return}let Or=o.theme?.components?.panel,Ks=ir(o),Qo=(Wn,To)=>Wn==null||Wn===""?To:Vt(Ks,Wn)??Wn,_r="1px solid var(--persona-border)",ki="var(--persona-palette-shadows-xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25))",So="var(--persona-panel-radius, var(--persona-radius-xl, 0.75rem))";pe.style.background="var(--persona-surface, #ffffff)",pe.style.border=Qo(Or?.border,_r),pe.style.borderRadius=Qo(Or?.borderRadius,So),pe.style.boxShadow=Qo(Or?.shadow,ki),pe.style.overflow="hidden";return}let i=Nt(o),g=o.launcher?.sidebarMode??!1,h=i||g||(o.launcher?.fullHeight??!1),b=o.launcher?.enabled===!1,S=o.launcher?.detachedPanel===!0,L=o.theme?.components?.panel,Q=ir(o),O=(kt,Xt)=>kt==null||kt===""?Xt:Vt(Q,kt)??kt,G=t.ownerDocument.defaultView??window,re=o.launcher?.mobileFullscreen??!0,le=o.launcher?.mobileBreakpoint??640,se=G.innerWidth<=le,xe=re&&se&&T,Ve=i&&re&&se,gt=o.launcher?.position??"bottom-left",at=gt==="bottom-left"||gt==="top-left",jt=o.launcher?.zIndex??zt,Wt="var(--persona-panel-border, 1px solid var(--persona-border))",R="var(--persona-panel-shadow, var(--persona-palette-shadows-xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25)))",Fe="var(--persona-panel-radius, var(--persona-radius-xl, 0.75rem))",Se=S&&!xe&&!Ve;Se?t.setAttribute("data-persona-panel-detached","true"):t.removeAttribute("data-persona-panel-detached");let Oe=Se?Wt:g||xe?"none":Wt,At=Se?R:xe?"none":g?at?"var(--persona-palette-shadows-sidebar-left, 2px 0 12px rgba(0, 0, 0, 0.08))":"var(--persona-palette-shadows-sidebar-right, -2px 0 12px rgba(0, 0, 0, 0.08))":b?"none":R;i&&!xe&&!Se&&(At="none",Oe="none");let dt=Se?Fe:g||xe?"0":Fe,xt=O(L?.border,Oe),ht=O(L?.shadow,At),_t=O(L?.borderRadius,dt),Co=Rs(),pt=Co==="detached",ce=Co==="welded";t.classList.toggle("persona-artifact-detached-split",pt),t.classList.toggle("persona-artifact-welded-split",ce);let Ct="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)))))",ot=(o.features?.artifacts?.layout?.chatSurface==="flush"?"flush":"card")==="flush"&&Gt(o)&&bl(o)&&b&&!i;t.classList.toggle("persona-artifact-chat-flush",ot);let Ue=pt||ot?"none":ht,tt=pt?Wt:ce?"none":xt,Et=pt?Fe:_t;ot&&(tt="none",Et="0");let He=L?.borderRadius!=null&&L.borderRadius!=="",nt=ot&&!He?"0":_t,tn=ie.scrollTop;t.style.cssText="",We.style.cssText="",me.style.cssText="",pe.style.cssText="",ie.style.cssText="",U.style.cssText="",it&&(ie.style.display="none");let Ao=()=>{if(tn<=0)return;(ie.ownerDocument.defaultView??window).requestAnimationFrame(()=>{if(ie.scrollTop===tn)return;let Xt=ie.scrollHeight-ie.clientHeight;Xt<=0||(ie.scrollTop=Math.min(tn,Xt))})};if(xe){We.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"),We.style.cssText=`
41
47
  position: fixed !important;
42
48
  inset: 0 !important;
43
49
  width: 100% !important;
@@ -62,7 +68,7 @@ _Details: ${n.message}_`:o}var Jr=t=>({isError:!0,content:[{type:"text",text:t}]
62
68
  padding: 0 !important;
63
69
  box-shadow: none !important;
64
70
  border-radius: 0 !important;
65
- `,ue.style.cssText=`
71
+ `,pe.style.cssText=`
66
72
  display: flex !important;
67
73
  flex-direction: column !important;
68
74
  flex: 1 1 0% !important;
@@ -73,11 +79,11 @@ _Details: ${n.message}_`:o}var Jr=t=>({isError:!0,content:[{type:"text",text:t}]
73
79
  overflow: hidden !important;
74
80
  border-radius: 0 !important;
75
81
  border: none !important;
76
- `,ie.style.flex="1 1 0%",ie.style.minHeight="0",ie.style.overflowY="auto",z.style.flexShrink="0",j=!0,xo();return}let Us=o?.launcher?.width??o?.launcherWidth??Nn;if(!g&&!i)b&&h?(me.style.width="100%",me.style.maxWidth="100%"):(me.style.width=Us,me.style.maxWidth=Us);else if(i)if(un(o).reveal==="emerge"&&!S){let Jt=un(o).width;me.style.width=Jt,me.style.maxWidth=Jt}else me.style.width="100%",me.style.maxWidth="100%";if(Es(),me.style.boxShadow=je,me.style.borderRadius=Ze,ut?me.style.border="none":pe&&(me.style.border=xt),ue.style.border=Ye,ue.style.borderRadius=kt,ue.style.boxShadow=ut&&!ot?Ct:"",ot&&(ue.style.background="transparent",ie.style.background="transparent",z.style.background="transparent",z.style.borderTop="none"),pe){let Lt=o.features?.artifacts?.layout;Cs=Lt?.unifiedSplitOuterRadius?.trim()||Lt?.paneBorderRadius?.trim()||_t}else Cs=null;if(i&&!we&&!Se&&!ut&&!pe&&k?.border===void 0&&(ue.style.border="none",un(o).side==="right"?ue.style.borderLeft="1px solid var(--persona-border)":ue.style.borderRight="1px solid var(--persona-border)"),i&&!we&&pe&&k?.border===void 0&&(un(o).side==="right"?me.style.borderLeft="1px solid var(--persona-border)":me.style.borderRight="1px solid var(--persona-border)"),h&&(t.style.display="flex",t.style.flexDirection="column",t.style.height="100%",t.style.minHeight="0",b&&(t.style.width="100%"),Ee.style.display="flex",Ee.style.flexDirection="column",Ee.style.flex="1 1 0%",Ee.style.minHeight="0",Ee.style.maxHeight="100%",Ee.style.height="100%",b&&(Ee.style.overflow="hidden"),me.style.display="flex",me.style.flexDirection="column",me.style.flex="1 1 0%",me.style.minHeight="0",me.style.maxHeight="100%",me.style.height="100%",ut||(me.style.overflow="hidden"),ue.style.display="flex",ue.style.flexDirection="column",ue.style.flex="1 1 0%",ue.style.minHeight="0",ue.style.maxHeight="100%",ue.style.overflow="hidden",ie.style.flex="1 1 0%",ie.style.minHeight="0",ie.style.overflowY="auto",z.style.flexShrink="0"),b&&(Se||ut||ot)&&!i&&(ot||(Ee.style.padding="var(--persona-panel-inset)"),Ee.style.background="var(--persona-panel-canvas-bg)"),Ee.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"),!g&&!b&&!i&&(wn[ht]??wn["bottom-right"]).split(" ").forEach(Jt=>Ee.classList.add(Jt)),g){let Lt=o.launcher?.sidebarWidth??"420px";S?Ee.style.cssText=`
82
+ `,ie.style.flex="1 1 0%",ie.style.minHeight="0",ie.style.overflowY="auto",U.style.flexShrink="0",q=!0,Ao();return}let qs=o?.launcher?.width??o?.launcherWidth??On;if(!g&&!i)b&&h?(me.style.width="100%",me.style.maxWidth="100%"):(me.style.width=qs,me.style.maxWidth=qs);else if(i)if(un(o).reveal==="emerge"&&!S){let Xt=un(o).width;me.style.width=Xt,me.style.maxWidth=Xt}else me.style.width="100%",me.style.maxWidth="100%";if(Is(),me.style.boxShadow=Ue,me.style.borderRadius=nt,pt?me.style.border="none":ce&&(me.style.border=xt),pe.style.border=tt,pe.style.borderRadius=Et,pe.style.boxShadow=pt&&!ot?Ct:"",ot&&(pe.style.background="transparent",ie.style.background="transparent",U.style.background="transparent",U.style.borderTop="none"),ce){let kt=o.features?.artifacts?.layout;Ms=kt?.unifiedSplitOuterRadius?.trim()||kt?.paneBorderRadius?.trim()||_t}else Ms=null;if(i&&!xe&&!Se&&!pt&&!ce&&L?.border===void 0&&(pe.style.border="none",un(o).side==="right"?pe.style.borderLeft="1px solid var(--persona-border)":pe.style.borderRight="1px solid var(--persona-border)"),i&&!xe&&ce&&L?.border===void 0&&(un(o).side==="right"?me.style.borderLeft="1px solid var(--persona-border)":me.style.borderRight="1px solid var(--persona-border)"),h&&(t.style.display="flex",t.style.flexDirection="column",t.style.height="100%",t.style.minHeight="0",b&&(t.style.width="100%"),We.style.display="flex",We.style.flexDirection="column",We.style.flex="1 1 0%",We.style.minHeight="0",We.style.maxHeight="100%",We.style.height="100%",b&&(We.style.overflow="hidden"),me.style.display="flex",me.style.flexDirection="column",me.style.flex="1 1 0%",me.style.minHeight="0",me.style.maxHeight="100%",me.style.height="100%",pt||(me.style.overflow="hidden"),pe.style.display="flex",pe.style.flexDirection="column",pe.style.flex="1 1 0%",pe.style.minHeight="0",pe.style.maxHeight="100%",pe.style.overflow="hidden",ie.style.flex="1 1 0%",ie.style.minHeight="0",ie.style.overflowY="auto",U.style.flexShrink="0"),b&&(Se||pt||ot)&&!i&&(ot||(We.style.padding="var(--persona-panel-inset)"),We.style.background="var(--persona-panel-canvas-bg)"),We.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"),!g&&!b&&!i&&(xn[gt]??xn["bottom-right"]).split(" ").forEach(Xt=>We.classList.add(Xt)),g){let kt=o.launcher?.sidebarWidth??"420px";S?We.style.cssText=`
77
83
  position: fixed !important;
78
84
  top: var(--persona-panel-inset) !important;
79
85
  bottom: var(--persona-panel-inset) !important;
80
- width: ${Lt} !important;
86
+ width: ${kt} !important;
81
87
  height: calc(100vh - (2 * var(--persona-panel-inset))) !important;
82
88
  max-height: calc(100vh - (2 * var(--persona-panel-inset))) !important;
83
89
  margin: 0 !important;
@@ -85,12 +91,12 @@ _Details: ${n.message}_`:o}var Jr=t=>({isError:!0,content:[{type:"text",text:t}]
85
91
  display: flex !important;
86
92
  flex-direction: column !important;
87
93
  z-index: ${jt} !important;
88
- ${st?"left: var(--persona-panel-inset) !important; right: auto !important;":"left: auto !important; right: var(--persona-panel-inset) !important;"}
89
- `:Ee.style.cssText=`
94
+ ${at?"left: var(--persona-panel-inset) !important; right: auto !important;":"left: auto !important; right: var(--persona-panel-inset) !important;"}
95
+ `:We.style.cssText=`
90
96
  position: fixed !important;
91
97
  top: 0 !important;
92
98
  bottom: 0 !important;
93
- width: ${Lt} !important;
99
+ width: ${kt} !important;
94
100
  height: 100vh !important;
95
101
  max-height: 100vh !important;
96
102
  margin: 0 !important;
@@ -98,7 +104,7 @@ _Details: ${n.message}_`:o}var Jr=t=>({isError:!0,content:[{type:"text",text:t}]
98
104
  display: flex !important;
99
105
  flex-direction: column !important;
100
106
  z-index: ${jt} !important;
101
- ${st?"left: 0 !important; right: auto !important;":"left: auto !important; right: 0 !important;"}
107
+ ${at?"left: 0 !important; right: auto !important;":"left: auto !important; right: 0 !important;"}
102
108
  `,me.style.cssText=`
103
109
  position: relative !important;
104
110
  display: flex !important;
@@ -110,10 +116,10 @@ _Details: ${n.message}_`:o}var Jr=t=>({isError:!0,content:[{type:"text",text:t}]
110
116
  min-height: 0 !important;
111
117
  margin: 0 !important;
112
118
  padding: 0 !important;
113
- box-shadow: ${je} !important;
114
- border-radius: ${Ze} !important;
115
- ${ut?"border: none !important;":pe?`border: ${xt} !important;`:""}
116
- `,me.style.setProperty("width","100%","important"),me.style.setProperty("max-width","100%","important"),ue.style.cssText=`
119
+ box-shadow: ${Ue} !important;
120
+ border-radius: ${nt} !important;
121
+ ${pt?"border: none !important;":ce?`border: ${xt} !important;`:""}
122
+ `,me.style.setProperty("width","100%","important"),me.style.setProperty("max-width","100%","important"),pe.style.cssText=`
117
123
  display: flex !important;
118
124
  flex-direction: column !important;
119
125
  flex: 1 1 0% !important;
@@ -122,16 +128,16 @@ _Details: ${n.message}_`:o}var Jr=t=>({isError:!0,content:[{type:"text",text:t}]
122
128
  min-height: 0 !important;
123
129
  max-height: 100% !important;
124
130
  overflow: hidden !important;
125
- border-radius: ${kt} !important;
126
- border: ${Ye} !important;
127
- ${ut&&!ot?`box-shadow: ${Ct} !important;`:""}
131
+ border-radius: ${Et} !important;
132
+ border: ${tt} !important;
133
+ ${pt&&!ot?`box-shadow: ${Ct} !important;`:""}
128
134
  ${ot?"background: transparent !important;":""}
129
- `,z.style.cssText=`
135
+ `,U.style.cssText=`
130
136
  flex-shrink: 0 !important;
131
137
  border-top: none !important;
132
138
  padding: 8px 16px 12px 16px !important;
133
139
  ${ot?"background: transparent !important;":""}
134
- `}if(!b&&!i){let Lt="max-height: -moz-available !important; max-height: stretch !important;",Jt=g?"":"padding-top: 1.25em !important;",zs=g?"":`z-index: ${o.launcher?.zIndex??Ut} !important;`;Ee.style.cssText+=Lt+Jt+zs}xo()};Ls(),es(t,o),hs(t,o),ys(t,o),wr=()=>{Ls(),es(t,o),hs(t,o),ys(t,o),Cs?t.style.setProperty("--persona-artifact-welded-outer-radius",Cs):t.style.removeProperty("--persona-artifact-welded-outer-radius")};let qe=[];qe.push(()=>{document.removeEventListener("keydown",zl)}),qe.push(()=>{yr!==null&&clearTimeout(yr)});let xn=null,Cn=null;qe.push(()=>{xn?.(),xn=null,Cn?.(),Cn=null}),vr&&qe.push(()=>{vr?.disconnect(),vr=null}),qe.push(()=>{Ar?.(),Ar=null,ei(),vt&&(vt.remove(),vt=null),Je?.element.style.removeProperty("width"),Je?.element.style.removeProperty("maxWidth")}),Y&&qe.push(()=>{We!==null&&(cancelAnimationFrame(We),We=null),Ne?.destroy(),Ne=null,Ae?.destroy(),Ae=null,fe=null});let fo=null,Vl=()=>{fo&&(fo(),fo=null),o.colorScheme==="auto"&&(fo=ma(()=>{es(t,o)}))};Vl(),qe.push(()=>{fo&&(fo(),fo=null)}),qe.push(a);let Ps=o.features?.streamAnimation;if(Ps?.type&&Ps.type!=="none"){let i=dr(Ps.type,Ps.plugins);i&&(Ia(i,t),qe.push(()=>bp(t)))}let Is=Np(bt),go=null,F,ti=i=>{if(!F)return;let g=i??F.getMessages(),h=o.features?.suggestReplies?.enabled!==!1?pd(g):null;h?Is.render(h,F,N,g,o.suggestionChipsConfig,{agentPushed:!0}):g.some(b=>b.role==="user")?Is.render([],F,N,g):Is.render(o.suggestionChips,F,N,g,o.suggestionChipsConfig)},mn=!1,mo=cp(),zo=new Map,ho=new Map,zn=new Map,ni=0,Su=Wn()!==null,Zt=Ta(),an=0,jn=null,ln=!1,Rs=!1,qn=0,hn=null,yo=null,oi=!1,Ws=!1,ri=null,Sr=!0,si=!1,ai=null,Tu=4,Bs=24,Mu=80,ii=new Map,Ge={active:!1,manuallyDeactivated:!1,lastUserMessageWasVoice:!1,lastUserMessageId:null},Kl=o.voiceRecognition?.autoResume??!1,Ln=i=>{l.emit("voice:state",{active:Ge.active,source:i,timestamp:Date.now()})},yn=()=>{x(i=>({...i,voiceState:{active:Ge.active,timestamp:Date.now(),manuallyDeactivated:Ge.manuallyDeactivated}}))},Eu=()=>{if(o.voiceRecognition?.enabled===!1)return;let i=xl(c.voiceState),g=!!i.active,h=Number(i.timestamp??0);Ge.manuallyDeactivated=!!i.manuallyDeactivated,g&&Date.now()-h<Vb&&setTimeout(()=>{Ge.active||(Ge.manuallyDeactivated=!1,o.voiceRecognition?.provider?.type==="runtype"?F.toggleVoice().then(()=>{Ge.active=F.isVoiceActive(),Ln("restore"),F.isVoiceActive()&&Go()}):Fs("restore"))},1e3)},ku=()=>F?ou(F.getMessages()).filter(i=>!i.__skipPersist):[],Hs=null,Gl=(i,g)=>{typeof console<"u"&&console.error(i,g)},li=(i,g)=>{let h=()=>{try{let Q=i();return!Q||typeof Q.then!="function"?null:Promise.resolve(Q).catch(O=>{Gl(g,O)})}catch(Q){return Gl(g,Q),null}},b=Hs,S=b?b.then(()=>h()??void 0):h();if(!S)return;let k=S.finally(()=>{Hs===k&&(Hs=null)});Hs=k};function ci(i){if(!d?.save)return;let h={messages:i?ou(i):F?ku():[],metadata:c,artifacts:fn.artifacts,selectedArtifactId:fn.selectedId};li(()=>d.save(h),"[AgentWidget] Failed to persist state:")}let jo=null,Xl=()=>Ee.querySelector("#persona-scroll-container")||ie,Tr=()=>{jo!==null&&(cancelAnimationFrame(jo),jo=null),ln=!1},Ql=()=>{jn!==null&&(cancelAnimationFrame(jn),jn=null),Rs=!1,Tr()},Lu=()=>mn&&pi()&&(Qt()!=="anchor-top"||Pl()),di=()=>{let i=lo()||"Jump to latest",g=Lu();Pt.toggleAttribute("data-persona-scroll-to-bottom-streaming",g),qn>0?(co.textContent=String(qn),co.style.display="",Pt.setAttribute("aria-label",`${i} (${qn} new)`)):(co.textContent="",co.style.display="none",Pt.setAttribute("aria-label",g?`${i} (response streaming below)`:i))},Jl=()=>{qn!==0&&(qn=0,di())},pi=()=>On()?!Zt.isFollowing():!so(ie,Bs),en=()=>{if(!ws()||Pe){Pt.parentNode&&Pt.remove(),Pt.style.display="none";return}Pt.parentNode!==ue&&ue.appendChild(Pt),Oo();let g=Mn(ie)>0&&pi();g?di():Jl(),Pt.style.display=g?"":"none"},Mr=()=>{Zt.pause()&&(Ql(),en())},Vn=()=>{Zt.resume(),Jl(),en()},Kn=(i=!1)=>{On()&&Zt.isFollowing()&&(!i&&!mn||(jn!==null&&(cancelAnimationFrame(jn),jn=null),Rs=!0,jn=requestAnimationFrame(()=>{jn=null,Rs=!1,Zt.isFollowing()&&Pu(Xl(),i?220:140)})))},Yl=(i,g,h,b=()=>!0)=>{let S=i.scrollTop,k=g(),Q=k-S;if(Tr(),Math.abs(Q)<1){ln=!0,i.scrollTop=k,an=i.scrollTop,ln=!1;return}let O=performance.now();ln=!0;let G=de=>1-Math.pow(1-de,3),se=de=>{if(!b()){Tr();return}let oe=g();oe!==k&&(k=oe,Q=k-S);let we=de-O,Ve=Math.min(we/h,1),ht=G(Ve),st=S+Q*ht;i.scrollTop=st,an=i.scrollTop,Ve<1?jo=requestAnimationFrame(se):(i.scrollTop=k,an=i.scrollTop,jo=null,ln=!1)};jo=requestAnimationFrame(se)},Pu=(i,g=500)=>{let h=Mn(i)-i.scrollTop;if(Math.abs(h)<1){an=i.scrollTop;return}if(Math.abs(h)>=Mu){Tr(),ln=!0,i.scrollTop=Mn(i),an=i.scrollTop,ln=!1;return}Yl(i,()=>Mn(i),g,()=>Zt.isFollowing())},Zl=()=>{let i=Xl();ln=!0,i.scrollTop=Mn(i),an=i.scrollTop,ln=!1,en()},ec=i=>{let g=0,h=i;for(;h&&h!==ie;)g+=h.offsetTop,h=h.offsetParent;return g},tc=()=>{if(bu()!=="last-user-turn")return!1;let i=F?.getMessages()??[];if(i.length<2)return!1;let g=[...i].reverse().find(k=>k.role==="user");if(!g)return!1;let h=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(g.id):g.id.replace(/\\/g,"\\\\").replace(/"/g,'\\"'),b=ie.querySelector(`[data-message-id="${h}"]`);if(!b)return!1;let S=Math.min(Math.max(0,ec(b)-kl()),Mn(ie));return ln=!0,ie.scrollTop=S,an=ie.scrollTop,ln=!1,Qt()==="follow"&&!so(ie,Bs)&&Zt.pause(),en(),!0},nc=i=>{_n.style.height=`${Math.max(0,Math.round(i))}px`,hn&&(hn.spacerHeight=Math.max(0,i))},Er=()=>{yo!==null&&(cancelAnimationFrame(yo),yo=null),Tr(),hn=null,_n.style.height="0px"},Iu=i=>{yo!==null&&cancelAnimationFrame(yo),yo=requestAnimationFrame(()=>{yo=null;let g=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(i):i.replace(/\\/g,"\\\\").replace(/"/g,'\\"'),h=ie.querySelector(`[data-message-id="${g}"]`);if(!h)return;let b=ec(h),S=hn?.spacerHeight??0,k=ie.scrollHeight-S,{targetScrollTop:Q,spacerHeight:O}=gp({anchorOffsetTop:b,topOffset:kl(),viewportHeight:ie.clientHeight,contentHeight:k});hn={initialSpacerHeight:O,contentHeightAtAnchor:k,spacerHeight:O},nc(O),Yl(ie,()=>Q,220)})},Ru=()=>{if(On()){if(!Zt.isFollowing()||so(ie,1))return;Kn(!mn);return}if(hn&&hn.initialSpacerHeight>0){let i=ie.scrollHeight-hn.spacerHeight,g=mp({initialSpacerHeight:hn.initialSpacerHeight,contentHeightAtAnchor:hn.contentHeightAtAnchor,currentContentHeight:i});g!==hn.spacerHeight&&nc(g)}en()},Wu=i=>{let g=Qt();g==="follow"?(Vn(),Kn(!0)):g==="anchor-top"&&(Sr=!1,si=!0,Iu(i))},Bu=()=>{if(Qt()==="anchor-top"){if(si){Sr=!1;return}Sr=!0,Er(),Vn(),Kn(!0)}},Hu=i=>{let g=new Map;i.forEach(h=>{let b=ii.get(h.id);g.set(h.id,{streaming:h.streaming,role:h.role}),!b&&h.role==="assistant"&&(l.emit("assistant:message",h),!Ws&&(Qt()!=="anchor-top"||Pl())&&pi()&&(qn+=1,di(),en(),Rl(qn===1?"1 new message below.":`${qn} new messages below.`))),h.role==="assistant"&&b?.streaming&&h.streaming===!1&&l.emit("assistant:complete",h),h.variant==="approval"&&h.approval&&(b?h.approval.status!=="pending"&&l.emit("approval:resolved",{approval:h.approval,decision:h.approval.status}):l.emit("approval:requested",{approval:h.approval,message:h}))}),ii.clear(),g.forEach((h,b)=>{ii.set(b,h)})},Du=(i,g,h)=>{let b=document.createElement("div"),k=(()=>{let L=r.find(Fe=>Fe.renderLoadingIndicator);if(L?.renderLoadingIndicator)return L.renderLoadingIndicator;if(o.loadingIndicator?.render)return o.loadingIndicator.render})(),Q=(L,Fe)=>Fe==null?!1:typeof Fe=="string"?(L.textContent=Fe,!0):(L.appendChild(Fe),!0),O=new Set,G=new Set,se=r.some(L=>L.renderAskUserQuestion),de=[],oe=[],we=o.enableComponentStreaming!==!1,Ve=o.approval!==!1,ht=[];if(g.forEach(L=>{O.add(L.id);let Fe=se&&Lo(L),Se=Ve&&L.variant==="approval"&&!!L.approval,_e=!Fe&&L.role==="assistant"&&!L.variant&&we&&wl(L);!Se&&zn.has(L.id)&&(i.querySelector(`#wrapper-${L.id}`)?.removeAttribute("data-preserve-runtime"),zn.delete(L.id)),!_e&&ho.has(L.id)&&(i.querySelector(`#wrapper-${L.id}`)?.removeAttribute("data-preserve-runtime"),ho.delete(L.id));let St=Lo(L)?`:${L.agentMetadata?.askUserQuestionAnswered?"a":"u"}:${L.agentMetadata?.askUserQuestionAnswers?Object.keys(L.agentMetadata.askUserQuestionAnswers).length:0}`:"",pt=lp(L,ni)+St,xt=Fe||Se||_e?null:dp(mo,L.id,pt);if(xt){b.appendChild(xt.cloneNode(!0)),Lo(L)&&L.toolCall?.id&&L.agentMetadata?.awaitingLocalTool===!0&&!L.agentMetadata?.askUserQuestionAnswered&&(G.add(L.toolCall.id),ea(L,o,Ie.composerOverlay));return}let yt=null,_t=r.find(pe=>!!(L.variant==="reasoning"&&pe.renderReasoning||L.variant==="tool"&&pe.renderToolCall||!L.variant&&pe.renderMessage)),wo=o.layout?.messages;if(Lo(L)&&L.agentMetadata?.askUserQuestionAnswered===!0){zo.delete(L.id),i.querySelector(`#wrapper-${L.id}`)?.removeAttribute("data-preserve-runtime");return}if(Hi(L)&&o.features?.suggestReplies?.enabled!==!1)return;if(Lo(L)&&o.features?.askUserQuestion?.enabled!==!1){let pe=r.find(Ct=>typeof Ct.renderAskUserQuestion=="function");if(pe&&gt.current){let Ct=zo.get(L.id),qt=Ct!==pt,Ht=null;if(qt){let{payload:Ye,complete:kt}=Zo(L),He=L.id,Ze=()=>gt.current?.getMessages().find(tn=>tn.id===He);Ht=pe.renderAskUserQuestion({message:L,payload:Ye,complete:kt,resolve:tn=>{let xo=Ze();xo&&gt.current?.resolveAskUserQuestion(xo,tn)},dismiss:()=>{let tn=Ze();tn?.agentMetadata?.awaitingLocalTool&&(gt.current?.markAskUserQuestionResolved(tn),gt.current?.resolveAskUserQuestion(tn,"(dismissed)"))},config:o})}let ot=Ct!=null;if(qt&&Ht===null&&!ot){L.agentMetadata?.awaitingLocalTool===!0&&!L.agentMetadata?.askUserQuestionAnswered&&(G.add(L.toolCall.id),ea(L,o,Ie.composerOverlay));return}let je=document.createElement("div");je.className="persona-flex",je.id=`wrapper-${L.id}`,je.setAttribute("data-wrapper-id",L.id),je.setAttribute("data-ask-plugin-stub","true"),je.setAttribute("data-preserve-runtime","true"),b.appendChild(je),de.push({messageId:L.id,fingerprint:pt,bubble:Ht});return}else{L.agentMetadata?.awaitingLocalTool===!0&&!L.agentMetadata?.askUserQuestionAnswered&&(G.add(L.toolCall.id),ea(L,o,Ie.composerOverlay));return}}else if(Se){let pe=r.find(ot=>typeof ot.renderApproval=="function")??s,qt=zn.get(L.id)!==pt,Ht=null;if(qt&&pe?.renderApproval){let ot=L.id,je=(Ye,kt)=>{let He=gt.current?.getMessages().find(Ze=>Ze.id===ot);He?.approval&&(He.approval.toolType==="webmcp"?gt.current?.resolveWebMcpApproval(He.id,Ye):gt.current?.resolveApproval(He.approval,Ye,kt))};Ht=pe.renderApproval({message:L,defaultRenderer:()=>za(L,o),config:o,approve:Ye=>je("approved",Ye),deny:Ye=>je("denied",Ye)})}if(qt&&Ht===null)i.querySelector(`#wrapper-${L.id}`)?.removeAttribute("data-preserve-runtime"),zn.delete(L.id),yt=za(L,o);else{let ot=document.createElement("div");ot.className="persona-flex",ot.id=`wrapper-${L.id}`,ot.setAttribute("data-wrapper-id",L.id),ot.setAttribute("data-approval-plugin-stub","true"),ot.setAttribute("data-preserve-runtime","true"),b.appendChild(ot),ht.push({messageId:L.id,fingerprint:pt,bubble:Ht});return}}else if(_t)if(L.variant==="reasoning"&&L.reasoning&&_t.renderReasoning){if(!te)return;yt=_t.renderReasoning({message:L,defaultRenderer:()=>sl(L,o),config:o})}else if(L.variant==="tool"&&L.toolCall&&_t.renderToolCall){if(!ge)return;yt=_t.renderToolCall({message:L,defaultRenderer:()=>il(L,o),config:o})}else _t.renderMessage&&(yt=_t.renderMessage({message:L,defaultRenderer:()=>{let pe=rl(L,h,wo,o.messageActions,Oe,{loadingIndicatorRenderer:k,widgetConfig:o});return L.role!=="user"&&gl(pe,L,o,F),pe},config:o}));if(!yt&&_e){let pe=eu(L);if(pe){let Ct=ho.get(L.id),qt=Ct!==pt,Ht=o.wrapComponentDirectiveInBubble!==!1&&Fn.getOptions(pe.component)?.bubbleChrome!==!1,ot=null;if(qt){let je=Yp(pe,{config:o,message:L,transform:h});if(je&&pe.component==="PersonaArtifactInline"){let Ye=je.hasAttribute("data-artifact-inline")?je:je.querySelector("[data-artifact-inline]"),kt=Ye?.getAttribute("data-artifact-inline")??"",He=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(kt):kt,Ze=kt?i.querySelector(`#wrapper-${L.id}`)?.querySelector(`[data-artifact-inline="${He}"]`)??null:null;Ye&&Ze&&Ze!==Ye&&op(Ze)&&(Ye===je?je=Ze:Ye.replaceWith(Ze))}if(je)if(Ht){let Ye=document.createElement("div");if(Ye.className=["persona-message-bubble","persona-max-w-[85%]","persona-rounded-2xl","persona-bg-persona-surface","persona-border","persona-border-persona-message-border","persona-p-4"].join(" "),Ye.id=`bubble-${L.id}`,Ye.setAttribute("data-message-id",L.id),L.content&&L.content.trim()){let kt=document.createElement("div");kt.className="persona-mb-3 persona-text-sm persona-leading-relaxed",kt.innerHTML=h({text:L.content,message:L,streaming:!!L.streaming,raw:L.rawContent}),Ye.appendChild(kt)}Ye.appendChild(je),ot=Ye}else{let Ye=document.createElement("div");if(Ye.className="persona-flex persona-flex-col persona-w-full persona-max-w-full persona-gap-3 persona-items-stretch",Ye.id=`bubble-${L.id}`,Ye.setAttribute("data-message-id",L.id),Ye.setAttribute("data-persona-component-directive","true"),L.content&&L.content.trim()){let kt=document.createElement("div");kt.className="persona-text-sm persona-leading-relaxed persona-text-persona-primary persona-w-full",kt.innerHTML=h({text:L.content,message:L,streaming:!!L.streaming,raw:L.rawContent}),Ye.appendChild(kt)}Ye.appendChild(je),ot=Ye}}if(ot||Ct!=null){let je=document.createElement("div");je.className="persona-flex",je.id=`wrapper-${L.id}`,je.setAttribute("data-wrapper-id",L.id),je.setAttribute("data-component-directive-stub","true"),je.setAttribute("data-preserve-runtime","true"),Ht||je.classList.add("persona-w-full"),b.appendChild(je),oe.push({messageId:L.id,fingerprint:pt,bubble:ot});return}}}if(!yt)if(L.variant==="reasoning"&&L.reasoning){if(!te)return;yt=sl(L,o)}else if(L.variant==="tool"&&L.toolCall){if(!ge)return;yt=il(L,o)}else if(L.variant==="approval"&&L.approval){if(o.approval===!1)return;yt=za(L,o)}else{let pe=o.layout?.messages;pe?.renderUserMessage&&L.role==="user"?yt=pe.renderUserMessage({message:L,config:o,streaming:!!L.streaming}):pe?.renderAssistantMessage&&L.role==="assistant"?yt=pe.renderAssistantMessage({message:L,config:o,streaming:!!L.streaming}):yt=rl(L,h,pe,o.messageActions,Oe,{loadingIndicatorRenderer:k,widgetConfig:o}),L.role!=="user"&&yt&&gl(yt,L,o,F)}let ut=document.createElement("div");ut.className="persona-flex",ut.id=`wrapper-${L.id}`,ut.setAttribute("data-wrapper-id",L.id),L.role==="user"&&ut.classList.add("persona-justify-end"),yt?.getAttribute("data-persona-component-directive")==="true"&&ut.classList.add("persona-w-full"),ut.appendChild(yt),pp(mo,L.id,pt,ut),b.appendChild(ut)}),Ie.composerOverlay&&Ie.composerOverlay.querySelectorAll("[data-persona-ask-sheet-for]").forEach(Fe=>{let Se=Fe.getAttribute("data-persona-ask-sheet-for");Se&&!G.has(Se)&&tr(Ie.composerOverlay,Se)}),o.features?.toolCallDisplay?.grouped){let L=[],Fe=[];g.forEach(Se=>{if(Se.variant==="tool"&&Se.toolCall&&ge){Fe.push(Se);return}Se.variant==="reasoning"&&!te||(Fe.length>1&&L.push(Fe),Fe=[])}),Fe.length>1&&L.push(Fe),L.forEach((Se,_e)=>{let St=Se.map(Ct=>Array.from(b.children).find(qt=>qt instanceof HTMLElement&&qt.getAttribute("data-wrapper-id")===Ct.id)).filter(Ct=>!!Ct);if(St.length<2)return;let pt=document.createElement("div");pt.className="persona-flex",pt.id=`wrapper-tool-group-${_e}-${Se[0].id}`,pt.setAttribute("data-wrapper-id",`tool-group-${_e}-${Se[0].id}`);let xt=document.createElement("div");xt.className="persona-tool-group persona-flex persona-w-full persona-flex-col persona-gap-2",xt.setAttribute("data-persona-tool-group","true");let yt=document.createElement("div");yt.className="persona-tool-group-summary persona-text-xs persona-text-persona-muted";let _t=`Called ${Se.length} tools`,wo=o.toolCall?.renderGroupedSummary?.({messages:Se,toolCalls:Se.map(Ct=>Ct.toolCall).filter(Ct=>!!Ct),defaultSummary:_t,config:o});Q(yt,wo)||(yt.textContent=_t);let ut=document.createElement("div");ut.className="persona-tool-group-stack persona-flex persona-flex-col";let pe=o.features?.toolCallDisplay?.groupedMode==="summary";xt.appendChild(yt),pe||xt.appendChild(ut),pt.appendChild(xt),St[0].before(pt),St.forEach((Ct,qt)=>{if(pe){Ct.remove();return}let Ht=document.createElement("div");Ht.className="persona-tool-group-item persona-relative",Ht.setAttribute("data-persona-tool-group-item","true"),qt<St.length-1&&Ht.setAttribute("data-persona-tool-group-connector","true"),Ht.appendChild(Ct),ut.appendChild(Ht)})})}up(mo,O);let st=g.some(L=>L.role==="assistant"&&L.streaming),jt=g[g.length-1],Bt=jt?.role==="assistant"&&!jt.streaming&&jt.variant!=="approval";if(mn&&g.some(L=>L.role==="user")&&!st&&!Bt){let L={config:o,streaming:!0,location:"standalone",defaultRenderer:us},Fe=r.find(_e=>_e.renderLoadingIndicator),Se=null;if(Fe?.renderLoadingIndicator&&(Se=Fe.renderLoadingIndicator(L)),Se===null&&o.loadingIndicator?.render&&(Se=o.loadingIndicator.render(L)),Se===null&&(Se=us()),Se){let _e=document.createElement("div"),St=o.loadingIndicator?.showBubble!==!1;_e.className=St?["persona-max-w-[85%]","persona-rounded-2xl","persona-text-sm","persona-leading-relaxed","persona-shadow-sm","persona-bg-persona-surface","persona-border","persona-text-persona-primary","persona-px-5","persona-py-3"].join(" "):["persona-max-w-[85%]","persona-text-sm","persona-leading-relaxed","persona-text-persona-primary"].join(" "),_e.setAttribute("data-typing-indicator","true"),_e.style.borderColor="var(--persona-message-assistant-border, var(--persona-border, #e5e7eb))",_e.appendChild(Se);let pt=document.createElement("div");pt.className="persona-flex",pt.id="wrapper-typing-indicator",pt.setAttribute("data-wrapper-id","typing-indicator"),pt.appendChild(_e),b.appendChild(pt)}}if(!mn&&g.length>0){let L=g[g.length-1],Fe={config:o,lastMessage:L,messageCount:g.length},Se=r.find(St=>St.renderIdleIndicator),_e=null;if(Se?.renderIdleIndicator&&(_e=Se.renderIdleIndicator(Fe)),_e===null&&o.loadingIndicator?.renderIdle&&(_e=o.loadingIndicator.renderIdle(Fe)),_e){let St=document.createElement("div"),pt=o.loadingIndicator?.showBubble!==!1;St.className=pt?["persona-max-w-[85%]","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(" "):["persona-max-w-[85%]","persona-text-sm","persona-leading-relaxed","persona-text-persona-primary"].join(" "),St.setAttribute("data-idle-indicator","true"),St.appendChild(_e);let xt=document.createElement("div");xt.className="persona-flex",xt.id="wrapper-idle-indicator",xt.setAttribute("data-wrapper-id","idle-indicator"),xt.appendChild(St),b.appendChild(xt)}}if(Aa(i,b),de.length>0)for(let{messageId:L,fingerprint:Fe,bubble:Se}of de){let _e=i.querySelector(`#wrapper-${L}`);_e&&Se!==null&&(_e.replaceChildren(Se),_e.setAttribute("data-bubble-fp",Fe),zo.set(L,Fe))}if(zo.size>0)for(let L of zo.keys())O.has(L)||zo.delete(L);if(oe.length>0)for(let{messageId:L,fingerprint:Fe,bubble:Se}of oe){let _e=i.querySelector(`#wrapper-${L}`);_e&&Se!==null&&(_e.replaceChildren(Se),_e.setAttribute("data-bubble-fp",Fe),ho.set(L,Fe))}if(ho.size>0)for(let L of ho.keys())O.has(L)||ho.delete(L);if(ht.length>0)for(let{messageId:L,fingerprint:Fe,bubble:Se}of ht){let _e=i.querySelector(`#wrapper-${L}`);_e&&Se!==null&&(_e.replaceChildren(Se),_e.setAttribute("data-bubble-fp",Fe),zn.set(L,Fe))}if(zn.size>0)for(let L of zn.keys())O.has(L)||zn.delete(L)},kr=(i,g,h)=>{Du(i,g,h),_l()},Lr=null,Nu=()=>{if(Lr)return;let i=h=>{let b=h.composedPath();b.includes(Ee)||it&&b.includes(it)||mt(!1,"user")};Lr=i,(t.ownerDocument??document).addEventListener("pointerdown",i,!0)},oc=()=>{if(!Lr)return;(t.ownerDocument??document).removeEventListener("pointerdown",Lr,!0),Lr=null};qe.push(()=>oc());let Pr=null,Fu=()=>{if(Pr)return;let i=h=>{h.key==="Escape"&&(h.isComposing||mt(!1,"user"))};Pr=i,(t.ownerDocument??document).addEventListener("keydown",i,!0)},rc=()=>{if(!Pr)return;(t.ownerDocument??document).removeEventListener("keydown",Pr,!0),Pr=null};qe.push(()=>rc());let Ir=!1,sc=new Set,Ou=()=>{let i=o.launcher?.composerBar?.peek?.streamAnimation;return i||o.features?.streamAnimation},qo=()=>{if(!J())return;let i=Ie.peekBanner,g=Ie.peekTextNode;if(!i||!g)return;if(_){i.classList.remove("persona-pill-peek--visible");return}let h=F?.getMessages()??[],b;for(let Bt=h.length-1;Bt>=0;Bt--){let L=h[Bt];if(L.role==="assistant"&&L.content){b=L;break}}if(!b){i.classList.remove("persona-pill-peek--visible");return}let S=b.content,k=!!b.streaming,Q=Ou(),O=ka(Q),G=O.type!=="none"?dr(O.type,Q?.plugins):null,se=G?.isAnimating?.(b)===!0,de=G!==null&&(k||se);de&&G&&!sc.has(G.name)&&(Ia(G,t),sc.add(G.name));let oe=de&&G?.containerClass?G.containerClass:null,we=g.dataset.personaPeekStreamClass??null;we&&we!==oe&&(g.classList.remove(we),delete g.dataset.personaPeekStreamClass),oe&&we!==oe&&(g.classList.add(oe),g.dataset.personaPeekStreamClass=oe),de?(g.style.setProperty("--persona-stream-step",`${O.speed}ms`),g.style.setProperty("--persona-stream-duration",`${O.duration}ms`)):(g.style.removeProperty("--persona-stream-step"),g.style.removeProperty("--persona-stream-duration"));let Ve=de?La(S,O.buffer,G,b,k):S;if(de&&O.placeholder==="skeleton"&&k&&(!Ve||!Ve.trim())){let Bt=document.createElement("div"),L=is();L.classList.add("persona-pill-peek__skeleton"),Bt.appendChild(L),Aa(g,Bt)}else{let Bt=Math.max(0,Ve.length-100),L=Ve.length>100?Ve.slice(-100):Ve,Fe=Jn(L);if(!de||!G){let Se=Ve.length>100?`\u2026${L}`:L;g.textContent!==Se&&(g.textContent=Se)}else{let Se=Fe;(G.wrap==="char"||G.wrap==="word")&&(Se=as(Fe,G.wrap,`peek-${b.id}`,{skipTags:G.skipTags,startIndex:Bt}));let _e=document.createElement("div");if(_e.innerHTML=Se,G.useCaret&&L.length>0){let St=Pa(),pt=_e.querySelectorAll(".persona-stream-char, .persona-stream-word"),xt=pt[pt.length-1];xt?.parentNode?xt.parentNode.insertBefore(St,xt.nextSibling):_e.appendChild(St)}Aa(g,_e),G.onAfterRender?.({container:g,bubble:i,messageId:b.id,message:b,speed:O.speed,duration:O.duration})}}let jt=mn||Ir;i.classList.toggle("persona-pill-peek--visible",jt)};if(J()){let i=Ie.peekBanner;if(i){let b=S=>{S.preventDefault(),S.stopPropagation(),mt(!0,"user")};i.addEventListener("pointerdown",b),qe.push(()=>{i.removeEventListener("pointerdown",b)})}let g=()=>{Ir||(Ir=!0,qo())},h=()=>{Ir&&(Ir=!1,qo())};me.addEventListener("pointerenter",g),me.addEventListener("pointerleave",h),qe.push(()=>{me.removeEventListener("pointerenter",g),me.removeEventListener("pointerleave",h)}),it&&(it.addEventListener("pointerenter",g),it.addEventListener("pointerleave",h),qe.push(()=>{it.removeEventListener("pointerenter",g),it.removeEventListener("pointerleave",h)}))}let _u=i=>{let g=o.launcher?.composerBar??{},h=g.expandedSize??"anchored",b=g.bottomOffset??"16px",S=g.collapsedMaxWidth,k=g.expandedMaxWidth??"880px",Q=g.expandedTopOffset??"5vh",O=g.modalMaxWidth??"880px",G=g.modalMaxHeight??"min(90vh, 800px)",se="calc(100vw - 32px)",de="var(--persona-pill-area-height, 80px)",oe=Ee.style;if(oe.left="",oe.right="",oe.top="",oe.bottom="",oe.transform="",oe.width="",oe.maxWidth="",oe.height="",oe.maxHeight="",it){let we=it.style;we.bottom=b,we.width=S??""}if(i&&h!=="fullscreen"){if(h==="modal"){oe.top="50%",oe.left="50%",oe.transform="translate(-50%, -50%)",oe.bottom="auto",oe.right="auto",oe.width=O,oe.maxWidth=se,oe.maxHeight=G,oe.height=G;return}oe.left="50%",oe.transform="translateX(-50%)",oe.bottom=`calc(${b} + ${de})`,oe.top=Q,oe.width=k,oe.maxWidth=se}},Rr=()=>{if(!D())return;if(J()){let se=(o.launcher?.composerBar??{}).expandedSize??"anchored",de=_?"expanded":"collapsed";Ee.dataset.state=de,Ee.dataset.expandedSize=se,it&&(it.dataset.state=de,it.dataset.expandedSize=se),Ee.style.removeProperty("display"),Ee.classList.remove("persona-pointer-events-none","persona-opacity-0"),me.classList.remove("persona-scale-95","persona-opacity-0","persona-scale-100","persona-opacity-100"),_u(_),ue.style.display=_?"flex":"none",Ls(),_?(Nu(),Fu()):(oc(),rc()),qo();return}let i=Ft(o),g=t.ownerDocument.defaultView??window,h=o.launcher?.mobileBreakpoint??640,b=o.launcher?.mobileFullscreen??!0,S=g.innerWidth<=h,k=b&&S&&I,Q=un(o).reveal;_?(Ee.style.removeProperty("display"),Ee.style.display=i?"flex":"",Ee.classList.remove("persona-pointer-events-none","persona-opacity-0"),me.classList.remove("persona-scale-95","persona-opacity-0"),me.classList.add("persona-scale-100","persona-opacity-100"),Ot?Ot.element.style.display="none":zt&&(zt.style.display="none")):(i?i&&(Q==="overlay"||Q==="push")&&!k?(Ee.style.removeProperty("display"),Ee.style.display="flex",Ee.classList.remove("persona-pointer-events-none","persona-opacity-0"),me.classList.remove("persona-scale-100","persona-opacity-100","persona-scale-95","persona-opacity-0")):(Ee.style.setProperty("display","none","important"),Ee.classList.remove("persona-pointer-events-none","persona-opacity-0"),me.classList.remove("persona-scale-100","persona-opacity-100","persona-scale-95","persona-opacity-0")):(Ee.style.display="",Ee.classList.add("persona-pointer-events-none","persona-opacity-0"),me.classList.remove("persona-scale-100","persona-opacity-100"),me.classList.add("persona-scale-95","persona-opacity-0")),Ot?Ot.element.style.display=i?"none":"":zt&&(zt.style.display=i?"none":""))},mt=(i,g="user")=>{if(!D()||_===i)return;let h=_;_=i,Rr();let b=(()=>{let k=o.launcher?.sidebarMode??!1,Q=t.ownerDocument.defaultView??window,O=o.launcher?.mobileFullscreen??!0,G=o.launcher?.mobileBreakpoint??640,se=Q.innerWidth<=G,de=Ft(o)&&O&&se,oe=J()&&(o.launcher?.composerBar?.expandedSize??"fullscreen")==="fullscreen";return k||O&&se&&I||de||oe})();if(_&&b){if(!xn){let k=t.getRootNode(),Q=k instanceof ShadowRoot?k.host:t.closest(".persona-host");Q&&(xn=Yi(Q,o.launcher?.zIndex??Ut))}Cn||(Cn=Zi(t.ownerDocument))}else _||(xn?.(),xn=null,Cn?.(),Cn=null);_&&(Wr(),tc()||(Qt()==="follow"?Kn(!0):Zl()));let S={open:_,source:g,timestamp:Date.now()};_&&!h?l.emit("widget:opened",S):!_&&h&&l.emit("widget:closed",S),l.emit("widget:state",{open:_,launcherEnabled:I,voiceActive:Ge.active,streaming:F.isStreaming()})},ui=i=>{lt(i?"stop":"send"),V&&(V.disabled=i),Is.buttons.forEach(g=>{g.disabled=i}),z.dataset.personaComposerStreaming=i?"true":"false",z.querySelectorAll("[data-persona-composer-disable-when-streaming]").forEach(g=>{(g instanceof HTMLButtonElement||g instanceof HTMLInputElement||g instanceof HTMLTextAreaElement||g instanceof HTMLSelectElement)&&(g.disabled=i)})},fi=()=>{Ge.active||N&&N.focus()};l.on("widget:opened",()=>{o.autoFocusInput&&setTimeout(()=>fi(),200)});let ac=()=>{X.textContent=o.copy?.welcomeTitle??"Hello \u{1F44B}",y.textContent=o.copy?.welcomeSubtitle??"Ask anything about your account or products.",N.placeholder=o.copy?.inputPlaceholder??"How can I help...";let i=ie.querySelector("[data-persona-intro-card]");if(i){let h=o.copy?.showWelcomeCard!==!1;i.style.display=h?"":"none",h?(ie.classList.remove("persona-gap-3"),ie.classList.add("persona-gap-6")):(ie.classList.remove("persona-gap-6"),ie.classList.add("persona-gap-3"))}!(o.sendButton?.useIcon??!1)&&!F?.isStreaming()&&(ne.textContent=o.copy?.sendButtonLabel??"Send"),N.style.fontFamily='var(--persona-input-font-family, var(--persona-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif))',N.style.fontWeight="var(--persona-input-font-weight, var(--persona-font-weight, 400))"};o.clientToken&&(o={...o,getStoredSessionId:()=>{let i=c.sessionId;return typeof i=="string"?i:null},setStoredSessionId:i=>{x(g=>({...g,sessionId:i}))}});let bo=null,$u=()=>{bo==null&&(bo=setInterval(()=>{let i=ye.querySelectorAll("[data-tool-elapsed]");if(i.length===0){clearInterval(bo),bo=null;return}let g=Date.now();i.forEach(h=>{let b=Number(h.getAttribute("data-tool-elapsed"));b&&(h.textContent=oa(g-b))})},100))},gi=(i,g)=>{if(Object.is(i,g))return!0;if(i===null||g===null||typeof i!="object"||typeof g!="object")return!1;if(Array.isArray(i)||Array.isArray(g))return!Array.isArray(i)||!Array.isArray(g)||i.length!==g.length?!1:i.every((Q,O)=>gi(Q,g[O]));let h=i,b=g,S=Object.keys(h),k=Object.keys(b);return S.length===k.length&&S.every(Q=>Object.prototype.hasOwnProperty.call(b,Q)&&gi(h[Q],b[Q]))},ic=i=>{let{content:g,rawContent:h,llmContent:b,...S}=i;return S},mi=i=>i.role==="assistant"&&i.streaming===!0&&!i.variant&&!i.toolCall&&!i.tools&&!i.approval&&!i.reasoning&&!i.contentParts&&!i.stopReason&&!wl(i),Uu=(i,g,h)=>{if(i.length!==g.length)return!1;let b=i[h.index],S=g[h.index];return!b||!S||b.id!==h.id||S.id!==h.id?!1:(!Object.is(b.content,S.content)||!Object.is(b.rawContent,S.rawContent)||!Object.is(b.llmContent,S.llmContent))&&mi(b)&&mi(S)&&gi(ic(b),ic(S))},lc=null,Vo=null,vo=null,Pn=null,Ds=i=>{lc=i;let g,h;Vo=null;for(let S=i.length-1;S>=0;S-=1){let k=i[S];if(!g&&k.role==="user"&&(g=k),!h&&k.role==="assistant"&&(h=k),!Vo&&mi(k)&&(Vo={index:S,id:k.id}),g&&h&&Vo)break}kr(ye,i,Ce),Ki(ye,fn.artifacts,{suppressTransition:mn}),$u(),ti(i),Kn(!mn),Hu(i),i.length===0&&(Er(),Sr=!0,si=!1),!oi||Ws?(oi=!0,ri=g?.id??null,ai=h?.id??null):g&&g.id!==ri?(ri=g.id,Wu(g.id)):h&&h.id!==ai&&Bu(),h&&(ai=h.id);let b=Ge.lastUserMessageId;g&&g.id!==b&&(Ge.lastUserMessageId=g.id,l.emit("user:message",g)),Ge.lastUserMessageWasVoice=!!g?.viaVoice,ci(i),qo()},hi=()=>{Pn!==null&&(cancelAnimationFrame(Pn),Pn=null);let i=vo;vo=null,i&&Ds(i)},cc=()=>{Pn!==null&&cancelAnimationFrame(Pn),Pn=null,vo=null},zu=i=>{let g=vo??lc;if(mn&&g&&Vo&&Uu(g,i,Vo)){vo=i,Pn===null&&(Pn=requestAnimationFrame(()=>{Pn=null;let h=vo;vo=null,h&&Ds(h)}));return}if(i.length===0){cc(),Ds(i);return}hi(),Ds(i)};F=new pa(o,{onMessagesChanged(i){zu(i)},onStatusChanged(i){let g=o.statusIndicator??{};Et(M,(b=>b==="idle"?g.idleText??Rt.idle:b==="connecting"?g.connectingText??Rt.connecting:b==="connected"?g.connectedText??Rt.connected:b==="error"?g.errorText??Rt.error:b==="paused"?g.pausedText??Rt.paused:b==="resuming"?g.resumingText??Rt.resuming:Rt[b])(i),g,i)},onStreamingChanged(i){i||(F?.getMessages().length===0?cc():hi()),mn=i,ui(i),F&&kr(ye,F.getMessages(),Ce),i||Kn(!0),en(),Rl(i?"Responding\u2026":"Response complete."),qo()},onVoiceStatusChanged(i){if(l.emit("voice:status",{status:i,timestamp:Date.now()}),o.voiceRecognition?.provider?.type==="runtype")switch(i){case"listening":In(),Go();break;case"processing":In(),Gu();break;case"speaking":In(),Xu();break;default:i==="idle"&&F.isBargeInActive()?(In(),Go(),V?.setAttribute("aria-label","End voice session")):(Ge.active=!1,In(),Ln("system"),yn());break}},onArtifactsState(i){fn=i,i.artifacts.length===0&&(_o=!1),Ki(ye,i.artifacts,{suppressTransition:mn}),kn(),ci()},onReconnect(i){let{executionId:g,lastEventId:h}=i.handle;i.phase==="paused"?l.emit("stream:paused",{executionId:g,after:h}):i.phase==="resuming"?l.emit("stream:resuming",{executionId:g,after:h,attempt:i.attempt??1}):l.emit("stream:resumed",{executionId:g,after:h})}}),gt.current=F,qe.push(()=>F.cancel());let yi=null;if(F.onReadAloudChange((i,g)=>{Fl=i,Ol=g,_l();let h=i??yi;i&&(yi=i);let b=h?F.getMessages().find(S=>S.id===h)??null:null;l.emit("message:read-aloud",{messageId:h,message:b,state:g,timestamp:Date.now()}),g==="idle"&&(yi=null)}),oi=!0,o.voiceRecognition?.provider?.type==="runtype")try{F.setupVoice()}catch(i){typeof console<"u"&&console.warn("[AgentWidget] Runtype voice setup failed:",i)}o.clientToken&&F.initClientSession().catch(i=>{o.debug&&console.warn("[AgentWidget] Pre-init client session failed:",i)}),(Ae||o.onSSEEvent)&&F.setSSEEventCallback((i,g)=>{o.onSSEEvent?.(i,g),ze?.processEvent(i,g),Ae?.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:i,timestamp:Date.now(),payload:JSON.stringify(g)})});let dc=()=>{o.resume&&typeof o.reconnectStream=="function"&&F.resumeFromHandle(o.resume)};u?u.then(i=>{if(i){if(i.metadata&&(c=xl(i.metadata),T.syncFromMetadata()),i.messages?.length){Ws=!0;try{F.hydrateMessages(i.messages)}finally{Ws=!1}}i.artifacts?.length&&F.hydrateArtifacts(i.artifacts,i.selectedArtifactId??null)}}).catch(i=>{typeof console<"u"&&console.error("[AgentWidget] Failed to hydrate stored state:",i)}).finally(()=>dc()):dc();let pc=()=>{!J()||_||!(o.launcher?.composerBar?.expandOnSubmit??!0)||mt(!0,"auto")},uc=i=>{if(i.preventDefault(),F.isStreaming()){F.cancel(),ze?.reset(),Ne?.update();return}let g=N.value.trim(),h=Tt?.hasAttachments()??!1;if(!g&&!h)return;pc();let b;h&&(b=[],b.push(...Tt.getContentParts()),g&&b.push(Fi(g))),N.value="",N.style.height="auto",Ns(),F.sendMessage(g,{contentParts:b}),h&&Tt.clearAttachments()},ju=()=>o.features?.composerHistory!==!1,bi={...Sa},vi=!1,Ns=()=>{bi={...Sa}},qu=()=>F.getMessages().filter(i=>i.role==="user").map(i=>i.content??"").filter(i=>i.length>0),Vu=i=>{if(!N)return;vi=!0,N.value=i,N.dispatchEvent(new Event("input",{bubbles:!0})),vi=!1;let g=N.value.length;N.setSelectionRange(g,g)},fc=()=>{vi||Ns()},gc=i=>{if(N){if(ju()&&(i.key==="ArrowUp"||i.key==="ArrowDown")&&!i.shiftKey&&!i.metaKey&&!i.ctrlKey&&!i.altKey&&!i.isComposing){let g=N.selectionStart===0&&N.selectionEnd===0,h=ip({direction:i.key==="ArrowUp"?"up":"down",history:qu(),currentValue:N.value,atStart:g,state:bi});if(bi=h.state,h.handled){i.preventDefault(),h.value!==void 0&&Vu(h.value);return}}if(i.key==="Enter"&&!i.shiftKey){if(F.isStreaming()){i.preventDefault();return}Ns(),i.preventDefault(),ne.click()}}},mc=i=>{i.key!=="Escape"||i.isComposing||F.isStreaming()&&i.composedPath().includes(ue)&&(F.cancel(),ze?.reset(),Ne?.update(),Ns(),i.preventDefault(),i.stopImmediatePropagation())},hc=async i=>{if(o.attachments?.enabled!==!0||!Tt)return;let g=Xb(i.clipboardData);g.length!==0&&(i.preventDefault(),await Tt.handleFiles(g))},cn=null,An=!1,Ko=null,wt=null,yc=()=>typeof window>"u"?null:window.webkitSpeechRecognition||window.SpeechRecognition||null,Fs=(i="user")=>{if(An||F.isStreaming())return;let g=yc();if(!g)return;cn=new g;let b=(o.voiceRecognition??{}).pauseDuration??2e3;cn.continuous=!0,cn.interimResults=!0,cn.lang="en-US";let S=N.value;cn.onresult=k=>{let Q="",O="";for(let se=0;se<k.results.length;se++){let de=k.results[se],oe=de[0].transcript;de.isFinal?Q+=oe+" ":O=oe}let G=S+Q+O;N.value=G,Ko&&clearTimeout(Ko),(Q||O)&&(Ko=window.setTimeout(()=>{let se=N.value.trim();se&&cn&&An&&(Gn(),N.value="",N.style.height="auto",F.sendMessage(se,{viaVoice:!0}))},b))},cn.onerror=k=>{k.error!=="no-speech"&&Gn()},cn.onend=()=>{if(An){let k=N.value.trim();k&&k!==S.trim()&&(N.value="",N.style.height="auto",F.sendMessage(k,{viaVoice:!0})),Gn()}};try{if(cn.start(),An=!0,Ge.active=!0,i!=="system"&&(Ge.manuallyDeactivated=!1),Ln(i),yn(),V){let k=o.voiceRecognition??{};wt={backgroundColor:V.style.backgroundColor,color:V.style.color,borderColor:V.style.borderColor,iconName:k.iconName??"mic",iconSize:parseFloat(k.iconSize??o.sendButton?.size??"40")||24};let Q=k.recordingBackgroundColor,O=k.recordingIconColor,G=k.recordingBorderColor;if(V.classList.add("persona-voice-recording"),V.style.backgroundColor=Q??"var(--persona-voice-recording-bg, #ef4444)",V.style.color=O??"var(--persona-voice-recording-indicator, #ffffff)",O){let se=V.querySelector("svg");se&&se.setAttribute("stroke",O)}G&&(V.style.borderColor=G),V.setAttribute("aria-label","Stop voice recognition")}}catch{Gn("system")}},Gn=(i="user")=>{if(An){if(An=!1,Ko&&(clearTimeout(Ko),Ko=null),cn){try{cn.stop()}catch{}cn=null}if(Ge.active=!1,Ln(i),yn(),V){if(V.classList.remove("persona-voice-recording"),wt){V.style.backgroundColor=wt.backgroundColor,V.style.color=wt.color,V.style.borderColor=wt.borderColor;let g=V.querySelector("svg");g&&g.setAttribute("stroke",wt.color||"currentColor"),wt=null}V.setAttribute("aria-label","Start voice recognition")}}},Ku=(i,g)=>{let h=typeof window<"u"&&(typeof window.webkitSpeechRecognition<"u"||typeof window.SpeechRecognition<"u"),b=i?.provider?.type==="runtype",S=i?.provider?.type==="custom";if(!(h||b||S))return null;let Q=m("div","persona-send-button-wrapper"),O=m("button","persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer");O.type="button",O.setAttribute("aria-label","Start voice recognition");let G=i?.iconName??"mic",se=g?.size??"40px",de=i?.iconSize??se,oe=parseFloat(de)||24,we=i?.backgroundColor??g?.backgroundColor,Ve=i?.iconColor??g?.textColor;O.style.width=de,O.style.height=de,O.style.minWidth=de,O.style.minHeight=de,O.style.fontSize="18px",O.style.lineHeight="1",Ve?O.style.color=Ve:O.style.color="var(--persona-text, #111827)";let st=ae(G,oe,Ve||"currentColor",1.5);st?O.appendChild(st):O.textContent="\u{1F3A4}",we?O.style.backgroundColor=we:O.style.backgroundColor="",i?.borderWidth&&(O.style.borderWidth=i.borderWidth,O.style.borderStyle="solid"),i?.borderColor&&(O.style.borderColor=i.borderColor),i?.paddingX&&(O.style.paddingLeft=i.paddingX,O.style.paddingRight=i.paddingX),i?.paddingY&&(O.style.paddingTop=i.paddingY,O.style.paddingBottom=i.paddingY),Q.appendChild(O);let jt=i?.tooltipText??"Start voice recognition";if((i?.showTooltip??!1)&&jt){let L=m("div","persona-send-button-tooltip");L.textContent=jt,Q.appendChild(L)}return{micButton:O,micButtonWrapper:Q}},wi=()=>{if(!V||wt)return;let i=o.voiceRecognition??{};wt={backgroundColor:V.style.backgroundColor,color:V.style.color,borderColor:V.style.borderColor,iconName:i.iconName??"mic",iconSize:parseFloat(i.iconSize??o.sendButton?.size??"40")||24}},xi=(i,g)=>{if(!V)return;let h=V.querySelector("svg");h&&h.remove();let b=wt?.iconSize??(parseFloat(o.voiceRecognition?.iconSize??o.sendButton?.size??"40")||24),S=ae(i,b,g,1.5);S&&V.appendChild(S)},Os=()=>{V&&V.classList.remove("persona-voice-recording","persona-voice-processing","persona-voice-speaking")},Go=()=>{if(!V)return;wi();let i=o.voiceRecognition??{},g=i.recordingBackgroundColor,h=i.recordingIconColor,b=i.recordingBorderColor;if(Os(),V.classList.add("persona-voice-recording"),V.style.backgroundColor=g??"var(--persona-voice-recording-bg, #ef4444)",V.style.color=h??"var(--persona-voice-recording-indicator, #ffffff)",h){let S=V.querySelector("svg");S&&S.setAttribute("stroke",h)}b&&(V.style.borderColor=b),V.setAttribute("aria-label","Stop voice recognition")},Gu=()=>{if(!V)return;wi();let i=o.voiceRecognition??{},g=F.getVoiceInterruptionMode(),h=i.processingIconName??"loader",b=i.processingIconColor??wt?.color??"",S=i.processingBackgroundColor??wt?.backgroundColor??"",k=i.processingBorderColor??wt?.borderColor??"";Os(),V.classList.add("persona-voice-processing"),V.style.backgroundColor=S,V.style.borderColor=k;let Q=b||"currentColor";V.style.color=Q,xi(h,Q),V.setAttribute("aria-label","Processing voice input"),g==="none"&&(V.style.cursor="default")},Xu=()=>{if(!V)return;wi();let i=o.voiceRecognition??{},g=F.getVoiceInterruptionMode(),h=g==="cancel"?"square":g==="barge-in"?"mic":"volume-2",b=i.speakingIconName??h,S=i.speakingIconColor??(g==="barge-in"?i.recordingIconColor??wt?.color??"":wt?.color??""),k=i.speakingBackgroundColor??(g==="barge-in"?i.recordingBackgroundColor??"var(--persona-voice-recording-bg, #ef4444)":wt?.backgroundColor??""),Q=i.speakingBorderColor??(g==="barge-in"?i.recordingBorderColor??"":wt?.borderColor??"");Os(),V.classList.add("persona-voice-speaking"),V.style.backgroundColor=k,V.style.borderColor=Q;let O=S||"currentColor";V.style.color=O,xi(b,O);let G=g==="cancel"?"Stop playback and re-record":g==="barge-in"?"Speak to interrupt":"Agent is speaking";V.setAttribute("aria-label",G),g==="none"&&(V.style.cursor="default"),g==="barge-in"&&V.classList.add("persona-voice-recording")},In=()=>{V&&(Os(),wt&&(V.style.backgroundColor=wt.backgroundColor??"",V.style.color=wt.color??"",V.style.borderColor=wt.borderColor??"",xi(wt.iconName,wt.color||"currentColor"),wt=null),V.style.cursor="",V.setAttribute("aria-label","Start voice recognition"))},_s=()=>{if(o.voiceRecognition?.provider?.type==="runtype"){let i=F.getVoiceStatus(),g=F.getVoiceInterruptionMode();if(g==="none"&&(i==="processing"||i==="speaking"))return;if(g==="cancel"&&(i==="processing"||i==="speaking")){F.stopVoicePlayback();return}if(F.isBargeInActive()){F.stopVoicePlayback(),F.deactivateBargeIn().then(()=>{Ge.active=!1,Ge.manuallyDeactivated=!0,yn(),Ln("user"),In()});return}F.toggleVoice().then(()=>{Ge.active=F.isVoiceActive(),Ge.manuallyDeactivated=!F.isVoiceActive(),yn(),Ln("user"),F.isVoiceActive()?Go():In()});return}if(An){let i=N.value.trim();Ge.manuallyDeactivated=!0,yn(),Gn("user"),i&&(N.value="",N.style.height="auto",F.sendMessage(i))}else Ge.manuallyDeactivated=!1,yn(),Fs("user")};Bl=_s,V&&(V.addEventListener("click",_s),qe.push(()=>{o.voiceRecognition?.provider?.type==="runtype"?(F.isVoiceActive()&&F.toggleVoice(),In()):Gn("system"),V&&V.removeEventListener("click",_s)}));let Qu=l.on("assistant:complete",()=>{Kl&&(Ge.active||Ge.manuallyDeactivated||Kl==="assistant"&&!Ge.lastUserMessageWasVoice||setTimeout(()=>{!Ge.active&&!Ge.manuallyDeactivated&&(o.voiceRecognition?.provider?.type==="runtype"?F.toggleVoice().then(()=>{Ge.active=F.isVoiceActive(),Ln("auto"),F.isVoiceActive()&&Go()}):Fs("auto"))},600))});qe.push(Qu);let Ju=l.on("action:resubmit",()=>{setTimeout(()=>{F&&!F.isStreaming()&&F.continueConversation()},100)});qe.push(Ju);let bc=()=>{mt(!_,"user")},Ot=null,zt=null;if(I&&!J()){let{instance:i,element:g}=tl({config:o,plugins:r,onToggle:bc});Ot=i,i||(zt=g)}Ot?t.appendChild(Ot.element):zt&&t.appendChild(zt),Rr(),ti(),ac(),ui(F.isStreaming()),tc()||(Qt()==="follow"?Kn(!0):Zl()),Eu(),q&&(!I||J()?setTimeout(()=>fi(),0):_&&setTimeout(()=>fi(),200));let Wr=()=>{if(J()){Oo(),Rr();return}let i=Ft(o),g=o.launcher?.sidebarMode??!1,h=i||g||(o.launcher?.fullHeight??!1),b=t.ownerDocument.defaultView??window,S=o.launcher?.mobileFullscreen??!0,k=o.launcher?.mobileBreakpoint??640,Q=b.innerWidth<=k,O=S&&Q&&I;try{if(O){wr(),xr=ks();return}let G=!1;j&&(j=!1,wr(),G=!0);let se=ks();if(!G&&se!==xr&&(wr(),G=!0),xr=se,G&&Za(),!I&&!i){me.style.height="",me.style.width="";return}if(!g&&!i){let oe=o?.launcher?.width??o?.launcherWidth??Nn;me.style.width=oe,me.style.maxWidth=oe}if(Es(),!h){let de=b.innerHeight,oe=64,we=o.launcher?.heightOffset??0,Ve=Math.max(200,de-oe),ht=Math.min(640,Ve),st=Math.max(200,ht-we);me.style.height=`${st}px`}}finally{if(Oo(),Rr(),_&&I){let se=(t.ownerDocument.defaultView??window).innerWidth<=(o.launcher?.mobileBreakpoint??640),de=o.launcher?.sidebarMode??!1,oe=o.launcher?.mobileFullscreen??!0,we=Ft(o)&&oe&&se,Ve=de||oe&&se&&I||we;if(Ve&&!Cn){let ht=t.getRootNode(),st=ht instanceof ShadowRoot?ht.host:t.closest(".persona-host");st&&!xn&&(xn=Yi(st,o.launcher?.zIndex??Ut)),Cn=Zi(t.ownerDocument)}else Ve||(xn?.(),xn=null,Cn?.(),Cn=null)}}};Wr();let vc=t.ownerDocument.defaultView??window;if(vc.addEventListener("resize",Wr),qe.push(()=>vc.removeEventListener("resize",Wr)),typeof ResizeObserver<"u"){let i=new ResizeObserver(()=>{Oo()});i.observe(z),qe.push(()=>i.disconnect())}an=ie.scrollTop;let wc=Mn(ie),Yu=()=>{let i=ie.getRootNode();return(typeof i.getSelection=="function"?i.getSelection():null)??ie.ownerDocument.getSelection()},Ci=()=>fp(Yu(),ie),xc=()=>{let i=ie.scrollTop,g=Mn(ie),h=g<wc;if(wc=g,!On()){an=i,en();return}let{action:b,nextLastScrollTop:S}=Ma({following:Zt.isFollowing(),currentScrollTop:i,lastScrollTop:an,nearBottom:so(ie,Bs),userScrollThreshold:Tu,isAutoScrolling:ln||Rs||h,pauseOnUpwardScroll:!0,pauseWhenAwayFromBottom:!1,resumeRequiresDownwardScroll:!0});if(an=S,b==="resume"){Ci()||Vn();return}b==="pause"&&Mr()};if(ie.addEventListener("scroll",xc,{passive:!0}),qe.push(()=>ie.removeEventListener("scroll",xc)),typeof ResizeObserver<"u"){let i=new ResizeObserver(()=>{Ru()});i.observe(ye),i.observe(ie),qe.push(()=>i.disconnect())}let Cc=()=>{On()&&Zt.isFollowing()&&Ci()&&Mr()},Ac=ie.ownerDocument;Ac.addEventListener("selectionchange",Cc),qe.push(()=>{Ac.removeEventListener("selectionchange",Cc)});let Zu=new Set(["PageUp","PageDown","Home","End","ArrowUp","ArrowDown"]),Sc=i=>{Ll()&&On()&&Zt.isFollowing()&&Zu.has(i.key)&&Mr()},Tc=i=>{if(!Ll()||!On()||!Zt.isFollowing())return;let g=i.target;g&&g.closest("a, button, [tabindex], input, textarea, select")&&Mr()};ie.addEventListener("keydown",Sc),ie.addEventListener("focusin",Tc),qe.push(()=>{ie.removeEventListener("keydown",Sc),ie.removeEventListener("focusin",Tc)});let Mc=i=>{if(!On())return;let g=Ea({following:Zt.isFollowing(),deltaY:i.deltaY,nearBottom:so(ie,Bs),resumeWhenNearBottom:!0});g==="pause"?Mr():g==="resume"&&!Ci()&&Vn()};ie.addEventListener("wheel",Mc,{passive:!0}),qe.push(()=>ie.removeEventListener("wheel",Mc)),Pt.addEventListener("click",()=>{Er(),ie.scrollTop=ie.scrollHeight,an=ie.scrollTop,Vn(),Kn(!0),en()}),qe.push(()=>Pt.remove()),qe.push(()=>{Ql(),Er()});let Ec=()=>{A&&(go&&(A.removeEventListener("click",go),go=null),D()?(A.style.display="",go=()=>{mt(!1,"user")},A.addEventListener("click",go)):A.style.display="none")};Ec(),(()=>{let{clearChatButton:i}=Ie;i&&i.addEventListener("click",()=>{F.clearMessages(),mo.clear(),Vn(),tr(Ie.composerOverlay);try{localStorage.removeItem(gr),o.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${gr}`)}catch(h){console.error("[AgentWidget] Failed to clear default localStorage:",h)}if(o.clearChatHistoryStorageKey&&o.clearChatHistoryStorageKey!==gr)try{localStorage.removeItem(o.clearChatHistoryStorageKey),o.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${o.clearChatHistoryStorageKey}`)}catch(h){console.error("[AgentWidget] Failed to clear custom localStorage:",h)}let g=new CustomEvent("persona:clear-chat",{detail:{timestamp:new Date().toISOString()}});window.dispatchEvent(g),d?.clear&&li(()=>d.clear(),"[AgentWidget] Failed to clear storage adapter:"),c={},T.syncFromMetadata(),Ae?.clear(),ze?.reset(),Ne?.update()})})(),ke&&ke.addEventListener("submit",uc),N?.addEventListener("keydown",gc),N?.addEventListener("input",fc),N?.addEventListener("paste",hc);let kc=t.ownerDocument??document;kc.addEventListener("keydown",mc,!0);let Lc="persona-attachment-drop-active",Br=0,Ai=()=>{Br=0,ue.classList.remove(Lc)},Xo=()=>o.attachments?.enabled===!0&&Tt!==null,Pc=i=>{!qa(i.dataTransfer)||!Xo()||(Br++,Br===1&&ue.classList.add(Lc))},Ic=i=>{!qa(i.dataTransfer)||!Xo()||(Br--,Br<=0&&Ai())},Rc=i=>{!qa(i.dataTransfer)||!Xo()||(i.preventDefault(),i.dataTransfer.dropEffect="copy")},Wc=i=>{if(!qa(i.dataTransfer)||!Xo())return;i.preventDefault(),i.stopPropagation(),Ai();let g=Array.from(i.dataTransfer.files??[]);g.length!==0&&Tt.handleFiles(g)},Xn=!0;ue.addEventListener("dragenter",Pc,Xn),ue.addEventListener("dragleave",Ic,Xn),t.addEventListener("dragover",Rc,Xn),t.addEventListener("drop",Wc,Xn);let $s=t.ownerDocument,Bc=i=>{Xo()&&i.preventDefault()},Hc=i=>{Xo()&&i.preventDefault()};$s.addEventListener("dragover",Bc),$s.addEventListener("drop",Hc),qe.push(()=>{ke&&ke.removeEventListener("submit",uc),N?.removeEventListener("keydown",gc),N?.removeEventListener("input",fc),N?.removeEventListener("paste",hc),kc.removeEventListener("keydown",mc,!0)}),qe.push(()=>{ue.removeEventListener("dragenter",Pc,Xn),ue.removeEventListener("dragleave",Ic,Xn),t.removeEventListener("dragover",Rc,Xn),t.removeEventListener("drop",Wc,Xn),$s.removeEventListener("dragover",Bc),$s.removeEventListener("drop",Hc),Ai()}),qe.push(()=>{F.cancel()}),Ot?qe.push(()=>{Ot?.destroy()}):zt&&qe.push(()=>{zt?.remove()});let It={update(i){let g=o.toolCall,h=o.messageActions,b=o.layout?.messages,S=o.colorScheme,k=o.loadingIndicator,Q=o.iterationDisplay,O=o.features?.showReasoning,G=o.features?.showToolCalls,se=o.features?.toolCallDisplay,de=o.features?.reasoningDisplay,oe=o.features?.streamAnimation?.type;o={...o,...i},Ls(),es(t,o),hs(t,o),ys(t,o),kn(),o.colorScheme!==S&&Vl();let we=hl.getForInstance(o.plugins);r.length=0,r.push(...we),I=o.launcher?.enabled??!0,H=o.launcher?.autoExpand??!1,te=o.features?.showReasoning??!0,ge=o.features?.showToolCalls??!0,le=o.features?.scrollToBottom??{};let Ve=Qt();Z=o.features?.scrollBehavior??{},Ve!==Qt()&&(Er(),Vn()),Wl(),en();let ht=Y;if(Y=o.features?.showEventStreamToggle??!1,Y&&!ht){if(Ae||(fe=new gs(ve),Ae=new fs(Te,fe),ze=ze??new ms,fe.open().then(()=>Ae?.restore()).catch(()=>{}),F.setSSEEventCallback((ee,tt)=>{o.onSSEEvent?.(ee,tt),ze?.processEvent(ee,tt),Ae.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:ee,timestamp:Date.now(),payload:JSON.stringify(tt)})})),!rt&&B){let ee=o.features?.eventStream?.classNames,tt="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"+(ee?.toggleButton?" "+ee.toggleButton:"");rt=m("button",tt),rt.style.width="28px",rt.style.height="28px",rt.style.color=Gt.actionIconColor,rt.type="button",rt.setAttribute("aria-label","Event Stream"),rt.title="Event Stream";let At=ae("activity","18px","currentColor",1.5);At&&rt.appendChild(At);let Ke=Ie.clearChatButtonWrapper,ct=Ie.closeButtonWrapper,$t=Ke||ct;$t&&$t.parentNode===B?B.insertBefore(rt,$t):B.appendChild(rt),rt.addEventListener("click",()=>{Pe?br():Xa()})}}else!Y&&ht&&(br(),rt&&(rt.remove(),rt=null),Ae?.clear(),fe?.destroy(),Ae=null,fe=null,ze?.reset(),ze=null);if(o.launcher?.enabled===!1&&Ot&&(Ot.destroy(),Ot=null),o.launcher?.enabled===!1&&zt&&(zt.remove(),zt=null),o.launcher?.enabled!==!1&&!Ot&&!zt){let{instance:ee,element:tt}=tl({config:o,plugins:r,onToggle:bc});Ot=ee,ee||(zt=tt),t.appendChild(tt)}Ot&&Ot.update(o),R&&o.launcher?.title!==void 0&&(R.textContent=o.launcher.title),K&&o.launcher?.subtitle!==void 0&&(K.textContent=o.launcher.subtitle);let st=o.layout?.header;if(st?.layout!==C&&B){let ee=st?Ba(o,st,{showClose:D(),onClose:()=>mt(!1,"user")}):Ho({config:o,showClose:D(),onClose:()=>mt(!1,"user")});ft.replaceHeader(ee),B=ft.header.element,E=ft.header.iconHolder,R=ft.header.headerTitle,K=ft.header.headerSubtitle,A=ft.header.closeButton,C=st?.layout}else if(st&&(E&&(E.style.display=st.showIcon===!1?"none":""),R&&(R.style.display=st.showTitle===!1?"none":""),K&&(K.style.display=st.showSubtitle===!1?"none":""),A&&(A.style.display=st.showCloseButton===!1?"none":""),Ie.clearChatButtonWrapper)){let ee=st.showClearChat;if(ee!==void 0){Ie.clearChatButtonWrapper.style.display=ee?"":"none";let{closeButtonWrapper:tt}=Ie;tt&&!tt.classList.contains("persona-absolute")&&(ee?tt.classList.remove("persona-ml-auto"):tt.classList.add("persona-ml-auto"))}}let Bt=o.layout?.showHeader!==!1;B&&(B.style.display=Bt?"":"none");let L=o.layout?.showFooter!==!1;z&&(z.style.display=L?"":"none"),Oo(),en(),I!==$?I?mt(H,"auto"):(_=!0,Rr()):H!==U&&mt(H,"auto"),U=H,$=I,Wr(),Ec();let _e=JSON.stringify(i.toolCall)!==JSON.stringify(g),St=JSON.stringify(o.messageActions)!==JSON.stringify(h),pt=JSON.stringify(o.layout?.messages)!==JSON.stringify(b),xt=o.loadingIndicator?.render!==k?.render||o.loadingIndicator?.renderIdle!==k?.renderIdle||o.loadingIndicator?.showBubble!==k?.showBubble,yt=o.iterationDisplay!==Q,_t=(o.features?.showReasoning??!0)!==(O??!0)||(o.features?.showToolCalls??!0)!==(G??!0)||JSON.stringify(o.features?.toolCallDisplay)!==JSON.stringify(se)||JSON.stringify(o.features?.reasoningDisplay)!==JSON.stringify(de);(_e||St||pt||xt||yt||_t)&&F&&(ni++,kr(ye,F.getMessages(),Ce));let ut=o.features?.streamAnimation?.type;if(ut!==oe&&ut&&ut!=="none"){let ee=dr(ut,o.features?.streamAnimation?.plugins);ee&&Ia(ee,t)}let pe=o.launcher??{},Ct=pe.headerIconHidden??!1,qt=o.layout?.header?.showIcon,Ht=Ct||qt===!1,ot=pe.headerIconName,je=pe.headerIconSize??"48px";if(E){let ee=ue.querySelector(".persona-border-b-persona-divider"),tt=ee?.querySelector(".persona-flex-col");if(Ht)E.style.display="none",ee&&tt&&!ee.contains(tt)&&ee.insertBefore(tt,ee.firstChild);else{if(E.style.display="",E.style.height=je,E.style.width=je,ee&&tt&&(ee.contains(E)?E.nextSibling!==tt&&(E.remove(),ee.insertBefore(E,tt)):ee.insertBefore(E,tt)),ot){let Ke=parseFloat(je)||24,ct=ae(ot,Ke*.6,"currentColor",1);ct?E.replaceChildren(ct):E.textContent=pe.agentIconText??"\u{1F4AC}"}else if(pe.iconUrl){let Ke=E.querySelector("img");if(Ke)Ke.src=pe.iconUrl,Ke.style.height=je,Ke.style.width=je;else{let ct=document.createElement("img");ct.src=pe.iconUrl,ct.alt="",ct.className="persona-rounded-xl persona-object-cover",ct.style.height=je,ct.style.width=je,E.replaceChildren(ct)}}else{let Ke=E.querySelector("svg"),ct=E.querySelector("img");(Ke||ct)&&E.replaceChildren(),E.textContent=pe.agentIconText??"\u{1F4AC}"}let At=E.querySelector("img");At&&(At.style.height=je,At.style.width=je)}}let Ye=o.layout?.header?.showTitle,kt=o.layout?.header?.showSubtitle;if(R&&(R.style.display=Ye===!1?"none":""),K&&(K.style.display=kt===!1?"none":""),A){o.layout?.header?.showCloseButton===!1?A.style.display="none":A.style.display="";let tt=pe.closeButtonSize??"32px",At=pe.closeButtonPlacement??"inline";A.style.height=tt,A.style.width=tt;let{closeButtonWrapper:Ke}=Ie,ct=At==="top-right",$t=Ke?.classList.contains("persona-absolute");if(Ke&&ct!==$t)if(Ke.remove(),ct)Ke.className="persona-absolute persona-top-4 persona-right-4 persona-z-50",ue.style.position="relative",ue.appendChild(Ke);else{let Ue=pe.clearChat?.placement??"inline",Nt=pe.clearChat?.enabled??!0;Ke.className=Nt&&Ue==="inline"?"":"persona-ml-auto";let Yt=ue.querySelector(".persona-border-b-persona-divider");Yt&&Yt.appendChild(Ke)}if(A.style.color=pe.closeButtonColor||Gt.actionIconColor,pe.closeButtonBackgroundColor?(A.style.backgroundColor=pe.closeButtonBackgroundColor,A.classList.remove("hover:persona-bg-gray-100")):(A.style.backgroundColor="",A.classList.add("hover:persona-bg-gray-100")),pe.closeButtonBorderWidth||pe.closeButtonBorderColor){let Ue=pe.closeButtonBorderWidth||"0px",Nt=pe.closeButtonBorderColor||"transparent";A.style.border=`${Ue} solid ${Nt}`,A.classList.remove("persona-border-none")}else A.style.border="",A.classList.add("persona-border-none");pe.closeButtonBorderRadius?(A.style.borderRadius=pe.closeButtonBorderRadius,A.classList.remove("persona-rounded-full")):(A.style.borderRadius="",A.classList.add("persona-rounded-full")),pe.closeButtonPaddingX?(A.style.paddingLeft=pe.closeButtonPaddingX,A.style.paddingRight=pe.closeButtonPaddingX):(A.style.paddingLeft="",A.style.paddingRight=""),pe.closeButtonPaddingY?(A.style.paddingTop=pe.closeButtonPaddingY,A.style.paddingBottom=pe.closeButtonPaddingY):(A.style.paddingTop="",A.style.paddingBottom="");let nn=pe.closeButtonIconName??"x",bn=pe.closeButtonIconText??"\xD7";A.innerHTML="";let Vt=ae(nn,"28px","currentColor",1);Vt?A.appendChild(Vt):A.textContent=bn;let Mt=pe.closeButtonTooltipText??"Close chat",on=pe.closeButtonShowTooltip??!0;if(A.setAttribute("aria-label",Mt),Ke&&(Ke._cleanupTooltip&&(Ke._cleanupTooltip(),delete Ke._cleanupTooltip),on&&Mt)){let Ue=null,Nt=()=>{if(Ue||!A)return;let So=A.ownerDocument,Fr=So.body;if(!Fr)return;Ue=Sn(So,"div","persona-clear-chat-tooltip"),Ue.textContent=Mt;let Or=Sn(So,"div");Or.className="persona-clear-chat-tooltip-arrow",Ue.appendChild(Or);let To=A.getBoundingClientRect();Ue.style.position="fixed",Ue.style.zIndex=String(oo),Ue.style.left=`${To.left+To.width/2}px`,Ue.style.top=`${To.top-8}px`,Ue.style.transform="translate(-50%, -100%)",Fr.appendChild(Ue)},Yt=()=>{Ue&&Ue.parentNode&&(Ue.parentNode.removeChild(Ue),Ue=null)};Ke.addEventListener("mouseenter",Nt),Ke.addEventListener("mouseleave",Yt),A.addEventListener("focus",Nt),A.addEventListener("blur",Yt),Ke._cleanupTooltip=()=>{Yt(),Ke&&(Ke.removeEventListener("mouseenter",Nt),Ke.removeEventListener("mouseleave",Yt)),A&&(A.removeEventListener("focus",Nt),A.removeEventListener("blur",Yt))}}}let{clearChatButton:He,clearChatButtonWrapper:Ze}=Ie;if(He){let ee=pe.clearChat??{},tt=ee.enabled??!0,At=o.layout?.header?.showClearChat,Ke=At!==void 0?At:tt,ct=ee.placement??"inline";if(Ze){Ze.style.display=Ke?"":"none";let{closeButtonWrapper:$t}=Ie;!J()&&$t&&!$t.classList.contains("persona-absolute")&&(Ke?$t.classList.remove("persona-ml-auto"):$t.classList.add("persona-ml-auto"));let nn=ct==="top-right",bn=Ze.classList.contains("persona-absolute");if(!J()&&nn!==bn&&Ke){if(Ze.remove(),nn)Ze.className="persona-absolute persona-top-4 persona-z-50",Ze.style.right="48px",ue.style.position="relative",ue.appendChild(Ze);else{Ze.className="persona-relative persona-ml-auto persona-clear-chat-button-wrapper",Ze.style.right="";let Mt=ue.querySelector(".persona-border-b-persona-divider"),on=Ie.closeButtonWrapper;Mt&&on&&on.parentElement===Mt?Mt.insertBefore(Ze,on):Mt&&Mt.appendChild(Ze)}let Vt=Ie.closeButtonWrapper;Vt&&!Vt.classList.contains("persona-absolute")&&(nn?Vt.classList.add("persona-ml-auto"):Vt.classList.remove("persona-ml-auto"))}}if(Ke){if(!J()){let Ue=ee.size??"32px";He.style.height=Ue,He.style.width=Ue}let $t=ee.iconName??"refresh-cw",nn=ee.iconColor??"";He.style.color=nn||Gt.actionIconColor,He.innerHTML="";let bn=J()?"14px":"20px",Vt=ae($t,bn,"currentColor",2);if(Vt&&He.appendChild(Vt),ee.backgroundColor?(He.style.backgroundColor=ee.backgroundColor,He.classList.remove("hover:persona-bg-gray-100")):(He.style.backgroundColor="",He.classList.add("hover:persona-bg-gray-100")),ee.borderWidth||ee.borderColor){let Ue=ee.borderWidth||"0px",Nt=ee.borderColor||"transparent";He.style.border=`${Ue} solid ${Nt}`,He.classList.remove("persona-border-none")}else He.style.border="",He.classList.add("persona-border-none");ee.borderRadius?(He.style.borderRadius=ee.borderRadius,He.classList.remove("persona-rounded-full")):(He.style.borderRadius="",He.classList.add("persona-rounded-full")),ee.paddingX?(He.style.paddingLeft=ee.paddingX,He.style.paddingRight=ee.paddingX):(He.style.paddingLeft="",He.style.paddingRight=""),ee.paddingY?(He.style.paddingTop=ee.paddingY,He.style.paddingBottom=ee.paddingY):(He.style.paddingTop="",He.style.paddingBottom="");let Mt=ee.tooltipText??"Clear chat",on=ee.showTooltip??!0;if(He.setAttribute("aria-label",Mt),Ze&&(Ze._cleanupTooltip&&(Ze._cleanupTooltip(),delete Ze._cleanupTooltip),on&&Mt)){let Ue=null,Nt=()=>{if(Ue||!He)return;let So=He.ownerDocument,Fr=So.body;if(!Fr)return;Ue=Sn(So,"div","persona-clear-chat-tooltip"),Ue.textContent=Mt;let Or=Sn(So,"div");Or.className="persona-clear-chat-tooltip-arrow",Ue.appendChild(Or);let To=He.getBoundingClientRect();Ue.style.position="fixed",Ue.style.zIndex=String(oo),Ue.style.left=`${To.left+To.width/2}px`,Ue.style.top=`${To.top-8}px`,Ue.style.transform="translate(-50%, -100%)",Fr.appendChild(Ue)},Yt=()=>{Ue&&Ue.parentNode&&(Ue.parentNode.removeChild(Ue),Ue=null)};Ze.addEventListener("mouseenter",Nt),Ze.addEventListener("mouseleave",Yt),He.addEventListener("focus",Nt),He.addEventListener("blur",Yt),Ze._cleanupTooltip=()=>{Yt(),Ze&&(Ze.removeEventListener("mouseenter",Nt),Ze.removeEventListener("mouseleave",Yt)),He&&(He.removeEventListener("focus",Nt),He.removeEventListener("blur",Yt))}}}}let tn=o.actionParsers&&o.actionParsers.length?o.actionParsers:[bl],xo=o.actionHandlers&&o.actionHandlers.length?o.actionHandlers:[bs.message,bs.messageAndClick];T=vl({parsers:tn,handlers:xo,getSessionMetadata:v,updateSessionMetadata:x,emit:l.emit,documentRef:typeof document<"u"?document:null}),Ce=ru(o,T,Me),F.updateConfig(o),kr(ye,F.getMessages(),Ce),ti(),ac(),ui(F.isStreaming());let Dc=o.voiceRecognition?.enabled===!0,Us=typeof window<"u"&&(typeof window.webkitSpeechRecognition<"u"||typeof window.SpeechRecognition<"u"),Lt=o.voiceRecognition?.provider?.type==="runtype";if(Dc&&(Us||Lt))if(!V||!$e){let ee=Ku(o.voiceRecognition,o.sendButton);ee&&(V=ee.micButton,$e=ee.micButtonWrapper,Re.insertBefore($e,De),V.addEventListener("click",_s),V.disabled=F.isStreaming())}else{let ee=o.voiceRecognition??{},tt=o.sendButton??{},At=ee.iconName??"mic",Ke=tt.size??"40px",ct=ee.iconSize??Ke,$t=parseFloat(ct)||24;V.style.width=ct,V.style.height=ct,V.style.minWidth=ct,V.style.minHeight=ct;let nn=ee.iconColor??tt.textColor??"currentColor";V.innerHTML="";let bn=ae(At,$t,nn,2);bn?V.appendChild(bn):V.textContent="\u{1F3A4}";let Vt=ee.backgroundColor??tt.backgroundColor;Vt?V.style.backgroundColor=Vt:V.style.backgroundColor="",nn?V.style.color=nn:V.style.color="var(--persona-text, #111827)",ee.borderWidth?(V.style.borderWidth=ee.borderWidth,V.style.borderStyle="solid"):(V.style.borderWidth="",V.style.borderStyle=""),ee.borderColor?V.style.borderColor=ee.borderColor:V.style.borderColor="",ee.paddingX?(V.style.paddingLeft=ee.paddingX,V.style.paddingRight=ee.paddingX):(V.style.paddingLeft="",V.style.paddingRight=""),ee.paddingY?(V.style.paddingTop=ee.paddingY,V.style.paddingBottom=ee.paddingY):(V.style.paddingTop="",V.style.paddingBottom="");let Mt=$e?.querySelector(".persona-send-button-tooltip"),on=ee.tooltipText??"Start voice recognition";if((ee.showTooltip??!1)&&on)if(Mt)Mt.textContent=on,Mt.style.display="";else{let Nt=document.createElement("div");Nt.className="persona-send-button-tooltip",Nt.textContent=on,$e?.insertBefore(Nt,V)}else Mt&&(Mt.style.display="none");$e.style.display="",V.disabled=F.isStreaming()}else V&&$e&&($e.style.display="none",o.voiceRecognition?.provider?.type==="runtype"?F.isVoiceActive()&&F.toggleVoice():An&&Gn());if(o.attachments?.enabled===!0)if(!Be||!xe){let ee=o.attachments??{},At=(o.sendButton??{}).size??"40px";Qe||(Qe=m("div","persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2"),Qe.style.display="none",ke.insertBefore(Qe,N)),Le||(Le=document.createElement("input"),Le.type="file",Le.accept=(ee.allowedTypes??Dn).join(","),Le.multiple=(ee.maxFiles??4)>1,Le.style.display="none",Le.setAttribute("aria-label","Attach files"),ke.insertBefore(Le,N)),Be=m("div","persona-send-button-wrapper"),xe=m("button","persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-attachment-button"),xe.type="button",xe.setAttribute("aria-label",ee.buttonTooltipText??"Attach file");let Ke=ee.buttonIconName??"paperclip",ct=At,$t=parseFloat(ct)||40,nn=Math.round($t*.6);xe.style.width=ct,xe.style.height=ct,xe.style.minWidth=ct,xe.style.minHeight=ct,xe.style.fontSize="18px",xe.style.lineHeight="1",xe.style.backgroundColor="transparent",xe.style.color="var(--persona-primary, #111827)",xe.style.border="none",xe.style.borderRadius="6px",xe.style.transition="background-color 0.15s ease",xe.addEventListener("mouseenter",()=>{xe.style.backgroundColor="var(--persona-palette-colors-black-alpha-50, rgba(0, 0, 0, 0.05))"}),xe.addEventListener("mouseleave",()=>{xe.style.backgroundColor="transparent"});let bn=ae(Ke,nn,"currentColor",1.5);bn?xe.appendChild(bn):xe.textContent="\u{1F4CE}",xe.addEventListener("click",on=>{on.preventDefault(),Le?.click()}),Be.appendChild(xe);let Vt=ee.buttonTooltipText??"Attach file",Mt=m("div","persona-send-button-tooltip");Mt.textContent=Vt,Be.appendChild(Mt),et.append(Be),!Tt&&Le&&Qe&&(Tt=Yr.fromConfig(ee),Tt.setPreviewsContainer(Qe),Le.addEventListener("change",async()=>{Tt&&Le?.files&&(await Tt.handleFileSelect(Le.files),Le.value="")})),ue.querySelector(".persona-attachment-drop-overlay")||ue.appendChild(su(ee.dropOverlay))}else{Be.style.display="";let ee=o.attachments??{};Le&&(Le.accept=(ee.allowedTypes??Dn).join(","),Le.multiple=(ee.maxFiles??4)>1),Tt&&Tt.updateConfig({allowedTypes:ee.allowedTypes,maxFileSize:ee.maxFileSize,maxFiles:ee.maxFiles})}else Be&&(Be.style.display="none"),Tt&&Tt.clearAttachments(),ue.querySelector(".persona-attachment-drop-overlay")?.remove();let Dt=o.sendButton??{},Hr=Dt.useIcon??!1,js=Dt.iconText??"\u2191",Qo=Dt.iconName,Dr=Dt.tooltipText??"Send message",Si=Dt.showTooltip??!1,Co=Dt.size??"40px",Rn=Dt.backgroundColor,Ao=Dt.textColor;if(Hr){if(ne.style.width=Co,ne.style.height=Co,ne.style.minWidth=Co,ne.style.minHeight=Co,ne.style.fontSize="18px",ne.style.lineHeight="1",ne.innerHTML="",Ao?ne.style.color=Ao:ne.style.color="var(--persona-button-primary-fg, #ffffff)",Qo){let ee=parseFloat(Co)||24,tt=Ao?.trim()||"currentColor",At=ae(Qo,ee,tt,2);At?ne.appendChild(At):ne.textContent=js}else ne.textContent=js;ne.className="persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer",Rn?(ne.style.backgroundColor=Rn,ne.classList.remove("persona-bg-persona-primary")):(ne.style.backgroundColor="",ne.classList.add("persona-bg-persona-primary"))}else ne.textContent=o.copy?.sendButtonLabel??"Send",ne.style.width="",ne.style.height="",ne.style.minWidth="",ne.style.minHeight="",ne.style.fontSize="",ne.style.lineHeight="",ne.className="persona-rounded-button persona-bg-persona-accent persona-px-4 persona-py-2 persona-text-sm persona-font-semibold persona-text-white disabled:persona-opacity-50 persona-cursor-pointer",Rn?(ne.style.backgroundColor=Rn,ne.classList.remove("persona-bg-persona-accent")):ne.classList.add("persona-bg-persona-accent"),Ao?ne.style.color=Ao:ne.classList.add("persona-text-white");Dt.borderWidth?(ne.style.borderWidth=Dt.borderWidth,ne.style.borderStyle="solid"):(ne.style.borderWidth="",ne.style.borderStyle=""),Dt.borderColor?ne.style.borderColor=Dt.borderColor:ne.style.borderColor="",Dt.paddingX?(ne.style.paddingLeft=Dt.paddingX,ne.style.paddingRight=Dt.paddingX):(ne.style.paddingLeft="",ne.style.paddingRight=""),Dt.paddingY?(ne.style.paddingTop=Dt.paddingY,ne.style.paddingBottom=Dt.paddingY):(ne.style.paddingTop="",ne.style.paddingBottom="");let Nr=De?.querySelector(".persona-send-button-tooltip");if(Si&&Dr)if(Nr)Nr.textContent=Dr,Nr.style.display="";else{let ee=document.createElement("div");ee.className="persona-send-button-tooltip",ee.textContent=Dr,De?.insertBefore(ee,ne)}else Nr&&(Nr.style.display="none");let qs=o.layout?.contentMaxWidth??(J()?o.launcher?.composerBar?.contentMaxWidth??"720px":void 0);qs?(ye.style.maxWidth=qs,ye.style.marginLeft="auto",ye.style.marginRight="auto",ye.style.width="100%",ke&&(ke.style.maxWidth=qs,ke.style.marginLeft="auto",ke.style.marginRight="auto"),bt&&(bt.style.maxWidth=qs,bt.style.marginLeft="auto",bt.style.marginRight="auto")):(ye.style.maxWidth="",ye.style.marginLeft="",ye.style.marginRight="",ye.style.width="",ke&&(ke.style.maxWidth="",ke.style.marginLeft="",ke.style.marginRight=""),bt&&(bt.style.maxWidth="",bt.style.marginLeft="",bt.style.marginRight=""));let Qn=o.statusIndicator??{},ef=Qn.visible??!0;if(M.style.display=ef?"":"none",F){let ee=F.getStatus();Et(M,(At=>At==="idle"?Qn.idleText??Rt.idle:At==="connecting"?Qn.connectingText??Rt.connecting:At==="connected"?Qn.connectedText??Rt.connected:At==="error"?Qn.errorText??Rt.error:Rt[At])(ee),Qn,ee)}M.classList.remove("persona-text-left","persona-text-center","persona-text-right");let tf=Qn.align==="left"?"persona-text-left":Qn.align==="center"?"persona-text-center":"persona-text-right";M.classList.add(tf)},open(){D()&&mt(!0,"api")},close(){D()&&mt(!1,"api")},toggle(){D()&&mt(!_,"api")},reconnect(){F.reconnectNow()},clearChat(){En=!1,F.clearMessages(),mo.clear(),Vn();try{localStorage.removeItem(gr),o.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${gr}`)}catch(g){console.error("[AgentWidget] Failed to clear default localStorage:",g)}if(o.clearChatHistoryStorageKey&&o.clearChatHistoryStorageKey!==gr)try{localStorage.removeItem(o.clearChatHistoryStorageKey),o.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${o.clearChatHistoryStorageKey}`)}catch(g){console.error("[AgentWidget] Failed to clear custom localStorage:",g)}let i=new CustomEvent("persona:clear-chat",{detail:{timestamp:new Date().toISOString()}});window.dispatchEvent(i),d?.clear&&li(()=>d.clear(),"[AgentWidget] Failed to clear storage adapter:"),c={},T.syncFromMetadata(),Ae?.clear(),ze?.reset(),Ne?.update()},setMessage(i){return!N||F.isStreaming()?!1:(!_&&D()&&mt(!0,"system"),N.value=i,N.dispatchEvent(new Event("input",{bubbles:!0})),!0)},submitMessage(i){if(F.isStreaming())return!1;let g=i?.trim()||N.value.trim();return g?(!_&&D()&&mt(!0,"system"),N.value="",N.style.height="auto",F.sendMessage(g),!0):!1},startVoiceRecognition(){return F.isStreaming()?!1:o.voiceRecognition?.provider?.type==="runtype"?(F.isVoiceActive()||(!_&&D()&&mt(!0,"system"),Ge.manuallyDeactivated=!1,yn(),F.toggleVoice().then(()=>{Ge.active=F.isVoiceActive(),Ln("user"),F.isVoiceActive()&&Go()})),!0):An?!0:yc()?(!_&&D()&&mt(!0,"system"),Ge.manuallyDeactivated=!1,yn(),Fs("user"),!0):!1},stopVoiceRecognition(){return o.voiceRecognition?.provider?.type==="runtype"?F.isVoiceActive()?(F.toggleVoice().then(()=>{Ge.active=!1,Ge.manuallyDeactivated=!0,yn(),Ln("user"),In()}),!0):!1:An?(Ge.manuallyDeactivated=!0,yn(),Gn("user"),!0):!1},injectMessage(i){return!_&&D()&&mt(!0,"system"),F.injectMessage(i)},injectAssistantMessage(i){!_&&D()&&mt(!0,"system");let g=F.injectAssistantMessage(i);return ce&&(ce=!1,he&&(clearTimeout(he),he=null),setTimeout(()=>{F&&!F.isStreaming()&&F.continueConversation()},100)),g},injectUserMessage(i){return!_&&D()&&mt(!0,"system"),F.injectUserMessage(i)},injectSystemMessage(i){return!_&&D()&&mt(!0,"system"),F.injectSystemMessage(i)},injectMessageBatch(i){return!_&&D()&&mt(!0,"system"),F.injectMessageBatch(i)},injectComponentDirective(i){return!_&&D()&&mt(!0,"system"),F.injectComponentDirective(i)},injectTestMessage(i){!_&&D()&&mt(!0,"system"),F.injectTestEvent(i)},async connectStream(i,g){return F.connectStream(i,g)},__pushEventStreamEvent(i){Ae&&(ze?.processEvent(i.type,i.payload),Ae.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:i.type,timestamp:Date.now(),payload:JSON.stringify(i.payload)}))},showEventStream(){!Y||!Ae||Xa()},hideEventStream(){Pe&&br()},isEventStreamVisible(){return Pe},showArtifacts(){Xt(o)&&(En=!1,_o=!0,kn(),Je?.setMobileOpen(!0))},hideArtifacts(){Xt(o)&&(En=!0,kn())},upsertArtifact(i){return Xt(o)?(Eo(o.features?.artifacts,i.artifactType)==="panel"&&(En=!1,_o=!0),F.upsertArtifact(i)):null},selectArtifact(i){Xt(o)&&F.selectArtifact(i)},clearArtifacts(){Xt(o)&&F.clearArtifacts()},getArtifacts(){return F?.getArtifacts()??[]},getSelectedArtifactId(){return F?.getSelectedArtifactId()??null},focusInput(){return I&&!_&&!J()||!N?!1:(N.focus(),!0)},async resolveApproval(i,g,h){let S=F.getMessages().find(k=>k.variant==="approval"&&k.approval?.id===i);if(!S?.approval)throw new Error(`Approval not found: ${i}`);if(S.approval.toolType==="webmcp"){F.resolveWebMcpApproval(S.id,g);return}return F.resolveApproval(S.approval,g,h)},getMessages(){return F.getMessages()},getStatus(){return F.getStatus()},getPersistentMetadata(){return{...c}},updatePersistentMetadata(i){x(i)},on(i,g){return l.on(i,g)},off(i,g){l.off(i,g)},isOpen(){return D()&&_},isVoiceActive(){return Ge.active},toggleReadAloud(i){F.toggleReadAloud(i)},stopReadAloud(){F.stopSpeaking()},getReadAloudState(i){return F.getReadAloudState(i)},onReadAloudChange(i){return F.onReadAloudChange(i)},getState(){return{open:D()&&_,launcherEnabled:I,voiceActive:Ge.active,streaming:F.isStreaming()}},showCSATFeedback(i){!_&&D()&&mt(!0,"system");let g=ye.querySelector(".persona-feedback-container");g&&g.remove();let h=tu({onSubmit:async(b,S)=>{F.isClientTokenMode()&&await F.submitCSATFeedback(b,S),i?.onSubmit?.(b,S)},onDismiss:i?.onDismiss,...i});ye.appendChild(h),h.scrollIntoView({behavior:"smooth",block:"end"})},showNPSFeedback(i){!_&&D()&&mt(!0,"system");let g=ye.querySelector(".persona-feedback-container");g&&g.remove();let h=nu({onSubmit:async(b,S)=>{F.isClientTokenMode()&&await F.submitNPSFeedback(b,S),i?.onSubmit?.(b,S)},onDismiss:i?.onDismiss,...i});ye.appendChild(h),h.scrollIntoView({behavior:"smooth",block:"end"})},async submitCSATFeedback(i,g){return F.submitCSATFeedback(i,g)},async submitNPSFeedback(i,g){return F.submitNPSFeedback(i,g)},destroy(){hi(),bo!=null&&(clearInterval(bo),bo=null),qe.forEach(i=>i()),Ee.remove(),it?.remove(),Ot?.destroy(),zt?.remove(),go&&A.removeEventListener("click",go)}};if(((n?.debugTools??!1)||!!o.debug)&&typeof window<"u"){let i=window.AgentWidgetBrowser,g={controller:It,getMessages:It.getMessages,getStatus:It.getStatus,getMetadata:It.getPersistentMetadata,updateMetadata:It.updatePersistentMetadata,clearHistory:()=>It.clearChat(),setVoiceActive:h=>h?It.startVoiceRecognition():It.stopVoiceRecognition()};window.AgentWidgetBrowser=g,qe.push(()=>{window.AgentWidgetBrowser===g&&(window.AgentWidgetBrowser=i)})}if(typeof window<"u"){let i=t.getAttribute("data-persona-instance")||t.id||"persona-"+Math.random().toString(36).slice(2,8),g=O=>{let G=O.detail;(!G?.instanceId||G.instanceId===i)&&It.focusInput()};if(window.addEventListener("persona:focusInput",g),qe.push(()=>{window.removeEventListener("persona:focusInput",g)}),Y){let O=se=>{let de=se.detail;(!de?.instanceId||de.instanceId===i)&&It.showEventStream()},G=se=>{let de=se.detail;(!de?.instanceId||de.instanceId===i)&&It.hideEventStream()};window.addEventListener("persona:showEventStream",O),window.addEventListener("persona:hideEventStream",G),qe.push(()=>{window.removeEventListener("persona:showEventStream",O),window.removeEventListener("persona:hideEventStream",G)})}let h=O=>{let G=O.detail;(!G?.instanceId||G.instanceId===i)&&It.showArtifacts()},b=O=>{let G=O.detail;(!G?.instanceId||G.instanceId===i)&&It.hideArtifacts()},S=O=>{let G=O.detail;G?.instanceId&&G.instanceId!==i||G?.artifact&&It.upsertArtifact(G.artifact)},k=O=>{let G=O.detail;G?.instanceId&&G.instanceId!==i||typeof G?.id=="string"&&It.selectArtifact(G.id)},Q=O=>{let G=O.detail;(!G?.instanceId||G.instanceId===i)&&It.clearArtifacts()};window.addEventListener("persona:showArtifacts",h),window.addEventListener("persona:hideArtifacts",b),window.addEventListener("persona:upsertArtifact",S),window.addEventListener("persona:selectArtifact",k),window.addEventListener("persona:clearArtifacts",Q),qe.push(()=>{window.removeEventListener("persona:showArtifacts",h),window.removeEventListener("persona:hideArtifacts",b),window.removeEventListener("persona:upsertArtifact",S),window.removeEventListener("persona:selectArtifact",k),window.removeEventListener("persona:clearArtifacts",Q)})}let dn=Qb(o.persistState);if(dn&&D()){let i=Jb(dn.storage),g=`${dn.keyPrefix}widget-open`,h=`${dn.keyPrefix}widget-voice`,b=`${dn.keyPrefix}widget-voice-mode`;if(i){let S=dn.persist?.openState&&i.getItem(g)==="true",k=dn.persist?.voiceState&&i.getItem(h)==="true",Q=dn.persist?.voiceState&&i.getItem(b)==="true";if(S&&setTimeout(()=>{It.open(),setTimeout(()=>{if(k||Q)It.startVoiceRecognition();else if(dn.persist?.focusInput){let O=t.querySelector("textarea");O&&O.focus()}},100)},0),dn.persist?.openState&&(l.on("widget:opened",()=>{i.setItem(g,"true")}),l.on("widget:closed",()=>{i.setItem(g,"false")})),dn.persist?.voiceState&&(l.on("voice:state",O=>{i.setItem(h,O.active?"true":"false")}),l.on("user:message",O=>{i.setItem(b,O.viaVoice?"true":"false")})),dn.clearOnChatClear){let O=()=>{i.removeItem(g),i.removeItem(h),i.removeItem(b)},G=()=>O();window.addEventListener("persona:clear-chat",G),qe.push(()=>{window.removeEventListener("persona:clear-chat",G)})}}}if(w&&D()&&setTimeout(()=>{It.open()},0),qo(),!Su){let i=Ks(()=>{F&&(ni++,mo.clear(),kr(ye,F.getMessages(),Ce))});qe.push(i)}return It};var iu=(t,e)=>{let n=t.trim(),o=/^(\d+(?:\.\d+)?)px$/i.exec(n);if(o)return Math.max(0,parseFloat(o[1]));let r=/^(\d+(?:\.\d+)?)%$/i.exec(n);return r?Math.max(0,e*parseFloat(r[1])/100):420},Yb=(t,e)=>{if(e===!1){t.style.maxHeight="";return}t.style.maxHeight="100vh",t.style.maxHeight=e},Zb=(t,e)=>{e===!1?(t.style.position="relative",t.style.top=""):(t.style.position="sticky",t.style.top="0")},ev=(t,e)=>{let n=t.parentElement;if(!n)return;let o=t.ownerDocument.createElement("div");o.style.cssText="width:0;height:1px;margin:0;padding:0;border:0;visibility:hidden;",n.appendChild(o);let r=o.offsetHeight>0;o.style.height="100%";let s=o.offsetHeight>0;o.remove(),!(!r||s)&&console.warn("[AgentWidget] Docked mode: no ancestor of the dock target provides a definite height, so the dock panel cannot size to your layout."+(e.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 ${e.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.")},lu=(t,e)=>{let n=e?.launcher?.enabled??!0;t.className="persona-host",t.style.height=n?"":"100%",t.style.display=n?"":"flex",t.style.flexDirection=n?"":"column",t.style.flex=n?"":"1 1 auto",t.style.minHeight=n?"":"0"},Tl=t=>{t.style.position="",t.style.top="",t.style.bottom="",t.style.left="",t.style.right="",t.style.zIndex="",t.style.transform="",t.style.pointerEvents=""},cu=t=>{t.style.inset="",t.style.width="",t.style.height="",t.style.maxWidth="",t.style.maxHeight="",t.style.minWidth="",Tl(t)},Cl=t=>{t.style.transition=""},Al=t=>{t.style.display="",t.style.flexDirection="",t.style.flex="",t.style.minHeight="",t.style.minWidth="",t.style.width="",t.style.height="",t.style.alignItems="",t.style.transition="",t.style.transform="",t.style.marginLeft=""},Sl=t=>{t.style.width="",t.style.maxWidth="",t.style.minWidth="",t.style.flex="1 1 auto"},Va=(t,e)=>{t.style.width="",t.style.minWidth="",t.style.maxWidth="",t.style.boxSizing="",e.style.alignItems=""},tv=(t,e,n,o,r)=>{r?n.parentElement!==e&&(t.replaceChildren(),e.replaceChildren(n,o),t.appendChild(e)):n.parentElement===e&&(e.replaceChildren(),t.appendChild(n),t.appendChild(o))},nv=(t,e,n,o,r,s)=>{let a=s?e:t;r==="left"?a.firstElementChild!==o&&a.replaceChildren(o,n):a.lastElementChild!==o&&a.replaceChildren(n,o)},ov=t=>{let e=sr(t),n=e.components?.panel,o=(r,s)=>r==null||r===""?s:Kt(e,r)??r;return{inset:o(n?.inset,fa),canvasBackground:o(n?.canvasBackground,ga)}},du=(t,e,n,o)=>{if(!e){t.style.padding="",t.style.background="",t.style.boxSizing="";return}t.style.boxSizing="border-box",t.style.padding=n,t.style.background=o},rv=(t,e,n,o,r,s,a,l)=>{let p=un(s),d=p.reveal==="push",c=l!=null,u=l?.inset??"",w=l?.canvasBackground??"";tv(t,e,n,o,d),nv(t,e,n,o,p.side,d),t.dataset.personaHostLayout="docked",t.dataset.personaDockSide=p.side,t.dataset.personaDockOpen=a?"true":"false",t.style.width="100%",t.style.maxWidth="100%",t.style.minWidth="0",t.style.height="100%",t.style.minHeight="0",t.style.position="relative",n.style.display="flex",n.style.flexDirection="column",n.style.minHeight="0",n.style.position="relative",r.className="persona-host",r.style.height="100%",r.style.minHeight="0",r.style.display="flex",r.style.flexDirection="column",r.style.flex="1 1 auto";let f=t.ownerDocument.defaultView,v=s?.launcher?.mobileFullscreen??!0,x=s?.launcher?.mobileBreakpoint??640,P=f!=null?f.innerWidth<=x:!1;if(v&&P&&a){t.dataset.personaDockMobileFullscreen="true",t.removeAttribute("data-persona-dock-reveal"),Al(e),Cl(o),cu(o),Sl(n),Va(r,o),du(o,!1,"",""),t.style.display="flex",t.style.flexDirection="column",t.style.alignItems="stretch",t.style.overflow="hidden",n.style.flex="1 1 auto",n.style.width="100%",n.style.minWidth="0",o.style.display="flex",o.style.flexDirection="column",o.style.position="fixed",o.style.inset="0",o.style.width="100%",o.style.height="100%",o.style.maxWidth="100%",o.style.minWidth="0",o.style.minHeight="0",o.style.overflow="hidden",o.style.zIndex=String(s?.launcher?.zIndex??Ut),o.style.transform="none",o.style.transition="none",o.style.pointerEvents="auto",o.style.flex="none",d&&(e.style.display="flex",e.style.flexDirection="column",e.style.width="100%",e.style.height="100%",e.style.minHeight="0",e.style.minWidth="0",e.style.flex="1 1 auto",e.style.alignItems="stretch",e.style.transform="none",e.style.marginLeft="0",e.style.transition="none",n.style.flex="1 1 auto",n.style.width="100%",n.style.maxWidth="100%",n.style.minWidth="0");return}if(t.removeAttribute("data-persona-dock-mobile-fullscreen"),cu(o),Yb(o,p.maxHeight),du(o,c&&a,u,w),p.reveal==="overlay"){t.style.display="flex",t.style.flexDirection="row",t.style.alignItems="stretch",t.style.overflow="hidden",t.dataset.personaDockReveal="overlay",Al(e),Cl(o),Sl(n),Va(r,o);let T=p.animate?"transform 180ms ease":"none",I=p.side==="right"?"translateX(100%)":"translateX(-100%)",H=a?"translateX(0)":I;o.style.display="flex",o.style.flexDirection="column",o.style.flex="none",o.style.position="absolute",o.style.top="0",o.style.bottom="0",o.style.width=p.width,o.style.maxWidth=p.width,o.style.minWidth=p.width,o.style.minHeight="0",o.style.overflow="hidden",o.style.transition=T,o.style.transform=H,o.style.pointerEvents=a?"auto":"none",o.style.zIndex="2",p.side==="right"?(o.style.right="0",o.style.left=""):(o.style.left="0",o.style.right="")}else if(p.reveal==="push"){t.style.display="flex",t.style.flexDirection="row",t.style.alignItems="stretch",t.style.overflow="hidden",t.dataset.personaDockReveal="push",Cl(o),Tl(o),Va(r,o);let T=iu(p.width,t.clientWidth),I=Math.max(0,t.clientWidth),H=p.animate?"margin-left 180ms ease":"none",q=p.side==="right"?a?-T:0:a?0:-T;e.style.display="flex",e.style.flexDirection="row",e.style.flex="0 0 auto",e.style.minHeight="0",e.style.minWidth="0",e.style.alignItems="stretch",e.style.height="100%",e.style.width=`${I+T}px`,e.style.transition=H,e.style.marginLeft=`${q}px`,e.style.transform="",n.style.flex="0 0 auto",n.style.flexGrow="0",n.style.flexShrink="0",n.style.width=`${I}px`,n.style.maxWidth=`${I}px`,n.style.minWidth=`${I}px`,o.style.display="flex",o.style.flexDirection="column",o.style.flex="0 0 auto",o.style.flexShrink="0",o.style.width=p.width,o.style.minWidth=p.width,o.style.maxWidth=p.width,o.style.position="relative",o.style.top="",o.style.overflow="hidden",o.style.transition="none",o.style.pointerEvents=a?"auto":"none"}else{t.style.display="flex",t.style.flexDirection="row",t.style.alignItems="stretch",t.style.overflow="",Al(e),Tl(o),Sl(n),Va(r,o);let T=p.reveal==="emerge";T?t.dataset.personaDockReveal="emerge":t.removeAttribute("data-persona-dock-reveal");let I=a?p.width:"0px",H=p.animate?`width 180ms ease, min-width 180ms ease, max-width 180ms ease, flex-basis 180ms ease${c?", padding 180ms ease":""}`:"none",q=!a;if(o.style.display="flex",o.style.flexDirection="column",o.style.flex=`0 0 ${I}`,o.style.width=I,o.style.maxWidth=I,o.style.minWidth=I,o.style.minHeight="0",Zb(o,p.maxHeight),o.style.overflow=T||q?"hidden":"visible",o.style.transition=H,T){o.style.alignItems=p.side==="right"?"flex-start":"flex-end";let U=c?`calc(${iu(p.width,t.clientWidth)}px - (2 * ${u}))`:p.width;r.style.width=U,r.style.minWidth=U,r.style.maxWidth=U,r.style.boxSizing="border-box"}}},sv=(t,e)=>{let n=t.ownerDocument.createElement("div");return lu(n,e),t.appendChild(n),{mode:"direct",host:n,shell:null,syncWidgetState:()=>{},updateConfig(o){lu(n,o)},destroy(){n.remove()}}},av=(t,e)=>{let{ownerDocument:n}=t,o=t.parentElement;if(!o)throw new Error("Docked widget target must be attached to the DOM");let r=t.tagName.toUpperCase();if(r==="BODY"||r==="HTML")throw new Error('Docked widget target must be a concrete container element, not "body" or "html"');let s=t.nextSibling,a=n.createElement("div"),l=n.createElement("div"),p=n.createElement("div"),d=n.createElement("aside"),c=n.createElement("div"),u=e?.launcher?.enabled??!0?e?.launcher?.autoExpand??!1:!0;l.dataset.personaDockRole="push-track",p.dataset.personaDockRole="content",d.dataset.personaDockRole="panel",c.dataset.personaDockRole="host",d.appendChild(c),o.insertBefore(a,t),p.appendChild(t);let w=null,f=()=>{w?.disconnect(),w=null},v=null,x=()=>{v=e?.launcher?.detachedPanel===!0?ov(e):null};x();let P=()=>{rv(a,l,p,d,c,e,u,v)},W=null,T=()=>{W?.(),W=null,!(e?.launcher?.detachedPanel!==!0||e?.colorScheme!=="auto")&&(W=ma(()=>{x(),P()}))},I=()=>{f(),un(e).reveal==="push"&&(typeof ResizeObserver>"u"||(w=new ResizeObserver(()=>{P()}),w.observe(a)))},H=!1,q=()=>{P(),I(),u&&!H&&a.dataset.personaDockMobileFullscreen!=="true"&&(H=!0,ev(a,un(e)))},U=a.ownerDocument.defaultView,$=()=>{q()};return U?.addEventListener("resize",$),un(e).reveal==="push"?(l.appendChild(p),l.appendChild(d),a.appendChild(l)):(a.appendChild(p),a.appendChild(d)),q(),T(),{mode:"docked",host:c,shell:a,syncWidgetState(C){let j=C.launcherEnabled?C.open:!0;u!==j&&(u=j,q())},updateConfig(C){e=C,(e?.launcher?.enabled??!0)===!1&&(u=!0),x(),q(),T()},destroy(){U?.removeEventListener("resize",$),W?.(),W=null,f(),o.isConnected&&(s&&s.parentNode===o?o.insertBefore(t,s):o.appendChild(t)),a.remove()}}},pu=(t,e)=>Ft(e)?av(t,e):sv(t,e);var vs={desktop:{w:1280,h:800},mobile:{w:390,h:844}},uu=.15,fu=1.5,Ml="persona-preview-shell-theme",iv={load:()=>null,save:()=>{},clear:()=>{}},lv=["How do I get started?","Pricing & plans","Talk to support"];function El(t){return t.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function cv(t){return t==="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 gu(t){let e=cv(t);return`* { box-sizing: border-box; }
140
+ `}if(!b&&!i){let kt="max-height: -moz-available !important; max-height: stretch !important;",Xt=g?"":"padding-top: 1.25em !important;",Vs=g?"":`z-index: ${o.launcher?.zIndex??zt} !important;`;We.style.cssText+=kt+Xt+Vs}Ao()};Ws(),rs(t,o),ws(t,o),xs(t,o),Cr=()=>{Ws(),rs(t,o),ws(t,o),xs(t,o),Ms?t.style.setProperty("--persona-artifact-welded-outer-radius",Ms):t.style.removeProperty("--persona-artifact-welded-outer-radius")};let qe=[];qe.push(()=>{document.removeEventListener("keydown",Ql)}),qe.push(()=>{vr!==null&&clearTimeout(vr)});let Cn=null,An=null;qe.push(()=>{Cn?.(),Cn=null,An?.(),An=null}),xr&&qe.push(()=>{xr?.disconnect(),xr=null}),qe.push(()=>{Tr?.(),Tr=null,oi(),vt&&(vt.remove(),vt=null),et?.element.style.removeProperty("width"),et?.element.style.removeProperty("maxWidth")}),Y&&qe.push(()=>{Je!==null&&(cancelAnimationFrame(Je),Je=null),Ne?.destroy(),Ne=null,Ae?.destroy(),Ae=null,ue=null});let mo=null,Yl=()=>{mo&&(mo(),mo=null),o.colorScheme==="auto"&&(mo=va(()=>{rs(t,o)}))};Yl(),qe.push(()=>{mo&&(mo(),mo=null)}),qe.push(a);let Bs=o.features?.streamAnimation;if(Bs?.type&&Bs.type!=="none"){let i=ur(Bs.type,Bs.plugins);i&&(Ba(i,t),qe.push(()=>Lp(t)))}let Hs=Gp(bt),ho=null,_,ri=i=>{if(!_)return;let g=i??_.getMessages(),h=o.features?.suggestReplies?.enabled!==!1?vd(g):null;h?Hs.render(h,_,he,g,o.suggestionChipsConfig,{agentPushed:!0}):g.some(b=>b.role==="user")?Hs.render([],_,he,g):Hs.render(o.suggestionChips,_,he,g,o.suggestionChipsConfig)},hn=!1,yo=wp(),zo=new Map,bo=new Map,qn=new Map,si=0,Ou=Hn()!==null,Zt=ka(),an=0,Vn=null,ln=!1,Ds=!1,Kn=0,yn=null,vo=null,ai=!1,Ns=!1,ii=null,Mr=!0,li=!1,ci=null,_u=4,Fs=24,$u=80,di=new Map,Xe={active:!1,manuallyDeactivated:!1,lastUserMessageWasVoice:!1,lastUserMessageId:null},Zl=o.voiceRecognition?.autoResume??!1,Pn=i=>{l.emit("voice:state",{active:Xe.active,source:i,timestamp:Date.now()})},bn=()=>{C(i=>({...i,voiceState:{active:Xe.active,timestamp:Date.now(),manuallyDeactivated:Xe.manuallyDeactivated}}))},zu=()=>{if(o.voiceRecognition?.enabled===!1)return;let i=El(c.voiceState),g=!!i.active,h=Number(i.timestamp??0);Xe.manuallyDeactivated=!!i.manuallyDeactivated,g&&Date.now()-h<uy&&setTimeout(()=>{Xe.active||(Xe.manuallyDeactivated=!1,o.voiceRecognition?.provider?.type==="runtype"?_.toggleVoice().then(()=>{Xe.active=_.isVoiceActive(),Pn("restore"),_.isVoiceActive()&&Ko()}):$s("restore"))},1e3)},Uu=()=>_?yu(_.getMessages()).filter(i=>!i.__skipPersist):[],Os=null,ec=(i,g)=>{typeof console<"u"&&console.error(i,g)},pi=(i,g)=>{let h=()=>{try{let Q=i();return!Q||typeof Q.then!="function"?null:Promise.resolve(Q).catch(O=>{ec(g,O)})}catch(Q){return ec(g,Q),null}},b=Os,S=b?b.then(()=>h()??void 0):h();if(!S)return;let L=S.finally(()=>{Os===L&&(Os=null)});Os=L};function ui(i){if(!d?.save)return;let h={messages:i?yu(i):_?Uu():[],metadata:c,artifacts:gn.artifacts,selectedArtifactId:gn.selectedId};pi(()=>d.save(h),"[AgentWidget] Failed to persist state:")}let Uo=null,tc=()=>We.querySelector("#persona-scroll-container")||ie,Er=()=>{Uo!==null&&(cancelAnimationFrame(Uo),Uo=null),ln=!1},nc=()=>{Vn!==null&&(cancelAnimationFrame(Vn),Vn=null),Ds=!1,Er()},ju=()=>hn&&gi()&&(Qt()!=="anchor-top"||Dl()),fi=()=>{let i=po()||"Jump to latest",g=ju();Lt.toggleAttribute("data-persona-scroll-to-bottom-streaming",g),Kn>0?(uo.textContent=String(Kn),uo.style.display="",Lt.setAttribute("aria-label",`${i} (${Kn} new)`)):(uo.textContent="",uo.style.display="none",Lt.setAttribute("aria-label",g?`${i} (response streaming below)`:i))},oc=()=>{Kn!==0&&(Kn=0,fi())},gi=()=>$n()?!Zt.isFollowing():!io(ie,Fs),en=()=>{if(!Ss()||it){Lt.parentNode&&Lt.remove(),Lt.style.display="none";return}Lt.parentNode!==pe&&pe.appendChild(Lt),Fo();let g=En(ie)>0&&gi();g?fi():oc(),Lt.style.display=g?"":"none"},kr=()=>{Zt.pause()&&(nc(),en())},Gn=()=>{Zt.resume(),oc(),en()},Qn=(i=!1)=>{$n()&&Zt.isFollowing()&&(!i&&!hn||(Vn!==null&&(cancelAnimationFrame(Vn),Vn=null),Ds=!0,Vn=requestAnimationFrame(()=>{Vn=null,Ds=!1,Zt.isFollowing()&&qu(tc(),i?220:140)})))},rc=(i,g,h,b=()=>!0)=>{let S=i.scrollTop,L=g(),Q=L-S;if(Er(),Math.abs(Q)<1){ln=!0,i.scrollTop=L,an=i.scrollTop,ln=!1;return}let O=performance.now();ln=!0;let G=le=>1-Math.pow(1-le,3),re=le=>{if(!b()){Er();return}let se=g();se!==L&&(L=se,Q=L-S);let xe=le-O,Ve=Math.min(xe/h,1),gt=G(Ve),at=S+Q*gt;i.scrollTop=at,an=i.scrollTop,Ve<1?Uo=requestAnimationFrame(re):(i.scrollTop=L,an=i.scrollTop,Uo=null,ln=!1)};Uo=requestAnimationFrame(re)},qu=(i,g=500)=>{let h=En(i)-i.scrollTop;if(Math.abs(h)<1){an=i.scrollTop;return}if(Math.abs(h)>=$u){Er(),ln=!0,i.scrollTop=En(i),an=i.scrollTop,ln=!1;return}rc(i,()=>En(i),g,()=>Zt.isFollowing())},sc=()=>{let i=tc();ln=!0,i.scrollTop=En(i),an=i.scrollTop,ln=!1,en()},ac=i=>{let g=0,h=i;for(;h&&h!==ie;)g+=h.offsetTop,h=h.offsetParent;return g},ic=()=>{if(Ru()!=="last-user-turn")return!1;let i=_?.getMessages()??[];if(i.length<2)return!1;let g=[...i].reverse().find(L=>L.role==="user");if(!g)return!1;let h=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(g.id):g.id.replace(/\\/g,"\\\\").replace(/"/g,'\\"'),b=ie.querySelector(`[data-message-id="${h}"]`);if(!b)return!1;let S=Math.min(Math.max(0,ac(b)-Bl()),En(ie));return ln=!0,ie.scrollTop=S,an=ie.scrollTop,ln=!1,Qt()==="follow"&&!io(ie,Fs)&&Zt.pause(),en(),!0},lc=i=>{zn.style.height=`${Math.max(0,Math.round(i))}px`,yn&&(yn.spacerHeight=Math.max(0,i))},Lr=()=>{vo!==null&&(cancelAnimationFrame(vo),vo=null),Er(),yn=null,zn.style.height="0px"},Vu=i=>{vo!==null&&cancelAnimationFrame(vo),vo=requestAnimationFrame(()=>{vo=null;let g=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(i):i.replace(/\\/g,"\\\\").replace(/"/g,'\\"'),h=ie.querySelector(`[data-message-id="${g}"]`);if(!h)return;let b=ac(h),S=yn?.spacerHeight??0,L=ie.scrollHeight-S,{targetScrollTop:Q,spacerHeight:O}=Tp({anchorOffsetTop:b,topOffset:Bl(),viewportHeight:ie.clientHeight,contentHeight:L});yn={initialSpacerHeight:O,contentHeightAtAnchor:L,spacerHeight:O},lc(O),rc(ie,()=>Q,220)})},Ku=()=>{if($n()){if(!Zt.isFollowing()||io(ie,1))return;Qn(!hn);return}if(yn&&yn.initialSpacerHeight>0){let i=ie.scrollHeight-yn.spacerHeight,g=Mp({initialSpacerHeight:yn.initialSpacerHeight,contentHeightAtAnchor:yn.contentHeightAtAnchor,currentContentHeight:i});g!==yn.spacerHeight&&lc(g)}en()},Gu=i=>{let g=Qt();g==="follow"?(Gn(),Qn(!0)):g==="anchor-top"&&(Mr=!1,li=!0,Vu(i))},Qu=()=>{if(Qt()==="anchor-top"){if(li){Mr=!1;return}Mr=!0,Lr(),Gn(),Qn(!0)}},Xu=i=>{let g=new Map;i.forEach(h=>{let b=di.get(h.id);g.set(h.id,{streaming:h.streaming,role:h.role}),!b&&h.role==="assistant"&&(l.emit("assistant:message",h),!Ns&&(Qt()!=="anchor-top"||Dl())&&gi()&&(Kn+=1,fi(),en(),Fl(Kn===1?"1 new message below.":`${Kn} new messages below.`))),h.role==="assistant"&&b?.streaming&&h.streaming===!1&&l.emit("assistant:complete",h),h.variant==="approval"&&h.approval&&(b?h.approval.status!=="pending"&&l.emit("approval:resolved",{approval:h.approval,decision:h.approval.status}):l.emit("approval:requested",{approval:h.approval,message:h}))}),di.clear(),g.forEach((h,b)=>{di.set(b,h)})},Ju=(i,g,h)=>{let b=document.createElement("div"),L=(()=>{let R=r.find(Fe=>Fe.renderLoadingIndicator);if(R?.renderLoadingIndicator)return R.renderLoadingIndicator;if(o.loadingIndicator?.render)return o.loadingIndicator.render})(),Q=(R,Fe)=>Fe==null?!1:typeof Fe=="string"?(R.textContent=Fe,!0):(R.appendChild(Fe),!0),O=new Set,G=new Set,re=r.some(R=>R.renderAskUserQuestion),le=[],se=[],xe=o.enableComponentStreaming!==!1,Ve=o.approval!==!1,gt=[];if(g.forEach(R=>{O.add(R.id);let Fe=re&&Lo(R),Se=Ve&&R.variant==="approval"&&!!R.approval,Oe=!Fe&&R.role==="assistant"&&!R.variant&&xe&&Ml(R);!Se&&qn.has(R.id)&&(i.querySelector(`#wrapper-${R.id}`)?.removeAttribute("data-preserve-runtime"),qn.delete(R.id)),!Oe&&bo.has(R.id)&&(i.querySelector(`#wrapper-${R.id}`)?.removeAttribute("data-preserve-runtime"),bo.delete(R.id));let At=Lo(R)?`:${R.agentMetadata?.askUserQuestionAnswered?"a":"u"}:${R.agentMetadata?.askUserQuestionAnswers?Object.keys(R.agentMetadata.askUserQuestionAnswers).length:0}`:"",dt=vp(R,si)+At,xt=Fe||Se||Oe?null:xp(yo,R.id,dt);if(xt){b.appendChild(xt.cloneNode(!0)),Lo(R)&&R.toolCall?.id&&R.agentMetadata?.awaitingLocalTool===!0&&!R.agentMetadata?.askUserQuestionAnswered&&(G.add(R.toolCall.id),oa(R,o,Pe.composerOverlay));return}let ht=null,_t=r.find(ce=>!!(R.variant==="reasoning"&&ce.renderReasoning||R.variant==="tool"&&ce.renderToolCall||!R.variant&&ce.renderMessage)),Co=o.layout?.messages;if(Lo(R)&&R.agentMetadata?.askUserQuestionAnswered===!0){zo.delete(R.id),i.querySelector(`#wrapper-${R.id}`)?.removeAttribute("data-preserve-runtime");return}if(_i(R)&&o.features?.suggestReplies?.enabled!==!1)return;if(Lo(R)&&o.features?.askUserQuestion?.enabled!==!1){let ce=r.find(Ct=>typeof Ct.renderAskUserQuestion=="function");if(ce&&ut.current){let Ct=zo.get(R.id),qt=Ct!==dt,Bt=null;if(qt){let{payload:tt,complete:Et}=Zo(R),He=R.id,nt=()=>ut.current?.getMessages().find(tn=>tn.id===He);Bt=ce.renderAskUserQuestion({message:R,payload:tt,complete:Et,resolve:tn=>{let Ao=nt();Ao&&ut.current?.resolveAskUserQuestion(Ao,tn)},dismiss:()=>{let tn=nt();tn?.agentMetadata?.awaitingLocalTool&&(ut.current?.markAskUserQuestionResolved(tn),ut.current?.resolveAskUserQuestion(tn,"(dismissed)"))},config:o})}let ot=Ct!=null;if(qt&&Bt===null&&!ot){R.agentMetadata?.awaitingLocalTool===!0&&!R.agentMetadata?.askUserQuestionAnswered&&(G.add(R.toolCall.id),oa(R,o,Pe.composerOverlay));return}let Ue=document.createElement("div");Ue.className="persona-flex",Ue.id=`wrapper-${R.id}`,Ue.setAttribute("data-wrapper-id",R.id),Ue.setAttribute("data-ask-plugin-stub","true"),Ue.setAttribute("data-preserve-runtime","true"),b.appendChild(Ue),le.push({messageId:R.id,fingerprint:dt,bubble:Bt});return}else{R.agentMetadata?.awaitingLocalTool===!0&&!R.agentMetadata?.askUserQuestionAnswered&&(G.add(R.toolCall.id),oa(R,o,Pe.composerOverlay));return}}else if(Se){let ce=r.find(ot=>typeof ot.renderApproval=="function")??s,qt=qn.get(R.id)!==dt,Bt=null;if(qt&&ce?.renderApproval){let ot=R.id,Ue=(tt,Et)=>{let He=ut.current?.getMessages().find(nt=>nt.id===ot);He?.approval&&(He.approval.toolType==="webmcp"?ut.current?.resolveWebMcpApproval(He.id,tt):ut.current?.resolveApproval(He.approval,tt,Et))};Bt=ce.renderApproval({message:R,defaultRenderer:()=>Va(R,o),config:o,approve:tt=>Ue("approved",tt),deny:tt=>Ue("denied",tt)})}if(qt&&Bt===null)i.querySelector(`#wrapper-${R.id}`)?.removeAttribute("data-preserve-runtime"),qn.delete(R.id),ht=Va(R,o);else{let ot=document.createElement("div");ot.className="persona-flex",ot.id=`wrapper-${R.id}`,ot.setAttribute("data-wrapper-id",R.id),ot.setAttribute("data-approval-plugin-stub","true"),ot.setAttribute("data-preserve-runtime","true"),b.appendChild(ot),gt.push({messageId:R.id,fingerprint:dt,bubble:Bt});return}}else if(_t)if(R.variant==="reasoning"&&R.reasoning&&_t.renderReasoning){if(!te)return;ht=_t.renderReasoning({message:R,defaultRenderer:()=>pl(R,o),config:o})}else if(R.variant==="tool"&&R.toolCall&&_t.renderToolCall){if(!ge)return;ht=_t.renderToolCall({message:R,defaultRenderer:()=>fl(R,o),config:o})}else _t.renderMessage&&(ht=_t.renderMessage({message:R,defaultRenderer:()=>{let ce=dl(R,h,Co,o.messageActions,Me,{loadingIndicatorRenderer:L,widgetConfig:o});return R.role!=="user"&&wl(ce,R,o,_),ce},config:o}));if(!ht&&Oe){let ce=gu(R);if(ce){let Ct=bo.get(R.id),qt=Ct!==dt,Bt=o.wrapComponentDirectiveInBubble!==!1&&_n.getOptions(ce.component)?.bubbleChrome!==!1,ot=null;if(qt){let Ue=uu(ce,{config:o,message:R,transform:h});if(Ue&&ce.component==="PersonaArtifactInline"){let tt=Ue.hasAttribute("data-artifact-inline")?Ue:Ue.querySelector("[data-artifact-inline]"),Et=tt?.getAttribute("data-artifact-inline")??"",He=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(Et):Et,nt=Et?i.querySelector(`#wrapper-${R.id}`)?.querySelector(`[data-artifact-inline="${He}"]`)??null:null;tt&&nt&&nt!==tt&&gp(nt)&&(tt===Ue?Ue=nt:tt.replaceWith(nt))}if(Ue)if(Bt){let tt=document.createElement("div");if(tt.className=["persona-message-bubble","persona-max-w-[85%]","persona-rounded-2xl","persona-bg-persona-surface","persona-border","persona-border-persona-message-border","persona-p-4"].join(" "),tt.id=`bubble-${R.id}`,tt.setAttribute("data-message-id",R.id),R.content&&R.content.trim()){let Et=document.createElement("div");Et.className="persona-mb-3 persona-text-sm persona-leading-relaxed",Et.innerHTML=h({text:R.content,message:R,streaming:!!R.streaming,raw:R.rawContent}),tt.appendChild(Et)}tt.appendChild(Ue),ot=tt}else{let tt=document.createElement("div");if(tt.className="persona-flex persona-flex-col persona-w-full persona-max-w-full persona-gap-3 persona-items-stretch",tt.id=`bubble-${R.id}`,tt.setAttribute("data-message-id",R.id),tt.setAttribute("data-persona-component-directive","true"),R.content&&R.content.trim()){let Et=document.createElement("div");Et.className="persona-text-sm persona-leading-relaxed persona-text-persona-primary persona-w-full",Et.innerHTML=h({text:R.content,message:R,streaming:!!R.streaming,raw:R.rawContent}),tt.appendChild(Et)}tt.appendChild(Ue),ot=tt}}if(ot||Ct!=null){let Ue=document.createElement("div");Ue.className="persona-flex",Ue.id=`wrapper-${R.id}`,Ue.setAttribute("data-wrapper-id",R.id),Ue.setAttribute("data-component-directive-stub","true"),Ue.setAttribute("data-preserve-runtime","true"),Bt||Ue.classList.add("persona-w-full"),b.appendChild(Ue),se.push({messageId:R.id,fingerprint:dt,bubble:ot});return}}}if(!ht)if(R.variant==="reasoning"&&R.reasoning){if(!te)return;ht=pl(R,o)}else if(R.variant==="tool"&&R.toolCall){if(!ge)return;ht=fl(R,o)}else if(R.variant==="approval"&&R.approval){if(o.approval===!1)return;ht=Va(R,o)}else{let ce=o.layout?.messages;ce?.renderUserMessage&&R.role==="user"?ht=ce.renderUserMessage({message:R,config:o,streaming:!!R.streaming}):ce?.renderAssistantMessage&&R.role==="assistant"?ht=ce.renderAssistantMessage({message:R,config:o,streaming:!!R.streaming}):ht=dl(R,h,ce,o.messageActions,Me,{loadingIndicatorRenderer:L,widgetConfig:o}),R.role!=="user"&&ht&&wl(ht,R,o,_)}let pt=document.createElement("div");pt.className="persona-flex",pt.id=`wrapper-${R.id}`,pt.setAttribute("data-wrapper-id",R.id),R.role==="user"&&pt.classList.add("persona-justify-end"),ht?.getAttribute("data-persona-component-directive")==="true"&&pt.classList.add("persona-w-full"),pt.appendChild(ht),Cp(yo,R.id,dt,pt),b.appendChild(pt)}),Pe.composerOverlay&&Pe.composerOverlay.querySelectorAll("[data-persona-ask-sheet-for]").forEach(Fe=>{let Se=Fe.getAttribute("data-persona-ask-sheet-for");Se&&!G.has(Se)&&tr(Pe.composerOverlay,Se)}),o.features?.toolCallDisplay?.grouped){let R=[],Fe=[];g.forEach(Se=>{if(Se.variant==="tool"&&Se.toolCall&&ge){Fe.push(Se);return}Se.variant==="reasoning"&&!te||(Fe.length>1&&R.push(Fe),Fe=[])}),Fe.length>1&&R.push(Fe),R.forEach((Se,Oe)=>{let At=Se.map(Ct=>Array.from(b.children).find(qt=>qt instanceof HTMLElement&&qt.getAttribute("data-wrapper-id")===Ct.id)).filter(Ct=>!!Ct);if(At.length<2)return;let dt=document.createElement("div");dt.className="persona-flex",dt.id=`wrapper-tool-group-${Oe}-${Se[0].id}`,dt.setAttribute("data-wrapper-id",`tool-group-${Oe}-${Se[0].id}`);let xt=document.createElement("div");xt.className="persona-tool-group persona-flex persona-w-full persona-flex-col persona-gap-2",xt.setAttribute("data-persona-tool-group","true");let ht=document.createElement("div");ht.className="persona-tool-group-summary persona-text-xs persona-text-persona-muted";let _t=`Called ${Se.length} tools`,Co=o.toolCall?.renderGroupedSummary?.({messages:Se,toolCalls:Se.map(Ct=>Ct.toolCall).filter(Ct=>!!Ct),defaultSummary:_t,config:o});Q(ht,Co)||(ht.textContent=_t);let pt=document.createElement("div");pt.className="persona-tool-group-stack persona-flex persona-flex-col";let ce=o.features?.toolCallDisplay?.groupedMode==="summary";xt.appendChild(ht),ce||xt.appendChild(pt),dt.appendChild(xt),At[0].before(dt),At.forEach((Ct,qt)=>{if(ce){Ct.remove();return}let Bt=document.createElement("div");Bt.className="persona-tool-group-item persona-relative",Bt.setAttribute("data-persona-tool-group-item","true"),qt<At.length-1&&Bt.setAttribute("data-persona-tool-group-connector","true"),Bt.appendChild(Ct),pt.appendChild(Bt)})})}Ap(yo,O);let at=g.some(R=>R.role==="assistant"&&R.streaming),jt=g[g.length-1],Wt=jt?.role==="assistant"&&!jt.streaming&&jt.variant!=="approval";if(hn&&g.some(R=>R.role==="user")&&!at&&!Wt){let R={config:o,streaming:!0,location:"standalone",defaultRenderer:hs},Fe=r.find(Oe=>Oe.renderLoadingIndicator),Se=null;if(Fe?.renderLoadingIndicator&&(Se=Fe.renderLoadingIndicator(R)),Se===null&&o.loadingIndicator?.render&&(Se=o.loadingIndicator.render(R)),Se===null&&(Se=hs()),Se){let Oe=document.createElement("div"),At=o.loadingIndicator?.showBubble!==!1;Oe.className=At?["persona-max-w-[85%]","persona-rounded-2xl","persona-text-sm","persona-leading-relaxed","persona-shadow-sm","persona-bg-persona-surface","persona-border","persona-text-persona-primary","persona-px-5","persona-py-3"].join(" "):["persona-max-w-[85%]","persona-text-sm","persona-leading-relaxed","persona-text-persona-primary"].join(" "),Oe.setAttribute("data-typing-indicator","true"),Oe.style.borderColor="var(--persona-message-assistant-border, var(--persona-border, #e5e7eb))",Oe.appendChild(Se);let dt=document.createElement("div");dt.className="persona-flex",dt.id="wrapper-typing-indicator",dt.setAttribute("data-wrapper-id","typing-indicator"),dt.appendChild(Oe),b.appendChild(dt)}}if(!hn&&g.length>0){let R=g[g.length-1],Fe={config:o,lastMessage:R,messageCount:g.length},Se=r.find(At=>At.renderIdleIndicator),Oe=null;if(Se?.renderIdleIndicator&&(Oe=Se.renderIdleIndicator(Fe)),Oe===null&&o.loadingIndicator?.renderIdle&&(Oe=o.loadingIndicator.renderIdle(Fe)),Oe){let At=document.createElement("div"),dt=o.loadingIndicator?.showBubble!==!1;At.className=dt?["persona-max-w-[85%]","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(" "):["persona-max-w-[85%]","persona-text-sm","persona-leading-relaxed","persona-text-persona-primary"].join(" "),At.setAttribute("data-idle-indicator","true"),At.appendChild(Oe);let xt=document.createElement("div");xt.className="persona-flex",xt.id="wrapper-idle-indicator",xt.setAttribute("data-wrapper-id","idle-indicator"),xt.appendChild(At),b.appendChild(xt)}}if(Ea(i,b),le.length>0)for(let{messageId:R,fingerprint:Fe,bubble:Se}of le){let Oe=i.querySelector(`#wrapper-${R}`);Oe&&Se!==null&&(Oe.replaceChildren(Se),Oe.setAttribute("data-bubble-fp",Fe),zo.set(R,Fe))}if(zo.size>0)for(let R of zo.keys())O.has(R)||zo.delete(R);if(se.length>0)for(let{messageId:R,fingerprint:Fe,bubble:Se}of se){let Oe=i.querySelector(`#wrapper-${R}`);Oe&&Se!==null&&(Oe.replaceChildren(Se),Oe.setAttribute("data-bubble-fp",Fe),bo.set(R,Fe))}if(bo.size>0)for(let R of bo.keys())O.has(R)||bo.delete(R);if(gt.length>0)for(let{messageId:R,fingerprint:Fe,bubble:Se}of gt){let Oe=i.querySelector(`#wrapper-${R}`);Oe&&Se!==null&&(Oe.replaceChildren(Se),Oe.setAttribute("data-bubble-fp",Fe),qn.set(R,Fe))}if(qn.size>0)for(let R of qn.keys())O.has(R)||qn.delete(R)},Pr=(i,g,h)=>{Ju(i,g,h),Vl()},Ir=null,Yu=()=>{if(Ir)return;let i=h=>{let b=h.composedPath();b.includes(We)||Qe&&b.includes(Qe)||ft(!1,"user")};Ir=i,(t.ownerDocument??document).addEventListener("pointerdown",i,!0)},cc=()=>{if(!Ir)return;(t.ownerDocument??document).removeEventListener("pointerdown",Ir,!0),Ir=null};qe.push(()=>cc());let Rr=null,Zu=()=>{if(Rr)return;let i=h=>{h.key==="Escape"&&(h.isComposing||ft(!1,"user"))};Rr=i,(t.ownerDocument??document).addEventListener("keydown",i,!0)},dc=()=>{if(!Rr)return;(t.ownerDocument??document).removeEventListener("keydown",Rr,!0),Rr=null};qe.push(()=>dc());let Wr=!1,pc=new Set,ef=()=>{let i=o.launcher?.composerBar?.peek?.streamAnimation;return i||o.features?.streamAnimation},jo=()=>{if(!J())return;let i=Pe.peekBanner,g=Pe.peekTextNode;if(!i||!g)return;if($){i.classList.remove("persona-pill-peek--visible");return}let h=_?.getMessages()??[],b;for(let Wt=h.length-1;Wt>=0;Wt--){let R=h[Wt];if(R.role==="assistant"&&R.content){b=R;break}}if(!b){i.classList.remove("persona-pill-peek--visible");return}let S=b.content,L=!!b.streaming,Q=ef(),O=Ia(Q),G=O.type!=="none"?ur(O.type,Q?.plugins):null,re=G?.isAnimating?.(b)===!0,le=G!==null&&(L||re);le&&G&&!pc.has(G.name)&&(Ba(G,t),pc.add(G.name));let se=le&&G?.containerClass?G.containerClass:null,xe=g.dataset.personaPeekStreamClass??null;xe&&xe!==se&&(g.classList.remove(xe),delete g.dataset.personaPeekStreamClass),se&&xe!==se&&(g.classList.add(se),g.dataset.personaPeekStreamClass=se),le?(g.style.setProperty("--persona-stream-step",`${O.speed}ms`),g.style.setProperty("--persona-stream-duration",`${O.duration}ms`)):(g.style.removeProperty("--persona-stream-step"),g.style.removeProperty("--persona-stream-duration"));let Ve=le?Ra(S,O.buffer,G,b,L):S;if(le&&O.placeholder==="skeleton"&&L&&(!Ve||!Ve.trim())){let Wt=document.createElement("div"),R=ps();R.classList.add("persona-pill-peek__skeleton"),Wt.appendChild(R),Ea(g,Wt)}else{let Wt=Math.max(0,Ve.length-100),R=Ve.length>100?Ve.slice(-100):Ve,Fe=Zn(R);if(!le||!G){let Se=Ve.length>100?`\u2026${R}`:R;g.textContent!==Se&&(g.textContent=Se)}else{let Se=Fe;(G.wrap==="char"||G.wrap==="word")&&(Se=ds(Fe,G.wrap,`peek-${b.id}`,{skipTags:G.skipTags,startIndex:Wt}));let Oe=document.createElement("div");if(Oe.innerHTML=Se,G.useCaret&&R.length>0){let At=Wa(),dt=Oe.querySelectorAll(".persona-stream-char, .persona-stream-word"),xt=dt[dt.length-1];xt?.parentNode?xt.parentNode.insertBefore(At,xt.nextSibling):Oe.appendChild(At)}Ea(g,Oe),G.onAfterRender?.({container:g,bubble:i,messageId:b.id,message:b,speed:O.speed,duration:O.duration})}}let jt=hn||Wr;i.classList.toggle("persona-pill-peek--visible",jt)};if(J()){let i=Pe.peekBanner;if(i){let b=S=>{S.preventDefault(),S.stopPropagation(),ft(!0,"user")};i.addEventListener("pointerdown",b),qe.push(()=>{i.removeEventListener("pointerdown",b)})}let g=()=>{Wr||(Wr=!0,jo())},h=()=>{Wr&&(Wr=!1,jo())};me.addEventListener("pointerenter",g),me.addEventListener("pointerleave",h),qe.push(()=>{me.removeEventListener("pointerenter",g),me.removeEventListener("pointerleave",h)}),Qe&&(Qe.addEventListener("pointerenter",g),Qe.addEventListener("pointerleave",h),qe.push(()=>{Qe.removeEventListener("pointerenter",g),Qe.removeEventListener("pointerleave",h)}))}let tf=i=>{let g=o.launcher?.composerBar??{},h=g.expandedSize??"anchored",b=g.bottomOffset??"16px",S=g.collapsedMaxWidth,L=g.expandedMaxWidth??"880px",Q=g.expandedTopOffset??"5vh",O=g.modalMaxWidth??"880px",G=g.modalMaxHeight??"min(90vh, 800px)",re="calc(100vw - 32px)",le="var(--persona-pill-area-height, 80px)",se=We.style;if(se.left="",se.right="",se.top="",se.bottom="",se.transform="",se.width="",se.maxWidth="",se.height="",se.maxHeight="",Qe){let xe=Qe.style;xe.bottom=b,xe.width=S??""}if(i&&h!=="fullscreen"){if(h==="modal"){se.top="50%",se.left="50%",se.transform="translate(-50%, -50%)",se.bottom="auto",se.right="auto",se.width=O,se.maxWidth=re,se.maxHeight=G,se.height=G;return}se.left="50%",se.transform="translateX(-50%)",se.bottom=`calc(${b} + ${le})`,se.top=Q,se.width=L,se.maxWidth=re}},Br=()=>{if(!D())return;if(J()){let re=(o.launcher?.composerBar??{}).expandedSize??"anchored",le=$?"expanded":"collapsed";We.dataset.state=le,We.dataset.expandedSize=re,Qe&&(Qe.dataset.state=le,Qe.dataset.expandedSize=re),We.style.removeProperty("display"),We.classList.remove("persona-pointer-events-none","persona-opacity-0"),me.classList.remove("persona-scale-95","persona-opacity-0","persona-scale-100","persona-opacity-100"),tf($),pe.style.display=$?"flex":"none",Ws(),$?(Yu(),Zu()):(cc(),dc()),jo();return}let i=Nt(o),g=t.ownerDocument.defaultView??window,h=o.launcher?.mobileBreakpoint??640,b=o.launcher?.mobileFullscreen??!0,S=g.innerWidth<=h,L=b&&S&&T,Q=un(o).reveal;$?(We.style.removeProperty("display"),We.style.display=i?"flex":"",We.classList.remove("persona-pointer-events-none","persona-opacity-0"),me.classList.remove("persona-scale-95","persona-opacity-0"),me.classList.add("persona-scale-100","persona-opacity-100"),Ft?Ft.element.style.display="none":Ut&&(Ut.style.display="none")):(i?i&&(Q==="overlay"||Q==="push")&&!L?(We.style.removeProperty("display"),We.style.display="flex",We.classList.remove("persona-pointer-events-none","persona-opacity-0"),me.classList.remove("persona-scale-100","persona-opacity-100","persona-scale-95","persona-opacity-0")):(We.style.setProperty("display","none","important"),We.classList.remove("persona-pointer-events-none","persona-opacity-0"),me.classList.remove("persona-scale-100","persona-opacity-100","persona-scale-95","persona-opacity-0")):(We.style.display="",We.classList.add("persona-pointer-events-none","persona-opacity-0"),me.classList.remove("persona-scale-100","persona-opacity-100"),me.classList.add("persona-scale-95","persona-opacity-0")),Ft?Ft.element.style.display=i?"none":"":Ut&&(Ut.style.display=i?"none":""))},ft=(i,g="user")=>{if(!D()||$===i)return;let h=$;$=i,Br();let b=(()=>{let L=o.launcher?.sidebarMode??!1,Q=t.ownerDocument.defaultView??window,O=o.launcher?.mobileFullscreen??!0,G=o.launcher?.mobileBreakpoint??640,re=Q.innerWidth<=G,le=Nt(o)&&O&&re,se=J()&&(o.launcher?.composerBar?.expandedSize??"fullscreen")==="fullscreen";return L||O&&re&&T||le||se})();if($&&b){if(!Cn){let L=t.getRootNode(),Q=L instanceof ShadowRoot?L.host:t.closest(".persona-host");Q&&(Cn=rl(Q,o.launcher?.zIndex??zt))}An||(An=sl(t.ownerDocument))}else $||(Cn?.(),Cn=null,An?.(),An=null);$&&(Nr(),ic()||(Qt()==="follow"?Qn(!0):sc()));let S={open:$,source:g,timestamp:Date.now()};$&&!h?l.emit("widget:opened",S):!$&&h&&l.emit("widget:closed",S),l.emit("widget:state",{open:$,launcherEnabled:T,voiceActive:Xe.active,streaming:_.isStreaming()})},mi=i=>{lt(i?"stop":"send"),K&&(K.disabled=i),Hs.buttons.forEach(g=>{g.disabled=i}),U.dataset.personaComposerStreaming=i?"true":"false",U.querySelectorAll("[data-persona-composer-disable-when-streaming]").forEach(g=>{(g instanceof HTMLButtonElement||g instanceof HTMLInputElement||g instanceof HTMLTextAreaElement||g instanceof HTMLSelectElement)&&(g.disabled=i)})},hi=()=>{Xe.active||he&&he.focus()};l.on("widget:opened",()=>{o.autoFocusInput&&setTimeout(()=>hi(),200)});let uc=()=>{F.textContent=o.copy?.welcomeTitle??"Hello \u{1F44B}",y.textContent=o.copy?.welcomeSubtitle??"Ask anything about your account or products.",he.placeholder=o.copy?.inputPlaceholder??"How can I help...";let i=ie.querySelector("[data-persona-intro-card]");if(i){let h=o.copy?.showWelcomeCard!==!1;i.style.display=h?"":"none",h?(ie.classList.remove("persona-gap-3"),ie.classList.add("persona-gap-6")):(ie.classList.remove("persona-gap-6"),ie.classList.add("persona-gap-3"))}!(o.sendButton?.useIcon??!1)&&!_?.isStreaming()&&(de.textContent=o.copy?.sendButtonLabel??"Send"),he.style.fontFamily='var(--persona-input-font-family, var(--persona-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif))',he.style.fontWeight="var(--persona-input-font-weight, var(--persona-font-weight, 400))"};o.clientToken&&(o={...o,getStoredSessionId:()=>{let i=c.sessionId;return typeof i=="string"?i:null},setStoredSessionId:i=>{C(g=>({...g,sessionId:i}))}});let wo=null,nf=()=>{wo==null&&(wo=setInterval(()=>{let i=be.querySelectorAll("[data-tool-elapsed]");if(i.length===0){clearInterval(wo),wo=null;return}let g=Date.now();i.forEach(h=>{let b=Number(h.getAttribute("data-tool-elapsed"));b&&(h.textContent=aa(g-b))})},100))},yi=(i,g)=>{if(Object.is(i,g))return!0;if(i===null||g===null||typeof i!="object"||typeof g!="object")return!1;if(Array.isArray(i)||Array.isArray(g))return!Array.isArray(i)||!Array.isArray(g)||i.length!==g.length?!1:i.every((Q,O)=>yi(Q,g[O]));let h=i,b=g,S=Object.keys(h),L=Object.keys(b);return S.length===L.length&&S.every(Q=>Object.prototype.hasOwnProperty.call(b,Q)&&yi(h[Q],b[Q]))},fc=i=>{let{content:g,rawContent:h,llmContent:b,...S}=i;return S},bi=i=>i.role==="assistant"&&i.streaming===!0&&!i.variant&&!i.toolCall&&!i.tools&&!i.approval&&!i.reasoning&&!i.contentParts&&!i.stopReason&&!Ml(i),of=(i,g,h)=>{if(i.length!==g.length)return!1;let b=i[h.index],S=g[h.index];return!b||!S||b.id!==h.id||S.id!==h.id?!1:(!Object.is(b.content,S.content)||!Object.is(b.rawContent,S.rawContent)||!Object.is(b.llmContent,S.llmContent))&&bi(b)&&bi(S)&&yi(fc(b),fc(S))},gc=null,qo=null,xo=null,In=null,_s=i=>{gc=i;let g,h;qo=null;for(let S=i.length-1;S>=0;S-=1){let L=i[S];if(!g&&L.role==="user"&&(g=L),!h&&L.role==="assistant"&&(h=L),!qo&&bi(L)&&(qo={index:S,id:L.id}),g&&h&&qo)break}Pr(be,i,Ce),Yi(be,gn.artifacts,{suppressTransition:hn}),nf(),ri(i),Qn(!hn),Xu(i),i.length===0&&(Lr(),Mr=!0,li=!1),!ai||Ns?(ai=!0,ii=g?.id??null,ci=h?.id??null):g&&g.id!==ii?(ii=g.id,Gu(g.id)):h&&h.id!==ci&&Qu(),h&&(ci=h.id);let b=Xe.lastUserMessageId;g&&g.id!==b&&(Xe.lastUserMessageId=g.id,l.emit("user:message",g)),Xe.lastUserMessageWasVoice=!!g?.viaVoice,ui(i),jo()},vi=()=>{In!==null&&(cancelAnimationFrame(In),In=null);let i=xo;xo=null,i&&_s(i)},mc=()=>{In!==null&&cancelAnimationFrame(In),In=null,xo=null},rf=i=>{let g=xo??gc;if(hn&&g&&qo&&of(g,i,qo)){xo=i,In===null&&(In=requestAnimationFrame(()=>{In=null;let h=xo;xo=null,h&&_s(h)}));return}if(i.length===0){mc(),_s(i);return}vi(),_s(i)};_=new ga(o,{onMessagesChanged(i){rf(i)},onStatusChanged(i){let g=o.statusIndicator??{};Mt(M,(b=>b==="idle"?g.idleText??It.idle:b==="connecting"?g.connectingText??It.connecting:b==="connected"?g.connectedText??It.connected:b==="error"?g.errorText??It.error:b==="paused"?g.pausedText??It.paused:b==="resuming"?g.resumingText??It.resuming:It[b])(i),g,i)},onStreamingChanged(i){i||(_?.getMessages().length===0?mc():vi()),hn=i,mi(i),_&&Pr(be,_.getMessages(),Ce),i||Qn(!0),en(),Fl(i?"Responding\u2026":"Response complete."),jo()},onVoiceStatusChanged(i){if(l.emit("voice:status",{status:i,timestamp:Date.now()}),o.voiceRecognition?.provider?.type==="runtype")switch(i){case"listening":Rn(),Ko();break;case"processing":Rn(),hf();break;case"speaking":Rn(),yf();break;default:i==="idle"&&_.isBargeInActive()?(Rn(),Ko(),K?.setAttribute("aria-label","End voice session")):(Xe.active=!1,Rn(),Pn("system"),bn());break}},onArtifactsState(i){gn=i,i.artifacts.length===0&&(Oo=!1),Yi(be,i.artifacts,{suppressTransition:hn}),Ln(),ui()},onReconnect(i){let{executionId:g,lastEventId:h}=i.handle;i.phase==="paused"?l.emit("stream:paused",{executionId:g,after:h}):i.phase==="resuming"?l.emit("stream:resuming",{executionId:g,after:h,attempt:i.attempt??1}):l.emit("stream:resumed",{executionId:g,after:h})}}),ut.current=_,qe.push(()=>_.cancel());let wi=null;if(_.onReadAloudChange((i,g)=>{jl=i,ql=g,Vl();let h=i??wi;i&&(wi=i);let b=h?_.getMessages().find(S=>S.id===h)??null:null;l.emit("message:read-aloud",{messageId:h,message:b,state:g,timestamp:Date.now()}),g==="idle"&&(wi=null)}),ai=!0,o.voiceRecognition?.provider?.type==="runtype")try{_.setupVoice()}catch(i){typeof console<"u"&&console.warn("[AgentWidget] Runtype voice setup failed:",i)}o.clientToken&&_.initClientSession().catch(i=>{o.debug&&console.warn("[AgentWidget] Pre-init client session failed:",i)}),(Ae||o.onSSEEvent)&&_.setSSEEventCallback((i,g)=>{o.onSSEEvent?.(i,g),ze?.processEvent(i,g),Ae?.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:i,timestamp:Date.now(),payload:JSON.stringify(g)})});let hc=()=>{o.resume&&typeof o.reconnectStream=="function"&&_.resumeFromHandle(o.resume)};u?u.then(i=>{if(i){if(i.metadata&&(c=El(i.metadata),E.syncFromMetadata()),i.messages?.length){Ns=!0;try{_.hydrateMessages(i.messages)}finally{Ns=!1}}i.artifacts?.length&&_.hydrateArtifacts(i.artifacts,i.selectedArtifactId??null)}}).catch(i=>{typeof console<"u"&&console.error("[AgentWidget] Failed to hydrate stored state:",i)}).finally(()=>hc()):hc();let yc=()=>{!J()||$||!(o.launcher?.composerBar?.expandOnSubmit??!0)||ft(!0,"auto")},sf=(i,g)=>i?g?{refs:[...i.refs,...g.refs],finalize:async()=>{let[h,b]=await Promise.allSettled([i.finalize(),g.finalize()]),S=[];return h.status==="fulfilled"?S.push(h.value):console.warn("[Persona] a mention bundle failed to finalize; sending without it",h.reason),b.status==="fulfilled"?S.push(b.value):console.warn("[Persona] a mention bundle failed to finalize; sending without it",b.reason),vy(S)}}:i:g,af=()=>{let g=he.getInlineMessageFields?.();return g&&g.contentSegments.some(b=>b.kind==="mention")?g.contentSegments:void 0},Hr=!1,lf=async i=>{let g=he.value.trim(),h=St?.hasAttachments()??!1,b=g?await(Yt?.takeInlineCommand(g)??Promise.resolve(null)):null;if(b?.kind==="action"){he.value="",he.style.height="auto",Dr(),Yt?.clear();return}let S=Yt?.collectForSubmit()??null,L=b?.kind==="server"?b.mentions:null,Q=sf(S,L),O=b?.kind==="prompt"?b.sendText:g,G=!!S&&S.refs.length>0;if(!O&&!h&&!G&&!L)return;yc();let re;h&&(re=[],re.push(...St.getContentParts()),O&&re.push(or(O)));let le=b?.kind==="prompt"?void 0:af();he.value="",he.style.height="auto",Dr(),_.sendMessage(O,{contentParts:re,mentions:Q??void 0,contentSegments:le,viaVoice:i?.viaVoice}),h&&St.clearAttachments(),S&&Yt?.clear()},xi=async i=>{if(!Hr){Hr=!0;try{await lf(i)}finally{Hr=!1}}},bc=i=>{if(i.preventDefault(),_.isStreaming()){_.cancel(),ze?.reset(),Ne?.update();return}Hr||xi()},cf=()=>o.features?.composerHistory!==!1,Ci={...tl},Ai=!1,Dr=()=>{Ci={...tl}},df=()=>_.getMessages().filter(i=>i.role==="user").map(i=>i.content??"").filter(i=>i.length>0),pf=i=>{if(!he)return;Ai=!0,he.value=i,he.dispatchEvent(new Event("input",{bubbles:!0})),Ai=!1;let g=he.value.length;he.setSelectionRange(g,g)},uf=i=>{Ai||(i.isComposing||Yt?.handleInput(i.inputType??void 0),Dr())},ff=i=>{if(he&&!(!i.isComposing&&Yt?.handleKeydown(i))){if(cf()&&(i.key==="ArrowUp"||i.key==="ArrowDown")&&!i.shiftKey&&!i.metaKey&&!i.ctrlKey&&!i.altKey&&!i.isComposing){let g=he.selectionStart===0&&he.selectionEnd===0,h=bp({direction:i.key==="ArrowUp"?"up":"down",history:df(),currentValue:he.value,atStart:g,state:Ci});if(Ci=h.state,h.handled){i.preventDefault(),h.value!==void 0&&pf(h.value);return}}if(i.key==="Enter"&&!i.shiftKey){if(_.isStreaming()){i.preventDefault();return}if(Hr){i.preventDefault();return}Dr(),i.preventDefault(),de.click()}}},vc=i=>{i.key!=="Escape"||i.isComposing||_.isStreaming()&&i.composedPath().includes(pe)&&(_.cancel(),ze?.reset(),Ne?.update(),Dr(),i.preventDefault(),i.stopImmediatePropagation())},gf=async i=>{if(o.attachments?.enabled!==!0||!St)return;let g=my(i.clipboardData);g.length!==0&&(i.preventDefault(),await St.handleFiles(g))},cn=null,Sn=!1,Vo=null,wt=null,wc=()=>typeof window>"u"?null:window.webkitSpeechRecognition||window.SpeechRecognition||null,$s=(i="user")=>{if(Sn||_.isStreaming())return;let g=wc();if(!g)return;cn=new g;let b=(o.voiceRecognition??{}).pauseDuration??2e3;cn.continuous=!0,cn.interimResults=!0,cn.lang="en-US";let S=he.value;cn.onresult=L=>{let Q="",O="";for(let re=0;re<L.results.length;re++){let le=L.results[re],se=le[0].transcript;le.isFinal?Q+=se+" ":O=se}let G=S+Q+O;he.value=G,Vo&&clearTimeout(Vo),(Q||O)&&(Vo=window.setTimeout(()=>{he.value.trim()&&cn&&Sn&&(Xn(),xi({viaVoice:!0}))},b))},cn.onerror=L=>{L.error!=="no-speech"&&Xn()},cn.onend=()=>{if(Sn){let L=he.value.trim();L&&L!==S.trim()&&xi({viaVoice:!0}),Xn()}};try{if(cn.start(),Sn=!0,Xe.active=!0,i!=="system"&&(Xe.manuallyDeactivated=!1),Pn(i),bn(),K){let L=o.voiceRecognition??{};wt={backgroundColor:K.style.backgroundColor,color:K.style.color,borderColor:K.style.borderColor,iconName:L.iconName??"mic",iconSize:parseFloat(L.iconSize??o.sendButton?.size??"40")||24};let Q=L.recordingBackgroundColor,O=L.recordingIconColor,G=L.recordingBorderColor;if(K.classList.add("persona-voice-recording"),K.style.backgroundColor=Q??"var(--persona-voice-recording-bg, #ef4444)",K.style.color=O??"var(--persona-voice-recording-indicator, #ffffff)",O){let re=K.querySelector("svg");re&&re.setAttribute("stroke",O)}G&&(K.style.borderColor=G),K.setAttribute("aria-label","Stop voice recognition")}}catch{Xn("system")}},Xn=(i="user")=>{if(Sn){if(Sn=!1,Vo&&(clearTimeout(Vo),Vo=null),cn){try{cn.stop()}catch{}cn=null}if(Xe.active=!1,Pn(i),bn(),K){if(K.classList.remove("persona-voice-recording"),wt){K.style.backgroundColor=wt.backgroundColor,K.style.color=wt.color,K.style.borderColor=wt.borderColor;let g=K.querySelector("svg");g&&g.setAttribute("stroke",wt.color||"currentColor"),wt=null}K.setAttribute("aria-label","Start voice recognition")}}},mf=(i,g)=>{let h=typeof window<"u"&&(typeof window.webkitSpeechRecognition<"u"||typeof window.SpeechRecognition<"u"),b=i?.provider?.type==="runtype",S=i?.provider?.type==="custom";if(!(h||b||S))return null;let Q=m("div","persona-send-button-wrapper"),O=m("button","persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer");O.type="button",O.setAttribute("aria-label","Start voice recognition");let G=i?.iconName??"mic",re=g?.size??"40px",le=i?.iconSize??re,se=parseFloat(le)||24,xe=i?.backgroundColor??g?.backgroundColor,Ve=i?.iconColor??g?.textColor;O.style.width=le,O.style.height=le,O.style.minWidth=le,O.style.minHeight=le,O.style.fontSize="18px",O.style.lineHeight="1",Ve?O.style.color=Ve:O.style.color="var(--persona-text, #111827)";let at=ne(G,se,Ve||"currentColor",1.5);at?O.appendChild(at):O.textContent="\u{1F3A4}",xe?O.style.backgroundColor=xe:O.style.backgroundColor="",i?.borderWidth&&(O.style.borderWidth=i.borderWidth,O.style.borderStyle="solid"),i?.borderColor&&(O.style.borderColor=i.borderColor),i?.paddingX&&(O.style.paddingLeft=i.paddingX,O.style.paddingRight=i.paddingX),i?.paddingY&&(O.style.paddingTop=i.paddingY,O.style.paddingBottom=i.paddingY),Q.appendChild(O);let jt=i?.tooltipText??"Start voice recognition";if((i?.showTooltip??!1)&&jt){let R=m("div","persona-send-button-tooltip");R.textContent=jt,Q.appendChild(R)}return{micButton:O,micButtonWrapper:Q}},Si=()=>{if(!K||wt)return;let i=o.voiceRecognition??{};wt={backgroundColor:K.style.backgroundColor,color:K.style.color,borderColor:K.style.borderColor,iconName:i.iconName??"mic",iconSize:parseFloat(i.iconSize??o.sendButton?.size??"40")||24}},Ti=(i,g)=>{if(!K)return;let h=K.querySelector("svg");h&&h.remove();let b=wt?.iconSize??(parseFloat(o.voiceRecognition?.iconSize??o.sendButton?.size??"40")||24),S=ne(i,b,g,1.5);S&&K.appendChild(S)},zs=()=>{K&&K.classList.remove("persona-voice-recording","persona-voice-processing","persona-voice-speaking")},Ko=()=>{if(!K)return;Si();let i=o.voiceRecognition??{},g=i.recordingBackgroundColor,h=i.recordingIconColor,b=i.recordingBorderColor;if(zs(),K.classList.add("persona-voice-recording"),K.style.backgroundColor=g??"var(--persona-voice-recording-bg, #ef4444)",K.style.color=h??"var(--persona-voice-recording-indicator, #ffffff)",h){let S=K.querySelector("svg");S&&S.setAttribute("stroke",h)}b&&(K.style.borderColor=b),K.setAttribute("aria-label","Stop voice recognition")},hf=()=>{if(!K)return;Si();let i=o.voiceRecognition??{},g=_.getVoiceInterruptionMode(),h=i.processingIconName??"loader",b=i.processingIconColor??wt?.color??"",S=i.processingBackgroundColor??wt?.backgroundColor??"",L=i.processingBorderColor??wt?.borderColor??"";zs(),K.classList.add("persona-voice-processing"),K.style.backgroundColor=S,K.style.borderColor=L;let Q=b||"currentColor";K.style.color=Q,Ti(h,Q),K.setAttribute("aria-label","Processing voice input"),g==="none"&&(K.style.cursor="default")},yf=()=>{if(!K)return;Si();let i=o.voiceRecognition??{},g=_.getVoiceInterruptionMode(),h=g==="cancel"?"square":g==="barge-in"?"mic":"volume-2",b=i.speakingIconName??h,S=i.speakingIconColor??(g==="barge-in"?i.recordingIconColor??wt?.color??"":wt?.color??""),L=i.speakingBackgroundColor??(g==="barge-in"?i.recordingBackgroundColor??"var(--persona-voice-recording-bg, #ef4444)":wt?.backgroundColor??""),Q=i.speakingBorderColor??(g==="barge-in"?i.recordingBorderColor??"":wt?.borderColor??"");zs(),K.classList.add("persona-voice-speaking"),K.style.backgroundColor=L,K.style.borderColor=Q;let O=S||"currentColor";K.style.color=O,Ti(b,O);let G=g==="cancel"?"Stop playback and re-record":g==="barge-in"?"Speak to interrupt":"Agent is speaking";K.setAttribute("aria-label",G),g==="none"&&(K.style.cursor="default"),g==="barge-in"&&K.classList.add("persona-voice-recording")},Rn=()=>{K&&(zs(),wt&&(K.style.backgroundColor=wt.backgroundColor??"",K.style.color=wt.color??"",K.style.borderColor=wt.borderColor??"",Ti(wt.iconName,wt.color||"currentColor"),wt=null),K.style.cursor="",K.setAttribute("aria-label","Start voice recognition"))},Us=()=>{if(o.voiceRecognition?.provider?.type==="runtype"){let i=_.getVoiceStatus(),g=_.getVoiceInterruptionMode();if(g==="none"&&(i==="processing"||i==="speaking"))return;if(g==="cancel"&&(i==="processing"||i==="speaking")){_.stopVoicePlayback();return}if(_.isBargeInActive()){_.stopVoicePlayback(),_.deactivateBargeIn().then(()=>{Xe.active=!1,Xe.manuallyDeactivated=!0,bn(),Pn("user"),Rn()});return}_.toggleVoice().then(()=>{Xe.active=_.isVoiceActive(),Xe.manuallyDeactivated=!_.isVoiceActive(),bn(),Pn("user"),_.isVoiceActive()?Ko():Rn()});return}if(Sn){let i=he.value.trim();Xe.manuallyDeactivated=!0,bn(),Xn("user"),i&&(he.value="",he.style.height="auto",_.sendMessage(i))}else Xe.manuallyDeactivated=!1,bn(),$s("user")};_l=Us,K&&(K.addEventListener("click",Us),qe.push(()=>{o.voiceRecognition?.provider?.type==="runtype"?(_.isVoiceActive()&&_.toggleVoice(),Rn()):Xn("system"),K&&K.removeEventListener("click",Us)}));let bf=l.on("assistant:complete",()=>{Zl&&(Xe.active||Xe.manuallyDeactivated||Zl==="assistant"&&!Xe.lastUserMessageWasVoice||setTimeout(()=>{!Xe.active&&!Xe.manuallyDeactivated&&(o.voiceRecognition?.provider?.type==="runtype"?_.toggleVoice().then(()=>{Xe.active=_.isVoiceActive(),Pn("auto"),_.isVoiceActive()&&Ko()}):$s("auto"))},600))});qe.push(bf);let vf=l.on("action:resubmit",()=>{setTimeout(()=>{_&&!_.isStreaming()&&_.continueConversation()},100)});qe.push(vf);let xc=()=>{ft(!$,"user")},Ft=null,Ut=null;if(T&&!J()){let{instance:i,element:g}=il({config:o,plugins:r,onToggle:xc});Ft=i,i||(Ut=g)}Ft?t.appendChild(Ft.element):Ut&&t.appendChild(Ut),Br(),ri(),uc(),mi(_.isStreaming()),ic()||(Qt()==="follow"?Qn(!0):sc()),zu(),z&&(!T||J()?setTimeout(()=>hi(),0):$&&setTimeout(()=>hi(),200));let Nr=()=>{if(J()){Fo(),Br();return}let i=Nt(o),g=o.launcher?.sidebarMode??!1,h=i||g||(o.launcher?.fullHeight??!1),b=t.ownerDocument.defaultView??window,S=o.launcher?.mobileFullscreen??!0,L=o.launcher?.mobileBreakpoint??640,Q=b.innerWidth<=L,O=S&&Q&&T;try{if(O){Cr(),Ar=Rs();return}let G=!1;q&&(q=!1,Cr(),G=!0);let re=Rs();if(!G&&re!==Ar&&(Cr(),G=!0),Ar=re,G&&ni(),!T&&!i){me.style.height="",me.style.width="";return}if(!g&&!i){let se=o?.launcher?.width??o?.launcherWidth??On;me.style.width=se,me.style.maxWidth=se}if(Is(),!h){let le=b.innerHeight,se=64,xe=o.launcher?.heightOffset??0,Ve=Math.max(200,le-se),gt=Math.min(640,Ve),at=Math.max(200,gt-xe);me.style.height=`${at}px`}}finally{if(Fo(),Br(),$&&T){let re=(t.ownerDocument.defaultView??window).innerWidth<=(o.launcher?.mobileBreakpoint??640),le=o.launcher?.sidebarMode??!1,se=o.launcher?.mobileFullscreen??!0,xe=Nt(o)&&se&&re,Ve=le||se&&re&&T||xe;if(Ve&&!An){let gt=t.getRootNode(),at=gt instanceof ShadowRoot?gt.host:t.closest(".persona-host");at&&!Cn&&(Cn=rl(at,o.launcher?.zIndex??zt)),An=sl(t.ownerDocument)}else Ve||(Cn?.(),Cn=null,An?.(),An=null)}}};Nr();let Cc=t.ownerDocument.defaultView??window;if(Cc.addEventListener("resize",Nr),qe.push(()=>Cc.removeEventListener("resize",Nr)),typeof ResizeObserver<"u"){let i=new ResizeObserver(()=>{Fo()});i.observe(U),qe.push(()=>i.disconnect())}an=ie.scrollTop;let Ac=En(ie),wf=()=>{let i=ie.getRootNode();return(typeof i.getSelection=="function"?i.getSelection():null)??ie.ownerDocument.getSelection()},Mi=()=>Sp(wf(),ie),Sc=()=>{let i=ie.scrollTop,g=En(ie),h=g<Ac;if(Ac=g,!$n()){an=i,en();return}let{action:b,nextLastScrollTop:S}=La({following:Zt.isFollowing(),currentScrollTop:i,lastScrollTop:an,nearBottom:io(ie,Fs),userScrollThreshold:_u,isAutoScrolling:ln||Ds||h,pauseOnUpwardScroll:!0,pauseWhenAwayFromBottom:!1,resumeRequiresDownwardScroll:!0});if(an=S,b==="resume"){Mi()||Gn();return}b==="pause"&&kr()};if(ie.addEventListener("scroll",Sc,{passive:!0}),qe.push(()=>ie.removeEventListener("scroll",Sc)),typeof ResizeObserver<"u"){let i=new ResizeObserver(()=>{Ku()});i.observe(be),i.observe(ie),qe.push(()=>i.disconnect())}let Tc=()=>{$n()&&Zt.isFollowing()&&Mi()&&kr()},Mc=ie.ownerDocument;Mc.addEventListener("selectionchange",Tc),qe.push(()=>{Mc.removeEventListener("selectionchange",Tc)});let xf=new Set(["PageUp","PageDown","Home","End","ArrowUp","ArrowDown"]),Ec=i=>{Hl()&&$n()&&Zt.isFollowing()&&xf.has(i.key)&&kr()},kc=i=>{if(!Hl()||!$n()||!Zt.isFollowing())return;let g=i.target;g&&g.closest("a, button, [tabindex], input, textarea, select")&&kr()};ie.addEventListener("keydown",Ec),ie.addEventListener("focusin",kc),qe.push(()=>{ie.removeEventListener("keydown",Ec),ie.removeEventListener("focusin",kc)});let Lc=i=>{if(!$n())return;let g=Pa({following:Zt.isFollowing(),deltaY:i.deltaY,nearBottom:io(ie,Fs),resumeWhenNearBottom:!0});g==="pause"?kr():g==="resume"&&!Mi()&&Gn()};ie.addEventListener("wheel",Lc,{passive:!0}),qe.push(()=>ie.removeEventListener("wheel",Lc)),Lt.addEventListener("click",()=>{Lr(),ie.scrollTop=ie.scrollHeight,an=ie.scrollTop,Gn(),Qn(!0),en()}),qe.push(()=>Lt.remove()),qe.push(()=>{nc(),Lr()});let Pc=()=>{A&&(ho&&(A.removeEventListener("click",ho),ho=null),D()?(A.style.display="",ho=()=>{ft(!1,"user")},A.addEventListener("click",ho)):A.style.display="none")};Pc(),(()=>{let{clearChatButton:i}=Pe;i&&i.addEventListener("click",()=>{_.clearMessages(),yo.clear(),Gn(),tr(Pe.composerOverlay);try{localStorage.removeItem(hr),o.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${hr}`)}catch(h){console.error("[AgentWidget] Failed to clear default localStorage:",h)}if(o.clearChatHistoryStorageKey&&o.clearChatHistoryStorageKey!==hr)try{localStorage.removeItem(o.clearChatHistoryStorageKey),o.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${o.clearChatHistoryStorageKey}`)}catch(h){console.error("[AgentWidget] Failed to clear custom localStorage:",h)}let g=new CustomEvent("persona:clear-chat",{detail:{timestamp:new Date().toISOString()}});window.dispatchEvent(g),d?.clear&&pi(()=>d.clear(),"[AgentWidget] Failed to clear storage adapter:"),c={},E.syncFromMetadata(),Ae?.clear(),ze?.reset(),Ne?.update()})})(),X&&X.addEventListener("submit",bc);let Ic=[["keydown",ff],["input",uf],["paste",gf],["focus",Hu]],Rc=i=>{if(i)for(let[g,h]of Ic)i.addEventListener(g,h)},Wc=i=>{if(i)for(let[g,h]of Ic)i.removeEventListener(g,h)};Rc(he),Yt?.onComposerSwap((i,g)=>{Wc(g),he=i,Rc(i)});let Bc=t.ownerDocument??document;Bc.addEventListener("keydown",vc,!0);let Hc="persona-attachment-drop-active",Fr=0,Ei=()=>{Fr=0,pe.classList.remove(Hc)},Go=()=>o.attachments?.enabled===!0&&St!==null,Dc=i=>{!Ga(i.dataTransfer)||!Go()||(Fr++,Fr===1&&pe.classList.add(Hc))},Nc=i=>{!Ga(i.dataTransfer)||!Go()||(Fr--,Fr<=0&&Ei())},Fc=i=>{!Ga(i.dataTransfer)||!Go()||(i.preventDefault(),i.dataTransfer.dropEffect="copy")},Oc=i=>{if(!Ga(i.dataTransfer)||!Go())return;i.preventDefault(),i.stopPropagation(),Ei();let g=Array.from(i.dataTransfer.files??[]);g.length!==0&&St.handleFiles(g)},Jn=!0;pe.addEventListener("dragenter",Dc,Jn),pe.addEventListener("dragleave",Nc,Jn),t.addEventListener("dragover",Fc,Jn),t.addEventListener("drop",Oc,Jn);let js=t.ownerDocument,_c=i=>{Go()&&i.preventDefault()},$c=i=>{Go()&&i.preventDefault()};js.addEventListener("dragover",_c),js.addEventListener("drop",$c),qe.push(()=>{X&&X.removeEventListener("submit",bc),Wc(he),Bc.removeEventListener("keydown",vc,!0),Yt?.destroy()}),qe.push(()=>{pe.removeEventListener("dragenter",Dc,Jn),pe.removeEventListener("dragleave",Nc,Jn),t.removeEventListener("dragover",Fc,Jn),t.removeEventListener("drop",Oc,Jn),js.removeEventListener("dragover",_c),js.removeEventListener("drop",$c),Ei()}),qe.push(()=>{_.cancel()}),Ft?qe.push(()=>{Ft?.destroy()}):Ut&&qe.push(()=>{Ut?.remove()});let Pt={update(i){let g=o.toolCall,h=o.messageActions,b=o.layout?.messages,S=o.colorScheme,L=o.loadingIndicator,Q=o.iterationDisplay,O=o.features?.showReasoning,G=o.features?.showToolCalls,re=o.features?.toolCallDisplay,le=o.features?.reasoningDisplay,se=o.features?.streamAnimation?.type;o=lu(o,i),Ws(),rs(t,o),ws(t,o),xs(t,o),Ln(),o.colorScheme!==S&&Yl();let xe=Cl.getForInstance(o.plugins);r.length=0,r.push(...xe),T=o.launcher?.enabled??!0,I=o.launcher?.autoExpand??!1,te=o.features?.showReasoning??!0,ge=o.features?.showToolCalls??!0,ae=o.features?.scrollToBottom??{};let Ve=Qt();Z=o.features?.scrollBehavior??{},Ve!==Qt()&&(Lr(),Gn()),Ol(),en();let gt=Y;if(Y=o.features?.showEventStreamToggle??!1,Y&&!gt){if(Ae||(ue=new bs(we),Ae=new ys(Te,ue),ze=ze??new vs,ue.open().then(()=>Ae?.restore()).catch(()=>{}),_.setSSEEventCallback((ee,Ge)=>{o.onSSEEvent?.(ee,Ge),ze?.processEvent(ee,Ge),Ae.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:ee,timestamp:Date.now(),payload:JSON.stringify(Ge)})})),!st&&B){let ee=o.features?.eventStream?.classNames,Ge="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"+(ee?.toggleButton?" "+ee.toggleButton:"");st=m("button",Ge),st.style.width="28px",st.style.height="28px",st.style.color=Kt.actionIconColor,st.type="button",st.setAttribute("aria-label","Event Stream"),st.title="Event Stream";let mt=ne("activity","18px","currentColor",1.5);mt&&st.appendChild(mt);let je=Pe.clearChatButtonWrapper,rt=Pe.closeButtonWrapper,$t=je||rt;$t&&$t.parentNode===B?B.insertBefore(st,$t):B.appendChild(st),st.addEventListener("click",()=>{it?wr():Ya()})}}else!Y&&gt&&(wr(),st&&(st.remove(),st=null),Ae?.clear(),ue?.destroy(),Ae=null,ue=null,ze?.reset(),ze=null);if(o.launcher?.enabled===!1&&Ft&&(Ft.destroy(),Ft=null),o.launcher?.enabled===!1&&Ut&&(Ut.remove(),Ut=null),o.launcher?.enabled!==!1&&!Ft&&!Ut){let{instance:ee,element:Ge}=il({config:o,plugins:r,onToggle:xc});Ft=ee,ee||(Ut=Ge),t.appendChild(Ge)}Ft&&Ft.update(o),W&&o.launcher?.title!==void 0&&(W.textContent=o.launcher.title),V&&o.launcher?.subtitle!==void 0&&(V.textContent=o.launcher.subtitle);let at=o.layout?.header;if(at?.layout!==j&&B){let ee=at?Na(o,at,{showClose:D(),onClose:()=>ft(!1,"user")}):Bo({config:o,showClose:D(),onClose:()=>ft(!1,"user")});yt.replaceHeader(ee),B=yt.header.element,k=yt.header.iconHolder,W=yt.header.headerTitle,V=yt.header.headerSubtitle,A=yt.header.closeButton,j=at?.layout}else if(at){if(k&&(k.style.display=at.showIcon===!1?"none":""),W&&(W.style.display=at.showTitle===!1?"none":""),V&&(V.style.display=at.showSubtitle===!1?"none":""),A){let ee=D()&&at.showCloseButton!==!1;A.style.display=ee?"":"none"}if(Pe.clearChatButtonWrapper){let ee=at.showClearChat;if(ee!==void 0){Pe.clearChatButtonWrapper.style.display=ee?"":"none";let{closeButtonWrapper:Ge}=Pe;Ge&&!Ge.classList.contains("persona-absolute")&&(ee?Ge.classList.remove("persona-ml-auto"):Ge.classList.add("persona-ml-auto"))}}}let Wt=o.layout?.showHeader!==!1;B&&(B.style.display=Wt?"":"none");let R=o.layout?.showFooter!==!1;U&&(U.style.display=R?"":"none"),Fo(),en(),T!==x?T?ft(I,"auto"):($=!0,Br()):I!==N&&ft(I,"auto"),N=I,x=T,Nr(),Pc();let Oe=JSON.stringify(o.toolCall)!==JSON.stringify(g),At=JSON.stringify(o.messageActions)!==JSON.stringify(h),dt=JSON.stringify(o.layout?.messages)!==JSON.stringify(b),xt=o.loadingIndicator?.render!==L?.render||o.loadingIndicator?.renderIdle!==L?.renderIdle||o.loadingIndicator?.showBubble!==L?.showBubble,ht=o.iterationDisplay!==Q,_t=(o.features?.showReasoning??!0)!==(O??!0)||(o.features?.showToolCalls??!0)!==(G??!0)||JSON.stringify(o.features?.toolCallDisplay)!==JSON.stringify(re)||JSON.stringify(o.features?.reasoningDisplay)!==JSON.stringify(le);(Oe||At||dt||xt||ht||_t)&&_&&(si++,Pr(be,_.getMessages(),Ce));let pt=o.features?.streamAnimation?.type;if(pt!==se&&pt&&pt!=="none"){let ee=ur(pt,o.features?.streamAnimation?.plugins);ee&&Ba(ee,t)}let ce=o.launcher??{},Ct=ce.headerIconHidden??!1,qt=o.layout?.header?.showIcon,Bt=Ct||qt===!1,ot=ce.headerIconName,Ue=ce.headerIconSize??"48px";if(k){let ee=pe.querySelector(".persona-border-b-persona-divider"),Ge=ee?.querySelector(".persona-flex-col");if(Bt)k.style.display="none",ee&&Ge&&!ee.contains(Ge)&&ee.insertBefore(Ge,ee.firstChild);else{if(k.style.display="",k.style.height=Ue,k.style.width=Ue,ee&&Ge&&(ee.contains(k)?k.nextSibling!==Ge&&(k.remove(),ee.insertBefore(k,Ge)):ee.insertBefore(k,Ge)),ot){let je=parseFloat(Ue)||24,rt=ne(ot,je*.6,"currentColor",1);rt?k.replaceChildren(rt):k.textContent=ce.agentIconText??"\u{1F4AC}"}else if(ce.iconUrl){let je=k.querySelector("img");if(je)je.src=ce.iconUrl,je.style.height=Ue,je.style.width=Ue;else{let rt=document.createElement("img");rt.src=ce.iconUrl,rt.alt="",rt.className="persona-rounded-xl persona-object-cover",rt.style.height=Ue,rt.style.width=Ue,k.replaceChildren(rt)}}else{let je=k.querySelector("svg"),rt=k.querySelector("img");(je||rt)&&k.replaceChildren(),k.textContent=ce.agentIconText??"\u{1F4AC}"}let mt=k.querySelector("img");mt&&(mt.style.height=Ue,mt.style.width=Ue)}}let tt=o.layout?.header?.showTitle,Et=o.layout?.header?.showSubtitle;if(W&&(W.style.display=tt===!1?"none":""),V&&(V.style.display=Et===!1?"none":""),A){let ee=D()&&o.layout?.header?.showCloseButton!==!1;A.style.display=ee?"":"none";let Ge=ce.closeButtonSize??"32px",mt=ce.closeButtonPlacement??"inline";A.style.height=Ge,A.style.width=Ge;let{closeButtonWrapper:je}=Pe,rt=mt==="top-right",$t=je?.classList.contains("persona-absolute");if(je&&rt!==$t)if(je.remove(),rt)je.className="persona-absolute persona-top-4 persona-right-4 persona-z-50",pe.style.position="relative",pe.appendChild(je);else{let $e=ce.clearChat?.placement??"inline",Dt=ce.clearChat?.enabled??!0;je.className=Dt&&$e==="inline"?"":"persona-ml-auto";let Jt=pe.querySelector(".persona-border-b-persona-divider");Jt&&Jt.appendChild(je)}if(A.style.color=ce.closeButtonColor||Kt.actionIconColor,ce.closeButtonBackgroundColor?(A.style.backgroundColor=ce.closeButtonBackgroundColor,A.classList.remove("hover:persona-bg-gray-100")):(A.style.backgroundColor="",A.classList.add("hover:persona-bg-gray-100")),ce.closeButtonBorderWidth||ce.closeButtonBorderColor){let $e=ce.closeButtonBorderWidth||"0px",Dt=ce.closeButtonBorderColor||"transparent";A.style.border=`${$e} solid ${Dt}`,A.classList.remove("persona-border-none")}else A.style.border="",A.classList.add("persona-border-none");ce.closeButtonBorderRadius?(A.style.borderRadius=ce.closeButtonBorderRadius,A.classList.remove("persona-rounded-full")):(A.style.borderRadius="",A.classList.add("persona-rounded-full")),ce.closeButtonPaddingX?(A.style.paddingLeft=ce.closeButtonPaddingX,A.style.paddingRight=ce.closeButtonPaddingX):(A.style.paddingLeft="",A.style.paddingRight=""),ce.closeButtonPaddingY?(A.style.paddingTop=ce.closeButtonPaddingY,A.style.paddingBottom=ce.closeButtonPaddingY):(A.style.paddingTop="",A.style.paddingBottom="");let nn=ce.closeButtonIconName??"x",vn=ce.closeButtonIconText??"\xD7";A.innerHTML="";let Ot=ne(nn,"28px","currentColor",1);Ot?(Ot.style.display="block",A.appendChild(Ot)):A.textContent=vn;let Tt=ce.closeButtonTooltipText??"Close chat",on=ce.closeButtonShowTooltip??!0;if(A.setAttribute("aria-label",Tt),je&&(je._cleanupTooltip&&(je._cleanupTooltip(),delete je._cleanupTooltip),on&&Tt)){let $e=null,Dt=()=>{if($e||!A)return;let Mo=A.ownerDocument,zr=Mo.body;if(!zr)return;$e=Tn(Mo,"div","persona-clear-chat-tooltip"),$e.textContent=Tt;let Ur=Tn(Mo,"div");Ur.className="persona-clear-chat-tooltip-arrow",$e.appendChild(Ur);let Eo=A.getBoundingClientRect();$e.style.position="fixed",$e.style.zIndex=String(so),$e.style.left=`${Eo.left+Eo.width/2}px`,$e.style.top=`${Eo.top-8}px`,$e.style.transform="translate(-50%, -100%)",zr.appendChild($e)},Jt=()=>{$e&&$e.parentNode&&($e.parentNode.removeChild($e),$e=null)};je.addEventListener("mouseenter",Dt),je.addEventListener("mouseleave",Jt),A.addEventListener("focus",Dt),A.addEventListener("blur",Jt),je._cleanupTooltip=()=>{Jt(),je&&(je.removeEventListener("mouseenter",Dt),je.removeEventListener("mouseleave",Jt)),A&&(A.removeEventListener("focus",Dt),A.removeEventListener("blur",Jt))}}}let{clearChatButton:He,clearChatButtonWrapper:nt}=Pe;if(He){let ee=ce.clearChat??{},Ge=ee.enabled??!0,mt=o.layout?.header?.showClearChat,je=mt!==void 0?mt:Ge,rt=ee.placement??"inline";if(nt){nt.style.display=je?"":"none";let{closeButtonWrapper:$t}=Pe;!J()&&$t&&!$t.classList.contains("persona-absolute")&&(je?$t.classList.remove("persona-ml-auto"):$t.classList.add("persona-ml-auto"));let nn=rt==="top-right",vn=nt.classList.contains("persona-absolute");if(!J()&&nn!==vn&&je){if(nt.remove(),nn)nt.className="persona-absolute persona-top-4 persona-z-50",nt.style.right="48px",pe.style.position="relative",pe.appendChild(nt);else{nt.className="persona-relative persona-ml-auto persona-clear-chat-button-wrapper",nt.style.right="";let Tt=pe.querySelector(".persona-border-b-persona-divider"),on=Pe.closeButtonWrapper;Tt&&on&&on.parentElement===Tt?Tt.insertBefore(nt,on):Tt&&Tt.appendChild(nt)}let Ot=Pe.closeButtonWrapper;Ot&&!Ot.classList.contains("persona-absolute")&&(nn?Ot.classList.add("persona-ml-auto"):Ot.classList.remove("persona-ml-auto"))}}if(je){if(!J()){let $e=ee.size??"32px";He.style.height=$e,He.style.width=$e}let $t=ee.iconName??"refresh-cw",nn=ee.iconColor??"";He.style.color=nn||Kt.actionIconColor,He.innerHTML="";let vn=J()?"14px":"20px",Ot=ne($t,vn,"currentColor",1);if(Ot&&(Ot.style.display="block",He.appendChild(Ot)),ee.backgroundColor?(He.style.backgroundColor=ee.backgroundColor,He.classList.remove("hover:persona-bg-gray-100")):(He.style.backgroundColor="",He.classList.add("hover:persona-bg-gray-100")),ee.borderWidth||ee.borderColor){let $e=ee.borderWidth||"0px",Dt=ee.borderColor||"transparent";He.style.border=`${$e} solid ${Dt}`,He.classList.remove("persona-border-none")}else He.style.border="",He.classList.add("persona-border-none");ee.borderRadius?(He.style.borderRadius=ee.borderRadius,He.classList.remove("persona-rounded-full")):(He.style.borderRadius="",He.classList.add("persona-rounded-full")),ee.paddingX?(He.style.paddingLeft=ee.paddingX,He.style.paddingRight=ee.paddingX):(He.style.paddingLeft="",He.style.paddingRight=""),ee.paddingY?(He.style.paddingTop=ee.paddingY,He.style.paddingBottom=ee.paddingY):(He.style.paddingTop="",He.style.paddingBottom="");let Tt=ee.tooltipText??"Clear chat",on=ee.showTooltip??!0;if(He.setAttribute("aria-label",Tt),nt&&(nt._cleanupTooltip&&(nt._cleanupTooltip(),delete nt._cleanupTooltip),on&&Tt)){let $e=null,Dt=()=>{if($e||!He)return;let Mo=He.ownerDocument,zr=Mo.body;if(!zr)return;$e=Tn(Mo,"div","persona-clear-chat-tooltip"),$e.textContent=Tt;let Ur=Tn(Mo,"div");Ur.className="persona-clear-chat-tooltip-arrow",$e.appendChild(Ur);let Eo=He.getBoundingClientRect();$e.style.position="fixed",$e.style.zIndex=String(so),$e.style.left=`${Eo.left+Eo.width/2}px`,$e.style.top=`${Eo.top-8}px`,$e.style.transform="translate(-50%, -100%)",zr.appendChild($e)},Jt=()=>{$e&&$e.parentNode&&($e.parentNode.removeChild($e),$e=null)};nt.addEventListener("mouseenter",Dt),nt.addEventListener("mouseleave",Jt),He.addEventListener("focus",Dt),He.addEventListener("blur",Jt),nt._cleanupTooltip=()=>{Jt(),nt&&(nt.removeEventListener("mouseenter",Dt),nt.removeEventListener("mouseleave",Jt)),He&&(He.removeEventListener("focus",Dt),He.removeEventListener("blur",Jt))}}}}let tn=o.actionParsers&&o.actionParsers.length?o.actionParsers:[Sl],Ao=o.actionHandlers&&o.actionHandlers.length?o.actionHandlers:[Cs.message,Cs.messageAndClick];E=Tl({parsers:tn,handlers:Ao,getSessionMetadata:v,updateSessionMetadata:C,emit:l.emit,documentRef:typeof document<"u"?document:null}),Ce=bu(o,E,Le),_.updateConfig(o),Pr(be,_.getMessages(),Ce),ri(),uc(),mi(_.isStreaming());let zc=o.voiceRecognition?.enabled===!0,qs=typeof window<"u"&&(typeof window.webkitSpeechRecognition<"u"||typeof window.SpeechRecognition<"u"),kt=o.voiceRecognition?.provider?.type==="runtype";if(zc&&(qs||kt))if(!K||!_e){let ee=mf(o.voiceRecognition,o.sendButton);ee&&(K=ee.micButton,_e=ee.micButtonWrapper,Ke.insertBefore(_e,fn),K.addEventListener("click",Us),K.disabled=_.isStreaming())}else{let ee=o.voiceRecognition??{},Ge=o.sendButton??{},mt=ee.iconName??"mic",je=Ge.size??"40px",rt=ee.iconSize??je,$t=parseFloat(rt)||24;K.style.width=rt,K.style.height=rt,K.style.minWidth=rt,K.style.minHeight=rt;let nn=ee.iconColor??Ge.textColor;K.innerHTML="";let vn=ne(mt,$t,nn||"currentColor",1.5);vn?K.appendChild(vn):K.textContent="\u{1F3A4}";let Ot=ee.backgroundColor??Ge.backgroundColor;Ot?K.style.backgroundColor=Ot:K.style.backgroundColor="",nn?K.style.color=nn:K.style.color="var(--persona-text, #111827)",ee.borderWidth?(K.style.borderWidth=ee.borderWidth,K.style.borderStyle="solid"):(K.style.borderWidth="",K.style.borderStyle=""),ee.borderColor?K.style.borderColor=ee.borderColor:K.style.borderColor="",ee.paddingX?(K.style.paddingLeft=ee.paddingX,K.style.paddingRight=ee.paddingX):(K.style.paddingLeft="",K.style.paddingRight=""),ee.paddingY?(K.style.paddingTop=ee.paddingY,K.style.paddingBottom=ee.paddingY):(K.style.paddingTop="",K.style.paddingBottom="");let Tt=_e?.querySelector(".persona-send-button-tooltip"),on=ee.tooltipText??"Start voice recognition";if((ee.showTooltip??!1)&&on)if(Tt)Tt.textContent=on,Tt.style.display="";else{let Dt=document.createElement("div");Dt.className="persona-send-button-tooltip",Dt.textContent=on,_e?.insertBefore(Dt,K)}else Tt&&(Tt.style.display="none");_e.style.display="",K.disabled=_.isStreaming()}else K&&_e&&(_e.style.display="none",o.voiceRecognition?.provider?.type==="runtype"?_.isVoiceActive()&&_.toggleVoice():Sn&&Xn());if(o.attachments?.enabled===!0){if(!Be||!ke){let ee=o.attachments??{},mt=(o.sendButton??{}).size??"40px";Ze||(Ze=m("div","persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2"),Ze.style.display="none",X.insertBefore(Ze,he)),Ie||(Ie=document.createElement("input"),Ie.type="file",Ie.accept=(ee.allowedTypes??Fn).join(","),Ie.multiple=(ee.maxFiles??4)>1,Ie.style.display="none",Ie.setAttribute("aria-label","Attach files"),X.insertBefore(Ie,he)),Be=m("div","persona-send-button-wrapper"),ke=m("button","persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-attachment-button"),ke.type="button",ke.setAttribute("aria-label",ee.buttonTooltipText??"Attach file");let je=ee.buttonIconName??"paperclip",rt=mt,$t=parseFloat(rt)||40,nn=Math.round($t*.6);ke.style.width=rt,ke.style.height=rt,ke.style.minWidth=rt,ke.style.minHeight=rt,ke.style.fontSize="18px",ke.style.lineHeight="1";let vn=ne(je,nn,"currentColor",1.5);vn?ke.appendChild(vn):ke.textContent="\u{1F4CE}",ke.addEventListener("click",on=>{on.preventDefault(),Ie?.click()}),Be.appendChild(ke);let Ot=ee.buttonTooltipText??"Attach file",Tt=m("div","persona-send-button-tooltip");Tt.textContent=Ot,Be.appendChild(Tt),Ee?Ee.append(Be):X.appendChild(Be),!St&&Ie&&Ze&&(St=ts.fromConfig(ee),St.setPreviewsContainer(Ze),Ie.addEventListener("change",async()=>{St&&Ie?.files&&(await St.handleFileSelect(Ie.files),Ie.value="")}))}else{Be.style.display="";let ee=o.attachments??{};Ie&&(Ie.accept=(ee.allowedTypes??Fn).join(","),Ie.multiple=(ee.maxFiles??4)>1),St&&St.updateConfig({allowedTypes:ee.allowedTypes,maxFileSize:ee.maxFileSize,maxFiles:ee.maxFiles})}if(pe.querySelector(".persona-attachment-drop-overlay")?.remove(),pe.appendChild(vu(o.attachments?.dropOverlay)),ke){let ee=o.attachments??{},Ge=ee.buttonTooltipText??"Attach file";ke.setAttribute("aria-label",Ge),ke.textContent="";let mt=parseFloat(o.sendButton?.size??"40px")||40,je=ne(ee.buttonIconName??"paperclip",Math.round(mt*.6),"currentColor",1.5);je?ke.appendChild(je):ke.textContent="\u{1F4CE}";let rt=Be?.querySelector(".persona-send-button-tooltip");rt&&(rt.textContent=Ge)}}else Be&&(Be.style.display="none"),St&&St.clearAttachments(),pe.querySelector(".persona-attachment-drop-overlay")?.remove();let Ht=o.sendButton??{},Or=Ht.useIcon??!1,Ks=Ht.iconText??"\u2191",Qo=Ht.iconName,_r=Ht.tooltipText??"Send message",ki=Ht.showTooltip??!1,So=Ht.size??"40px",Wn=Ht.backgroundColor,To=Ht.textColor;if(Or){if(de.style.width=So,de.style.height=So,de.style.minWidth=So,de.style.minHeight=So,de.style.fontSize="18px",de.style.lineHeight="1",To?de.style.color=To:de.style.color="var(--persona-button-primary-fg, #ffffff)",!_.isStreaming())if(de.innerHTML="",Qo){let ee=parseFloat(So)||24,Ge=To?.trim()||"currentColor",mt=ne(Qo,ee,Ge,2);mt?de.appendChild(mt):de.textContent=Ks}else de.textContent=Ks;de.className="persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer",Wn?(de.style.backgroundColor=Wn,de.classList.remove("persona-bg-persona-primary")):(de.style.backgroundColor="",de.classList.add("persona-bg-persona-primary"))}else de.textContent=o.copy?.sendButtonLabel??"Send",de.style.width="",de.style.height="",de.style.minWidth="",de.style.minHeight="",de.style.fontSize="",de.style.lineHeight="",de.className="persona-rounded-button persona-bg-persona-accent persona-px-4 persona-py-2 persona-text-sm persona-font-semibold persona-text-white disabled:persona-opacity-50 persona-cursor-pointer",Wn?(de.style.backgroundColor=Wn,de.classList.remove("persona-bg-persona-accent")):de.classList.add("persona-bg-persona-accent"),To?de.style.color=To:de.classList.add("persona-text-white");Ht.borderWidth?(de.style.borderWidth=Ht.borderWidth,de.style.borderStyle="solid"):(de.style.borderWidth="",de.style.borderStyle=""),Ht.borderColor?de.style.borderColor=Ht.borderColor:de.style.borderColor="",Ht.paddingX?(de.style.paddingLeft=Ht.paddingX,de.style.paddingRight=Ht.paddingX):(de.style.paddingLeft="",de.style.paddingRight=""),Ht.paddingY?(de.style.paddingTop=Ht.paddingY,de.style.paddingBottom=Ht.paddingY):(de.style.paddingTop="",de.style.paddingBottom="");let $r=fn?.querySelector(".persona-send-button-tooltip");if(ki&&_r)if($r)$r.textContent=_r,$r.style.display="";else{let ee=document.createElement("div");ee.className="persona-send-button-tooltip",ee.textContent=_r,fn?.insertBefore(ee,de)}else $r&&($r.style.display="none");let Gs=o.layout?.contentMaxWidth??(J()?o.launcher?.composerBar?.contentMaxWidth??"720px":void 0);Gs?(be.style.maxWidth=Gs,be.style.marginLeft="auto",be.style.marginRight="auto",be.style.width="100%",X&&(X.style.maxWidth=Gs,X.style.marginLeft="auto",X.style.marginRight="auto"),bt&&(bt.style.maxWidth=Gs,bt.style.marginLeft="auto",bt.style.marginRight="auto")):(be.style.maxWidth="",be.style.marginLeft="",be.style.marginRight="",be.style.width="",X&&(X.style.maxWidth="",X.style.marginLeft="",X.style.marginRight=""),bt&&(bt.style.maxWidth="",bt.style.marginLeft="",bt.style.marginRight=""));let Yn=o.statusIndicator??{},Cf=Yn.visible??!0;if(M.style.display=Cf?"":"none",_){let ee=_.getStatus();Mt(M,(mt=>mt==="idle"?Yn.idleText??It.idle:mt==="connecting"?Yn.connectingText??It.connecting:mt==="connected"?Yn.connectedText??It.connected:mt==="error"?Yn.errorText??It.error:It[mt])(ee),Yn,ee)}M.classList.remove("persona-text-left","persona-text-center","persona-text-right");let Af=Yn.align==="left"?"persona-text-left":Yn.align==="center"?"persona-text-center":"persona-text-right";M.classList.add(Af)},open(){D()&&ft(!0,"api")},close(){D()&&ft(!1,"api")},toggle(){D()&&ft(!$,"api")},reconnect(){_.reconnectNow()},clearChat(){kn=!1,_.clearMessages(),yo.clear(),Gn();try{localStorage.removeItem(hr),o.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${hr}`)}catch(g){console.error("[AgentWidget] Failed to clear default localStorage:",g)}if(o.clearChatHistoryStorageKey&&o.clearChatHistoryStorageKey!==hr)try{localStorage.removeItem(o.clearChatHistoryStorageKey),o.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${o.clearChatHistoryStorageKey}`)}catch(g){console.error("[AgentWidget] Failed to clear custom localStorage:",g)}let i=new CustomEvent("persona:clear-chat",{detail:{timestamp:new Date().toISOString()}});window.dispatchEvent(i),d?.clear&&pi(()=>d.clear(),"[AgentWidget] Failed to clear storage adapter:"),c={},E.syncFromMetadata(),Ae?.clear(),ze?.reset(),Ne?.update()},setMessage(i){return!he||_.isStreaming()?!1:(!$&&D()&&ft(!0,"system"),he.value=i,he.dispatchEvent(new Event("input",{bubbles:!0})),!0)},submitMessage(i){if(_.isStreaming())return!1;let g=i?.trim()||he.value.trim();return g?(!$&&D()&&ft(!0,"system"),he.value="",he.style.height="auto",_.sendMessage(g),!0):!1},startVoiceRecognition(){return _.isStreaming()?!1:o.voiceRecognition?.provider?.type==="runtype"?(_.isVoiceActive()||(!$&&D()&&ft(!0,"system"),Xe.manuallyDeactivated=!1,bn(),_.toggleVoice().then(()=>{Xe.active=_.isVoiceActive(),Pn("user"),_.isVoiceActive()&&Ko()})),!0):Sn?!0:wc()?(!$&&D()&&ft(!0,"system"),Xe.manuallyDeactivated=!1,bn(),$s("user"),!0):!1},stopVoiceRecognition(){return o.voiceRecognition?.provider?.type==="runtype"?_.isVoiceActive()?(_.toggleVoice().then(()=>{Xe.active=!1,Xe.manuallyDeactivated=!0,bn(),Pn("user"),Rn()}),!0):!1:Sn?(Xe.manuallyDeactivated=!0,bn(),Xn("user"),!0):!1},injectMessage(i){return!$&&D()&&ft(!0,"system"),_.injectMessage(i)},injectAssistantMessage(i){!$&&D()&&ft(!0,"system");let g=_.injectAssistantMessage(i);return fe&&(fe=!1,ye&&(clearTimeout(ye),ye=null),setTimeout(()=>{_&&!_.isStreaming()&&_.continueConversation()},100)),g},injectUserMessage(i){return!$&&D()&&ft(!0,"system"),_.injectUserMessage(i)},injectSystemMessage(i){return!$&&D()&&ft(!0,"system"),_.injectSystemMessage(i)},injectMessageBatch(i){return!$&&D()&&ft(!0,"system"),_.injectMessageBatch(i)},injectComponentDirective(i){return!$&&D()&&ft(!0,"system"),_.injectComponentDirective(i)},injectTestMessage(i){!$&&D()&&ft(!0,"system"),_.injectTestEvent(i)},async connectStream(i,g){return _.connectStream(i,g)},__pushEventStreamEvent(i){Ae&&(ze?.processEvent(i.type,i.payload),Ae.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:i.type,timestamp:Date.now(),payload:JSON.stringify(i.payload)}))},showEventStream(){!Y||!Ae||Ya()},hideEventStream(){it&&wr()},isEventStreamVisible(){return it},showArtifacts(){Gt(o)&&(kn=!1,Oo=!0,Ln(),et?.setMobileOpen(!0))},hideArtifacts(){Gt(o)&&(kn=!0,Ln())},upsertArtifact(i){return Gt(o)?(ko(o.features?.artifacts,i.artifactType)==="panel"&&(kn=!1,Oo=!0),_.upsertArtifact(i)):null},selectArtifact(i){Gt(o)&&_.selectArtifact(i)},clearArtifacts(){Gt(o)&&_.clearArtifacts()},getArtifacts(){return _?.getArtifacts()??[]},getSelectedArtifactId(){return _?.getSelectedArtifactId()??null},focusInput(){return T&&!$&&!J()||!he?!1:(he.focus(),!0)},async resolveApproval(i,g,h){let S=_.getMessages().find(L=>L.variant==="approval"&&L.approval?.id===i);if(!S?.approval)throw new Error(`Approval not found: ${i}`);if(S.approval.toolType==="webmcp"){_.resolveWebMcpApproval(S.id,g);return}return _.resolveApproval(S.approval,g,h)},getMessages(){return _.getMessages()},getStatus(){return _.getStatus()},getPersistentMetadata(){return{...c}},updatePersistentMetadata(i){C(i)},on(i,g){return l.on(i,g)},off(i,g){l.off(i,g)},isOpen(){return D()&&$},isVoiceActive(){return Xe.active},toggleReadAloud(i){_.toggleReadAloud(i)},stopReadAloud(){_.stopSpeaking()},getReadAloudState(i){return _.getReadAloudState(i)},onReadAloudChange(i){return _.onReadAloudChange(i)},getState(){return{open:D()&&$,launcherEnabled:T,voiceActive:Xe.active,streaming:_.isStreaming()}},showCSATFeedback(i){!$&&D()&&ft(!0,"system");let g=be.querySelector(".persona-feedback-container");g&&g.remove();let h=mu({onSubmit:async(b,S)=>{_.isClientTokenMode()&&await _.submitCSATFeedback(b,S),i?.onSubmit?.(b,S)},onDismiss:i?.onDismiss,...i});be.appendChild(h),h.scrollIntoView({behavior:"smooth",block:"end"})},showNPSFeedback(i){!$&&D()&&ft(!0,"system");let g=be.querySelector(".persona-feedback-container");g&&g.remove();let h=hu({onSubmit:async(b,S)=>{_.isClientTokenMode()&&await _.submitNPSFeedback(b,S),i?.onSubmit?.(b,S)},onDismiss:i?.onDismiss,...i});be.appendChild(h),h.scrollIntoView({behavior:"smooth",block:"end"})},async submitCSATFeedback(i,g){return _.submitCSATFeedback(i,g)},async submitNPSFeedback(i,g){return _.submitNPSFeedback(i,g)},destroy(){vi(),wo!=null&&(clearInterval(wo),wo=null),qe.forEach(i=>i()),We.remove(),Qe?.remove(),Ft?.destroy(),Ut?.remove(),ho&&A.removeEventListener("click",ho)}};if(((n?.debugTools??!1)||!!o.debug)&&typeof window<"u"){let i=window.AgentWidgetBrowser,g={controller:Pt,getMessages:Pt.getMessages,getStatus:Pt.getStatus,getMetadata:Pt.getPersistentMetadata,updateMetadata:Pt.updatePersistentMetadata,clearHistory:()=>Pt.clearChat(),setVoiceActive:h=>h?Pt.startVoiceRecognition():Pt.stopVoiceRecognition()};window.AgentWidgetBrowser=g,qe.push(()=>{window.AgentWidgetBrowser===g&&(window.AgentWidgetBrowser=i)})}if(typeof window<"u"){let i=t.getAttribute("data-persona-instance")||t.id||"persona-"+Math.random().toString(36).slice(2,8),g=O=>{let G=O.detail;(!G?.instanceId||G.instanceId===i)&&Pt.focusInput()};if(window.addEventListener("persona:focusInput",g),qe.push(()=>{window.removeEventListener("persona:focusInput",g)}),Y){let O=re=>{let le=re.detail;(!le?.instanceId||le.instanceId===i)&&Pt.showEventStream()},G=re=>{let le=re.detail;(!le?.instanceId||le.instanceId===i)&&Pt.hideEventStream()};window.addEventListener("persona:showEventStream",O),window.addEventListener("persona:hideEventStream",G),qe.push(()=>{window.removeEventListener("persona:showEventStream",O),window.removeEventListener("persona:hideEventStream",G)})}let h=O=>{let G=O.detail;(!G?.instanceId||G.instanceId===i)&&Pt.showArtifacts()},b=O=>{let G=O.detail;(!G?.instanceId||G.instanceId===i)&&Pt.hideArtifacts()},S=O=>{let G=O.detail;G?.instanceId&&G.instanceId!==i||G?.artifact&&Pt.upsertArtifact(G.artifact)},L=O=>{let G=O.detail;G?.instanceId&&G.instanceId!==i||typeof G?.id=="string"&&Pt.selectArtifact(G.id)},Q=O=>{let G=O.detail;(!G?.instanceId||G.instanceId===i)&&Pt.clearArtifacts()};window.addEventListener("persona:showArtifacts",h),window.addEventListener("persona:hideArtifacts",b),window.addEventListener("persona:upsertArtifact",S),window.addEventListener("persona:selectArtifact",L),window.addEventListener("persona:clearArtifacts",Q),qe.push(()=>{window.removeEventListener("persona:showArtifacts",h),window.removeEventListener("persona:hideArtifacts",b),window.removeEventListener("persona:upsertArtifact",S),window.removeEventListener("persona:selectArtifact",L),window.removeEventListener("persona:clearArtifacts",Q)})}let dn=hy(o.persistState);if(dn&&D()){let i=yy(dn.storage),g=`${dn.keyPrefix}widget-open`,h=`${dn.keyPrefix}widget-voice`,b=`${dn.keyPrefix}widget-voice-mode`;if(i){let S=dn.persist?.openState&&i.getItem(g)==="true",L=dn.persist?.voiceState&&i.getItem(h)==="true",Q=dn.persist?.voiceState&&i.getItem(b)==="true";if(S&&setTimeout(()=>{Pt.open(),setTimeout(()=>{if(L||Q)Pt.startVoiceRecognition();else if(dn.persist?.focusInput){let O=t.querySelector("textarea");O&&O.focus()}},100)},0),dn.persist?.openState&&(l.on("widget:opened",()=>{i.setItem(g,"true")}),l.on("widget:closed",()=>{i.setItem(g,"false")})),dn.persist?.voiceState&&(l.on("voice:state",O=>{i.setItem(h,O.active?"true":"false")}),l.on("user:message",O=>{i.setItem(b,O.viaVoice?"true":"false")})),dn.clearOnChatClear){let O=()=>{i.removeItem(g),i.removeItem(h),i.removeItem(b)},G=()=>O();window.addEventListener("persona:clear-chat",G),qe.push(()=>{window.removeEventListener("persona:clear-chat",G)})}}}if(w&&D()&&setTimeout(()=>{Pt.open()},0),jo(),!Ou){let i=Xs(()=>{_&&(si++,yo.clear(),Pr(be,_.getMessages(),Ce))});qe.push(i)}return Pt};var xu=(t,e)=>{let n=t.trim(),o=/^(\d+(?:\.\d+)?)px$/i.exec(n);if(o)return Math.max(0,parseFloat(o[1]));let r=/^(\d+(?:\.\d+)?)%$/i.exec(n);return r?Math.max(0,e*parseFloat(r[1])/100):420},wy=(t,e)=>{if(e===!1){t.style.maxHeight="";return}t.style.maxHeight="100vh",t.style.maxHeight=e},xy=(t,e)=>{e===!1?(t.style.position="relative",t.style.top=""):(t.style.position="sticky",t.style.top="0")},Cy=(t,e)=>{let n=t.parentElement;if(!n)return;let o=t.ownerDocument.createElement("div");o.style.cssText="width:0;height:1px;margin:0;padding:0;border:0;visibility:hidden;",n.appendChild(o);let r=o.offsetHeight>0;o.style.height="100%";let s=o.offsetHeight>0;o.remove(),!(!r||s)&&console.warn("[AgentWidget] Docked mode: no ancestor of the dock target provides a definite height, so the dock panel cannot size to your layout."+(e.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 ${e.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.")},Cu=(t,e)=>{let n=e?.launcher?.enabled??!0;t.className="persona-host",t.style.height=n?"":"100%",t.style.display=n?"":"flex",t.style.flexDirection=n?"":"column",t.style.flex=n?"":"1 1 auto",t.style.minHeight=n?"":"0"},Il=t=>{t.style.position="",t.style.top="",t.style.bottom="",t.style.left="",t.style.right="",t.style.zIndex="",t.style.transform="",t.style.pointerEvents=""},Au=t=>{t.style.inset="",t.style.width="",t.style.height="",t.style.maxWidth="",t.style.maxHeight="",t.style.minWidth="",Il(t)},kl=t=>{t.style.transition=""},Ll=t=>{t.style.display="",t.style.flexDirection="",t.style.flex="",t.style.minHeight="",t.style.minWidth="",t.style.width="",t.style.height="",t.style.alignItems="",t.style.transition="",t.style.transform="",t.style.marginLeft=""},Pl=t=>{t.style.width="",t.style.maxWidth="",t.style.minWidth="",t.style.flex="1 1 auto"},Qa=(t,e)=>{t.style.width="",t.style.minWidth="",t.style.maxWidth="",t.style.boxSizing="",e.style.alignItems=""},Ay=(t,e,n,o,r)=>{r?n.parentElement!==e&&(t.replaceChildren(),e.replaceChildren(n,o),t.appendChild(e)):n.parentElement===e&&(e.replaceChildren(),t.appendChild(n),t.appendChild(o))},Sy=(t,e,n,o,r,s)=>{let a=s?e:t;r==="left"?a.firstElementChild!==o&&a.replaceChildren(o,n):a.lastElementChild!==o&&a.replaceChildren(n,o)},Ty=t=>{let e=ir(t),n=e.components?.panel,o=(r,s)=>r==null||r===""?s:Vt(e,r)??r;return{inset:o(n?.inset,ya),canvasBackground:o(n?.canvasBackground,ba)}},Su=(t,e,n,o)=>{if(!e){t.style.padding="",t.style.background="",t.style.boxSizing="";return}t.style.boxSizing="border-box",t.style.padding=n,t.style.background=o},My=(t,e,n,o,r,s,a,l)=>{let p=un(s),d=p.reveal==="push",c=l!=null,u=l?.inset??"",w=l?.canvasBackground??"";Ay(t,e,n,o,d),Sy(t,e,n,o,p.side,d),t.dataset.personaHostLayout="docked",t.dataset.personaDockSide=p.side,t.dataset.personaDockOpen=a?"true":"false",t.style.width="100%",t.style.maxWidth="100%",t.style.minWidth="0",t.style.height="100%",t.style.minHeight="0",t.style.position="relative",n.style.display="flex",n.style.flexDirection="column",n.style.minHeight="0",n.style.position="relative",r.className="persona-host",r.style.height="100%",r.style.minHeight="0",r.style.display="flex",r.style.flexDirection="column",r.style.flex="1 1 auto";let f=t.ownerDocument.defaultView,v=s?.launcher?.mobileFullscreen??!0,C=s?.launcher?.mobileBreakpoint??640,P=f!=null?f.innerWidth<=C:!1;if(v&&P&&a){t.dataset.personaDockMobileFullscreen="true",t.removeAttribute("data-persona-dock-reveal"),Ll(e),kl(o),Au(o),Pl(n),Qa(r,o),Su(o,!1,"",""),t.style.display="flex",t.style.flexDirection="column",t.style.alignItems="stretch",t.style.overflow="hidden",n.style.flex="1 1 auto",n.style.width="100%",n.style.minWidth="0",o.style.display="flex",o.style.flexDirection="column",o.style.position="fixed",o.style.inset="0",o.style.width="100%",o.style.height="100%",o.style.maxWidth="100%",o.style.minWidth="0",o.style.minHeight="0",o.style.overflow="hidden",o.style.zIndex=String(s?.launcher?.zIndex??zt),o.style.transform="none",o.style.transition="none",o.style.pointerEvents="auto",o.style.flex="none",d&&(e.style.display="flex",e.style.flexDirection="column",e.style.width="100%",e.style.height="100%",e.style.minHeight="0",e.style.minWidth="0",e.style.flex="1 1 auto",e.style.alignItems="stretch",e.style.transform="none",e.style.marginLeft="0",e.style.transition="none",n.style.flex="1 1 auto",n.style.width="100%",n.style.maxWidth="100%",n.style.minWidth="0");return}if(t.removeAttribute("data-persona-dock-mobile-fullscreen"),Au(o),wy(o,p.maxHeight),Su(o,c&&a,u,w),p.reveal==="overlay"){t.style.display="flex",t.style.flexDirection="row",t.style.alignItems="stretch",t.style.overflow="hidden",t.dataset.personaDockReveal="overlay",Ll(e),kl(o),Pl(n),Qa(r,o);let E=p.animate?"transform 180ms ease":"none",T=p.side==="right"?"translateX(100%)":"translateX(-100%)",I=a?"translateX(0)":T;o.style.display="flex",o.style.flexDirection="column",o.style.flex="none",o.style.position="absolute",o.style.top="0",o.style.bottom="0",o.style.width=p.width,o.style.maxWidth=p.width,o.style.minWidth=p.width,o.style.minHeight="0",o.style.overflow="hidden",o.style.transition=E,o.style.transform=I,o.style.pointerEvents=a?"auto":"none",o.style.zIndex="2",p.side==="right"?(o.style.right="0",o.style.left=""):(o.style.left="0",o.style.right="")}else if(p.reveal==="push"){t.style.display="flex",t.style.flexDirection="row",t.style.alignItems="stretch",t.style.overflow="hidden",t.dataset.personaDockReveal="push",kl(o),Il(o),Qa(r,o);let E=xu(p.width,t.clientWidth),T=Math.max(0,t.clientWidth),I=p.animate?"margin-left 180ms ease":"none",z=p.side==="right"?a?-E:0:a?0:-E;e.style.display="flex",e.style.flexDirection="row",e.style.flex="0 0 auto",e.style.minHeight="0",e.style.minWidth="0",e.style.alignItems="stretch",e.style.height="100%",e.style.width=`${T+E}px`,e.style.transition=I,e.style.marginLeft=`${z}px`,e.style.transform="",n.style.flex="0 0 auto",n.style.flexGrow="0",n.style.flexShrink="0",n.style.width=`${T}px`,n.style.maxWidth=`${T}px`,n.style.minWidth=`${T}px`,o.style.display="flex",o.style.flexDirection="column",o.style.flex="0 0 auto",o.style.flexShrink="0",o.style.width=p.width,o.style.minWidth=p.width,o.style.maxWidth=p.width,o.style.position="relative",o.style.top="",o.style.overflow="hidden",o.style.transition="none",o.style.pointerEvents=a?"auto":"none"}else{t.style.display="flex",t.style.flexDirection="row",t.style.alignItems="stretch",t.style.overflow="",Ll(e),Il(o),Pl(n),Qa(r,o);let E=p.reveal==="emerge";E?t.dataset.personaDockReveal="emerge":t.removeAttribute("data-persona-dock-reveal");let T=a?p.width:"0px",I=p.animate?`width 180ms ease, min-width 180ms ease, max-width 180ms ease, flex-basis 180ms ease${c?", padding 180ms ease":""}`:"none",z=!a;if(o.style.display="flex",o.style.flexDirection="column",o.style.flex=`0 0 ${T}`,o.style.width=T,o.style.maxWidth=T,o.style.minWidth=T,o.style.minHeight="0",xy(o,p.maxHeight),o.style.overflow=E||z?"hidden":"visible",o.style.transition=I,E){o.style.alignItems=p.side==="right"?"flex-start":"flex-end";let N=c?`calc(${xu(p.width,t.clientWidth)}px - (2 * ${u}))`:p.width;r.style.width=N,r.style.minWidth=N,r.style.maxWidth=N,r.style.boxSizing="border-box"}}},Ey=(t,e)=>{let n=t.ownerDocument.createElement("div");return Cu(n,e),t.appendChild(n),{mode:"direct",host:n,shell:null,syncWidgetState:()=>{},updateConfig(o){Cu(n,o)},destroy(){n.remove()}}},ky=(t,e)=>{let{ownerDocument:n}=t,o=t.parentElement;if(!o)throw new Error("Docked widget target must be attached to the DOM");let r=t.tagName.toUpperCase();if(r==="BODY"||r==="HTML")throw new Error('Docked widget target must be a concrete container element, not "body" or "html"');let s=t.nextSibling,a=n.createElement("div"),l=n.createElement("div"),p=n.createElement("div"),d=n.createElement("aside"),c=n.createElement("div"),u=e?.launcher?.enabled??!0?e?.launcher?.autoExpand??!1:!0;l.dataset.personaDockRole="push-track",p.dataset.personaDockRole="content",d.dataset.personaDockRole="panel",c.dataset.personaDockRole="host",d.appendChild(c),o.insertBefore(a,t),p.appendChild(t);let w=null,f=()=>{w?.disconnect(),w=null},v=null,C=()=>{v=e?.launcher?.detachedPanel===!0?Ty(e):null};C();let P=()=>{My(a,l,p,d,c,e,u,v)},H=null,E=()=>{H?.(),H=null,!(e?.launcher?.detachedPanel!==!0||e?.colorScheme!=="auto")&&(H=va(()=>{C(),P()}))},T=()=>{f(),un(e).reveal==="push"&&(typeof ResizeObserver>"u"||(w=new ResizeObserver(()=>{P()}),w.observe(a)))},I=!1,z=()=>{P(),T(),u&&!I&&a.dataset.personaDockMobileFullscreen!=="true"&&(I=!0,Cy(a,un(e)))},N=a.ownerDocument.defaultView,x=()=>{z()};return N?.addEventListener("resize",x),un(e).reveal==="push"?(l.appendChild(p),l.appendChild(d),a.appendChild(l)):(a.appendChild(p),a.appendChild(d)),z(),E(),{mode:"docked",host:c,shell:a,syncWidgetState(j){let q=j.launcherEnabled?j.open:!0;u!==q&&(u=q,z())},updateConfig(j){e=j,(e?.launcher?.enabled??!0)===!1&&(u=!0),C(),z(),E()},destroy(){N?.removeEventListener("resize",x),H?.(),H=null,f(),o.isConnected&&(s&&s.parentNode===o?o.insertBefore(t,s):o.appendChild(t)),a.remove()}}},Tu=(t,e)=>Nt(e)?ky(t,e):Ey(t,e);var As={desktop:{w:1280,h:800},mobile:{w:390,h:844}},Mu=.15,Eu=1.5,Rl="persona-preview-shell-theme",Ly={load:()=>null,save:()=>{},clear:()=>{}},Py=["How do I get started?","Pricing & plans","Talk to support"];function Wl(t){return t.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Iy(t){return t==="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 ku(t){let e=Iy(t);return`* { box-sizing: border-box; }
135
141
  html, body { margin: 0; padding: 0; height: 100%; overflow: hidden; }
136
142
  html { color-scheme: ${t}; }
137
143
  body { font-family: system-ui, sans-serif; background: ${e.pageBg}; }
@@ -155,7 +161,7 @@ _Details: ${n.message}_`:o}var Jr=t=>({isError:!0,content:[{type:"text",text:t}]
155
161
  .preview-workspace-content-shell { position: relative; z-index: 1; flex: 1 1 auto; min-height: 100%; padding: 24px; }
156
162
  .preview-workspace-row { display: flex; gap: 16px; margin-top: 20px; }
157
163
  .preview-workspace-card { flex: 1; min-width: 0; height: 168px; border-radius: 18px; background: ${e.cardBg}; box-shadow: inset 0 0 0 1px ${e.cardBorder}; }
158
- .preview-workspace-card.short { height: 96px; }`}function mu(t,e){let n=t.contentDocument;if(!n?.documentElement)return;let o=n.getElementById(Ml);o||(o=n.createElement("style"),o.id=Ml,n.head.appendChild(o)),o.textContent=gu(e)}var dv=`
164
+ .preview-workspace-card.short { height: 96px; }`}function Lu(t,e){let n=t.contentDocument;if(!n?.documentElement)return;let o=n.getElementById(Rl);o||(o=n.createElement("style"),o.id=Rl,n.head.appendChild(o)),o.textContent=ku(e)}var Ry=`
159
165
  <div class="preview-iframe-mock" aria-hidden="true">
160
166
  <div class="preview-iframe-chrome">
161
167
  <span class="preview-iframe-dot"></span>
@@ -174,7 +180,7 @@ _Details: ${n.message}_`:o}var Jr=t=>({isError:!0,content:[{type:"text",text:t}]
174
180
  <div class="preview-iframe-line body"></div>
175
181
  <div class="preview-iframe-line body"></div>
176
182
  </div>
177
- </div>`,pv=`
183
+ </div>`,Wy=`
178
184
  <div class="preview-workspace-content-shell" aria-hidden="true">
179
185
  <div class="preview-iframe-line hero"></div>
180
186
  <div class="preview-iframe-line body"></div>
@@ -187,8 +193,8 @@ _Details: ${n.message}_`:o}var Jr=t=>({isError:!0,content:[{type:"text",text:t}]
187
193
  <div class="preview-workspace-card short"></div>
188
194
  <div class="preview-workspace-card short"></div>
189
195
  </div>
190
- </div>`;function hu(t,e,n,o){let r=`
191
- ${dv}
196
+ </div>`;function Pu(t,e,n,o){let r=`
197
+ ${Ry}
192
198
  <div style="position:fixed;inset:0;z-index:9999;"><div id="${t}" data-mount-id="${t}"></div></div>`,s=`
193
199
  <div class="preview-workspace-shell">
194
200
  <div class="preview-workspace-topbar">
@@ -200,7 +206,7 @@ _Details: ${n.message}_`:o}var Jr=t=>({isError:!0,content:[{type:"text",text:t}]
200
206
  </div>
201
207
  <div class="preview-workspace-body">
202
208
  <div id="preview-content-${t}" class="preview-workspace-content" data-mount-id="${t}">
203
- ${pv}
209
+ ${Wy}
204
210
  </div>
205
211
  </div>
206
212
  </div>`;return`<!DOCTYPE html>
@@ -208,16 +214,16 @@ _Details: ${n.message}_`:o}var Jr=t=>({isError:!0,content:[{type:"text",text:t}]
208
214
  <head>
209
215
  <meta charset="UTF-8">
210
216
  <meta name="viewport" content="width=device-width, initial-scale=1">
211
- <link rel="stylesheet" href="${El(o)}">
212
- <style id="${Ml}">${gu(e)}</style>
217
+ <link rel="stylesheet" href="${Wl(o)}">
218
+ <style id="${Rl}">${ku(e)}</style>
213
219
  </head>
214
220
  <body>
215
221
  ${n?s:r}
216
222
  </body>
217
- </html>`}var uv=()=>[{id:"preview-adv-1",role:"user",content:"Can you create the product and gather the docs?",createdAt:new Date(Date.now()-18e4).toISOString()},{id:"preview-adv-2",role:"assistant",content:"",createdAt: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: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: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:new Date(Date.now()-3e4).toISOString()}],fv=t=>!!(t?.features?.toolCallDisplay?.activePreview||t?.features?.toolCallDisplay?.grouped||t?.features?.toolCallDisplay?.collapsedMode&&t.features.toolCallDisplay.collapsedMode!=="tool-call"||t?.features?.reasoningDisplay?.activePreview);function gv(t,e,n=[]){return t==="home"?[{id:"preview-home-1",role:"assistant",content:"Hi there! How can we help today?",createdAt:new Date().toISOString()}]:t==="minimized"?[{id:"preview-min-1",role:"assistant",content:"We are here whenever you are ready.",createdAt:new Date().toISOString()}]:t==="artifact"?[{id:"preview-art-1",role:"user",content:"Can you draft a quick overview of the project?",createdAt:new Date(Date.now()-12e4).toISOString()},{id:"preview-art-2",role:"assistant",content:"Here\u2019s a project overview document for you.",createdAt:new Date(Date.now()-6e4).toISOString()}]:t==="conversation"&&fv(e)?[...uv(),...n]:[{id:"preview-conv-1",role:"assistant",content:"Hello! How can I help you today?",createdAt:new Date(Date.now()-18e4).toISOString()},{id:"preview-conv-2",role:"user",content:"I want to customize the theme editor preview.",createdAt: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\u2019s possible, then adjust colors and tokens to match your brand.",createdAt:new Date(Date.now()-6e4).toISOString()},...n]}function mv(t,e,n=[]){let o={...t.launcher,enabled:!0,autoExpand:e!=="minimized"},r={...t,launcher:o,suggestionChips:e==="home"?t.suggestionChips?.length?t.suggestionChips:lv:t.suggestionChips,initialMessages:gv(e,t,n),storageAdapter:iv};return e==="artifact"&&(r.features={...r.features,artifacts:{...r.features?.artifacts,enabled:!0}}),r}function hv(t,e){let n=t.theme?Ro(t.theme,{validate:!1}):Ro();return{...dt,...t.config,theme:n,darkTheme:t.darkTheme,colorScheme:e??t.config?.colorScheme??"light"}}function mr(t,e){let n=t.scene??"conversation";return mv(hv(t,e),n,t.appendedMessages??[])}function yu(t){let e=t.compareMode??"off",n=t.shellMode??"light";if(e==="themes")return[{mountId:"preview-light",label:"Light",config:mr(t,"light"),shellMode:"light"},{mountId:"preview-dark",label:"Dark",config:mr(t,"dark"),shellMode:"dark"}];if(e==="baseline"&&(t.baselineConfig||t.baselineTheme)){let o={...t,config:t.baselineConfig??t.config,theme:t.baselineTheme??t.theme,darkTheme:t.baselineDarkTheme??t.darkTheme};return[{mountId:"preview-baseline",label:"Baseline",config:mr(o,n),shellMode:n},{mountId:"preview-current",label:"Current",config:mr(t,n),shellMode:n}]}return[{mountId:"preview-current",label:"Current",config:mr(t,n),shellMode:n}]}function yv(t,e){let n={...e},o=[],r=[],s=null,a=!1,l=1,p=1,d=0;function c(){return n.device??"desktop"}function u(){return n.zoom??l}function w(){let T=getComputedStyle(t),I=parseFloat(T.paddingLeft)+parseFloat(T.paddingRight),H=parseFloat(T.paddingTop)+parseFloat(T.paddingBottom),q=40,U=(n.compareMode??"off")!=="off",$=(t.clientWidth-I-q)/(U?2:1),C=t.clientHeight-H-q;if($<=0||C<=0)return 1;let j=vs[c()]??vs.desktop;return Math.min($/j.w,C/j.h,1)}function f(){l=w();let T=Math.max(uu,Math.min(fu,u()));p=T;let I=Array.from(t.querySelectorAll(".preview-iframe-wrapper"));for(let H of I){let q=H.dataset.device??"desktop",U=vs[q]??vs.desktop;H.style.width=`${U.w*T}px`,H.style.height=`${U.h*T}px`,q==="mobile"&&(H.style.borderRadius=`${32*T}px`);let $=H.querySelector("iframe");$&&($.style.width=`${U.w}px`,$.style.height=`${U.h}px`,$.style.transformOrigin="top left",$.style.transition="none",$.style.transform=`scale(${T})`)}n.onScaleChange?.(T)}function v(){n.onBeforeDestroy?.();for(let T of o)T.destroy();for(let T of r)T();o=[],r=[]}function x(){return Array.from(t.querySelectorAll("iframe[data-mount-id]"))}function P(){if(a)return;v();let T=++d,I=yu(n),H=c(),q=(n.compareMode??"off")!=="off",U=(n.scene??"conversation")==="minimized",$=n.widgetCssPath??"/widget-dist/widget.css",C=n.buildSrcdoc??hu,j=H==="mobile"?"preview-iframe-wrapper preview-iframe-wrapper-mobile":"preview-iframe-wrapper",J=Ce=>`<div class="${j}" data-mount-id="${Ce.mountId}" data-device="${H}" data-shell-mode="${Ce.shellMode}">
218
- ${q?`<div class="preview-frame-meta"><span class="preview-frame-label">${El(Ce.label)}</span></div>`:""}
223
+ </html>`}var By=()=>[{id:"preview-adv-1",role:"user",content:"Can you create the product and gather the docs?",createdAt:new Date(Date.now()-18e4).toISOString()},{id:"preview-adv-2",role:"assistant",content:"",createdAt: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: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: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:new Date(Date.now()-3e4).toISOString()}],Hy=t=>!!(t?.features?.toolCallDisplay?.activePreview||t?.features?.toolCallDisplay?.grouped||t?.features?.toolCallDisplay?.collapsedMode&&t.features.toolCallDisplay.collapsedMode!=="tool-call"||t?.features?.reasoningDisplay?.activePreview);function Dy(t,e,n=[]){return t==="home"?[{id:"preview-home-1",role:"assistant",content:"Hi there! How can we help today?",createdAt:new Date().toISOString()}]:t==="minimized"?[{id:"preview-min-1",role:"assistant",content:"We are here whenever you are ready.",createdAt:new Date().toISOString()}]:t==="artifact"?[{id:"preview-art-1",role:"user",content:"Can you draft a quick overview of the project?",createdAt:new Date(Date.now()-12e4).toISOString()},{id:"preview-art-2",role:"assistant",content:"Here\u2019s a project overview document for you.",createdAt:new Date(Date.now()-6e4).toISOString()}]:t==="conversation"&&Hy(e)?[...By(),...n]:[{id:"preview-conv-1",role:"assistant",content:"Hello! How can I help you today?",createdAt:new Date(Date.now()-18e4).toISOString()},{id:"preview-conv-2",role:"user",content:"I want to customize the theme editor preview.",createdAt: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\u2019s possible, then adjust colors and tokens to match your brand.",createdAt:new Date(Date.now()-6e4).toISOString()},...n]}function Ny(t,e,n=[]){let o={...t.launcher,enabled:!0,autoExpand:e!=="minimized"},r={...t,launcher:o,suggestionChips:e==="home"?t.suggestionChips?.length?t.suggestionChips:Py:t.suggestionChips,initialMessages:Dy(e,t,n),storageAdapter:Ly};return e==="artifact"&&(r.features={...r.features,artifacts:{...r.features?.artifacts,enabled:!0}}),r}function Fy(t,e){let n=t.theme?ar(t.theme,{validate:!1}):ar();return{...ct,...t.config,theme:n,darkTheme:t.darkTheme,colorScheme:e??t.config?.colorScheme??"light"}}function yr(t,e){let n=t.scene??"conversation";return Ny(Fy(t,e),n,t.appendedMessages??[])}function Iu(t){let e=t.compareMode??"off",n=t.shellMode??"light";if(e==="themes")return[{mountId:"preview-light",label:"Light",config:yr(t,"light"),shellMode:"light"},{mountId:"preview-dark",label:"Dark",config:yr(t,"dark"),shellMode:"dark"}];if(e==="baseline"&&(t.baselineConfig||t.baselineTheme)){let o={...t,config:t.baselineConfig??t.config,theme:t.baselineTheme??t.theme,darkTheme:t.baselineDarkTheme??t.darkTheme};return[{mountId:"preview-baseline",label:"Baseline",config:yr(o,n),shellMode:n},{mountId:"preview-current",label:"Current",config:yr(t,n),shellMode:n}]}return[{mountId:"preview-current",label:"Current",config:yr(t,n),shellMode:n}]}function Oy(t,e){let n={...e},o=[],r=[],s=null,a=!1,l=1,p=1,d=0;function c(){return n.device??"desktop"}function u(){return n.zoom??l}function w(){let E=getComputedStyle(t),T=parseFloat(E.paddingLeft)+parseFloat(E.paddingRight),I=parseFloat(E.paddingTop)+parseFloat(E.paddingBottom),z=40,N=(n.compareMode??"off")!=="off",x=(t.clientWidth-T-z)/(N?2:1),j=t.clientHeight-I-z;if(x<=0||j<=0)return 1;let q=As[c()]??As.desktop;return Math.min(x/q.w,j/q.h,1)}function f(){l=w();let E=Math.max(Mu,Math.min(Eu,u()));p=E;let T=Array.from(t.querySelectorAll(".preview-iframe-wrapper"));for(let I of T){let z=I.dataset.device??"desktop",N=As[z]??As.desktop;I.style.width=`${N.w*E}px`,I.style.height=`${N.h*E}px`,z==="mobile"&&(I.style.borderRadius=`${32*E}px`);let x=I.querySelector("iframe");x&&(x.style.width=`${N.w}px`,x.style.height=`${N.h}px`,x.style.transformOrigin="top left",x.style.transition="none",x.style.transform=`scale(${E})`)}n.onScaleChange?.(E)}function v(){n.onBeforeDestroy?.();for(let E of o)E.destroy();for(let E of r)E();o=[],r=[]}function C(){return Array.from(t.querySelectorAll("iframe[data-mount-id]"))}function P(){if(a)return;v();let E=++d,T=Iu(n),I=c(),z=(n.compareMode??"off")!=="off",N=(n.scene??"conversation")==="minimized",x=n.widgetCssPath??"/widget-dist/widget.css",j=n.buildSrcdoc??Pu,q=I==="mobile"?"preview-iframe-wrapper preview-iframe-wrapper-mobile":"preview-iframe-wrapper",J=Ce=>`<div class="${q}" data-mount-id="${Ce.mountId}" data-device="${I}" data-shell-mode="${Ce.shellMode}">
224
+ ${z?`<div class="preview-frame-meta"><span class="preview-frame-label">${Wl(Ce.label)}</span></div>`:""}
219
225
  <iframe class="preview-iframe" sandbox="allow-scripts allow-same-origin" data-mount-id="${Ce.mountId}"></iframe>
220
- </div>`,D=q?`<div class="preview-compare-grid">${I.map(Ce=>`<div class="preview-compare-cell">${J(Ce)}</div>`).join("")}</div>`:`<div class="preview-single">${J(I[0])}</div>`;n.morphContainer?n.morphContainer(t,D):t.innerHTML=D,f();let _=x(),ce=0,he=_.length,Me=()=>{if(a||T!==d)return;for(let te of _){let ge=te.dataset.mountId;if(!ge||!te.contentDocument)continue;let Y=I.find(fe=>fe.mountId===ge);if(!Y)continue;let le=()=>{},Z=Ft(Y.config),be=Z?(()=>{let fe=te.contentDocument?.getElementById(`preview-content-${ge}`);if(!fe)return null;let Te=pu(fe,Y.config),Ae=te.contentDocument.createElement("div");Ae.id=ge,Ae.style.height="100%",Ae.style.display="flex",Ae.style.flexDirection="column",Ae.style.flex="1",Ae.style.minHeight="0",Te.host.appendChild(Ae);let ze=()=>Te.syncWidgetState(ve.getState()),Ne=le;return le=()=>{Te.destroy(),Ne()},Ae.__syncDock=ze,Ae.__hostLayout=Te,Ae})():te.contentDocument.getElementById(ge);if(!be)continue;let ve=au(be,Y.config);if(o.push(ve),Z&&be.__syncDock){let fe=be.__syncDock,Te=ve.on("widget:opened",fe),Ae=ve.on("widget:closed",fe),ze=le;le=()=>{Te(),Ae(),ze()},fe()}r.push(le),U&&ve.close()}if((n.scene??"conversation")==="artifact"||n.config?.features?.artifacts?.enabled)for(let te of o)te.upsertArtifact({id:"preview-sample",artifactType:"markdown",title:"Sample Document",content:`# Sample Artifact
226
+ </div>`,D=z?`<div class="preview-compare-grid">${T.map(Ce=>`<div class="preview-compare-cell">${J(Ce)}</div>`).join("")}</div>`:`<div class="preview-single">${J(T[0])}</div>`;n.morphContainer?n.morphContainer(t,D):t.innerHTML=D,f();let $=C(),fe=0,ye=$.length,Le=()=>{if(a||E!==d)return;for(let te of $){let ge=te.dataset.mountId;if(!ge||!te.contentDocument)continue;let Y=T.find(ue=>ue.mountId===ge);if(!Y)continue;let ae=()=>{},Z=Nt(Y.config),ve=Z?(()=>{let ue=te.contentDocument?.getElementById(`preview-content-${ge}`);if(!ue)return null;let Te=Tu(ue,Y.config),Ae=te.contentDocument.createElement("div");Ae.id=ge,Ae.style.height="100%",Ae.style.display="flex",Ae.style.flexDirection="column",Ae.style.flex="1",Ae.style.minHeight="0",Te.host.appendChild(Ae);let ze=()=>Te.syncWidgetState(we.getState()),Ne=ae;return ae=()=>{Te.destroy(),Ne()},Ae.__syncDock=ze,Ae.__hostLayout=Te,Ae})():te.contentDocument.getElementById(ge);if(!ve)continue;let we=wu(ve,Y.config);if(o.push(we),Z&&ve.__syncDock){let ue=ve.__syncDock,Te=we.on("widget:opened",ue),Ae=we.on("widget:closed",ue),ze=ae;ae=()=>{Te(),Ae(),ze()},ue()}r.push(ae),N&&we.close()}if((n.scene??"conversation")==="artifact"||n.config?.features?.artifacts?.enabled)for(let te of o)te.upsertArtifact({id:"preview-sample",artifactType:"markdown",title:"Sample Document",content:`# Sample Artifact
221
227
 
222
228
  This is a preview of the artifact sidebar.
223
229
 
@@ -225,4 +231,4 @@ This is a preview of the artifact sidebar.
225
231
 
226
232
  - Markdown rendering
227
233
  - Document toolbar
228
- - Resizable panes`,transcript:!1});n.onAfterMount?.({iframes:_,controllers:[...o]})};for(let Ce of _){let te=Ce.dataset.mountId;if(!te)continue;let ge=I.find(Y=>Y.mountId===te);ge&&(Ce.addEventListener("load",()=>{ce++,ce>=he&&Me()},{once:!0}),Ce.srcdoc=C(te,ge.shellMode,Ft(ge.config),$))}he===0&&Me()}function W(){if(a)return;let T=yu(n);if(o.length!==T.length){P();return}if(T.some(H=>{let q=t.querySelector(`.preview-iframe-wrapper[data-mount-id="${H.mountId}"]`);return!q||q.dataset.shellMode!==H.shellMode})){P();return}o.forEach((H,q)=>{H.update(T[q].config),(n.scene??"conversation")==="minimized"&&H.close()});for(let H of T){let q=t.querySelector(`iframe[data-mount-id="${H.mountId}"]`);q&&mu(q,H.shellMode)}n.onAfterUpdate?.({iframes:x(),controllers:[...o]})}return typeof ResizeObserver<"u"&&(s=new ResizeObserver(()=>{a||f()}),s.observe(t)),P(),{update(T){if(a)return;let I=T.device!==void 0&&T.device!==n.device||T.scene!==void 0&&T.scene!==n.scene||T.compareMode!==void 0&&T.compareMode!==n.compareMode||T.widgetCssPath!==void 0&&T.widgetCssPath!==n.widgetCssPath;n={...n,...T},I?P():W()},destroy(){a||(a=!0,v(),s?.disconnect(),t.innerHTML="")},getControllers(){return[...o]},fitToContainer(){a||(n={...n,zoom:void 0},f())},getIframes(){return x()},getScale(){return p},setZoom(T){a||(n={...n,zoom:T},f())}}}export{yv as createThemePreview};
234
+ - Resizable panes`,transcript:!1});n.onAfterMount?.({iframes:$,controllers:[...o]})};for(let Ce of $){let te=Ce.dataset.mountId;if(!te)continue;let ge=T.find(Y=>Y.mountId===te);ge&&(Ce.addEventListener("load",()=>{fe++,fe>=ye&&Le()},{once:!0}),Ce.srcdoc=j(te,ge.shellMode,Nt(ge.config),x))}ye===0&&Le()}function H(){if(a)return;let E=Iu(n);if(o.length!==E.length){P();return}if(E.some(I=>{let z=t.querySelector(`.preview-iframe-wrapper[data-mount-id="${I.mountId}"]`);return!z||z.dataset.shellMode!==I.shellMode})){P();return}o.forEach((I,z)=>{I.update(E[z].config),(n.scene??"conversation")==="minimized"&&I.close()});for(let I of E){let z=t.querySelector(`iframe[data-mount-id="${I.mountId}"]`);z&&Lu(z,I.shellMode)}n.onAfterUpdate?.({iframes:C(),controllers:[...o]})}return typeof ResizeObserver<"u"&&(s=new ResizeObserver(()=>{a||f()}),s.observe(t)),P(),{update(E){if(a)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?P():H()},destroy(){a||(a=!0,v(),s?.disconnect(),t.innerHTML="")},getControllers(){return[...o]},fitToContainer(){a||(n={...n,zoom:void 0},f())},getIframes(){return C()},getScale(){return p},setZoom(E){a||(n={...n,zoom:E},f())}}}export{Oy as createThemePreview};