@runtypelabs/persona 4.34.0 → 4.35.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/dist/activity-ui.d.cts +3 -3
  2. package/dist/activity-ui.d.ts +3 -3
  3. package/dist/animations/glyph-cycle.d.cts +1 -1
  4. package/dist/animations/glyph-cycle.d.ts +1 -1
  5. package/dist/animations/wipe.d.cts +1 -1
  6. package/dist/animations/wipe.d.ts +1 -1
  7. package/dist/approval-ui.d.cts +3 -3
  8. package/dist/approval-ui.d.ts +3 -3
  9. package/dist/artifacts-ui.d.cts +3 -3
  10. package/dist/artifacts-ui.d.ts +3 -3
  11. package/dist/background-runtime.d.cts +1 -1
  12. package/dist/background-runtime.d.ts +1 -1
  13. package/dist/{chunk-CxNPSY-b.js → chunk-B1P8w9_X.js} +1 -1
  14. package/dist/{chunk-CV8EPIhT.js → chunk-B30Jdgg6.js} +1 -1
  15. package/dist/{chunk-6CUrH_jm.js → chunk-Bzo9GaAi.js} +1 -1
  16. package/dist/chunk-CNBMBx-Y.js +2 -0
  17. package/dist/chunk-Cd8mp8Sv.js +1 -0
  18. package/dist/chunk-CsfE8WRG.js +1 -0
  19. package/dist/{chunk-Co3VVwGe.js → chunk-D2pHRNEq.js} +0 -0
  20. package/dist/chunk-D3kZO8u-.js +1 -0
  21. package/dist/chunk-DAthf5H3.js +1 -0
  22. package/dist/{chunk-YMkMvAsa.js → chunk-DZ_aillY.js} +1 -1
  23. package/dist/{chunk-6C23QQdP.js → chunk-DgJV9zbK.js} +1 -1
  24. package/dist/chunk-Dv6KtIT1.js +1 -0
  25. package/dist/chunk-Dws8IrdR.js +1 -0
  26. package/dist/{chunk-DsWv3EGF.js → chunk-ThxxD8oK.js} +1 -1
  27. package/dist/client-dispatch.js +1 -1
  28. package/dist/client-history.js +1 -1
  29. package/dist/codegen.cjs +1 -1
  30. package/dist/codegen.js +1 -1
  31. package/dist/composer-actions-runtime.cjs +1 -1
  32. package/dist/composer-actions-runtime.d.cts +3 -3
  33. package/dist/composer-actions-runtime.d.ts +3 -3
  34. package/dist/composer-actions-runtime.js +1 -1
  35. package/dist/{composer-input-i_FiUp6J.d.cts → composer-input-BSDNPOqV.d.cts} +1 -1
  36. package/dist/{composer-input-i_FiUp6J.d.ts → composer-input-BSDNPOqV.d.ts} +1 -1
  37. package/dist/{composer-store-DhGNgG7Z.d.cts → composer-store-DC-gAjtN.d.cts} +1 -1
  38. package/dist/{composer-store-DhGNgG7Z.d.ts → composer-store-DC-gAjtN.d.ts} +1 -1
  39. package/dist/{context-mention-manager-DL-xwGfL.d.cts → context-mention-manager-CCpeoGL2.d.cts} +2 -2
  40. package/dist/{context-mention-manager-DL-xwGfL.d.ts → context-mention-manager-CCpeoGL2.d.ts} +2 -2
  41. package/dist/context-mentions-inline.d.cts +2 -2
  42. package/dist/context-mentions-inline.d.ts +2 -2
  43. package/dist/context-mentions.cjs +1 -1
  44. package/dist/context-mentions.d.cts +3 -3
  45. package/dist/context-mentions.d.ts +3 -3
  46. package/dist/context-mentions.js +1 -1
  47. package/dist/{defaults-Bga2Xrsp.d.cts → defaults-tj5RcN8r.d.cts} +1 -1
  48. package/dist/{defaults-Bga2Xrsp.d.ts → defaults-tj5RcN8r.d.ts} +1 -1
  49. package/dist/dictation-runtime.d.cts +2 -2
  50. package/dist/dictation-runtime.d.ts +2 -2
  51. package/dist/event-stream-view.d.cts +1 -1
  52. package/dist/event-stream-view.d.ts +1 -1
  53. package/dist/{fallback-speech-engine-kLdyPcmk.d.cts → fallback-speech-engine-gkhbjLiZ.d.cts} +1 -1
  54. package/dist/{fallback-speech-engine-kLdyPcmk.d.ts → fallback-speech-engine-gkhbjLiZ.d.ts} +1 -1
  55. package/dist/{feature-preferences-CmwZGKrf.d.cts → feature-preferences-CerDWGZ7.d.cts} +1 -1
  56. package/dist/{feature-preferences-CmwZGKrf.d.ts → feature-preferences-CerDWGZ7.d.ts} +1 -1
  57. package/dist/forms-ui.d.cts +2 -2
  58. package/dist/forms-ui.d.ts +2 -2
  59. package/dist/{history-confirm-dialog-i46-lPN_.d.cts → history-confirm-dialog-CrkSB3Ra.d.cts} +1 -1
  60. package/dist/{history-confirm-dialog-i46-lPN_.d.ts → history-confirm-dialog-CrkSB3Ra.d.ts} +1 -1
  61. package/dist/history-shell.d.cts +6 -6
  62. package/dist/history-shell.d.ts +6 -6
  63. package/dist/history-view.d.cts +1 -1
  64. package/dist/history-view.d.ts +1 -1
  65. package/dist/index.cjs +32 -32
  66. package/dist/index.cjs.map +1 -1
  67. package/dist/index.d.cts +8 -8
  68. package/dist/index.d.ts +8 -8
  69. package/dist/index.global.js +1 -1
  70. package/dist/index.global.js.map +1 -1
  71. package/dist/index.js +40 -40
  72. package/dist/index.js.map +1 -1
  73. package/dist/install.global.js +1 -1
  74. package/dist/launcher.global.js +1 -1
  75. package/dist/{loading-label-runtime-loader-Ccr3ETd3.d.cts → loading-label-runtime-loader-fWIRrhUF.d.cts} +1 -1
  76. package/dist/{loading-label-runtime-loader-Ccr3ETd3.d.ts → loading-label-runtime-loader-fWIRrhUF.d.ts} +1 -1
  77. package/dist/loading-label-runtime.d.cts +1 -1
  78. package/dist/loading-label-runtime.d.ts +1 -1
  79. package/dist/{message-bubble-C6AVaH7f.d.cts → message-bubble-Czc0lOHr.d.cts} +1 -1
  80. package/dist/{message-bubble-C6AVaH7f.d.ts → message-bubble-Czc0lOHr.d.ts} +1 -1
  81. package/dist/{plugin-kit-BVggqE3C.d.cts → plugin-kit-C30jE-cw.d.cts} +3 -1
  82. package/dist/{plugin-kit-BVggqE3C.d.ts → plugin-kit-C30jE-cw.d.ts} +3 -1
  83. package/dist/plugin-kit.cjs +1 -1
  84. package/dist/plugin-kit.d.cts +1 -1
  85. package/dist/plugin-kit.d.ts +1 -1
  86. package/dist/plugin-kit.js +1 -1
  87. package/dist/preferences-runtime.d.cts +1 -1
  88. package/dist/preferences-runtime.d.ts +1 -1
  89. package/dist/{preview-BMdRffo4.d.cts → preview-D-osV3FU.d.cts} +2 -2
  90. package/dist/{preview-BMdRffo4.d.ts → preview-D-osV3FU.d.ts} +2 -2
  91. package/dist/{registry-B16l8s1b.d.cts → registry-B6w91tx0.d.cts} +1 -1
  92. package/dist/{registry-B16l8s1b.d.ts → registry-B6w91tx0.d.ts} +1 -1
  93. package/dist/{session-CtZHe7fc.d.cts → session-BUQrs3Of.d.cts} +10 -9
  94. package/dist/{session-CtZHe7fc.d.ts → session-BUQrs3Of.d.ts} +10 -9
  95. package/dist/session-reconnect.d.cts +2 -2
  96. package/dist/session-reconnect.d.ts +2 -2
  97. package/dist/smart-dom-reader.d.cts +1 -1
  98. package/dist/smart-dom-reader.d.ts +1 -1
  99. package/dist/theme-editor-preview.cjs +43 -43
  100. package/dist/theme-editor-preview.d.cts +1 -1
  101. package/dist/theme-editor-preview.d.ts +1 -1
  102. package/dist/theme-editor-preview.js +3 -3
  103. package/dist/theme-editor.d.cts +2 -2
  104. package/dist/theme-editor.d.ts +2 -2
  105. package/dist/theme-reference.d.cts +2 -2
  106. package/dist/theme-reference.d.ts +2 -2
  107. package/dist/{tool-loading-animation-D2cyFvmM.d.cts → tool-loading-animation-B7XUf8TN.d.cts} +1 -1
  108. package/dist/{tool-loading-animation-D2cyFvmM.d.ts → tool-loading-animation-B7XUf8TN.d.ts} +1 -1
  109. package/dist/{turn-activity-ui-Do1Nd-Ow.d.cts → turn-activity-ui-CohuNMHT.d.cts} +2 -2
  110. package/dist/{turn-activity-ui-Do1Nd-Ow.d.ts → turn-activity-ui-CohuNMHT.d.ts} +2 -2
  111. package/dist/turn-activity-ui.d.cts +1 -1
  112. package/dist/turn-activity-ui.d.ts +1 -1
  113. package/dist/{types-BC7MRxO5.d.cts → types-9i0xcAMT.d.cts} +52 -0
  114. package/dist/{types-BC7MRxO5.d.ts → types-9i0xcAMT.d.ts} +52 -0
  115. package/dist/voice-client-tools.d.cts +1 -1
  116. package/dist/voice-client-tools.d.ts +1 -1
  117. package/dist/voice-runtime.cjs +1 -1
  118. package/dist/voice-runtime.d.cts +2 -2
  119. package/dist/voice-runtime.d.ts +2 -2
  120. package/dist/voice-runtime.js +1 -1
  121. package/dist/voice-worklet-player.d.cts +2 -2
  122. package/dist/voice-worklet-player.d.ts +2 -2
  123. package/dist/{webmcp-runtime-entry-B8g46vS0.d.ts → webmcp-runtime-entry-XNaXa-9h.d.cts} +9 -1
  124. package/dist/{webmcp-runtime-entry-B8g46vS0.d.cts → webmcp-runtime-entry-XNaXa-9h.d.ts} +9 -1
  125. package/dist/webmcp-runtime.cjs +1 -1
  126. package/dist/webmcp-runtime.d.cts +1 -1
  127. package/dist/webmcp-runtime.d.ts +1 -1
  128. package/dist/webmcp-runtime.js +1 -1
  129. package/package.json +2 -2
  130. package/src/client-dispatch.ts +13 -0
  131. package/src/client.ts +37 -2
  132. package/src/client.webmcp-require-confirm.test.ts +212 -0
  133. package/src/components/composer-model-picker.ts +0 -14
  134. package/src/components/composer-overflow-menu.ts +0 -15
  135. package/src/components/composer-tokens.ts +0 -20
  136. package/src/generated/runtype-openapi-contract.ts +13 -0
  137. package/src/plugin-kit.test.ts +101 -0
  138. package/src/plugin-kit.ts +29 -1
  139. package/src/session.ts +6 -2
  140. package/src/session.webmcp.test.ts +32 -0
  141. package/src/types.ts +35 -0
  142. package/src/ui.composer-models.test.ts +5 -7
  143. package/src/ui.composer-overflow.test.ts +14 -21
  144. package/src/utils/context-mention-controller.test.ts +56 -0
  145. package/src/webmcp-bridge.test.ts +102 -0
  146. package/src/webmcp-runtime-entry.ts +29 -1
  147. package/dist/chunk-BAkaTZpd.js +0 -1
  148. package/dist/chunk-BEDTp-dm.js +0 -1
  149. package/dist/chunk-C-rux8Q9.js +0 -1
  150. package/dist/chunk-CNhThrLX.js +0 -1
  151. package/dist/chunk-CzLEhoB_.js +0 -2
  152. package/dist/chunk-Dqa_GOcj.js +0 -1
  153. package/dist/chunk-NUNdcnAZ.js +0 -1
@@ -1,2 +1,2 @@
1
- !function(){let e=(e,t=!1,r)=>{let n,o,a=e?.style.position??"",i=e?.getAttribute("aria-busy"),l=!1,s=setTimeout(()=>{if(e?.isConnected){if("static"===getComputedStyle(e).position&&(e.style.position="relative",l=!0),e.setAttribute("aria-busy","true"),n=e.ownerDocument.createElement("span"),n.setAttribute("data-persona-loading",""),n.setAttribute("role","status"),n.setAttribute("aria-label","Loading assistant"),n.style.cssText="position:absolute;inset:0;display:grid;place-items:center;pointer-events:none",e.append(n),r)try{return void(o=r({container:n,target:e,kind:t?"launcher":"embedded"}))}catch(e){console.warn("Loading hook failed:",e),n.replaceChildren()}n.setAttribute("data-persona-loading","default"),n.style.cssText="position:absolute;pointer-events:none;box-sizing:border-box;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;"+(t?"bottom:8px;right:8px":"top:50%;left:50%;margin:-7px;color:var(--persona-text,currentColor)"),e.append(n)}},300);return()=>{if(clearTimeout(s),!n||!e)return;let t=n;n=void 0;try{o?.()}catch(e){console.warn("Loading hook failed:",e)}t.remove(),null==i?e.removeAttribute("aria-busy"):e.setAttribute("aria-busy",i),l&&"relative"===e.style.position&&(e.style.position=a)}};!function(){"use strict";if(window.__siteAgentInstallerLoaded)return;window.__siteAgentInstallerLoaded=!0;let t=(()=>{let e=document.currentScript;if(!e)return{};let t={},r=e.getAttribute("data-config");if(r)try{let e=r.replace(/[\r\n]+\s*/g,""),n=JSON.parse(e);if(n.config){let{__proto__:e,constructor:r,prototype:o,...a}=n;Object.assign(t,a)}else t.config=n}catch(e){console.error("Invalid data-config JSON:",e)}for(let[r,n]of[["clientToken","runtype-token"],["flowId","flow-id"],["agentId","agent-id"],["apiUrl","api-url"],["previewQueryParam","preview-param"]]){let o=e.getAttribute(`data-${n}`);o&&(t[r]=o)}return t})(),r=document.currentScript?.src||"",n={...window.siteAgentConfig||{},...t},o=(e,t)=>{try{e?.(t)}catch(e){console.error("Lifecycle callback failed:",e)}},a=(e,t)=>{try{window.dispatchEvent(new CustomEvent(e,{detail:t}))}catch{}},i=(e,t)=>{console.error("Widget install failed:",t),o(n.onError,{phase:e,error:t}),a("persona:error",{phase:e,error:t})},l=e=>{let t=e.launcher??{};return!1!==t.enabled&&"floating"===(t.mountMode??"floating")};if(o(n.onScriptLoad,{version:n.version||"latest"}),a("persona:script-load",{version:n.version||"latest"}),!(()=>{if(!n.previewQueryParam)return!0;let e=new URLSearchParams(window.location.search).get(n.previewQueryParam);return null!==e&&""!==e&&"false"!==e.toLowerCase()&&"0"!==e})())return;let s=n.version||"latest",d=n.cdn||"jsdelivr",c=!1!==n.autoInit,u=()=>{if(!r)return null;try{let e=new URL(r.replace(/^https:\/\/cdn\.runtype\.com\/persona\/latest\//,"https://cdn.runtype.com/persona/4.34.0/"),document.baseURI);return"http:"!==e.protocol&&"https:"!==e.protocol?null:e.origin+e.pathname.slice(0,e.pathname.lastIndexOf("/"))}catch{return null}},p=e=>({cssUrl:`${e}/widget.css`,jsUrl:`${e}/index.global.js`,launcherUrl:`${e}/launcher.global.js`}),{cssUrl:g,jsUrl:f,launcherUrl:w}=(()=>{if(n.cssUrl&&n.jsUrl){let e=n.jsUrl.replace(/index\.global\.js($|\?)/,"launcher.global.js$1");return{cssUrl:n.cssUrl,jsUrl:n.jsUrl,launcherUrl:e===n.jsUrl?null:e}}if(!n.cdn){let e=u();if(e){if(!n.version)return p(e);let t=new URL(e).origin;if("https://cdn.runtype.com"===t)return p(`${t}/persona/${n.version}`)}}let e="@runtypelabs/persona";return p(`${"unpkg"===d?"https://unpkg.com":"https://cdn.jsdelivr.net"}${"unpkg"===d?`/${e}@${s}/dist`:`/npm/${e}@${s}/dist`}`)})();if(!n.cssUrl||!n.jsUrl){let e=u();try{e&&new URL(e).origin!==new URL(f,document.baseURI).origin&&console.warn(`${f}: strict CSP may silently block cross-origin assets; pin the installer URL.`)}catch{}}let h=()=>!!window.AgentWidget,m=(e,t,r=!1)=>new Promise((n,o)=>{if(t||!e)return void n();let a=document.createElement(r?"link":"script");Object.assign(a,r?{rel:"stylesheet",href:e}:{src:e,async:!0}),r&&a.setAttribute("data-persona","true"),a.onload=()=>n(),a.onerror=()=>o(Error(`Failed to load ${e}`)),document.head.appendChild(a)}),y=()=>m(g,!!document.head.querySelector('link[data-persona],link[href*="widget.css"]'),!0),b=()=>m(f,h()),v=()=>{let e=n.target||"body",t={...n.config};for(let e of["apiUrl","clientToken","flowId","agentId","future","brand"])n[e]&&!t[e]&&(t[e]=n[e]);return{target:e,widgetConfig:t}},U=async(e=!1)=>{if(!window.AgentWidget?.initAgentWidget)throw Error("Widget unavailable");let t,{target:r,widgetConfig:i}=v();if(0!==Object.keys(i).length){!i.postprocessMessage&&window.AgentWidget.markdownPostprocessor&&(i.postprocessMessage=({text:e})=>window.AgentWidget.markdownPostprocessor(e));try{return t=window.AgentWidget.initAgentWidget({target:r,config:i,useShadowDom:n.useShadowDom??!1,windowKey:n.windowKey}),await(t?.ready),e&&t?.open?.(),!e&&l(i)&&(o(n.onLauncherShown,{deferred:!1}),a("persona:launcher-shown",{deferred:!1})),o(n.onChatReady,t),a("persona:chat-ready",t),t}catch(e){throw t?.destroy?.(),e}}},A=(t,r)=>{let l,s="idle",d=window.AgentWidgetLauncher.mount({target:t,config:r,onOpen:()=>{if("idle"!==s)return;s="loading";let t="bundle",r=e(l?.element??null,!0,n.renderLoading);b().then(async()=>{t="init",await U(!0),r(),l?.destroy(),s="done"}).catch(e=>{r(),s="idle",i(t,e)})}});l=d,o(n.onLauncherShown,{deferred:!0,element:d.element}),a("persona:launcher-shown",{deferred:!0,element:d.element}),(()=>{let e=()=>{let e=h()?[]:[f];for(let t of["markdown-parsers.js","client-stream.js"]){let r=f.replace(/index\.global\.js($|\?)/,`${t}$1`);r!==f&&e.push(r)}for(let t of e){let e=document.createElement("link");Object.assign(e,{rel:"prefetch",as:"script",href:t}),document.head.appendChild(e)}};typeof requestIdleCallback<"u"?requestIdleCallback(e,{timeout:4e3}):setTimeout(e,1200)})()};(e=>{let t=()=>{typeof requestIdleCallback<"u"?requestIdleCallback(()=>{requestAnimationFrame(()=>{requestAnimationFrame(e)})},{timeout:3e3}):setTimeout(e,300)};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",t,{once:!0}):t()})(async()=>{let t=()=>{};try{let r=c&&(n.config||n.apiUrl||n.clientToken);if(r){let{target:e,widgetConfig:r}=v();if((e=>!(!w||!l(e)||!0===(e.launcher??{}).autoExpand||"function"==typeof e.onStateLoaded||(e=>{let t=e.persistState;if(!t)return!1;let r="object"==typeof t?t:null;if(r&&!1===r.persist?.openState)return!1;let n=r&&r.keyPrefix||"persona-",o=r&&r.storage||"session";try{return"true"===("local"===o?window.localStorage:window.sessionStorage).getItem(`${n}widget-open`)}catch{return!1}})(e)))(r))try{if(await Promise.all([y(),m(w,!!window.AgentWidgetLauncher)]),window.AgentWidgetLauncher?.mount)return void A(e,r)}catch(t){console.warn("Launcher failed; loading widget.",t)}}if(r){let{target:r,widgetConfig:o}=v();!1===o.launcher?.enabled&&(t=e("string"==typeof r?document.querySelector(r):r,!1,n.renderLoading))}try{await y()}catch(t){return i("css",t)}try{await b()}catch(t){return i("bundle",t)}r&&await U(!1)}catch(t){i("init",t)}finally{t()}})}()}();
1
+ !function(){let e=(e,t=!1,r)=>{let n,o,a=e?.style.position??"",i=e?.getAttribute("aria-busy"),l=!1,s=setTimeout(()=>{if(e?.isConnected){if("static"===getComputedStyle(e).position&&(e.style.position="relative",l=!0),e.setAttribute("aria-busy","true"),n=e.ownerDocument.createElement("span"),n.setAttribute("data-persona-loading",""),n.setAttribute("role","status"),n.setAttribute("aria-label","Loading assistant"),n.style.cssText="position:absolute;inset:0;display:grid;place-items:center;pointer-events:none",e.append(n),r)try{return void(o=r({container:n,target:e,kind:t?"launcher":"embedded"}))}catch(e){console.warn("Loading hook failed:",e),n.replaceChildren()}n.setAttribute("data-persona-loading","default"),n.style.cssText="position:absolute;pointer-events:none;box-sizing:border-box;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;"+(t?"bottom:8px;right:8px":"top:50%;left:50%;margin:-7px;color:var(--persona-text,currentColor)"),e.append(n)}},300);return()=>{if(clearTimeout(s),!n||!e)return;let t=n;n=void 0;try{o?.()}catch(e){console.warn("Loading hook failed:",e)}t.remove(),null==i?e.removeAttribute("aria-busy"):e.setAttribute("aria-busy",i),l&&"relative"===e.style.position&&(e.style.position=a)}};!function(){"use strict";if(window.__siteAgentInstallerLoaded)return;window.__siteAgentInstallerLoaded=!0;let t=(()=>{let e=document.currentScript;if(!e)return{};let t={},r=e.getAttribute("data-config");if(r)try{let e=r.replace(/[\r\n]+\s*/g,""),n=JSON.parse(e);if(n.config){let{__proto__:e,constructor:r,prototype:o,...a}=n;Object.assign(t,a)}else t.config=n}catch(e){console.error("Invalid data-config JSON:",e)}for(let[r,n]of[["clientToken","runtype-token"],["flowId","flow-id"],["agentId","agent-id"],["apiUrl","api-url"],["previewQueryParam","preview-param"]]){let o=e.getAttribute(`data-${n}`);o&&(t[r]=o)}return t})(),r=document.currentScript?.src||"",n={...window.siteAgentConfig||{},...t},o=(e,t)=>{try{e?.(t)}catch(e){console.error("Lifecycle callback failed:",e)}},a=(e,t)=>{try{window.dispatchEvent(new CustomEvent(e,{detail:t}))}catch{}},i=(e,t)=>{console.error("Widget install failed:",t),o(n.onError,{phase:e,error:t}),a("persona:error",{phase:e,error:t})},l=e=>{let t=e.launcher??{};return!1!==t.enabled&&"floating"===(t.mountMode??"floating")};if(o(n.onScriptLoad,{version:n.version||"latest"}),a("persona:script-load",{version:n.version||"latest"}),!(()=>{if(!n.previewQueryParam)return!0;let e=new URLSearchParams(window.location.search).get(n.previewQueryParam);return null!==e&&""!==e&&"false"!==e.toLowerCase()&&"0"!==e})())return;let s=n.version||"latest",d=n.cdn||"jsdelivr",c=!1!==n.autoInit,u=()=>{if(!r)return null;try{let e=new URL(r.replace(/^https:\/\/cdn\.runtype\.com\/persona\/latest\//,"https://cdn.runtype.com/persona/4.35.1/"),document.baseURI);return"http:"!==e.protocol&&"https:"!==e.protocol?null:e.origin+e.pathname.slice(0,e.pathname.lastIndexOf("/"))}catch{return null}},p=e=>({cssUrl:`${e}/widget.css`,jsUrl:`${e}/index.global.js`,launcherUrl:`${e}/launcher.global.js`}),{cssUrl:g,jsUrl:f,launcherUrl:w}=(()=>{if(n.cssUrl&&n.jsUrl){let e=n.jsUrl.replace(/index\.global\.js($|\?)/,"launcher.global.js$1");return{cssUrl:n.cssUrl,jsUrl:n.jsUrl,launcherUrl:e===n.jsUrl?null:e}}if(!n.cdn){let e=u();if(e){if(!n.version)return p(e);let t=new URL(e).origin;if("https://cdn.runtype.com"===t)return p(`${t}/persona/${n.version}`)}}let e="@runtypelabs/persona";return p(`${"unpkg"===d?"https://unpkg.com":"https://cdn.jsdelivr.net"}${"unpkg"===d?`/${e}@${s}/dist`:`/npm/${e}@${s}/dist`}`)})();if(!n.cssUrl||!n.jsUrl){let e=u();try{e&&new URL(e).origin!==new URL(f,document.baseURI).origin&&console.warn(`${f}: strict CSP may silently block cross-origin assets; pin the installer URL.`)}catch{}}let h=()=>!!window.AgentWidget,m=(e,t,r=!1)=>new Promise((n,o)=>{if(t||!e)return void n();let a=document.createElement(r?"link":"script");Object.assign(a,r?{rel:"stylesheet",href:e}:{src:e,async:!0}),r&&a.setAttribute("data-persona","true"),a.onload=()=>n(),a.onerror=()=>o(Error(`Failed to load ${e}`)),document.head.appendChild(a)}),y=()=>m(g,!!document.head.querySelector('link[data-persona],link[href*="widget.css"]'),!0),b=()=>m(f,h()),v=()=>{let e=n.target||"body",t={...n.config};for(let e of["apiUrl","clientToken","flowId","agentId","future","brand"])n[e]&&!t[e]&&(t[e]=n[e]);return{target:e,widgetConfig:t}},U=async(e=!1)=>{if(!window.AgentWidget?.initAgentWidget)throw Error("Widget unavailable");let t,{target:r,widgetConfig:i}=v();if(0!==Object.keys(i).length){!i.postprocessMessage&&window.AgentWidget.markdownPostprocessor&&(i.postprocessMessage=({text:e})=>window.AgentWidget.markdownPostprocessor(e));try{return t=window.AgentWidget.initAgentWidget({target:r,config:i,useShadowDom:n.useShadowDom??!1,windowKey:n.windowKey}),await(t?.ready),e&&t?.open?.(),!e&&l(i)&&(o(n.onLauncherShown,{deferred:!1}),a("persona:launcher-shown",{deferred:!1})),o(n.onChatReady,t),a("persona:chat-ready",t),t}catch(e){throw t?.destroy?.(),e}}},A=(t,r)=>{let l,s="idle",d=window.AgentWidgetLauncher.mount({target:t,config:r,onOpen:()=>{if("idle"!==s)return;s="loading";let t="bundle",r=e(l?.element??null,!0,n.renderLoading);b().then(async()=>{t="init",await U(!0),r(),l?.destroy(),s="done"}).catch(e=>{r(),s="idle",i(t,e)})}});l=d,o(n.onLauncherShown,{deferred:!0,element:d.element}),a("persona:launcher-shown",{deferred:!0,element:d.element}),(()=>{let e=()=>{let e=h()?[]:[f];for(let t of["markdown-parsers.js","client-stream.js"]){let r=f.replace(/index\.global\.js($|\?)/,`${t}$1`);r!==f&&e.push(r)}for(let t of e){let e=document.createElement("link");Object.assign(e,{rel:"prefetch",as:"script",href:t}),document.head.appendChild(e)}};typeof requestIdleCallback<"u"?requestIdleCallback(e,{timeout:4e3}):setTimeout(e,1200)})()};(e=>{let t=()=>{typeof requestIdleCallback<"u"?requestIdleCallback(()=>{requestAnimationFrame(()=>{requestAnimationFrame(e)})},{timeout:3e3}):setTimeout(e,300)};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",t,{once:!0}):t()})(async()=>{let t=()=>{};try{let r=c&&(n.config||n.apiUrl||n.clientToken);if(r){let{target:e,widgetConfig:r}=v();if((e=>!(!w||!l(e)||!0===(e.launcher??{}).autoExpand||"function"==typeof e.onStateLoaded||(e=>{let t=e.persistState;if(!t)return!1;let r="object"==typeof t?t:null;if(r&&!1===r.persist?.openState)return!1;let n=r&&r.keyPrefix||"persona-",o=r&&r.storage||"session";try{return"true"===("local"===o?window.localStorage:window.sessionStorage).getItem(`${n}widget-open`)}catch{return!1}})(e)))(r))try{if(await Promise.all([y(),m(w,!!window.AgentWidgetLauncher)]),window.AgentWidgetLauncher?.mount)return void A(e,r)}catch(t){console.warn("Launcher failed; loading widget.",t)}}if(r){let{target:r,widgetConfig:o}=v();!1===o.launcher?.enabled&&(t=e("string"==typeof r?document.querySelector(r):r,!1,n.renderLoading))}try{await y()}catch(t){return i("css",t)}try{await b()}catch(t){return i("bundle",t)}r&&await U(!1)}catch(t){i("init",t)}finally{t()}})}()}();
2
2
  //# sourceMappingURL=install.global.js.map
@@ -329,5 +329,5 @@ var AgentWidgetLauncher=function(e){let t=e=>e?.launcher?.variant??(!0===e?.futu
329
329
  * This source code is licensed under the ISC license.
330
330
  * See the LICENSE file in the root directory of this source tree.
331
331
  */
332
- let e=[...ue];ue.clear();for(let t of e)try{t()}catch{}})()}})(e.EXTRA_LUCIDE_ICONS)))?.catch(e=>{console.warn("[Persona] Failed to load the icons-extra chunk",e)})},he=(e,t=24,o="currentColor",a=2)=>{let r=ce.get(e);if(r)return ae(r,t,o,a);if(ie.includes(e)){let r=((e,t,o)=>{let a=ae([],e,t,o);return a.setAttribute("data-persona-icon-pending","true"),a})(t,o,a);return de.size>=500&&de.delete(de.keys().next().value),de.set(r,e),me(),r}return console.warn(`Unknown Persona icon "${e}". Use registerIcons().`),null},ge=(e,o)=>{let r=a("button");r.type="button",r.innerHTML='\n <span class="persona-inline-flex persona-items-center persona-justify-center persona-rounded-full persona-bg-persona-primary persona-text-white" data-role="launcher-icon">💬</span>\n <img data-role="launcher-image" class="persona-rounded-full persona-object-cover" alt="" style="display:none" />\n <span class="persona-flex persona-min-w-0 persona-flex-1 persona-flex-col persona-items-start persona-text-left">\n <span class="persona-block persona-w-full persona-truncate persona-text-sm persona-font-semibold persona-text-persona-launcher" data-role="launcher-title"></span>\n <span class="persona-block persona-w-full persona-truncate persona-text-xs persona-text-persona-launcher-muted" data-role="launcher-subtitle"></span>\n </span>\n <span class="persona-ml-2 persona-grid persona-place-items-center persona-rounded-full persona-bg-persona-primary persona-text-persona-call-to-action" data-role="launcher-call-to-action-icon">↗</span>\n ',r.addEventListener("click",o);let s=e=>{let o=e.launcher??{},a=oe(e),s="circle"===t(e);s?(r.dataset.personaLauncherVariant="circle",r.setAttribute("aria-label",o.title??"Open chat")):(r.removeAttribute("data-persona-launcher-variant"),r.removeAttribute("aria-label"));let l=r.querySelector("[data-role='launcher-title']");if(l){let e=o.title??"Chat Assistant";l.textContent=e,l.setAttribute("title",e)}let i=r.querySelector("[data-role='launcher-subtitle']");if(i){let e=o.subtitle??"Here to help you get answers fast";i.textContent=e,i.setAttribute("title",e)}let c=r.querySelector(".persona-flex-col");c&&(o.textHidden||a||s?c.style.display="none":c.style.display="");let d=r.querySelector("[data-role='launcher-icon']");if(d)if(o.agentIconHidden)d.style.display="none";else{let e=o.agentIconSize??"40px";if(d.style.height=e,d.style.width=e,o.agentIconBackgroundColor?(d.style.backgroundColor=o.agentIconBackgroundColor,d.classList.remove("persona-bg-persona-primary")):(d.style.backgroundColor="",d.classList.add("persona-bg-persona-primary")),d.innerHTML="",o.agentIconName){let t=parseFloat(e)||24,a=he(o.agentIconName,.6*t,"var(--persona-text-inverse, #ffffff)",1.5);a?(d.appendChild(a),d.style.display=""):(d.textContent=o.agentIconText??"💬",d.style.display="")}else o.iconUrl?d.style.display="none":(d.textContent=o.agentIconText??"💬",d.style.display="")}let p=r.querySelector("[data-role='launcher-image']");if(p){let e=o.agentIconSize??"40px";p.style.height=e,p.style.width=e,!o.iconUrl||o.agentIconName||o.agentIconHidden?p.style.display="none":(p.src=o.iconUrl,p.style.display="block")}let u=r.querySelector("[data-role='launcher-call-to-action-icon']");if(u){let e=o.callToActionIconSize??"32px";u.style.height=e,u.style.width=e,o.callToActionIconBackgroundColor?(u.style.backgroundColor=o.callToActionIconBackgroundColor,u.classList.remove("persona-bg-persona-primary")):(u.style.backgroundColor="",u.classList.add("persona-bg-persona-primary")),o.callToActionIconColor?(u.style.color=o.callToActionIconColor,u.classList.remove("persona-text-persona-call-to-action")):(u.style.color="",u.classList.add("persona-text-persona-call-to-action"));let t=0;if(o.callToActionIconPadding?(u.style.boxSizing="border-box",u.style.padding=o.callToActionIconPadding,t=2*(parseFloat(o.callToActionIconPadding)||0)):(u.style.boxSizing="",u.style.padding=""),o.callToActionIconHidden||s)u.style.display="none";else if(u.style.display=a?"none":"",u.innerHTML="",o.callToActionIconName){let a=Math.max((parseFloat(e)||24)-t,8),r=he(o.callToActionIconName,a,"currentColor",1.5);r?u.appendChild(r):u.textContent=o.callToActionIconText??"↗"}else u.textContent=o.callToActionIconText??"↗"}let m=o.position&&n[o.position]?n[o.position]:n["bottom-right"];r.className=a?"persona-relative persona-mt-4 persona-mb-4 persona-mx-auto persona-flex persona-items-center persona-justify-center persona-rounded-launcher persona-bg-persona-launcher persona-transition hover:persona-translate-y-[-2px] persona-cursor-pointer":`persona-fixed persona-flex persona-items-center persona-gap-3 persona-rounded-launcher persona-bg-persona-launcher persona-py-2.5 persona-pl-3 persona-pr-3 persona-transition hover:persona-translate-y-[-2px] persona-cursor-pointer ${m}`,a||(r.style.zIndex=String(o.zIndex??1e5)),r.style.border=o.border??"1px solid var(--persona-launcher-border, var(--persona-border, #e5e7eb))",r.style.boxShadow=void 0===o.shadow?"var(--persona-launcher-shadow, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1))":""===o.shadow.trim()?"none":o.shadow,a?(r.style.width="0",r.style.minWidth="0",r.style.maxWidth="0",r.style.padding="0",r.style.overflow="hidden",r.style.border="none",r.style.boxShadow="none"):(r.style.width="",r.style.minWidth="",r.style.maxWidth=o.collapsedMaxWidth??"",r.style.justifyContent="",r.style.padding="",r.style.overflow="")};return e&&s(e),{element:r,update:s,destroy:()=>{r.removeEventListener("click",o),r.remove()}}},fe=new Set,be=e=>{let t=e?.persistState;return`${("object"==typeof t?t?.keyPrefix:void 0)??"persona-"}teaser-dismissed`},ye=(e,t)=>{let o=a("div","persona-launcher-surface");o.setAttribute("data-persona-launcher-surface","true");let s=e??{},l=null,i=null,c=null,d=null,p=null,u=!1,m=!1,h=!1,g=!1,f=()=>"once"===(l?.frequency??"once")&&!1!==s.persistState,b=()=>{null!==p&&(clearTimeout(p),p=null)},y=e=>{b(),h=!0,i&&u&&(u=!1,i.hidden=!0),((e,t)=>{if(fe.add(e),t)try{window.localStorage.setItem(e,"1")}catch{}})(be(s),e&&f())},x=e=>{l&&!h&&y("user"===e&&u)},v=()=>{p=null,i&&!h&&!g&&(m=!0,u=!0,i.hidden=!1,!(typeof window<"u"&&"function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches||"function"!=typeof i.animate)&&i.animate([{opacity:"0",transform:"translateY(6px)"},{opacity:"1",transform:"none"}],{duration:220,easing:"ease-out",fill:"backwards"}))},w=()=>{y(f()),t()},k=e=>{e.stopPropagation(),y(f())},M=ge(e,()=>{x("user"),t()}),S=()=>{b(),d?.removeEventListener("click",w),c?.removeEventListener("click",k),i?.remove(),i=null,d=null,c=null,u=!1},C=()=>{let e=s.launcher?.position??"bottom-right",t=n[e]??n["bottom-right"];i?(o.className=((...e)=>e.filter(Boolean).join(" "))("persona-launcher-surface",t),o.setAttribute("data-teaser",e),o.style.zIndex=String(s.launcher?.zIndex??1e5),M.element.style.position="static"):(o.className="persona-launcher-surface",o.removeAttribute("data-teaser"),o.style.zIndex="",M.element.style.position="")},B=e=>{let t=(e=>{let t=e?.launcher?.teaser;return t&&t.text&&!1!==e?.launcher?.enabled&&!oe(e??{})?t:null})(e);l=t,t?(i||(d=r("button",{className:"persona-launcher-teaser-text",attrs:{type:"button"}}),d.addEventListener("click",w),c=r("button",{className:"persona-launcher-teaser-dismiss",attrs:{type:"button"},text:"×"}),c.addEventListener("click",k),i=r("div",{className:"persona-launcher-teaser",attrs:{"data-persona-launcher-teaser":"true",role:"status","aria-live":"polite",hidden:""}},d,c),o.insertBefore(i,M.element)),d.textContent=t.text,c.hidden=!1===t.dismissible,c.setAttribute("aria-label",t.dismissLabel??"Dismiss message"),l&&i&&(h||m||g||((e,t)=>{if(fe.has(e))return!0;if(!t)return!1;try{return"1"===window.localStorage.getItem(e)}catch{return!1}})(be(s),f())||(b(),p=setTimeout(v,Math.max(0,l.delayMs??0))))):S()};return o.appendChild(M.element),e&&(B(e),C()),{element:o,launcher:M,get teaser(){return i?{element:i,show:v,dismiss:y}:null},setPanelOpen:(e,t="user")=>{g=e,e&&x(t)},update:e=>{s=e,M.update(e),B(e),C()},destroy:()=>{S(),M.destroy(),o.remove()}}},xe=typeof document<"u"&&(document.currentScript?.src??"").replace(/^https:\/\/cdn\.runtype\.com\/persona\/latest\//,"https://cdn.runtype.com/persona/4.34.0/")||null;se(()=>{let e=xe?.replace(/launcher\.global\.js($|\?)/,"icons-extra.js$1");return e&&e!==xe?import(e):Promise.reject(Error(`Could not derive the icons-extra.js URL from the launcher script URL (${xe??"unavailable"}). Self-hosted deployments that rename launcher.global.js should host icons-extra.js alongside it.`))});let ve="data-persona-launcher-critical",we=e=>({...e,launcher:{...v,...!0===e?.future?.v5Defaults?M:{},...e?.launcher,dock:{...v.dock,...e?.launcher?.dock}}});return e.CRITICAL_LAUNCHER_ATTR=ve,e.mount=e=>{if(typeof window>"u"||typeof document>"u")throw Error("AgentWidgetLauncher can only be mounted in a browser environment");let{onOpen:t}=e,o=(e=>{if(e instanceof HTMLElement)return e;if("string"==typeof e){let t=document.querySelector(e);if(t)return t}return document.body})(e.target),a=we(e.config),r=document.createElement("div");r.setAttribute("data-persona-root","true"),r.setAttribute(ve,"true"),ee(r,a);let n=ye(a,t);return r.appendChild(n.element),o.appendChild(r),{root:r,element:n.launcher.element,update:e=>{let t=we(e);ee(r,t),n.update(t)},destroy:()=>{n.destroy(),r.remove()}}},e}({});
332
+ let e=[...ue];ue.clear();for(let t of e)try{t()}catch{}})()}})(e.EXTRA_LUCIDE_ICONS)))?.catch(e=>{console.warn("[Persona] Failed to load the icons-extra chunk",e)})},he=(e,t=24,o="currentColor",a=2)=>{let r=ce.get(e);if(r)return ae(r,t,o,a);if(ie.includes(e)){let r=((e,t,o)=>{let a=ae([],e,t,o);return a.setAttribute("data-persona-icon-pending","true"),a})(t,o,a);return de.size>=500&&de.delete(de.keys().next().value),de.set(r,e),me(),r}return console.warn(`Unknown Persona icon "${e}". Use registerIcons().`),null},ge=(e,o)=>{let r=a("button");r.type="button",r.innerHTML='\n <span class="persona-inline-flex persona-items-center persona-justify-center persona-rounded-full persona-bg-persona-primary persona-text-white" data-role="launcher-icon">💬</span>\n <img data-role="launcher-image" class="persona-rounded-full persona-object-cover" alt="" style="display:none" />\n <span class="persona-flex persona-min-w-0 persona-flex-1 persona-flex-col persona-items-start persona-text-left">\n <span class="persona-block persona-w-full persona-truncate persona-text-sm persona-font-semibold persona-text-persona-launcher" data-role="launcher-title"></span>\n <span class="persona-block persona-w-full persona-truncate persona-text-xs persona-text-persona-launcher-muted" data-role="launcher-subtitle"></span>\n </span>\n <span class="persona-ml-2 persona-grid persona-place-items-center persona-rounded-full persona-bg-persona-primary persona-text-persona-call-to-action" data-role="launcher-call-to-action-icon">↗</span>\n ',r.addEventListener("click",o);let s=e=>{let o=e.launcher??{},a=oe(e),s="circle"===t(e);s?(r.dataset.personaLauncherVariant="circle",r.setAttribute("aria-label",o.title??"Open chat")):(r.removeAttribute("data-persona-launcher-variant"),r.removeAttribute("aria-label"));let l=r.querySelector("[data-role='launcher-title']");if(l){let e=o.title??"Chat Assistant";l.textContent=e,l.setAttribute("title",e)}let i=r.querySelector("[data-role='launcher-subtitle']");if(i){let e=o.subtitle??"Here to help you get answers fast";i.textContent=e,i.setAttribute("title",e)}let c=r.querySelector(".persona-flex-col");c&&(o.textHidden||a||s?c.style.display="none":c.style.display="");let d=r.querySelector("[data-role='launcher-icon']");if(d)if(o.agentIconHidden)d.style.display="none";else{let e=o.agentIconSize??"40px";if(d.style.height=e,d.style.width=e,o.agentIconBackgroundColor?(d.style.backgroundColor=o.agentIconBackgroundColor,d.classList.remove("persona-bg-persona-primary")):(d.style.backgroundColor="",d.classList.add("persona-bg-persona-primary")),d.innerHTML="",o.agentIconName){let t=parseFloat(e)||24,a=he(o.agentIconName,.6*t,"var(--persona-text-inverse, #ffffff)",1.5);a?(d.appendChild(a),d.style.display=""):(d.textContent=o.agentIconText??"💬",d.style.display="")}else o.iconUrl?d.style.display="none":(d.textContent=o.agentIconText??"💬",d.style.display="")}let p=r.querySelector("[data-role='launcher-image']");if(p){let e=o.agentIconSize??"40px";p.style.height=e,p.style.width=e,!o.iconUrl||o.agentIconName||o.agentIconHidden?p.style.display="none":(p.src=o.iconUrl,p.style.display="block")}let u=r.querySelector("[data-role='launcher-call-to-action-icon']");if(u){let e=o.callToActionIconSize??"32px";u.style.height=e,u.style.width=e,o.callToActionIconBackgroundColor?(u.style.backgroundColor=o.callToActionIconBackgroundColor,u.classList.remove("persona-bg-persona-primary")):(u.style.backgroundColor="",u.classList.add("persona-bg-persona-primary")),o.callToActionIconColor?(u.style.color=o.callToActionIconColor,u.classList.remove("persona-text-persona-call-to-action")):(u.style.color="",u.classList.add("persona-text-persona-call-to-action"));let t=0;if(o.callToActionIconPadding?(u.style.boxSizing="border-box",u.style.padding=o.callToActionIconPadding,t=2*(parseFloat(o.callToActionIconPadding)||0)):(u.style.boxSizing="",u.style.padding=""),o.callToActionIconHidden||s)u.style.display="none";else if(u.style.display=a?"none":"",u.innerHTML="",o.callToActionIconName){let a=Math.max((parseFloat(e)||24)-t,8),r=he(o.callToActionIconName,a,"currentColor",1.5);r?u.appendChild(r):u.textContent=o.callToActionIconText??"↗"}else u.textContent=o.callToActionIconText??"↗"}let m=o.position&&n[o.position]?n[o.position]:n["bottom-right"];r.className=a?"persona-relative persona-mt-4 persona-mb-4 persona-mx-auto persona-flex persona-items-center persona-justify-center persona-rounded-launcher persona-bg-persona-launcher persona-transition hover:persona-translate-y-[-2px] persona-cursor-pointer":`persona-fixed persona-flex persona-items-center persona-gap-3 persona-rounded-launcher persona-bg-persona-launcher persona-py-2.5 persona-pl-3 persona-pr-3 persona-transition hover:persona-translate-y-[-2px] persona-cursor-pointer ${m}`,a||(r.style.zIndex=String(o.zIndex??1e5)),r.style.border=o.border??"1px solid var(--persona-launcher-border, var(--persona-border, #e5e7eb))",r.style.boxShadow=void 0===o.shadow?"var(--persona-launcher-shadow, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1))":""===o.shadow.trim()?"none":o.shadow,a?(r.style.width="0",r.style.minWidth="0",r.style.maxWidth="0",r.style.padding="0",r.style.overflow="hidden",r.style.border="none",r.style.boxShadow="none"):(r.style.width="",r.style.minWidth="",r.style.maxWidth=o.collapsedMaxWidth??"",r.style.justifyContent="",r.style.padding="",r.style.overflow="")};return e&&s(e),{element:r,update:s,destroy:()=>{r.removeEventListener("click",o),r.remove()}}},fe=new Set,be=e=>{let t=e?.persistState;return`${("object"==typeof t?t?.keyPrefix:void 0)??"persona-"}teaser-dismissed`},ye=(e,t)=>{let o=a("div","persona-launcher-surface");o.setAttribute("data-persona-launcher-surface","true");let s=e??{},l=null,i=null,c=null,d=null,p=null,u=!1,m=!1,h=!1,g=!1,f=()=>"once"===(l?.frequency??"once")&&!1!==s.persistState,b=()=>{null!==p&&(clearTimeout(p),p=null)},y=e=>{b(),h=!0,i&&u&&(u=!1,i.hidden=!0),((e,t)=>{if(fe.add(e),t)try{window.localStorage.setItem(e,"1")}catch{}})(be(s),e&&f())},x=e=>{l&&!h&&y("user"===e&&u)},v=()=>{p=null,i&&!h&&!g&&(m=!0,u=!0,i.hidden=!1,!(typeof window<"u"&&"function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches||"function"!=typeof i.animate)&&i.animate([{opacity:"0",transform:"translateY(6px)"},{opacity:"1",transform:"none"}],{duration:220,easing:"ease-out",fill:"backwards"}))},w=()=>{y(f()),t()},k=e=>{e.stopPropagation(),y(f())},M=ge(e,()=>{x("user"),t()}),S=()=>{b(),d?.removeEventListener("click",w),c?.removeEventListener("click",k),i?.remove(),i=null,d=null,c=null,u=!1},C=()=>{let e=s.launcher?.position??"bottom-right",t=n[e]??n["bottom-right"];i?(o.className=((...e)=>e.filter(Boolean).join(" "))("persona-launcher-surface",t),o.setAttribute("data-teaser",e),o.style.zIndex=String(s.launcher?.zIndex??1e5),M.element.style.position="static"):(o.className="persona-launcher-surface",o.removeAttribute("data-teaser"),o.style.zIndex="",M.element.style.position="")},B=e=>{let t=(e=>{let t=e?.launcher?.teaser;return t&&t.text&&!1!==e?.launcher?.enabled&&!oe(e??{})?t:null})(e);l=t,t?(i||(d=r("button",{className:"persona-launcher-teaser-text",attrs:{type:"button"}}),d.addEventListener("click",w),c=r("button",{className:"persona-launcher-teaser-dismiss",attrs:{type:"button"},text:"×"}),c.addEventListener("click",k),i=r("div",{className:"persona-launcher-teaser",attrs:{"data-persona-launcher-teaser":"true",role:"status","aria-live":"polite",hidden:""}},d,c),o.insertBefore(i,M.element)),d.textContent=t.text,c.hidden=!1===t.dismissible,c.setAttribute("aria-label",t.dismissLabel??"Dismiss message"),l&&i&&(h||m||g||((e,t)=>{if(fe.has(e))return!0;if(!t)return!1;try{return"1"===window.localStorage.getItem(e)}catch{return!1}})(be(s),f())||(b(),p=setTimeout(v,Math.max(0,l.delayMs??0))))):S()};return o.appendChild(M.element),e&&(B(e),C()),{element:o,launcher:M,get teaser(){return i?{element:i,show:v,dismiss:y}:null},setPanelOpen:(e,t="user")=>{g=e,e&&x(t)},update:e=>{s=e,M.update(e),B(e),C()},destroy:()=>{S(),M.destroy(),o.remove()}}},xe=typeof document<"u"&&(document.currentScript?.src??"").replace(/^https:\/\/cdn\.runtype\.com\/persona\/latest\//,"https://cdn.runtype.com/persona/4.35.1/")||null;se(()=>{let e=xe?.replace(/launcher\.global\.js($|\?)/,"icons-extra.js$1");return e&&e!==xe?import(e):Promise.reject(Error(`Could not derive the icons-extra.js URL from the launcher script URL (${xe??"unavailable"}). Self-hosted deployments that rename launcher.global.js should host icons-extra.js alongside it.`))});let ve="data-persona-launcher-critical",we=e=>({...e,launcher:{...v,...!0===e?.future?.v5Defaults?M:{},...e?.launcher,dock:{...v.dock,...e?.launcher?.dock}}});return e.CRITICAL_LAUNCHER_ATTR=ve,e.mount=e=>{if(typeof window>"u"||typeof document>"u")throw Error("AgentWidgetLauncher can only be mounted in a browser environment");let{onOpen:t}=e,o=(e=>{if(e instanceof HTMLElement)return e;if("string"==typeof e){let t=document.querySelector(e);if(t)return t}return document.body})(e.target),a=we(e.config),r=document.createElement("div");r.setAttribute("data-persona-root","true"),r.setAttribute(ve,"true"),ee(r,a);let n=ye(a,t);return r.appendChild(n.element),o.appendChild(r),{root:r,element:n.launcher.element,update:e=>{let t=we(e);ee(r,t),n.update(t)},destroy:()=>{n.destroy(),r.remove()}}},e}({});
333
333
  //# sourceMappingURL=launcher.global.js.map
@@ -1,4 +1,4 @@
1
- import { n as createLoadingLabelLifecycle, r as applyLoadingLabel, t as applyLoadingAnimation } from "./tool-loading-animation-D2cyFvmM.cjs";
1
+ import { n as createLoadingLabelLifecycle, r as applyLoadingLabel, t as applyLoadingAnimation } from "./tool-loading-animation-B7XUf8TN.cjs";
2
2
  /** Internal contract: resolve/decorate fresh labels, then manage committed hooks.
3
3
  * A future renderer replacement must preserve this lifecycle and readiness boundary.
4
4
  * Artifact builtin rendering is a separate, deliberate export of the same module.
@@ -1,4 +1,4 @@
1
- import { n as createLoadingLabelLifecycle, r as applyLoadingLabel, t as applyLoadingAnimation } from "./tool-loading-animation-D2cyFvmM.js";
1
+ import { n as createLoadingLabelLifecycle, r as applyLoadingLabel, t as applyLoadingAnimation } from "./tool-loading-animation-B7XUf8TN.js";
2
2
  /** Internal contract: resolve/decorate fresh labels, then manage committed hooks.
3
3
  * A future renderer replacement must preserve this lifecycle and readiness boundary.
4
4
  * Artifact builtin rendering is a separate, deliberate export of the same module.
@@ -1,3 +1,3 @@
1
- import { n as createLoadingLabelLifecycle, r as applyLoadingLabel, t as applyLoadingAnimation } from "./tool-loading-animation-D2cyFvmM.cjs";
1
+ import { n as createLoadingLabelLifecycle, r as applyLoadingLabel, t as applyLoadingAnimation } from "./tool-loading-animation-B7XUf8TN.cjs";
2
2
  export { applyLoadingAnimation, applyLoadingLabel, createLoadingLabelLifecycle };
3
3
  export {}
@@ -1,3 +1,3 @@
1
- import { n as createLoadingLabelLifecycle, r as applyLoadingLabel, t as applyLoadingAnimation } from "./tool-loading-animation-D2cyFvmM.js";
1
+ import { n as createLoadingLabelLifecycle, r as applyLoadingLabel, t as applyLoadingAnimation } from "./tool-loading-animation-B7XUf8TN.js";
2
2
  export { applyLoadingAnimation, applyLoadingLabel, createLoadingLabelLifecycle };
3
3
  export {}
@@ -1,4 +1,4 @@
1
- import { Ct as AgentWidgetMessage, Dt as AgentWidgetMessageLayoutConfig, Et as AgentWidgetMessageFeedback, Ot as AgentWidgetMessageRole, bo as MessageGeometryTokens, k as AgentWidgetConfig, wt as AgentWidgetMessageActionsConfig, xi as LoadingIndicatorRenderContext } from "./types-BC7MRxO5.cjs";
1
+ import { Ct as AgentWidgetMessage, Dt as AgentWidgetMessageLayoutConfig, Et as AgentWidgetMessageFeedback, Ot as AgentWidgetMessageRole, bo as MessageGeometryTokens, k as AgentWidgetConfig, wt as AgentWidgetMessageActionsConfig, xi as LoadingIndicatorRenderContext } from "./types-9i0xcAMT.cjs";
2
2
  /**
3
3
  * - `fit`: not measured yet, or short enough; no toggle.
4
4
  * - `live`: an interim voice transcript; expanded so the speaker can watch it.
@@ -1,4 +1,4 @@
1
- import { Ct as AgentWidgetMessage, Dt as AgentWidgetMessageLayoutConfig, Et as AgentWidgetMessageFeedback, Ot as AgentWidgetMessageRole, bo as MessageGeometryTokens, k as AgentWidgetConfig, wt as AgentWidgetMessageActionsConfig, xi as LoadingIndicatorRenderContext } from "./types-BC7MRxO5.js";
1
+ import { Ct as AgentWidgetMessage, Dt as AgentWidgetMessageLayoutConfig, Et as AgentWidgetMessageFeedback, Ot as AgentWidgetMessageRole, bo as MessageGeometryTokens, k as AgentWidgetConfig, wt as AgentWidgetMessageActionsConfig, xi as LoadingIndicatorRenderContext } from "./types-9i0xcAMT.js";
2
2
  /**
3
3
  * - `fit`: not measured yet, or short enough; no toggle.
4
4
  * - `live`: an interim voice transcript; expanded so the speaker can watch it.
@@ -64,7 +64,9 @@ interface PopoverOptions {
64
64
  /**
65
65
  * Where to mount `content`. Defaults to the anchor's shadow root (when
66
66
  * shadowed), its open dialog, or `document.body`: keeping it inside the same style + stacking
67
- * scope as the anchor while escaping the transcript's scroll clipping.
67
+ * scope as the anchor while escaping the transcript's scroll clipping. Mounted
68
+ * outside the anchor's `[data-persona-root]`, `content` carries a copy of the
69
+ * root's theme variables and color scheme, kept current while open.
68
70
  */
69
71
  container?: HTMLElement | ShadowRoot;
70
72
  onOpen?: () => void;
@@ -64,7 +64,9 @@ interface PopoverOptions {
64
64
  /**
65
65
  * Where to mount `content`. Defaults to the anchor's shadow root (when
66
66
  * shadowed), its open dialog, or `document.body`: keeping it inside the same style + stacking
67
- * scope as the anchor while escaping the transcript's scroll clipping.
67
+ * scope as the anchor while escaping the transcript's scroll clipping. Mounted
68
+ * outside the anchor's `[data-persona-root]`, `content` carries a copy of the
69
+ * root's theme variables and color scheme, kept current while open.
68
70
  */
69
71
  container?: HTMLElement | ShadowRoot;
70
72
  onOpen?: () => void;
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=e=>e.nodeType===Node.DOCUMENT_NODE,t=e=>e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.host!==void 0;function n(n){let r=n.getRootNode?.();return r&&t(r)||r&&e(r)?r:n.ownerDocument??document}function r(t,n,r){let i=e(t)?t.head:t,a=n.replace(/["\\]/g,`\\$&`);if(i.querySelector(`style[data-persona-plugin-style="${a}"]`))return;let o=(e(t)?t:t.ownerDocument??document).createElement(`style`);o.setAttribute(`data-persona-plugin-style`,n),o.textContent=r,i.appendChild(o)}function i(i,a,o){if(e(i)||t(i)){r(i,a,o);return}let s=i;if(s.isConnected){r(n(s),a,o);return}let c=s.ownerDocument??document;r(c,a,o),queueMicrotask(()=>{let e=n(s);e!==c&&r(e,a,o)})}function a(e){let t=e.getRootNode?.();return t instanceof ShadowRoot?t:e.closest(`dialog[open]`)??(e.ownerDocument??document).body}function o(e){let{anchor:t,content:n,placement:r=`bottom-start`,offset:i=6,matchAnchorWidth:o=!1,horizontalOffset:s,verticalOffset:c,zIndex:l=2147483e3,onOpen:u,onDismiss:d}=e,f=()=>e.container??a(t),p=!1,m=null,h=()=>{if(!p)return;let a=f();if(n.parentNode!==a){let e=n.contains(n.ownerDocument.activeElement)?n.ownerDocument.activeElement:null;a.appendChild(n),e?.focus({preventScroll:!0})}let l=e.getAnchorRect?.()??t.getBoundingClientRect();n.style.position=`fixed`,o&&(n.style.minWidth=`${l.width}px`),s&&(n.style.maxWidth=`${l.width}px`);let u=n.getBoundingClientRect(),d=c?.()??null,m=d==null?l.top:l.top+d,h=e.getPlacement?.()??r,g=h===`top-start`||h===`top-end`?m-i-u.height:l.bottom+i,_=h===`bottom-end`||h===`top-end`?l.right-u.width:l.left,v=s?.()??null;if(v!=null){let e=Math.max(l.left,l.right-u.width);_=Math.min(Math.max(l.left+v,l.left),e)}if(e.viewportPadding!==void 0){let n=e.viewportPadding,r=t.ownerDocument.defaultView,a=r?.innerHeight??0,o=r?.innerWidth??0,s=m-i-n,c=a-l.bottom-i-n;g=(h.startsWith(`top`)?s>=u.height||s>=c:!(c>=u.height||c>=s))?m-i-u.height:l.bottom+i,g=Math.max(n,Math.min(g,a-n-u.height)),_=Math.max(n,Math.min(_,o-n-u.width))}n.style.top=`${g}px`,n.style.left=`${_}px`},g=()=>{p&&(p=!1,m&&=(m(),null),n.remove())},_=()=>{if(p)return;p=!0,l!=null&&(n.style.zIndex=String(l)),h();let r=(t.ownerDocument??document).defaultView??window,i=t.ownerDocument??document,a=()=>{t.isConnected?h():(g(),d?.(`anchor-removed`))},o=e=>{let r=typeof e.composedPath==`function`?e.composedPath():[];r.includes(n)||r.includes(t)||(g(),d?.(`outside`))},s=e.viewportPadding!==void 0&&r.ResizeObserver?new r.ResizeObserver(a):null;s?.observe(n),s?.observe(t);let c=r.setTimeout(()=>{i.addEventListener(`pointerdown`,o,!0)},0);r.addEventListener(`scroll`,a,!0),r.addEventListener(`resize`,a);let f=t.closest(`[data-persona-root]`);f?.addEventListener(`persona:internal:host-moved`,a),m=()=>{s?.disconnect(),r.clearTimeout(c),i.removeEventListener(`pointerdown`,o,!0),r.removeEventListener(`scroll`,a,!0),r.removeEventListener(`resize`,a),f?.removeEventListener(`persona:internal:host-moved`,a)},u?.()};return{get isOpen(){return p},open:_,close:g,toggle:()=>p?g():_(),reposition:h,destroy:g}}function s(e){return(typeof e.composedPath==`function`?e.composedPath():[]).some(e=>e instanceof HTMLElement&&(e.tagName===`INPUT`||e.tagName===`TEXTAREA`||e.isContentEditable))}exports.createPopover=o,exports.getStyleRoot=n,exports.injectStyles=i,exports.isEditableEventTarget=s;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=e=>e.nodeType===Node.DOCUMENT_NODE,t=e=>e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.host!==void 0;function n(n){let r=n.getRootNode?.();return r&&t(r)||r&&e(r)?r:n.ownerDocument??document}function r(t,n,r){let i=e(t)?t.head:t,a=n.replace(/["\\]/g,`\\$&`);if(i.querySelector(`style[data-persona-plugin-style="${a}"]`))return;let o=(e(t)?t:t.ownerDocument??document).createElement(`style`);o.setAttribute(`data-persona-plugin-style`,n),o.textContent=r,i.appendChild(o)}function i(i,a,o){if(e(i)||t(i)){r(i,a,o);return}let s=i;if(s.isConnected){r(n(s),a,o);return}let c=s.ownerDocument??document;r(c,a,o),queueMicrotask(()=>{let e=n(s);e!==c&&r(e,a,o)})}function a(e){let t=e.getRootNode?.();return t instanceof ShadowRoot?t:e.closest(`dialog[open]`)??(e.ownerDocument??document).body}function o(e){let{anchor:t,content:n,placement:r=`bottom-start`,offset:i=6,matchAnchorWidth:o=!1,horizontalOffset:s,verticalOffset:c,zIndex:l=2147483e3,onOpen:u,onDismiss:d}=e,f=()=>e.container??a(t),p=!1,m=null,h=[],g=()=>{let e=t.closest(`[data-persona-root]`);if(!e||e.contains(n))return;let{style:r}=e;for(let e of h)r.getPropertyValue(e)||n.style.removeProperty(e);h=Array.from(r).filter(e=>e.startsWith(`--`));for(let e of h)n.style.setProperty(e,r.getPropertyValue(e));for(let t of[`data-persona-color-scheme`,`data-persona-defaults`]){let r=e.getAttribute(t);r?n.setAttribute(t,r):n.removeAttribute(t)}},_=()=>{if(!p)return;let a=f();if(n.parentNode!==a){let e=n.contains(n.ownerDocument.activeElement)?n.ownerDocument.activeElement:null;a.appendChild(n),g(),e?.focus({preventScroll:!0})}let l=e.getAnchorRect?.()??t.getBoundingClientRect();n.style.position=`fixed`,o&&(n.style.minWidth=`${l.width}px`),s&&(n.style.maxWidth=`${l.width}px`);let u=n.getBoundingClientRect(),d=c?.()??null,m=d==null?l.top:l.top+d,h=e.getPlacement?.()??r,_=h===`top-start`||h===`top-end`?m-i-u.height:l.bottom+i,v=h===`bottom-end`||h===`top-end`?l.right-u.width:l.left,y=s?.()??null;if(y!=null){let e=Math.max(l.left,l.right-u.width);v=Math.min(Math.max(l.left+y,l.left),e)}if(e.viewportPadding!==void 0){let n=e.viewportPadding,r=t.ownerDocument.defaultView,a=r?.innerHeight??0,o=r?.innerWidth??0,s=m-i-n,c=a-l.bottom-i-n;_=(h.startsWith(`top`)?s>=u.height||s>=c:!(c>=u.height||c>=s))?m-i-u.height:l.bottom+i,_=Math.max(n,Math.min(_,a-n-u.height)),v=Math.max(n,Math.min(v,o-n-u.width))}n.style.top=`${_}px`,n.style.left=`${v}px`},v=()=>{p&&(p=!1,m&&=(m(),null),n.remove())},y=()=>{if(p)return;p=!0,l!=null&&(n.style.zIndex=String(l)),_();let r=(t.ownerDocument??document).defaultView??window,i=t.ownerDocument??document,a=()=>{t.isConnected?_():(v(),d?.(`anchor-removed`))},o=e=>{let r=typeof e.composedPath==`function`?e.composedPath():[];r.includes(n)||r.includes(t)||(v(),d?.(`outside`))},s=e.viewportPadding!==void 0&&r.ResizeObserver?new r.ResizeObserver(a):null;s?.observe(n),s?.observe(t);let c=r.setTimeout(()=>{i.addEventListener(`pointerdown`,o,!0)},0);r.addEventListener(`scroll`,a,!0),r.addEventListener(`resize`,a);let f=t.closest(`[data-persona-root]`);f?.addEventListener(`persona:internal:host-moved`,a);let h;f&&r.MutationObserver&&(h=new r.MutationObserver(g),h.observe(f,{attributeFilter:[`style`,`data-persona-color-scheme`]})),m=()=>{s?.disconnect(),h?.disconnect(),r.clearTimeout(c),i.removeEventListener(`pointerdown`,o,!0),r.removeEventListener(`scroll`,a,!0),r.removeEventListener(`resize`,a),f?.removeEventListener(`persona:internal:host-moved`,a)},u?.()};return{get isOpen(){return p},open:y,close:v,toggle:()=>p?v():y(),reposition:_,destroy:v}}function s(e){return(typeof e.composedPath==`function`?e.composedPath():[]).some(e=>e instanceof HTMLElement&&(e.tagName===`INPUT`||e.tagName===`TEXTAREA`||e.isContentEditable))}exports.createPopover=o,exports.getStyleRoot=n,exports.injectStyles=i,exports.isEditableEventTarget=s;
@@ -1,3 +1,3 @@
1
- import { a as getStyleRoot, i as createPopover, n as PopoverOptions, o as injectStyles, r as PopoverPlacement, s as isEditableEventTarget, t as PopoverHandle } from "./plugin-kit-BVggqE3C.cjs";
1
+ import { a as getStyleRoot, i as createPopover, n as PopoverOptions, o as injectStyles, r as PopoverPlacement, s as isEditableEventTarget, t as PopoverHandle } from "./plugin-kit-C30jE-cw.cjs";
2
2
  export { PopoverHandle, PopoverOptions, PopoverPlacement, createPopover, getStyleRoot, injectStyles, isEditableEventTarget };
3
3
  export {}
@@ -1,3 +1,3 @@
1
- import { a as getStyleRoot, i as createPopover, n as PopoverOptions, o as injectStyles, r as PopoverPlacement, s as isEditableEventTarget, t as PopoverHandle } from "./plugin-kit-BVggqE3C.js";
1
+ import { a as getStyleRoot, i as createPopover, n as PopoverOptions, o as injectStyles, r as PopoverPlacement, s as isEditableEventTarget, t as PopoverHandle } from "./plugin-kit-C30jE-cw.js";
2
2
  export { PopoverHandle, PopoverOptions, PopoverPlacement, createPopover, getStyleRoot, injectStyles, isEditableEventTarget };
3
3
  export {}
@@ -1 +1 @@
1
- const e=e=>e.nodeType===Node.DOCUMENT_NODE,t=e=>e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.host!==void 0;function n(n){let r=n.getRootNode?.();return r&&t(r)||r&&e(r)?r:n.ownerDocument??document}function r(t,n,r){let i=e(t)?t.head:t,a=n.replace(/["\\]/g,`\\$&`);if(i.querySelector(`style[data-persona-plugin-style="${a}"]`))return;let o=(e(t)?t:t.ownerDocument??document).createElement(`style`);o.setAttribute(`data-persona-plugin-style`,n),o.textContent=r,i.appendChild(o)}function i(i,a,o){if(e(i)||t(i)){r(i,a,o);return}let s=i;if(s.isConnected){r(n(s),a,o);return}let c=s.ownerDocument??document;r(c,a,o),queueMicrotask(()=>{let e=n(s);e!==c&&r(e,a,o)})}function a(e){let t=e.getRootNode?.();return t instanceof ShadowRoot?t:e.closest(`dialog[open]`)??(e.ownerDocument??document).body}function o(e){let{anchor:t,content:n,placement:r=`bottom-start`,offset:i=6,matchAnchorWidth:o=!1,horizontalOffset:s,verticalOffset:c,zIndex:l=2147483e3,onOpen:u,onDismiss:d}=e,f=()=>e.container??a(t),p=!1,m=null,h=()=>{if(!p)return;let a=f();if(n.parentNode!==a){let e=n.contains(n.ownerDocument.activeElement)?n.ownerDocument.activeElement:null;a.appendChild(n),e?.focus({preventScroll:!0})}let l=e.getAnchorRect?.()??t.getBoundingClientRect();n.style.position=`fixed`,o&&(n.style.minWidth=`${l.width}px`),s&&(n.style.maxWidth=`${l.width}px`);let u=n.getBoundingClientRect(),d=c?.()??null,m=d==null?l.top:l.top+d,h=e.getPlacement?.()??r,g=h===`top-start`||h===`top-end`?m-i-u.height:l.bottom+i,_=h===`bottom-end`||h===`top-end`?l.right-u.width:l.left,v=s?.()??null;if(v!=null){let e=Math.max(l.left,l.right-u.width);_=Math.min(Math.max(l.left+v,l.left),e)}if(e.viewportPadding!==void 0){let n=e.viewportPadding,r=t.ownerDocument.defaultView,a=r?.innerHeight??0,o=r?.innerWidth??0,s=m-i-n,c=a-l.bottom-i-n;g=(h.startsWith(`top`)?s>=u.height||s>=c:!(c>=u.height||c>=s))?m-i-u.height:l.bottom+i,g=Math.max(n,Math.min(g,a-n-u.height)),_=Math.max(n,Math.min(_,o-n-u.width))}n.style.top=`${g}px`,n.style.left=`${_}px`},g=()=>{p&&(p=!1,m&&=(m(),null),n.remove())},_=()=>{if(p)return;p=!0,l!=null&&(n.style.zIndex=String(l)),h();let r=(t.ownerDocument??document).defaultView??window,i=t.ownerDocument??document,a=()=>{t.isConnected?h():(g(),d?.(`anchor-removed`))},o=e=>{let r=typeof e.composedPath==`function`?e.composedPath():[];r.includes(n)||r.includes(t)||(g(),d?.(`outside`))},s=e.viewportPadding!==void 0&&r.ResizeObserver?new r.ResizeObserver(a):null;s?.observe(n),s?.observe(t);let c=r.setTimeout(()=>{i.addEventListener(`pointerdown`,o,!0)},0);r.addEventListener(`scroll`,a,!0),r.addEventListener(`resize`,a);let f=t.closest(`[data-persona-root]`);f?.addEventListener(`persona:internal:host-moved`,a),m=()=>{s?.disconnect(),r.clearTimeout(c),i.removeEventListener(`pointerdown`,o,!0),r.removeEventListener(`scroll`,a,!0),r.removeEventListener(`resize`,a),f?.removeEventListener(`persona:internal:host-moved`,a)},u?.()};return{get isOpen(){return p},open:_,close:g,toggle:()=>p?g():_(),reposition:h,destroy:g}}function s(e){return(typeof e.composedPath==`function`?e.composedPath():[]).some(e=>e instanceof HTMLElement&&(e.tagName===`INPUT`||e.tagName===`TEXTAREA`||e.isContentEditable))}export{o as createPopover,n as getStyleRoot,i as injectStyles,s as isEditableEventTarget};
1
+ const e=e=>e.nodeType===Node.DOCUMENT_NODE,t=e=>e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.host!==void 0;function n(n){let r=n.getRootNode?.();return r&&t(r)||r&&e(r)?r:n.ownerDocument??document}function r(t,n,r){let i=e(t)?t.head:t,a=n.replace(/["\\]/g,`\\$&`);if(i.querySelector(`style[data-persona-plugin-style="${a}"]`))return;let o=(e(t)?t:t.ownerDocument??document).createElement(`style`);o.setAttribute(`data-persona-plugin-style`,n),o.textContent=r,i.appendChild(o)}function i(i,a,o){if(e(i)||t(i)){r(i,a,o);return}let s=i;if(s.isConnected){r(n(s),a,o);return}let c=s.ownerDocument??document;r(c,a,o),queueMicrotask(()=>{let e=n(s);e!==c&&r(e,a,o)})}function a(e){let t=e.getRootNode?.();return t instanceof ShadowRoot?t:e.closest(`dialog[open]`)??(e.ownerDocument??document).body}function o(e){let{anchor:t,content:n,placement:r=`bottom-start`,offset:i=6,matchAnchorWidth:o=!1,horizontalOffset:s,verticalOffset:c,zIndex:l=2147483e3,onOpen:u,onDismiss:d}=e,f=()=>e.container??a(t),p=!1,m=null,h=[],g=()=>{let e=t.closest(`[data-persona-root]`);if(!e||e.contains(n))return;let{style:r}=e;for(let e of h)r.getPropertyValue(e)||n.style.removeProperty(e);h=Array.from(r).filter(e=>e.startsWith(`--`));for(let e of h)n.style.setProperty(e,r.getPropertyValue(e));for(let t of[`data-persona-color-scheme`,`data-persona-defaults`]){let r=e.getAttribute(t);r?n.setAttribute(t,r):n.removeAttribute(t)}},_=()=>{if(!p)return;let a=f();if(n.parentNode!==a){let e=n.contains(n.ownerDocument.activeElement)?n.ownerDocument.activeElement:null;a.appendChild(n),g(),e?.focus({preventScroll:!0})}let l=e.getAnchorRect?.()??t.getBoundingClientRect();n.style.position=`fixed`,o&&(n.style.minWidth=`${l.width}px`),s&&(n.style.maxWidth=`${l.width}px`);let u=n.getBoundingClientRect(),d=c?.()??null,m=d==null?l.top:l.top+d,h=e.getPlacement?.()??r,_=h===`top-start`||h===`top-end`?m-i-u.height:l.bottom+i,v=h===`bottom-end`||h===`top-end`?l.right-u.width:l.left,y=s?.()??null;if(y!=null){let e=Math.max(l.left,l.right-u.width);v=Math.min(Math.max(l.left+y,l.left),e)}if(e.viewportPadding!==void 0){let n=e.viewportPadding,r=t.ownerDocument.defaultView,a=r?.innerHeight??0,o=r?.innerWidth??0,s=m-i-n,c=a-l.bottom-i-n;_=(h.startsWith(`top`)?s>=u.height||s>=c:!(c>=u.height||c>=s))?m-i-u.height:l.bottom+i,_=Math.max(n,Math.min(_,a-n-u.height)),v=Math.max(n,Math.min(v,o-n-u.width))}n.style.top=`${_}px`,n.style.left=`${v}px`},v=()=>{p&&(p=!1,m&&=(m(),null),n.remove())},y=()=>{if(p)return;p=!0,l!=null&&(n.style.zIndex=String(l)),_();let r=(t.ownerDocument??document).defaultView??window,i=t.ownerDocument??document,a=()=>{t.isConnected?_():(v(),d?.(`anchor-removed`))},o=e=>{let r=typeof e.composedPath==`function`?e.composedPath():[];r.includes(n)||r.includes(t)||(v(),d?.(`outside`))},s=e.viewportPadding!==void 0&&r.ResizeObserver?new r.ResizeObserver(a):null;s?.observe(n),s?.observe(t);let c=r.setTimeout(()=>{i.addEventListener(`pointerdown`,o,!0)},0);r.addEventListener(`scroll`,a,!0),r.addEventListener(`resize`,a);let f=t.closest(`[data-persona-root]`);f?.addEventListener(`persona:internal:host-moved`,a);let h;f&&r.MutationObserver&&(h=new r.MutationObserver(g),h.observe(f,{attributeFilter:[`style`,`data-persona-color-scheme`]})),m=()=>{s?.disconnect(),h?.disconnect(),r.clearTimeout(c),i.removeEventListener(`pointerdown`,o,!0),r.removeEventListener(`scroll`,a,!0),r.removeEventListener(`resize`,a),f?.removeEventListener(`persona:internal:host-moved`,a)},u?.()};return{get isOpen(){return p},open:y,close:v,toggle:()=>p?v():y(),reposition:_,destroy:v}}function s(e){return(typeof e.composedPath==`function`?e.composedPath():[]).some(e=>e instanceof HTMLElement&&(e.tagName===`INPUT`||e.tagName===`TEXTAREA`||e.isContentEditable))}export{o as createPopover,n as getStyleRoot,i as injectStyles,s as isEditableEventTarget};
@@ -1,3 +1,3 @@
1
- import { i as applyFeaturePreferences } from "./feature-preferences-CmwZGKrf.cjs";
1
+ import { i as applyFeaturePreferences } from "./feature-preferences-CerDWGZ7.cjs";
2
2
  export { applyFeaturePreferences };
3
3
  export {}
@@ -1,3 +1,3 @@
1
- import { i as applyFeaturePreferences } from "./feature-preferences-CmwZGKrf.js";
1
+ import { i as applyFeaturePreferences } from "./feature-preferences-CerDWGZ7.js";
2
2
  export { applyFeaturePreferences };
3
3
  export {}
@@ -1,5 +1,5 @@
1
- import { Ct as AgentWidgetMessage, So as PersonaTheme, _o as DeepPartial, k as AgentWidgetConfig } from "./types-BC7MRxO5.cjs";
2
- import { Tn as AgentWidgetController } from "./session-CtZHe7fc.cjs";
1
+ import { Ct as AgentWidgetMessage, So as PersonaTheme, _o as DeepPartial, k as AgentWidgetConfig } from "./types-9i0xcAMT.cjs";
2
+ import { Tn as AgentWidgetController } from "./session-BUQrs3Of.cjs";
3
3
  declare const DEVICE_DIMENSIONS: Record<string, {
4
4
  w: number;
5
5
  h: number;
@@ -1,5 +1,5 @@
1
- import { Ct as AgentWidgetMessage, So as PersonaTheme, _o as DeepPartial, k as AgentWidgetConfig } from "./types-BC7MRxO5.js";
2
- import { Tn as AgentWidgetController } from "./session-CtZHe7fc.js";
1
+ import { Ct as AgentWidgetMessage, So as PersonaTheme, _o as DeepPartial, k as AgentWidgetConfig } from "./types-9i0xcAMT.js";
2
+ import { Tn as AgentWidgetController } from "./session-BUQrs3Of.js";
3
3
  declare const DEVICE_DIMENSIONS: Record<string, {
4
4
  w: number;
5
5
  h: number;
@@ -1,4 +1,4 @@
1
- import { D as AgentWidgetComponentRenderer, T as AgentWidgetComponentRenderContext } from "./types-BC7MRxO5.cjs";
1
+ import { D as AgentWidgetComponentRenderer, T as AgentWidgetComponentRenderContext } from "./types-9i0xcAMT.cjs";
2
2
  import { Marked } from "marked";
3
3
  import DOMPurify from "dompurify";
4
4
  type MarkdownParsersModule = {
@@ -1,4 +1,4 @@
1
- import { D as AgentWidgetComponentRenderer, T as AgentWidgetComponentRenderContext } from "./types-BC7MRxO5.js";
1
+ import { D as AgentWidgetComponentRenderer, T as AgentWidgetComponentRenderContext } from "./types-9i0xcAMT.js";
2
2
  import { Marked } from "marked";
3
3
  import DOMPurify from "dompurify";
4
4
  type MarkdownParsersModule = {
@@ -1,11 +1,11 @@
1
- import { t as ComponentContext } from "./registry-B16l8s1b.cjs";
2
- import { $ as AgentWidgetEvent, $i as TextContentPart, A as AgentWidgetConfigPatch, B as AgentWidgetContextMentionRef, Bi as ReadAloudState, C as AgentWidgetAttachmentsConfig, Ca as WebMcpToolResult, Co as PersonaThemePlugin, Ct as AgentWidgetMessage, E as AgentWidgetComponentRenderHandle, Fi as PersonaArtifactManualUpsert, Gt as AgentWidgetRunFinishedEvent, I as AgentWidgetContextMentionItem, Ir as ComposerQuote, Ji as SpeechCallbacks, Kn as AttachmentPreviewRenderContext, Kt as AgentWidgetRunStartedEvent, Li as PersonaArtifactRecord, Lr as ComposerResubmitOptions, N as AgentWidgetContextMentionCommandContext, Nn as AgentWidgetWebMcpConfig, Nr as ComposerOptionsPayload, Nt as AgentWidgetOpenConversationOptions, Pa as HistoryListResult, Q as AgentWidgetDockConfig, Qi as StreamAnimationPlugin, Qn as ClientFeedbackRequest, Ro as AgentWidgetPlugin, Rr as ComposerState, Sa as WebMcpConfirmInfo, So as PersonaTheme, Ta as WidgetHistoryInternals, U as AgentWidgetContextMentionSource, Ui as ResumableHandle, Un as AskUserQuestionPayload, Ur as ContentPart, Wr as ConversationExecutionState, Wt as AgentWidgetRevealToolCallOptions, Xi as SpeechRequest, Yi as SpeechEngine, Yr as DictationState, _a as VoiceResult, _i as InjectComponentDirectiveOptions, _n as AgentWidgetSuggestion, _o as DeepPartial, _t as AgentWidgetMarkdownConfig, ai as HistoryConversationPage, an as AgentWidgetStateSnapshot, ba as VoiceTranscriptMetadata, bi as InjectUserMessageOptions, ci as HistoryDisplayProjection, di as HistoryReturnSurface, do as BrandConfig, eo as RuntypeExecutionStreamEvent, f as AgentWidgetActionParser, fi as HistoryScope, g as AgentWidgetApprovalDecisionOptions, ga as VoiceProvider, gi as InjectAssistantMessageOptions, ha as VoicePriorToolResult, hi as ImageContentPart, hn as AgentWidgetStreamParser, ii as HistoryConversationDetail, it as AgentWidgetHeaderLayoutConfig, j as AgentWidgetContentSegment, k as AgentWidgetConfig, li as HistoryIdentityStatus, m as AgentWidgetApproval, mn as AgentWidgetStreamCheckpoint, n as AgentExecutionState, oi as HistoryConversationPatch, on as AgentWidgetStorageAdapter, pa as VoiceMetrics, q as AgentWidgetControllerEventMap, qn as AttachmentPreviewRenderHandle, ra as VoiceClientTools, rr as ClientToolDefinition, sa as VoiceConfig, si as HistoryConversationSummary, tr as ClientSession, u as AgentWidgetActionHandler, ut as AgentWidgetInitOptions, va as VoiceSessionBridge, vi as InjectMessageOptions, vt as AgentWidgetMarkdownOptions, wi as MessageContent, x as AgentWidgetAttachmentAdapter, xa as WebMcpConfirmHandler, ya as VoiceStatus, yi as InjectSystemMessageOptions, yt as AgentWidgetMarkdownRendererOverrides, zi as PreparedClientSession } from "./types-BC7MRxO5.cjs";
3
- import { n as MentionSubmitBundle } from "./context-mention-manager-DL-xwGfL.cjs";
4
- import { i as MessageTransform } from "./message-bubble-C6AVaH7f.cjs";
5
- import "./feature-preferences-CmwZGKrf.cjs";
6
- import { t as WebMcpBridge$1 } from "./webmcp-runtime-entry-B8g46vS0.cjs";
7
- import "./fallback-speech-engine-kLdyPcmk.cjs";
8
- import "./defaults-Bga2Xrsp.cjs";
1
+ import { t as ComponentContext } from "./registry-B6w91tx0.cjs";
2
+ import { $ as AgentWidgetEvent, $i as TextContentPart, A as AgentWidgetConfigPatch, B as AgentWidgetContextMentionRef, Bi as ReadAloudState, C as AgentWidgetAttachmentsConfig, Ca as WebMcpToolResult, Co as PersonaThemePlugin, Ct as AgentWidgetMessage, E as AgentWidgetComponentRenderHandle, Fi as PersonaArtifactManualUpsert, Gt as AgentWidgetRunFinishedEvent, I as AgentWidgetContextMentionItem, Ir as ComposerQuote, Ji as SpeechCallbacks, Kn as AttachmentPreviewRenderContext, Kt as AgentWidgetRunStartedEvent, Li as PersonaArtifactRecord, Lr as ComposerResubmitOptions, N as AgentWidgetContextMentionCommandContext, Nn as AgentWidgetWebMcpConfig, Nr as ComposerOptionsPayload, Nt as AgentWidgetOpenConversationOptions, Pa as HistoryListResult, Q as AgentWidgetDockConfig, Qi as StreamAnimationPlugin, Qn as ClientFeedbackRequest, Ro as AgentWidgetPlugin, Rr as ComposerState, Sa as WebMcpConfirmInfo, So as PersonaTheme, Ta as WidgetHistoryInternals, U as AgentWidgetContextMentionSource, Ui as ResumableHandle, Un as AskUserQuestionPayload, Ur as ContentPart, Wr as ConversationExecutionState, Wt as AgentWidgetRevealToolCallOptions, Xi as SpeechRequest, Yi as SpeechEngine, Yr as DictationState, _a as VoiceResult, _i as InjectComponentDirectiveOptions, _n as AgentWidgetSuggestion, _o as DeepPartial, _t as AgentWidgetMarkdownConfig, ai as HistoryConversationPage, an as AgentWidgetStateSnapshot, ba as VoiceTranscriptMetadata, bi as InjectUserMessageOptions, ci as HistoryDisplayProjection, di as HistoryReturnSurface, do as BrandConfig, eo as RuntypeExecutionStreamEvent, f as AgentWidgetActionParser, fi as HistoryScope, g as AgentWidgetApprovalDecisionOptions, ga as VoiceProvider, gi as InjectAssistantMessageOptions, ha as VoicePriorToolResult, hi as ImageContentPart, hn as AgentWidgetStreamParser, ii as HistoryConversationDetail, it as AgentWidgetHeaderLayoutConfig, j as AgentWidgetContentSegment, k as AgentWidgetConfig, li as HistoryIdentityStatus, m as AgentWidgetApproval, mn as AgentWidgetStreamCheckpoint, n as AgentExecutionState, oi as HistoryConversationPatch, on as AgentWidgetStorageAdapter, pa as VoiceMetrics, q as AgentWidgetControllerEventMap, qn as AttachmentPreviewRenderHandle, ra as VoiceClientTools, rr as ClientToolDefinition, sa as VoiceConfig, si as HistoryConversationSummary, tr as ClientSession, u as AgentWidgetActionHandler, ut as AgentWidgetInitOptions, va as VoiceSessionBridge, vi as InjectMessageOptions, vt as AgentWidgetMarkdownOptions, wi as MessageContent, x as AgentWidgetAttachmentAdapter, xa as WebMcpConfirmHandler, ya as VoiceStatus, yi as InjectSystemMessageOptions, yt as AgentWidgetMarkdownRendererOverrides, zi as PreparedClientSession } from "./types-9i0xcAMT.cjs";
3
+ import { n as MentionSubmitBundle } from "./context-mention-manager-CCpeoGL2.cjs";
4
+ import { i as MessageTransform } from "./message-bubble-Czc0lOHr.cjs";
5
+ import "./feature-preferences-CerDWGZ7.cjs";
6
+ import { t as WebMcpBridge$1 } from "./webmcp-runtime-entry-XNaXa-9h.cjs";
7
+ import "./fallback-speech-engine-gkhbjLiZ.cjs";
8
+ import "./defaults-tj5RcN8r.cjs";
9
9
  import { IconNode as IconNode$1 } from "lucide";
10
10
  import "marked";
11
11
  /** Owned by the outer widget lifetime, including controller/layout rebuilds. */
@@ -588,7 +588,8 @@ declare class HistoryClientError extends Error {
588
588
  type SSEEventCallback = (eventType: string, payload: unknown) => void;
589
589
  declare class AgentWidgetClient {
590
590
  #private;
591
- private clientSession;
591
+ private get clientSession();
592
+ private set clientSession(value);
592
593
  private lastSentClientToolsFingerprint;
593
594
  private clientToolsFingerprintSessionId;
594
595
  private webMcpBridge;
@@ -1,11 +1,11 @@
1
- import { t as ComponentContext } from "./registry-B16l8s1b.js";
2
- import { $ as AgentWidgetEvent, $i as TextContentPart, A as AgentWidgetConfigPatch, B as AgentWidgetContextMentionRef, Bi as ReadAloudState, C as AgentWidgetAttachmentsConfig, Ca as WebMcpToolResult, Co as PersonaThemePlugin, Ct as AgentWidgetMessage, E as AgentWidgetComponentRenderHandle, Fi as PersonaArtifactManualUpsert, Gt as AgentWidgetRunFinishedEvent, I as AgentWidgetContextMentionItem, Ir as ComposerQuote, Ji as SpeechCallbacks, Kn as AttachmentPreviewRenderContext, Kt as AgentWidgetRunStartedEvent, Li as PersonaArtifactRecord, Lr as ComposerResubmitOptions, N as AgentWidgetContextMentionCommandContext, Nn as AgentWidgetWebMcpConfig, Nr as ComposerOptionsPayload, Nt as AgentWidgetOpenConversationOptions, Pa as HistoryListResult, Q as AgentWidgetDockConfig, Qi as StreamAnimationPlugin, Qn as ClientFeedbackRequest, Ro as AgentWidgetPlugin, Rr as ComposerState, Sa as WebMcpConfirmInfo, So as PersonaTheme, Ta as WidgetHistoryInternals, U as AgentWidgetContextMentionSource, Ui as ResumableHandle, Un as AskUserQuestionPayload, Ur as ContentPart, Wr as ConversationExecutionState, Wt as AgentWidgetRevealToolCallOptions, Xi as SpeechRequest, Yi as SpeechEngine, Yr as DictationState, _a as VoiceResult, _i as InjectComponentDirectiveOptions, _n as AgentWidgetSuggestion, _o as DeepPartial, _t as AgentWidgetMarkdownConfig, ai as HistoryConversationPage, an as AgentWidgetStateSnapshot, ba as VoiceTranscriptMetadata, bi as InjectUserMessageOptions, ci as HistoryDisplayProjection, di as HistoryReturnSurface, do as BrandConfig, eo as RuntypeExecutionStreamEvent, f as AgentWidgetActionParser, fi as HistoryScope, g as AgentWidgetApprovalDecisionOptions, ga as VoiceProvider, gi as InjectAssistantMessageOptions, ha as VoicePriorToolResult, hi as ImageContentPart, hn as AgentWidgetStreamParser, ii as HistoryConversationDetail, it as AgentWidgetHeaderLayoutConfig, j as AgentWidgetContentSegment, k as AgentWidgetConfig, li as HistoryIdentityStatus, m as AgentWidgetApproval, mn as AgentWidgetStreamCheckpoint, n as AgentExecutionState, oi as HistoryConversationPatch, on as AgentWidgetStorageAdapter, pa as VoiceMetrics, q as AgentWidgetControllerEventMap, qn as AttachmentPreviewRenderHandle, ra as VoiceClientTools, rr as ClientToolDefinition, sa as VoiceConfig, si as HistoryConversationSummary, tr as ClientSession, u as AgentWidgetActionHandler, ut as AgentWidgetInitOptions, va as VoiceSessionBridge, vi as InjectMessageOptions, vt as AgentWidgetMarkdownOptions, wi as MessageContent, x as AgentWidgetAttachmentAdapter, xa as WebMcpConfirmHandler, ya as VoiceStatus, yi as InjectSystemMessageOptions, yt as AgentWidgetMarkdownRendererOverrides, zi as PreparedClientSession } from "./types-BC7MRxO5.js";
3
- import { n as MentionSubmitBundle } from "./context-mention-manager-DL-xwGfL.js";
4
- import { i as MessageTransform } from "./message-bubble-C6AVaH7f.js";
5
- import "./feature-preferences-CmwZGKrf.js";
6
- import { t as WebMcpBridge$1 } from "./webmcp-runtime-entry-B8g46vS0.js";
7
- import "./fallback-speech-engine-kLdyPcmk.js";
8
- import "./defaults-Bga2Xrsp.js";
1
+ import { t as ComponentContext } from "./registry-B6w91tx0.js";
2
+ import { $ as AgentWidgetEvent, $i as TextContentPart, A as AgentWidgetConfigPatch, B as AgentWidgetContextMentionRef, Bi as ReadAloudState, C as AgentWidgetAttachmentsConfig, Ca as WebMcpToolResult, Co as PersonaThemePlugin, Ct as AgentWidgetMessage, E as AgentWidgetComponentRenderHandle, Fi as PersonaArtifactManualUpsert, Gt as AgentWidgetRunFinishedEvent, I as AgentWidgetContextMentionItem, Ir as ComposerQuote, Ji as SpeechCallbacks, Kn as AttachmentPreviewRenderContext, Kt as AgentWidgetRunStartedEvent, Li as PersonaArtifactRecord, Lr as ComposerResubmitOptions, N as AgentWidgetContextMentionCommandContext, Nn as AgentWidgetWebMcpConfig, Nr as ComposerOptionsPayload, Nt as AgentWidgetOpenConversationOptions, Pa as HistoryListResult, Q as AgentWidgetDockConfig, Qi as StreamAnimationPlugin, Qn as ClientFeedbackRequest, Ro as AgentWidgetPlugin, Rr as ComposerState, Sa as WebMcpConfirmInfo, So as PersonaTheme, Ta as WidgetHistoryInternals, U as AgentWidgetContextMentionSource, Ui as ResumableHandle, Un as AskUserQuestionPayload, Ur as ContentPart, Wr as ConversationExecutionState, Wt as AgentWidgetRevealToolCallOptions, Xi as SpeechRequest, Yi as SpeechEngine, Yr as DictationState, _a as VoiceResult, _i as InjectComponentDirectiveOptions, _n as AgentWidgetSuggestion, _o as DeepPartial, _t as AgentWidgetMarkdownConfig, ai as HistoryConversationPage, an as AgentWidgetStateSnapshot, ba as VoiceTranscriptMetadata, bi as InjectUserMessageOptions, ci as HistoryDisplayProjection, di as HistoryReturnSurface, do as BrandConfig, eo as RuntypeExecutionStreamEvent, f as AgentWidgetActionParser, fi as HistoryScope, g as AgentWidgetApprovalDecisionOptions, ga as VoiceProvider, gi as InjectAssistantMessageOptions, ha as VoicePriorToolResult, hi as ImageContentPart, hn as AgentWidgetStreamParser, ii as HistoryConversationDetail, it as AgentWidgetHeaderLayoutConfig, j as AgentWidgetContentSegment, k as AgentWidgetConfig, li as HistoryIdentityStatus, m as AgentWidgetApproval, mn as AgentWidgetStreamCheckpoint, n as AgentExecutionState, oi as HistoryConversationPatch, on as AgentWidgetStorageAdapter, pa as VoiceMetrics, q as AgentWidgetControllerEventMap, qn as AttachmentPreviewRenderHandle, ra as VoiceClientTools, rr as ClientToolDefinition, sa as VoiceConfig, si as HistoryConversationSummary, tr as ClientSession, u as AgentWidgetActionHandler, ut as AgentWidgetInitOptions, va as VoiceSessionBridge, vi as InjectMessageOptions, vt as AgentWidgetMarkdownOptions, wi as MessageContent, x as AgentWidgetAttachmentAdapter, xa as WebMcpConfirmHandler, ya as VoiceStatus, yi as InjectSystemMessageOptions, yt as AgentWidgetMarkdownRendererOverrides, zi as PreparedClientSession } from "./types-9i0xcAMT.js";
3
+ import { n as MentionSubmitBundle } from "./context-mention-manager-CCpeoGL2.js";
4
+ import { i as MessageTransform } from "./message-bubble-Czc0lOHr.js";
5
+ import "./feature-preferences-CerDWGZ7.js";
6
+ import { t as WebMcpBridge$1 } from "./webmcp-runtime-entry-XNaXa-9h.js";
7
+ import "./fallback-speech-engine-gkhbjLiZ.js";
8
+ import "./defaults-tj5RcN8r.js";
9
9
  import { IconNode as IconNode$1 } from "lucide";
10
10
  import "marked";
11
11
  /** Owned by the outer widget lifetime, including controller/layout rebuilds. */
@@ -588,7 +588,8 @@ declare class HistoryClientError extends Error {
588
588
  type SSEEventCallback = (eventType: string, payload: unknown) => void;
589
589
  declare class AgentWidgetClient {
590
590
  #private;
591
- private clientSession;
591
+ private get clientSession();
592
+ private set clientSession(value);
592
593
  private lastSentClientToolsFingerprint;
593
594
  private clientToolsFingerprintSessionId;
594
595
  private webMcpBridge;
@@ -1,5 +1,5 @@
1
- import { Ct as AgentWidgetMessage, Ui as ResumableHandle, k as AgentWidgetConfig } from "./types-BC7MRxO5.cjs";
2
- import { n as AgentWidgetSessionStatus } from "./session-CtZHe7fc.cjs";
1
+ import { Ct as AgentWidgetMessage, Ui as ResumableHandle, k as AgentWidgetConfig } from "./types-9i0xcAMT.cjs";
2
+ import { n as AgentWidgetSessionStatus } from "./session-BUQrs3Of.cjs";
3
3
  /**
4
4
  * The narrow surface the reconnect loop needs from the owning session. The
5
5
  * session builds this once (lazily, alongside the controller) so the loop can
@@ -1,5 +1,5 @@
1
- import { Ct as AgentWidgetMessage, Ui as ResumableHandle, k as AgentWidgetConfig } from "./types-BC7MRxO5.js";
2
- import { n as AgentWidgetSessionStatus } from "./session-CtZHe7fc.js";
1
+ import { Ct as AgentWidgetMessage, Ui as ResumableHandle, k as AgentWidgetConfig } from "./types-9i0xcAMT.js";
2
+ import { n as AgentWidgetSessionStatus } from "./session-BUQrs3Of.js";
3
3
  /**
4
4
  * The narrow surface the reconnect loop needs from the owning session. The
5
5
  * session builds this once (lazily, alongside the controller) so the loop can
@@ -1,4 +1,4 @@
1
- import { G as AgentWidgetContextProvider, I as AgentWidgetContextMentionItem, U as AgentWidgetContextMentionSource } from "./types-BC7MRxO5.cjs";
1
+ import { G as AgentWidgetContextProvider, I as AgentWidgetContextMentionItem, U as AgentWidgetContextMentionSource } from "./types-9i0xcAMT.cjs";
2
2
  import { r as EnrichedPageElement } from "./dom-context-Bw-_9Evh.cjs";
3
3
  /**
4
4
  * VENDORED type declarations: @mcp-b/smart-dom-reader v2.3.1 (MIT).
@@ -1,4 +1,4 @@
1
- import { G as AgentWidgetContextProvider, I as AgentWidgetContextMentionItem, U as AgentWidgetContextMentionSource } from "./types-BC7MRxO5.js";
1
+ import { G as AgentWidgetContextProvider, I as AgentWidgetContextMentionItem, U as AgentWidgetContextMentionSource } from "./types-9i0xcAMT.js";
2
2
  import { r as EnrichedPageElement } from "./dom-context-Bw-_9Evh.js";
3
3
  /**
4
4
  * VENDORED type declarations: @mcp-b/smart-dom-reader v2.3.1 (MIT).