@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
package/dist/index.js CHANGED
@@ -1,26 +1,26 @@
1
- import{Marked as e,Marked as t}from"marked";import n,{default as r}from"dompurify";import{Activity as i,ArrowDown as a,ArrowLeft as o,ArrowRight as s,ArrowUp as c,ArrowUpRight as l,AtSign as u,Ban as d,Bell as f,Bookmark as p,Bot as m,Brain as h,Building as g,Calendar as _,CalendarDays as v,Camera as y,ChartColumn as b,Check as x,ChevronDown as S,ChevronLeft as C,ChevronRight as ee,ChevronUp as w,Circle as te,CircleCheck as T,CircleX as E,Clipboard as ne,ClipboardCopy as re,Clock as D,CodeXml as ie,Copy as ae,CreditCard as oe,Database as se,DollarSign as ce,Download as le,Ellipsis as ue,EllipsisVertical as O,ExternalLink as k,Eye as de,EyeOff as fe,File as pe,FileCode as me,FileSpreadsheet as he,FileText as ge,Files as _e,Film as ve,Flag as ye,Folder as be,FolderOpen as xe,Funnel as Se,Gift as Ce,Globe as we,Hash as Te,Headphones as Ee,Heart as De,History as Oe,House as ke,Image as Ae,ImagePlus as je,Info as Me,Key as A,Lightbulb as Ne,Link as j,Loader as Pe,LoaderCircle as Fe,Lock as Ie,Mail as Le,MapPin as Re,Maximize as ze,Menu as Be,MessageCircle as Ve,MessageSquare as He,Mic as Ue,Minimize as We,Minus as Ge,Monitor as Ke,Moon as qe,Package as Je,PanelLeft as Ye,Paperclip as Xe,Pause as Ze,PenLine as Qe,Pencil as $e,Percent as et,Phone as tt,Play as nt,Plus as rt,Quote as it,Receipt as at,RefreshCw as ot,RotateCw as st,Save as ct,Search as lt,Send as ut,Settings as dt,Share as ft,Shield as pt,ShieldAlert as mt,ShieldCheck as ht,ShieldX as gt,ShoppingBag as _t,ShoppingCart as vt,Smartphone as yt,Sparkles as M,Square as N,Star as bt,Store as P,Sun as F,Tag as I,Terminal as L,ThumbsDown as xt,ThumbsUp as St,Timer as Ct,Toolbox as R,Trash as wt,Trash2 as Tt,TriangleAlert as z,Truck as Et,Upload as Dt,User as Ot,Volume2 as kt,VolumeX as At,Wallet as jt,Wrench as Mt,X as Nt,Zap as Pt}from"lucide";import{ARR as Ft,OBJ as It,STR as B,parse as Lt}from"partial-json";import{Idiomorph as Rt}from"idiomorph";var zt=Object.defineProperty,V=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},Bt=(e,t)=>{let n={};for(var r in e)zt(n,r,{get:e[r],enumerable:!0});return t||zt(n,Symbol.toStringTag,{value:`Module`}),n},H,U=V((()=>{H=e=>{let{fallbackImport:t,resetOnSetLoader:n=!1}=e,r=null,i=null,a=null;return{setLoader:e=>{r=e,n&&(i=null,a=null)},load:()=>{if(i)return Promise.resolve(i);if(a)return a;let e=r??t;try{return a=e().then(e=>(i=e,e)).catch(e=>{throw a=null,e}),a}catch(e){return Promise.reject(e)}},provide:e=>{i=e},getSync:()=>i}}})),Vt,Ht,Ut,Wt,Gt,Kt,qt,Jt=V((()=>{Vt=/^\s*\|?[\s:|-]*-[\s:|-]*$/,Ht=e=>e.includes(`|`),Ut=e=>{let t=e.trim();return t.startsWith(`|`)&&(t=t.slice(1)),t.endsWith(`|`)&&(t=t.slice(0,-1)),t.split(`|`).map(e=>e.trim())},Wt=e=>`| ${e.join(` | `)} |`,Gt=e=>`| ${Array.from({length:e},()=>`---`).join(` | `)} |`,Kt=(e,t)=>e.length>=t?e.slice(0,t):e.concat(Array.from({length:t-e.length},()=>``)),qt=e=>{if(!e||!e.includes(`|`))return e;let t=e.split(`
2
- `),n=!1;for(let e=0;e<t.length-1;e++){let r=t[e],i=t[e+1];if(!Ht(r)||Vt.test(r)||!Vt.test(i))continue;let a=Ut(r).length;if(a<1)continue;let o=Gt(a);t[e+1]!==o&&(t[e+1]=o,n=!0);let s=e+2;for(;s<t.length;s++){let e=t[s];if(e.trim()===``||!Ht(e))break;let r=Wt(Kt(Ut(e),a));t[s]!==r&&(t[s]=r,n=!0)}e=s-1}return n?t.join(`
3
- `):e}})),Yt,Xt,Zt,Qt,$t,en=V((()=>{Jt(),Yt=e=>!e||/\s/.test(e),Xt=e=>!!e&&/[\p{P}\p{S}]/u.test(e),Zt=(e,t,n)=>{let r=e.slice(t,n),i=n;for(;(i=e.indexOf(r,i))!==-1;){if(e[i-1]!=="`"&&e[i+r.length]!=="`")return i+r.length;i+=r.length}return-1},Qt=(e,t=!0)=>{let n=[],r=/* @__PURE__ */ new Set,i=``;for(let a=0;a<e.length;){let o=e[a];if(o===`\\`)i+=e.slice(a,a+2),a+=2;else if(o==="`"){let t=a+1;for(;e[t]==="`";)t++;let n=e.slice(a,t),r=Zt(e,a,t);if(r!==-1)i+=e.slice(a,r),a=r;else{let r=e.slice(t);i+=r?`${n}${r}${r.endsWith("`")?` `:``}${n}`:``,a=e.length}}else if(o===`<`){let t=e.indexOf(`>`,a+1);i+=e.slice(a,t<0?e.length:t+1),a=t<0?e.length:t+1}else if(t&&(o===`[`||o===`!`&&e[a+1]===`[`)){let t=o===`!`,n=a+(t?2:1),r=1,s=n;for(;s<e.length;s++)if(e[s]===`\\`)s++;else if(e[s]==="`"){let t=s+1;for(;e[t]==="`";)t++;let n=Zt(e,s,t);s=(n<0?t:n)-1}else if(e[s]===`[`&&r++,e[s]===`]`&&--r===0)break;if(s>=e.length){i+=t?``:Qt(e.slice(n),!1);break}if(e[s+1]===`(`){let r=1,o=``,c=!1,l=s+2;for(;l<e.length;l++){let t=e[l];if(t===`\\`)l++;else if(o)t===o&&(o=``);else if((t===`"`||t===`'`)&&Yt(e[l-1]))o=t;else if(t===`<`&&(c=!0),t===`>`&&(c=!1),!c&&t===`(`&&r++,!c&&t===`)`&&--r===0)break}if(l>=e.length){i+=t?``:Qt(e.slice(n,s),!1);break}i+=e.slice(a,l+1),a=l+1;continue}if(s===e.length-1){i+=t?``:Qt(e.slice(n,s),!1);break}i+=e.slice(a,s+1),a=s+1}else if(o===`*`||o===`_`){let t=a+1;for(;e[t]===o;)t++;let s=e.slice(a,t),c=e[a-1]??``,l=e[t]??``,u=!Yt(l)&&(!Xt(l)||Yt(c)||Xt(c)),d=!Yt(c)&&(!Xt(c)||Yt(l)||Xt(l)),f=s.length;if(d&&(o!==`_`||!u||Xt(l)))for(;f&&n[n.length-1]?.marker[0]===o;){let e=n[n.length-1],t=Math.min(f,e.marker.length);f-=t,e.marker=e.marker.slice(t),e.marker||n.pop()}if(f&&s.length<=3&&u&&!d)n.push({marker:o.repeat(f)});else if(f===s.length&&t===e.length&&Yt(c)&&e.slice(e.lastIndexOf(`
4
- `,a)+1,a).trim()&&(n.length>0||!r.has(o))){a=t;continue}Yt(c)&&Yt(l)&&t<e.length&&r.add(o),i+=s,a=t}else i+=o,a++}let a=i.match(/\s*$/)?.[0]??``;i=i.slice(0,i.length-a.length),n.length&&(i.match(/\\+$/)?.[0].length??0)%2&&(i+=`\\`);for(let e=n.length-1;e>=0;e--)i+=n[e].marker;return i+a},$t=e=>{let t=``,n=``,r=``,i=()=>{t+=qt(n).split(/(\n\s*\n)/).map(e=>/^\n\s*\n$/.test(e)?e:Qt(e)).join(``),n=``};for(let a of e.match(/[^\n]*\n|[^\n]+$/g)??[]){let e=/^(?: {0,3}> ?)* {0,3}(?:[-+*] )?(`{3,}|~{3,})(.*)/.exec(a);r?(t+=a,e&&e[1][0]===r[0]&&e[1].length>=r.length&&!e[2].trim()&&(r=``)):e?(i(),r=e[1],t+=a):/^(?: {4}|\t)/.test(a)?(i(),t+=a):n+=a}return i(),t}})),tn=/* @__PURE__ */ Bt({DOMPurify:()=>r,Marked:()=>t,stabilizeStreamingMarkdown:()=>$t}),nn=V((()=>{en()}));U();const{setLoader:rn,load:an,provide:on,getSync:sn}=H({fallbackImport:()=>Promise.resolve().then(()=>(nn(),tn))}),cn=/* @__PURE__ */ new Set,ln=()=>{let e=[...cn];cn.clear();for(let t of e)try{t()}catch{}},un=()=>{let e=sn();return e?Promise.resolve(e):an().then(e=>(ln(),e))},dn=e=>sn()?()=>{}:(cn.add(e),()=>{cn.delete(e)}),fn=e=>{on(e),ln()},pn=sn;en(),fn({Marked:e,DOMPurify:n,stabilizeStreamingMarkdown:$t});const mn={"ellipsis-vertical":O,brain:h,toolbox:R,wrench:Mt,circle:te,database:se,terminal:L,user:Ot,mail:Le,phone:tt,calendar:_,clock:D,building:g,"map-pin":Re,lock:Ie,key:A,"credit-card":oe,hash:Te,globe:we,link:j,"circle-check":T,"circle-x":E,"triangle-alert":z,info:Me,ban:d,shield:pt,house:ke,"pen-line":Qe,save:ct,share:ft,funnel:Se,settings:dt,"rotate-cw":st,"shopping-cart":vt,"shopping-bag":_t,package:Je,truck:Et,tag:I,gift:Ce,receipt:at,wallet:jt,store:P,"dollar-sign":ce,percent:et,play:nt,pause:Ze,"volume-x":At,camera:y,image:Ae,film:ve,headphones:Ee,"message-circle":Ve,bell:f,heart:De,"eye-off":fe,bookmark:p,"calendar-days":v,timer:Ct,folder:be,"folder-open":xe,files:_e,"chart-column":b,sparkles:M,zap:Pt,sun:F,moon:qe,flag:ye,lightbulb:Ne,monitor:Ke,smartphone:yt};var hn,gn=V((()=>{hn=(e,t=24,n=`currentColor`,r=2)=>{if(!Array.isArray(e))return null;let i=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);for(let[e,a]of Object.entries({width:String(t),height:String(t),viewBox:`0 0 24 24`,fill:`none`,stroke:n,"stroke-width":String(r),"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`}))i.setAttribute(e,a);for(let t of e){if(!Array.isArray(t)||t.length<2)continue;let e=t[0],n=t[1];if(!n)continue;let r=document.createElementNS(`http://www.w3.org/2000/svg`,e);for(let[e,t]of Object.entries(n))e!==`stroke`&&r.setAttribute(e,String(t));i.appendChild(r)}return i}})),_n,vn,yn,bn,xn=V((()=>{U(),{setLoader:_n,load:vn}=H({fallbackImport:()=>import(`@runtypelabs/persona/icons-extra`)}),yn=_n,bn=vn})),W,Sn,G,Cn,wn,Tn,En,Dn,On,kn,An,jn,Mn,K,Nn=V((()=>{gn(),xn(),W={activity:i,"arrow-down":a,"arrow-up":c,"arrow-up-right":l,bot:m,"chevron-down":S,"chevron-up":w,"chevron-right":ee,"chevron-left":C,check:x,clipboard:ne,"clipboard-copy":re,"code-xml":ie,copy:ae,file:pe,"file-code":me,"file-spreadsheet":he,"file-text":ge,"image-plus":je,loader:Pe,"loader-circle":Fe,mic:Ue,paperclip:Xe,quote:it,"refresh-cw":ot,search:lt,send:ut,"shield-alert":mt,"shield-check":ht,"shield-x":gt,square:N,"square-text":[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 8h10M7 12h10M7 16h6`}]],"thumbs-down":xt,"thumbs-up":St,upload:Dt,"volume-2":kt,"voice-bars":[[`path`,{d:`M4 10v4`}],[`path`,{d:`M8 6v12`}],[`path`,{d:`M12 3v18`}],[`path`,{d:`M16 7v10`}],[`path`,{d:`M20 10v4`}]],x:Nt,"at-sign":u,"arrow-left":o,"arrow-right":s,"external-link":k,ellipsis:ue,menu:Be,"panel-left":Ye,plus:rt,minus:Ge,pencil:$e,trash:wt,"trash-2":Tt,download:le,maximize:ze,minimize:We,"message-square":He,star:bt,eye:de,history:Oe},Sn=/* @__PURE__ */ `brain.toolbox.wrench.circle.database.terminal.user.mail.phone.calendar.clock.building.map-pin.lock.key.credit-card.hash.globe.link.circle-check.circle-x.triangle-alert.info.ban.shield.ellipsis-vertical.house.pen-line.save.share.funnel.settings.rotate-cw.shopping-cart.shopping-bag.package.truck.tag.gift.receipt.wallet.store.dollar-sign.percent.play.pause.volume-x.camera.image.film.headphones.message-circle.bell.heart.eye-off.bookmark.calendar-days.timer.folder.folder-open.files.chart-column.sparkles.zap.sun.moon.flag.lightbulb.monitor.smartphone`.split(`.`),G=new Map(Object.entries(W)),Cn=/* @__PURE__ */ new Map,wn=!1,Tn=/* @__PURE__ */ new Set,En=e=>{let t=[...Tn];e&&Tn.clear();for(let e of t)try{e()}catch{}},Dn=()=>{let e=0;for(let[t,n]of Cn){let r=G.get(n);if(!r)continue;Cn.delete(t),e++;let i=hn(r);if(i)for(t.removeAttribute(`data-persona-icon-pending`);i.firstChild;)t.appendChild(i.firstChild)}return e},On=e=>{for(let[t,n]of Object.entries(e))G.set(t,n);Dn()>0&&!wn&&En(!1)},kn=e=>{if(!wn){for(let[t,n]of Object.entries(e))G.has(t)||G.set(t,n);wn=!0,Dn(),En(!0)}},An=()=>wn?null:bn().then(e=>kn(e.EXTRA_LUCIDE_ICONS)),jn=()=>{An()?.catch(e=>{console.warn(`[Persona] Failed to load the icons-extra chunk`,e)})},Mn=(e,t,n)=>{let r=hn([],e,t,n);return r.setAttribute(`data-persona-icon-pending`,`true`),r},K=(e,t=24,n=`currentColor`,r=2)=>{let i=G.get(e);if(i)return hn(i,t,n,r);if(Sn.includes(e)){let i=Mn(t,n,r);return Cn.size>=500&&Cn.delete(Cn.keys().next().value),Cn.set(i,e),jn(),i}return console.warn(`Unknown Persona icon "${e}". Use registerIcons().`),null}}));Nn(),kn(mn);function Pn(e){if(e.length===0)return`0:empty`;let t=e.map(e=>[e.name,e.description??``,e.parametersSchema?JSON.stringify(e.parametersSchema):``,e.origin??``,e.annotations?JSON.stringify(e.annotations):``].join(``)).sort();return`${e.length}:${In(t.join(``))}`}function Fn(e,t){let n=3735928559^t,r=1103547991^t;for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);n=Math.imul(n^i,2654435761),r=Math.imul(r^i,1597334677)}return n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>13,3266489909),4294967296*(2097151&r)+(n>>>0)}function In(e){return`${Fn(e,0).toString(36)}.${Fn(e,2654435761).toString(36)}`}var Ln,Rn,zn,Bn,Vn,Hn,Un,Wn,Gn=V((()=>{Ln=`webmcp:`,Rn=/* @__PURE__ */ new Map,zn=e=>{Rn.clear();for(let t of e){let e=t.title?.trim();e&&Rn.set(t.name,e)}},Bn=e=>Rn.get(Hn(e)),Vn=null,Hn=e=>e.startsWith(`webmcp:`)?e.slice(7):e,Un=e=>e.startsWith(Ln),Wn=()=>Vn?Vn():import(`@mcp-b/webmcp-polyfill`)}));function Kn(e){return e===`card`?`collapsed`:e}function qn(e){return e.split(`;`,1)[0].trim().toLowerCase()}function Jn(e,t){if(!e)return;let n=Object.entries(e);for(let[e,r]of n)if(qn(e)===t)return{mode:Kn(r),selector:qn(e)};let r=`${t.split(`/`,1)[0]}/*`;for(let[e,t]of n)if(qn(e)===r)return{mode:Kn(t),selector:r}}function Yn(e,t){let n=e?.display,r=typeof n==`string`?{default:n}:n??{};if(t.file&&r.files){if(typeof r.files==`string`)return{mode:Kn(r.files),matchedBy:{type:`files`}};let e=t.file.mimeType?qn(t.file.mimeType):void 0,n=e?Jn(r.files.byMediaType,e):void 0;if(e&&n)return{mode:n.mode,matchedBy:{type:`mediaType`,mediaType:e,selector:n.selector}};if(r.files.default)return{mode:Kn(r.files.default),matchedBy:{type:`files`}}}let i=r.byKind?.[t.artifactType];if(i)return{mode:Kn(i),matchedBy:{type:`kind`,kind:t.artifactType,configuredBy:`byKind`}};let a=r.byType?.[t.artifactType];if(a)return{mode:Kn(a),matchedBy:{type:`kind`,kind:t.artifactType,configuredBy:`byType`}};let o=t.presentation?.preferredMode;return o?{mode:Kn(o),matchedBy:{type:`preferredMode`}}:r.default?{mode:Kn(r.default),matchedBy:{type:`default`}}:{mode:`panel`,matchedBy:{type:`personaDefault`}}}function Xn(e,t){return Yn(e,t).mode}function Zn(e,t){return JSON.stringify({component:e===`inline`?`PersonaArtifactInline`:`PersonaArtifactCard`,props:{artifactId:t.artifactId,title:t.title,artifactType:t.artifactType,status:t.status,...t.file?{file:t.file}:{},...t.presentation?{presentation:t.presentation}:{},...e===`inline`&&t.component?{component:t.component}:{},...e===`inline`&&t.componentProps?{componentProps:t.componentProps}:{},...t.markdown===void 0?{}:{markdown:t.markdown}}})}var Qn=V((()=>{})),$n,er=V((()=>{$n=(e,t)=>{let n=t?.durationMs??15e3,r=t?.chars??1200;return typeof e.durationMs==`number`?e.durationMs<n:(e.chunks??[]).join(``).length<r}})),tr,nr,q,rr,ir,ar,or,sr,cr=V((()=>{er(),tr=e=>e.replace(/\\n/g,`
5
- `).replace(/\\r/g,`\r`).replace(/\\t/g,` `).replace(/\\"/g,`"`).replace(/\\\\/g,`\\`),nr=()=>{let e=null,t=0,n=e=>{let t=e.match(/"text"\s*:\s*"((?:[^"\\]|\\.|")*?)"/)?.[1]||e.match(/"text"\s*:\s*"((?:[^"\\]|\\.)*)/)?.[1];if(!t)return null;try{return tr(t)}catch{return t}};return{getExtractedText:()=>e,processChunk:async r=>{let i=r.trim();if(!i.startsWith(`{`)&&!i.startsWith(`[`))return null;if(r.length<=t)return e===null?null:{text:e,raw:r};let a=n(r);return a!==null&&(e=a),t=r.length,e===null?null:{text:e,raw:r}},close:async()=>{}}},q=e=>{try{let t=JSON.parse(e);if(t&&typeof t==`object`&&typeof t.text==`string`)return t.text}catch{return null}return null},rr=()=>{let e={processChunk:e=>null,getExtractedText:()=>null};return e.__isPlainTextParser=!0,e},ir=()=>nr(),ar=()=>{let e=null,t=0;return{getExtractedText:()=>e,processChunk:n=>{let r=n.trim();if(!r.startsWith(`{`)&&!r.startsWith(`[`))return null;if(n.length<=t)return e!==null||e===``?{text:e||``,raw:n}:null;try{let t=Lt(n,B|It);t&&typeof t==`object`&&(t.component&&typeof t.component==`string`?e=typeof t.text==`string`?tr(t.text):``:t.type===`init`&&t.form?e=``:typeof t.text==`string`&&(e=tr(t.text)))}catch{}return t=n.length,e===null?null:{text:e,raw:n}},close:()=>{}}},or=e=>{let t=null,n=0,r=e||(e=>{if(!e||typeof e!=`object`)return null;let t=e=>typeof e==`string`?tr(e):null;if(e.component&&typeof e.component==`string`)return typeof e.text==`string`?tr(e.text):``;if(e.type===`init`&&e.form)return``;if(e.action)switch(e.action){case`nav_then_click`:return t(e.on_load_text)||t(e.text)||null;case`message`:case`message_and_click`:case`checkout`:return t(e.text)||null;default:return t(e.text)||t(e.display_text)||t(e.message)||null}return t(e.text)||t(e.display_text)||t(e.message)||t(e.content)||null});return{getExtractedText:()=>t,processChunk:e=>{let i=e.trim();if(!i.startsWith(`{`)&&!i.startsWith(`[`))return null;if(e.length<=n)return t===null?null:{text:t,raw:e};try{let n=Lt(e,B|It),i=r(n);i!==null&&(t=i)}catch{}return n=e.length,{text:t||``,raw:e}},close:()=>{}}},sr=()=>{let e=null;return{processChunk:t=>{if(!t.trim().startsWith(`<`))return null;let n=t.match(/<text[^>]*>([\s\S]*?)<\/text>/);return n&&n[1]?(e=n[1],{text:e,raw:t}):null},getExtractedText:()=>e}}}));function lr(e,t){if(!e)return t;if(!t)return e;let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=ur(t)&&ur(r)?lr(t,r):r}return n}var ur,dr=V((()=>{ur=e=>typeof e==`object`&&!!e&&!Array.isArray(e)})),fr,pr,mr,hr,gr,_r,vr,yr=V((()=>{dr(),fr=e=>{if(typeof e!=`string`)return;let t=e.trim(),n=/^#([\da-f]{3}|[\da-f]{6})$/i.exec(t)?.[1];if(n){let e=n.length===3?[...n].map(e=>e+e).join(``):n;return[0,2,4].map(t=>parseInt(e.slice(t,t+2),16))}let r=/^rgba?\(\s*([^)]*)\)$/i.exec(t);if(!r)return;let i=r[1].trim().split(/\s*[,/]\s*|\s+/);if(i.length===4&&/^(?:1(?:\.0+)?|100%)$/.test(i[3])&&i.pop(),i.length!==3)return;let a=i.map(e=>/^\d+(?:\.\d+)?%?$/.test(e)?Number.parseFloat(e)*(e.endsWith(`%`)?2.55:1):NaN);if(!a.some(e=>!Number.isFinite(e)||e<0||e>255))return a},pr=e=>e.reduce((e,t,n)=>{let r=t/255;return e+(r<=.04045?r/12.92:((r+.055)/1.055)**2.4)*[.2126,.7152,.0722][n]},0),mr=e=>`#`+e.map(e=>Math.round(e).toString(16).padStart(2,`0`)).join(``),hr=(e,t,n)=>mr(e.map(e=>e+(t-e)*n)),gr=e=>pr(e)>.179?`#000000`:`#ffffff`,_r=e=>{let t=fr(e?.neutral);return t?pr(t)<.18?`dark`:`light`:void 0},vr=(e,t=`light`,n,r=!1)=>{let i={};if(!e)return i;let a=fr(e.accent);if(a){let e={};for(let[t,n]of[[50,.96],[100,.9],[200,.75],[300,.55],[400,.25]])e[t]=hr(a,255,n);e[500]=mr(a);for(let[t,n]of[[600,.15],[700,.3],[800,.45],[900,.6],[950,.75]])e[t]=hr(a,0,n);let t=gr(a);i.palette={colors:{primary:e,accent:e}},i.semantic={colors:{primary:e[500],accent:e[500],interactive:{default:e[500],hover:e[600],focus:e[500],active:e[700]}}},i.components={button:{primary:{background:e[500],foreground:t}},launcher:{background:e[500],foreground:t},header:r?{background:`semantic.colors.container`,foreground:`semantic.colors.text`,iconBackground:`transparent`,iconForeground:`semantic.colors.text`}:{background:e[500],foreground:t,iconBackground:e[500],iconForeground:t},approval:{approve:{foreground:t}},message:r?{user:{background:`color-mix(in srgb, var(--persona-primary) 12%, var(--persona-container))`,text:`semantic.colors.text`},operator:{border:`color-mix(in srgb, var(--persona-primary) 35%, var(--persona-border))`}}:{user:{background:e[500],text:t}}}}let o=fr(e.neutral);if(o){let e=t===`dark`,n=e===pr(o)<.18?o:fr(hr(o,e?0:255,.9)),r=mr(n),a=hr(n,e?255:0,e?.06:.025),s=hr(n,e?255:0,e?.2:.16),c=gr(n),l={};for(let[e,t]of[[50,0],[100,.06],[200,.16],[300,.28],[400,.45],[500,.65],[600,.72],[700,.8],[800,.9],[900,.97],[950,1]])l[e]=hr(n,c===`#ffffff`?255:0,t);i.palette={...i.palette,colors:{...i.palette?.colors,gray:l}},i.semantic={...i.semantic,colors:{...i.semantic?.colors,surface:r,background:r,container:a,border:s,divider:s,text:c,textMuted:hr(n,c===`#ffffff`?255:0,.65)}},i.components={...i.components,panel:{background:r},header:{...i.components?.header,background:r,foreground:c},composer:{footerBackground:r}}}if(a){let e=fr(i.semantic?.colors?.surface)??(t===`dark`?[15,15,16]:[255,255,255]),n=mr(a),r=gr(e)===`#ffffff`?255:0;for(let t=0;t<=1;t+=.1){n=hr(a,r,t);let i=pr(fr(n)),o=pr(e);if((Math.max(i,o)+.05)/(Math.min(i,o)+.05)>=4.5)break}i.components={...i.components,markdown:{link:{foreground:n}},input:{focus:{border:n,ring:n}}}}e.font?.trim()&&(i.semantic={...i.semantic,typography:{fontFamily:e.font}});let s={none:`0px`,sm:`4px`,md:`8px`,lg:`16px`}[e.radius??`none`];e.radius&&s&&(i.palette={...i.palette,radius:{none:`0px`,sm:s,md:s,lg:s,xl:s,"2xl":s}},i.components={...i.components,input:{...i.components?.input,borderRadius:s},header:{...i.components?.header,controlBorderRadius:s}});let c={compact:[13,44,8],comfortable:[14,48,12],spacious:[15,52,16]}[e.density??`comfortable`];if(e.density&&c){let[e,t,n]=c;i.semantic={...i.semantic,typography:{...i.semantic?.typography,fontSize:`${e}px`}},i.components={...i.components,header:{...i.components?.header,minHeight:`${t}px`,padding:`${n}px 16px`,minimalPadding:`${n}px 16px`},history:{railHeader:{minHeight:`${t}px`}},composer:{...i.components?.composer,fontSize:`${e}px`,padding:`${n}px`,gap:`${n/2}px`},message:{...i.components?.message,gap:`${n}px`,user:{...i.components?.message?.user,fontSize:`${e}px`},assistant:{fontSize:`${e}px`},operator:{...i.components?.message?.operator,fontSize:`${e}px`}}}}if(e.elevation&&[`flat`,`subtle`,`raised`].includes(e.elevation)){let t=e.elevation===`flat`,a=t?`none`:e.elevation===`subtle`?`0 2px 8px rgba(0, 0, 0, 0.08)`:`0 12px 32px rgba(0, 0, 0, 0.18)`,o=t?`1px solid var(--persona-border)`:`1px solid color-mix(in srgb, var(--persona-border) 65%, transparent)`;i.palette={...i.palette,shadows:{sm:a,md:a,lg:a,xl:a,"2xl":a}};let s=(e,n=``)=>{let i={};if(r&&n===`message.assistant`)return i;for(let[r,c]of Object.entries(e))if(r.toLowerCase().endsWith(`shadow`)){i[r]=a;let n=r===`shadow`?`border`:r.replace(/Shadow$/,`Border`);n in e&&(i[n]=typeof e[n]==`string`&&e[n].includes(`solid`)?o:t?`semantic.colors.border`:`color-mix(in srgb, var(--persona-border) 65%, transparent)`)}else if(c&&typeof c==`object`){let e=s(c,n?`${n}.${r}`:r);Object.keys(e).length&&(i[r]=e)}return i},c=n?s(n):{};i.components=lr(i.components,c),i.components={...i.components,panel:{...i.components?.panel,shadow:a,modes:{floating:{shadow:a,border:o},inline:{shadow:a,border:o},docked:{shadow:a,border:o},sidebar:{shadow:a,border:o},mobile:{shadow:a,border:o}}},launcher:{...i.components?.launcher,shadow:a,border:`semantic.colors.border`},composer:{...i.components?.composer,shadow:a,borderColor:`semantic.colors.border`},toolBubble:{shadow:a},reasoningBubble:{shadow:a}}}return i}}));function br(e,t=``){return Object.entries(e).flatMap(([e,n])=>{let r=t?`${t}.${e}`:e;return Or(n)?br(n,r):[r]})}function xr(e,t){let n=t.split(`.`);for(let t=0;t<n.length;t++){let r=n[t];if(!Or(e)||!Object.prototype.hasOwnProperty.call(e,r))return`absent`;if(e=e[r],e===void 0||t<n.length-1&&!Or(e))return`clear`}return`explicit`}function Sr(e,t){return e?.[Dr]??t.filter(t=>xr(e,t)===`explicit`)}function Cr(e,t){return Object.defineProperty(e,Dr,{value:t,enumerable:!0,configurable:!0}),e}function wr(e,t,n){return Cr(e,Sr(t,br(n)))}function Tr(e,t,n){let r=t[Dr];if(r)return r;let i=new Set(Sr(e,n));for(let e of n){let n=xr(t,e);n===`clear`&&i.delete(e),n===`explicit`&&i.add(e)}return[...i]}function Er(e,t,n){let r={...e};for(let e of t){if(n.includes(e))continue;let t=e.split(`.`),i=r;for(let e of t.slice(0,-1)){let t=i[e];if(!Or(t)){i=void 0;break}i[e]={...t},i=i[e]}i&&delete i[t[t.length-1]]}return r}var Dr,Or,kr=V((()=>{Dr=Symbol.for(`persona.defaultsProvenance`),Or=e=>typeof e==`object`&&!!e&&!Array.isArray(e)})),Ar,jr,Mr,Nr,Pr,Fr,Ir,Lr,Rr,zr,Br,Vr,Hr,Ur,Wr=V((()=>{yr(),kr(),Ar=(e,t)=>t.split(` `).map(t=>`${e}.${t}`),jr=[...Ar(`launcher`,`closeButtonSize closeButtonColor closeButtonBackgroundColor closeButtonBorderWidth closeButtonBorderColor closeButtonBorderRadius closeButtonPaddingX closeButtonPaddingY`),...Ar(`launcher.clearChat`,`size iconColor backgroundColor borderWidth borderColor borderRadius paddingX paddingY`),...Ar(`sendButton`,`size iconSize iconStrokeWidth backgroundColor textColor borderWidth borderColor paddingX paddingY`),...Ar(`voiceRecognition`,`iconSize iconColor backgroundColor borderColor borderWidth paddingX paddingY recordingIconColor recordingBackgroundColor recordingBorderColor processingIconColor processingBackgroundColor processingBorderColor speakingIconColor speakingBackgroundColor speakingBorderColor`),...Ar(`toolCall`,`shadow backgroundColor borderColor borderWidth borderRadius headerBackgroundColor headerTextColor headerPaddingX headerPaddingY contentBackgroundColor contentTextColor contentPaddingX contentPaddingY codeBlockBackgroundColor codeBlockBorderColor codeBlockTextColor toggleTextColor labelTextColor loadingAnimationColor loadingAnimationSecondaryColor loadingAnimationDuration`),...Ar(`approval`,`backgroundColor borderColor shadow titleColor descriptionColor reasonColor approveButtonColor approveButtonTextColor denyButtonColor denyButtonTextColor parameterBackgroundColor parameterTextColor`),...Ar(`features.askUserQuestion.styles`,`sheetBackground sheetBorder sheetShadow pillBackground pillBackgroundSelected pillTextColor pillTextColorSelected pillBorderRadius customInputBackground`),...Ar(`features.artifacts.layout`,`paneBackground panePadding paneBorderRadius paneShadow chatShadow paneBorder paneBorderLeft unifiedSplitOuterRadius documentToolbarIconColor documentToolbarToggleActiveBackground documentToolbarToggleActiveBorderColor documentToolbarToggleActiveColor tabFadeSize`),...Ar(`suggestionChipsConfig`,`fontWeight paddingX paddingY`)],Mr=[`voice.recording.border`,`voice.processing.icon`,`voice.processing.background`,`voice.speaking.icon`,`approval.requested.text`,`approval.approve.foreground`,`approval.deny.foreground`,`approval.deny.background`,`reasoningBubble.shadow`,`toolBubble.shadow`],Nr=[...jr,`suggestionChips`,`copy.welcomeTitle`,`copy.welcomeSubtitle`,`copy.showWelcomeCard`,`features.suggestReplies.enabled`,`features.suggestReplies.expose`,...[`theme`,`darkTheme`].flatMap(e=>Mr.map(t=>`${e}.components.${t}`))],Pr=Symbol.for(`persona.styleProvenance`),Fr=e=>e[Pr]!==void 0,Ir=(e,t)=>{for(let n of t.split(`.`)){if(typeof e!=`object`||!e)return;e=e[n]}return e},Lr=e=>{let t=e?.[Pr];if(!t)return Nr.filter(t=>xr(e,t)===`explicit`);let n=new Set(t.explicit);return Nr.forEach(r=>{Ir(e,r)!==t.values[r]&&(xr(e,r)===`explicit`?n.add(r):n.delete(r))}),[...n]},Rr=(e,t)=>(Object.defineProperty(e,Pr,{value:{explicit:t,values:Object.fromEntries(Nr.map(t=>[t,Ir(e,t)]))},enumerable:!0,configurable:!0}),e),zr=(e,t)=>Rr(e,Lr(t)),Br=(e,t)=>{if(t[Pr])return Lr(t);let n=new Set(Lr(e));for(let e of Nr){let r=xr(t,e);r===`clear`&&n.delete(e),r===`explicit`&&n.add(e)}return[...n]},Vr=(e,t)=>{let n=e?.[Pr];return!n||!Object.prototype.hasOwnProperty.call(n.values,t)||Ir(e,t)!==n.values[t]?xr(e,t)===`explicit`:n.explicit.includes(t)},Hr=(e,t)=>Vr(e,t)?Ir(e,t):void 0,Ur=(e,t,n)=>{let r=e,i=n??r?.colorScheme??_r(r?.brand)??`light`,a=i===`dark`||i===`auto`&&(typeof document<`u`&&document.documentElement.classList.contains(`dark`)||typeof window<`u`&&window.matchMedia?.(`(prefers-color-scheme: dark)`).matches);return Vr(e,`theme.components.${t}`)||a&&Vr(e,`darkTheme.components.${t}`)}})),J,Y,X,Gr=V((()=>{J=(e,t)=>{let n=document.createElement(e);return t&&(n.className=t),n},Y=(e,t={},...n)=>{let r=document.createElement(e);if(t.className&&(r.className=t.className),t.text!==void 0&&(r.textContent=t.text),t.attrs)for(let[e,n]of Object.entries(t.attrs))r.setAttribute(e,n);if(t.style){let e=r.style,n=t.style;for(let t of Object.keys(n)){let r=n[t];r!=null&&(e[t]=r)}}let i=n.filter(e=>e!=null);return i.length>0&&r.append(...i),r},X=(...e)=>e.filter(Boolean).join(` `)})),Kr,qr,Jr,Yr,Xr,Zr,Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci,li,ui,di,fi,pi,mi,hi,gi,_i,vi,yi,bi,xi,Si,Ci,wi,Ti,Ei,Di,Oi,ki,Ai,Z,ji,Mi,Ni,Pi,Fi,Ii,Li,Ri,zi,Bi,Vi,Hi,Ui,Wi,Gi,Q=V((()=>{Wr(),Gr(),Kr=`ask_user_question`,qr=`data-persona-ask-sheet-for`,Jr=`Other`,Yr=`Other…`,Xr=`Type your own answer here`,Zr=`Send`,Qr=`Next`,$r=`Back`,ei=`Submit all`,ti=`Skip`,ni=3,ri=`data-ask-current-index`,ii=`data-ask-question-count`,ai=`data-ask-answers`,oi=`data-ask-grouped`,si=`data-ask-layout`,ci=e=>e.layout===`pills`?`pills`:`rows`,li=e=>e.getAttribute(`data-ask-layout`)===`pills`?`pills`:`rows`,ui=!1,di=e=>e.replace(/["\\]/g,`\\$&`),fi=e=>e.variant===`tool`&&!!e.toolCall&&e.toolCall.name===`ask_user_question`,pi=e=>e?.features?.askUserQuestion??{},mi=e=>{let t=e.toolCall;if(!t)return{payload:null,complete:!1};let n=t.status===`complete`;if(t.args&&typeof t.args==`object`)return{payload:t.args,complete:n};let r=t.chunks;if(!r||r.length===0)return{payload:null,complete:n};try{let e=r.join(``),t=Lt(e,B|It|Ft);if(t&&typeof t==`object`)return{payload:t,complete:n}}catch{}return{payload:null,complete:n}},hi=e=>{let t=Array.isArray(e?.questions)?e.questions:[];return t.length>8&&!ui&&(ui=!0,typeof console<`u`&&console.warn(`[AgentWidget] ask_user_question received ${t.length} questions; truncating to 8.`)),t.slice(0,8)},gi=e=>hi(e)[0]??null,_i=(e,t)=>hi(e)[t]??null,vi={sheetBackground:`--persona-ask-sheet-bg`,sheetBorder:`--persona-ask-sheet-border`,sheetShadow:`--persona-ask-sheet-shadow`,pillBackground:`--persona-ask-pill-bg`,pillBackgroundSelected:`--persona-ask-pill-bg-selected`,pillTextColor:`--persona-ask-pill-fg`,pillTextColorSelected:`--persona-ask-pill-fg-selected`,pillBorderRadius:`--persona-ask-pill-radius`,customInputBackground:`--persona-ask-input-bg`},yi=(e,t)=>{Object.entries(vi).forEach(([n,r])=>{let i=Hr(t,`features.askUserQuestion.styles.${n}`);typeof i==`string`&&i?e.style.setProperty(r,i):e.style.removeProperty(r)})},bi=(e,t,n)=>{if(e!==`rows`)return null;let r=J(`span`,`persona-ask-row-affordance`);if(r.setAttribute(`aria-hidden`,`true`),t){let e=J(`span`,`persona-ask-row-check`);r.appendChild(e)}else{let e=J(`span`,`persona-ask-row-badge`);e.textContent=String(n+1),r.appendChild(e)}return r},xi=(e,t,n,r)=>{let i=J(`button`,n===`rows`?`persona-ask-pill persona-ask-row persona-pointer-events-auto`:`persona-ask-pill persona-pointer-events-auto`);if(i.type=`button`,i.setAttribute(`role`,r?`checkbox`:`button`),i.setAttribute(`aria-pressed`,`false`),i.setAttribute(`data-ask-user-action`,`pick`),i.setAttribute(`data-option-index`,String(t)),i.setAttribute(`data-option-label`,e.label),n===`rows`){let a=J(`span`,`persona-ask-row-content`),o=J(`span`,`persona-ask-row-label`);if(o.textContent=e.label,a.appendChild(o),e.description){let t=J(`span`,`persona-ask-row-description`);t.textContent=e.description,a.appendChild(t)}i.appendChild(a);let s=bi(n,r,t);s&&i.appendChild(s)}else i.textContent=e.label,e.description&&(i.title=e.description);return i},Si=e=>{let t=J(`span`,e===`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 t.setAttribute(`aria-hidden`,`true`),t},Ci=(e,t,n,r)=>{let i=J(`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`);i.setAttribute(`role`,`group`),i.setAttribute(`data-ask-pill-list`,`true`);let a=!!e?.multiSelect,o=(Array.isArray(e?.options)?e.options:[]).filter(e=>e&&typeof e.label==`string`&&e.label.length>0);if(o.length===0&&!n){for(let e=0;e<ni;e++)i.appendChild(Si(r));return i}if(o.forEach((e,t)=>{i.appendChild(xi(e,t,r,a))}),e?.allowFreeText!==!1){let e=r===`rows`?Jr:Yr;if(r===`rows`){let n=J(`div`,`persona-ask-pill persona-ask-row persona-ask-row--other persona-ask-pill-custom persona-pointer-events-auto`);n.setAttribute(`data-ask-user-action`,`focus-free-text`),n.setAttribute(`data-option-index`,String(o.length)),n.setAttribute(`data-ask-other-row`,`true`);let s=J(`span`,`persona-ask-row-content`),c=document.createElement(`input`);c.type=`text`,c.className=`persona-ask-row-input persona-flex-1 persona-pointer-events-auto`,c.placeholder=t.freeTextPlaceholder??Xr,c.setAttribute(`data-ask-free-text-input`,`true`),c.setAttribute(`aria-label`,t.freeTextLabel??e),s.appendChild(c),n.appendChild(s);let l=bi(r,a,o.length);l&&n.appendChild(l),i.appendChild(n)}else{let n=J(`button`,`persona-ask-pill persona-ask-pill-custom persona-pointer-events-auto`);n.type=`button`,n.setAttribute(`data-ask-user-action`,`open-free-text`),n.textContent=t.freeTextLabel??e,i.appendChild(n)}}return i},wi=(e,t)=>{let n=J(`div`,t===`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`);n.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=e.freeTextPlaceholder??Xr,r.setAttribute(`data-ask-free-text-input`,`true`),n.appendChild(r),t!==`rows`){let t=J(`button`,`persona-ask-free-text-submit persona-pointer-events-auto`);t.type=`button`,t.textContent=e.submitLabel??Zr,t.setAttribute(`data-ask-user-action`,`submit-free-text`),n.appendChild(t)}return n},Ti=e=>{let t=J(`div`,`persona-ask-multi-actions persona-flex persona-justify-end persona-mt-2`);t.setAttribute(`data-ask-multi-actions`,`true`);let n=J(`button`,`persona-ask-multi-submit persona-pointer-events-auto`);return n.type=`button`,n.textContent=e.submitLabel??Zr,n.setAttribute(`data-ask-user-action`,`submit-multi`),n.disabled=!0,t.appendChild(n),t},Ei=(e,t,n)=>{let r=J(`div`,`persona-ask-nav persona-flex persona-justify-between persona-items-center persona-gap-2 persona-mt-2`);r.setAttribute(`data-ask-nav-row`,`true`);let i=J(`button`,`persona-ask-nav-back persona-pointer-events-auto`);i.type=`button`,i.textContent=n.backLabel??$r,i.setAttribute(`data-ask-user-action`,`back`),i.disabled=e===0,r.appendChild(i);let a=J(`div`,`persona-ask-nav-right persona-flex persona-items-center persona-gap-2`),o=J(`button`,`persona-ask-nav-skip persona-pointer-events-auto`);o.type=`button`,o.textContent=n.skipLabel??ti,o.setAttribute(`data-ask-user-action`,`skip`),a.appendChild(o);let s=J(`button`,`persona-ask-nav-next persona-pointer-events-auto`);s.type=`button`;let c=e===t-1;return s.textContent=c?n.submitAllLabel??ei:n.nextLabel??Qr,s.setAttribute(`data-ask-user-action`,c?`submit-all`:`next`),s.disabled=!0,a.appendChild(s),r.appendChild(a),r},Di=e=>{let t=e.getAttribute(ai);if(!t)return{};try{let e=JSON.parse(t);return e&&typeof e==`object`?e:{}}catch{return{}}},Oi=(e,t)=>{e.setAttribute(ai,JSON.stringify(t))},ki=e=>{let t=Number(e.getAttribute(`data-ask-current-index`)??`0`);return Number.isFinite(t)?Math.max(0,Math.floor(t)):0},Ai=(e,t)=>{e.setAttribute(ri,String(Math.max(0,Math.floor(t))))},Z=e=>{let t=Number(e.getAttribute(`data-ask-question-count`)??`1`);return Number.isFinite(t)?Math.max(1,Math.floor(t)):1},ji=e=>e.getAttribute(oi)===`true`,Mi=(e,t)=>{let n=e.agentMetadata?.askUserQuestionAnswers;if(!n||typeof n!=`object`)return{};let r={};return t.forEach((e,t)=>{let i=typeof e?.question==`string`?e.question:``;if(i&&Object.prototype.hasOwnProperty.call(n,i)){let e=n[i];(typeof e==`string`||Array.isArray(e))&&(r[t]=e)}}),r},Ni=(e,t)=>{let n=e.agentMetadata?.askUserQuestionIndex;return typeof n!=`number`||!Number.isFinite(n)?0:Math.max(0,Math.min(t-1,Math.floor(n)))},Pi=(e,t)=>{let{payload:n}=mi(t),r=hi(n),i=Di(e),a={},o=/* @__PURE__ */ new Set;return r.forEach((e,t)=>{let n=typeof e?.question==`string`?e.question:``;n&&(o.has(n)&&typeof console<`u`&&console.warn(`[AgentWidget] ask_user_question has duplicate question text "${n}"; later answer wins.`),o.add(n),Object.prototype.hasOwnProperty.call(i,t)&&(a[n]=i[t]))}),a},Fi=e=>{let t=Di(e)[ki(e)],n=/* @__PURE__ */ new Set;typeof t==`string`?n.add(t):Array.isArray(t)&&t.forEach(e=>n.add(e));let r=e.querySelectorAll(`[data-ask-user-action="pick"][data-option-label]`);r.forEach(e=>{let t=e.getAttribute(`data-option-label`)??``,r=n.has(t);e.setAttribute(`aria-pressed`,r?`true`:`false`),e.classList.toggle(`persona-ask-pill-selected`,r)});let i=new Set(Array.from(r).map(e=>e.getAttribute(`data-option-label`)??``)),a=e.querySelector(`[data-ask-free-text-input="true"]`);a&&(typeof t==`string`&&t.length>0&&!i.has(t)?(a.value=t,a.closest(`[data-ask-free-text-row="true"]`)?.classList.remove(`persona-hidden`)):a.value=``)},Ii=e=>{if(!ji(e))return;let t=Di(e)[ki(e)],n=typeof t==`string`&&t.length>0||Array.isArray(t)&&t.length>0,r=e.querySelector(`[data-ask-user-action="next"], [data-ask-user-action="submit-all"]`);r&&(r.disabled=!n);let i=e.querySelector(`[data-ask-user-action="submit-multi"]`);i&&(i.disabled=Array.from(e.querySelectorAll(`[aria-pressed="true"][data-option-label]`)).length===0)},Li=(e,t,n)=>{let r=pi(n),i=li(e),{payload:a,complete:o}=mi(t),s=ji(e),c=ki(e),l=Z(e),u=s?_i(a,c):gi(a),d=!!u?.multiSelect,f=e.querySelector(`[data-ask-step-inline="true"]`);f&&(f.textContent=s?`${c+1}/${l}`:``);let p=e.querySelector(`[data-ask-stepper="true"]`);p&&p.remove();let m=e.querySelector(`[data-ask-question="true"]`);if(m){let e=typeof u?.question==`string`?u.question:``;m.textContent=e,m.classList.toggle(`persona-ask-question-skeleton`,!e&&!o)}let h=e.querySelector(`[data-ask-pill-list="true"]`);if(h){let e=Ci(u,r,o,i);h.replaceWith(e)}if(i!==`rows`){let t=e.querySelector(`[data-ask-free-text-row="true"]`);t&&t.replaceWith(wi(r,i))}let g=e.querySelector(`[data-ask-multi-actions="true"]`);!s&&d&&!g?e.appendChild(Ti(r)):(!d||s)&&g&&g.remove(),e.setAttribute(`data-multi-select`,d?`true`:`false`);let _=e.querySelector(`[data-ask-nav-row="true"]`);if(s){let t=Ei(c,l,r);_?_.replaceWith(t):e.appendChild(t)}else _&&_.remove();Fi(e),Ii(e)},Ri=(e,t,n)=>{let r=pi(t),i=ci(r),a=e.toolCall.id,o=hi(n),s=Math.max(1,o.length),c=s>1,l=Mi(e,o),u=c?Ni(e,s):0,d=J(`div`,[`persona-ask-sheet`,`persona-ask-sheet--${i}`,`persona-pointer-events-auto`,`persona-ask-sheet-enter`].join(` `));d.setAttribute(qr,a),d.setAttribute(`data-tool-call-id`,a),d.setAttribute(`data-message-id`,e.id),d.setAttribute(ii,String(s)),d.setAttribute(ri,String(u)),d.setAttribute(oi,c?`true`:`false`),d.setAttribute(si,i),Oi(d,l),d.setAttribute(`role`,`group`),d.setAttribute(`aria-label`,`Suggested answers`),r.slideInMs!==void 0&&d.style.setProperty(`--persona-ask-sheet-duration`,`${r.slideInMs}ms`),yi(d,t);let f=J(`div`,`persona-ask-sheet-header persona-flex persona-items-center persona-gap-3`),p=J(`div`,`persona-ask-sheet-question persona-flex-1`);p.setAttribute(`data-ask-question`,`true`),p.textContent=``,f.appendChild(p);let m=J(`span`,`persona-ask-sheet-step-inline`);m.setAttribute(`data-ask-step-inline`,`true`),m.textContent=``,f.appendChild(m),d.appendChild(f);let h=J(`div`,i===`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 h.setAttribute(`data-ask-pill-list`,`true`),h.setAttribute(`role`,`group`),d.appendChild(h),i!==`rows`&&d.appendChild(wi(r,i)),Li(d,e,t),requestAnimationFrame(()=>{requestAnimationFrame(()=>d.classList.remove(`persona-ask-sheet-enter`))}),d},zi=(e,t,n)=>{yi(e,n);let{payload:r}=mi(t),i=Math.max(1,hi(r).length);i>Z(e)&&(e.setAttribute(ii,String(i)),i>1&&!ji(e)&&e.setAttribute(oi,`true`)),Li(e,t,n)},Bi=(e,t)=>{let n=J(`div`,`persona-ask-stub persona-inline-flex persona-items-center persona-gap-2`);n.id=`bubble-${e.id}`,n.setAttribute(`data-message-id`,e.id),n.setAttribute(`data-bubble-type`,`ask-user-question`),yi(n,t);let r=J(`span`,`persona-ask-stub-label`),{complete:i}=mi(e);return r.textContent=i?`Awaiting your response…`:`Preparing options…`,n.appendChild(r),n},Vi=(e,t,n)=>{if(!n||!fi(e)||pi(t).enabled===!1)return;let r=e.toolCall.id;n.querySelectorAll(`[${qr}]`).forEach(e=>{e.getAttribute(qr)!==r&&e.remove()});let i=n.querySelector(`[${qr}="${di(r)}"]`);if(i){zi(i,e,t);return}let{payload:a}=mi(e),o=Ri(e,t,a);n.appendChild(o)},Hi=(e,t)=>{if(!e)return;let n=t?`[${qr}="${di(t)}"]`:`[${qr}]`;e.querySelectorAll(n).forEach(e=>{e.classList.add(`persona-ask-sheet-leave`);let t=Number.parseInt(getComputedStyle(e).getPropertyValue(`--persona-ask-sheet-duration`)||`180`,10);setTimeout(()=>e.remove(),Number.isFinite(t)?t:180)})},Ui=e=>Array.from(e.querySelectorAll(`[aria-pressed="true"][data-option-label]`)).map(e=>e.getAttribute(`data-option-label`)).filter(e=>typeof e==`string`&&e.length>0),Wi=(e,t)=>{let n=Di(e),r=ki(e);typeof t==`string`&&t.length===0||Array.isArray(t)&&t.length===0?delete n[r]:n[r]=t,Oi(e,n),Fi(e),Ii(e)},Gi=(e,t,n,r)=>{let i=Z(e),a=Math.max(0,Math.min(i-1,r));Ai(e,a),Li(e,t,n)}})),Ki,qi,Ji,Yi,Xi,Zi,Qi,$i,ea,ta,na,ra=V((()=>{Ki=`suggest_replies`,qi={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:`object`,properties:{label:{type:`string`,minLength:1,maxLength:80},prompt:{type:`string`,minLength:1,maxLength:500},description:{type:`string`,minLength:1,maxLength:160}},required:[`label`],additionalProperties:!1}}},required:[`suggestions`],additionalProperties:!1},Ji={name:Ki,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. Give each suggestion a `label` with the short visible text, an optional `prompt` with the fuller text placed as the user's message (defaults to the label), and an optional `description` with one line of supporting copy. Suggestions are sent as the user's next message, so phrase prompts 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:qi,origin:`sdk`,annotations:{readOnlyHint:!0}},Yi=e=>{let t=e?.suggestions?.followUps?.maxItems,n=typeof t==`number`&&Number.isFinite(t)?Math.max(1,Math.floor(t)):e?.future?.v5Defaults?5:4;return n===4?Ji:{...Ji,parametersSchema:{...qi,properties:{suggestions:{...qi.properties.suggestions,maxItems:n,description:`1-${n} short, distinct follow-up replies, phrased in the user's voice.`}}}}},Xi=()=>({content:[{type:`text`,text:`Suggestions shown to the user.`}]}),Zi=e=>e.variant===`tool`&&e.toolCall?.name===`suggest_replies`,Qi=(e,t=4)=>{let n=e;if(typeof n==`string`)try{n=JSON.parse(n)}catch{return[]}let r=n?.suggestions;if(!Array.isArray(r))return[];let i=r.flatMap(e=>{if(typeof e==`string`){let t=e.trim();return t?[t]:[]}if(!e||typeof e!=`object`)return[];let t=e;if(typeof t.label!=`string`||!t.label.trim())return[];let n={label:t.label.trim()};return typeof t.prompt==`string`&&t.prompt.trim()&&(n.prompt=t.prompt.trim()),typeof t.description==`string`&&t.description.trim()&&(n.description=t.description.trim()),[n]});return i.length>t?(console.warn(`[persona] suggest_replies: ${i.length} suggestions exceeds the cap of ${t}; extra suggestions dropped.`),i.slice(0,t)):i},$i=(e,t=4)=>{for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.role===`user`)return null;if(!Zi(r))continue;let i=Qi(r.toolCall?.args,t);return i.length>0?i:null}return null},ea=/* @__PURE__ */ new Set,ta=(e,t,n)=>{let r=`${e}:${t}:${n}`;ea.has(r)||(ea.add(r),console.warn(`[persona] suggestions.followUps.${e} and features.suggestReplies.${e} disagree; suggestions.followUps.${e} wins.`))},na=e=>{let t=e?.suggestions?.followUps,n=e?.features?.suggestReplies,r=e=>{let r=t?.[e],i=n?.[e];r!==void 0&&i!==void 0&&r!==i&&ta(e,i,r)};e&&(r(`enabled`),r(`expose`));let i=t?.enabled??n?.enabled??!0;return{enabled:i,expose:i?t?.expose??n?.expose??!1:!1}}})),ia,aa,oa,sa=V((()=>{Q(),ra(),ia={type:`object`,properties:{questions:{type:`array`,minItems:1,maxItems:8,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},aa={name:Kr,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:ia,origin:`sdk`,annotations:{readOnlyHint:!0}},oa=e=>{let t=[],n=e?.features?.askUserQuestion;return n?.expose===!0&&n.enabled!==!1&&t.push(aa),na(e).expose&&t.push(Yi(e)),t}})),ca,la,ua,da=V((()=>{ca={idle:`Online`,connecting:`Connecting…`,connected:`Streaming…`,error:`Offline`,paused:`Connection lost…`,resuming:`Reconnecting…`},la=1e5,ua=100001}));async function fa(e,t,n,r){let i={"Content-Type":`application/json`,...e.headers};e.getHeaders&&Object.assign(i,await e.getHeaders());let a={executionId:t.executionId,approvalId:t.approvalId,decision:n,streamResponse:!0},o=(t,n)=>fetch(`${e.clientApiBase()}${t}`,{method:`POST`,headers:i,body:JSON.stringify({...n,...a})}),s=`/v1/agents/${t.agentId}/approve`;if(!e.isClientTokenMode())return o(s);let{sessionId:c}=await e.initSession(),l=await o(`/v1/client/approve`,{sessionId:c,...r?.assistantMessageId?{assistantMessageId:r.assistantMessageId}:{}});if(l.status===404){let e=await l.clone().json().catch(()=>null);if(!e||e.error===`Not Found`)return o(s)}return l}async function pa(e,t,n,r){let i=e.isClientTokenMode(),a=i?e.getClientApiUrl(`resume`):`${e.config.apiUrl?.replace(/\/+$/,``)||`https://api.runtype.com`}/resume`,o,s=null;if(i){let t=await e.initSession();o=t.sessionId,t.durableRecovery?.enabled===!0&&(s=await e.readVisitorToken())}let c={"Content-Type":`application/json`,...s?{"X-Visitor-Token":s}:{},...e.headers};e.getHeaders&&Object.assign(c,await e.getHeaders());let l={executionId:t,toolOutputs:n,streamResponse:r?.streamResponse??!0,...r?.after?{after:r.after}:{}};if(o&&(l.sessionId=o,r?.assistantMessageId&&(l.assistantMessageId=r.assistantMessageId)),i&&o){let t=[...oa(e.config),...await(await e.getWebMcpBridge())?.snapshotForDispatch()??[]],{response:n,commit:i}=await e.sendWithClientToolsDiff(o,t,t=>{let n={...l,...t};return e.debug&&console.debug(`[AgentWidgetClient] client token resume`,n),fetch(a,{method:`POST`,headers:c,body:JSON.stringify(n),signal:r?.signal})},{emptyMeansReplace:!0});return n.ok&&i(),n}return fetch(a,{method:`POST`,headers:c,body:JSON.stringify(l),signal:r?.signal})}var ma=V((()=>{sa(),da()})),ha=/* @__PURE__ */ Bt({preferFinalStructuredContent:()=>_a,resolveApproval:()=>fa,resumeFlow:()=>pa,streamResponse:()=>ya});function ga(e){let t=e.toLowerCase(),n=t===`text/plain`?`txt`:t===`text/markdown`?`md`:void 0;if(n)return`attachment.${n}`;let r=t.indexOf(`/`);if(r>0){let e=t.slice(r+1).split(`;`)[0]?.trim()??``;if(e&&e!==`octet-stream`&&/^[a-z0-9.+-]+$/i.test(e))return`attachment.${e}`}return`attachment`}function _a(e,t){if(!e)return t;let n=e.trim(),r=t.trim();if(!n)return t;if(!r)return e;let i=xa(n);if(!xa(r))return e;if(!i||r.startsWith(n))return t;let a=q(e);return q(t)!==null&&a===null?t:e}async function va(e,t,n,r,i,a,o){if(!e.parseSSEEvent)return!1;try{let s=await e.parseSSEEvent(t);if(s===null)return!1;let c=e=>{let t={id:`assistant-${Date.now()}-${Math.random().toString(16).slice(2)}`,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!0,variant:`assistant`,sequence:a(),...e!==void 0&&{partId:e}};return r.current=t,i(t),t},l=e=>r.current?r.current:c(e);if(s.text!==void 0){s.partId!==void 0&&o.current!==null&&s.partId!==o.current&&(r.current&&(r.current.streaming=!1,i(r.current)),c(s.partId)),s.partId!==void 0&&(o.current=s.partId);let e=l(s.partId);s.partId!==void 0&&!e.partId&&(e.partId=s.partId),e.content+=s.text,i(e)}return s.done&&(r.current&&(r.current.streaming=!1,i(r.current)),o.current=null,n({type:`status`,status:`idle`})),s.error&&(o.current=null,n({type:`error`,error:Error(s.error)})),!0}catch(e){return typeof console<`u`&&console.error(`[AgentWidget] parseSSEEvent error:`,e),!1}}async function ya(e,t,n,r,i,a,o,s){let c=e.streamGeneration(),l=t.getReader();e.streamReaders.add(l);let u=!!e.config().backgroundConversations,d=()=>{u&&l.cancel().catch(()=>{})};a?.addEventListener(`abort`,d,{once:!0});let f=new TextDecoder,p=``,m=Date.now(),h=0,g=()=>m+h++,_=e=>({...e,chunks:e.chunks?[...e.chunks]:void 0}),v=e=>({...e,reasoning:e.reasoning?{...e.reasoning,chunks:[...e.reasoning.chunks]}:void 0,toolCall:e.toolCall?_(e.toolCall):void 0,tools:e.tools?.map(_)}),y=e=>{if(e.role!==`assistant`||e.variant)return!0;let t=Array.isArray(e.contentParts)&&e.contentParts.length>0,n=typeof e.rawContent==`string`&&e.rawContent.trim()!==``;return typeof e.content==`string`&&e.content.trim()!==``||t||n||!!e.stopReason},b=t=>{!a?.aborted&&c===e.streamGeneration()&&y(t)&&n({type:`message`,message:v(t)})},x=null,S=null,C={current:null},ee={current:null},w=null,te=``,T=new Map(s?.textPhases),E=/* @__PURE__ */ new Map,ne=/* @__PURE__ */ new Map,re=/* @__PURE__ */ new Map,D=/* @__PURE__ */ new Map,ie=/* @__PURE__ */ new Map,ae=r,oe=!1,se=o?.find(e=>e.id===r);se&&(x=v(se),x.streaming=s?.openAssistant??!0,oe=!0,w=se.agentMetadata?.textBlockId??null,te=se.rawContent??se.content,S=x,s&&!s.openAssistant&&(x=null)),s&&(w=s.textBlockId,te=s.rawText,s.nestedParents.forEach(([e,t])=>E.set(e,t)),s.nestedRaw.forEach(([e,t])=>re.set(e,t)));for(let e of o??[]){e.variant===`tool`&&e.toolCall?.id&&ie.set(e.toolCall.id,v(e)),e.variant===`reasoning`&&e.reasoning?.id&&D.set(e.reasoning.id,v(e));let t=e.agentMetadata?.textBlockId;t&&(ne.set(t,e.id===x?.id?x:v(e)),e.agentMetadata?.phase&&T.set(t,e.agentMetadata.phase));let n=e.agentMetadata?.parentToolId;t&&n&&(E.set(t,n),re.set(t,e.rawContent??e.content))}let ce=()=>{if(x)return x;let e,t=``,n=w;return!oe&&ae?(e=ae,oe=!0,t=i??``):e=ae&&n?`${ae}_${n}`:`assistant-${Date.now()}-${Math.random().toString(16).slice(2)}`,x={id:e,role:`assistant`,content:t,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!0,sequence:g()},b(x),x},le=(e,t)=>{let n=D.get(e);if(n)return n;let r={id:`reason-${e}`,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!0,variant:`reasoning`,agentMetadata:{executionId:t},sequence:g(),reasoning:{id:e,status:`streaming`,chunks:[]}};return D.set(e,r),b(r),r},ue=/* @__PURE__ */ new Set,O=/* @__PURE__ */ new Map,k=/* @__PURE__ */ new Set;for(let e of o??[])if(e.id.startsWith(`artifact-ref-`)){let t=e.id.slice(13);k.add(t),O.set(t,v(e))}s?.artifactTools.forEach(e=>ue.add(e));let de=/* @__PURE__ */ new Map;s?.artifactContent.forEach(([e,t])=>de.set(e,{...t}));let fe=e=>{if(!e)return!1;let t=e.replace(/_+/g,`_`).replace(/^_|_$/g,``);return t===`emit_artifact_markdown`||t===`emit_artifact_component`},pe=(e,t,n)=>{let r=ie.get(e),i={...r?.agentMetadata,executionId:t??r?.agentMetadata?.executionId,iteration:n??r?.agentMetadata?.iteration??(De||void 0)};if(r)return r.agentMetadata=i,r;let a={id:`tool-${e}`,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!0,variant:`tool`,agentMetadata:i,sequence:g(),toolCall:{id:e,status:`pending`}};return ie.set(e,a),b(a),a},me=e=>{if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`){let t=Number(e);if(Number.isFinite(t))return t;let n=Date.parse(e);if(!Number.isNaN(n))return n}return Date.now()},he=e=>{if(typeof e==`string`)return e;if(e==null)return``;try{return JSON.stringify(e)}catch{return String(e)}},ge=/* @__PURE__ */ new Map,_e=/* @__PURE__ */ new Map,ve=(e,t)=>{let n=he(t),r=_a(_e.get(e.id),n);e.rawContent=r;let i=ge.get(e.id),a=t=>{let n=e.content??``;t.trim()!==``&&(!n.trim()||t.startsWith(n)||t.trimStart().startsWith(n.trim()))&&(e.content=t)},o=()=>{let t=i?.close?.();t instanceof Promise&&t.catch(()=>{}),ge.delete(e.id),_e.delete(e.id),e.streaming=!1,b(e)};if(!i){a(n),o();return}let s=q(r);if(s!==null&&s.trim()!==``){a(s),o();return}let c=e=>{let t=typeof e==`string`?e:e?.text??null;if(t!==null&&t.trim()!==``)return t;let r=i.getExtractedText();return r!==null&&r.trim()!==``?r:n},l;try{l=i.processChunk(r)}catch{a(n),o();return}l instanceof Promise?l.then(e=>{a(c(e)),o()}).catch(()=>{a(n),o()}):(a(c(l)),o())},ye=null,be=o?.find(e=>e.id===s?.sealedFlowMessageId);be&&(ye=v(be));let xe=(t,n,r)=>{t.rawContent=n,ge.has(t.id)||ge.set(t.id,e.createStreamParser());let i=ge.get(t.id),a=/^[{[]/.test(n.trim());a&&_e.set(t.id,n);let o=()=>{t.content+=r,_e.delete(t.id),ge.delete(t.id),t.rawContent=void 0,b(t)};if(i.__isPlainTextParser===!0){o();return}let s=e=>{let r=typeof e==`string`?e:e?.text??null;r!==null&&r.trim()!==``?(t.content=r,b(t)):!a&&!n.trim().startsWith(`<`)&&o()},c=i.processChunk(n);c instanceof Promise?c.then(s).catch(o):s(c)},Se=(e,t)=>{let n=t??e.content;if(n==null||n===``){e.streaming=!1,b(e);return}let r=_e.get(e.id)??he(n);e.rawContent=r;let i=ge.get(e.id),a=null,o=!1;if(i&&(a=i.getExtractedText(),a===null&&(a=q(r)),a===null)){let t=i.processChunk(r);t instanceof Promise?(o=!0,t.then(t=>{let n=typeof t==`string`?t:t?.text??null;n!==null&&(e.content=n,e.streaming=!1,ge.delete(e.id),_e.delete(e.id),b(e))}).catch(()=>{})):a=typeof t==`string`?t:t?.text??null}if(!o){a!==null&&a.trim()!==``?e.content=a:_e.has(e.id)||(e.content=he(n));let t=ge.get(e.id);if(t){let n=t.close?.();n instanceof Promise&&n.catch(()=>{}),ge.delete(e.id)}_e.delete(e.id),e.streaming=!1,b(e)}},Ce=(e,t,n,r)=>{let i=ne.get(e);if(i)return i;let a={id:`nested-${t}-${e}`,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!0,sequence:g(),...n?{variant:n}:{},...n===`reasoning`?{reasoning:{id:e,status:`streaming`,chunks:[]}}:{},agentMetadata:{parentToolId:t,textBlockId:e,executionId:r,phase:T.get(e)}};return ne.set(e,a),b(a),a},we=[],Te,Ee=/* @__PURE__ */ new Map;s?.media.forEach(([e,t])=>Ee.set(e,{...t,parts:[...t.parts]}));let De=s?.iteration??0,Oe=s?.executionKind??`agent`,ke=s?.executionKindResolved??!1,Ae=s?.turnId??null,je=null,Me=e.config().iterationDisplay??`separate`;Te=()=>{for(let t=0;t<we.length;t++){let r=we[t];if(!ke&&Oe!==`flow`&&typeof r.stepType==`string`&&(Oe=`flow`),r.type===`reasoning_start`){let e=typeof r.id==`string`?r.id:null,t=typeof r.parentToolCallId==`string`&&r.parentToolCallId?r.parentToolCallId:null;if(e&&t){E.set(e,t),Ce(e,t,`reasoning`,r.executionId);continue}let n=r.id,i=le(n,r.executionId);i.reasoning=i.reasoning??{id:n,status:`streaming`,chunks:[]},i.reasoning.startedAt=i.reasoning.startedAt??Date.now(),i.reasoning.completedAt=void 0,i.reasoning.durationMs=void 0,(r.scope===`loop`||r.scope===`turn`)&&(i.reasoning.scope=r.scope),i.streaming=!0,i.reasoning.status=`streaming`,b(i)}else if(r.type===`reasoning_delta`){let e=typeof r.id==`string`?r.id:null;if(e&&E.has(e)&&ne.has(e)){let t=ne.get(e),n=r.delta;n&&t.reasoning&&(t.reasoning.chunks.push(String(n)),b(t));continue}let t=r.id,n=le(t,r.executionId);n.reasoning=n.reasoning??{id:t,status:`streaming`,chunks:[]},n.reasoning.startedAt=n.reasoning.startedAt??Date.now(),r.delta&&n.reasoning.chunks.push(r.delta),n.reasoning.status=`streaming`,n.streaming=!0,b(n)}else if(r.type===`reasoning_complete`){let e=typeof r.id==`string`?r.id:null;if(e&&E.has(e)&&ne.has(e)){let t=ne.get(e);if(t.reasoning){let e=typeof r.text==`string`?r.text:``;e&&t.reasoning.chunks.length===0&&t.reasoning.chunks.push(e),t.reasoning.status=`complete`,t.streaming=!1,b(t)}E.delete(e),ne.delete(e);continue}let t=r.id,n=typeof r.text==`string`?r.text:``;!D.get(t)&&(n||r.scope===`loop`)&&le(t,r.executionId);let i=D.get(t);if(i?.reasoning){(r.scope===`loop`||r.scope===`turn`)&&(i.reasoning.scope=r.scope),n&&i.reasoning.chunks.length===0&&i.reasoning.chunks.push(n),i.reasoning.status=`complete`,i.reasoning.completedAt=Date.now();let e=i.reasoning.startedAt??Date.now();i.reasoning.durationMs=Math.max(0,(i.reasoning.completedAt??Date.now())-e),i.streaming=!1,b(i)}}else if(r.type===`tool_start`){x&&=(x.streaming=!1,b(x),null),typeof r.iteration==`number`&&(De=r.iteration);let e=r.toolCallId,t=r.toolName;if(fe(t)){ue.add(e);continue}let n=pe(e,r.executionId,r.iteration),i=n.toolCall??{id:e,status:`pending`};i.name=t??i.name,i.status=`running`,i.success=void 0,i.error=void 0,i.duration=void 0,r.parameters!==void 0&&(i.args=r.parameters),i.startedAt=i.startedAt??me(r.startedAt),i.completedAt=void 0,i.durationMs=void 0,n.toolCall=i,n.streaming=!0,b(n)}else if(r.type===`tool_output_delta`){let e=r.toolCallId;if(ue.has(e))continue;let t=pe(e,r.executionId),n=t.toolCall??{id:e,status:`running`};n.startedAt=n.startedAt??Date.now();let i=r.delta;i&&(n.chunks=n.chunks??[],n.chunks.push(String(i))),n.status=`running`,t.toolCall=n,t.streaming=!0,b(t)}else if(r.type===`tool_complete`){let e=r.toolCallId;if(ue.has(e)){ue.delete(e);continue}let t=pe(e,r.executionId,r.iteration),n=t.toolCall??{id:e,status:`running`};n.status=`complete`,r.result!==void 0&&(n.result=r.result),n.name=r.toolName??n.name,n.success=r.success,n.error=r.error,n.completedAt=Date.now();let i=r.executionTime;if(typeof i==`number`)n.durationMs=i,n.duration=i;else{let e=n.startedAt??Date.now();n.durationMs=Math.max(0,(n.completedAt??Date.now())-e)}t.toolCall=n,t.streaming=!1,b(t)}else if(r.type===`await`&&r.toolName){let e=typeof r.toolCallId==`string`&&r.toolCallId.length>0?r.toolCallId:void 0,t=e??r.toolId??`local-${g()}`,n=pe(t,r.executionId),i=r.toolName,a=r.origin===`webmcp`&&!Un(i)?`webmcp:${i}`:i,o=Un(a),s=n.toolCall??{id:t,status:`pending`};s.name=a,s.args=r.parameters,s.status=o?`running`:`complete`,s.chunks=s.chunks??[],s.startedAt=s.startedAt??me(r.awaitedAt),o?(s.completedAt=void 0,s.duration=void 0,s.durationMs=void 0):s.completedAt=s.completedAt??s.startedAt,n.toolCall=s,n.streaming=!1,n.agentMetadata={...n.agentMetadata,executionId:r.executionId??n.agentMetadata?.executionId,awaitingLocalTool:!0,...e?{webMcpToolCallId:e}:{}},b(n)}else if(r.type===`text_start`){let e=typeof r.id==`string`?r.id:null;if(e){let t=ba(r.phase);t?T.set(e,t):T.delete(e)}let t=typeof r.parentToolCallId==`string`&&r.parentToolCallId?r.parentToolCallId:null;if(e&&t){E.set(e,t);continue}let n=x;n&&(Oe===`flow`?(Se(n),ye=n):(n.streaming=!1,b(n)),x=null),w=e??w,te=``}else if(r.type===`text_delta`){let e=typeof r.id==`string`?r.id:null,t=e?E.get(e):void 0;if(e&&t){let n=typeof r.delta==`string`?r.delta:``,i=(re.get(e)??``)+n;if(re.set(e,i),i.trim()===``)continue;let a=Ce(e,t,void 0,r.executionId);xe(a,i,n);continue}w=e??w;let n=typeof r.delta==`string`?r.delta:``;if(te+=n,Oe===`flow`&&te.trim()===``)continue;let i=ce();i.agentMetadata={textBlockId:w??void 0,phase:T.get(w??``),executionId:r.executionId,iteration:De,...Oe===`flow`?{}:{turnId:Ae??void 0,agentName:je?.agentName}},w&&ne.set(w,i),xe(i,te,n),S=i}else if(r.type===`text_complete`){let e=typeof r.id==`string`?r.id:null;e&&T.delete(e);let t=e?ne.get(e):x,n=ba(r.phase);if(t&&n&&(t.agentMetadata={...t.agentMetadata,providerPhase:n}),e&&E.has(e)){let t=ne.get(e);t&&Se(t),E.delete(e),re.delete(e),ne.delete(e);continue}if(e&&t!==x){t&&(t.streaming=!1,b(t));continue}let i=x;i&&(Oe===`flow`?(Se(i),ye=i):((i.content??``)===``&&typeof r.text==`string`&&(i.content=r.text),i.streaming=!1,b(i)),x=null),w=null,te=``}else if(r.type===`step_complete`){if(r.stepType===`tool`)continue;if(r.success===!1){let e=r.error||`Step failed`;n({type:`error`,error:Error(e)});let t=x;t&&t.streaming&&(t.streaming=!1,b(t)),n({type:`status`,status:`idle`});continue}{let e=ye;ye=null;let t=r.stopReason,n=(r.result&&typeof r.result==`object`?r.result:null)?.response;if(e)t&&(e.stopReason=t),n==null?e.streaming!==!1&&(ge.delete(e.id),_e.delete(e.id),e.streaming=!1,b(e)):ve(e,n);else{let e=n!=null&&n!==``;if(e||t&&t!==`end_turn`&&t!==`unknown`){let r=ce();t&&(r.stopReason=t),e?Se(r,n):(r.streaming=!1,b(r))}}continue}}else if(r.type===`execution_start`)Oe=r.kind===`flow`?`flow`:`agent`,ke=!0,e.config().backgroundConversations&&n({type:`status`,status:`connected`,executionId:r.executionId}),Oe===`agent`&&(je={executionId:r.executionId,agentId:r.agentId??`virtual`,agentName:r.agentName??``});else if(r.type===`turn_start`){let e=typeof r.iteration==`number`?r.iteration:De;if(e!==De){if(Me===`separate`&&e>1){let e=x;e&&(e.streaming=!1,b(e),x=null)}De=e}Ae=typeof r.id==`string`?r.id:null,S=null}else if(r.type===`tool_input_delta`){let e=r.toolCallId;if(e){let t=ie.get(e);t?.toolCall&&(t.toolCall.chunks=t.toolCall.chunks??[],t.toolCall.chunks.push(r.delta??``),b(t))}}else if(r.type===`tool_input_complete`){if(ue.has(r.toolCallId))continue;let e=pe(r.toolCallId,r.executionId),t=e.toolCall;t.args=r.parameters,t.name=r.toolName??t.name,b(e)}else if(r.type===`turn_complete`){let e=r.stopReason,t=x??S;if(e&&t!==null){let n=r.id;n&&t.agentMetadata?.turnId!==n||(t.stopReason=e,b(t))}Ae===r.id&&(Ae=null)}else if(r.type===`media_start`){let e=String(r.id);Ee.set(e,{mediaType:typeof r.mediaType==`string`?r.mediaType:void 0,toolCallId:r.toolCallId,parts:[]})}else if(r.type===`media_delta`){let e=Ee.get(String(r.id));e&&typeof r.delta==`string`&&e.parts.push(r.delta)}else if(r.type===`media_complete`){let e=String(r.id),t=Ee.get(e);Ee.delete(e);let n=(typeof r.mediaType==`string`?r.mediaType:void 0)??t?.mediaType??`application/octet-stream`,i=typeof r.data==`string`?r.data:void 0,a=typeof r.url==`string`?r.url:t&&t.parts.length>0?t.parts.join(``):void 0,o=null;if(i)o={type:`media`,data:i,mediaType:n};else if(a){let e=n.toLowerCase();o={type:e===`image`||e.startsWith(`image/`)?`image-url`:`file-url`,url:a,mediaType:n}}let s=r.toolCallId??t?.toolCallId,c=o?[o]:[],l=[];for(let e of c){if(!e||typeof e!=`object`)continue;let t=e,n=typeof t.type==`string`?t.type:void 0,r=typeof t.mediaType==`string`?t.mediaType.toLowerCase():``,i=null,a=``;if(n===`media`){let e=typeof t.data==`string`?t.data:void 0;if(!e)continue;a=r.length>0?r:`application/octet-stream`,i=`data:${a};base64,${e}`}else if(n===`image-url`){let e=typeof t.url==`string`?t.url:void 0;if(!e)continue;a=r,i=e}else if(n===`file-url`){let e=typeof t.url==`string`?t.url:void 0;if(!e)continue;a=r,i=e}else continue;if(i){if(n===`image-url`||a.startsWith(`image/`))l.push({type:`image`,image:i,...a.includes(`/`)?{mimeType:a}:{}});else if(a.startsWith(`audio/`))l.push({type:`audio`,audio:i,mimeType:a});else if(a.startsWith(`video/`))l.push({type:`video`,video:i,mimeType:a});else{let e=a||`application/octet-stream`;l.push({type:`file`,data:i,mimeType:e,filename:ga(e)})}}}if(l.length>0){let e=g(),t=s,n={id:`agent-media-${typeof t==`string`&&t.length>0?`${t}-${e}`:String(e)}`,role:`assistant`,content:``,contentParts:l,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!1,sequence:e,agentMetadata:{executionId:r.executionId,iteration:De}};b(n);let i=x;i&&(i.streaming=!1,b(i)),x=null,C.current=null}}else if(r.type===`execution_complete`){let e=x;e&&(r.kind===`flow`&&e.streaming!==!1?Se(e):(e.streaming=!1,b(e)),x=null),w=null,te=``,ye=null,n({type:`status`,status:r.success===!1?`error`:`idle`,terminal:!0})}else if(r.type===`execution_error`){let e=typeof r.error==`string`?r.error:r.error?.message??`Execution error`;n({type:`error`,error:Error(e)})}else if(r.type!==`ping`){if(r.type===`approval_start`){let e=r.approvalId??`approval-${g()}`,t={id:`approval-${e}`,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!1,variant:`approval`,sequence:g(),approval:{id:e,status:`pending`,agentId:je?.agentId??`virtual`,executionId:r.executionId??je?.executionId??``,toolName:r.toolName??``,toolType:r.toolType,description:r.description??`Execute ${r.toolName??`tool`}`,...typeof r.reason==`string`&&r.reason?{reason:r.reason}:{},parameters:r.parameters,...typeof r.toolCallId==`string`&&r.toolCallId?{toolCallId:r.toolCallId}:{}}};b(t)}else if(r.type===`approval_complete`){let e=r.approvalId;if(e){let t={id:`approval-${e}`,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!1,variant:`approval`,sequence:g(),approval:{id:e,status:r.decision??`approved`,agentId:je?.agentId??`virtual`,executionId:r.executionId??je?.executionId??``,toolName:``,description:``,resolvedAt:Date.now()}};b(t)}}else if(r.type===`artifact_start`||r.type===`artifact_delta`||r.type===`artifact_update`||r.type===`artifact_complete`){if(r.type===`artifact_start`){let t=r.artifactType,i=String(r.id),a=typeof r.title==`string`?r.title:void 0,o=r.file,s;if(o&&typeof o==`object`&&!Array.isArray(o)&&typeof o.path==`string`&&typeof o.mimeType==`string`&&(s={path:o.path,mimeType:o.mimeType,...typeof o.language==`string`?{language:o.language}:{}}),n({type:`artifact_start`,id:i,artifactType:t,title:a,component:typeof r.component==`string`?r.component:void 0,...s?{file:s}:{}}),de.set(i,{markdown:``,title:a,file:s}),!k.has(i)){k.add(i);let n=Xn(e.config().features?.artifacts,{artifactType:t,...s?{file:s}:{}}),o=typeof r.component==`string`?r.component:void 0,c={id:`artifact-ref-${i}`,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!0,sequence:g(),rawContent:Zn(n,{artifactId:i,title:a,artifactType:t,status:`streaming`,...s?{file:s}:{},...o?{component:o}:{}})};O.set(i,c),b(c)}}else if(r.type===`artifact_delta`){let e=String(r.id),t=typeof r.delta==`string`?r.delta:String(r.delta??``);n({type:`artifact_delta`,id:e,artDelta:t});let i=de.get(e);i&&(i.markdown+=t)}else if(r.type===`artifact_update`){let e=r.props&&typeof r.props==`object`&&!Array.isArray(r.props)?r.props:{};n({type:`artifact_update`,id:String(r.id),props:e,component:typeof r.component==`string`?r.component:void 0});let t=de.get(String(r.id));t&&(t.props={...t.props??{},...e})}else if(r.type===`artifact_complete`){let e=String(r.id);n({type:`artifact_complete`,id:e});let t=O.get(e);if(t){t.streaming=!1;try{let n=JSON.parse(t.rawContent??`{}`);if(n.props){n.props.status=`complete`;let t=de.get(e);t?.markdown&&(n.props.markdown=t.markdown),t?.file&&(n.props.file=t.file),n.component===`PersonaArtifactInline`&&t?.props&&Object.keys(t.props).length>0&&(n.props.componentProps=t.props)}t.rawContent=JSON.stringify(n)}catch{}de.delete(e),b(t),O.delete(e)}}}else if(r.type===`error`&&r.recoverable===!1&&r.error!=null&&r.error!==``){let e=typeof r.error==`string`?r.error:r.error?.message==null?`Execution error`:String(r.error.message);n({type:`error`,error:Error(e)});let t=x;t&&t.streaming&&(t.streaming=!1,b(t)),n({type:`status`,status:`idle`})}}}we.length=0};try{for(;;){if(c!==e.streamGeneration())return;a?.throwIfAborted();let{done:t,value:r}=await l.read();if(c!==e.streamGeneration())return;if(a?.throwIfAborted(),t)break;p+=f.decode(r,{stream:!0});let i=p.split(`
1
+ import{Marked as e,Marked as t}from"marked";import n,{default as r}from"dompurify";import{Activity as i,ArrowDown as a,ArrowLeft as o,ArrowRight as s,ArrowUp as c,ArrowUpRight as l,AtSign as u,Ban as d,Bell as f,Bookmark as p,Bot as m,Brain as h,Building as g,Calendar as _,CalendarDays as v,Camera as y,ChartColumn as b,Check as x,ChevronDown as S,ChevronLeft as C,ChevronRight as ee,ChevronUp as w,Circle as te,CircleCheck as T,CircleX as E,Clipboard as ne,ClipboardCopy as re,Clock as D,CodeXml as ie,Copy as ae,CreditCard as oe,Database as se,DollarSign as ce,Download as le,Ellipsis as ue,EllipsisVertical as O,ExternalLink as k,Eye as de,EyeOff as fe,File as pe,FileCode as me,FileSpreadsheet as he,FileText as ge,Files as _e,Film as ve,Flag as ye,Folder as be,FolderOpen as xe,Funnel as Se,Gift as Ce,Globe as we,Hash as Te,Headphones as Ee,Heart as De,History as Oe,House as ke,Image as Ae,ImagePlus as je,Info as Me,Key as A,Lightbulb as Ne,Link as j,Loader as Pe,LoaderCircle as Fe,Lock as Ie,Mail as Le,MapPin as Re,Maximize as ze,Menu as Be,MessageCircle as Ve,MessageSquare as He,Mic as Ue,Minimize as We,Minus as Ge,Monitor as Ke,Moon as qe,Package as Je,PanelLeft as Ye,Paperclip as Xe,Pause as Ze,PenLine as Qe,Pencil as $e,Percent as et,Phone as tt,Play as nt,Plus as rt,Quote as it,Receipt as at,RefreshCw as ot,RotateCw as st,Save as ct,Search as lt,Send as ut,Settings as dt,Share as ft,Shield as pt,ShieldAlert as mt,ShieldCheck as ht,ShieldX as gt,ShoppingBag as _t,ShoppingCart as vt,Smartphone as yt,Sparkles as M,Square as N,Star as bt,Store as P,Sun as F,Tag as I,Terminal as L,ThumbsDown as xt,ThumbsUp as St,Timer as Ct,Toolbox as R,Trash as wt,Trash2 as Tt,TriangleAlert as Et,Truck as Dt,Upload as Ot,User as kt,Volume2 as At,VolumeX as jt,Wallet as Mt,Wrench as Nt,X as Pt,Zap as Ft}from"lucide";import{ARR as It,OBJ as Lt,STR as z,parse as Rt}from"partial-json";import{Idiomorph as zt}from"idiomorph";var Bt=Object.defineProperty,B=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},Vt=(e,t)=>{let n={};for(var r in e)Bt(n,r,{get:e[r],enumerable:!0});return t||Bt(n,Symbol.toStringTag,{value:`Module`}),n},V,H=B((()=>{V=e=>{let{fallbackImport:t,resetOnSetLoader:n=!1}=e,r=null,i=null,a=null;return{setLoader:e=>{r=e,n&&(i=null,a=null)},load:()=>{if(i)return Promise.resolve(i);if(a)return a;let e=r??t;try{return a=e().then(e=>(i=e,e)).catch(e=>{throw a=null,e}),a}catch(e){return Promise.reject(e)}},provide:e=>{i=e},getSync:()=>i}}})),Ht,Ut,Wt,Gt,Kt,qt,Jt,Yt=B((()=>{Ht=/^\s*\|?[\s:|-]*-[\s:|-]*$/,Ut=e=>e.includes(`|`),Wt=e=>{let t=e.trim();return t.startsWith(`|`)&&(t=t.slice(1)),t.endsWith(`|`)&&(t=t.slice(0,-1)),t.split(`|`).map(e=>e.trim())},Gt=e=>`| ${e.join(` | `)} |`,Kt=e=>`| ${Array.from({length:e},()=>`---`).join(` | `)} |`,qt=(e,t)=>e.length>=t?e.slice(0,t):e.concat(Array.from({length:t-e.length},()=>``)),Jt=e=>{if(!e||!e.includes(`|`))return e;let t=e.split(`
2
+ `),n=!1;for(let e=0;e<t.length-1;e++){let r=t[e],i=t[e+1];if(!Ut(r)||Ht.test(r)||!Ht.test(i))continue;let a=Wt(r).length;if(a<1)continue;let o=Kt(a);t[e+1]!==o&&(t[e+1]=o,n=!0);let s=e+2;for(;s<t.length;s++){let e=t[s];if(e.trim()===``||!Ut(e))break;let r=Gt(qt(Wt(e),a));t[s]!==r&&(t[s]=r,n=!0)}e=s-1}return n?t.join(`
3
+ `):e}})),Xt,Zt,Qt,$t,en,tn=B((()=>{Yt(),Xt=e=>!e||/\s/.test(e),Zt=e=>!!e&&/[\p{P}\p{S}]/u.test(e),Qt=(e,t,n)=>{let r=e.slice(t,n),i=n;for(;(i=e.indexOf(r,i))!==-1;){if(e[i-1]!=="`"&&e[i+r.length]!=="`")return i+r.length;i+=r.length}return-1},$t=(e,t=!0)=>{let n=[],r=/* @__PURE__ */ new Set,i=``;for(let a=0;a<e.length;){let o=e[a];if(o===`\\`)i+=e.slice(a,a+2),a+=2;else if(o==="`"){let t=a+1;for(;e[t]==="`";)t++;let n=e.slice(a,t),r=Qt(e,a,t);if(r!==-1)i+=e.slice(a,r),a=r;else{let r=e.slice(t);i+=r?`${n}${r}${r.endsWith("`")?` `:``}${n}`:``,a=e.length}}else if(o===`<`){let t=e.indexOf(`>`,a+1);i+=e.slice(a,t<0?e.length:t+1),a=t<0?e.length:t+1}else if(t&&(o===`[`||o===`!`&&e[a+1]===`[`)){let t=o===`!`,n=a+(t?2:1),r=1,s=n;for(;s<e.length;s++)if(e[s]===`\\`)s++;else if(e[s]==="`"){let t=s+1;for(;e[t]==="`";)t++;let n=Qt(e,s,t);s=(n<0?t:n)-1}else if(e[s]===`[`&&r++,e[s]===`]`&&--r===0)break;if(s>=e.length){i+=t?``:$t(e.slice(n),!1);break}if(e[s+1]===`(`){let r=1,o=``,c=!1,l=s+2;for(;l<e.length;l++){let t=e[l];if(t===`\\`)l++;else if(o)t===o&&(o=``);else if((t===`"`||t===`'`)&&Xt(e[l-1]))o=t;else if(t===`<`&&(c=!0),t===`>`&&(c=!1),!c&&t===`(`&&r++,!c&&t===`)`&&--r===0)break}if(l>=e.length){i+=t?``:$t(e.slice(n,s),!1);break}i+=e.slice(a,l+1),a=l+1;continue}if(s===e.length-1){i+=t?``:$t(e.slice(n,s),!1);break}i+=e.slice(a,s+1),a=s+1}else if(o===`*`||o===`_`){let t=a+1;for(;e[t]===o;)t++;let s=e.slice(a,t),c=e[a-1]??``,l=e[t]??``,u=!Xt(l)&&(!Zt(l)||Xt(c)||Zt(c)),d=!Xt(c)&&(!Zt(c)||Xt(l)||Zt(l)),f=s.length;if(d&&(o!==`_`||!u||Zt(l)))for(;f&&n[n.length-1]?.marker[0]===o;){let e=n[n.length-1],t=Math.min(f,e.marker.length);f-=t,e.marker=e.marker.slice(t),e.marker||n.pop()}if(f&&s.length<=3&&u&&!d)n.push({marker:o.repeat(f)});else if(f===s.length&&t===e.length&&Xt(c)&&e.slice(e.lastIndexOf(`
4
+ `,a)+1,a).trim()&&(n.length>0||!r.has(o))){a=t;continue}Xt(c)&&Xt(l)&&t<e.length&&r.add(o),i+=s,a=t}else i+=o,a++}let a=i.match(/\s*$/)?.[0]??``;i=i.slice(0,i.length-a.length),n.length&&(i.match(/\\+$/)?.[0].length??0)%2&&(i+=`\\`);for(let e=n.length-1;e>=0;e--)i+=n[e].marker;return i+a},en=e=>{let t=``,n=``,r=``,i=()=>{t+=Jt(n).split(/(\n\s*\n)/).map(e=>/^\n\s*\n$/.test(e)?e:$t(e)).join(``),n=``};for(let a of e.match(/[^\n]*\n|[^\n]+$/g)??[]){let e=/^(?: {0,3}> ?)* {0,3}(?:[-+*] )?(`{3,}|~{3,})(.*)/.exec(a);r?(t+=a,e&&e[1][0]===r[0]&&e[1].length>=r.length&&!e[2].trim()&&(r=``)):e?(i(),r=e[1],t+=a):/^(?: {4}|\t)/.test(a)?(i(),t+=a):n+=a}return i(),t}})),nn=/* @__PURE__ */ Vt({DOMPurify:()=>r,Marked:()=>t,stabilizeStreamingMarkdown:()=>en}),rn=B((()=>{tn()}));H();const{setLoader:an,load:on,provide:sn,getSync:cn}=V({fallbackImport:()=>Promise.resolve().then(()=>(rn(),nn))}),ln=/* @__PURE__ */ new Set,un=()=>{let e=[...ln];ln.clear();for(let t of e)try{t()}catch{}},dn=()=>{let e=cn();return e?Promise.resolve(e):on().then(e=>(un(),e))},fn=e=>cn()?()=>{}:(ln.add(e),()=>{ln.delete(e)}),pn=e=>{sn(e),un()},mn=cn;tn(),pn({Marked:e,DOMPurify:n,stabilizeStreamingMarkdown:en});const hn={"ellipsis-vertical":O,brain:h,toolbox:R,wrench:Nt,circle:te,database:se,terminal:L,user:kt,mail:Le,phone:tt,calendar:_,clock:D,building:g,"map-pin":Re,lock:Ie,key:A,"credit-card":oe,hash:Te,globe:we,link:j,"circle-check":T,"circle-x":E,"triangle-alert":Et,info:Me,ban:d,shield:pt,house:ke,"pen-line":Qe,save:ct,share:ft,funnel:Se,settings:dt,"rotate-cw":st,"shopping-cart":vt,"shopping-bag":_t,package:Je,truck:Dt,tag:I,gift:Ce,receipt:at,wallet:Mt,store:P,"dollar-sign":ce,percent:et,play:nt,pause:Ze,"volume-x":jt,camera:y,image:Ae,film:ve,headphones:Ee,"message-circle":Ve,bell:f,heart:De,"eye-off":fe,bookmark:p,"calendar-days":v,timer:Ct,folder:be,"folder-open":xe,files:_e,"chart-column":b,sparkles:M,zap:Ft,sun:F,moon:qe,flag:ye,lightbulb:Ne,monitor:Ke,smartphone:yt};var gn,_n=B((()=>{gn=(e,t=24,n=`currentColor`,r=2)=>{if(!Array.isArray(e))return null;let i=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);for(let[e,a]of Object.entries({width:String(t),height:String(t),viewBox:`0 0 24 24`,fill:`none`,stroke:n,"stroke-width":String(r),"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`}))i.setAttribute(e,a);for(let t of e){if(!Array.isArray(t)||t.length<2)continue;let e=t[0],n=t[1];if(!n)continue;let r=document.createElementNS(`http://www.w3.org/2000/svg`,e);for(let[e,t]of Object.entries(n))e!==`stroke`&&r.setAttribute(e,String(t));i.appendChild(r)}return i}})),vn,yn,bn,xn,Sn=B((()=>{H(),{setLoader:vn,load:yn}=V({fallbackImport:()=>import(`@runtypelabs/persona/icons-extra`)}),bn=vn,xn=yn})),U,Cn,W,wn,Tn,En,Dn,On,kn,An,jn,Mn,Nn,G,Pn=B((()=>{_n(),Sn(),U={activity:i,"arrow-down":a,"arrow-up":c,"arrow-up-right":l,bot:m,"chevron-down":S,"chevron-up":w,"chevron-right":ee,"chevron-left":C,check:x,clipboard:ne,"clipboard-copy":re,"code-xml":ie,copy:ae,file:pe,"file-code":me,"file-spreadsheet":he,"file-text":ge,"image-plus":je,loader:Pe,"loader-circle":Fe,mic:Ue,paperclip:Xe,quote:it,"refresh-cw":ot,search:lt,send:ut,"shield-alert":mt,"shield-check":ht,"shield-x":gt,square:N,"square-text":[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M7 8h10M7 12h10M7 16h6`}]],"thumbs-down":xt,"thumbs-up":St,upload:Ot,"volume-2":At,"voice-bars":[[`path`,{d:`M4 10v4`}],[`path`,{d:`M8 6v12`}],[`path`,{d:`M12 3v18`}],[`path`,{d:`M16 7v10`}],[`path`,{d:`M20 10v4`}]],x:Pt,"at-sign":u,"arrow-left":o,"arrow-right":s,"external-link":k,ellipsis:ue,menu:Be,"panel-left":Ye,plus:rt,minus:Ge,pencil:$e,trash:wt,"trash-2":Tt,download:le,maximize:ze,minimize:We,"message-square":He,star:bt,eye:de,history:Oe},Cn=/* @__PURE__ */ `brain.toolbox.wrench.circle.database.terminal.user.mail.phone.calendar.clock.building.map-pin.lock.key.credit-card.hash.globe.link.circle-check.circle-x.triangle-alert.info.ban.shield.ellipsis-vertical.house.pen-line.save.share.funnel.settings.rotate-cw.shopping-cart.shopping-bag.package.truck.tag.gift.receipt.wallet.store.dollar-sign.percent.play.pause.volume-x.camera.image.film.headphones.message-circle.bell.heart.eye-off.bookmark.calendar-days.timer.folder.folder-open.files.chart-column.sparkles.zap.sun.moon.flag.lightbulb.monitor.smartphone`.split(`.`),W=new Map(Object.entries(U)),wn=/* @__PURE__ */ new Map,Tn=!1,En=/* @__PURE__ */ new Set,Dn=e=>{let t=[...En];e&&En.clear();for(let e of t)try{e()}catch{}},On=()=>{let e=0;for(let[t,n]of wn){let r=W.get(n);if(!r)continue;wn.delete(t),e++;let i=gn(r);if(i)for(t.removeAttribute(`data-persona-icon-pending`);i.firstChild;)t.appendChild(i.firstChild)}return e},kn=e=>{for(let[t,n]of Object.entries(e))W.set(t,n);On()>0&&!Tn&&Dn(!1)},An=e=>{if(!Tn){for(let[t,n]of Object.entries(e))W.has(t)||W.set(t,n);Tn=!0,On(),Dn(!0)}},jn=()=>Tn?null:xn().then(e=>An(e.EXTRA_LUCIDE_ICONS)),Mn=()=>{jn()?.catch(e=>{console.warn(`[Persona] Failed to load the icons-extra chunk`,e)})},Nn=(e,t,n)=>{let r=gn([],e,t,n);return r.setAttribute(`data-persona-icon-pending`,`true`),r},G=(e,t=24,n=`currentColor`,r=2)=>{let i=W.get(e);if(i)return gn(i,t,n,r);if(Cn.includes(e)){let i=Nn(t,n,r);return wn.size>=500&&wn.delete(wn.keys().next().value),wn.set(i,e),Mn(),i}return console.warn(`Unknown Persona icon "${e}". Use registerIcons().`),null}}));Pn(),An(hn);function Fn(e){if(e.length===0)return`0:empty`;let t=e.map(e=>[e.name,e.description??``,e.parametersSchema?JSON.stringify(e.parametersSchema):``,e.origin??``,e.annotations?JSON.stringify(e.annotations):``].join(``)).sort();return`${e.length}:${Ln(t.join(``))}`}function In(e,t){let n=3735928559^t,r=1103547991^t;for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);n=Math.imul(n^i,2654435761),r=Math.imul(r^i,1597334677)}return n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>13,3266489909),4294967296*(2097151&r)+(n>>>0)}function Ln(e){return`${In(e,0).toString(36)}.${In(e,2654435761).toString(36)}`}var Rn,zn,Bn,Vn,Hn,Un,Wn,Gn,Kn=B((()=>{Rn=`webmcp:`,zn=/* @__PURE__ */ new Map,Bn=e=>{zn.clear();for(let t of e){let e=t.title?.trim();e&&zn.set(t.name,e)}},Vn=e=>zn.get(Un(e)),Hn=null,Un=e=>e.startsWith(`webmcp:`)?e.slice(7):e,Wn=e=>e.startsWith(Rn),Gn=()=>Hn?Hn():import(`@mcp-b/webmcp-polyfill`)}));function qn(e){return e===`card`?`collapsed`:e}function Jn(e){return e.split(`;`,1)[0].trim().toLowerCase()}function Yn(e,t){if(!e)return;let n=Object.entries(e);for(let[e,r]of n)if(Jn(e)===t)return{mode:qn(r),selector:Jn(e)};let r=`${t.split(`/`,1)[0]}/*`;for(let[e,t]of n)if(Jn(e)===r)return{mode:qn(t),selector:r}}function Xn(e,t){let n=e?.display,r=typeof n==`string`?{default:n}:n??{};if(t.file&&r.files){if(typeof r.files==`string`)return{mode:qn(r.files),matchedBy:{type:`files`}};let e=t.file.mimeType?Jn(t.file.mimeType):void 0,n=e?Yn(r.files.byMediaType,e):void 0;if(e&&n)return{mode:n.mode,matchedBy:{type:`mediaType`,mediaType:e,selector:n.selector}};if(r.files.default)return{mode:qn(r.files.default),matchedBy:{type:`files`}}}let i=r.byKind?.[t.artifactType];if(i)return{mode:qn(i),matchedBy:{type:`kind`,kind:t.artifactType,configuredBy:`byKind`}};let a=r.byType?.[t.artifactType];if(a)return{mode:qn(a),matchedBy:{type:`kind`,kind:t.artifactType,configuredBy:`byType`}};let o=t.presentation?.preferredMode;return o?{mode:qn(o),matchedBy:{type:`preferredMode`}}:r.default?{mode:qn(r.default),matchedBy:{type:`default`}}:{mode:`panel`,matchedBy:{type:`personaDefault`}}}function Zn(e,t){return Xn(e,t).mode}function Qn(e,t){return JSON.stringify({component:e===`inline`?`PersonaArtifactInline`:`PersonaArtifactCard`,props:{artifactId:t.artifactId,title:t.title,artifactType:t.artifactType,status:t.status,...t.file?{file:t.file}:{},...t.presentation?{presentation:t.presentation}:{},...e===`inline`&&t.component?{component:t.component}:{},...e===`inline`&&t.componentProps?{componentProps:t.componentProps}:{},...t.markdown===void 0?{}:{markdown:t.markdown}}})}var $n=B((()=>{})),er,tr=B((()=>{er=(e,t)=>{let n=t?.durationMs??15e3,r=t?.chars??1200;return typeof e.durationMs==`number`?e.durationMs<n:(e.chunks??[]).join(``).length<r}})),nr,rr,K,ir,ar,or,sr,cr,lr=B((()=>{tr(),nr=e=>e.replace(/\\n/g,`
5
+ `).replace(/\\r/g,`\r`).replace(/\\t/g,` `).replace(/\\"/g,`"`).replace(/\\\\/g,`\\`),rr=()=>{let e=null,t=0,n=e=>{let t=e.match(/"text"\s*:\s*"((?:[^"\\]|\\.|")*?)"/)?.[1]||e.match(/"text"\s*:\s*"((?:[^"\\]|\\.)*)/)?.[1];if(!t)return null;try{return nr(t)}catch{return t}};return{getExtractedText:()=>e,processChunk:async r=>{let i=r.trim();if(!i.startsWith(`{`)&&!i.startsWith(`[`))return null;if(r.length<=t)return e===null?null:{text:e,raw:r};let a=n(r);return a!==null&&(e=a),t=r.length,e===null?null:{text:e,raw:r}},close:async()=>{}}},K=e=>{try{let t=JSON.parse(e);if(t&&typeof t==`object`&&typeof t.text==`string`)return t.text}catch{return null}return null},ir=()=>{let e={processChunk:e=>null,getExtractedText:()=>null};return e.__isPlainTextParser=!0,e},ar=()=>rr(),or=()=>{let e=null,t=0;return{getExtractedText:()=>e,processChunk:n=>{let r=n.trim();if(!r.startsWith(`{`)&&!r.startsWith(`[`))return null;if(n.length<=t)return e!==null||e===``?{text:e||``,raw:n}:null;try{let t=Rt(n,z|Lt);t&&typeof t==`object`&&(t.component&&typeof t.component==`string`?e=typeof t.text==`string`?nr(t.text):``:t.type===`init`&&t.form?e=``:typeof t.text==`string`&&(e=nr(t.text)))}catch{}return t=n.length,e===null?null:{text:e,raw:n}},close:()=>{}}},sr=e=>{let t=null,n=0,r=e||(e=>{if(!e||typeof e!=`object`)return null;let t=e=>typeof e==`string`?nr(e):null;if(e.component&&typeof e.component==`string`)return typeof e.text==`string`?nr(e.text):``;if(e.type===`init`&&e.form)return``;if(e.action)switch(e.action){case`nav_then_click`:return t(e.on_load_text)||t(e.text)||null;case`message`:case`message_and_click`:case`checkout`:return t(e.text)||null;default:return t(e.text)||t(e.display_text)||t(e.message)||null}return t(e.text)||t(e.display_text)||t(e.message)||t(e.content)||null});return{getExtractedText:()=>t,processChunk:e=>{let i=e.trim();if(!i.startsWith(`{`)&&!i.startsWith(`[`))return null;if(e.length<=n)return t===null?null:{text:t,raw:e};try{let n=Rt(e,z|Lt),i=r(n);i!==null&&(t=i)}catch{}return n=e.length,{text:t||``,raw:e}},close:()=>{}}},cr=()=>{let e=null;return{processChunk:t=>{if(!t.trim().startsWith(`<`))return null;let n=t.match(/<text[^>]*>([\s\S]*?)<\/text>/);return n&&n[1]?(e=n[1],{text:e,raw:t}):null},getExtractedText:()=>e}}}));function ur(e,t){if(!e)return t;if(!t)return e;let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=dr(t)&&dr(r)?ur(t,r):r}return n}var dr,fr=B((()=>{dr=e=>typeof e==`object`&&!!e&&!Array.isArray(e)})),pr,mr,hr,gr,_r,vr,yr,br=B((()=>{fr(),pr=e=>{if(typeof e!=`string`)return;let t=e.trim(),n=/^#([\da-f]{3}|[\da-f]{6})$/i.exec(t)?.[1];if(n){let e=n.length===3?[...n].map(e=>e+e).join(``):n;return[0,2,4].map(t=>parseInt(e.slice(t,t+2),16))}let r=/^rgba?\(\s*([^)]*)\)$/i.exec(t);if(!r)return;let i=r[1].trim().split(/\s*[,/]\s*|\s+/);if(i.length===4&&/^(?:1(?:\.0+)?|100%)$/.test(i[3])&&i.pop(),i.length!==3)return;let a=i.map(e=>/^\d+(?:\.\d+)?%?$/.test(e)?Number.parseFloat(e)*(e.endsWith(`%`)?2.55:1):NaN);if(!a.some(e=>!Number.isFinite(e)||e<0||e>255))return a},mr=e=>e.reduce((e,t,n)=>{let r=t/255;return e+(r<=.04045?r/12.92:((r+.055)/1.055)**2.4)*[.2126,.7152,.0722][n]},0),hr=e=>`#`+e.map(e=>Math.round(e).toString(16).padStart(2,`0`)).join(``),gr=(e,t,n)=>hr(e.map(e=>e+(t-e)*n)),_r=e=>mr(e)>.179?`#000000`:`#ffffff`,vr=e=>{let t=pr(e?.neutral);return t?mr(t)<.18?`dark`:`light`:void 0},yr=(e,t=`light`,n,r=!1)=>{let i={};if(!e)return i;let a=pr(e.accent);if(a){let e={};for(let[t,n]of[[50,.96],[100,.9],[200,.75],[300,.55],[400,.25]])e[t]=gr(a,255,n);e[500]=hr(a);for(let[t,n]of[[600,.15],[700,.3],[800,.45],[900,.6],[950,.75]])e[t]=gr(a,0,n);let t=_r(a);i.palette={colors:{primary:e,accent:e}},i.semantic={colors:{primary:e[500],accent:e[500],interactive:{default:e[500],hover:e[600],focus:e[500],active:e[700]}}},i.components={button:{primary:{background:e[500],foreground:t}},launcher:{background:e[500],foreground:t},header:r?{background:`semantic.colors.container`,foreground:`semantic.colors.text`,iconBackground:`transparent`,iconForeground:`semantic.colors.text`}:{background:e[500],foreground:t,iconBackground:e[500],iconForeground:t},approval:{approve:{foreground:t}},message:r?{user:{background:`color-mix(in srgb, var(--persona-primary) 12%, var(--persona-container))`,text:`semantic.colors.text`},operator:{border:`color-mix(in srgb, var(--persona-primary) 35%, var(--persona-border))`}}:{user:{background:e[500],text:t}}}}let o=pr(e.neutral);if(o){let e=t===`dark`,n=e===mr(o)<.18?o:pr(gr(o,e?0:255,.9)),r=hr(n),a=gr(n,e?255:0,e?.06:.025),s=gr(n,e?255:0,e?.2:.16),c=_r(n),l={};for(let[e,t]of[[50,0],[100,.06],[200,.16],[300,.28],[400,.45],[500,.65],[600,.72],[700,.8],[800,.9],[900,.97],[950,1]])l[e]=gr(n,c===`#ffffff`?255:0,t);i.palette={...i.palette,colors:{...i.palette?.colors,gray:l}},i.semantic={...i.semantic,colors:{...i.semantic?.colors,surface:r,background:r,container:a,border:s,divider:s,text:c,textMuted:gr(n,c===`#ffffff`?255:0,.65)}},i.components={...i.components,panel:{background:r},header:{...i.components?.header,background:r,foreground:c},composer:{footerBackground:r}}}if(a){let e=pr(i.semantic?.colors?.surface)??(t===`dark`?[15,15,16]:[255,255,255]),n=hr(a),r=_r(e)===`#ffffff`?255:0;for(let t=0;t<=1;t+=.1){n=gr(a,r,t);let i=mr(pr(n)),o=mr(e);if((Math.max(i,o)+.05)/(Math.min(i,o)+.05)>=4.5)break}i.components={...i.components,markdown:{link:{foreground:n}},input:{focus:{border:n,ring:n}}}}e.font?.trim()&&(i.semantic={...i.semantic,typography:{fontFamily:e.font}});let s={none:`0px`,sm:`4px`,md:`8px`,lg:`16px`}[e.radius??`none`];e.radius&&s&&(i.palette={...i.palette,radius:{none:`0px`,sm:s,md:s,lg:s,xl:s,"2xl":s}},i.components={...i.components,input:{...i.components?.input,borderRadius:s},header:{...i.components?.header,controlBorderRadius:s}});let c={compact:[13,44,8],comfortable:[14,48,12],spacious:[15,52,16]}[e.density??`comfortable`];if(e.density&&c){let[e,t,n]=c;i.semantic={...i.semantic,typography:{...i.semantic?.typography,fontSize:`${e}px`}},i.components={...i.components,header:{...i.components?.header,minHeight:`${t}px`,padding:`${n}px 16px`,minimalPadding:`${n}px 16px`},history:{railHeader:{minHeight:`${t}px`}},composer:{...i.components?.composer,fontSize:`${e}px`,padding:`${n}px`,gap:`${n/2}px`},message:{...i.components?.message,gap:`${n}px`,user:{...i.components?.message?.user,fontSize:`${e}px`},assistant:{fontSize:`${e}px`},operator:{...i.components?.message?.operator,fontSize:`${e}px`}}}}if(e.elevation&&[`flat`,`subtle`,`raised`].includes(e.elevation)){let t=e.elevation===`flat`,a=t?`none`:e.elevation===`subtle`?`0 2px 8px rgba(0, 0, 0, 0.08)`:`0 12px 32px rgba(0, 0, 0, 0.18)`,o=t?`1px solid var(--persona-border)`:`1px solid color-mix(in srgb, var(--persona-border) 65%, transparent)`;i.palette={...i.palette,shadows:{sm:a,md:a,lg:a,xl:a,"2xl":a}};let s=(e,n=``)=>{let i={};if(r&&n===`message.assistant`)return i;for(let[r,c]of Object.entries(e))if(r.toLowerCase().endsWith(`shadow`)){i[r]=a;let n=r===`shadow`?`border`:r.replace(/Shadow$/,`Border`);n in e&&(i[n]=typeof e[n]==`string`&&e[n].includes(`solid`)?o:t?`semantic.colors.border`:`color-mix(in srgb, var(--persona-border) 65%, transparent)`)}else if(c&&typeof c==`object`){let e=s(c,n?`${n}.${r}`:r);Object.keys(e).length&&(i[r]=e)}return i},c=n?s(n):{};i.components=ur(i.components,c),i.components={...i.components,panel:{...i.components?.panel,shadow:a,modes:{floating:{shadow:a,border:o},inline:{shadow:a,border:o},docked:{shadow:a,border:o},sidebar:{shadow:a,border:o},mobile:{shadow:a,border:o}}},launcher:{...i.components?.launcher,shadow:a,border:`semantic.colors.border`},composer:{...i.components?.composer,shadow:a,borderColor:`semantic.colors.border`},toolBubble:{shadow:a},reasoningBubble:{shadow:a}}}return i}}));function xr(e,t=``){return Object.entries(e).flatMap(([e,n])=>{let r=t?`${t}.${e}`:e;return kr(n)?xr(n,r):[r]})}function Sr(e,t){let n=t.split(`.`);for(let t=0;t<n.length;t++){let r=n[t];if(!kr(e)||!Object.prototype.hasOwnProperty.call(e,r))return`absent`;if(e=e[r],e===void 0||t<n.length-1&&!kr(e))return`clear`}return`explicit`}function Cr(e,t){return e?.[Or]??t.filter(t=>Sr(e,t)===`explicit`)}function wr(e,t){return Object.defineProperty(e,Or,{value:t,enumerable:!0,configurable:!0}),e}function Tr(e,t,n){return wr(e,Cr(t,xr(n)))}function Er(e,t,n){let r=t[Or];if(r)return r;let i=new Set(Cr(e,n));for(let e of n){let n=Sr(t,e);n===`clear`&&i.delete(e),n===`explicit`&&i.add(e)}return[...i]}function Dr(e,t,n){let r={...e};for(let e of t){if(n.includes(e))continue;let t=e.split(`.`),i=r;for(let e of t.slice(0,-1)){let t=i[e];if(!kr(t)){i=void 0;break}i[e]={...t},i=i[e]}i&&delete i[t[t.length-1]]}return r}var Or,kr,Ar=B((()=>{Or=Symbol.for(`persona.defaultsProvenance`),kr=e=>typeof e==`object`&&!!e&&!Array.isArray(e)})),jr,Mr,Nr,Pr,Fr,Ir,Lr,Rr,zr,Br,Vr,Hr,Ur,Wr,Gr=B((()=>{br(),Ar(),jr=(e,t)=>t.split(` `).map(t=>`${e}.${t}`),Mr=[...jr(`launcher`,`closeButtonSize closeButtonColor closeButtonBackgroundColor closeButtonBorderWidth closeButtonBorderColor closeButtonBorderRadius closeButtonPaddingX closeButtonPaddingY`),...jr(`launcher.clearChat`,`size iconColor backgroundColor borderWidth borderColor borderRadius paddingX paddingY`),...jr(`sendButton`,`size iconSize iconStrokeWidth backgroundColor textColor borderWidth borderColor paddingX paddingY`),...jr(`voiceRecognition`,`iconSize iconColor backgroundColor borderColor borderWidth paddingX paddingY recordingIconColor recordingBackgroundColor recordingBorderColor processingIconColor processingBackgroundColor processingBorderColor speakingIconColor speakingBackgroundColor speakingBorderColor`),...jr(`toolCall`,`shadow backgroundColor borderColor borderWidth borderRadius headerBackgroundColor headerTextColor headerPaddingX headerPaddingY contentBackgroundColor contentTextColor contentPaddingX contentPaddingY codeBlockBackgroundColor codeBlockBorderColor codeBlockTextColor toggleTextColor labelTextColor loadingAnimationColor loadingAnimationSecondaryColor loadingAnimationDuration`),...jr(`approval`,`backgroundColor borderColor shadow titleColor descriptionColor reasonColor approveButtonColor approveButtonTextColor denyButtonColor denyButtonTextColor parameterBackgroundColor parameterTextColor`),...jr(`features.askUserQuestion.styles`,`sheetBackground sheetBorder sheetShadow pillBackground pillBackgroundSelected pillTextColor pillTextColorSelected pillBorderRadius customInputBackground`),...jr(`features.artifacts.layout`,`paneBackground panePadding paneBorderRadius paneShadow chatShadow paneBorder paneBorderLeft unifiedSplitOuterRadius documentToolbarIconColor documentToolbarToggleActiveBackground documentToolbarToggleActiveBorderColor documentToolbarToggleActiveColor tabFadeSize`),...jr(`suggestionChipsConfig`,`fontWeight paddingX paddingY`)],Nr=[`voice.recording.border`,`voice.processing.icon`,`voice.processing.background`,`voice.speaking.icon`,`approval.requested.text`,`approval.approve.foreground`,`approval.deny.foreground`,`approval.deny.background`,`reasoningBubble.shadow`,`toolBubble.shadow`],Pr=[...Mr,`suggestionChips`,`copy.welcomeTitle`,`copy.welcomeSubtitle`,`copy.showWelcomeCard`,`features.suggestReplies.enabled`,`features.suggestReplies.expose`,...[`theme`,`darkTheme`].flatMap(e=>Nr.map(t=>`${e}.components.${t}`))],Fr=Symbol.for(`persona.styleProvenance`),Ir=e=>e[Fr]!==void 0,Lr=(e,t)=>{for(let n of t.split(`.`)){if(typeof e!=`object`||!e)return;e=e[n]}return e},Rr=e=>{let t=e?.[Fr];if(!t)return Pr.filter(t=>Sr(e,t)===`explicit`);let n=new Set(t.explicit);return Pr.forEach(r=>{Lr(e,r)!==t.values[r]&&(Sr(e,r)===`explicit`?n.add(r):n.delete(r))}),[...n]},zr=(e,t)=>(Object.defineProperty(e,Fr,{value:{explicit:t,values:Object.fromEntries(Pr.map(t=>[t,Lr(e,t)]))},enumerable:!0,configurable:!0}),e),Br=(e,t)=>zr(e,Rr(t)),Vr=(e,t)=>{if(t[Fr])return Rr(t);let n=new Set(Rr(e));for(let e of Pr){let r=Sr(t,e);r===`clear`&&n.delete(e),r===`explicit`&&n.add(e)}return[...n]},Hr=(e,t)=>{let n=e?.[Fr];return!n||!Object.prototype.hasOwnProperty.call(n.values,t)||Lr(e,t)!==n.values[t]?Sr(e,t)===`explicit`:n.explicit.includes(t)},Ur=(e,t)=>Hr(e,t)?Lr(e,t):void 0,Wr=(e,t,n)=>{let r=e,i=n??r?.colorScheme??vr(r?.brand)??`light`,a=i===`dark`||i===`auto`&&(typeof document<`u`&&document.documentElement.classList.contains(`dark`)||typeof window<`u`&&window.matchMedia?.(`(prefers-color-scheme: dark)`).matches);return Hr(e,`theme.components.${t}`)||a&&Hr(e,`darkTheme.components.${t}`)}})),q,J,Y,Kr=B((()=>{q=(e,t)=>{let n=document.createElement(e);return t&&(n.className=t),n},J=(e,t={},...n)=>{let r=document.createElement(e);if(t.className&&(r.className=t.className),t.text!==void 0&&(r.textContent=t.text),t.attrs)for(let[e,n]of Object.entries(t.attrs))r.setAttribute(e,n);if(t.style){let e=r.style,n=t.style;for(let t of Object.keys(n)){let r=n[t];r!=null&&(e[t]=r)}}let i=n.filter(e=>e!=null);return i.length>0&&r.append(...i),r},Y=(...e)=>e.filter(Boolean).join(` `)})),qr,Jr,Yr,Xr,Zr,Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci,li,ui,di,fi,pi,mi,hi,gi,_i,vi,yi,bi,xi,Si,Ci,wi,Ti,Ei,Di,Oi,ki,Ai,ji,X,Mi,Ni,Pi,Fi,Ii,Li,Ri,zi,Bi,Vi,Hi,Ui,Wi,Gi,Ki,Z=B((()=>{Gr(),Kr(),qr=`ask_user_question`,Jr=`data-persona-ask-sheet-for`,Yr=`Other`,Xr=`Other…`,Zr=`Type your own answer here`,Qr=`Send`,$r=`Next`,ei=`Back`,ti=`Submit all`,ni=`Skip`,ri=3,ii=`data-ask-current-index`,ai=`data-ask-question-count`,oi=`data-ask-answers`,si=`data-ask-grouped`,ci=`data-ask-layout`,li=e=>e.layout===`pills`?`pills`:`rows`,ui=e=>e.getAttribute(`data-ask-layout`)===`pills`?`pills`:`rows`,di=!1,fi=e=>e.replace(/["\\]/g,`\\$&`),pi=e=>e.variant===`tool`&&!!e.toolCall&&e.toolCall.name===`ask_user_question`,mi=e=>e?.features?.askUserQuestion??{},hi=e=>{let t=e.toolCall;if(!t)return{payload:null,complete:!1};let n=t.status===`complete`;if(t.args&&typeof t.args==`object`)return{payload:t.args,complete:n};let r=t.chunks;if(!r||r.length===0)return{payload:null,complete:n};try{let e=r.join(``),t=Rt(e,z|Lt|It);if(t&&typeof t==`object`)return{payload:t,complete:n}}catch{}return{payload:null,complete:n}},gi=e=>{let t=Array.isArray(e?.questions)?e.questions:[];return t.length>8&&!di&&(di=!0,typeof console<`u`&&console.warn(`[AgentWidget] ask_user_question received ${t.length} questions; truncating to 8.`)),t.slice(0,8)},_i=e=>gi(e)[0]??null,vi=(e,t)=>gi(e)[t]??null,yi={sheetBackground:`--persona-ask-sheet-bg`,sheetBorder:`--persona-ask-sheet-border`,sheetShadow:`--persona-ask-sheet-shadow`,pillBackground:`--persona-ask-pill-bg`,pillBackgroundSelected:`--persona-ask-pill-bg-selected`,pillTextColor:`--persona-ask-pill-fg`,pillTextColorSelected:`--persona-ask-pill-fg-selected`,pillBorderRadius:`--persona-ask-pill-radius`,customInputBackground:`--persona-ask-input-bg`},bi=(e,t)=>{Object.entries(yi).forEach(([n,r])=>{let i=Ur(t,`features.askUserQuestion.styles.${n}`);typeof i==`string`&&i?e.style.setProperty(r,i):e.style.removeProperty(r)})},xi=(e,t,n)=>{if(e!==`rows`)return null;let r=q(`span`,`persona-ask-row-affordance`);if(r.setAttribute(`aria-hidden`,`true`),t){let e=q(`span`,`persona-ask-row-check`);r.appendChild(e)}else{let e=q(`span`,`persona-ask-row-badge`);e.textContent=String(n+1),r.appendChild(e)}return r},Si=(e,t,n,r)=>{let i=q(`button`,n===`rows`?`persona-ask-pill persona-ask-row persona-pointer-events-auto`:`persona-ask-pill persona-pointer-events-auto`);if(i.type=`button`,i.setAttribute(`role`,r?`checkbox`:`button`),i.setAttribute(`aria-pressed`,`false`),i.setAttribute(`data-ask-user-action`,`pick`),i.setAttribute(`data-option-index`,String(t)),i.setAttribute(`data-option-label`,e.label),n===`rows`){let a=q(`span`,`persona-ask-row-content`),o=q(`span`,`persona-ask-row-label`);if(o.textContent=e.label,a.appendChild(o),e.description){let t=q(`span`,`persona-ask-row-description`);t.textContent=e.description,a.appendChild(t)}i.appendChild(a);let s=xi(n,r,t);s&&i.appendChild(s)}else i.textContent=e.label,e.description&&(i.title=e.description);return i},Ci=e=>{let t=q(`span`,e===`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 t.setAttribute(`aria-hidden`,`true`),t},wi=(e,t,n,r)=>{let i=q(`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`);i.setAttribute(`role`,`group`),i.setAttribute(`data-ask-pill-list`,`true`);let a=!!e?.multiSelect,o=(Array.isArray(e?.options)?e.options:[]).filter(e=>e&&typeof e.label==`string`&&e.label.length>0);if(o.length===0&&!n){for(let e=0;e<ri;e++)i.appendChild(Ci(r));return i}if(o.forEach((e,t)=>{i.appendChild(Si(e,t,r,a))}),e?.allowFreeText!==!1){let e=r===`rows`?Yr:Xr;if(r===`rows`){let n=q(`div`,`persona-ask-pill persona-ask-row persona-ask-row--other persona-ask-pill-custom persona-pointer-events-auto`);n.setAttribute(`data-ask-user-action`,`focus-free-text`),n.setAttribute(`data-option-index`,String(o.length)),n.setAttribute(`data-ask-other-row`,`true`);let s=q(`span`,`persona-ask-row-content`),c=document.createElement(`input`);c.type=`text`,c.className=`persona-ask-row-input persona-flex-1 persona-pointer-events-auto`,c.placeholder=t.freeTextPlaceholder??Zr,c.setAttribute(`data-ask-free-text-input`,`true`),c.setAttribute(`aria-label`,t.freeTextLabel??e),s.appendChild(c),n.appendChild(s);let l=xi(r,a,o.length);l&&n.appendChild(l),i.appendChild(n)}else{let n=q(`button`,`persona-ask-pill persona-ask-pill-custom persona-pointer-events-auto`);n.type=`button`,n.setAttribute(`data-ask-user-action`,`open-free-text`),n.textContent=t.freeTextLabel??e,i.appendChild(n)}}return i},Ti=(e,t)=>{let n=q(`div`,t===`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`);n.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=e.freeTextPlaceholder??Zr,r.setAttribute(`data-ask-free-text-input`,`true`),n.appendChild(r),t!==`rows`){let t=q(`button`,`persona-ask-free-text-submit persona-pointer-events-auto`);t.type=`button`,t.textContent=e.submitLabel??Qr,t.setAttribute(`data-ask-user-action`,`submit-free-text`),n.appendChild(t)}return n},Ei=e=>{let t=q(`div`,`persona-ask-multi-actions persona-flex persona-justify-end persona-mt-2`);t.setAttribute(`data-ask-multi-actions`,`true`);let n=q(`button`,`persona-ask-multi-submit persona-pointer-events-auto`);return n.type=`button`,n.textContent=e.submitLabel??Qr,n.setAttribute(`data-ask-user-action`,`submit-multi`),n.disabled=!0,t.appendChild(n),t},Di=(e,t,n)=>{let r=q(`div`,`persona-ask-nav persona-flex persona-justify-between persona-items-center persona-gap-2 persona-mt-2`);r.setAttribute(`data-ask-nav-row`,`true`);let i=q(`button`,`persona-ask-nav-back persona-pointer-events-auto`);i.type=`button`,i.textContent=n.backLabel??ei,i.setAttribute(`data-ask-user-action`,`back`),i.disabled=e===0,r.appendChild(i);let a=q(`div`,`persona-ask-nav-right persona-flex persona-items-center persona-gap-2`),o=q(`button`,`persona-ask-nav-skip persona-pointer-events-auto`);o.type=`button`,o.textContent=n.skipLabel??ni,o.setAttribute(`data-ask-user-action`,`skip`),a.appendChild(o);let s=q(`button`,`persona-ask-nav-next persona-pointer-events-auto`);s.type=`button`;let c=e===t-1;return s.textContent=c?n.submitAllLabel??ti:n.nextLabel??$r,s.setAttribute(`data-ask-user-action`,c?`submit-all`:`next`),s.disabled=!0,a.appendChild(s),r.appendChild(a),r},Oi=e=>{let t=e.getAttribute(oi);if(!t)return{};try{let e=JSON.parse(t);return e&&typeof e==`object`?e:{}}catch{return{}}},ki=(e,t)=>{e.setAttribute(oi,JSON.stringify(t))},Ai=e=>{let t=Number(e.getAttribute(`data-ask-current-index`)??`0`);return Number.isFinite(t)?Math.max(0,Math.floor(t)):0},ji=(e,t)=>{e.setAttribute(ii,String(Math.max(0,Math.floor(t))))},X=e=>{let t=Number(e.getAttribute(`data-ask-question-count`)??`1`);return Number.isFinite(t)?Math.max(1,Math.floor(t)):1},Mi=e=>e.getAttribute(si)===`true`,Ni=(e,t)=>{let n=e.agentMetadata?.askUserQuestionAnswers;if(!n||typeof n!=`object`)return{};let r={};return t.forEach((e,t)=>{let i=typeof e?.question==`string`?e.question:``;if(i&&Object.prototype.hasOwnProperty.call(n,i)){let e=n[i];(typeof e==`string`||Array.isArray(e))&&(r[t]=e)}}),r},Pi=(e,t)=>{let n=e.agentMetadata?.askUserQuestionIndex;return typeof n!=`number`||!Number.isFinite(n)?0:Math.max(0,Math.min(t-1,Math.floor(n)))},Fi=(e,t)=>{let{payload:n}=hi(t),r=gi(n),i=Oi(e),a={},o=/* @__PURE__ */ new Set;return r.forEach((e,t)=>{let n=typeof e?.question==`string`?e.question:``;n&&(o.has(n)&&typeof console<`u`&&console.warn(`[AgentWidget] ask_user_question has duplicate question text "${n}"; later answer wins.`),o.add(n),Object.prototype.hasOwnProperty.call(i,t)&&(a[n]=i[t]))}),a},Ii=e=>{let t=Oi(e)[Ai(e)],n=/* @__PURE__ */ new Set;typeof t==`string`?n.add(t):Array.isArray(t)&&t.forEach(e=>n.add(e));let r=e.querySelectorAll(`[data-ask-user-action="pick"][data-option-label]`);r.forEach(e=>{let t=e.getAttribute(`data-option-label`)??``,r=n.has(t);e.setAttribute(`aria-pressed`,r?`true`:`false`),e.classList.toggle(`persona-ask-pill-selected`,r)});let i=new Set(Array.from(r).map(e=>e.getAttribute(`data-option-label`)??``)),a=e.querySelector(`[data-ask-free-text-input="true"]`);a&&(typeof t==`string`&&t.length>0&&!i.has(t)?(a.value=t,a.closest(`[data-ask-free-text-row="true"]`)?.classList.remove(`persona-hidden`)):a.value=``)},Li=e=>{if(!Mi(e))return;let t=Oi(e)[Ai(e)],n=typeof t==`string`&&t.length>0||Array.isArray(t)&&t.length>0,r=e.querySelector(`[data-ask-user-action="next"], [data-ask-user-action="submit-all"]`);r&&(r.disabled=!n);let i=e.querySelector(`[data-ask-user-action="submit-multi"]`);i&&(i.disabled=Array.from(e.querySelectorAll(`[aria-pressed="true"][data-option-label]`)).length===0)},Ri=(e,t,n)=>{let r=mi(n),i=ui(e),{payload:a,complete:o}=hi(t),s=Mi(e),c=Ai(e),l=X(e),u=s?vi(a,c):_i(a),d=!!u?.multiSelect,f=e.querySelector(`[data-ask-step-inline="true"]`);f&&(f.textContent=s?`${c+1}/${l}`:``);let p=e.querySelector(`[data-ask-stepper="true"]`);p&&p.remove();let m=e.querySelector(`[data-ask-question="true"]`);if(m){let e=typeof u?.question==`string`?u.question:``;m.textContent=e,m.classList.toggle(`persona-ask-question-skeleton`,!e&&!o)}let h=e.querySelector(`[data-ask-pill-list="true"]`);if(h){let e=wi(u,r,o,i);h.replaceWith(e)}if(i!==`rows`){let t=e.querySelector(`[data-ask-free-text-row="true"]`);t&&t.replaceWith(Ti(r,i))}let g=e.querySelector(`[data-ask-multi-actions="true"]`);!s&&d&&!g?e.appendChild(Ei(r)):(!d||s)&&g&&g.remove(),e.setAttribute(`data-multi-select`,d?`true`:`false`);let _=e.querySelector(`[data-ask-nav-row="true"]`);if(s){let t=Di(c,l,r);_?_.replaceWith(t):e.appendChild(t)}else _&&_.remove();Ii(e),Li(e)},zi=(e,t,n)=>{let r=mi(t),i=li(r),a=e.toolCall.id,o=gi(n),s=Math.max(1,o.length),c=s>1,l=Ni(e,o),u=c?Pi(e,s):0,d=q(`div`,[`persona-ask-sheet`,`persona-ask-sheet--${i}`,`persona-pointer-events-auto`,`persona-ask-sheet-enter`].join(` `));d.setAttribute(Jr,a),d.setAttribute(`data-tool-call-id`,a),d.setAttribute(`data-message-id`,e.id),d.setAttribute(ai,String(s)),d.setAttribute(ii,String(u)),d.setAttribute(si,c?`true`:`false`),d.setAttribute(ci,i),ki(d,l),d.setAttribute(`role`,`group`),d.setAttribute(`aria-label`,`Suggested answers`),r.slideInMs!==void 0&&d.style.setProperty(`--persona-ask-sheet-duration`,`${r.slideInMs}ms`),bi(d,t);let f=q(`div`,`persona-ask-sheet-header persona-flex persona-items-center persona-gap-3`),p=q(`div`,`persona-ask-sheet-question persona-flex-1`);p.setAttribute(`data-ask-question`,`true`),p.textContent=``,f.appendChild(p);let m=q(`span`,`persona-ask-sheet-step-inline`);m.setAttribute(`data-ask-step-inline`,`true`),m.textContent=``,f.appendChild(m),d.appendChild(f);let h=q(`div`,i===`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 h.setAttribute(`data-ask-pill-list`,`true`),h.setAttribute(`role`,`group`),d.appendChild(h),i!==`rows`&&d.appendChild(Ti(r,i)),Ri(d,e,t),requestAnimationFrame(()=>{requestAnimationFrame(()=>d.classList.remove(`persona-ask-sheet-enter`))}),d},Bi=(e,t,n)=>{bi(e,n);let{payload:r}=hi(t),i=Math.max(1,gi(r).length);i>X(e)&&(e.setAttribute(ai,String(i)),i>1&&!Mi(e)&&e.setAttribute(si,`true`)),Ri(e,t,n)},Vi=(e,t)=>{let n=q(`div`,`persona-ask-stub persona-inline-flex persona-items-center persona-gap-2`);n.id=`bubble-${e.id}`,n.setAttribute(`data-message-id`,e.id),n.setAttribute(`data-bubble-type`,`ask-user-question`),bi(n,t);let r=q(`span`,`persona-ask-stub-label`),{complete:i}=hi(e);return r.textContent=i?`Awaiting your response…`:`Preparing options…`,n.appendChild(r),n},Hi=(e,t,n)=>{if(!n||!pi(e)||mi(t).enabled===!1)return;let r=e.toolCall.id;n.querySelectorAll(`[${Jr}]`).forEach(e=>{e.getAttribute(Jr)!==r&&e.remove()});let i=n.querySelector(`[${Jr}="${fi(r)}"]`);if(i){Bi(i,e,t);return}let{payload:a}=hi(e),o=zi(e,t,a);n.appendChild(o)},Ui=(e,t)=>{if(!e)return;let n=t?`[${Jr}="${fi(t)}"]`:`[${Jr}]`;e.querySelectorAll(n).forEach(e=>{e.classList.add(`persona-ask-sheet-leave`);let t=Number.parseInt(getComputedStyle(e).getPropertyValue(`--persona-ask-sheet-duration`)||`180`,10);setTimeout(()=>e.remove(),Number.isFinite(t)?t:180)})},Wi=e=>Array.from(e.querySelectorAll(`[aria-pressed="true"][data-option-label]`)).map(e=>e.getAttribute(`data-option-label`)).filter(e=>typeof e==`string`&&e.length>0),Gi=(e,t)=>{let n=Oi(e),r=Ai(e);typeof t==`string`&&t.length===0||Array.isArray(t)&&t.length===0?delete n[r]:n[r]=t,ki(e,n),Ii(e),Li(e)},Ki=(e,t,n,r)=>{let i=X(e),a=Math.max(0,Math.min(i-1,r));ji(e,a),Ri(e,t,n)}})),qi,Ji,Yi,Xi,Zi,Qi,$i,ea,ta,na,ra,ia=B((()=>{qi=`suggest_replies`,Ji={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:`object`,properties:{label:{type:`string`,minLength:1,maxLength:80},prompt:{type:`string`,minLength:1,maxLength:500},description:{type:`string`,minLength:1,maxLength:160}},required:[`label`],additionalProperties:!1}}},required:[`suggestions`],additionalProperties:!1},Yi={name:qi,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. Give each suggestion a `label` with the short visible text, an optional `prompt` with the fuller text placed as the user's message (defaults to the label), and an optional `description` with one line of supporting copy. Suggestions are sent as the user's next message, so phrase prompts 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:Ji,origin:`sdk`,annotations:{readOnlyHint:!0}},Xi=e=>{let t=e?.suggestions?.followUps?.maxItems,n=typeof t==`number`&&Number.isFinite(t)?Math.max(1,Math.floor(t)):e?.future?.v5Defaults?5:4;return n===4?Yi:{...Yi,parametersSchema:{...Ji,properties:{suggestions:{...Ji.properties.suggestions,maxItems:n,description:`1-${n} short, distinct follow-up replies, phrased in the user's voice.`}}}}},Zi=()=>({content:[{type:`text`,text:`Suggestions shown to the user.`}]}),Qi=e=>e.variant===`tool`&&e.toolCall?.name===`suggest_replies`,$i=(e,t=4)=>{let n=e;if(typeof n==`string`)try{n=JSON.parse(n)}catch{return[]}let r=n?.suggestions;if(!Array.isArray(r))return[];let i=r.flatMap(e=>{if(typeof e==`string`){let t=e.trim();return t?[t]:[]}if(!e||typeof e!=`object`)return[];let t=e;if(typeof t.label!=`string`||!t.label.trim())return[];let n={label:t.label.trim()};return typeof t.prompt==`string`&&t.prompt.trim()&&(n.prompt=t.prompt.trim()),typeof t.description==`string`&&t.description.trim()&&(n.description=t.description.trim()),[n]});return i.length>t?(console.warn(`[persona] suggest_replies: ${i.length} suggestions exceeds the cap of ${t}; extra suggestions dropped.`),i.slice(0,t)):i},ea=(e,t=4)=>{for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.role===`user`)return null;if(!Qi(r))continue;let i=$i(r.toolCall?.args,t);return i.length>0?i:null}return null},ta=/* @__PURE__ */ new Set,na=(e,t,n)=>{let r=`${e}:${t}:${n}`;ta.has(r)||(ta.add(r),console.warn(`[persona] suggestions.followUps.${e} and features.suggestReplies.${e} disagree; suggestions.followUps.${e} wins.`))},ra=e=>{let t=e?.suggestions?.followUps,n=e?.features?.suggestReplies,r=e=>{let r=t?.[e],i=n?.[e];r!==void 0&&i!==void 0&&r!==i&&na(e,i,r)};e&&(r(`enabled`),r(`expose`));let i=t?.enabled??n?.enabled??!0;return{enabled:i,expose:i?t?.expose??n?.expose??!1:!1}}})),aa,oa,sa,ca=B((()=>{Z(),ia(),aa={type:`object`,properties:{questions:{type:`array`,minItems:1,maxItems:8,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},oa={name:qr,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:aa,origin:`sdk`,annotations:{readOnlyHint:!0}},sa=e=>{let t=[],n=e?.features?.askUserQuestion;return n?.expose===!0&&n.enabled!==!1&&t.push(oa),ra(e).expose&&t.push(Xi(e)),t}})),la,ua,da,fa=B((()=>{la={idle:`Online`,connecting:`Connecting…`,connected:`Streaming…`,error:`Offline`,paused:`Connection lost…`,resuming:`Reconnecting…`},ua=1e5,da=100001}));async function pa(e,t,n,r){let i={"Content-Type":`application/json`,...e.headers};e.getHeaders&&Object.assign(i,await e.getHeaders());let a={executionId:t.executionId,approvalId:t.approvalId,decision:n,streamResponse:!0},o=(t,n)=>fetch(`${e.clientApiBase()}${t}`,{method:`POST`,headers:i,body:JSON.stringify({...n,...a})}),s=`/v1/agents/${t.agentId}/approve`;if(!e.isClientTokenMode())return o(s);let{sessionId:c}=await e.initSession(),l=await o(`/v1/client/approve`,{sessionId:c,...r?.assistantMessageId?{assistantMessageId:r.assistantMessageId}:{}});if(l.status===404){let e=await l.clone().json().catch(()=>null);if(!e||e.error===`Not Found`)return o(s)}return l}async function ma(e,t,n,r){let i=e.isClientTokenMode(),a=i?e.getClientApiUrl(`resume`):`${e.config.apiUrl?.replace(/\/+$/,``)||`https://api.runtype.com`}/resume`,o,s=null;if(i){let t=await e.initSession();o=t.sessionId,t.durableRecovery?.enabled===!0&&(s=await e.readVisitorToken())}let c={"Content-Type":`application/json`,...s?{"X-Visitor-Token":s}:{},...e.headers};e.getHeaders&&Object.assign(c,await e.getHeaders());let l={executionId:t,toolOutputs:n,streamResponse:r?.streamResponse??!0,...r?.after?{after:r.after}:{}};if(o&&(l.sessionId=o,r?.assistantMessageId&&(l.assistantMessageId=r.assistantMessageId)),i&&o){let t=[...sa(e.config),...await(await e.getWebMcpBridge())?.snapshotForDispatch()??[]],{response:n,commit:i}=await e.sendWithClientToolsDiff(o,t,t=>{let n={...l,...t};return e.debug&&console.debug(`[AgentWidgetClient] client token resume`,n),fetch(a,{method:`POST`,headers:c,body:JSON.stringify(n),signal:r?.signal})},{emptyMeansReplace:!0});return n.ok&&i(),n}return fetch(a,{method:`POST`,headers:c,body:JSON.stringify(l),signal:r?.signal})}var ha=B((()=>{ca(),fa()})),ga=/* @__PURE__ */ Vt({preferFinalStructuredContent:()=>va,resolveApproval:()=>pa,resumeFlow:()=>ma,streamResponse:()=>ba});function _a(e){let t=e.toLowerCase(),n=t===`text/plain`?`txt`:t===`text/markdown`?`md`:void 0;if(n)return`attachment.${n}`;let r=t.indexOf(`/`);if(r>0){let e=t.slice(r+1).split(`;`)[0]?.trim()??``;if(e&&e!==`octet-stream`&&/^[a-z0-9.+-]+$/i.test(e))return`attachment.${e}`}return`attachment`}function va(e,t){if(!e)return t;let n=e.trim(),r=t.trim();if(!n)return t;if(!r)return e;let i=Sa(n);if(!Sa(r))return e;if(!i||r.startsWith(n))return t;let a=K(e);return K(t)!==null&&a===null?t:e}async function ya(e,t,n,r,i,a,o){if(!e.parseSSEEvent)return!1;try{let s=await e.parseSSEEvent(t);if(s===null)return!1;let c=e=>{let t={id:`assistant-${Date.now()}-${Math.random().toString(16).slice(2)}`,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!0,variant:`assistant`,sequence:a(),...e!==void 0&&{partId:e}};return r.current=t,i(t),t},l=e=>r.current?r.current:c(e);if(s.text!==void 0){s.partId!==void 0&&o.current!==null&&s.partId!==o.current&&(r.current&&(r.current.streaming=!1,i(r.current)),c(s.partId)),s.partId!==void 0&&(o.current=s.partId);let e=l(s.partId);s.partId!==void 0&&!e.partId&&(e.partId=s.partId),e.content+=s.text,i(e)}return s.done&&(r.current&&(r.current.streaming=!1,i(r.current)),o.current=null,n({type:`status`,status:`idle`})),s.error&&(o.current=null,n({type:`error`,error:Error(s.error)})),!0}catch(e){return typeof console<`u`&&console.error(`[AgentWidget] parseSSEEvent error:`,e),!1}}async function ba(e,t,n,r,i,a,o,s){let c=e.streamGeneration(),l=t.getReader();e.streamReaders.add(l);let u=!!e.config().backgroundConversations,d=()=>{u&&l.cancel().catch(()=>{})};a?.addEventListener(`abort`,d,{once:!0});let f=new TextDecoder,p=``,m=Date.now(),h=0,g=()=>m+h++,_=e=>({...e,chunks:e.chunks?[...e.chunks]:void 0}),v=e=>({...e,reasoning:e.reasoning?{...e.reasoning,chunks:[...e.reasoning.chunks]}:void 0,toolCall:e.toolCall?_(e.toolCall):void 0,tools:e.tools?.map(_)}),y=e=>{if(e.role!==`assistant`||e.variant)return!0;let t=Array.isArray(e.contentParts)&&e.contentParts.length>0,n=typeof e.rawContent==`string`&&e.rawContent.trim()!==``;return typeof e.content==`string`&&e.content.trim()!==``||t||n||!!e.stopReason},b=t=>{!a?.aborted&&c===e.streamGeneration()&&y(t)&&n({type:`message`,message:v(t)})},x=null,S=null,C={current:null},ee={current:null},w=null,te=``,T=new Map(s?.textPhases),E=/* @__PURE__ */ new Map,ne=/* @__PURE__ */ new Map,re=/* @__PURE__ */ new Map,D=/* @__PURE__ */ new Map,ie=/* @__PURE__ */ new Map,ae=r,oe=!1,se=o?.find(e=>e.id===r);se&&(x=v(se),x.streaming=s?.openAssistant??!0,oe=!0,w=se.agentMetadata?.textBlockId??null,te=se.rawContent??se.content,S=x,s&&!s.openAssistant&&(x=null)),s&&(w=s.textBlockId,te=s.rawText,s.nestedParents.forEach(([e,t])=>E.set(e,t)),s.nestedRaw.forEach(([e,t])=>re.set(e,t)));for(let e of o??[]){e.variant===`tool`&&e.toolCall?.id&&ie.set(e.toolCall.id,v(e)),e.variant===`reasoning`&&e.reasoning?.id&&D.set(e.reasoning.id,v(e));let t=e.agentMetadata?.textBlockId;t&&(ne.set(t,e.id===x?.id?x:v(e)),e.agentMetadata?.phase&&T.set(t,e.agentMetadata.phase));let n=e.agentMetadata?.parentToolId;t&&n&&(E.set(t,n),re.set(t,e.rawContent??e.content))}let ce=()=>{if(x)return x;let e,t=``,n=w;return!oe&&ae?(e=ae,oe=!0,t=i??``):e=ae&&n?`${ae}_${n}`:`assistant-${Date.now()}-${Math.random().toString(16).slice(2)}`,x={id:e,role:`assistant`,content:t,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!0,sequence:g()},b(x),x},le=(e,t)=>{let n=D.get(e);if(n)return n;let r={id:`reason-${e}`,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!0,variant:`reasoning`,agentMetadata:{executionId:t},sequence:g(),reasoning:{id:e,status:`streaming`,chunks:[]}};return D.set(e,r),b(r),r},ue=/* @__PURE__ */ new Set,O=/* @__PURE__ */ new Map,k=/* @__PURE__ */ new Set;for(let e of o??[])if(e.id.startsWith(`artifact-ref-`)){let t=e.id.slice(13);k.add(t),O.set(t,v(e))}s?.artifactTools.forEach(e=>ue.add(e));let de=/* @__PURE__ */ new Map;s?.artifactContent.forEach(([e,t])=>de.set(e,{...t}));let fe=e=>{if(!e)return!1;let t=e.replace(/_+/g,`_`).replace(/^_|_$/g,``);return t===`emit_artifact_markdown`||t===`emit_artifact_component`},pe=(e,t,n)=>{let r=ie.get(e),i={...r?.agentMetadata,executionId:t??r?.agentMetadata?.executionId,iteration:n??r?.agentMetadata?.iteration??(De||void 0)};if(r)return r.agentMetadata=i,r;let a={id:`tool-${e}`,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!0,variant:`tool`,agentMetadata:i,sequence:g(),toolCall:{id:e,status:`pending`}};return ie.set(e,a),b(a),a},me=e=>{if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`){let t=Number(e);if(Number.isFinite(t))return t;let n=Date.parse(e);if(!Number.isNaN(n))return n}return Date.now()},he=e=>{if(typeof e==`string`)return e;if(e==null)return``;try{return JSON.stringify(e)}catch{return String(e)}},ge=/* @__PURE__ */ new Map,_e=/* @__PURE__ */ new Map,ve=(e,t)=>{let n=he(t),r=va(_e.get(e.id),n);e.rawContent=r;let i=ge.get(e.id),a=t=>{let n=e.content??``;t.trim()!==``&&(!n.trim()||t.startsWith(n)||t.trimStart().startsWith(n.trim()))&&(e.content=t)},o=()=>{let t=i?.close?.();t instanceof Promise&&t.catch(()=>{}),ge.delete(e.id),_e.delete(e.id),e.streaming=!1,b(e)};if(!i){a(n),o();return}let s=K(r);if(s!==null&&s.trim()!==``){a(s),o();return}let c=e=>{let t=typeof e==`string`?e:e?.text??null;if(t!==null&&t.trim()!==``)return t;let r=i.getExtractedText();return r!==null&&r.trim()!==``?r:n},l;try{l=i.processChunk(r)}catch{a(n),o();return}l instanceof Promise?l.then(e=>{a(c(e)),o()}).catch(()=>{a(n),o()}):(a(c(l)),o())},ye=null,be=o?.find(e=>e.id===s?.sealedFlowMessageId);be&&(ye=v(be));let xe=(t,n,r)=>{t.rawContent=n,ge.has(t.id)||ge.set(t.id,e.createStreamParser());let i=ge.get(t.id),a=/^[{[]/.test(n.trim());a&&_e.set(t.id,n);let o=()=>{t.content+=r,_e.delete(t.id),ge.delete(t.id),t.rawContent=void 0,b(t)};if(i.__isPlainTextParser===!0){o();return}let s=e=>{let r=typeof e==`string`?e:e?.text??null;r!==null&&r.trim()!==``?(t.content=r,b(t)):!a&&!n.trim().startsWith(`<`)&&o()},c=i.processChunk(n);c instanceof Promise?c.then(s).catch(o):s(c)},Se=(e,t)=>{let n=t??e.content;if(n==null||n===``){e.streaming=!1,b(e);return}let r=_e.get(e.id)??he(n);e.rawContent=r;let i=ge.get(e.id),a=null,o=!1;if(i&&(a=i.getExtractedText(),a===null&&(a=K(r)),a===null)){let t=i.processChunk(r);t instanceof Promise?(o=!0,t.then(t=>{let n=typeof t==`string`?t:t?.text??null;n!==null&&(e.content=n,e.streaming=!1,ge.delete(e.id),_e.delete(e.id),b(e))}).catch(()=>{})):a=typeof t==`string`?t:t?.text??null}if(!o){a!==null&&a.trim()!==``?e.content=a:_e.has(e.id)||(e.content=he(n));let t=ge.get(e.id);if(t){let n=t.close?.();n instanceof Promise&&n.catch(()=>{}),ge.delete(e.id)}_e.delete(e.id),e.streaming=!1,b(e)}},Ce=(e,t,n,r)=>{let i=ne.get(e);if(i)return i;let a={id:`nested-${t}-${e}`,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!0,sequence:g(),...n?{variant:n}:{},...n===`reasoning`?{reasoning:{id:e,status:`streaming`,chunks:[]}}:{},agentMetadata:{parentToolId:t,textBlockId:e,executionId:r,phase:T.get(e)}};return ne.set(e,a),b(a),a},we=[],Te,Ee=/* @__PURE__ */ new Map;s?.media.forEach(([e,t])=>Ee.set(e,{...t,parts:[...t.parts]}));let De=s?.iteration??0,Oe=s?.executionKind??`agent`,ke=s?.executionKindResolved??!1,Ae=s?.turnId??null,je=null,Me=e.config().iterationDisplay??`separate`;Te=()=>{for(let t=0;t<we.length;t++){let r=we[t];if(!ke&&Oe!==`flow`&&typeof r.stepType==`string`&&(Oe=`flow`),r.type===`reasoning_start`){let e=typeof r.id==`string`?r.id:null,t=typeof r.parentToolCallId==`string`&&r.parentToolCallId?r.parentToolCallId:null;if(e&&t){E.set(e,t),Ce(e,t,`reasoning`,r.executionId);continue}let n=r.id,i=le(n,r.executionId);i.reasoning=i.reasoning??{id:n,status:`streaming`,chunks:[]},i.reasoning.startedAt=i.reasoning.startedAt??Date.now(),i.reasoning.completedAt=void 0,i.reasoning.durationMs=void 0,(r.scope===`loop`||r.scope===`turn`)&&(i.reasoning.scope=r.scope),i.streaming=!0,i.reasoning.status=`streaming`,b(i)}else if(r.type===`reasoning_delta`){let e=typeof r.id==`string`?r.id:null;if(e&&E.has(e)&&ne.has(e)){let t=ne.get(e),n=r.delta;n&&t.reasoning&&(t.reasoning.chunks.push(String(n)),b(t));continue}let t=r.id,n=le(t,r.executionId);n.reasoning=n.reasoning??{id:t,status:`streaming`,chunks:[]},n.reasoning.startedAt=n.reasoning.startedAt??Date.now(),r.delta&&n.reasoning.chunks.push(r.delta),n.reasoning.status=`streaming`,n.streaming=!0,b(n)}else if(r.type===`reasoning_complete`){let e=typeof r.id==`string`?r.id:null;if(e&&E.has(e)&&ne.has(e)){let t=ne.get(e);if(t.reasoning){let e=typeof r.text==`string`?r.text:``;e&&t.reasoning.chunks.length===0&&t.reasoning.chunks.push(e),t.reasoning.status=`complete`,t.streaming=!1,b(t)}E.delete(e),ne.delete(e);continue}let t=r.id,n=typeof r.text==`string`?r.text:``;!D.get(t)&&(n||r.scope===`loop`)&&le(t,r.executionId);let i=D.get(t);if(i?.reasoning){(r.scope===`loop`||r.scope===`turn`)&&(i.reasoning.scope=r.scope),n&&i.reasoning.chunks.length===0&&i.reasoning.chunks.push(n),i.reasoning.status=`complete`,i.reasoning.completedAt=Date.now();let e=i.reasoning.startedAt??Date.now();i.reasoning.durationMs=Math.max(0,(i.reasoning.completedAt??Date.now())-e),i.streaming=!1,b(i)}}else if(r.type===`tool_start`){x&&=(x.streaming=!1,b(x),null),typeof r.iteration==`number`&&(De=r.iteration);let e=r.toolCallId,t=r.toolName;if(fe(t)){ue.add(e);continue}let n=pe(e,r.executionId,r.iteration),i=n.toolCall??{id:e,status:`pending`};i.name=t??i.name,i.status=`running`,i.success=void 0,i.error=void 0,i.duration=void 0,r.parameters!==void 0&&(i.args=r.parameters),i.startedAt=i.startedAt??me(r.startedAt),i.completedAt=void 0,i.durationMs=void 0,n.toolCall=i,n.streaming=!0,b(n)}else if(r.type===`tool_output_delta`){let e=r.toolCallId;if(ue.has(e))continue;let t=pe(e,r.executionId),n=t.toolCall??{id:e,status:`running`};n.startedAt=n.startedAt??Date.now();let i=r.delta;i&&(n.chunks=n.chunks??[],n.chunks.push(String(i))),n.status=`running`,t.toolCall=n,t.streaming=!0,b(t)}else if(r.type===`tool_complete`){let e=r.toolCallId;if(ue.has(e)){ue.delete(e);continue}let t=pe(e,r.executionId,r.iteration),n=t.toolCall??{id:e,status:`running`};n.status=`complete`,r.result!==void 0&&(n.result=r.result),n.name=r.toolName??n.name,n.success=r.success,n.error=r.error,n.completedAt=Date.now();let i=r.executionTime;if(typeof i==`number`)n.durationMs=i,n.duration=i;else{let e=n.startedAt??Date.now();n.durationMs=Math.max(0,(n.completedAt??Date.now())-e)}t.toolCall=n,t.streaming=!1,b(t)}else if(r.type===`await`&&r.toolName){let e=typeof r.toolCallId==`string`&&r.toolCallId.length>0?r.toolCallId:void 0,t=e??r.toolId??`local-${g()}`,n=pe(t,r.executionId),i=r.toolName,a=r.origin===`webmcp`&&!Wn(i)?`webmcp:${i}`:i,o=Wn(a),s=n.toolCall??{id:t,status:`pending`};s.name=a,s.args=r.parameters,s.status=o?`running`:`complete`,s.chunks=s.chunks??[],s.startedAt=s.startedAt??me(r.awaitedAt),o?(s.completedAt=void 0,s.duration=void 0,s.durationMs=void 0):s.completedAt=s.completedAt??s.startedAt,n.toolCall=s,n.streaming=!1,n.agentMetadata={...n.agentMetadata,executionId:r.executionId??n.agentMetadata?.executionId,awaitingLocalTool:!0,...e?{webMcpToolCallId:e}:{}},b(n)}else if(r.type===`text_start`){let e=typeof r.id==`string`?r.id:null;if(e){let t=xa(r.phase);t?T.set(e,t):T.delete(e)}let t=typeof r.parentToolCallId==`string`&&r.parentToolCallId?r.parentToolCallId:null;if(e&&t){E.set(e,t);continue}let n=x;n&&(Oe===`flow`?(Se(n),ye=n):(n.streaming=!1,b(n)),x=null),w=e??w,te=``}else if(r.type===`text_delta`){let e=typeof r.id==`string`?r.id:null,t=e?E.get(e):void 0;if(e&&t){let n=typeof r.delta==`string`?r.delta:``,i=(re.get(e)??``)+n;if(re.set(e,i),i.trim()===``)continue;let a=Ce(e,t,void 0,r.executionId);xe(a,i,n);continue}w=e??w;let n=typeof r.delta==`string`?r.delta:``;if(te+=n,Oe===`flow`&&te.trim()===``)continue;let i=ce();i.agentMetadata={textBlockId:w??void 0,phase:T.get(w??``),executionId:r.executionId,iteration:De,...Oe===`flow`?{}:{turnId:Ae??void 0,agentName:je?.agentName}},w&&ne.set(w,i),xe(i,te,n),S=i}else if(r.type===`text_complete`){let e=typeof r.id==`string`?r.id:null;e&&T.delete(e);let t=e?ne.get(e):x,n=xa(r.phase);if(t&&n&&(t.agentMetadata={...t.agentMetadata,providerPhase:n}),e&&E.has(e)){let t=ne.get(e);t&&Se(t),E.delete(e),re.delete(e),ne.delete(e);continue}if(e&&t!==x){t&&(t.streaming=!1,b(t));continue}let i=x;i&&(Oe===`flow`?(Se(i),ye=i):((i.content??``)===``&&typeof r.text==`string`&&(i.content=r.text),i.streaming=!1,b(i)),x=null),w=null,te=``}else if(r.type===`step_complete`){if(r.stepType===`tool`)continue;if(r.success===!1){let e=r.error||`Step failed`;n({type:`error`,error:Error(e)});let t=x;t&&t.streaming&&(t.streaming=!1,b(t)),n({type:`status`,status:`idle`});continue}{let e=ye;ye=null;let t=r.stopReason,n=(r.result&&typeof r.result==`object`?r.result:null)?.response;if(e)t&&(e.stopReason=t),n==null?e.streaming!==!1&&(ge.delete(e.id),_e.delete(e.id),e.streaming=!1,b(e)):ve(e,n);else{let e=n!=null&&n!==``;if(e||t&&t!==`end_turn`&&t!==`unknown`){let r=ce();t&&(r.stopReason=t),e?Se(r,n):(r.streaming=!1,b(r))}}continue}}else if(r.type===`execution_start`)Oe=r.kind===`flow`?`flow`:`agent`,ke=!0,e.config().backgroundConversations&&n({type:`status`,status:`connected`,executionId:r.executionId}),Oe===`agent`&&(je={executionId:r.executionId,agentId:r.agentId??`virtual`,agentName:r.agentName??``});else if(r.type===`turn_start`){let e=typeof r.iteration==`number`?r.iteration:De;if(e!==De){if(Me===`separate`&&e>1){let e=x;e&&(e.streaming=!1,b(e),x=null)}De=e}Ae=typeof r.id==`string`?r.id:null,S=null}else if(r.type===`tool_input_delta`){let e=r.toolCallId;if(e){let t=ie.get(e);t?.toolCall&&(t.toolCall.chunks=t.toolCall.chunks??[],t.toolCall.chunks.push(r.delta??``),b(t))}}else if(r.type===`tool_input_complete`){if(ue.has(r.toolCallId))continue;let e=pe(r.toolCallId,r.executionId),t=e.toolCall;t.args=r.parameters,t.name=r.toolName??t.name,b(e)}else if(r.type===`turn_complete`){let e=r.stopReason,t=x??S;if(e&&t!==null){let n=r.id;n&&t.agentMetadata?.turnId!==n||(t.stopReason=e,b(t))}Ae===r.id&&(Ae=null)}else if(r.type===`media_start`){let e=String(r.id);Ee.set(e,{mediaType:typeof r.mediaType==`string`?r.mediaType:void 0,toolCallId:r.toolCallId,parts:[]})}else if(r.type===`media_delta`){let e=Ee.get(String(r.id));e&&typeof r.delta==`string`&&e.parts.push(r.delta)}else if(r.type===`media_complete`){let e=String(r.id),t=Ee.get(e);Ee.delete(e);let n=(typeof r.mediaType==`string`?r.mediaType:void 0)??t?.mediaType??`application/octet-stream`,i=typeof r.data==`string`?r.data:void 0,a=typeof r.url==`string`?r.url:t&&t.parts.length>0?t.parts.join(``):void 0,o=null;if(i)o={type:`media`,data:i,mediaType:n};else if(a){let e=n.toLowerCase();o={type:e===`image`||e.startsWith(`image/`)?`image-url`:`file-url`,url:a,mediaType:n}}let s=r.toolCallId??t?.toolCallId,c=o?[o]:[],l=[];for(let e of c){if(!e||typeof e!=`object`)continue;let t=e,n=typeof t.type==`string`?t.type:void 0,r=typeof t.mediaType==`string`?t.mediaType.toLowerCase():``,i=null,a=``;if(n===`media`){let e=typeof t.data==`string`?t.data:void 0;if(!e)continue;a=r.length>0?r:`application/octet-stream`,i=`data:${a};base64,${e}`}else if(n===`image-url`){let e=typeof t.url==`string`?t.url:void 0;if(!e)continue;a=r,i=e}else if(n===`file-url`){let e=typeof t.url==`string`?t.url:void 0;if(!e)continue;a=r,i=e}else continue;if(i){if(n===`image-url`||a.startsWith(`image/`))l.push({type:`image`,image:i,...a.includes(`/`)?{mimeType:a}:{}});else if(a.startsWith(`audio/`))l.push({type:`audio`,audio:i,mimeType:a});else if(a.startsWith(`video/`))l.push({type:`video`,video:i,mimeType:a});else{let e=a||`application/octet-stream`;l.push({type:`file`,data:i,mimeType:e,filename:_a(e)})}}}if(l.length>0){let e=g(),t=s,n={id:`agent-media-${typeof t==`string`&&t.length>0?`${t}-${e}`:String(e)}`,role:`assistant`,content:``,contentParts:l,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!1,sequence:e,agentMetadata:{executionId:r.executionId,iteration:De}};b(n);let i=x;i&&(i.streaming=!1,b(i)),x=null,C.current=null}}else if(r.type===`execution_complete`){let e=x;e&&(r.kind===`flow`&&e.streaming!==!1?Se(e):(e.streaming=!1,b(e)),x=null),w=null,te=``,ye=null,n({type:`status`,status:r.success===!1?`error`:`idle`,terminal:!0})}else if(r.type===`execution_error`){let e=typeof r.error==`string`?r.error:r.error?.message??`Execution error`;n({type:`error`,error:Error(e)})}else if(r.type!==`ping`){if(r.type===`approval_start`){let e=r.approvalId??`approval-${g()}`,t={id:`approval-${e}`,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!1,variant:`approval`,sequence:g(),approval:{id:e,status:`pending`,agentId:je?.agentId??`virtual`,executionId:r.executionId??je?.executionId??``,toolName:r.toolName??``,toolType:r.toolType,description:r.description??`Execute ${r.toolName??`tool`}`,...typeof r.reason==`string`&&r.reason?{reason:r.reason}:{},parameters:r.parameters,...typeof r.toolCallId==`string`&&r.toolCallId?{toolCallId:r.toolCallId}:{}}};b(t)}else if(r.type===`approval_complete`){let e=r.approvalId;if(e){let t={id:`approval-${e}`,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!1,variant:`approval`,sequence:g(),approval:{id:e,status:r.decision??`approved`,agentId:je?.agentId??`virtual`,executionId:r.executionId??je?.executionId??``,toolName:``,description:``,resolvedAt:Date.now()}};b(t)}}else if(r.type===`artifact_start`||r.type===`artifact_delta`||r.type===`artifact_update`||r.type===`artifact_complete`){if(r.type===`artifact_start`){let t=r.artifactType,i=String(r.id),a=typeof r.title==`string`?r.title:void 0,o=r.file,s;if(o&&typeof o==`object`&&!Array.isArray(o)&&typeof o.path==`string`&&typeof o.mimeType==`string`&&(s={path:o.path,mimeType:o.mimeType,...typeof o.language==`string`?{language:o.language}:{}}),n({type:`artifact_start`,id:i,artifactType:t,title:a,component:typeof r.component==`string`?r.component:void 0,...s?{file:s}:{}}),de.set(i,{markdown:``,title:a,file:s}),!k.has(i)){k.add(i);let n=Zn(e.config().features?.artifacts,{artifactType:t,...s?{file:s}:{}}),o=typeof r.component==`string`?r.component:void 0,c={id:`artifact-ref-${i}`,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!0,sequence:g(),rawContent:Qn(n,{artifactId:i,title:a,artifactType:t,status:`streaming`,...s?{file:s}:{},...o?{component:o}:{}})};O.set(i,c),b(c)}}else if(r.type===`artifact_delta`){let e=String(r.id),t=typeof r.delta==`string`?r.delta:String(r.delta??``);n({type:`artifact_delta`,id:e,artDelta:t});let i=de.get(e);i&&(i.markdown+=t)}else if(r.type===`artifact_update`){let e=r.props&&typeof r.props==`object`&&!Array.isArray(r.props)?r.props:{};n({type:`artifact_update`,id:String(r.id),props:e,component:typeof r.component==`string`?r.component:void 0});let t=de.get(String(r.id));t&&(t.props={...t.props??{},...e})}else if(r.type===`artifact_complete`){let e=String(r.id);n({type:`artifact_complete`,id:e});let t=O.get(e);if(t){t.streaming=!1;try{let n=JSON.parse(t.rawContent??`{}`);if(n.props){n.props.status=`complete`;let t=de.get(e);t?.markdown&&(n.props.markdown=t.markdown),t?.file&&(n.props.file=t.file),n.component===`PersonaArtifactInline`&&t?.props&&Object.keys(t.props).length>0&&(n.props.componentProps=t.props)}t.rawContent=JSON.stringify(n)}catch{}de.delete(e),b(t),O.delete(e)}}}else if(r.type===`error`&&r.recoverable===!1&&r.error!=null&&r.error!==``){let e=typeof r.error==`string`?r.error:r.error?.message==null?`Execution error`:String(r.error.message);n({type:`error`,error:Error(e)});let t=x;t&&t.streaming&&(t.streaming=!1,b(t)),n({type:`status`,status:`idle`})}}}we.length=0};try{for(;;){if(c!==e.streamGeneration())return;a?.throwIfAborted();let{done:t,value:r}=await l.read();if(c!==e.streamGeneration())return;if(a?.throwIfAborted(),t)break;p+=f.decode(r,{stream:!0});let i=p.split(`
6
6
 
7
7
  `);p=i.pop()??``;for(let t of i){if(c!==e.streamGeneration())return;a?.throwIfAborted();let r=t.split(`
8
- `),i=`message`,o=``,s=null;for(let e of r)e.startsWith(`event:`)?i=e.replace(`event:`,``).trim():e.startsWith(`data:`)?o+=e.replace(`data:`,``).trim():e.startsWith(`id:`)&&(s=e.slice(3).trim());let l=()=>{s!==null&&s!==``&&n({type:`cursor`,id:s,...e.config().backgroundConversations?{checkpoint:{textBlockId:w,openAssistant:x!==null,sealedFlowMessageId:ye?.id??null,rawText:te,executionKind:Oe,executionKindResolved:ke,turnId:Ae,iteration:De,textPhases:[...T],nestedParents:[...E],nestedRaw:[...re],media:[...Ee].map(([e,t])=>[e,{...t,parts:[...t.parts]}]),artifactContent:[...de].map(([e,t])=>[e,{...t,props:t.props?{...t.props}:void 0}]),artifactTools:[...ue]}}:{}})};if(!o){l();continue}let u;try{u=JSON.parse(o)}catch(e){n({type:`error`,error:e instanceof Error?e:/* @__PURE__ */ Error(`Failed to parse chat stream payload`)});continue}let d=typeof u==`object`&&u&&!Array.isArray(u)?u:null,f=i===`message`?typeof d?.type==`string`?d.type:`message`:i;if(e.onSSEEvent?.(f,u),e.parseSSEEvent){C.current=x;let t=await va(e,u,n,C,b,g,ee);if(c!==e.streamGeneration())return;if(a?.throwIfAborted(),C.current&&C.current!==x&&(x=C.current),t){l();continue}}d&&(we.push({...d,type:f}),Te()),l()}}Te()}finally{e.streamReaders.delete(l),a?.removeEventListener(`abort`,d),l.releaseLock()}}var ba,xa,Sa=V((()=>{Gn(),Qn(),cr(),ma(),ba=e=>e===`commentary`||e===`partial_answer`||e===`final_answer`?e:void 0,xa=e=>/^[{[<]/.test(e)}));Sa(),U();const{setLoader:Ca,load:wa,provide:Ta,getSync:Ea}=H({fallbackImport:()=>Promise.resolve().then(()=>(Sa(),ha))}),Da=wa,Oa=Ta,ka=Ea;Oa(ha);var Aa=`4.34.0`,ja,Ma=V((()=>{ja=Aa})),Na=/* @__PURE__ */ Bt({deleteAllConversations:()=>Ja,deleteConversation:()=>qa,finalizeDisplayProjections:()=>Ka,getConversation:()=>Ga,historyErrorFor:()=>Ba,listConversations:()=>Wa,readErrorCode:()=>Ra,recoverFromUnauthorized:()=>za,resetVisitor:()=>Ya});function Pa(e,t,n){let r=new URLSearchParams;for(let[e,t]of Object.entries(n))t!==void 0&&t!==``&&r.set(e,String(t));let i=r.toString();return`${e.clientApiBase()}/v1/client/${t}${i?`?${i}`:``}`}function Fa(e,t){return t||e.config.features?.history?.scope||(e.config.getIdentityProof?`verified-user`:`browser`)}async function Ia(e,t,n){let r=e.config.getIdentityProof;if(!r)return n&&e.setHistoryIdentityStatus(e.browserOnlyStatus()),null;n&&e.setHistoryIdentityStatus({state:`verifying`});let i;try{i=await r()??null}catch{throw n&&e.setHistoryIdentityStatus({state:`identity_provider_failed`}),new e.HistoryClientError(`identity_provider_failed`,`The identity proof provider failed`)}if(i)return i;if(t.visitor?.endUserId!=null)throw n&&e.setHistoryIdentityStatus({state:`authentication_required`,reason:`proof_unavailable_after_binding`}),new e.HistoryClientError(`authentication_required`,`This browser is bound to a signed-in user and needs a fresh identity proof`);return n&&e.setHistoryIdentityStatus({state:`browser_only`,reason:`proof_unavailable_before_binding`}),null}async function La(e,t,n,r){if(t.visitor?.endUserId!=null)return t;let i=await e.reinitWithProof(n);if(i.visitor?.identityStatus!==`admitted`||i.visitor?.endUserId==null)throw r&&e.setHistoryIdentityStatus({state:`configuration_error`,reason:`proof_not_admitted`}),new e.HistoryClientError(`proof_not_admitted`,$);return i}async function Ra(e,t){let n=await t.json().catch(()=>({}));return typeof n.error==`string`?n.error:typeof n.message==`string`?n.message:``}async function za(e,t,n,r){let i=t.toLowerCase();if(i.includes(`invalid_identity_proof`))throw r&&e.setHistoryIdentityStatus({state:`authentication_required`,reason:`invalid_identity_proof`}),new e.HistoryClientError(`invalid_identity_proof`,$a);if(i.includes(`visitor token required`))throw new e.HistoryClientError(`visitor_token_missing`,eo);if(i.includes(`visitor_identity_mismatch`)){if(!n)throw r&&e.setHistoryIdentityStatus({state:`authentication_required`,reason:`proof_unavailable_after_binding`}),new e.HistoryClientError(`visitor_identity_mismatch`,to);return e.reinitWithProof(n)}if(i.includes(`expired`)||i.includes(`not found`))return e.clearClientSession(),e.initSession();throw new e.HistoryClientError(`unauthorized`,t||`History request was not authorized`)}async function Ba(e,t,n){let r=await Ra(e,t);if(t.status===404)return new e.HistoryClientError(`not_found`,`Conversation not found`);if(t.status===429){let n=Number.parseInt(t.headers.get(`Retry-After`)??``,10);return new e.HistoryClientError(`rate_limited`,`Too many history requests`,{...Number.isFinite(n)?{retryAfterSeconds:n}:{}})}if(t.status===503&&r.includes(`identity_proof_not_admitted`))return n&&e.setHistoryIdentityStatus({state:`configuration_error`,reason:`proof_not_admitted`}),new e.HistoryClientError(`proof_not_admitted`,$);if(t.status===401){let t=r.toLowerCase();return t.includes(`invalid_identity_proof`)?(n&&e.setHistoryIdentityStatus({state:`authentication_required`,reason:`invalid_identity_proof`}),new e.HistoryClientError(`invalid_identity_proof`,$a)):t.includes(`visitor token required`)?new e.HistoryClientError(`visitor_token_missing`,eo):t.includes(`visitor_identity_mismatch`)?new e.HistoryClientError(`visitor_identity_mismatch`,to):new e.HistoryClientError(`unauthorized`,r||`History request was not authorized`)}return new e.HistoryClientError(`request_failed`,r||`History request failed (${t.status})`)}function Va(e,t,n,r){let i=t?.toLowerCase()??null;if(n){if(i===`admitted`){r&&e.setHistoryIdentityStatus({state:`verified`});return}throw r&&e.setHistoryIdentityStatus({state:`configuration_error`,reason:`proof_not_admitted`}),i===`ignored`?new e.HistoryClientError(`identity_contract_violation`,`Server reported an ignored identity proof on a success response`):new e.HistoryClientError(`proof_not_admitted`,`The response did not acknowledge the identity proof this request sent`)}if(i===`admitted`)throw new e.HistoryClientError(`identity_contract_violation`,`Server admitted an identity proof that was never sent`);r&&e.setHistoryIdentityStatus(e.browserOnlyStatus())}async function Ha(e,t,n){Ua(e);let r=n.trackIdentity!==!1,i=await e.initSession(),a=null;Fa(e,n.scope)===`verified-user`&&(a=await Ia(e,i,r),a&&(i=await La(e,i,a,r)));let o=e.historyInternals.visitorStore,s=!1;for(;;){let c=o?.revision()??0,l=await e.readVisitorToken();if(!l&&!n.visitorTokenOptional)throw new e.HistoryClientError(`visitor_token_missing`,`No visitor credential is stored for this browser`);let u=await fetch(Pa(e,t,{...n.query,sessionId:i.sessionId}),{method:n.method,headers:{"X-Persona-Version":ja,...l?{"X-Visitor-Token":l}:{},...a?{"X-Identity-Proof":a}:{},...n.body===void 0?{}:{"Content-Type":`application/json`}},...n.body===void 0?{}:{body:JSON.stringify(n.body)},...n.keepalive?{keepalive:!0}:{}});if(u.status===401&&!s){s=!0,i=await za(e,await Ra(e,u),a,r);continue}if(!u.ok)throw await Ba(e,u,r);let d=u.headers.get(`X-History-Identity-Status`),f=await u.json().catch(()=>void 0);if(o&&o.revision()!==c)throw new e.HistoryClientError(`credential_changed`,`The visitor credential changed while the request was in flight`);return Va(e,d,a!==null,r),f}}function Ua(e){if(!e.isClientTokenMode())throw Error(`Conversation history is only available in client token mode`);if(!e.isHistoryCapable())throw new e.HistoryClientError(`history_disabled`,`Visitor history is disabled for this surface`)}async function Wa(e,t){let n=await Ha(e,`conversations`,{method:`GET`,query:{...t?.cursor?{cursor:t.cursor}:{},...t?.limit===void 0?{}:{limit:t.limit},...t?.targetId?{targetId:t.targetId}:{}},...t?.scope?{scope:t.scope}:{}});return{data:(Array.isArray(n?.data)?n.data:[]).map(Qa),nextCursor:typeof n?.nextCursor==`string`?n.nextCursor:null}}async function Ga(e,t,n){let r=await Ha(e,`conversations/${encodeURIComponent(t)}`,{method:`GET`,query:{...n?.messageCursor?{messageCursor:n.messageCursor}:{}},...n?.scope?{scope:n.scope}:{}});return{summary:Qa(r),messages:Array.isArray(r?.messages)?r.messages:[],nextMessageCursor:typeof r?.nextMessageCursor==`string`?r.nextMessageCursor:null,conversationRevision:typeof r?.conversationRevision==`string`?r.conversationRevision:null}}async function Ka(e,t,n){Ua(e);let r=0;for(let t of n){let n=t.displayContent.length;if(n>Xa)throw new e.HistoryClientError(`payload_too_large`,`displayContent exceeds the ${Xa} character limit`);r+=n}if(r>Za)throw new e.HistoryClientError(`payload_too_large`,`Display projection batch exceeds the ${Za} character limit`);await e.initSession();let i=e.historyInternals.visitorStore,a=i?.revision()??0,o=await Ha(e,`conversations/${encodeURIComponent(t)}/display-projections`,{method:`PATCH`,body:{messages:n},scope:`browser`,keepalive:r<=Za,trackIdentity:!1}),s=typeof o?.conversationRevision==`string`?o.conversationRevision:null;return s&&e.clientSession?.conversationId===t&&(i?.revision()??0)===a&&e.historyInternals.setStoredConversationRevision?.(s),{conversationRevision:s}}async function qa(e,t,n){let r=await Ha(e,`conversations/${encodeURIComponent(t)}`,{method:`DELETE`,...n?.scope?{scope:n.scope}:{}});return{deleted:typeof r?.deleted==`number`?r.deleted:0}}async function Ja(e,t){let n=await Ha(e,`conversations`,{method:`DELETE`,query:{...t?.targetId===void 0?{}:{targetId:t.targetId}},...t?.scope?{scope:t.scope}:{}});return{deleted:typeof n?.deleted==`number`?n.deleted:0}}async function Ya(e){Ua(e),e.setHistoryIdentityStatus({state:`resetting`});try{await Ha(e,`visitor/reset`,{method:`POST`,scope:`browser`,visitorTokenOptional:!0})}finally{await e.historyInternals.visitorStore?.clear(),e.setHistoryIdentityStatus(e.derivedBrowserOnly())}return{reset:!0}}var Xa,Za,Qa,$,$a,eo,to,no=V((()=>{Ma(),Xa=32768,Za=49152,Qa=e=>{let t=e??{},n=typeof t.targetId==`string`?t.targetId:null;return{id:typeof t.id==`string`?t.id:``,title:typeof t.title==`string`?t.title:``,targetId:n,preview:typeof t.preview==`string`?t.preview:null,messageCount:typeof t.messageCount==`number`?t.messageCount:0,createdAt:typeof t.createdAt==`string`?t.createdAt:``,updatedAt:typeof t.updatedAt==`string`?t.updatedAt:``}},$=`The identity proof was not admitted; account history is unavailable`,$a=`The identity proof was rejected`,eo=`The request carried no visitor credential`,to=`The stored visitor belongs to a different signed-in user`}));no(),U();const{setLoader:ro,load:io,provide:ao}=H({fallbackImport:()=>Promise.resolve().then(()=>(no(),Na))}),oo=io;ao(Na);var so,co=V((()=>{Q(),so=e=>{let{mount:t,overlay:n,sessionRef:r}=e,i=(i,a,o)=>{let s=a.trim();if(!s||!r.current)return;let c=i.getAttribute(`data-tool-call-id`)??``,l=o.source===`free-text`;t.dispatchEvent(new CustomEvent(`persona:askUserQuestion:answered`,{detail:{instanceId:e.instanceId,toolUseId:c,answer:s,answers:o.structured,values:o.values??(o.source===`multi`?s.split(`, `):[s]),isFreeText:l,source:o.source},bubbles:!0,composed:!0})),Hi(n,c);let u=r.current.getMessages().find(e=>e.toolCall?.id===c);u?.agentMetadata?.awaitingLocalTool?r.current.resolveAskUserQuestion(u,o.structured??s):r.current.sendMessage(s)},a=e=>{let t=r.current;if(!t)return;let n=e.getAttribute(`data-tool-call-id`)??``,i=t.getMessages().find(e=>e.toolCall?.id===n);i&&t.persistAskUserQuestionProgress(i,{answers:Pi(e,i),currentIndex:ki(e)})},o=e=>Object.entries(e).map(([e,t])=>`${e}: ${Array.isArray(t)?t.join(`, `):t}`).join(` | `),s=t=>{if(e.config().features?.askUserQuestion?.groupedAutoAdvance===!1)return;let n=ki(t);if(n>=Z(t)-1)return;let i=r.current?.getMessages().find(e=>e.toolCall?.id===t.getAttribute(`data-tool-call-id`));i&&(Gi(t,i,e.config(),n+1),a(t))};return{click:c=>{let l=c.target.closest(`[data-ask-user-action]`);if(!l)return;let u=l.closest(`[data-persona-ask-sheet-for]`);if(!u)return;let d=l.getAttribute(`data-ask-user-action`);if(c.preventDefault(),c.stopPropagation(),d===`dismiss`){let i=u.getAttribute(`data-tool-call-id`)??``;t.dispatchEvent(new CustomEvent(`persona:askUserQuestion:dismissed`,{detail:{instanceId:e.instanceId,toolUseId:i},bubbles:!0,composed:!0})),Hi(n,i);let a=r.current?.getMessages().find(e=>e.toolCall?.id===i);a?.agentMetadata?.awaitingLocalTool&&(r.current?.markAskUserQuestionResolved(a),r.current?.resolveAskUserQuestion(a,`(dismissed)`))}else if(d===`pick`){let e=l.getAttribute(`data-option-label`);if(!e)return;let t=u.getAttribute(`data-multi-select`)===`true`,n=ji(u);if(n&&t){let t=Di(u)[ki(u)],n=new Set(Array.isArray(t)?t:[]);n.has(e)?n.delete(e):n.add(e),Wi(u,Array.from(n)),a(u);return}if(n){Wi(u,e),a(u),s(u);return}if(t){let e=l.getAttribute(`aria-pressed`)===`true`;l.setAttribute(`aria-pressed`,e?`false`:`true`),l.classList.toggle(`persona-ask-pill-selected`,!e);let t=u.querySelector(`[data-ask-user-action="submit-multi"]`);t&&(t.disabled=Ui(u).length===0);return}i(u,e,{source:`pick`,values:[e]})}else if(d===`submit-multi`){let e=Ui(u);if(e.length===0)return;i(u,e.join(`, `),{source:`multi`,values:e})}else if(d===`open-free-text`){let e=u.querySelector(`[data-ask-free-text-row="true"]`);e&&(e.classList.remove(`persona-hidden`),e.querySelector(`[data-ask-free-text-input="true"]`)?.focus())}else if(d===`focus-free-text`)u.querySelector(`[data-ask-free-text-input="true"]`)?.focus();else if(d===`submit-free-text`){let e=u.querySelector(`[data-ask-free-text-input="true"]`)?.value??``;if(!e.trim())return;if(ji(u)){Wi(u,e.trim()),a(u),s(u);return}i(u,e,{source:`free-text`})}else if(d===`next`||d===`back`){if(!r.current)return;let t=u.getAttribute(`data-tool-call-id`)??``,n=r.current.getMessages().find(e=>e.toolCall?.id===t);if(!n)return;let i=u.querySelector(`[data-ask-free-text-input="true"]`)?.value?.trim()??``;if(i){let e=Di(u)[ki(u)];(typeof e!=`string`||e!==i)&&Wi(u,i)}let o=d===`next`?1:-1,s=ki(u)+o;Gi(u,n,e.config(),s),a(u)}else if(d===`submit-all`){if(!r.current)return;let e=u.getAttribute(`data-tool-call-id`)??``,t=r.current.getMessages().find(t=>t.toolCall?.id===e);if(!t)return;let n=u.querySelector(`[data-ask-free-text-input="true"]`)?.value?.trim()??``;n&&Wi(u,n);let a=Pi(u,t);r.current.persistAskUserQuestionProgress(t,{answers:a,currentIndex:ki(u)});let s=o(a);i(u,s||`(submitted)`,{source:`submit-all`,structured:a})}else if(d===`skip`){if(!r.current)return;let s=u.getAttribute(`data-tool-call-id`)??``,c=r.current.getMessages().find(e=>e.toolCall?.id===s);if(!c)return;let l=ji(u),d=ki(u),f=d>=Z(u)-1;if(!l){t.dispatchEvent(new CustomEvent(`persona:askUserQuestion:dismissed`,{detail:{instanceId:e.instanceId,toolUseId:s},bubbles:!0,composed:!0})),Hi(n,s),c.agentMetadata?.awaitingLocalTool&&(r.current.markAskUserQuestionResolved(c),r.current.resolveAskUserQuestion(c,`(dismissed)`));return}Wi(u,``);let p=u.querySelector(`[data-ask-free-text-input="true"]`);if(p&&(p.value=``),f){let e=Pi(u,c),t=o(e);i(u,t||`(skipped)`,{source:`submit-all`,structured:e});return}Gi(u,c,e.config(),d+1),a(u)}},keydown:e=>{if(e.key!==`Enter`)return;let t=e.target;if(!t.matches?.(`[data-ask-free-text-input="true"]`))return;let n=t.closest(`[data-persona-ask-sheet-for]`);if(!n)return;e.preventDefault();let r=t.value;r.trim()&&(ji(n)?(Wi(n,r.trim()),a(n),s(n)):i(n,r,{source:`free-text`}))}}}}));function lo(e,t,n){if(n===`input-start`)return t===0;let r=t>0?e[t-1]:``;return n===`line-start`?r===``||r===`
9
- `:r===``||mo.test(r)}function uo(e,t,n=`@`,r=`anywhere`,i=!1){if(!n||t<=0||t>e.length)return null;let a=t-1;for(;a>=0;){let o=e[a];if(o===n)return lo(e,a,r)?{triggerIndex:a,query:e.slice(a+1,t)}:null;if(o===`
10
- `||o===``||!i&&mo.test(o))return null;a--}return null}function fo(e,t,n){for(let r of n){let n=uo(e,t,r.trigger,r.position??`anywhere`,r.allowSpaces??!1);if(n)return{channel:r,match:n}}return null}function po(e){return!e||e!==`insertFromPaste`&&e!==`insertFromDrop`}var mo,ho=V((()=>{mo=/\s/}));function go(e){return[{trigger:e.trigger??`@`,position:e.triggerPosition??`anywhere`,allowSpaces:!1,sources:Array.isArray(e.sources)?e.sources:[],searchPlaceholder:e.searchPlaceholder,showButton:e.showButton!==!1,buttonIconName:e.buttonIconName,buttonTooltipText:e.buttonTooltipText},...(e.triggers??[]).map(e=>({trigger:e.trigger,position:e.triggerPosition??`anywhere`,allowSpaces:e.allowSpaces??!1,sources:Array.isArray(e.sources)?e.sources:[],searchPlaceholder:e.searchPlaceholder,showButton:e.showButton===!0,buttonIconName:e.buttonIconName,buttonTooltipText:e.buttonTooltipText}))]}var _o=V((()=>{})),vo=V((()=>{})),yo=V((()=>{}));function bo(e){e.delayMs!==void 0&&(Eo=ko(e.delayMs)),e.skipDelayMs!==void 0&&(Do=ko(e.skipDelayMs))}function xo(e){Mo.get(e)?.hide()}function So(e){Mo.get(e.anchor)?.destroy();let{anchor:t,trigger:n=t,text:r,hint:i,enabled:a=!0,gap:o=Co,viewportPadding:s=wo}=e,c=()=>t.ownerDocument,l=()=>c().defaultView??window,u=null,d=null,f=null,p=null,m,h=!1,g=!1,_=!1,v=()=>(typeof r==`function`?r():r).trim(),y=()=>(typeof i==`function`?i():i??``).trim(),b=()=>ko(e.delayMs??Eo),x=()=>ko(e.skipDelayMs??Do),S=()=>{m!==void 0&&(l().clearTimeout(m),m=void 0)},C=()=>{S();let e=u!==null;p?.(),p=null,u?.remove(),u=null,d=null,f=null,e&&jo(x())},ee=()=>{if(!u)return;let e=c(),n=l(),r=t.getBoundingClientRect(),i=u.getBoundingClientRect(),a=e.documentElement.clientWidth||n.innerWidth,d=e.documentElement.clientHeight||n.innerHeight,f=a-s-i.width,p=r.left+r.width/2-i.width/2,m=Io(p,s,f),h=r.top-s,g=d-s-r.bottom,_=h>=i.height+o||h>=g?`top`:`bottom`,v=_===`top`?r.top-o-i.height:r.bottom+o,y=d-s-i.height,b=Io(v,s,y),x=r.left+r.width/2,S=Math.max(To,i.width-To),C=Io(x-m,To,S);u.dataset.placement=_,u.style.left=`${m}px`,u.style.top=`${b}px`,u.style.setProperty(`--persona-tooltip-arrow-x`,`${C}px`)},w=()=>{if(_||!a||u||!t.isConnected||No(t))return;let e=v(),n=Fo(t);if(!e||!n)return;let r=c(),i=l();u=r.createElement(`div`),u.className=`persona-control-tooltip`,u.setAttribute(`role`,`tooltip`),u.dataset.state=`measuring`,u.style.zIndex=String(ua);let o=i.getComputedStyle?.(t);if(o){for(let e of Lo){let t=o.getPropertyValue(e).trim();t&&u.style.setProperty(e,t)}o.fontFamily&&(u.style.fontFamily=o.fontFamily)}d=r.createElement(`span`),d.className=`persona-control-tooltip__label`,d.textContent=e,u.appendChild(d);let s=y();s&&(f=r.createElement(`span`),f.className=`persona-control-tooltip__hint`,f.textContent=s,u.appendChild(f));let m=r.createElement(`span`);m.className=`persona-control-tooltip__arrow`,u.appendChild(m),n.appendChild(u),ee(),u.dataset.state=`open`;let h=()=>{if(!t.isConnected){C();return}d&&(d.textContent=v()),f&&(f.textContent=y());let e=Fo(t);u&&e&&u.parentNode!==e&&e.appendChild(u),ee()};i.addEventListener(`scroll`,h,!0),i.addEventListener(`resize`,h);let g=t.closest(`[data-persona-root]`);g?.addEventListener(`persona:internal:host-moved`,h);let b=t.getRootNode(),x=Po(b)?b:r.documentElement,S=typeof MutationObserver>`u`?null:new MutationObserver(()=>{t.isConnected||C()});S?.observe(x,{childList:!0,subtree:!0}),p=()=>{i.removeEventListener(`scroll`,h,!0),i.removeEventListener(`resize`,h),g?.removeEventListener(`persona:internal:host-moved`,h),S?.disconnect()}},te=e=>{_||u||(S(),e||b()<=0||Ao()?w():m=l().setTimeout(()=>{m=void 0,w()},b()))},T=()=>{h||g?te(g):C()},E=()=>{let e=l();e.matchMedia&&e.matchMedia(`(hover: none)`).matches||(h=!0,T())},ne=()=>{h=!1,T()},re=()=>{try{g=t.matches(`:focus-visible`)}catch{g=!0}T()},D=()=>{g=!1,T()},ie=()=>{h=!1,g=!1,C()},ae=e=>{e.key===`Escape`&&ie()};n.addEventListener(`mouseenter`,E),n.addEventListener(`mouseleave`,ne),t.addEventListener(`focus`,re),t.addEventListener(`blur`,D),t.addEventListener(`keydown`,ae),t.addEventListener(`click`,ie);let oe={get isOpen(){return u!==null},show:w,hide:C,reposition:ee,destroy:()=>{_||(_=!0,C(),n.removeEventListener(`mouseenter`,E),n.removeEventListener(`mouseleave`,ne),t.removeEventListener(`focus`,re),t.removeEventListener(`blur`,D),t.removeEventListener(`keydown`,ae),t.removeEventListener(`click`,ie),Mo.delete(t))}};return Mo.set(t,oe),oe}var Co,wo,To,Eo,Do,Oo,ko,Ao,jo,Mo,No,Po,Fo,Io,Lo,Ro=V((()=>{da(),vo(),yo(),Co=8,wo=8,To=10,Eo=400,Do=300,Oo=0,ko=e=>Math.max(0,e),Ao=()=>Date.now()<Oo,jo=e=>{Oo=e>0?Date.now()+e:0},Mo=/* @__PURE__ */ new WeakMap,No=e=>typeof e.closest==`function`&&e.closest(`[data-persona-tooltip-suppressed]`)!==null,Po=e=>e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&`host`in e,Fo=e=>{let t=e.getRootNode?.();return Po(t)?t:e.closest(`dialog[open]`)??e.ownerDocument.body},Io=(e,t,n)=>Math.min(Math.max(e,t),Math.max(t,n)),Lo=[...[`background`,`foreground`,`hint-fg`,`radius`,`font-size`,`padding`,`max-width`,`shadow`,`arrow-display`].map(e=>`--persona-tooltip-${e}`),`--persona-font-family`,`--persona-radius-sm`]})),zo,Bo,Vo,Ho,Uo=V((()=>{Wr(),zo=(e,t,n,r)=>{let[i,a]=t.split(`.`);return[e?.theme,e?.darkTheme].some(e=>e?.components?.[i]?.[a]?.[n]!==void 0)?`var(--persona-components-${t.replace(`.`,`-`)}-${n}, ${r})`:r},Bo=(e,t)=>{let n=e&&Hr(e,t);return typeof n==`string`&&n?n:void 0},Vo=(e,t,n,r)=>{let i=t.startsWith(`var(`);e.classList.toggle(`persona-theme-padding`,i),e.style.padding=i?``:t,i?e.style.setProperty(`--persona-theme-padding`,t):e.style.removeProperty(`--persona-theme-padding`),n&&(e.style.paddingLeft=e.style.paddingRight=n),r&&(e.style.paddingTop=e.style.paddingBottom=r)},Ho=(e,t,n)=>{let r=t.startsWith(`var(`)&&t.includes(`--persona-components-`);e.classList.toggle(`persona-control-size`,r),r?e.style.setProperty(`--persona-control-size`,t):e.style.removeProperty(`--persona-control-size`),e.style.width=e.style.height=t,e.style.minWidth=e.style.minHeight=n??``}})),Wo,Go,Ko,qo=V((()=>{Wo=(e,t)=>e.visible!==!1&&(e.mode!==`transient`||t===`connecting`||t===`paused`||t===`resuming`||t===`error`),Go=(e,t,n)=>{let r=t.mode===`transient`,i=e.hasAttribute(`data-persona-composer-reason`)||e.hasAttribute(`data-persona-composer-notice`);e.style.display=Wo(t,n)||r&&i&&t.visible!==!1?``:`none`,e.classList.toggle(`persona-mt-2`,!r),e.classList.toggle(`persona-mb-2`,r)},Ko=(e,t,n)=>{t.parentElement&&e.parentElement===t.parentElement&&(n.mode===`transient`?e.nextElementSibling!==t&&t.before(e):t.nextElementSibling!==e&&t.after(e))}})),Jo,Yo,Xo,Zo,Qo=V((()=>{Jo={collapsedMode:`tool-call`,activePreview:!1,grouped:!1,groupedMode:`stack`,groupBoundary:`adjacent`,previewMaxLines:3,expandable:!0,loadingAnimation:`none`},Yo={activePreview:!1,previewMaxLines:3,expandable:!0,loadingAnimation:`none`},Xo={layout:`row`,variant:`row`,iconVisibility:`active`,autoExpand:!1,grouped:!0,groupedMode:`collapsible`,groupAppearance:`inset`,loadingAnimation:`shimmer`},Zo={appearance:`inset`,layout:`row`,variant:`row`,iconVisibility:`active`,autoExpand:!1,loadingAnimation:`shimmer`}})),$o,es=V((()=>{$o={resolvedDisplay:`row`,primaryAction:`allow-once`,keyboardShortcuts:`focused`}})),ts,ns,rs,is,as,os,ss,cs,ls,us,ds=V((()=>{ts=Symbol(`persona.panelAliasProvenance`),ns=(e,t)=>e!=null&&Object.prototype.hasOwnProperty.call(e,t),rs=(e,t)=>ns(e,t)&&e[t]!==void 0,is=e=>({launcherWidth:rs(e?.launcher,`width`),legacyLauncherWidth:rs(e,`launcherWidth`),sidebarWidth:rs(e?.launcher,`sidebarWidth`),dockWidth:rs(e?.launcher?.dock,`width`)}),as=e=>{let t=e?.[ts];return t?{...t}:is(e)},os=(e,t)=>(Object.defineProperty(e,ts,{value:t,enumerable:!0,configurable:!0}),e),ss=(e,t)=>os(e,as(t)),cs=(e,t)=>{let n=t[ts];if(n)return{...n};let r=as(e);return ns(t,`launcherWidth`)&&(r.legacyLauncherWidth=t.launcherWidth!==void 0),ns(t,`launcher`)&&t.launcher===void 0?(r.launcherWidth=!1,r.sidebarWidth=!1,r.dockWidth=!1,r):(ns(t.launcher,`width`)&&(r.launcherWidth=t.launcher?.width!==void 0),ns(t.launcher,`sidebarWidth`)&&(r.sidebarWidth=t.launcher?.sidebarWidth!==void 0),ns(t.launcher,`dock`)&&t.launcher?.dock===void 0?r.dockWidth=!1:ns(t.launcher?.dock,`width`)&&(r.dockWidth=t.launcher?.dock?.width!==void 0),r)},ls=e=>e?.layout?.embedded===!0&&e.launcher?.enabled===!1&&!e.launcher.sidebarMode&&(e.launcher.mountMode??`floating`)===`floating`,us=e=>e?.layout?.showHeader??!ls(e)}));function fs(e){return e?.future?.v5Defaults===!0?`v5`:`v4`}function ps(e){let t=fs(e)===`v5`?ws:Ss;return lr(xs,t)}function ms(e,t){if(e||t)return e?t?lr(e,t):e:t}function hs(e){let t=ps(e);return e?zr(wr(ss({...t,...e,colorScheme:Sr(e,[`colorScheme`]).includes(`colorScheme`)?e.colorScheme:e.brand?void 0:t.colorScheme,...t.approval||e.approval!==void 0?{approval:e.approval!==!1&&{...t.approval||{},...e.approval}}:{},theme:ms(t.theme,e.theme),darkTheme:ms(t.darkTheme,e.darkTheme),launcher:{...t.launcher,...e.launcher,dock:{...t.launcher?.dock,...e.launcher?.dock},clearChat:{...t.launcher?.clearChat,...e.launcher?.clearChat}},...t.composer||e.composer?{composer:{...t.composer,...e.composer}}:{},tooltip:{...t.tooltip,...e.tooltip},copy:{...t.copy,...e.copy},sendButton:{...t.sendButton,...e.sendButton},statusIndicator:{...t.statusIndicator,...e.statusIndicator},voiceRecognition:{...t.voiceRecognition,...e.voiceRecognition},features:(()=>{let n=t.features?.artifacts,r=e.features?.artifacts,i=t.features?.scrollToBottom,a=e.features?.scrollToBottom,o=t.features?.scrollBehavior,s=e.features?.scrollBehavior,c=t.features?.streamAnimation,l=e.features?.streamAnimation,u=t.features?.askUserQuestion,d=e.features?.askUserQuestion,f=t.features?.userMessageCollapse,p=e.features?.userMessageCollapse,m=t.features?.history,h=e.features?.history,g=n===void 0&&r===void 0?void 0:{...n,...r,layout:{...n?.layout,...r?.layout}},_=i===void 0&&a===void 0?void 0:{...i,...a},v=o===void 0&&s===void 0?void 0:{...o,...s},y=c===void 0&&l===void 0?void 0:{...c,...l},b=u===void 0&&d===void 0?void 0:{...u,...d,styles:{...u?.styles,...d?.styles}},x=m===void 0&&h===void 0?void 0:{...m,...h,copy:{...m?.copy,...h?.copy}};return{...t.features,...e.features,toolCallDisplay:{...t.features?.toolCallDisplay,...e.features?.toolCallDisplay,...e.features?.toolCallDisplay?.layout===void 0&&e.features?.toolCallDisplay?.variant!==void 0?{layout:e.features.toolCallDisplay.variant}:{}},reasoningDisplay:{...t.features?.reasoningDisplay,...e.features?.reasoningDisplay,...e.features?.reasoningDisplay?.layout===void 0&&e.features?.reasoningDisplay?.variant!==void 0?{layout:e.features.reasoningDisplay.variant}:{}},..._===void 0?{}:{scrollToBottom:_},...v===void 0?{}:{scrollBehavior:v},...g===void 0?{}:{artifacts:g},...y===void 0?{}:{streamAnimation:y},...b===void 0?{}:{askUserQuestion:b},...x===void 0?{}:{history:x},...f!==void 0||p!==void 0?{userMessageCollapse:{...f,...p}}:{}}})(),suggestionChips:e.suggestionChips??t.suggestionChips,suggestionChipsConfig:{...t.suggestionChipsConfig,...e.suggestionChipsConfig},layout:{...t.layout,...e.layout,header:{...t.layout?.header,...e.layout?.header},messages:{...t.layout?.messages,...e.layout?.messages,...t.layout?.messages?.user||e.layout?.messages?.user?{user:{...t.layout?.messages?.user,...e.layout?.messages?.user}}:{},...t.layout?.messages?.assistant||e.layout?.messages?.assistant?{assistant:{...t.layout?.messages?.assistant,...e.layout?.messages?.assistant}}:{},avatar:{...t.layout?.messages?.avatar,...e.layout?.messages?.avatar},timestamp:{...t.layout?.messages?.timestamp,...e.layout?.messages?.timestamp}},slots:{...t.layout?.slots,...e.layout?.slots}},markdown:{...t.markdown,...e.markdown,options:{...t.markdown?.options,...e.markdown?.options}},messageActions:{...t.messageActions,...e.messageActions}},e),e,ws),e):zr(wr(ss(t),void 0,ws))}var gs,_s,vs,ys,bs,xs,Ss,Cs,ws,Ts,Es=V((()=>{Qo(),dr(),es(),kr(),ds(),Wr(),vo(),gs=`min(440px, calc(100vw - 24px))`,_s=`440px`,vs=`40px`,ys=`How can I help...`,bs={enabled:!0,mountMode:`floating`,dock:{side:`right`,width:`420px`},title:`Chat Assistant`,subtitle:`Here to help you get answers fast`,agentIconText:`💬`,agentIconName:`bot`,headerIconName:`bot`,position:`bottom-right`,width:gs,heightOffset:0,autoExpand:!1,callToActionIconHidden:!1,agentIconSize:`40px`,headerIconSize:vs,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`,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)`},xs={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`,tooltip:{delayMs:400,skipDelayMs:300},launcher:bs,copy:{inputPlaceholder:ys,sendButtonLabel:`Send`},sendButton:{borderWidth:`0px`,paddingX:`12px`,paddingY:`10px`,borderColor:void 0,useIcon:!0,iconText:`↑`,showTooltip:!0,tooltipText:`Send message`,iconName:`send`},statusIndicator:{visible:!0,idleText:`Online`,connectingText:`Connecting…`,connectedText:`Streaming…`,errorText:`Offline`},voiceRecognition:{enabled:!0,pauseDuration:2e3,iconName:`mic`,borderWidth:`0px`,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:``,streamingIndicator:`arrow`,scrollBehavior:`instant`,scrollDurationMs:220,transition:`none`},scrollBehavior:{mode:`anchor-top`,anchorTopOffset:16,showActivityWhilePinned:!0},toolCallDisplay:Jo,reasoningDisplay:Yo,streamAnimation:{type:`none`,placeholder:`none`,speed:120,duration:1800},askUserQuestion:{enabled:!0,slideInMs:180,freeTextLabel:`Other…`,freeTextPlaceholder:`Type your answer…`,submitLabel:`Send`},history:{enabled:!1,presentation:`panel`,showScopeStatus:!0,showDelete:!0,showDeleteAll:!0}},suggestionChips:[`Show me what you can help with`,`Walk me through getting started`,`Answer a question about this page`],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},Ss={},Cs={variant:`circle`,width:`min(400px, calc(100vw - 24px))`,headerIconSize:`20px`},ws={colorScheme:`light`,errorDisplay:`block`,messageActions:{visibility:void 0},suggestionChipsConfig:{fontWeight:void 0},approval:$o,loadingIndicator:{variant:`label`},launcher:Cs,features:{artifacts:{enabled:!0},scrollToBottom:{streamingIndicator:`dots`,transition:`fade`,scrollBehavior:`smooth`},userMessageCollapse:{enabled:!0},toolCallDisplay:Xo,reasoningDisplay:Zo},composer:{layout:`single-row`,placement:`overlay`},sendButton:{iconName:`arrow-up`},statusIndicator:{mode:`transient`},layout:{contentMaxWidth:`768px`,topFade:!0,header:{showSubtitle:!1},messages:{assistant:{width:`full`}}}},Ts=ps()}));function Ds(e){return typeof e==`string`?[{type:`text`,text:e}]:e}function Os(e){return typeof e==`string`?e:e.filter(e=>e.type===`text`).map(e=>e.text).join(``)}function ks(e){return typeof e!=`string`&&e.some(e=>e.type===`image`)}function As(e){return typeof e==`string`?[]:e.filter(e=>e.type===`image`)}function js(e){return{type:`text`,text:e}}function Ms(e,t){return{type:`image`,image:e,...t?.mimeType&&{mimeType:t.mimeType},...t?.alt&&{alt:t.alt}}}async function Ns(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let n=r.result;t({type:`image`,image:n,mimeType:e.type,alt:e.name})},r.onerror=()=>n(/* @__PURE__ */ Error(`Failed to read file`)),r.readAsDataURL(e)})}function Ps(e,t=[`image/png`,`image/jpeg`,`image/gif`,`image/webp`],n=10485760){return t.includes(e.type)?e.size>n?{valid:!1,error:`File too large. Maximum size: ${Math.round(n/1048576)}MB`}:{valid:!0}:{valid:!1,error:`Invalid file type. Accepted types: ${t.join(`, `)}`}}function Fs(e){return Hs.includes(e)||e.startsWith(`image/`)}function Is(e){return Fs(e.type)}async function Ls(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let n=r.result;Is(e)?t({type:`image`,image:n,mimeType:e.type,alt:e.name}):t({type:`file`,data:n,mimeType:e.type,filename:e.name})},r.onerror=()=>n(/* @__PURE__ */ Error(`Failed to read file`)),r.readAsDataURL(e)})}function Rs(e,t=Ws,n=10485760){return t.includes(e.type)?e.size>n?{valid:!1,error:`File too large. Maximum size: ${Math.round(n/1048576)}MB`}:{valid:!0}:{valid:!1,error:`Invalid file type "${e.type}". Accepted types: ${t.join(`, `)}`}}function zs(e){let t=e.split(`.`);return t.length>1?t.pop().toLowerCase():``}function Bs(e,t){let n=zs(t).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`}[e]||n||`FILE`}var Vs,Hs,Us,Ws,Gs=V((()=>{Vs=`[Image]`,Hs=[`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`image/svg+xml`,`image/bmp`],Us=[`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`],Ws=[...Hs,...Us]}));function Ks(e){let t=e.ownerDocument?.defaultView;if(!t?.getComputedStyle)return 20;let n=t.getComputedStyle(e).lineHeight;if(!n||!n.trim().endsWith(`px`))return 20;let r=parseFloat(n);return Number.isFinite(r)&&r>0?r:20}function qs(e,t){return typeof e!=`number`||!Number.isFinite(e)?t:e>0?e:t}function Js(e,t){e.style.maxHeight=`${t*Ks(e)}px`,e.style.overflowY=`auto`}function Ys(e){let t=e?.ownerDocument?.defaultView??(typeof window<`u`?window:null);if(!t||typeof t.matchMedia!=`function`)return!1;try{return t.matchMedia(`(pointer: coarse)`).matches===!0}catch{return!1}}function Xs(e){return e.insertNewlineOnTouchEnter===!0&&e.coarsePointer===!0}function Zs(e,t){if(e.key!==`Enter`||e.shiftKey||e.isComposing)return!1;let n=e.metaKey===!0||e.ctrlKey===!0,r=t.submitKey??`enter`;return r===`none`?!1:r===`mod-enter`?n:n||!Xs(t)}function Qs(e){return(e.submitKey??`enter`)===`enter`?Xs(e)?`enter`:`send`:`enter`}function $s(e,t){e.setAttribute(`enterkeyhint`,Qs(t))}function ec(e,t){let n=t?.autocomplete;e.setAttribute(`autocomplete`,typeof n==`string`&&n?n:`off`);let r=(t,n)=>{n===void 0?e.removeAttribute(t):e.setAttribute(t,n)};r(`autocapitalize`,typeof t?.autocapitalize==`string`?t.autocapitalize:void 0),r(`spellcheck`,typeof t?.spellcheck==`boolean`?String(t.spellcheck):void 0),r(`inputmode`,typeof t?.inputmode==`string`&&t.inputmode?t.inputmode:void 0),r(`aria-label`,typeof t?.ariaLabel==`string`&&t.ariaLabel?t.ariaLabel:void 0)}function tc(e){return e===!0?{disabled:!0}:!e||typeof e!=`object`?{disabled:!1}:{disabled:!0,reason:typeof e.reason==`string`&&e.reason?e.reason:void 0}}var nc=V((()=>{})),rc,ic,ac=V((()=>{rc=`persona-composer-control`,ic=`persona-composer-control--glyph`})),oc,sc,cc,lc,uc,dc,fc,pc,mc,hc,gc,_c=V((()=>{Uo(),qo(),Gr(),Nn(),Es(),Gs(),Ro(),nc(),ac(),ac(),oc=(e,t)=>{let n=J(`textarea`);n.setAttribute(`data-persona-composer-input`,``),n.placeholder=e?.copy?.inputPlaceholder??`How can I help...`,n.dir=`auto`,$s(n,{submitKey:e?.composer?.submitKey,insertNewlineOnTouchEnter:e?.composer?.insertNewlineOnTouchEnter,coarsePointer:Ys(n)}),ec(n,e?.composer?.inputAttributes),n.className=`persona-w-full persona-min-h-[24px] persona-resize-none persona-border-none persona-bg-transparent persona-text-sm persona-text-persona-text focus:persona-outline-none focus:persona-border-none persona-composer-textarea`,n.rows=1,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))`;let r=qs(e?.composer?.maxLines,t?.defaultMaxLines??3),i=`${r*20}px`;n.style.maxHeight=i,n.style.overflowY=`auto`;let a=()=>{let e=n.style.maxHeight;if(e!==i){let t=parseFloat(e);if(Number.isFinite(t)&&t>0)return t}let t=r*Ks(n);return i=`${t}px`,n.style.maxHeight=i,t},o=()=>{n.addEventListener(`input`,()=>{n.style.height=`auto`;let e=Math.min(n.scrollHeight,a());n.style.height=`${e}px`})};return n.style.border=`none`,n.style.outline=`none`,n.style.borderWidth=`0`,n.style.borderStyle=`none`,n.style.borderColor=`transparent`,n.addEventListener(`focus`,()=>{n.style.border=`none`,n.style.outline=`none`,n.style.borderWidth=`0`,n.style.borderStyle=`none`,n.style.borderColor=`transparent`,n.style.boxShadow=`none`}),n.addEventListener(`blur`,()=>{n.style.border=`none`,n.style.outline=`none`}),{textarea:n,attachAutoResize:o}},sc=`[data-persona-glyph-stack]`,cc=(e,t,n=`send`)=>{let r=Y(`span`,{className:`persona-composer-glyph-stack`,attrs:{"data-mode":n,"data-persona-glyph-stack":``}});return e.setAttribute(`data-glyph`,`send`),t.setAttribute(`data-glyph`,`stop`),r.append(e,t),r},lc=/* @__PURE__ */ new WeakMap,uc=(e,t,n=!0)=>{lc.set(e,t);let r=t?.sendButton??{},i=r.useIcon??!1,a=e.getAttribute(`data-persona-send-mode`)===`stop`?`stop`:`send`,o=e=>Bo(t,`sendButton.${e}`),s=(e,n)=>zo(t,`composer.send`,e,n),c=o(`size`)||r.size;e.style.fontSize=i?`18px`:``,e.style.lineHeight=i?`1`:``,e.className=X(`persona-rounded-button disabled:persona-opacity-50 persona-cursor-pointer`,i?`persona-flex persona-items-center persona-justify-center ${rc}`:`persona-bg-persona-accent persona-px-4 persona-py-2 persona-text-sm persona-font-semibold`,i&&!o(`backgroundColor`)&&`persona-bg-persona-primary`,!i&&!o(`textColor`)&&`persona-text-white`),Ho(e,i?c||(s(`size`,``)?s(`size`,`var(--persona-composer-control-size, 40px)`):``):``,i?c:void 0);let l=s(`foreground`,i?`var(--persona-send-button-fg, var(--persona-button-primary-fg, #ffffff))`:`#ffffff`),u=s(`background`,i?`var(--persona-button-primary-bg, var(--persona-primary, #111827))`:`var(--persona-accent, #0f0f0f)`);e.style.color=o(`textColor`)||(a===`stop`&&s(`foreground`,``)?`var(--persona-button-stop-fg, ${l})`:s(`foreground`,``)||(i?l:``)),e.style.backgroundColor=(i?o(`backgroundColor`):void 0)||(s(`background`,``)?a===`stop`?`var(--persona-button-stop-bg, ${u})`:u:``);let d=o(`borderWidth`)||(s(`borderWidth`,``)?s(`borderWidth`,r.borderWidth||`0px`):r.borderWidth||``);e.style.borderWidth=d,e.style.borderStyle=d?`solid`:``,e.style.borderColor=o(`borderColor`)||(s(`borderColor`,``)?s(`borderColor`,r.borderColor||`transparent`):r.borderColor||``),e.style.borderRadius=s(`borderRadius`,``)?s(`borderRadius`,`var(--persona-components-composer-sendButtonRadius, var(--persona-button-radius))`):``,Vo(e,s(`padding`,i?`0`:`8px 16px`),i?void 0:o(`paddingX`)||(s(`padding`,``)?void 0:r.paddingX),i?void 0:o(`paddingY`)||(s(`padding`,``)?void 0:r.paddingY));let f=parseFloat(r.iconSize??``)||Math.round((parseFloat(r.size??``)||40)*.5);if(n){if(e.replaceChildren(),i){let t=r.iconStrokeWidth??2,n=r.iconName?K(r.iconName,f,`currentColor`,t):null,i=K(r.stopIconName??`square`,f,`currentColor`,t);n&&i?e.appendChild(cc(n,i,a)):n?e.appendChild(n):e.textContent=r.iconText??`↑`}else e.textContent=a===`stop`?t?.copy?.stopButtonLabel??`Stop`:t?.copy?.sendButtonLabel??`Send`}for(let n of Array.from(e.querySelectorAll(`svg`))){n.style.width=n.style.height=o(`iconSize`)?``:s(`iconSize`,`var(--persona-components-composer-sendIconSize, ${f}px)`);let e=t?.sendButton?.iconStrokeWidth;n.style.strokeWidth=e===void 0?s(`iconStrokeWidth`,``):String(e)}},dc=e=>{let t=e?.sendButton,n=J(`div`,`persona-send-button-wrapper`),r=Y(`button`,{attrs:{type:`submit`,"data-persona-composer-submit":``,"data-persona-send-mode":`send`}});return uc(r,e),r.setAttribute(`aria-label`,t?.tooltipText??`Send message`),n.appendChild(r),So({anchor:r,trigger:n,text:()=>r.getAttribute(`aria-label`)??``,enabled:t?.showTooltip??!1}),{button:r,wrapper:n,setMode:e=>{if(r.getAttribute(`data-persona-send-mode`)===e)return;r.setAttribute(`data-persona-send-mode`,e),r.setAttribute(`aria-label`,e===`stop`?t?.stopTooltipText??`Stop generating`:t?.tooltipText??`Send message`);let n=lc.get(r);uc(r,n,!1),r.querySelector(sc)?.setAttribute(`data-mode`,e),(n?.sendButton?.useIcon??!1)||(r.textContent=e===`stop`?n?.copy?.stopButtonLabel??`Stop`:n?.copy?.sendButtonLabel??`Send`)},glyphStack:r.querySelector(sc)}},fc=(e,t,n=`idle`,r=`none`)=>{let i=t?.voiceRecognition??{},a=e=>Bo(t,`voiceRecognition.${e}`),o=(e,n)=>zo(t,`voice.control`,e,n),s=a(`iconSize`)||i.iconSize;Ho(e,s||(o(`size`,``)?o(`size`,`var(--persona-composer-control-size, 40px)`):``),s),e.classList.add(rc),e.classList.toggle(ic,!s&&!o(`size`,``)),e.style.fontSize=`18px`,e.style.lineHeight=`1`;let c=a(`iconColor`)||Bo(t,`sendButton.textColor`)||o(`foreground`,`var(--persona-text, #111827)`),l=a(`backgroundColor`)||Bo(t,`sendButton.backgroundColor`)||o(`background`,i.backgroundColor||`transparent`),u=a(`borderColor`)||o(`borderColor`,i.borderColor||`transparent`),d=a(`borderWidth`)||o(`borderWidth`,i.borderWidth||``);e.style.borderWidth=d,e.style.borderStyle=d?`solid`:``,e.style.borderRadius=o(`borderRadius`,``)?o(`borderRadius`,`var(--persona-button-radius)`):``,Vo(e,o(`padding`,``)?o(`padding`,`0px`):``,a(`paddingX`)||(o(`padding`,``)?void 0:i.paddingX),a(`paddingY`)||(o(`padding`,``)?void 0:i.paddingY));let f=a(`recordingBackgroundColor`)||`var(--persona-voice-recording-bg, #ef4444)`,p=a(`recordingIconColor`)||`var(--persona-voice-recording-indicator, #ffffff)`,m=a(`recordingBorderColor`)||`var(--persona-consumer-voice-recording-border, ${i.recordingBorderColor||u})`,h=c,g=l,_=u,v=i.iconName??`mic`;if(n===`recording`)h=p,g=f,_=m;else if(n===`processing`)h=a(`processingIconColor`)||`var(--persona-consumer-voice-processing-icon, ${c})`,g=a(`processingBackgroundColor`)||`var(--persona-consumer-voice-processing-background, ${l})`,_=a(`processingBorderColor`)||`var(--persona-components-voice-processing-border, ${u})`,v=i.processingIconName??`loader`;else if(n===`speaking`){let e=r===`barge-in`;h=a(`speakingIconColor`)||`var(--persona-consumer-voice-speaking-icon, ${e&&a(`recordingIconColor`)||c})`,g=a(`speakingBackgroundColor`)||`var(--persona-components-voice-speaking-background, ${e?f:l})`,_=a(`speakingBorderColor`)||`var(--persona-components-voice-speaking-border, ${e?m:u})`,v=i.speakingIconName??(r===`cancel`?`square`:e?`mic`:`volume-2`)}e.style.color=h,e.style.backgroundColor=g,e.style.borderColor=_,e.setAttribute(`data-state`,n);let y=parseFloat(i.iconSize??``)||24,b=K(v,y,`currentColor`,1.5);if(e.replaceChildren(),b){let t=s||(o(`iconSize`,``)?o(`iconSize`,`var(--persona-composer-control-icon-size, 24px)`):``);b.style.width=b.style.height=t,!s&&o(`iconSize`,``)&&(b.style.flexBasis=t),b.style.strokeWidth=o(`iconStrokeWidth`,`1.5`),e.appendChild(b)}else e.textContent=`🎤`},pc=e=>{let t=e?.voiceRecognition??{};if(t.enabled!==!0||t.showButton===!1)return null;let n=typeof window<`u`&&(window.webkitSpeechRecognition!==void 0||window.SpeechRecognition!==void 0),r=t.provider?.type===`runtype`,i=t.provider?.type===`custom`||t.dictation?.provider?.type===`custom`;if(!(n||r||i))return null;let a=J(`div`,`persona-send-button-wrapper`),o=Y(`button`,{className:`persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-composer-control`,attrs:{type:`button`,"data-persona-composer-mic":``,"data-state":`idle`,"aria-label":t.tooltipText??`Start voice recognition`}});fc(o,e),a.appendChild(o);let s=t.tooltipText??`Start voice recognition`;return So({anchor:o,trigger:a,text:()=>o.getAttribute(`aria-label`)??s,enabled:t.showTooltip??!1}),{button:o,wrapper:a}},mc=e=>{let t=e?.attachments??{};if(t.enabled!==!0)return null;let n=J(`div`,`persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2`);n.setAttribute(`data-persona-composer-attachment-previews`,``),n.style.display=`none`;let r=J(`input`);r.type=`file`,r.setAttribute(`data-persona-composer-attachment-input`,``),r.accept=(t.allowedTypes??Ws).join(`,`),r.multiple=(t.maxFiles??4)>1,r.style.display=`none`,r.setAttribute(`aria-label`,`Attach files`);let i=t.buttonIconName??`paperclip`,a=J(`div`,`persona-send-button-wrapper`),o=Y(`button`,{className:`persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-attachment-button ${rc} ${ic}`,attrs:{type:`button`,"data-persona-composer-attachment-button":``,"aria-label":t.buttonTooltipText??`Attach file`},style:{fontSize:`18px`,lineHeight:`1`}}),s=K(i,24,`currentColor`,1.5);s?o.appendChild(s):o.textContent=`📎`,o.addEventListener(`click`,e=>{e.preventDefault(),r.click()}),a.appendChild(o);let c=t.buttonTooltipText??`Attach file`;return So({anchor:o,trigger:a,text:()=>o.getAttribute(`aria-label`)??c}),{button:o,wrapper:a,input:r,previewsContainer:n}},hc=e=>{let t=e?.statusIndicator??{},n=t.align===`left`?`persona-text-left`:t.align===`center`?`persona-text-center`:`persona-text-right`,r=J(`div`,`persona-mt-2 ${n} persona-text-xs persona-text-persona-muted`);r.setAttribute(`data-persona-composer-status`,``),Go(r,t,`idle`);let i=t.idleText??`Online`;if(t.idleLink){let e=J(`a`);e.href=t.idleLink,e.target=`_blank`,e.rel=`noopener noreferrer`,e.textContent=i,e.style.color=`inherit`,e.style.textDecoration=`none`,r.appendChild(e)}else r.textContent=i;return r},gc=()=>Y(`div`,{className:`persona-mb-3 persona-flex persona-flex-wrap persona-gap-2`,attrs:{"data-persona-composer-suggestions":``}})}));function vc(e){let{config:t,onOpen:n}=e,r=t.buttonIconName??`plus`,i=t.buttonTooltipText??`Add context`,a=J(`div`,`persona-send-button-wrapper`),o=Y(`button`,{className:`persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-mention-button ${rc} ${ic}`,attrs:{type:`button`,"data-persona-composer-mention-button":``,"aria-label":i,"aria-haspopup":`listbox`,"aria-expanded":`false`},style:{fontSize:`18px`,lineHeight:`1`}}),s=K(r,24,`currentColor`,1.5);return s?o.appendChild(s):o.textContent=`+`,o.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),n()}),a.appendChild(o),So({anchor:o,trigger:a,text:()=>o.getAttribute(`aria-label`)??i}),{button:o,wrapper:a}}var yc=V((()=>{Gr(),Nn(),Ro(),_c()})),bc,xc,Sc,Cc=V((()=>{U(),{setLoader:bc,load:xc}=H({fallbackImport:()=>import(`@runtypelabs/persona/context-mentions`)}),Sc=xc})),wc,Tc,Ec,Dc=V((()=>{U(),{setLoader:wc,load:Tc}=H({fallbackImport:()=>import(`@runtypelabs/persona/context-mentions-inline`),resetOnSetLoader:!0}),Ec=Tc}));function Oc(e,t={}){if(t.render)return t.render({ref:e,readonly:!!t.readonly});let n=Y(`span`,{className:X(`persona-mention-token`,t.readonly&&`persona-mention-token-readonly`),attrs:{"data-mention-source":e.sourceId,title:e.label,role:`img`,"aria-label":`${e.label} mention`}});e.color&&n.style.setProperty(`--persona-mention-token-accent`,e.color);let r=K(e.iconName??`at-sign`,13,`currentColor`,2);if(r){let e=J(`span`,`persona-mention-token-icon`);e.appendChild(r),n.appendChild(e)}return n.appendChild(Y(`span`,{className:`persona-mention-token-label`,text:`@${e.label}`})),n}var kc=V((()=>{Gr(),Nn()}));function Ac(e){let{loadContextMentions:t,loadContextMentionsInline:n,renderLucideIcon:r,createMentionButton:i}=e.deps??jc,a=e.config.contextMentions;if(!a?.enabled)return null;let o=go(a).filter(e=>e.sources.length>0);if(o.length===0)return typeof console<`u`&&console.warn(`[Persona] contextMentions.enabled is true but no sources were provided; mentions are disabled.`),null;let s=o.filter(e=>e.sources.some(e=>typeof e.matchCommand==`function`)),c=e=>s.some(t=>t.trigger?t.position===`line-start`?e.split(`
8
+ `),i=`message`,o=``,s=null;for(let e of r)e.startsWith(`event:`)?i=e.replace(`event:`,``).trim():e.startsWith(`data:`)?o+=e.replace(`data:`,``).trim():e.startsWith(`id:`)&&(s=e.slice(3).trim());let l=()=>{s!==null&&s!==``&&n({type:`cursor`,id:s,...e.config().backgroundConversations?{checkpoint:{textBlockId:w,openAssistant:x!==null,sealedFlowMessageId:ye?.id??null,rawText:te,executionKind:Oe,executionKindResolved:ke,turnId:Ae,iteration:De,textPhases:[...T],nestedParents:[...E],nestedRaw:[...re],media:[...Ee].map(([e,t])=>[e,{...t,parts:[...t.parts]}]),artifactContent:[...de].map(([e,t])=>[e,{...t,props:t.props?{...t.props}:void 0}]),artifactTools:[...ue]}}:{}})};if(!o){l();continue}let u;try{u=JSON.parse(o)}catch(e){n({type:`error`,error:e instanceof Error?e:/* @__PURE__ */ Error(`Failed to parse chat stream payload`)});continue}let d=typeof u==`object`&&u&&!Array.isArray(u)?u:null,f=i===`message`?typeof d?.type==`string`?d.type:`message`:i;if(e.onSSEEvent?.(f,u),e.parseSSEEvent){C.current=x;let t=await ya(e,u,n,C,b,g,ee);if(c!==e.streamGeneration())return;if(a?.throwIfAborted(),C.current&&C.current!==x&&(x=C.current),t){l();continue}}d&&(we.push({...d,type:f}),Te()),l()}}Te()}finally{e.streamReaders.delete(l),a?.removeEventListener(`abort`,d),l.releaseLock()}}var xa,Sa,Ca=B((()=>{Kn(),$n(),lr(),ha(),xa=e=>e===`commentary`||e===`partial_answer`||e===`final_answer`?e:void 0,Sa=e=>/^[{[<]/.test(e)}));Ca(),H();const{setLoader:wa,load:Ta,provide:Ea,getSync:Da}=V({fallbackImport:()=>Promise.resolve().then(()=>(Ca(),ga))}),Oa=Ta,ka=Ea,Aa=Da;ka(ga);var ja=`4.35.1`,Ma,Na=B((()=>{Ma=ja})),Pa=/* @__PURE__ */ Vt({deleteAllConversations:()=>Ya,deleteConversation:()=>Ja,finalizeDisplayProjections:()=>qa,getConversation:()=>Ka,historyErrorFor:()=>Va,listConversations:()=>Ga,readErrorCode:()=>za,recoverFromUnauthorized:()=>Ba,resetVisitor:()=>Xa});function Fa(e,t,n){let r=new URLSearchParams;for(let[e,t]of Object.entries(n))t!==void 0&&t!==``&&r.set(e,String(t));let i=r.toString();return`${e.clientApiBase()}/v1/client/${t}${i?`?${i}`:``}`}function Ia(e,t){return t||e.config.features?.history?.scope||(e.config.getIdentityProof?`verified-user`:`browser`)}async function La(e,t,n){let r=e.config.getIdentityProof;if(!r)return n&&e.setHistoryIdentityStatus(e.browserOnlyStatus()),null;n&&e.setHistoryIdentityStatus({state:`verifying`});let i;try{i=await r()??null}catch{throw n&&e.setHistoryIdentityStatus({state:`identity_provider_failed`}),new e.HistoryClientError(`identity_provider_failed`,`The identity proof provider failed`)}if(i)return i;if(t.visitor?.endUserId!=null)throw n&&e.setHistoryIdentityStatus({state:`authentication_required`,reason:`proof_unavailable_after_binding`}),new e.HistoryClientError(`authentication_required`,`This browser is bound to a signed-in user and needs a fresh identity proof`);return n&&e.setHistoryIdentityStatus({state:`browser_only`,reason:`proof_unavailable_before_binding`}),null}async function Ra(e,t,n,r){if(t.visitor?.endUserId!=null)return t;let i=await e.reinitWithProof(n);if(i.visitor?.identityStatus!==`admitted`||i.visitor?.endUserId==null)throw r&&e.setHistoryIdentityStatus({state:`configuration_error`,reason:`proof_not_admitted`}),new e.HistoryClientError(`proof_not_admitted`,Q);return i}async function za(e,t){let n=await t.json().catch(()=>({}));return typeof n.error==`string`?n.error:typeof n.message==`string`?n.message:``}async function Ba(e,t,n,r){let i=t.toLowerCase();if(i.includes(`invalid_identity_proof`))throw r&&e.setHistoryIdentityStatus({state:`authentication_required`,reason:`invalid_identity_proof`}),new e.HistoryClientError(`invalid_identity_proof`,eo);if(i.includes(`visitor token required`))throw new e.HistoryClientError(`visitor_token_missing`,to);if(i.includes(`visitor_identity_mismatch`)){if(!n)throw r&&e.setHistoryIdentityStatus({state:`authentication_required`,reason:`proof_unavailable_after_binding`}),new e.HistoryClientError(`visitor_identity_mismatch`,no);return e.reinitWithProof(n)}if(i.includes(`expired`)||i.includes(`not found`))return e.clearClientSession(),e.initSession();throw new e.HistoryClientError(`unauthorized`,t||`History request was not authorized`)}async function Va(e,t,n){let r=await za(e,t);if(t.status===404)return new e.HistoryClientError(`not_found`,`Conversation not found`);if(t.status===429){let n=Number.parseInt(t.headers.get(`Retry-After`)??``,10);return new e.HistoryClientError(`rate_limited`,`Too many history requests`,{...Number.isFinite(n)?{retryAfterSeconds:n}:{}})}if(t.status===503&&r.includes(`identity_proof_not_admitted`))return n&&e.setHistoryIdentityStatus({state:`configuration_error`,reason:`proof_not_admitted`}),new e.HistoryClientError(`proof_not_admitted`,Q);if(t.status===401){let t=r.toLowerCase();return t.includes(`invalid_identity_proof`)?(n&&e.setHistoryIdentityStatus({state:`authentication_required`,reason:`invalid_identity_proof`}),new e.HistoryClientError(`invalid_identity_proof`,eo)):t.includes(`visitor token required`)?new e.HistoryClientError(`visitor_token_missing`,to):t.includes(`visitor_identity_mismatch`)?new e.HistoryClientError(`visitor_identity_mismatch`,no):new e.HistoryClientError(`unauthorized`,r||`History request was not authorized`)}return new e.HistoryClientError(`request_failed`,r||`History request failed (${t.status})`)}function Ha(e,t,n,r){let i=t?.toLowerCase()??null;if(n){if(i===`admitted`){r&&e.setHistoryIdentityStatus({state:`verified`});return}throw r&&e.setHistoryIdentityStatus({state:`configuration_error`,reason:`proof_not_admitted`}),i===`ignored`?new e.HistoryClientError(`identity_contract_violation`,`Server reported an ignored identity proof on a success response`):new e.HistoryClientError(`proof_not_admitted`,`The response did not acknowledge the identity proof this request sent`)}if(i===`admitted`)throw new e.HistoryClientError(`identity_contract_violation`,`Server admitted an identity proof that was never sent`);r&&e.setHistoryIdentityStatus(e.browserOnlyStatus())}async function Ua(e,t,n){Wa(e);let r=n.trackIdentity!==!1,i=await e.initSession(),a=null;Ia(e,n.scope)===`verified-user`&&(a=await La(e,i,r),a&&(i=await Ra(e,i,a,r)));let o=e.historyInternals.visitorStore,s=!1;for(;;){let c=o?.revision()??0,l=await e.readVisitorToken();if(!l&&!n.visitorTokenOptional)throw new e.HistoryClientError(`visitor_token_missing`,`No visitor credential is stored for this browser`);let u=await fetch(Fa(e,t,{...n.query,sessionId:i.sessionId}),{method:n.method,headers:{"X-Persona-Version":Ma,...l?{"X-Visitor-Token":l}:{},...a?{"X-Identity-Proof":a}:{},...n.body===void 0?{}:{"Content-Type":`application/json`}},...n.body===void 0?{}:{body:JSON.stringify(n.body)},...n.keepalive?{keepalive:!0}:{}});if(u.status===401&&!s){s=!0,i=await Ba(e,await za(e,u),a,r);continue}if(!u.ok)throw await Va(e,u,r);let d=u.headers.get(`X-History-Identity-Status`),f=await u.json().catch(()=>void 0);if(o&&o.revision()!==c)throw new e.HistoryClientError(`credential_changed`,`The visitor credential changed while the request was in flight`);return Ha(e,d,a!==null,r),f}}function Wa(e){if(!e.isClientTokenMode())throw Error(`Conversation history is only available in client token mode`);if(!e.isHistoryCapable())throw new e.HistoryClientError(`history_disabled`,`Visitor history is disabled for this surface`)}async function Ga(e,t){let n=await Ua(e,`conversations`,{method:`GET`,query:{...t?.cursor?{cursor:t.cursor}:{},...t?.limit===void 0?{}:{limit:t.limit},...t?.targetId?{targetId:t.targetId}:{}},...t?.scope?{scope:t.scope}:{}});return{data:(Array.isArray(n?.data)?n.data:[]).map($a),nextCursor:typeof n?.nextCursor==`string`?n.nextCursor:null}}async function Ka(e,t,n){let r=await Ua(e,`conversations/${encodeURIComponent(t)}`,{method:`GET`,query:{...n?.messageCursor?{messageCursor:n.messageCursor}:{}},...n?.scope?{scope:n.scope}:{}});return{summary:$a(r),messages:Array.isArray(r?.messages)?r.messages:[],nextMessageCursor:typeof r?.nextMessageCursor==`string`?r.nextMessageCursor:null,conversationRevision:typeof r?.conversationRevision==`string`?r.conversationRevision:null}}async function qa(e,t,n){Wa(e);let r=0;for(let t of n){let n=t.displayContent.length;if(n>Za)throw new e.HistoryClientError(`payload_too_large`,`displayContent exceeds the ${Za} character limit`);r+=n}if(r>Qa)throw new e.HistoryClientError(`payload_too_large`,`Display projection batch exceeds the ${Qa} character limit`);await e.initSession();let i=e.historyInternals.visitorStore,a=i?.revision()??0,o=await Ua(e,`conversations/${encodeURIComponent(t)}/display-projections`,{method:`PATCH`,body:{messages:n},scope:`browser`,keepalive:r<=Qa,trackIdentity:!1}),s=typeof o?.conversationRevision==`string`?o.conversationRevision:null;return s&&e.clientSession?.conversationId===t&&(i?.revision()??0)===a&&e.historyInternals.setStoredConversationRevision?.(s),{conversationRevision:s}}async function Ja(e,t,n){let r=await Ua(e,`conversations/${encodeURIComponent(t)}`,{method:`DELETE`,...n?.scope?{scope:n.scope}:{}});return{deleted:typeof r?.deleted==`number`?r.deleted:0}}async function Ya(e,t){let n=await Ua(e,`conversations`,{method:`DELETE`,query:{...t?.targetId===void 0?{}:{targetId:t.targetId}},...t?.scope?{scope:t.scope}:{}});return{deleted:typeof n?.deleted==`number`?n.deleted:0}}async function Xa(e){Wa(e),e.setHistoryIdentityStatus({state:`resetting`});try{await Ua(e,`visitor/reset`,{method:`POST`,scope:`browser`,visitorTokenOptional:!0})}finally{await e.historyInternals.visitorStore?.clear(),e.setHistoryIdentityStatus(e.derivedBrowserOnly())}return{reset:!0}}var Za,Qa,$a,Q,eo,to,no,ro=B((()=>{Na(),Za=32768,Qa=49152,$a=e=>{let t=e??{},n=typeof t.targetId==`string`?t.targetId:null;return{id:typeof t.id==`string`?t.id:``,title:typeof t.title==`string`?t.title:``,targetId:n,preview:typeof t.preview==`string`?t.preview:null,messageCount:typeof t.messageCount==`number`?t.messageCount:0,createdAt:typeof t.createdAt==`string`?t.createdAt:``,updatedAt:typeof t.updatedAt==`string`?t.updatedAt:``}},Q=`The identity proof was not admitted; account history is unavailable`,eo=`The identity proof was rejected`,to=`The request carried no visitor credential`,no=`The stored visitor belongs to a different signed-in user`}));ro(),H();const{setLoader:io,load:ao,provide:oo}=V({fallbackImport:()=>Promise.resolve().then(()=>(ro(),Pa))}),so=ao;oo(Pa);var co,lo=B((()=>{Z(),co=e=>{let{mount:t,overlay:n,sessionRef:r}=e,i=(i,a,o)=>{let s=a.trim();if(!s||!r.current)return;let c=i.getAttribute(`data-tool-call-id`)??``,l=o.source===`free-text`;t.dispatchEvent(new CustomEvent(`persona:askUserQuestion:answered`,{detail:{instanceId:e.instanceId,toolUseId:c,answer:s,answers:o.structured,values:o.values??(o.source===`multi`?s.split(`, `):[s]),isFreeText:l,source:o.source},bubbles:!0,composed:!0})),Ui(n,c);let u=r.current.getMessages().find(e=>e.toolCall?.id===c);u?.agentMetadata?.awaitingLocalTool?r.current.resolveAskUserQuestion(u,o.structured??s):r.current.sendMessage(s)},a=e=>{let t=r.current;if(!t)return;let n=e.getAttribute(`data-tool-call-id`)??``,i=t.getMessages().find(e=>e.toolCall?.id===n);i&&t.persistAskUserQuestionProgress(i,{answers:Fi(e,i),currentIndex:Ai(e)})},o=e=>Object.entries(e).map(([e,t])=>`${e}: ${Array.isArray(t)?t.join(`, `):t}`).join(` | `),s=t=>{if(e.config().features?.askUserQuestion?.groupedAutoAdvance===!1)return;let n=Ai(t);if(n>=X(t)-1)return;let i=r.current?.getMessages().find(e=>e.toolCall?.id===t.getAttribute(`data-tool-call-id`));i&&(Ki(t,i,e.config(),n+1),a(t))};return{click:c=>{let l=c.target.closest(`[data-ask-user-action]`);if(!l)return;let u=l.closest(`[data-persona-ask-sheet-for]`);if(!u)return;let d=l.getAttribute(`data-ask-user-action`);if(c.preventDefault(),c.stopPropagation(),d===`dismiss`){let i=u.getAttribute(`data-tool-call-id`)??``;t.dispatchEvent(new CustomEvent(`persona:askUserQuestion:dismissed`,{detail:{instanceId:e.instanceId,toolUseId:i},bubbles:!0,composed:!0})),Ui(n,i);let a=r.current?.getMessages().find(e=>e.toolCall?.id===i);a?.agentMetadata?.awaitingLocalTool&&(r.current?.markAskUserQuestionResolved(a),r.current?.resolveAskUserQuestion(a,`(dismissed)`))}else if(d===`pick`){let e=l.getAttribute(`data-option-label`);if(!e)return;let t=u.getAttribute(`data-multi-select`)===`true`,n=Mi(u);if(n&&t){let t=Oi(u)[Ai(u)],n=new Set(Array.isArray(t)?t:[]);n.has(e)?n.delete(e):n.add(e),Gi(u,Array.from(n)),a(u);return}if(n){Gi(u,e),a(u),s(u);return}if(t){let e=l.getAttribute(`aria-pressed`)===`true`;l.setAttribute(`aria-pressed`,e?`false`:`true`),l.classList.toggle(`persona-ask-pill-selected`,!e);let t=u.querySelector(`[data-ask-user-action="submit-multi"]`);t&&(t.disabled=Wi(u).length===0);return}i(u,e,{source:`pick`,values:[e]})}else if(d===`submit-multi`){let e=Wi(u);if(e.length===0)return;i(u,e.join(`, `),{source:`multi`,values:e})}else if(d===`open-free-text`){let e=u.querySelector(`[data-ask-free-text-row="true"]`);e&&(e.classList.remove(`persona-hidden`),e.querySelector(`[data-ask-free-text-input="true"]`)?.focus())}else if(d===`focus-free-text`)u.querySelector(`[data-ask-free-text-input="true"]`)?.focus();else if(d===`submit-free-text`){let e=u.querySelector(`[data-ask-free-text-input="true"]`)?.value??``;if(!e.trim())return;if(Mi(u)){Gi(u,e.trim()),a(u),s(u);return}i(u,e,{source:`free-text`})}else if(d===`next`||d===`back`){if(!r.current)return;let t=u.getAttribute(`data-tool-call-id`)??``,n=r.current.getMessages().find(e=>e.toolCall?.id===t);if(!n)return;let i=u.querySelector(`[data-ask-free-text-input="true"]`)?.value?.trim()??``;if(i){let e=Oi(u)[Ai(u)];(typeof e!=`string`||e!==i)&&Gi(u,i)}let o=d===`next`?1:-1,s=Ai(u)+o;Ki(u,n,e.config(),s),a(u)}else if(d===`submit-all`){if(!r.current)return;let e=u.getAttribute(`data-tool-call-id`)??``,t=r.current.getMessages().find(t=>t.toolCall?.id===e);if(!t)return;let n=u.querySelector(`[data-ask-free-text-input="true"]`)?.value?.trim()??``;n&&Gi(u,n);let a=Fi(u,t);r.current.persistAskUserQuestionProgress(t,{answers:a,currentIndex:Ai(u)});let s=o(a);i(u,s||`(submitted)`,{source:`submit-all`,structured:a})}else if(d===`skip`){if(!r.current)return;let s=u.getAttribute(`data-tool-call-id`)??``,c=r.current.getMessages().find(e=>e.toolCall?.id===s);if(!c)return;let l=Mi(u),d=Ai(u),f=d>=X(u)-1;if(!l){t.dispatchEvent(new CustomEvent(`persona:askUserQuestion:dismissed`,{detail:{instanceId:e.instanceId,toolUseId:s},bubbles:!0,composed:!0})),Ui(n,s),c.agentMetadata?.awaitingLocalTool&&(r.current.markAskUserQuestionResolved(c),r.current.resolveAskUserQuestion(c,`(dismissed)`));return}Gi(u,``);let p=u.querySelector(`[data-ask-free-text-input="true"]`);if(p&&(p.value=``),f){let e=Fi(u,c),t=o(e);i(u,t||`(skipped)`,{source:`submit-all`,structured:e});return}Ki(u,c,e.config(),d+1),a(u)}},keydown:e=>{if(e.key!==`Enter`)return;let t=e.target;if(!t.matches?.(`[data-ask-free-text-input="true"]`))return;let n=t.closest(`[data-persona-ask-sheet-for]`);if(!n)return;e.preventDefault();let r=t.value;r.trim()&&(Mi(n)?(Gi(n,r.trim()),a(n),s(n)):i(n,r,{source:`free-text`}))}}}}));function uo(e,t,n){if(n===`input-start`)return t===0;let r=t>0?e[t-1]:``;return n===`line-start`?r===``||r===`
9
+ `:r===``||ho.test(r)}function fo(e,t,n=`@`,r=`anywhere`,i=!1){if(!n||t<=0||t>e.length)return null;let a=t-1;for(;a>=0;){let o=e[a];if(o===n)return uo(e,a,r)?{triggerIndex:a,query:e.slice(a+1,t)}:null;if(o===`
10
+ `||o===``||!i&&ho.test(o))return null;a--}return null}function po(e,t,n){for(let r of n){let n=fo(e,t,r.trigger,r.position??`anywhere`,r.allowSpaces??!1);if(n)return{channel:r,match:n}}return null}function mo(e){return!e||e!==`insertFromPaste`&&e!==`insertFromDrop`}var ho,go=B((()=>{ho=/\s/}));function _o(e){return[{trigger:e.trigger??`@`,position:e.triggerPosition??`anywhere`,allowSpaces:!1,sources:Array.isArray(e.sources)?e.sources:[],searchPlaceholder:e.searchPlaceholder,showButton:e.showButton!==!1,buttonIconName:e.buttonIconName,buttonTooltipText:e.buttonTooltipText},...(e.triggers??[]).map(e=>({trigger:e.trigger,position:e.triggerPosition??`anywhere`,allowSpaces:e.allowSpaces??!1,sources:Array.isArray(e.sources)?e.sources:[],searchPlaceholder:e.searchPlaceholder,showButton:e.showButton===!0,buttonIconName:e.buttonIconName,buttonTooltipText:e.buttonTooltipText}))]}var vo=B((()=>{})),yo=B((()=>{})),bo=B((()=>{}));function xo(e){e.delayMs!==void 0&&(Do=Ao(e.delayMs)),e.skipDelayMs!==void 0&&(Oo=Ao(e.skipDelayMs))}function So(e){No.get(e)?.hide()}function Co(e){No.get(e.anchor)?.destroy();let{anchor:t,trigger:n=t,text:r,hint:i,enabled:a=!0,gap:o=wo,viewportPadding:s=To}=e,c=()=>t.ownerDocument,l=()=>c().defaultView??window,u=null,d=null,f=null,p=null,m,h=!1,g=!1,_=!1,v=()=>(typeof r==`function`?r():r).trim(),y=()=>(typeof i==`function`?i():i??``).trim(),b=()=>Ao(e.delayMs??Do),x=()=>Ao(e.skipDelayMs??Oo),S=()=>{m!==void 0&&(l().clearTimeout(m),m=void 0)},C=()=>{S();let e=u!==null;p?.(),p=null,u?.remove(),u=null,d=null,f=null,e&&Mo(x())},ee=()=>{if(!u)return;let e=c(),n=l(),r=t.getBoundingClientRect(),i=u.getBoundingClientRect(),a=e.documentElement.clientWidth||n.innerWidth,d=e.documentElement.clientHeight||n.innerHeight,f=a-s-i.width,p=r.left+r.width/2-i.width/2,m=Lo(p,s,f),h=r.top-s,g=d-s-r.bottom,_=h>=i.height+o||h>=g?`top`:`bottom`,v=_===`top`?r.top-o-i.height:r.bottom+o,y=d-s-i.height,b=Lo(v,s,y),x=r.left+r.width/2,S=Math.max(Eo,i.width-Eo),C=Lo(x-m,Eo,S);u.dataset.placement=_,u.style.left=`${m}px`,u.style.top=`${b}px`,u.style.setProperty(`--persona-tooltip-arrow-x`,`${C}px`)},w=()=>{if(_||!a||u||!t.isConnected||Po(t))return;let e=v(),n=Io(t);if(!e||!n)return;let r=c(),i=l();u=r.createElement(`div`),u.className=`persona-control-tooltip`,u.setAttribute(`role`,`tooltip`),u.dataset.state=`measuring`,u.style.zIndex=String(da);let o=i.getComputedStyle?.(t);if(o){for(let e of Ro){let t=o.getPropertyValue(e).trim();t&&u.style.setProperty(e,t)}o.fontFamily&&(u.style.fontFamily=o.fontFamily)}d=r.createElement(`span`),d.className=`persona-control-tooltip__label`,d.textContent=e,u.appendChild(d);let s=y();s&&(f=r.createElement(`span`),f.className=`persona-control-tooltip__hint`,f.textContent=s,u.appendChild(f));let m=r.createElement(`span`);m.className=`persona-control-tooltip__arrow`,u.appendChild(m),n.appendChild(u),ee(),u.dataset.state=`open`;let h=()=>{if(!t.isConnected){C();return}d&&(d.textContent=v()),f&&(f.textContent=y());let e=Io(t);u&&e&&u.parentNode!==e&&e.appendChild(u),ee()};i.addEventListener(`scroll`,h,!0),i.addEventListener(`resize`,h);let g=t.closest(`[data-persona-root]`);g?.addEventListener(`persona:internal:host-moved`,h);let b=t.getRootNode(),x=Fo(b)?b:r.documentElement,S=typeof MutationObserver>`u`?null:new MutationObserver(()=>{t.isConnected||C()});S?.observe(x,{childList:!0,subtree:!0}),p=()=>{i.removeEventListener(`scroll`,h,!0),i.removeEventListener(`resize`,h),g?.removeEventListener(`persona:internal:host-moved`,h),S?.disconnect()}},te=e=>{_||u||(S(),e||b()<=0||jo()?w():m=l().setTimeout(()=>{m=void 0,w()},b()))},T=()=>{h||g?te(g):C()},E=()=>{let e=l();e.matchMedia&&e.matchMedia(`(hover: none)`).matches||(h=!0,T())},ne=()=>{h=!1,T()},re=()=>{try{g=t.matches(`:focus-visible`)}catch{g=!0}T()},D=()=>{g=!1,T()},ie=()=>{h=!1,g=!1,C()},ae=e=>{e.key===`Escape`&&ie()};n.addEventListener(`mouseenter`,E),n.addEventListener(`mouseleave`,ne),t.addEventListener(`focus`,re),t.addEventListener(`blur`,D),t.addEventListener(`keydown`,ae),t.addEventListener(`click`,ie);let oe={get isOpen(){return u!==null},show:w,hide:C,reposition:ee,destroy:()=>{_||(_=!0,C(),n.removeEventListener(`mouseenter`,E),n.removeEventListener(`mouseleave`,ne),t.removeEventListener(`focus`,re),t.removeEventListener(`blur`,D),t.removeEventListener(`keydown`,ae),t.removeEventListener(`click`,ie),No.delete(t))}};return No.set(t,oe),oe}var wo,To,Eo,Do,Oo,ko,Ao,jo,Mo,No,Po,Fo,Io,Lo,Ro,zo=B((()=>{fa(),yo(),bo(),wo=8,To=8,Eo=10,Do=400,Oo=300,ko=0,Ao=e=>Math.max(0,e),jo=()=>Date.now()<ko,Mo=e=>{ko=e>0?Date.now()+e:0},No=/* @__PURE__ */ new WeakMap,Po=e=>typeof e.closest==`function`&&e.closest(`[data-persona-tooltip-suppressed]`)!==null,Fo=e=>e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&`host`in e,Io=e=>{let t=e.getRootNode?.();return Fo(t)?t:e.closest(`dialog[open]`)??e.ownerDocument.body},Lo=(e,t,n)=>Math.min(Math.max(e,t),Math.max(t,n)),Ro=[...[`background`,`foreground`,`hint-fg`,`radius`,`font-size`,`padding`,`max-width`,`shadow`,`arrow-display`].map(e=>`--persona-tooltip-${e}`),`--persona-font-family`,`--persona-radius-sm`]})),Bo,Vo,Ho,Uo,Wo=B((()=>{Gr(),Bo=(e,t,n,r)=>{let[i,a]=t.split(`.`);return[e?.theme,e?.darkTheme].some(e=>e?.components?.[i]?.[a]?.[n]!==void 0)?`var(--persona-components-${t.replace(`.`,`-`)}-${n}, ${r})`:r},Vo=(e,t)=>{let n=e&&Ur(e,t);return typeof n==`string`&&n?n:void 0},Ho=(e,t,n,r)=>{let i=t.startsWith(`var(`);e.classList.toggle(`persona-theme-padding`,i),e.style.padding=i?``:t,i?e.style.setProperty(`--persona-theme-padding`,t):e.style.removeProperty(`--persona-theme-padding`),n&&(e.style.paddingLeft=e.style.paddingRight=n),r&&(e.style.paddingTop=e.style.paddingBottom=r)},Uo=(e,t,n)=>{let r=t.startsWith(`var(`)&&t.includes(`--persona-components-`);e.classList.toggle(`persona-control-size`,r),r?e.style.setProperty(`--persona-control-size`,t):e.style.removeProperty(`--persona-control-size`),e.style.width=e.style.height=t,e.style.minWidth=e.style.minHeight=n??``}})),Go,Ko,qo,Jo=B((()=>{Go=(e,t)=>e.visible!==!1&&(e.mode!==`transient`||t===`connecting`||t===`paused`||t===`resuming`||t===`error`),Ko=(e,t,n)=>{let r=t.mode===`transient`,i=e.hasAttribute(`data-persona-composer-reason`)||e.hasAttribute(`data-persona-composer-notice`);e.style.display=Go(t,n)||r&&i&&t.visible!==!1?``:`none`,e.classList.toggle(`persona-mt-2`,!r),e.classList.toggle(`persona-mb-2`,r)},qo=(e,t,n)=>{t.parentElement&&e.parentElement===t.parentElement&&(n.mode===`transient`?e.nextElementSibling!==t&&t.before(e):t.nextElementSibling!==e&&t.after(e))}})),Yo,Xo,Zo,Qo,$o=B((()=>{Yo={collapsedMode:`tool-call`,activePreview:!1,grouped:!1,groupedMode:`stack`,groupBoundary:`adjacent`,previewMaxLines:3,expandable:!0,loadingAnimation:`none`},Xo={activePreview:!1,previewMaxLines:3,expandable:!0,loadingAnimation:`none`},Zo={layout:`row`,variant:`row`,iconVisibility:`active`,autoExpand:!1,grouped:!0,groupedMode:`collapsible`,groupAppearance:`inset`,loadingAnimation:`shimmer`},Qo={appearance:`inset`,layout:`row`,variant:`row`,iconVisibility:`active`,autoExpand:!1,loadingAnimation:`shimmer`}})),es,ts=B((()=>{es={resolvedDisplay:`row`,primaryAction:`allow-once`,keyboardShortcuts:`focused`}})),ns,rs,is,as,os,ss,cs,ls,us,ds,fs=B((()=>{ns=Symbol(`persona.panelAliasProvenance`),rs=(e,t)=>e!=null&&Object.prototype.hasOwnProperty.call(e,t),is=(e,t)=>rs(e,t)&&e[t]!==void 0,as=e=>({launcherWidth:is(e?.launcher,`width`),legacyLauncherWidth:is(e,`launcherWidth`),sidebarWidth:is(e?.launcher,`sidebarWidth`),dockWidth:is(e?.launcher?.dock,`width`)}),os=e=>{let t=e?.[ns];return t?{...t}:as(e)},ss=(e,t)=>(Object.defineProperty(e,ns,{value:t,enumerable:!0,configurable:!0}),e),cs=(e,t)=>ss(e,os(t)),ls=(e,t)=>{let n=t[ns];if(n)return{...n};let r=os(e);return rs(t,`launcherWidth`)&&(r.legacyLauncherWidth=t.launcherWidth!==void 0),rs(t,`launcher`)&&t.launcher===void 0?(r.launcherWidth=!1,r.sidebarWidth=!1,r.dockWidth=!1,r):(rs(t.launcher,`width`)&&(r.launcherWidth=t.launcher?.width!==void 0),rs(t.launcher,`sidebarWidth`)&&(r.sidebarWidth=t.launcher?.sidebarWidth!==void 0),rs(t.launcher,`dock`)&&t.launcher?.dock===void 0?r.dockWidth=!1:rs(t.launcher?.dock,`width`)&&(r.dockWidth=t.launcher?.dock?.width!==void 0),r)},us=e=>e?.layout?.embedded===!0&&e.launcher?.enabled===!1&&!e.launcher.sidebarMode&&(e.launcher.mountMode??`floating`)===`floating`,ds=e=>e?.layout?.showHeader??!us(e)}));function ps(e){return e?.future?.v5Defaults===!0?`v5`:`v4`}function ms(e){let t=ps(e)===`v5`?Ts:Cs;return ur(Ss,t)}function hs(e,t){if(e||t)return e?t?ur(e,t):e:t}function gs(e){let t=ms(e);return e?Br(Tr(cs({...t,...e,colorScheme:Cr(e,[`colorScheme`]).includes(`colorScheme`)?e.colorScheme:e.brand?void 0:t.colorScheme,...t.approval||e.approval!==void 0?{approval:e.approval!==!1&&{...t.approval||{},...e.approval}}:{},theme:hs(t.theme,e.theme),darkTheme:hs(t.darkTheme,e.darkTheme),launcher:{...t.launcher,...e.launcher,dock:{...t.launcher?.dock,...e.launcher?.dock},clearChat:{...t.launcher?.clearChat,...e.launcher?.clearChat}},...t.composer||e.composer?{composer:{...t.composer,...e.composer}}:{},tooltip:{...t.tooltip,...e.tooltip},copy:{...t.copy,...e.copy},sendButton:{...t.sendButton,...e.sendButton},statusIndicator:{...t.statusIndicator,...e.statusIndicator},voiceRecognition:{...t.voiceRecognition,...e.voiceRecognition},features:(()=>{let n=t.features?.artifacts,r=e.features?.artifacts,i=t.features?.scrollToBottom,a=e.features?.scrollToBottom,o=t.features?.scrollBehavior,s=e.features?.scrollBehavior,c=t.features?.streamAnimation,l=e.features?.streamAnimation,u=t.features?.askUserQuestion,d=e.features?.askUserQuestion,f=t.features?.userMessageCollapse,p=e.features?.userMessageCollapse,m=t.features?.history,h=e.features?.history,g=n===void 0&&r===void 0?void 0:{...n,...r,layout:{...n?.layout,...r?.layout}},_=i===void 0&&a===void 0?void 0:{...i,...a},v=o===void 0&&s===void 0?void 0:{...o,...s},y=c===void 0&&l===void 0?void 0:{...c,...l},b=u===void 0&&d===void 0?void 0:{...u,...d,styles:{...u?.styles,...d?.styles}},x=m===void 0&&h===void 0?void 0:{...m,...h,copy:{...m?.copy,...h?.copy}};return{...t.features,...e.features,toolCallDisplay:{...t.features?.toolCallDisplay,...e.features?.toolCallDisplay,...e.features?.toolCallDisplay?.layout===void 0&&e.features?.toolCallDisplay?.variant!==void 0?{layout:e.features.toolCallDisplay.variant}:{}},reasoningDisplay:{...t.features?.reasoningDisplay,...e.features?.reasoningDisplay,...e.features?.reasoningDisplay?.layout===void 0&&e.features?.reasoningDisplay?.variant!==void 0?{layout:e.features.reasoningDisplay.variant}:{}},..._===void 0?{}:{scrollToBottom:_},...v===void 0?{}:{scrollBehavior:v},...g===void 0?{}:{artifacts:g},...y===void 0?{}:{streamAnimation:y},...b===void 0?{}:{askUserQuestion:b},...x===void 0?{}:{history:x},...f!==void 0||p!==void 0?{userMessageCollapse:{...f,...p}}:{}}})(),suggestionChips:e.suggestionChips??t.suggestionChips,suggestionChipsConfig:{...t.suggestionChipsConfig,...e.suggestionChipsConfig},layout:{...t.layout,...e.layout,header:{...t.layout?.header,...e.layout?.header},messages:{...t.layout?.messages,...e.layout?.messages,...t.layout?.messages?.user||e.layout?.messages?.user?{user:{...t.layout?.messages?.user,...e.layout?.messages?.user}}:{},...t.layout?.messages?.assistant||e.layout?.messages?.assistant?{assistant:{...t.layout?.messages?.assistant,...e.layout?.messages?.assistant}}:{},avatar:{...t.layout?.messages?.avatar,...e.layout?.messages?.avatar},timestamp:{...t.layout?.messages?.timestamp,...e.layout?.messages?.timestamp}},slots:{...t.layout?.slots,...e.layout?.slots}},markdown:{...t.markdown,...e.markdown,options:{...t.markdown?.options,...e.markdown?.options}},messageActions:{...t.messageActions,...e.messageActions}},e),e,Ts),e):Br(Tr(cs(t),void 0,Ts))}var _s,vs,ys,bs,xs,Ss,Cs,ws,Ts,Es,Ds=B((()=>{$o(),fr(),ts(),Ar(),fs(),Gr(),yo(),_s=`min(440px, calc(100vw - 24px))`,vs=`440px`,ys=`40px`,bs=`How can I help...`,xs={enabled:!0,mountMode:`floating`,dock:{side:`right`,width:`420px`},title:`Chat Assistant`,subtitle:`Here to help you get answers fast`,agentIconText:`💬`,agentIconName:`bot`,headerIconName:`bot`,position:`bottom-right`,width:_s,heightOffset:0,autoExpand:!1,callToActionIconHidden:!1,agentIconSize:`40px`,headerIconSize:ys,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`,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)`},Ss={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`,tooltip:{delayMs:400,skipDelayMs:300},launcher:xs,copy:{inputPlaceholder:bs,sendButtonLabel:`Send`},sendButton:{borderWidth:`0px`,paddingX:`12px`,paddingY:`10px`,borderColor:void 0,useIcon:!0,iconText:`↑`,showTooltip:!0,tooltipText:`Send message`,iconName:`send`},statusIndicator:{visible:!0,idleText:`Online`,connectingText:`Connecting…`,connectedText:`Streaming…`,errorText:`Offline`},voiceRecognition:{enabled:!0,pauseDuration:2e3,iconName:`mic`,borderWidth:`0px`,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:``,streamingIndicator:`arrow`,scrollBehavior:`instant`,scrollDurationMs:220,transition:`none`},scrollBehavior:{mode:`anchor-top`,anchorTopOffset:16,showActivityWhilePinned:!0},toolCallDisplay:Yo,reasoningDisplay:Xo,streamAnimation:{type:`none`,placeholder:`none`,speed:120,duration:1800},askUserQuestion:{enabled:!0,slideInMs:180,freeTextLabel:`Other…`,freeTextPlaceholder:`Type your answer…`,submitLabel:`Send`},history:{enabled:!1,presentation:`panel`,showScopeStatus:!0,showDelete:!0,showDeleteAll:!0}},suggestionChips:[`Show me what you can help with`,`Walk me through getting started`,`Answer a question about this page`],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},Cs={},ws={variant:`circle`,width:`min(400px, calc(100vw - 24px))`,headerIconSize:`20px`},Ts={colorScheme:`light`,errorDisplay:`block`,messageActions:{visibility:void 0},suggestionChipsConfig:{fontWeight:void 0},approval:es,loadingIndicator:{variant:`label`},launcher:ws,features:{artifacts:{enabled:!0},scrollToBottom:{streamingIndicator:`dots`,transition:`fade`,scrollBehavior:`smooth`},userMessageCollapse:{enabled:!0},toolCallDisplay:Zo,reasoningDisplay:Qo},composer:{layout:`single-row`,placement:`overlay`},sendButton:{iconName:`arrow-up`},statusIndicator:{mode:`transient`},layout:{contentMaxWidth:`768px`,topFade:!0,header:{showSubtitle:!1},messages:{assistant:{width:`full`}}}},Es=ms()}));function Os(e){return typeof e==`string`?[{type:`text`,text:e}]:e}function ks(e){return typeof e==`string`?e:e.filter(e=>e.type===`text`).map(e=>e.text).join(``)}function As(e){return typeof e!=`string`&&e.some(e=>e.type===`image`)}function js(e){return typeof e==`string`?[]:e.filter(e=>e.type===`image`)}function Ms(e){return{type:`text`,text:e}}function Ns(e,t){return{type:`image`,image:e,...t?.mimeType&&{mimeType:t.mimeType},...t?.alt&&{alt:t.alt}}}async function Ps(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let n=r.result;t({type:`image`,image:n,mimeType:e.type,alt:e.name})},r.onerror=()=>n(/* @__PURE__ */ Error(`Failed to read file`)),r.readAsDataURL(e)})}function Fs(e,t=[`image/png`,`image/jpeg`,`image/gif`,`image/webp`],n=10485760){return t.includes(e.type)?e.size>n?{valid:!1,error:`File too large. Maximum size: ${Math.round(n/1048576)}MB`}:{valid:!0}:{valid:!1,error:`Invalid file type. Accepted types: ${t.join(`, `)}`}}function Is(e){return Us.includes(e)||e.startsWith(`image/`)}function Ls(e){return Is(e.type)}async function Rs(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let n=r.result;Ls(e)?t({type:`image`,image:n,mimeType:e.type,alt:e.name}):t({type:`file`,data:n,mimeType:e.type,filename:e.name})},r.onerror=()=>n(/* @__PURE__ */ Error(`Failed to read file`)),r.readAsDataURL(e)})}function zs(e,t=Gs,n=10485760){return t.includes(e.type)?e.size>n?{valid:!1,error:`File too large. Maximum size: ${Math.round(n/1048576)}MB`}:{valid:!0}:{valid:!1,error:`Invalid file type "${e.type}". Accepted types: ${t.join(`, `)}`}}function Bs(e){let t=e.split(`.`);return t.length>1?t.pop().toLowerCase():``}function Vs(e,t){let n=Bs(t).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`}[e]||n||`FILE`}var Hs,Us,Ws,Gs,Ks=B((()=>{Hs=`[Image]`,Us=[`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`image/svg+xml`,`image/bmp`],Ws=[`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`],Gs=[...Us,...Ws]}));function qs(e){let t=e.ownerDocument?.defaultView;if(!t?.getComputedStyle)return 20;let n=t.getComputedStyle(e).lineHeight;if(!n||!n.trim().endsWith(`px`))return 20;let r=parseFloat(n);return Number.isFinite(r)&&r>0?r:20}function Js(e,t){return typeof e!=`number`||!Number.isFinite(e)?t:e>0?e:t}function Ys(e,t){e.style.maxHeight=`${t*qs(e)}px`,e.style.overflowY=`auto`}function Xs(e){let t=e?.ownerDocument?.defaultView??(typeof window<`u`?window:null);if(!t||typeof t.matchMedia!=`function`)return!1;try{return t.matchMedia(`(pointer: coarse)`).matches===!0}catch{return!1}}function Zs(e){return e.insertNewlineOnTouchEnter===!0&&e.coarsePointer===!0}function Qs(e,t){if(e.key!==`Enter`||e.shiftKey||e.isComposing)return!1;let n=e.metaKey===!0||e.ctrlKey===!0,r=t.submitKey??`enter`;return r===`none`?!1:r===`mod-enter`?n:n||!Zs(t)}function $s(e){return(e.submitKey??`enter`)===`enter`?Zs(e)?`enter`:`send`:`enter`}function ec(e,t){e.setAttribute(`enterkeyhint`,$s(t))}function tc(e,t){let n=t?.autocomplete;e.setAttribute(`autocomplete`,typeof n==`string`&&n?n:`off`);let r=(t,n)=>{n===void 0?e.removeAttribute(t):e.setAttribute(t,n)};r(`autocapitalize`,typeof t?.autocapitalize==`string`?t.autocapitalize:void 0),r(`spellcheck`,typeof t?.spellcheck==`boolean`?String(t.spellcheck):void 0),r(`inputmode`,typeof t?.inputmode==`string`&&t.inputmode?t.inputmode:void 0),r(`aria-label`,typeof t?.ariaLabel==`string`&&t.ariaLabel?t.ariaLabel:void 0)}function nc(e){return e===!0?{disabled:!0}:!e||typeof e!=`object`?{disabled:!1}:{disabled:!0,reason:typeof e.reason==`string`&&e.reason?e.reason:void 0}}var rc=B((()=>{})),ic,ac,oc=B((()=>{ic=`persona-composer-control`,ac=`persona-composer-control--glyph`})),sc,cc,lc,uc,dc,fc,pc,mc,hc,gc,_c,vc=B((()=>{Wo(),Jo(),Kr(),Pn(),Ds(),Ks(),zo(),rc(),oc(),oc(),sc=(e,t)=>{let n=q(`textarea`);n.setAttribute(`data-persona-composer-input`,``),n.placeholder=e?.copy?.inputPlaceholder??`How can I help...`,n.dir=`auto`,ec(n,{submitKey:e?.composer?.submitKey,insertNewlineOnTouchEnter:e?.composer?.insertNewlineOnTouchEnter,coarsePointer:Xs(n)}),tc(n,e?.composer?.inputAttributes),n.className=`persona-w-full persona-min-h-[24px] persona-resize-none persona-border-none persona-bg-transparent persona-text-sm persona-text-persona-text focus:persona-outline-none focus:persona-border-none persona-composer-textarea`,n.rows=1,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))`;let r=Js(e?.composer?.maxLines,t?.defaultMaxLines??3),i=`${r*20}px`;n.style.maxHeight=i,n.style.overflowY=`auto`;let a=()=>{let e=n.style.maxHeight;if(e!==i){let t=parseFloat(e);if(Number.isFinite(t)&&t>0)return t}let t=r*qs(n);return i=`${t}px`,n.style.maxHeight=i,t},o=()=>{n.addEventListener(`input`,()=>{n.style.height=`auto`;let e=Math.min(n.scrollHeight,a());n.style.height=`${e}px`})};return n.style.border=`none`,n.style.outline=`none`,n.style.borderWidth=`0`,n.style.borderStyle=`none`,n.style.borderColor=`transparent`,n.addEventListener(`focus`,()=>{n.style.border=`none`,n.style.outline=`none`,n.style.borderWidth=`0`,n.style.borderStyle=`none`,n.style.borderColor=`transparent`,n.style.boxShadow=`none`}),n.addEventListener(`blur`,()=>{n.style.border=`none`,n.style.outline=`none`}),{textarea:n,attachAutoResize:o}},cc=`[data-persona-glyph-stack]`,lc=(e,t,n=`send`)=>{let r=J(`span`,{className:`persona-composer-glyph-stack`,attrs:{"data-mode":n,"data-persona-glyph-stack":``}});return e.setAttribute(`data-glyph`,`send`),t.setAttribute(`data-glyph`,`stop`),r.append(e,t),r},uc=/* @__PURE__ */ new WeakMap,dc=(e,t,n=!0)=>{uc.set(e,t);let r=t?.sendButton??{},i=r.useIcon??!1,a=e.getAttribute(`data-persona-send-mode`)===`stop`?`stop`:`send`,o=e=>Vo(t,`sendButton.${e}`),s=(e,n)=>Bo(t,`composer.send`,e,n),c=o(`size`)||r.size;e.style.fontSize=i?`18px`:``,e.style.lineHeight=i?`1`:``,e.className=Y(`persona-rounded-button disabled:persona-opacity-50 persona-cursor-pointer`,i?`persona-flex persona-items-center persona-justify-center ${ic}`:`persona-bg-persona-accent persona-px-4 persona-py-2 persona-text-sm persona-font-semibold`,i&&!o(`backgroundColor`)&&`persona-bg-persona-primary`,!i&&!o(`textColor`)&&`persona-text-white`),Uo(e,i?c||(s(`size`,``)?s(`size`,`var(--persona-composer-control-size, 40px)`):``):``,i?c:void 0);let l=s(`foreground`,i?`var(--persona-send-button-fg, var(--persona-button-primary-fg, #ffffff))`:`#ffffff`),u=s(`background`,i?`var(--persona-button-primary-bg, var(--persona-primary, #111827))`:`var(--persona-accent, #0f0f0f)`);e.style.color=o(`textColor`)||(a===`stop`&&s(`foreground`,``)?`var(--persona-button-stop-fg, ${l})`:s(`foreground`,``)||(i?l:``)),e.style.backgroundColor=(i?o(`backgroundColor`):void 0)||(s(`background`,``)?a===`stop`?`var(--persona-button-stop-bg, ${u})`:u:``);let d=o(`borderWidth`)||(s(`borderWidth`,``)?s(`borderWidth`,r.borderWidth||`0px`):r.borderWidth||``);e.style.borderWidth=d,e.style.borderStyle=d?`solid`:``,e.style.borderColor=o(`borderColor`)||(s(`borderColor`,``)?s(`borderColor`,r.borderColor||`transparent`):r.borderColor||``),e.style.borderRadius=s(`borderRadius`,``)?s(`borderRadius`,`var(--persona-components-composer-sendButtonRadius, var(--persona-button-radius))`):``,Ho(e,s(`padding`,i?`0`:`8px 16px`),i?void 0:o(`paddingX`)||(s(`padding`,``)?void 0:r.paddingX),i?void 0:o(`paddingY`)||(s(`padding`,``)?void 0:r.paddingY));let f=parseFloat(r.iconSize??``)||Math.round((parseFloat(r.size??``)||40)*.5);if(n){if(e.replaceChildren(),i){let t=r.iconStrokeWidth??2,n=r.iconName?G(r.iconName,f,`currentColor`,t):null,i=G(r.stopIconName??`square`,f,`currentColor`,t);n&&i?e.appendChild(lc(n,i,a)):n?e.appendChild(n):e.textContent=r.iconText??`↑`}else e.textContent=a===`stop`?t?.copy?.stopButtonLabel??`Stop`:t?.copy?.sendButtonLabel??`Send`}for(let n of Array.from(e.querySelectorAll(`svg`))){n.style.width=n.style.height=o(`iconSize`)?``:s(`iconSize`,`var(--persona-components-composer-sendIconSize, ${f}px)`);let e=t?.sendButton?.iconStrokeWidth;n.style.strokeWidth=e===void 0?s(`iconStrokeWidth`,``):String(e)}},fc=e=>{let t=e?.sendButton,n=q(`div`,`persona-send-button-wrapper`),r=J(`button`,{attrs:{type:`submit`,"data-persona-composer-submit":``,"data-persona-send-mode":`send`}});return dc(r,e),r.setAttribute(`aria-label`,t?.tooltipText??`Send message`),n.appendChild(r),Co({anchor:r,trigger:n,text:()=>r.getAttribute(`aria-label`)??``,enabled:t?.showTooltip??!1}),{button:r,wrapper:n,setMode:e=>{if(r.getAttribute(`data-persona-send-mode`)===e)return;r.setAttribute(`data-persona-send-mode`,e),r.setAttribute(`aria-label`,e===`stop`?t?.stopTooltipText??`Stop generating`:t?.tooltipText??`Send message`);let n=uc.get(r);dc(r,n,!1),r.querySelector(cc)?.setAttribute(`data-mode`,e),(n?.sendButton?.useIcon??!1)||(r.textContent=e===`stop`?n?.copy?.stopButtonLabel??`Stop`:n?.copy?.sendButtonLabel??`Send`)},glyphStack:r.querySelector(cc)}},pc=(e,t,n=`idle`,r=`none`)=>{let i=t?.voiceRecognition??{},a=e=>Vo(t,`voiceRecognition.${e}`),o=(e,n)=>Bo(t,`voice.control`,e,n),s=a(`iconSize`)||i.iconSize;Uo(e,s||(o(`size`,``)?o(`size`,`var(--persona-composer-control-size, 40px)`):``),s),e.classList.add(ic),e.classList.toggle(ac,!s&&!o(`size`,``)),e.style.fontSize=`18px`,e.style.lineHeight=`1`;let c=a(`iconColor`)||Vo(t,`sendButton.textColor`)||o(`foreground`,`var(--persona-text, #111827)`),l=a(`backgroundColor`)||Vo(t,`sendButton.backgroundColor`)||o(`background`,i.backgroundColor||`transparent`),u=a(`borderColor`)||o(`borderColor`,i.borderColor||`transparent`),d=a(`borderWidth`)||o(`borderWidth`,i.borderWidth||``);e.style.borderWidth=d,e.style.borderStyle=d?`solid`:``,e.style.borderRadius=o(`borderRadius`,``)?o(`borderRadius`,`var(--persona-button-radius)`):``,Ho(e,o(`padding`,``)?o(`padding`,`0px`):``,a(`paddingX`)||(o(`padding`,``)?void 0:i.paddingX),a(`paddingY`)||(o(`padding`,``)?void 0:i.paddingY));let f=a(`recordingBackgroundColor`)||`var(--persona-voice-recording-bg, #ef4444)`,p=a(`recordingIconColor`)||`var(--persona-voice-recording-indicator, #ffffff)`,m=a(`recordingBorderColor`)||`var(--persona-consumer-voice-recording-border, ${i.recordingBorderColor||u})`,h=c,g=l,_=u,v=i.iconName??`mic`;if(n===`recording`)h=p,g=f,_=m;else if(n===`processing`)h=a(`processingIconColor`)||`var(--persona-consumer-voice-processing-icon, ${c})`,g=a(`processingBackgroundColor`)||`var(--persona-consumer-voice-processing-background, ${l})`,_=a(`processingBorderColor`)||`var(--persona-components-voice-processing-border, ${u})`,v=i.processingIconName??`loader`;else if(n===`speaking`){let e=r===`barge-in`;h=a(`speakingIconColor`)||`var(--persona-consumer-voice-speaking-icon, ${e&&a(`recordingIconColor`)||c})`,g=a(`speakingBackgroundColor`)||`var(--persona-components-voice-speaking-background, ${e?f:l})`,_=a(`speakingBorderColor`)||`var(--persona-components-voice-speaking-border, ${e?m:u})`,v=i.speakingIconName??(r===`cancel`?`square`:e?`mic`:`volume-2`)}e.style.color=h,e.style.backgroundColor=g,e.style.borderColor=_,e.setAttribute(`data-state`,n);let y=parseFloat(i.iconSize??``)||24,b=G(v,y,`currentColor`,1.5);if(e.replaceChildren(),b){let t=s||(o(`iconSize`,``)?o(`iconSize`,`var(--persona-composer-control-icon-size, 24px)`):``);b.style.width=b.style.height=t,!s&&o(`iconSize`,``)&&(b.style.flexBasis=t),b.style.strokeWidth=o(`iconStrokeWidth`,`1.5`),e.appendChild(b)}else e.textContent=`🎤`},mc=e=>{let t=e?.voiceRecognition??{};if(t.enabled!==!0||t.showButton===!1)return null;let n=typeof window<`u`&&(window.webkitSpeechRecognition!==void 0||window.SpeechRecognition!==void 0),r=t.provider?.type===`runtype`,i=t.provider?.type===`custom`||t.dictation?.provider?.type===`custom`;if(!(n||r||i))return null;let a=q(`div`,`persona-send-button-wrapper`),o=J(`button`,{className:`persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-composer-control`,attrs:{type:`button`,"data-persona-composer-mic":``,"data-state":`idle`,"aria-label":t.tooltipText??`Start voice recognition`}});pc(o,e),a.appendChild(o);let s=t.tooltipText??`Start voice recognition`;return Co({anchor:o,trigger:a,text:()=>o.getAttribute(`aria-label`)??s,enabled:t.showTooltip??!1}),{button:o,wrapper:a}},hc=e=>{let t=e?.attachments??{};if(t.enabled!==!0)return null;let n=q(`div`,`persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2`);n.setAttribute(`data-persona-composer-attachment-previews`,``),n.style.display=`none`;let r=q(`input`);r.type=`file`,r.setAttribute(`data-persona-composer-attachment-input`,``),r.accept=(t.allowedTypes??Gs).join(`,`),r.multiple=(t.maxFiles??4)>1,r.style.display=`none`,r.setAttribute(`aria-label`,`Attach files`);let i=t.buttonIconName??`paperclip`,a=q(`div`,`persona-send-button-wrapper`),o=J(`button`,{className:`persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-attachment-button ${ic} ${ac}`,attrs:{type:`button`,"data-persona-composer-attachment-button":``,"aria-label":t.buttonTooltipText??`Attach file`},style:{fontSize:`18px`,lineHeight:`1`}}),s=G(i,24,`currentColor`,1.5);s?o.appendChild(s):o.textContent=`📎`,o.addEventListener(`click`,e=>{e.preventDefault(),r.click()}),a.appendChild(o);let c=t.buttonTooltipText??`Attach file`;return Co({anchor:o,trigger:a,text:()=>o.getAttribute(`aria-label`)??c}),{button:o,wrapper:a,input:r,previewsContainer:n}},gc=e=>{let t=e?.statusIndicator??{},n=t.align===`left`?`persona-text-left`:t.align===`center`?`persona-text-center`:`persona-text-right`,r=q(`div`,`persona-mt-2 ${n} persona-text-xs persona-text-persona-muted`);r.setAttribute(`data-persona-composer-status`,``),Ko(r,t,`idle`);let i=t.idleText??`Online`;if(t.idleLink){let e=q(`a`);e.href=t.idleLink,e.target=`_blank`,e.rel=`noopener noreferrer`,e.textContent=i,e.style.color=`inherit`,e.style.textDecoration=`none`,r.appendChild(e)}else r.textContent=i;return r},_c=()=>J(`div`,{className:`persona-mb-3 persona-flex persona-flex-wrap persona-gap-2`,attrs:{"data-persona-composer-suggestions":``}})}));function yc(e){let{config:t,onOpen:n}=e,r=t.buttonIconName??`plus`,i=t.buttonTooltipText??`Add context`,a=q(`div`,`persona-send-button-wrapper`),o=J(`button`,{className:`persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-mention-button ${ic} ${ac}`,attrs:{type:`button`,"data-persona-composer-mention-button":``,"aria-label":i,"aria-haspopup":`listbox`,"aria-expanded":`false`},style:{fontSize:`18px`,lineHeight:`1`}}),s=G(r,24,`currentColor`,1.5);return s?o.appendChild(s):o.textContent=`+`,o.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),n()}),a.appendChild(o),Co({anchor:o,trigger:a,text:()=>o.getAttribute(`aria-label`)??i}),{button:o,wrapper:a}}var bc=B((()=>{Kr(),Pn(),zo(),vc()})),xc,Sc,Cc,wc=B((()=>{H(),{setLoader:xc,load:Sc}=V({fallbackImport:()=>import(`@runtypelabs/persona/context-mentions`)}),Cc=Sc})),Tc,Ec,Dc,Oc=B((()=>{H(),{setLoader:Tc,load:Ec}=V({fallbackImport:()=>import(`@runtypelabs/persona/context-mentions-inline`),resetOnSetLoader:!0}),Dc=Ec}));function kc(e,t={}){if(t.render)return t.render({ref:e,readonly:!!t.readonly});let n=J(`span`,{className:Y(`persona-mention-token`,t.readonly&&`persona-mention-token-readonly`),attrs:{"data-mention-source":e.sourceId,title:e.label,role:`img`,"aria-label":`${e.label} mention`}});e.color&&n.style.setProperty(`--persona-mention-token-accent`,e.color);let r=G(e.iconName??`at-sign`,13,`currentColor`,2);if(r){let e=q(`span`,`persona-mention-token-icon`);e.appendChild(r),n.appendChild(e)}return n.appendChild(J(`span`,{className:`persona-mention-token-label`,text:`@${e.label}`})),n}var Ac=B((()=>{Kr(),Pn()}));function jc(e){let{loadContextMentions:t,loadContextMentionsInline:n,renderLucideIcon:r,createMentionButton:i}=e.deps??Mc,a=e.config.contextMentions;if(!a?.enabled)return null;let o=_o(a).filter(e=>e.sources.length>0);if(o.length===0)return typeof console<`u`&&console.warn(`[Persona] contextMentions.enabled is true but no sources were provided; mentions are disabled.`),null;let s=o.filter(e=>e.sources.some(e=>typeof e.matchCommand==`function`)),c=e=>s.some(t=>t.trigger?t.position===`line-start`?e.split(`
11
11
  `).some(e=>e.startsWith(t.trigger)):(t.position===`anywhere`?e:e.split(`
12
- `)[0]).startsWith(t.trigger):!1),l=(t,n)=>{if(typeof window<`u`)try{window.dispatchEvent(new CustomEvent(`persona:mention:${t}`,{detail:{...n,instanceId:e.textarea.closest(`[data-persona-instance]`)?.dataset.personaInstance}}))}catch{}},u=!e.chipRow,d=e.chipRow??Y(`div`,{className:`persona-mention-context-row`,attrs:{"data-persona-mention-context-row":``}}),f=null,p=null,m=e.textarea,h=null,g=null,_=null,v=null,y=()=>{if(f)return Promise.resolve(f);if(p)return p;let n=t().then(t=>(t.setMentionIconRenderer(r),f=t.mountContextMentions({mentionConfig:a,textarea:e.textarea,composerInput:h??void 0,anchor:e.anchor,contextRow:d,getMessages:e.getMessages,getConfig:()=>e.config,liveRegionHost:e.liveRegionHost,popoverContainer:e.popoverContainer,onPickerOpenChange:S,emit:l}),f)).catch(e=>(typeof console<`u`&&console.warn(`[Persona] Failed to load context mentions runtime`,e),p===n&&(p=null),null));return p=n,n};a.display===`inline`&&n().then(t=>{let n=t.mountInlineComposer({textarea:e.textarea,renderToken:e=>Oc(e,{render:a.renderMentionToken}),onMentionRemoved:e=>f?.untrackMention(e)});h=n.input,g=n.destroy;let r=m;r.replaceWith(n.element),m=n.element,v={next:n.element,prev:r},_?.(n.element,r),f?f.rebindComposer(n.input):p&&p.then(e=>e?.rebindComposer(n.input))}).catch(e=>{typeof console<`u`&&console.warn(`[Persona] Failed to load inline mention composer`,e)});let b=[],x=/* @__PURE__ */ new Map;for(let e of o){if(!e.showButton)continue;let t=i({config:{...a,buttonIconName:e.buttonIconName,buttonTooltipText:e.buttonTooltipText},onOpen:()=>{y().then(t=>t?.openMenu(e.trigger))}});b.push(t),x.set(e.trigger,t.button)}let S=(e,t,n)=>{let r=x.get(t);r&&(r.setAttribute(`aria-expanded`,e?`true`:`false`),e?r.setAttribute(`aria-controls`,n):r.removeAttribute(`aria-controls`))};return{affordanceButtons:b.map(e=>e.wrapper),contextRow:d,handleInput:e=>{if(f){f.handleInput();return}if(!po(e))return;let t=m,n=t.selectionStart??0;fo(t.value,n,o)&&y().then(e=>e?.handleInput())},handleKeydown:e=>{if(f?.isMenuOpen())return f.handleKeydown(e);if(e.key===`Backspace`&&f?.hasMentions()&&!v){let t=m,n=t.selectionStart===0&&t.selectionEnd===0;if((t.value.length===0||n)&&f.removeLastChip())return e.preventDefault(),!0}return!1},isMenuOpen:()=>f?.isMenuOpen()??!1,hasMentions:()=>f?.hasMentions()??!1,getMentionRefs:()=>f?.getMentionRefs()??[],captureDraft:()=>f?.captureDraft()??[],restoreDraft:e=>f?.restoreDraft(e),getInlineInput:()=>h,collectForSubmit:()=>f?.collectForSubmit()??null,takeInlineCommand:async e=>c(e)?(f??await y())?.dispatchInlineCommand(e)??null:null,clear:()=>f?.clear(),prefetch:()=>{t().catch(()=>{})},onComposerSwap:e=>{_=e,v&&e(v.next,v.prev)},destroy:()=>{f?.destroy(),g?.();for(let e of b)e.wrapper.remove();u&&d.remove()}}}var jc,Mc=V((()=>{Gr(),ho(),_o(),yc(),Cc(),Nn(),Dc(),kc(),jc={loadContextMentions:()=>Sc(),loadContextMentionsInline:()=>Ec(),renderLucideIcon:(...e)=>K(...e),createMentionButton:(...e)=>vc(...e)}})),Nc=/* @__PURE__ */ Bt({createAskUserSheetHandlers:()=>so,createContextMentionOrchestrator:()=>Ac}),Pc=V((()=>{co(),Mc()}));Pc(),U();const{setLoader:Fc,load:Ic,provide:Lc,getSync:Rc}=H({fallbackImport:()=>Promise.resolve().then(()=>(Pc(),Nc))}),zc=Ic,Bc=Lc,Vc=Rc;Bc(Nc);function Hc(){return`msg_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`}function Uc(){return`usr_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`}function Wc(){return`ast_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`}function Gc(){return`turn_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`}var Kc=V((()=>{})),qc=/* @__PURE__ */ Bt({resolveApproval:()=>Jc,resolveAskUserQuestion:()=>Yc,resolveWebMcpToolCall:()=>tl,resolveWebMcpToolCallBatch:()=>el});async function Jc(e,t,n,r){let i=`approval-${t.id}`,a=`approval-error-${t.id}`,o=Wc(),s={};e.s.approvalTokens.set(i,s);let c={...t,status:n,resolvedAt:Date.now()},l=e.s.messages.find(e=>e.id===i),u={id:i,role:`assistant`,content:``,createdAt:l?.createdAt??(/* @__PURE__ */ new Date()).toISOString(),...l?.sequence===void 0?{}:{sequence:l.sequence},streaming:!1,variant:`approval`,approval:c};e.s.upsertMessage(u),e.s.abortController?.abort(),e.s.abortController=new AbortController,e.setStreaming(!0);let d=e.s.config.approval,f=d&&typeof d==`object`?d.onDecision:void 0;try{let l;if(l=f?await f({approvalId:t.id,executionId:t.executionId,agentId:t.agentId,toolName:t.toolName},n,r):await e.s.client.resolveApproval({agentId:t.agentId,executionId:t.executionId,approvalId:t.id},n,{assistantMessageId:o}),l){let r=null;if(l instanceof Response){if(!l.ok){let n=await l.json().catch(()=>null),r=n?.message??n?.error??`Approval request failed: ${l.status}`,o=n?.code===`APPROVAL_ALREADY_RESOLVED`||l.status===404&&/no paused execution/i.test(String(n?.error)),d=e.s.messages.find(e=>e.id===i);throw e.s.approvalTokens.get(i)===s&&d?.approval?.resolvedAt===c.resolvedAt&&(e.s.upsertMessage({...u,approval:o?{...c,status:`timeout`}:t}),o&&e.settleApprovalPausedToolCall(i),e.s.upsertMessage({id:a,role:`assistant`,content:r,localOnly:!0,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!1,sequence:e.nextSequence()})),Error(r)}r=l.body}else l instanceof ReadableStream&&(r=l);e.s.approvalTokens.get(i)===s&&e.s.messages.some(e=>e.id===a)&&(e.s.messages=e.s.messages.filter(e=>e.id!==a),e.s.callbacks.onMessagesChanged([...e.s.messages])),r?await e.s.connectStream(r,{allowReentry:!0,assistantMessageId:o}):(n===`denied`&&(e.settleApprovalPausedToolCall(i),e.appendMessage({id:`denial-${t.id}`,role:`assistant`,content:`Tool execution was denied by user.`,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!1,sequence:e.nextSequence()})),e.setStreaming(!1),e.s.abortController=null)}else e.setStreaming(!1),e.s.abortController=null}catch(t){let n=t instanceof Error&&(t.name===`AbortError`||t.message.includes(`aborted`)||t.message.includes(`abort`));e.setStreaming(!1),e.s.abortController=null,n||e.s.callbacks.onError?.(t instanceof Error?t:Error(String(t)))}finally{e.s.approvalTokens.get(i)===s&&e.s.approvalTokens.delete(i)}}async function Yc(e,t,n){if(e.s.messages.find(e=>e.id===t.id)?.agentMetadata?.askUserQuestionAnswered===!0)return;let r=t.agentMetadata?.executionId,i=t.toolCall?.name;if(!r||!i){e.s.callbacks.onError?.(/* @__PURE__ */ 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 e=t.toolCall?.args,r=Array.isArray(e?.questions)?e.questions:[];if(r.length===1){let e=typeof r[0]?.question==`string`?r[0].question:``;e&&(a={[e]:n})}}e.s.markAskUserQuestionResolved(t,a),e.s.abortController?.abort(),e.s.abortController=new AbortController,e.setStreaming(!0);let o=t.toolCall.id,s=t.toolCall?.args,c=Array.isArray(s?.questions)?s.questions:[];if(c.length===0){let t=typeof n==`string`?n:Object.entries(n).map(([e,t])=>`${e}: ${Array.isArray(t)?t.join(`, `):t}`).join(` | `);e.appendMessage({id:`ask-user-answer-${o}`,role:`user`,content:t,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!1,sequence:e.nextSequence()})}else{let t=a??{};c.forEach((n,r)=>{let i=typeof n?.question==`string`?n.question:``;if(!i)return;let a=t[i],s=Array.isArray(a)?a.join(`, `):typeof a==`string`?a:``;e.appendMessage({id:`ask-user-q-${o}-${r}`,role:`assistant`,content:i,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!1,sequence:e.nextSequence()}),e.appendMessage({id:`ask-user-a-${o}-${r}`,role:`user`,content:s||`*Skipped*`,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!1,sequence:e.nextSequence()})})}try{let t=Wc(),a=await e.s.client.resumeFlow(r,{[i]:n},{after:e.resumeAfter(r),assistantMessageId:t});if(!a.ok){let e=await a.json().catch(()=>null);throw Error(e?.error??`Resume failed: ${a.status}`)}a.body?await e.s.connectStream(a.body,{allowReentry:!0,assistantMessageId:t}):(e.setStreaming(!1),e.s.abortController=null)}catch(t){let n=t instanceof Error&&(t.name===`AbortError`||t.message.includes(`aborted`)||t.message.includes(`abort`));e.setStreaming(!1),e.s.abortController=null,n||e.s.callbacks.onError?.(t instanceof Error?t:Error(String(t)))}}function Xc(e,t){let n=[e.s.messages.find(e=>e.id===t.id)?.toolCall?.startedAt,t.toolCall?.startedAt];for(let e of n)if(typeof e==`number`&&Number.isFinite(e))return e;return Date.now()}function Zc(e,t){return t.toolCall?.name===`suggest_replies`&&(e.s.messages.find(e=>e.id===t.id)??t).agentMetadata?.suggestRepliesResolved===!0}function Qc(e,t){let n=Xc(e,t);return e.s.upsertMessage({...t,streaming:!0,agentMetadata:{...t.agentMetadata,awaitingLocalTool:!1},toolCall:t.toolCall?{...t.toolCall,status:`running`,startedAt:n,completedAt:void 0,duration:void 0,durationMs:void 0}:t.toolCall}),n}function $c(e,t,n,r,i=Date.now(),a){e.s.messages.some(e=>e.id===t.id)&&e.s.upsertMessage({...t,streaming:!1,agentMetadata:{...t.agentMetadata,awaitingLocalTool:!1,...a},toolCall:t.toolCall?{...t.toolCall,status:`complete`,result:n,startedAt:r,completedAt:i,duration:void 0,durationMs:Math.max(0,i-r)}:t.toolCall})}async function el(e,t,n){let r=[],i=new AbortController;e.s.webMcpResolveControllers.add(i),e.setStreaming(!0);let a=async n=>{let a=n.toolCall?.name,o=n.toolCall?.id;if(!a||!o)return null;let s=`${t}:${o}`;if(e.s.webMcpInflightKeys.has(s)||e.s.webMcpResolvedKeys.has(s)||Zc(e,n))return null;e.s.webMcpInflightKeys.add(s),r.push(s);let c=Qc(e,n),l=n.agentMetadata?.webMcpToolCallId??a;if(a===`suggest_replies`)return{dedupeKey:s,resumeKey:l,output:Xi(),toolMessage:n,startedAt:c,completedAt:Date.now()};let u=e.s.client.executeWebMcpToolCall(a,n.toolCall?.args,i.signal,n.toolCall?.id),d;if(!u)d={isError:!0,content:[{type:`text`,text:`WebMCP not enabled on this widget.`}]};else try{d=await u}catch(t){let r=t instanceof Error&&(t.name===`AbortError`||t.message.includes(`aborted`)||t.message.includes(`abort`));return r||e.s.callbacks.onError?.(t instanceof Error?t:Error(String(t))),$c(e,n,rl(r?`Aborted by cancel()`:il(t)),c),e.s.webMcpInflightKeys.delete(s),null}return i.signal.aborted?($c(e,n,rl(`Aborted by cancel()`),c),e.s.webMcpInflightKeys.delete(s),null):{dedupeKey:s,resumeKey:l,output:d,toolMessage:n,startedAt:c,completedAt:Date.now()}},o;if(e.s.config.webmcp?.execution===`sequential`){o=[];for(let e of n)o.push(await a(e))}else o=await Promise.all(n.map(a));let s=[];try{if(s=o.filter(e=>e!==null),s.length===0)return;let n={};for(let e of s)n[e.resumeKey]=e.output;let r=Wc(),a=await e.s.client.resumeFlow(t,n,{signal:i.signal,after:e.resumeAfter(t),assistantMessageId:r});if(!a.ok){let e=await a.json().catch(()=>null);throw Error(e?.error??`Resume failed: ${a.status}`)}let c=s[0].dedupeKey;for(let t of s){e.s.webMcpResolvedKeys.add(t.dedupeKey);let n=t.toolMessage.toolCall?.name,r=t.toolMessage.agentMetadata?.webMcpToolCallId;$c(e,t.toolMessage,t.output,t.startedAt,t.completedAt,{...n===`suggest_replies`?{suggestRepliesResolved:!0}:{},...n&&r?{clientToolAnswer:{toolCallId:r,toolName:n,args:t.toolMessage.toolCall?.args,result:t.output,batch:c}}:{}})}a.body&&await e.s.connectStream(a.body,{allowReentry:!0,assistantMessageId:r})}catch(t){if(!(t instanceof Error&&(t.name===`AbortError`||t.message.includes(`aborted`)||t.message.includes(`abort`))))e.s.callbacks.onError?.(t instanceof Error?t:Error(String(t)));else for(let t of s)$c(e,t.toolMessage,rl(`Aborted by cancel()`),t.startedAt)}finally{for(let t of r)e.s.webMcpInflightKeys.delete(t);e.s.webMcpResolveControllers.delete(i),e.s.webMcpResolveControllers.size===0&&!e.s.abortController&&e.setStreaming(!1)}}async function tl(e,t){let n=t.agentMetadata?.executionId,r=t.toolCall?.name,i=t.toolCall?.id;if(!n){e.s.callbacks.onError?.(/* @__PURE__ */ Error(`WebMCP await missing executionId: dispatch left paused.`));return}if(!r)return;if(!i){let t=`${n}:__no_tool_id__:${r}`;if(e.s.webMcpInflightKeys.has(t)||e.s.webMcpResolvedKeys.has(t))return;e.s.webMcpInflightKeys.add(t);try{await nl(e,n,r,{isError:!0,content:[{type:`text`,text:`WebMCP await missing toolCall.id: cannot execute the page tool.`}]}),e.s.webMcpResolvedKeys.add(t)}catch(t){e.s.callbacks.onError?.(t instanceof Error?t:Error(String(t)))}finally{e.s.webMcpInflightKeys.delete(t)}return}let a=`${n}:${i}`;if(!(e.s.webMcpInflightKeys.has(a)||e.s.webMcpResolvedKeys.has(a)||Zc(e,t)))return el(e,n,[t])}async function nl(e,t,n,r,i){let a=Wc(),o=await e.s.client.resumeFlow(t,{[n]:r},{signal:i?.signal,after:e.resumeAfter(t),assistantMessageId:a});if(!o.ok){let e=await o.json().catch(()=>null);throw Error(e?.error??`Resume failed: ${o.status}`)}i?.onHttpOk?.(),o.body?await e.s.connectStream(o.body,{allowReentry:!0,assistantMessageId:a}):e.s.webMcpResolveControllers.size===0&&(e.setStreaming(!1),e.s.abortController=null)}var rl,il,al=V((()=>{Kc(),ra(),rl=e=>({isError:!0,content:[{type:`text`,text:e}]}),il=(e,t=`WebMCP tool execution failed.`)=>e instanceof Error&&e.message?e.message:typeof e==`string`&&e?e:t}));al(),U();const{setLoader:ol,load:sl,provide:cl,getSync:ll}=H({fallbackImport:()=>Promise.resolve().then(()=>(al(),qc))}),ul=sl,dl=cl,fl=ll;dl(qc);const pl=e=>{let t=0,n=!1,r=Promise.resolve(),i=()=>{},a,o=e.inert===!0,s=()=>{a?.remove(),a=void 0,e.removeAttribute(`data-persona-preparing`),e.inert=o};return{get ready(){return r},prepare(o,c,l=!1){let u=++t;if(i(),!o.length){if(c(),u!==t)return;s(),r=Promise.resolve();return}!l&&!a&&(a=e.ownerDocument.createElement(`style`),a.textContent=`[data-persona-preparing],[data-persona-preparing] *{visibility:hidden!important}`,e.append(a)),l||(e.setAttribute(`data-persona-preparing`,``),e.inert=!0);let d=new Promise((e,t)=>{i=()=>t(/* @__PURE__ */ Error(`Widget destroyed before ready`))});r=Promise.race([Promise.all(o),d]).then(()=>{if(n)throw Error(`Widget destroyed before ready`);if(u!==t||(c(),u!==t))return r;s()},e=>{if(!n&&u!==t)return r;throw e}),r.catch(()=>{})},destroy(){n=!0,++t,i(),s()}}};kr(),Wr();const ml={defaultProvenance:Sr,suppliedPath:xr,hasExplicitThemeStyle:Ur,getExplicitLegacyStyle:Hr};U();const{setLoader:hl,load:gl,provide:_l,getSync:vl}=H({fallbackImport:()=>import(`@runtypelabs/persona/activity-ui`)}),yl=gl,bl=vl;U();const{setLoader:xl,load:Sl,provide:Cl}=H({fallbackImport:()=>import(`@runtypelabs/persona/turn-activity-ui`)});let wl=null;const Tl=()=>Promise.all([Sl(),yl()]).then(([e,t])=>(Object.assign(t.turnUi,e),wl=e)),El=()=>wl;U();const{setLoader:Dl,load:Ol,provide:kl,getSync:Al}=H({fallbackImport:()=>import(`@runtypelabs/persona/composer-actions-runtime`)}),jl=Ol,Ml=Al;U();const{setLoader:Nl,load:Pl,provide:Fl,getSync:Il}=H({fallbackImport:()=>import(`@runtypelabs/persona/loading-label-runtime`)}),Ll=Pl,Rl=Il;U();const{setLoader:zl,load:Bl,getSync:Vl,provide:Hl}=H({fallbackImport:()=>import(`@runtypelabs/persona/dictation-runtime`)}),Ul=Bl,Wl=Vl;Gr(),Nn(),da();function Gl(e){let{items:t,onSelect:n,anchor:r,position:i=`bottom-left`,portal:a,onOpenChange:o}=e,s=J(`div`,`persona-dropdown-menu persona-hidden`);s.setAttribute(`role`,`menu`),s.setAttribute(`data-persona-theme-zone`,`dropdown`),a?(s.style.position=`fixed`,s.style.zIndex=String(ua)):(s.style.position=`absolute`,s.style.top=`100%`,s.style.marginTop=`4px`,i===`bottom-right`?s.style.right=`0`:s.style.left=`0`);for(let e of t){if(e.dividerBefore){let e=document.createElement(`hr`);s.appendChild(e)}let t=document.createElement(`button`);if(t.type=`button`,t.setAttribute(`role`,`menuitem`),t.setAttribute(`data-dropdown-item-id`,e.id),e.destructive&&t.setAttribute(`data-destructive`,``),e.icon){let n=K(e.icon,16,`currentColor`,1.5);n&&t.appendChild(n)}let r=document.createElement(`span`);r.textContent=e.label,t.appendChild(r),t.addEventListener(`click`,t=>{t.stopPropagation(),d(),n(e.id)}),s.appendChild(t)}let c=null;function l(){if(!a)return;let e=r.getBoundingClientRect();s.style.top=`${e.bottom+4}px`,i===`bottom-right`?(s.style.right=`${window.innerWidth-e.right}px`,s.style.left=`auto`):(s.style.left=`${e.left}px`,s.style.right=`auto`)}function u(){let e=s.classList.contains(`persona-hidden`);l(),s.classList.remove(`persona-hidden`),e&&o?.(!0),requestAnimationFrame(()=>{let e=e=>{!s.contains(e.target)&&!r.contains(e.target)&&d()};document.addEventListener(`click`,e,!0),c=()=>document.removeEventListener(`click`,e,!0)})}function d(){let e=!s.classList.contains(`persona-hidden`);s.classList.add(`persona-hidden`),c?.(),c=null,e&&o?.(!1)}function f(){s.classList.contains(`persona-hidden`)?u():d()}function p(){d(),s.remove()}return a&&a.appendChild(s),{element:s,show:u,hide:d,toggle:f,destroy:p}}Gr(),Nn();function Kl(e){let{icon:t,label:n,size:r,strokeWidth:i,className:a,chromeless:o,onClick:s,aria:c}=e,l=J(`button`,X(!o&&`persona-icon-btn`,a));l.type=`button`,l.setAttribute(`aria-label`,n),l.title=n;let u=K(t,r??16,`currentColor`,i??2);if(u&&l.appendChild(u),s&&l.addEventListener(`click`,s),c)for(let[e,t]of Object.entries(c))l.setAttribute(e,t);return l}function ql(e){let{icon:t,label:n,variant:r=`default`,size:i=`sm`,iconSize:a,className:o,onClick:s,aria:c}=e,l=`persona-label-btn`;r!=="default"&&(l+=` persona-label-btn--`+r),l+=` persona-label-btn--`+i,o&&(l+=` `+o);let u=J(`button`,l);if(u.type=`button`,u.setAttribute(`aria-label`,n),t){let e=K(t,a??14,`currentColor`,2);e&&u.appendChild(e)}let d=J(`span`);if(d.textContent=n,u.appendChild(d),s&&u.addEventListener(`click`,s),c)for(let[e,t]of Object.entries(c))u.setAttribute(e,t);return u}function Jl(e){let{items:t,selectedId:n,onSelect:r,className:i}=e,a=J(`div`,`persona-toggle-group`+(i?` `+i:``));a.setAttribute(`role`,`group`);let o=n,s=[];function c(){for(let e of s)e.btn.setAttribute(`aria-pressed`,e.id===o?`true`:`false`)}for(let e of t){let t;e.icon?t=Kl({icon:e.icon,label:e.label,className:e.className,onClick:()=>{o=e.id,c(),r(e.id)}}):(t=J(`button`,`persona-icon-btn`+(e.className?` `+e.className:``)),t.type=`button`,t.setAttribute(`aria-label`,e.label),t.title=e.label,t.textContent=e.label,t.addEventListener(`click`,()=>{o=e.id,c(),r(e.id)})),t.setAttribute(`aria-pressed`,e.id===o?`true`:`false`),s.push({id:e.id,btn:t}),a.appendChild(t)}function l(e){o=e,c()}return{element:a,setSelected:l}}function Yl(e){let{label:t,icon:n,iconSize:r,iconOnly:i,menuItems:a,onSelect:o,onPrimary:s,position:c=`bottom-left`,portal:l,chevronLabel:u=`More options`,chevronIconSize:d,className:f,primaryClassName:p,chevronClassName:m}=e,h=J(`div`,`persona-split-btn`+(f?` `+f:``)),g={label:t,className:`persona-split-btn-primary`+(p?` `+p:``),onClick:s},_=i&&n?Kl({...g,icon:n,size:r??14}):ql({...g,icon:n,iconSize:r??14}),v=Kl({icon:`chevron-down`,label:u,size:d??14,className:`persona-split-btn-chevron`+(m?` `+m:``),aria:{"aria-haspopup":`true`,"aria-expanded":`false`}});h.append(_,v);let y=null,b=()=>{if(y)return y;let e=(typeof l==`function`?l():l)??void 0;return y=Gl({items:a,onSelect:o,anchor:h,position:c,portal:e,onOpenChange:e=>{v.setAttribute(`aria-expanded`,e?`true`:`false`)}}),e||h.appendChild(y.element),y};return h.isConnected?b():requestAnimationFrame(()=>{y||b()}),v.addEventListener(`click`,e=>{e.stopPropagation(),b().toggle()}),{element:h,primaryButton:_,chevronButton:v,openMenu:()=>b().show(),closeMenu:()=>y?.hide(),toggleMenu:()=>b().toggle(),destroy:()=>{y?.destroy(),h.remove()}}}function Xl(e){let{label:t,icon:n=`chevron-down`,menuItems:r,onSelect:i,position:a=`bottom-left`,portal:o,className:s,hover:c}=e,l=J(`div`,`persona-combo-btn`+(s?` `+s:``));l.style.position=`relative`,l.style.display=`inline-flex`,l.style.alignItems=`center`,l.style.cursor=`pointer`,l.setAttribute(`role`,`button`),l.setAttribute(`tabindex`,`0`),l.setAttribute(`aria-haspopup`,`true`),l.setAttribute(`aria-expanded`,`false`),l.setAttribute(`aria-label`,t);let u=J(`span`,`persona-combo-btn-label`);u.textContent=t,l.appendChild(u);let d=K(n,14,`currentColor`,2);d&&(d.style.marginLeft=`4px`,d.style.opacity=`0.6`,l.appendChild(d)),c&&(l.style.borderRadius=c.borderRadius??`10px`,l.style.padding=c.padding??`6px 4px 6px 12px`,l.style.border=`1px solid transparent`,l.style.transition=`background-color 0.15s ease, border-color 0.15s ease`,l.addEventListener(`mouseenter`,()=>{l.style.backgroundColor=c.background??``,l.style.borderColor=c.border??``}),l.addEventListener(`mouseleave`,()=>{l.style.backgroundColor=``,l.style.borderColor=`transparent`}));let f=Gl({items:r,onSelect:e=>{l.setAttribute(`aria-expanded`,`false`),i(e)},anchor:l,position:a,portal:o});o||l.appendChild(f.element);let p=()=>l.getAttribute(`data-persona-menu-locked`)===`true`;return l.addEventListener(`click`,e=>{if(e.stopPropagation(),p())return;let t=!f.element.classList.contains(`persona-hidden`);l.setAttribute(`aria-expanded`,t?`false`:`true`),f.toggle()}),l.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),l.click())}),{element:l,setLabel:e=>{u.textContent=e,l.setAttribute(`aria-label`,e)},open:()=>{l.setAttribute(`aria-expanded`,`true`),f.show()},close:()=>{l.setAttribute(`aria-expanded`,`false`),f.hide()},toggle:()=>{let e=!f.element.classList.contains(`persona-hidden`);l.setAttribute(`aria-expanded`,e?`false`:`true`),f.toggle()},destroy:()=>{f.destroy(),l.remove()}}}const Zl=new class{#e=/* @__PURE__ */ new Map;#t=/* @__PURE__ */ new Map;register(e,t,n){this.#e.has(e)&&console.warn(`[ComponentRegistry] Component "${e}" is already registered. Overwriting.`),this.#e.set(e,t),n?this.#t.set(e,n):this.#t.delete(e)}unregister(e){this.#e.delete(e),this.#t.delete(e)}get(e){return this.#e.get(e)}has(e){return this.#e.has(e)}getOptions(e){return this.#t.get(e)}getAllNames(){return Array.from(this.#e.keys())}clear(){this.#e.clear(),this.#t.clear()}registerAll(e){Object.entries(e).forEach(([e,t])=>{this.register(e,t)})}};function Ql(e,t){return e.components&&Object.prototype.hasOwnProperty.call(e.components,t)?e.components[t]:Zl.get(t)}function $l(e,t){return e.components&&Object.prototype.hasOwnProperty.call(e.components,t)?void 0:Zl.getOptions(t)}U(),xn();const eu=[`PersonaArtifactCard`,`PersonaArtifactInline`],{setLoader:tu,load:nu,provide:ru,getSync:iu}=H({fallbackImport:()=>import(`@runtypelabs/persona/artifacts-ui`)});let au=null;const ou=/* @__PURE__ */ new Set,su=e=>{if(au)return au;au=e,e.initArtifactsUi({componentRegistry:Zl,loadingLabels:Rl(),buttons:{createIconButton:Kl,createLabelButton:ql,createSplitButton:Yl,createToggleGroup:Jl}});for(let t of eu)Zl.has(t)||Zl.register(t,t===`PersonaArtifactCard`?e.PersonaArtifactCard:e.PersonaArtifactInline,{bubbleChrome:!1});let t=pn();t?e.__provideMarkdownParsers(t):dn(()=>{let t=pn();t&&e.__provideMarkdownParsers(t)}),e.__setIconsExtraLoader!==yn&&e.__setIconsExtraLoader(bn);let n=[...ou];ou.clear();for(let e of n)try{e()}catch{}return e},cu=()=>Promise.all([nu(),Ll()]).then(([e])=>su(e)),lu=()=>{if(au)return au;if(!Rl())return null;let e=iu();return e?su(e):null},uu=e=>au?()=>{}:(ou.add(e),()=>{ou.delete(e)});U();const{setLoader:du,load:fu,getSync:pu}=H({fallbackImport:()=>import(`@runtypelabs/persona/voice-runtime`)}),mu=fu,hu=pu;function gu(e,t){let n=e.voiceRecognition,r=t.voiceRecognition;return n?.enabled===!0!=(r?.enabled===!0)||n?.provider?.type!==r?.provider?.type||n?.provider?.custom!==r?.provider?.custom||bu(e)!==bu(t)||n?.provider?.runtype?.createPlaybackEngine!==r?.provider?.runtype?.createPlaybackEngine||JSON.stringify(n?.provider?.runtype)!==JSON.stringify(r?.provider?.runtype)||e.agentId!==t.agentId||e.clientToken!==t.clientToken||e.apiUrl!==t.apiUrl}function _u(e){return e?.type===`runtype`||e?.type===`custom`}const vu=()=>typeof window<`u`&&(`SpeechRecognition`in window||`webkitSpeechRecognition`in window);function yu(e){try{if(e?.type===`custom`&&e.custom){let t=e.custom,n=typeof t==`function`?t():t;return!!n&&typeof n.startListening==`function`}return e?.type===`runtype`&&e.runtype?!0:vu()}catch{return!1}}function bu(e){let t=e.voiceRecognition;return _u(t?.provider)&&(t?.provider?.type!==`custom`||!!t.dictation?.provider||!t.dictation&&t.completionBehavior!==`review`)}Nn();const xu=e=>{let t=[],n=(e,n,r)=>{e&&!n&&t.push(r())};n(!0,Ml(),jl),n(!0,pn(),un);let r=e.turnActivity?.enabled===!0;n(r,El(),Tl);let i=r||e.features?.showToolCalls!==!1||e.features?.showReasoning!==!1;n(i,bl(),yl),n(i||e.loadingLabel?.animation!==`none`&&(!!e.loadingLabel?.animate||(e.loadingIndicator?.variant??(e.future?.v5Defaults?`label`:`dots`))===`label`),Rl(),Ll),n(e.voiceRecognition?.enabled!==!1,Wl(),Ul),n(e.voiceRecognition?.enabled!==!1&&bu(e),hu(),mu),n(e.features?.artifacts?.enabled===!0,lu(),cu),n(e.contextMentions?.enabled===!0,Vc(),zc);let a=An();return a&&t.push(a),t};function Su(e=!0){let t=e;return{isFollowing:()=>t,pause:()=>t?(t=!1,!0):!1,resume:()=>!t&&(t=!0,!0)}}function Cu(e){return Math.max(0,e.scrollHeight-e.clientHeight)}function wu(e,t){return Cu(e)-e.scrollTop<=t}function Tu(e){let{following:t,currentScrollTop:n,lastScrollTop:r,nearBottom:i,userScrollThreshold:a,isAutoScrolling:o=!1,pauseOnUpwardScroll:s=!1,pauseWhenAwayFromBottom:c=!0,resumeRequiresDownwardScroll:l=!1}=e,u=n-r;return o||Math.abs(u)<a?{action:`none`,delta:u,nextLastScrollTop:n}:!t&&i&&(!l||u>0)?{action:`resume`,delta:u,nextLastScrollTop:n}:t&&s&&u<0||t&&c&&!i?{action:`pause`,delta:u,nextLastScrollTop:n}:{action:`none`,delta:u,nextLastScrollTop:n}}function Eu(e){let{following:t,deltaY:n,nearBottom:r=!1,resumeWhenNearBottom:i=!1}=e;return t&&n<0?`pause`:!t&&i&&n>0&&r?`resume`:`none`}function Du(e,t){return!e||e.isCollapsed?!1:t.contains(e.anchorNode)||t.contains(e.focusNode)}function Ou(e){let t=Math.max(0,e.anchorOffsetTop-e.topOffset);return{targetScrollTop:t,spacerHeight:Math.max(0,t+e.viewportHeight-e.contentHeight+(e.slack??0))}}function ku(e){let t=Math.max(0,e.currentContentHeight-e.contentHeightAtAnchor);return Math.max(0,e.initialSpacerHeight-t)}function Au(){let e=null,t=()=>{e!==null&&cancelAnimationFrame(e),e=null};return{get active(){return e!==null},cancel:t,start(n,r,i,a,o,s=()=>!0){t();let c=n.scrollTop,l=performance.now();if(Math.abs(r()-c)<1){n.scrollTop=r(),a(),o();return}let u=d=>{if(!s()){t(),o();return}let f=Math.min(Math.max(0,(d-l)/i),1);n.scrollTop=c+(r()-c)*(1-(1-f)**3),a(),f<1?e=requestAnimationFrame(u):(e=null,o())};e=requestAnimationFrame(u)}}}function ju(e,t,n,r,i){let a=Au(),o=!1,s,c=!1,l=e=>{e&&(c=!1),a.active&&(a.cancel(),s=e,c=!!e,i())},u=e=>{[`PageUp`,`PageDown`,`Home`,`End`,`ArrowUp`,`ArrowDown`,` `].includes(e.key)&&l(e)},d=e=>{e.deltaY!==0&&l(e)};return e.addEventListener(`wheel`,d,{passive:!0}),e.addEventListener(`touchstart`,l,{passive:!0}),e.addEventListener(`pointerdown`,l,{passive:!0}),t.addEventListener(`keydown`,u),{get active(){return a.active},cancel:l,get interrupted(){return c},interruptedBy:e=>s===e,start(t){if(o)return;a.cancel(),c=!1,s=void 0;let i=(t.features?.scrollToBottom?.scrollBehavior??(t.future?.v5Defaults?`smooth`:`instant`))===`smooth`,l=t.features?.scrollToBottom?.scrollDurationMs??220,u=Number.isFinite(l)&&l>=0?l:220,d=typeof matchMedia==`function`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches;!i||d||u===0?(e.scrollTop=Cu(e),n(),r()):a.start(e,()=>Cu(e),u,n,r)},destroy(){o=!0,a.cancel(),e.removeEventListener(`wheel`,d),e.removeEventListener(`touchstart`,l),e.removeEventListener(`pointerdown`,l),t.removeEventListener(`keydown`,u)}}}Gr();function Mu(e,t,n){let r=J(`button`,`persona-scroll-to-bottom-indicator persona-absolute persona-bottom-3 persona-left-1/2 persona-z-10 persona-text-xs persona-transform persona--translate-x-1/2 persona-cursor-pointer`);r.type=`button`,r.setAttribute(`data-persona-scroll-to-bottom-visible`,`false`),r.disabled=!0,r.tabIndex=-1,r.setAttribute(`aria-hidden`,`true`),r.setAttribute(`data-persona-scroll-to-bottom`,`true`);let i=J(`span`,`persona-flex persona-items-center persona-justify-center`);i.setAttribute(`aria-hidden`,`true`);let a=J(`span`,``),o=J(`span`,``);o.setAttribute(`data-persona-scroll-to-bottom-count`,``),r.append(i,a,o);let s={},c={activity:`idle`,visible:!1,hovered:!1,focused:!1,reducedMotion:!1},l,u,d,f=``,p=typeof matchMedia==`function`?matchMedia(`(prefers-reduced-motion: reduce)`):void 0,m=[],h=()=>{let e=getComputedStyle(r);return{width:`${r.offsetWidth}px`,backgroundColor:e.backgroundColor,borderColor:e.borderColor,color:e.color}},g=e=>{let t=getComputedStyle(r),n=t.getPropertyValue(`--persona-motion-duration-base`),i=parseFloat(n)*(n.includes(`ms`)?1:1e3);if(i===0)return;let o={duration:i>0?i:200,easing:t.getPropertyValue(`--persona-motion-easing`).trim()||`ease-out`},s=a.style.display===`none`?null:{overflow:`hidden`};m=[r.animate([{...e,...s},{...h(),...s}],o)],s&&m.push(a.animate([{opacity:0},{opacity:1}],o))};c.reducedMotion=p?.matches??!1;let _=e=>console.warn(`Persona scroll icon failed`,e),v=()=>({config:s,state:{...c},view:t,signal:d.signal}),y=()=>{d?.abort();try{u?.destroy?.()}catch(e){_(e)}u=void 0,d=void 0,i.innerHTML=``,f=``},b=()=>{if(u?.element)return;let t=s.features?.scrollToBottom,n=c.activity===`generating-below`&&(t?.streamingIndicator??(s.future?.v5Defaults?`dots`:`arrow`))===`dots`,r=c.activity===`approval-below`?`shield-check`:t?.iconName??`arrow-down`,a=n?`dots`:`arrow:${r}`;if(f!==a){if(f=a,i.innerHTML=``,n){let e=J(`span`,`persona-scroll-to-bottom-dots`);for(let t=0;t<3;t++){let n=J(`span`,``);n.style.animationDelay=`${t*150}ms`,e.appendChild(n)}i.appendChild(e)}else{let t=e(r,`14px`,`currentColor`,2);t&&i.appendChild(t)}}},x=e=>{let t=s.features?.scrollToBottom?.enabled===!1?void 0:s.features?.scrollToBottom?.renderIcon;if(t!==l){if(y(),l=t,l){d=new AbortController;try{let e=l(v());u=e&&`element`in e?e:e?{element:e}:void 0,u?.element&&i.appendChild(u.element)}catch(e){_(e),y()}}}else if(e&&u?.update)try{u.update(v())}catch(e){_(e),y()}b()},S=e=>Object.keys(e).some(t=>e[t]!==c[t]),C=e=>{let t=S(e);c=e,x(t)},ee=()=>C({...c,hovered:!0}),w=()=>C({...c,hovered:!1}),te=()=>C({...c,focused:!0}),T=()=>C({...c,focused:!1}),E=()=>C({...c,reducedMotion:p?.matches??!1}),ne=new AbortController;for(let[e,t]of[[`mouseenter`,ee],[`mouseleave`,w],[`focus`,te],[`blur`,T]])r.addEventListener(e,t,{signal:ne.signal});return p?.addEventListener?.(`change`,E),{element:r,update(e,t,i=!1,l=0,u=!1){let d=s.features?.scrollToBottom,f=e.features?.scrollToBottom,p=s.future?.v5Defaults!==e.future?.v5Defaults||[`enabled`,`iconName`,`label`,`approvalLabel`,`streamingIndicator`,`transition`,`scrollBehavior`,`scrollDurationMs`].some(e=>d?.[e]!==f?.[e]);s=e;let _=s.features?.scrollToBottom;t&&=_?.enabled!==!1;let v=r.getRootNode().activeElement===r;r.setAttribute(`data-persona-scroll-to-bottom-visible`,String(t));let y=_?.enabled===!1?`none`:_?.transition??(s.future?.v5Defaults?`fade`:`none`);r.setAttribute(`data-persona-scroll-to-bottom-transition`,y),i&&t?r.setAttribute(`data-persona-scroll-to-bottom-streaming`,``):r.removeAttribute(`data-persona-scroll-to-bottom-streaming`),r.style.display=!t&&y===`none`?`none`:``,r.disabled=!t,r.tabIndex=t?0:-1,r.setAttribute(`aria-hidden`,String(!t)),!t&&v&&(r.blur(),n&&(n.hasAttribute(`tabindex`)||(n.tabIndex=-1),n.focus({preventScroll:!0})));let b=u&&t,C=c.visible&&t&&c.activity===`approval-below`!==b;(C||!t)&&m.forEach(e=>e.cancel());let ee=C&&!c.reducedMotion&&typeof r.animate==`function`?h():null,w=_?.approvalLabel??`Approval needed`,te=b&&w?w:_?.label??``,T=_?.label||`Jump to latest`;r.setAttribute(`aria-label`,b?`${w||`Approval needed`} below. ${T}`:`${T}${l>0?` (${l} new)`:``}${i&&t?` (response streaming below)`:``}`),r.title=te,r.setAttribute(`data-persona-scroll-to-bottom-has-label`,String(!!te)),b?r.setAttribute(`data-persona-scroll-to-bottom-approval`,``):r.removeAttribute(`data-persona-scroll-to-bottom-approval`),a.textContent=te,a.style.display=te?``:`none`;let E=b?0:l;o.textContent=E>0?String(E):``,o.style.display=E>0?``:`none`;let ne=b?`approval-below`:i&&t?`generating-below`:`idle`,re={...c,visible:t,hovered:t&&c.hovered,focused:t&&c.focused,activity:ne},D=p||S(re);c=re,x(D),ee&&g(ee)},destroy(){m.forEach(e=>e.cancel()),y(),ne.abort(),p?.removeEventListener?.(`change`,E),r.remove()}}}function Nu(e){let t=/* @__PURE__ */ new Map,n=(t,n)=>({slot:t,signal:n.abort.signal,config:e.config(),defaultContent:()=>e.defaultContent(t)}),r=(n,r)=>{t.delete(n),r.abort.abort();try{r.result.destroy?.()}catch(e){console.error(`[AgentWidget] Error destroying slot "${n}":`,e)}e.remove(n,r.result.element)};return{update(){let i=e.config().layout?.slots??{};for(let[e,n]of t)i[e]!==n.renderer&&r(e,n);for(let[a,o]of Object.entries(i)){if(!o)continue;let i=t.get(a);try{if(!i){i={renderer:o,abort:new AbortController,result:{element:null}},t.set(a,i);let e=o(n(a,i));i.result=e===null||`nodeType`in e?{element:e}:e}else if(i.result.update){let t=i.result.update(n(a,i));t!==void 0&&t!==i.result.element&&(e.remove(a,i.result.element),i.result.element=t)}i.result.element&&e.mount(a,i.result.element)}catch(e){i&&r(a,i),console.error(`[AgentWidget] Error rendering slot "${a}":`,e)}}},remount(){for(let[n,r]of t)r.result.element&&e.mount(n,r.result.element)},detach(n){for(let r of n){let n=t.get(r);n&&e.remove(r,n.result.element)}},destroy(){for(let[e,n]of t)r(e,n)}}}Gn();function Pu(e){return e.toolType===`webmcp`&&!e.executionId}function Fu(e){let t=e.approval,n=t?.status===`pending`&&Pu(t),r=!1,i=t=>!t.name||!Un(t.name)||(r=!0,!(t.status!==`complete`||e.agentMetadata?.awaitingLocalTool===!0&&t.result===void 0&&t.success===void 0))?t:{...t,status:`complete`,interrupted:!0,success:!1,error:`The chat restarted and this browser tool was interrupted. Request a fresh proposal to try again.`,approvalStatus:t.approvalStatus===`pending`?`timeout`:t.approvalStatus,startedAt:t.completedAt===void 0?void 0:t.startedAt},a=e.toolCall?i(e.toolCall):void 0,o=e.tools?.map(i);return{...e,streaming:r||n?!1:e.streaming,...n?{approval:{...t,status:`timeout`,interrupted:!0}}:{},...a?{toolCall:a}:{},...o?{tools:o}:{},...r&&e.agentMetadata?.awaitingLocalTool?{agentMetadata:{...e.agentMetadata,awaitingLocalTool:!1}}:{}}}Jt();const Iu=(e,t)=>t?(pn()?.stabilizeStreamingMarkdown??qt)(e):e,Lu=e=>{if(!e)return;let t={},n=e;if(n.heading){let e=n.heading;t.heading=(t,n,r)=>e({type:`heading`,raw:r,depth:n,text:t,tokens:[]})}if(n.code){let e=n.code;t.code=(t,n,r)=>e({type:`code`,raw:``,text:t,lang:n,escaped:r})}if(n.blockquote){let e=n.blockquote;t.blockquote=t=>e({type:`blockquote`,raw:``,text:t,tokens:[]})}if(n.table){let e=n.table;t.table=(t,n)=>e({type:`table`,raw:``,header:[],rows:[],align:[],headerHtml:t,bodyHtml:n})}if(n.link){let e=n.link;t.link=(t,n,r)=>e({type:`link`,raw:``,href:t,title:n??null,text:r,tokens:[]})}if(n.image){let e=n.image;t.image=(t,n,r)=>e({type:`image`,raw:``,href:t,title:n??null,text:r})}if(n.list){let e=n.list;t.list=(t,n,r)=>e({type:`list`,raw:``,ordered:n,start:r,loose:!1,items:[],itemsHtml:t})}if(n.listitem){let e=n.listitem;t.listitem=(t,n,r)=>e({type:`list_item`,raw:``,task:n,checked:r,loose:!1,text:t,tokens:[]})}if(n.paragraph){let e=n.paragraph;t.paragraph=t=>e({type:`paragraph`,raw:``,text:t,tokens:[]})}if(n.codespan){let e=n.codespan;t.codespan=t=>e({type:`codespan`,raw:``,text:t})}if(n.strong){let e=n.strong;t.strong=t=>e({type:`strong`,raw:``,text:t,tokens:[]})}if(n.em){let e=n.em;t.em=t=>e({type:`em`,raw:``,text:t,tokens:[]})}if(n.del){let e=n.del;t.del=t=>e({type:`del`,raw:``,text:t,tokens:[]})}if(n.html){let e=n.html;t.html=t=>e({type:`html`,raw:t,text:t})}if(n.text){let e=n.text;t.text=t=>e({type:`text`,raw:t,text:t})}if(n.checkbox){let e=n.checkbox;t.checkbox=t=>e({checked:t})}return n.hr&&(t.hr=n.hr),n.br&&(t.br=n.br),t},Ru=e=>{let t=null;return n=>{let r=pn();if(!r)return Hu(n);if(!t){let{Marked:n}=r,i=e?.markedOptions;t=new n({gfm:i?.gfm??!0,breaks:i?.breaks??!0,pedantic:i?.pedantic,silent:i?.silent});let a=Lu(e?.renderer);a&&t.use({renderer:a})}return t.parse(n)}},zu=e=>e?Ru({markedOptions:e.options,renderer:e.renderer}):Ru(),Bu=Ru(),Vu=e=>Bu(e),Hu=e=>e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`),Uu=e=>e.replace(/"/g,`&quot;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`),Wu=e=>`%%FORM_PLACEHOLDER_${e}%%`,Gu=(e,t)=>{let n=e;return n=n.replace(/<Directive>([\s\S]*?)<\/Directive>/gi,(e,n)=>{try{let e=JSON.parse(n.trim());if(e&&typeof e==`object`&&e.component===`form`&&e.type){let n=Wu(t.length);return t.push({token:n,type:String(e.type)}),n}}catch{return e}return e}),n=n.replace(/<Form\s+type="([^"]+)"\s*\/>/gi,(e,n)=>{let r=Wu(t.length);return t.push({token:r,type:n}),r}),n},Ku=e=>{let t=zu(e);return e=>{let n=[],r=Gu(e,n),i=t(r);return n.forEach(({token:e,type:t})=>{let n=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),`g`),r=`<div class="persona-form-directive" data-tv-form="${Uu(t)}"></div>`;i=i.replace(n,r)}),i}},qu=e=>{let t=[],n=Gu(e,t),r=Vu(n);return t.forEach(({token:e,type:t})=>{let n=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),`g`),i=`<div class="persona-form-directive" data-tv-form="${Uu(t)}"></div>`;r=r.replace(n,i)}),r},Ju={ALLOWED_TAGS:/* @__PURE__ */ `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`.split(`.`),ALLOWED_ATTR:/* @__PURE__ */ `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`.split(`.`)},Yu=/^data:image\/(?:png|jpe?g|gif|webp|bmp|x-icon|avif)/i,Xu=()=>{let e=null;return t=>{let n=pn();if(!n)return Hu(t);if(!e){let{DOMPurify:t}=n;e=t(typeof window<`u`?window:void 0),e.addHook(`uponSanitizeAttribute`,(e,t)=>{if(t.attrName===`src`||t.attrName===`href`){let e=t.attrValue;e.toLowerCase().startsWith(`data:`)&&!Yu.test(e)&&(t.attrValue=``,t.keepAttr=!1)}})}return e.sanitize(t,Ju)}},Zu=e=>e===!1?null:typeof e==`function`?e:Xu(),Qu=`var(--persona-md-table-scroll-fade, 24px)`,$u=/* @__PURE__ */ new WeakSet;function ed(e){e.querySelectorAll(`table`).forEach(e=>{if(e.parentElement?.classList.contains(`persona-table-scroll`))return;let t=document.createElement(`div`);t.className=`persona-table-scroll`,e.replaceWith(t),t.appendChild(e)})}function td(e){let t=e.scrollWidth-e.clientWidth;if(t<=1){e.removeAttribute(`data-persona-scroll-x`);return}e.setAttribute(`data-persona-scroll-x`,``);let n=getComputedStyle(e).direction===`rtl`?t+e.scrollLeft:e.scrollLeft,r=t-n;e.style.setProperty(`--persona-fade-l`,n<=1?`0px`:Qu),e.style.setProperty(`--persona-fade-r`,r<=1?`0px`:Qu)}function nd(e){$u.has(e)||($u.add(e),e.addEventListener(`scroll`,e=>{let t=e.target;t?.classList?.contains(`persona-table-scroll`)&&td(t)},!0)),e.querySelectorAll(`.persona-table-scroll`).forEach(td)}var rd,id,ad,od,sd=V((()=>{rd=e=>e.replace(/[^a-zA-Z0-9_]/g,`_`).toLowerCase().replace(/_+/g,`_`).replace(/^_|_$/g,``),id=e=>typeof e==`object`&&!!e&&!Array.isArray(e),ad=e=>{if(e.variant!==`tool`)return null;let t=e.agentMetadata?.clientToolAnswer;if(!t||!t.toolCallId||t.result===void 0)return null;let n=rd(t.toolName);return n?{call:{toolCallId:t.toolCallId,toolName:n,args:id(t.args)?t.args:{}},result:{toolCallId:t.toolCallId,toolName:n,result:t.result}}:null},od=(e,t)=>{let n=[],r=[],i=[],a=``,o,s=()=>{r.length!==0&&(n.push({role:`assistant`,content:``,createdAt:a,toolCalls:r},{role:`tool`,content:``,createdAt:a,toolResults:i}),r=[],i=[])};for(let c of e){let e=ad(c);if(e){let t=c.agentMetadata?.clientToolAnswer?.batch;r.length>0&&(t===void 0||t!==o)&&s(),r.length===0&&(a=c.createdAt,o=t),r.some(t=>t.toolCallId===e.call.toolCallId)||(r.push(e.call),i.push(e.result));continue}let l=t(c);l&&(s(),n.push(l))}return s(),n}}));function cd(e,t=e.contentParts??e.llmContent??e.rawContent??e.content){let n=e.content;if(typeof n!=`string`)return;let r=e.contentParts??e.llmContent??e.rawContent??n;if(n===``&&(t===r||JSON.stringify(t)===JSON.stringify(r)))return;let i=t;if(typeof i!=`string`||i!==n)return n}function ld(e,t){let n=/* @__PURE__ */ new Map;for(let t of e)n.set(t.id,t);for(let e of t)n.set(e.id,e);return[...n.values()].sort((e,t)=>{let n=new Date(e.createdAt).getTime(),r=new Date(t.createdAt).getTime();if(!Number.isNaN(n)&&!Number.isNaN(r)&&n!==r)return n-r;let i=e.sequence??0,a=t.sequence??0;return i===a?e.id.localeCompare(t.id):i-a})}var ud=V((()=>{Gs()})),dd,fd=V((()=>{dd=e=>e.localOnly===!0||e.role===`assistant`&&typeof e.id==`string`&&e.id.startsWith(`reconnect-failed-`)})),pd=/* @__PURE__ */ Bt({ClientDispatch:()=>yd}),md,hd,gd,_d,vd,yd,bd=V((()=>{Gn(),sd(),ud(),fd(),Ma(),md=e=>e.voiceCaption||dd(e)?!1:!!(e.contentParts&&e.contentParts.length>0||e.llmContent&&e.llmContent.trim().length>0||e.rawContent&&e.rawContent.trim().length>0||e.content&&e.content.trim().length>0),hd=e=>typeof e==`string`?!0:Array.isArray(e)?e.every(e=>{if(!e||typeof e!=`object`)return!1;switch(e.type){case`text`:return typeof e.text==`string`;case`image`:return typeof e.image==`string`;case`audio`:return typeof e.audio==`string`;case`video`:return typeof e.video==`string`;case`file`:return typeof e.data==`string`&&typeof e.mimeType==`string`&&typeof e.filename==`string`;default:return!1}}):!1,gd=e=>e.slice().sort((e,t)=>new Date(e.createdAt).getTime()-new Date(t.createdAt).getTime()),_d=e=>{let t=e.agentMetadata?.providerPhase??e.agentMetadata?.phase;return e.role===`assistant`&&(t===`commentary`||t===`partial_answer`||t===`final_answer`)?{phase:t}:{}},vd=e=>({role:e.role,content:e.contentParts??e.llmContent??e.rawContent??e.content,createdAt:e.createdAt,..._d(e)}),yd=class{constructor(e){this.host=e}async initializeSession(){await this.host.historyInternals.historyBootstrapReady;let e=this.host.config.getStoredConversationId?.()||null,t=this.host.historyInternals.shouldResumeDurableConversation?.()===!0;if(!this.host.isHistoryCapable()&&!t)return this.#e(e,!1);let n=await this.host.readVisitorToken();if(e&&n)try{let n=await this.createClientSession({conversationId:e,durableResume:t});return t&&n.durableRecovery?.enabled!==!0&&this.host.historyInternals.setStoredResumableHandle?.(null),this.host.finishInit(n,e,!1)}catch(n){if(!(n instanceof this.host.HistoryClientError&&n.code===`not_found`)&&!(n instanceof this.host.HistoryClientError&&n.code===`visitor_required`)&&!(n instanceof this.host.HistoryClientError&&n.code===`history_disabled`))throw n;return t&&this.host.historyInternals.setStoredResumableHandle?.(null),this.#e(e,!0)}return this.#e(e,!1)}async#e(e,t){let n=this.host.historyInternals.visitorStore;return n&&!await this.host.readVisitorToken()?n.withFirstInitLock(()=>this.#t(e,t)):this.#t(e,t)}async#t(e,t){let n=this.host.config.getStoredSessionId?.()||null,r=await this.createClientSession({storedSessionId:n}),i=await this.#n(r);return this.host.finishInit(i,e,t)}async#n(e){if(!e.visitor?.token||this.host.claimInFlight||!this.host.isHistoryCapable()&&e.durableRecovery?.enabled!==!0)return e;this.host.claimInFlight=!0;try{return await this.createClientSession({storedSessionId:e.sessionId})}catch{return e}finally{this.host.claimInFlight=!1}}async sendWithClientToolsDiff(e,t,n,r){let i=!!(t&&t.length>0),a=i?Pn(t):void 0,o=this.host.clientToolsFingerprintSessionId===e,s=i&&o&&this.host.lastSentClientToolsFingerprint===a,c=!i&&r?.emptyMeansReplace===!0&&this.host.sentNonEmptyClientToolsSessionId===e,l=!1,u;for(let e=0;u=await n({...i&&(l||!s)&&t?{clientTools:t}:{},...c?{clientTools:[]}:{},...a?{clientToolsFingerprint:a}:{}}),u.status===409&&e===0&&i&&(await u.clone().json().catch(()=>null))?.error===`client_tools_resend_required`;e++)l=!0,this.host.lastSentClientToolsFingerprint=null;return{response:u,commit:()=>{this.host.lastSentClientToolsFingerprint=a??null,this.host.clientToolsFingerprintSessionId=e,i?this.host.sentNonEmptyClientToolsSessionId=e:c&&(this.host.sentNonEmptyClientToolsSessionId=null)}}}async createClientSession(e){let t=this.host.isHistoryCapable()&&!e.omitVisitorFields,n=!e.omitVisitorFields,r=null;(t||n)&&(await this.host.historyInternals.historyBootstrapReady,r=await this.host.readVisitorToken());let i=this.host.routing(),a=i.agentId??i.flowId,o=t||e.durableResume?e.conversationId:void 0,s={token:this.host.config.clientToken,...a&&{flowId:a},...t&&{visitorHistory:!0},...n&&{durableRecovery:!0},...(t||n)&&r?{visitorToken:r}:{},...t&&e.identityProof?{identityProof:e.identityProof}:{},...o?{conversationId:o}:e.storedSessionId?{sessionId:e.storedSessionId}:{}};e.signal?.throwIfAborted();let c=await fetch(this.host.getClientApiUrl(`init`),{method:`POST`,headers:{"Content-Type":`application/json`,"X-Persona-Version":ja},body:JSON.stringify(s),signal:e.signal});if(!c.ok){let n=await c.json().catch(()=>({error:`Session initialization failed`}));if(t&&c.status===403&&n.error===`visitor_history_disabled`){if(this.host.markHistoryUnavailable(),o)throw new this.host.HistoryClientError(`history_disabled`,`Visitor history is disabled for this surface`);return this.createClientSession({...e,omitVisitorFields:!0})}throw c.status===403&&n.error===`durable_recovery_disabled`?new this.host.HistoryClientError(`history_disabled`,`Durable recovery is disabled for this surface`):(t||e.durableResume)&&c.status===401&&n.error===`visitor_required`?new this.host.HistoryClientError(`visitor_required`,`Visitor credential no longer resolves`):o&&c.status===404?new this.host.HistoryClientError(`not_found`,`Conversation not found`):c.status===401?Error(`Invalid client token: ${n.hint||n.error}`):c.status===403?Error(`Origin not allowed: ${n.hint||n.error}`):Error(n.error||`Failed to initialize session`)}let l=await c.json();return l.visitor?.token&&await this.host.historyInternals.visitorStore?.set(l.visitor.token),{sessionId:l.sessionId,expiresAt:new Date(l.expiresAt),flow:l.flow,...l.conversationId?{conversationId:l.conversationId}:{},...l.targetId?{targetId:l.targetId}:{},...l.conversationRevision?{conversationRevision:l.conversationRevision}:{},...l.durableRecovery?{durableRecovery:l.durableRecovery}:{},...l.visitor?{visitor:l.visitor}:{},config:{welcomeMessage:l.config.welcomeMessage,placeholder:l.config.placeholder,theme:l.config.theme}}}async sendFeedback(e){if([`upvote`,`downvote`,`copy`].includes(e.type)&&!e.messageId)throw Error(`messageId is required for ${e.type} feedback type`);if(e.type===`csat`&&(e.rating===void 0||e.rating<1||e.rating>5))throw Error(`CSAT rating must be between 1 and 5`);if(e.type===`nps`&&(e.rating===void 0||e.rating<0||e.rating>10))throw Error(`NPS rating must be between 0 and 10`);this.host.debug&&console.debug(`[AgentWidgetClient] sending feedback`,e);let t={...e,...this.host.config.clientToken&&{token:this.host.config.clientToken}},n=await fetch(`${this.host.clientApiBase()}/v1/client/feedback`,{method:`POST`,headers:{"Content-Type":`application/json`,"X-Persona-Version":ja},body:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({error:`Feedback submission failed`}));throw n.status===401?(this.host.clientSession=null,this.host.resetSessionWarmLatch(),this.host.config.onSessionExpired?.(),Error(`Session expired. Please refresh to continue.`)):Error(e.error||`Failed to submit feedback`)}}async dispatchClientToken(e,t,n){let{HistoryClientError:r}=this.host,i=()=>this.host.isCurrentTurn(n),a=e=>{i()&&t(e)};try{let t=()=>{if(e.signal?.throwIfAborted(),!i())throw new DOMException(`Turn superseded`,`AbortError`)},o=this.host.clientSession??await this.host.initSession();t();let s=async()=>{t();let n=o,r=n.durableRecovery?.enabled===!0;if(r&&(!n.conversationId||!await this.host.readVisitorToken()))throw Error(`Renewing this conversation requires its visitor credential.`);t();let i=await this.host.createClientSession({...r||this.host.isHistoryCapable()?{conversationId:n.conversationId,durableResume:r}:{storedSessionId:n.sessionId},signal:e.signal});if(t(),n.conversationId&&i.conversationId!==n.conversationId||r&&i.durableRecovery?.enabled!==!0)throw Error(`Session renewal did not preserve this conversation.`);o=this.host.finishInit(i,n.conversationId??null,!1),this.host.clientSession=o,this.host.resetSessionWarmLatch(),this.host.resetClientToolsFingerprint(),this.host.config.onSessionInit?.(o)};Date.now()>=o.expiresAt.getTime()-6e4&&await s();let c=new Map(gd(e.messages).map(e=>[e,this.#s(e)])),l=await this.#l(e.messages,void 0,c),u=l.metadata?Object.fromEntries(Object.entries(l.metadata).filter(([e])=>e!==`sessionId`&&e!==`session_id`)):void 0,d=this.host.isHistoryCapable(),f={sessionId:o.sessionId,messages:gd(e.messages).flatMap(e=>{let t=c.get(e);if(!t)return[];let n=d?cd(e,t.content):void 0;return[{id:e.id,role:t.role,content:t.content,...n!==void 0&&{displayContent:n}}]}),...e.assistantMessageId&&{assistantMessageId:e.assistantMessageId},...u&&Object.keys(u).length>0&&{metadata:u},...l.inputs&&Object.keys(l.inputs).length>0&&{inputs:l.inputs},...l.context&&{context:l.context},turnId:n,...e.interrupt&&{submitMode:`interrupt`},...e.voiceSpoken&&{voice:{spoken:!0,...e.voicePriorToolResults?.length&&{priorToolResults:e.voicePriorToolResults}}}},p=async()=>{t();let n=o.durableRecovery?.enabled===!0?await this.host.readVisitorToken():null;return t(),this.host.sendWithClientToolsDiff(o.sessionId,l.clientTools,async r=>{t();let i=await this.host.resolveChatIdentityProof(e.signal);t();let a={...f,sessionId:o.sessionId,...r,...i&&{identityProof:i}};return this.host.debug&&console.debug(`[AgentWidgetClient] client token dispatch`,{...a,...i&&{identityProof:{provider:i.provider,token:`[REDACTED]`}}}),fetch(this.host.getClientApiUrl(`chat`),{method:`POST`,headers:{"Content-Type":`application/json`,"X-Persona-Version":ja,...n?{"X-Visitor-Token":n}:{}},body:JSON.stringify(a),signal:e.signal})})},m=await p();if(t(),m.response.status===401){let e=await m.response.clone().json().catch(()=>null);t(),e?.error===`Session not found or expired`&&(await s(),m=await p(),t())}let{response:h,commit:g}=m;if(!h.ok){let e=await h.json().catch(()=>({error:`Chat request failed`}));if(h.status===401&&e.error===`invalid_identity_proof`){let e=new r(`invalid_identity_proof`,`The identity proof was rejected`);throw a({type:`error`,error:e}),e}if(h.status===401){this.host.clearClientSession(),this.host.config.onSessionExpired?.();let e=/* @__PURE__ */ Error(`Session expired. Please refresh to continue.`);throw a({type:`error`,error:e}),e}if(h.status===429){let t=Error(e.hint||`Message limit reached for this session.`);throw a({type:`error`,error:t}),t}if(h.status===410&&e.error===`conversation_deleted`){let e=new r(`conversation_deleted`,`This conversation was deleted`);throw a({type:`error`,error:e}),e}let t=Error(e.error||`Failed to send message`);throw a({type:`error`,error:t}),t}if(!h.body){let e=/* @__PURE__ */ Error(`No response body received`);throw a({type:`error`,error:e}),e}g(),a({type:`status`,status:`connected`});try{await this.host.streamResponse(h.body,a,e.assistantMessageId,void 0,e.signal)}finally{a({type:`status`,status:`idle`})}}catch(e){let t=e instanceof Error?e:Error(String(e));throw t instanceof r||t.message.includes(`Session expired`)||t.message.includes(`Message limit`)||a({type:`error`,error:t}),t}}async dispatchProxy(e,t){let n=await this.#l(e.messages,e.composerOptions);this.host.debug&&console.debug(`[AgentWidgetClient] dispatch payload`,n);let r={...this.host.headers};if(this.host.getHeaders)try{let e=await this.host.getHeaders();r={...r,...e}}catch(e){typeof console<`u`&&console.error(`[AgentWidget] getHeaders error:`,e)}let i;if(this.host.customFetch)try{i=await this.host.customFetch(this.host.apiUrl,{method:`POST`,headers:r,body:JSON.stringify(n),signal:e.signal},n)}catch(e){let n=e instanceof Error?e:Error(String(e));throw t({type:`error`,error:n}),n}else i=await fetch(this.host.apiUrl,{method:`POST`,headers:r,body:JSON.stringify(n),signal:e.signal});if(!i.ok||!i.body){let e=/* @__PURE__ */ Error(`Chat backend request failed: ${i.status} ${i.statusText}`);throw t({type:`error`,error:e}),e}t({type:`status`,status:`connected`});try{await this.host.streamResponse(i.body,t,void 0,void 0,e.signal)}finally{t({type:`status`,status:`idle`})}}async dispatchAgent(e,t){let n=await this.#c(e.messages,e.composerOptions);this.host.debug&&console.debug(`[AgentWidgetClient] agent dispatch payload`,n);let r={...this.host.headers};if(this.host.getHeaders)try{let e=await this.host.getHeaders();r={...r,...e}}catch(e){typeof console<`u`&&console.error(`[AgentWidget] getHeaders error:`,e)}let i;if(this.host.customFetch)try{i=await this.host.customFetch(this.host.apiUrl,{method:`POST`,headers:r,body:JSON.stringify(n),signal:e.signal},n)}catch(e){let n=e instanceof Error?e:Error(String(e));throw t({type:`error`,error:n}),n}else i=await fetch(this.host.apiUrl,{method:`POST`,headers:r,body:JSON.stringify(n),signal:e.signal});if(!i.ok||!i.body){let e=/* @__PURE__ */ Error(`Agent execution request failed: ${i.status} ${i.statusText}`);throw t({type:`error`,error:e}),e}t({type:`status`,status:`connected`});try{await this.host.streamResponse(i.body,t,e.assistantMessageId,void 0,e.signal)}finally{t({type:`status`,status:`idle`})}}#r(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.role===`user`)return n.mentionContext&&Object.keys(n.mentionContext).length>0?{mentions:n.mentionContext}:null}return null}async#i(e){let t={};this.host.contextProviders.length&&await Promise.all(this.host.contextProviders.map(async n=>{try{let r=await n({messages:e,config:this.host.config});r&&typeof r==`object`&&Object.assign(t,r)}catch(e){typeof console<`u`&&console.warn(`[AgentWidget] Context provider failed:`,e)}}));let n=this.#r(e);return n&&Object.assign(t,n),Object.keys(t).length?t:null}#a(e){if(!e)return;let t={};return e.selectedModelId&&(t.selectedModelId=e.selectedModelId),e.activeModeIds?.length&&(t.activeModeIds=[...e.activeModeIds]),Object.keys(t).length>0?t:void 0}#o(e,t){let n=t?.selectedModelId;return!n||!(`model`in e)?e:this.host.config.composer?.models?.some(e=>e.id===n)?{...e,model:n}:e}#s(e){if(!md(e))return null;let t=e.contentParts??e.llmContent??e.rawContent??e.content,n=e.role===`operator`?null:vd(e),r=this.host.config.modelMessageTransform;if(!r)return n;let i=r({message:e,content:t,modelMessage:n});if(i===null)return null;if(!i||typeof i!=`object`||![`user`,`assistant`,`system`].includes(i.role)||!hd(i.content)||typeof i.createdAt!=`string`)throw TypeError(`modelMessageTransform must return a supported model message or null`);return{role:i.role,content:i.content,createdAt:i.createdAt,...i.role===`assistant`&&i.phase&&{phase:i.phase}}}async#c(e,t){let n=this.host.routing().agentId;if(!this.host.config.agent&&!n)throw Error(`Agent configuration required for agent mode`);let r=od(gd(e),e=>!e.variant||e.variant===`assistant`?this.#s(e):null),i=this.#a(t),a={agent:this.#o(this.host.config.agent??{agentId:n},i),messages:r,options:{streamResponse:!0,recordMode:`virtual`,...this.host.config.agentOptions}};i&&(a.composerOptions=i);let o=[...this.host.builtInClientTools(this.host.config),...await(await this.host.getWebMcpBridge())?.snapshotForDispatch()??[]];o.length>0&&(a.clientTools=o);let s=await this.#i(e);return s&&(a.context=s),a}async#l(e,t,n){let r=od(gd(e),e=>n?n.get(e)??null:this.#s(e)),i=this.host.routing(),a={messages:r,...i.agentId?{agent:{agentId:i.agentId}}:i.flowId?{flowId:i.flowId}:{}};if(i.targetPayload)for(let[e,t]of Object.entries(i.targetPayload))e!==`messages`&&(a[e]=t);let o=[...this.host.builtInClientTools(this.host.config),...await(await this.host.getWebMcpBridge())?.snapshotForDispatch()??[]];o.length>0&&(a.clientTools=o);let s=await this.#i(e);s&&(a.context=s);let c=this.#a(t);if(c&&(a.composerOptions=c),this.host.requestMiddleware)try{let e=await this.host.requestMiddleware({payload:{...a},config:this.host.config});if(e&&typeof e==`object`){let t=e;return a.clientTools!==void 0&&!(`clientTools`in t)&&(t.clientTools=a.clientTools),t}}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Request middleware error:`,e)}return a}}}));U();const{setLoader:xd,load:Sd,provide:Cd,getSync:wd}=H({fallbackImport:()=>Promise.resolve().then(()=>(bd(),pd))}),Td=Sd,Ed=wd;U();const{setLoader:Dd,load:Od}=H({fallbackImport:()=>import(`@runtypelabs/persona/webmcp-runtime`)}),kd=Od;U();const{setLoader:Ad,load:jd}=H({fallbackImport:()=>import(`@runtypelabs/persona/voice-client-tools`)}),Md=jd;function Nd(e){return e.startsWith(`agent_`)?{kind:`agentId`,agentId:e}:e.startsWith(`flow_`)?{kind:`flowId`,flowId:e}:null}function Pd(e,t){let n=e.trim();if(!n)throw Error("[Persona] `target` is empty.");let r=n.indexOf(`:`);if(r>0){let e=n.slice(0,r),i=n.slice(r+1);if(e===`runtype`){let e=Nd(i);if(e)return e;throw Error(`[Persona] target "runtype:${i}" is not a valid Runtype agent_/flow_ id.`)}let a=t?.[e];if(!a)throw Error(`[Persona] No target provider registered for "${e}". Add a \`targetProviders.${e}\` resolver, or use a Runtype agent_/flow_ id.`);return{kind:`payload`,payload:a(i).payload}}let i=Nd(n);if(i)return i;let a=t?.default;if(a)return{kind:`payload`,payload:a(n).payload};throw Error(`[Persona] target "${n}" has no provider prefix and is not a Runtype agent_/flow_ id. Use "<provider>:${n}", a Runtype TypeID, or register a \`targetProviders.default\` resolver.`)}Gn(),Kc(),sa(),cr(),Ma(),da();var Fd=class extends Error{constructor(e,t,n){super(t),this.name=`HistoryClientError`,this.code=e,n?.retryAfterSeconds!==void 0&&(this.retryAfterSeconds=n.retryAfterSeconds)}};const Id=e=>`reason`in e?e.reason:void 0;function Ld(e){switch(e){case`json`:return ar;case`regex-json`:return ir;case`xml`:return sr;default:return rr}}var Rd=class{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;#C;#w;#T;constructor(e={},t={}){if(this.#f=0,this.#p=/* @__PURE__ */ new Set,this.#m=null,this.clientSession=null,this.#h=null,this.#g=!1,this.lastSentClientToolsFingerprint=null,this.clientToolsFingerprintSessionId=null,this.#_=null,this.#v=!1,this.#y=!1,this.#b=!1,this.#x=null,this.#S=/* @__PURE__ */ new Set,this.#C=/* @__PURE__ */ new Set,this.webMcpBridge=null,this.#w=null,this.#U=null,this.#G=null,this.#i=e,this.#r=t,e.target&&(e.agentId||e.flowId||e.agent))throw Error("[Persona] `target` is mutually exclusive with `agentId`, `flowId`, and `agent`. Set only one routing field.");this.#e=e.apiUrl??`https://api.runtype.com/v1/dispatch`,this.#t={"Content-Type":`application/json`,"X-Persona-Version":ja,...e.headers},this.#n=!!e.debug,this.#a=e.streamParser??Ld(e.parserType),this.#o=e.contextProviders??[],this.#s=e.requestMiddleware,this.#c=e.customFetch,this.#l=e.parseSSEEvent,this.#u=e.getHeaders,e.webmcp?.enabled===!0&&(this.#w=this.#E(e.webmcp))}#E(e){return kd().then(t=>{let n=new t.WebMcpBridge(e,{recordToolDisplayTitles:zn,getToolDisplayTitle:Bn,loadPolyfill:Wn});return this.#T!==void 0&&n.setConfirmHandler(this.#T),this.webMcpBridge=n,n}).catch(e=>(this.#w=null,console.warn(`[Persona] Failed to load the WebMCP runtime chunk`,e),null))}#D(){return this.webMcpBridge?Promise.resolve(this.webMcpBridge):this.#i.webmcp?.enabled===!0?(this.#w||=this.#E(this.#i.webmcp),this.#w):Promise.resolve(null)}updateConfig(e){this.#i=e}setHistoryInternals(e){this.#r=e}cancelStreams(){if(this.#f+=1,this.#i.backgroundConversations)for(let e of this.#p)e.cancel().catch(()=>{})}setSSEEventCallback(e){this.#d=e}setWebMcpConfirmHandler(e){this.#T=e,this.webMcpBridge?.setConfirmHandler(e)}isWebMcpOperational(){return this.webMcpBridge?.isOperational()===!0}getVoiceClientTools(){if(this.#i.webmcp?.enabled!==!0)return null;let e=()=>this.#D(),t={open:async e=>(await Md()).createVoiceClientToolsSession(t,e),snapshot:async()=>{let t=await(await e())?.snapshotForDispatch()??[];return{tools:t,fingerprint:Pn(t)}},onChange:t=>{let n=null,r=!1;return e().then(e=>{e&&!r&&(n=e.watchToolChanges(t))}),()=>{r=!0,n?.()}},execute:async(t,n,r)=>{let i=await e();return i?i.executeVoiceToolCall(t,n,r):{status:`failed`,error:{message:`WebMCP runtime failed to load.`}}}};return t}executeWebMcpToolCall(e,t,n,r){return this.#i.webmcp?.enabled===!0?this.#D().then(i=>i?i.executeToolCall(e,t,n,r):{isError:!0,content:[{type:`text`,text:`WebMCP runtime failed to load.`}]}):null}getSSEEventCallback(){return this.#d}isClientTokenMode(){return!!this.#i.clientToken}#O(){let{agentId:e,flowId:t,target:n,targetProviders:r}=this.#i;if(!n)return{agentId:e,flowId:t};let i=Pd(n,r);return i.kind===`agentId`?{agentId:i.agentId}:i.kind===`flowId`?{flowId:i.flowId}:{targetPayload:i.payload}}isAgentMode(){return!!(this.#i.agent||this.#O().agentId)}#k(){return this.#i.apiUrl?.replace(/\/+$/,``).replace(/\/v1\/dispatch$/,``)||`https://api.runtype.com`}#A(e){return`${this.#k()}/v1/client/${e}`}getClientSession(){return this.clientSession}async reconnectClientTokenStream(e){let t=await this.initSession(),n=!1;for(;;){let r=t.conversationId,i=await this.readVisitorToken();if(t.durableRecovery?.enabled!==!0||!r||!i)throw new Fd(`visitor_token_missing`,`Durable recovery is not enabled for this client session`);let a=`${this.#k()}/v1/client/conversations/${encodeURIComponent(r)}/executions/${encodeURIComponent(e.executionId)}/events`,o=new URLSearchParams({sessionId:t.sessionId,after:e.after}),s=await fetch(`${a}?${o}`,{method:`GET`,headers:{"X-Persona-Version":ja,"X-Visitor-Token":i},signal:e.signal});if(s.status===401&&!n){n=!0;let e=await oo();t=await e.recoverFromUnauthorized(this.#K(),await e.readErrorCode(this.#K(),s),null,!0)}else{if(!s.ok)throw await(await oo()).historyErrorFor(this.#K(),s,!0);return s}}}async warmSession(){let e=this.clientSession;return!this.isClientTokenMode()||this.#h||e&&/* @__PURE__ */ new Date<e.expiresAt||this.#g===e?null:(this.#g=e,this.initSession().catch(()=>null))}async initSession(){if(!this.isClientTokenMode())throw Error(`initSession() only available in client token mode`);if(this.clientSession&&/* @__PURE__ */ new Date<this.clientSession.expiresAt)return this.clientSession;if(this.#h)return this.#h;let e=this.#h=this.#R().then(t=>this.#h===e?(this.clientSession=t,this.#g=!1,this.resetClientToolsFingerprint(),this.#i.onSessionInit?.(t),t):this.initSession()).finally(()=>{this.#h===e&&(this.#h=null)});return e}#j(){return this.#i.features?.history?.enabled===!0&&this.isClientTokenMode()&&!this.#v}async readVisitorToken(){let e=this.#r.visitorStore;return e?(await e.ready,await e.get()??null):null}#M(){if(!this.#v){this.#I({state:`unavailable`,reason:`history_disabled`}),this.#v=!0,!this.#y&&typeof console<`u`&&(this.#y=!0,console.warn(`[Persona] Visitor history is disabled for this surface; continuing without it.`)),this.#r.onHistoryAvailabilityChanged?.(!1);for(let e of[...this.#C])e(!1)}}getHistoryIdentityStatus(){return this.#x??this.#N()}subscribeHistoryIdentityStatus(e){return this.#S.add(e),()=>{this.#S.delete(e)}}subscribeHistoryAvailability(e){return this.#C.add(e),this.#v&&e(!1),()=>{this.#C.delete(e)}}#N(){return this.isClientTokenMode()?this.#i.features?.history?.enabled!==!0||this.#v?{state:`unavailable`,reason:`history_disabled`}:this.#P():{state:`unavailable`,reason:`ineligible_mode`}}#P(){let e=this.#x;return e?.state===`browser_only`?e:this.#F()}#F(){return this.#i.features?.history?.scope===`browser`?{state:`browser_only`,reason:`configured_browser_scope`}:this.#i.getIdentityProof?{state:`browser_only`,reason:`proof_unavailable_before_binding`}:{state:`browser_only`,reason:`no_identity_provider`}}#I(e){let t=this.getHistoryIdentityStatus(),n=t.state===e.state&&Id(t)===Id(e);if(this.#x=e,!n){this.#r.onHistoryIdentityStatusChanged?.(e);for(let t of[...this.#S])t(e)}}async#L(e){return new((Ed())??await(Td())).ClientDispatch(this.#q()).createClientSession(e)}async#R(){return new((Ed())??await(Td())).ClientDispatch(this.#q()).initializeSession()}async#z(e){let t=this.#i.getStoredSessionId?.()||null,n=this.#i.getStoredConversationId?.()||null,r=await this.#L({storedSessionId:t,identityProof:e}),i=this.#B(r,n,!1);return this.clientSession=i,this.#h=null,this.#g=!1,this.resetClientToolsFingerprint(),i}#B(e,t,n){let r=e.conversationId;return r&&t&&(n||r!==t)&&this.#r.onHistoryContinuityChanged?.({previousConversationId:t,conversationId:r}),this.#i.setStoredSessionId?.(e.sessionId),r&&(this.#i.setStoredConversationId?.(r),this.#r.setStoredConversationRevision?.(e.conversationRevision??null)),e}#V(e){let t=!1;return{session:e,commit:()=>{t||(t=!0,this.clientSession=e,this.#g=!1,this.resetClientToolsFingerprint())},discard:()=>{t=!0}}}async prepareConversationSession(e,t){if(!this.isClientTokenMode())throw Error(`prepareConversationSession() only available in client token mode`);if(!this.#j())throw new Fd(`history_disabled`,`Visitor history is disabled for this surface`);await this.#r.historyBootstrapReady;let n=t?.proof??null;if(!await this.readVisitorToken()&&!n)throw new Fd(`conversation_credential_missing`,`Reopening a conversation requires a stored visitor token or an identity proof`);let r=await this.#L({conversationId:e,identityProof:n});return this.#V(r)}async prepareNewConversationSession(){if(!this.isClientTokenMode())throw Error(`prepareNewConversationSession() only available in client token mode`);await this.#r.historyBootstrapReady;let e=await this.#L({});return this.#V(e)}handleExternalCredentialChange(){this.clearClientSession(),this.#j()&&this.#I(this.#F())}clearClientSession(){this.clientSession=null,this.#h=null,this.#g=!1,this.resetClientToolsFingerprint()}resetClientToolsFingerprint(){this.lastSentClientToolsFingerprint=null,this.clientToolsFingerprintSessionId=null,this.#_=null}async sendFeedback(e){if(!this.isClientTokenMode())throw Error(`sendFeedback() only available in client token mode`);if(!this.getClientSession())throw Error(`No active session. Please initialize session first.`);return new((Ed())??await(Td())).ClientDispatch(this.#q()).sendFeedback(e)}async submitMessageFeedback(e,t){let n=this.getClientSession()??await this.initSession();return this.sendFeedback({sessionId:n.sessionId,messageId:e,type:t})}async submitCSATFeedback(e,t){let n=this.getClientSession()??await this.initSession();return this.sendFeedback({sessionId:n.sessionId,type:`csat`,rating:e,comment:t})}async submitNPSFeedback(e,t){let n=this.getClientSession()??await this.initSession();return this.sendFeedback({sessionId:n.sessionId,type:`nps`,rating:e,comment:t})}async#H(e){e?.throwIfAborted();let t=this.#i.identityProvider;if(t===void 0)return;let n=this.#i.getIdentityProof;if(!t.trim()||!n)throw Error(`Chat identity requires identityProvider and getIdentityProof.`);let r,i;try{let t=Promise.resolve().then(()=>n());r=e?await Promise.race([t,new Promise((t,n)=>{i=()=>n(e.reason),e.addEventListener(`abort`,i,{once:!0}),e.aborted&&i()})]):await t}catch{throw e?.throwIfAborted(),Error(`The identity proof provider failed.`)}finally{i&&e?.removeEventListener(`abort`,i)}if(typeof r!=`string`||!r.trim())throw Error(`A fresh identity proof is required to send this message.`);return{provider:t,token:r}}#U;#W(){let e=this;return this.#U??={get config(){return e.#i},headers:this.#t,getHeaders:this.#u,debug:this.#n,clientApiBase:()=>e.#k(),getClientApiUrl:t=>e.#A(t),getWebMcpBridge:()=>e.#D(),sendWithClientToolsDiff:(t,n,r,i)=>e.#J(t,n,r,i),initSession:()=>e.initSession(),readVisitorToken:()=>e.readVisitorToken(),isClientTokenMode:()=>e.isClientTokenMode()}}#G;#K(){let e=this;return this.#G??={HistoryClientError:Fd,get config(){return e.#i},get historyInternals(){return e.#r},get clientSession(){return e.clientSession},clientApiBase:()=>e.#k(),setHistoryIdentityStatus:t=>e.#I(t),browserOnlyStatus:()=>e.#P(),derivedBrowserOnly:()=>e.#F(),reinitWithProof:t=>e.#z(t),isHistoryCapable:()=>e.#j(),clearClientSession:()=>e.clearClientSession(),initSession:()=>e.initSession(),readVisitorToken:()=>e.readVisitorToken(),isClientTokenMode:()=>e.isClientTokenMode()}}async listConversations(e){return(await oo()).listConversations(this.#K(),e)}async getConversation(e,t){return(await oo()).getConversation(this.#K(),e,t)}async finalizeDisplayProjections(e,t){return(await oo()).finalizeDisplayProjections(this.#K(),e,t)}async deleteConversation(e,t){return(await oo()).deleteConversation(this.#K(),e,t)}async deleteAllConversations(e){return(await oo()).deleteAllConversations(this.#K(),e)}async resetVisitor(){return(await oo()).resetVisitor(this.#K())}async dispatch(e,t){e.signal?.throwIfAborted(),Da().catch(()=>{});let n=this.isClientTokenMode(),r=this.isAgentMode(),i=Gc();n&&(this.#m=i),t({type:`status`,status:`connecting`});let a=Ed()??await Td().catch(e=>{let r=e instanceof Error?e:Error(String(e));throw n&&this.#m!==i||t({type:`error`,error:r}),r});if(e.signal?.throwIfAborted(),n&&this.#m!==i)throw new DOMException(`Turn superseded`,`AbortError`);let o=new a.ClientDispatch(this.#q());return n?o.dispatchClientToken(e,t,i):r?o.dispatchAgent(e,t):o.dispatchProxy(e,t)}#q(){let e=this;return Object.setPrototypeOf({HistoryClientError:Fd,get claimInFlight(){return e.#b},set claimInFlight(t){e.#b=t},get clientToolsFingerprintSessionId(){return e.clientToolsFingerprintSessionId},set clientToolsFingerprintSessionId(t){e.clientToolsFingerprintSessionId=t},get lastSentClientToolsFingerprint(){return e.lastSentClientToolsFingerprint},set lastSentClientToolsFingerprint(t){e.lastSentClientToolsFingerprint=t},get sentNonEmptyClientToolsSessionId(){return e.#_},set sentNonEmptyClientToolsSessionId(t){e.#_=t},get historyInternals(){return e.#r},markHistoryUnavailable:()=>e.#M(),apiUrl:this.#e,contextProviders:this.#o,requestMiddleware:this.#s,customFetch:this.#c,get clientSession(){return e.clientSession},set clientSession(t){e.clientSession=t},isCurrentTurn:t=>e.#m===t,isHistoryCapable:()=>e.#j(),createClientSession:t=>e.#L(t),finishInit:(t,n,r)=>e.#B(t,n,r),resetSessionWarmLatch:()=>{e.#g=!1},resetClientToolsFingerprint:()=>e.resetClientToolsFingerprint(),clearClientSession:()=>e.clearClientSession(),resolveChatIdentityProof:t=>e.#H(t),routing:()=>e.#O(),builtInClientTools:oa,streamResponse:(...t)=>e.#Y(...t)},this.#W())}async processStream(e,t,n,r,i,a,o){t({type:`status`,status:`connected`});try{await this.#Y(e,t,n,r,i,a,o)}finally{t({type:`status`,status:`idle`})}}async resolveApproval(e,t,n){return(await Da()).resolveApproval(this.#W(),e,t,n)}async#J(e,t,n,r){return new((Ed())??await(Td())).ClientDispatch(this.#q()).sendWithClientToolsDiff(e,t,n,r)}async resumeFlow(e,t,n){return(await Da()).resumeFlow(this.#W(),e,t,n)}async#Y(e,t,n,r,i,a,o){let{streamResponse:s}=ka()??await Da();return s({config:()=>this.#i,streamGeneration:()=>this.#f,streamReaders:this.#p,createStreamParser:this.#a,parseSSEEvent:this.#l,onSSEEvent:(e,t)=>this.#d?.(e,t)},e,t,n,r,i,a,o)}},zd=class extends Error{constructor(e,t,n){super(t),this.name=`HistoryProviderError`,this.code=e,n?.retryAfterSeconds!==void 0&&(this.retryAfterSeconds=n.retryAfterSeconds)}};function Bd(e){return e instanceof zd}U();const{setLoader:Vd,load:Hd}=H({fallbackImport:()=>import(`@runtypelabs/persona/background-runtime`)}),Ud=Hd,Wd=e=>typeof e==`object`&&!!e&&!Array.isArray(e),Gd=(e,t)=>{let n=/* @__PURE__ */ new Set;return(Array.isArray(e)?e:[]).flatMap(e=>{if(!Wd(e))return[];let{toolCallId:r,name:i}=e;if(typeof r!=`string`||!r||typeof i!=`string`||!i||n.has(r))return[];n.add(r);let a=Wd(e.arguments)?e.arguments:{},o=e.result??null;return[{id:`voice-tool-${r}`,role:`assistant`,variant:`tool`,content:``,createdAt:t,streaming:!1,toolCall:{id:r,name:i,status:`complete`,args:a,result:o},agentMetadata:{clientToolAnswer:{toolCallId:r,toolName:i,args:a,result:o}}}]})};function Kd(e){let t=0;for(let n of e.split(`
13
- `)){let e=/^ {0,3}(`+)/.exec(n);e&&e[1].length>t&&(t=e[1].length)}return t}function qd(e,t){let n="`".repeat(Math.max(3,Kd(t)+1));return`${n}${e}\n${t}\n${n}`}Gs();const Jd=e=>e.sourceLabel?`quoted-text source=${e.sourceLabel}`:`quoted-text`;function Yd(e){let t=e?.text?.trim()??``;return t?qd(Jd(e),t):``}function Xd(e){let t=Yd(e.quote);return t?e.contentParts&&e.contentParts.length>0?{contentParts:[js(t),...e.contentParts]}:{llmContent:[t,e.text].filter(Boolean).join(`
12
+ `)[0]).startsWith(t.trigger):!1),l=(t,n)=>{if(typeof window<`u`)try{window.dispatchEvent(new CustomEvent(`persona:mention:${t}`,{detail:{...n,instanceId:e.textarea.closest(`[data-persona-instance]`)?.dataset.personaInstance}}))}catch{}},u=!e.chipRow,d=e.chipRow??J(`div`,{className:`persona-mention-context-row`,attrs:{"data-persona-mention-context-row":``}}),f=null,p=null,m=e.textarea,h=null,g=null,_=null,v=null,y=()=>{if(f)return Promise.resolve(f);if(p)return p;let n=t().then(t=>(t.setMentionIconRenderer(r),f=t.mountContextMentions({mentionConfig:a,textarea:e.textarea,composerInput:h??void 0,anchor:e.anchor,contextRow:d,getMessages:e.getMessages,getConfig:()=>e.config,liveRegionHost:e.liveRegionHost,popoverContainer:e.popoverContainer,onPickerOpenChange:S,emit:l}),f)).catch(e=>(typeof console<`u`&&console.warn(`[Persona] Failed to load context mentions runtime`,e),p===n&&(p=null),null));return p=n,n};a.display===`inline`&&n().then(t=>{let n=t.mountInlineComposer({textarea:e.textarea,renderToken:e=>kc(e,{render:a.renderMentionToken}),onMentionRemoved:e=>f?.untrackMention(e)});h=n.input,g=n.destroy;let r=m;r.replaceWith(n.element),m=n.element,v={next:n.element,prev:r},_?.(n.element,r),f?f.rebindComposer(n.input):p&&p.then(e=>e?.rebindComposer(n.input))}).catch(e=>{typeof console<`u`&&console.warn(`[Persona] Failed to load inline mention composer`,e)});let b=[],x=/* @__PURE__ */ new Map;for(let e of o){if(!e.showButton)continue;let t=i({config:{...a,buttonIconName:e.buttonIconName,buttonTooltipText:e.buttonTooltipText},onOpen:()=>{y().then(t=>t?.openMenu(e.trigger))}});b.push(t),x.set(e.trigger,t.button)}let S=(e,t,n)=>{let r=x.get(t);r&&(r.setAttribute(`aria-expanded`,e?`true`:`false`),e?r.setAttribute(`aria-controls`,n):r.removeAttribute(`aria-controls`))};return{affordanceButtons:b.map(e=>e.wrapper),contextRow:d,handleInput:e=>{if(f){f.handleInput();return}if(!mo(e))return;let t=m,n=t.selectionStart??0;po(t.value,n,o)&&y().then(e=>e?.handleInput())},handleKeydown:e=>{if(f?.isMenuOpen())return f.handleKeydown(e);if(e.key===`Backspace`&&f?.hasMentions()&&!v){let t=m,n=t.selectionStart===0&&t.selectionEnd===0;if((t.value.length===0||n)&&f.removeLastChip())return e.preventDefault(),!0}return!1},isMenuOpen:()=>f?.isMenuOpen()??!1,hasMentions:()=>f?.hasMentions()??!1,getMentionRefs:()=>f?.getMentionRefs()??[],captureDraft:()=>f?.captureDraft()??[],restoreDraft:e=>f?.restoreDraft(e),getInlineInput:()=>h,collectForSubmit:()=>f?.collectForSubmit()??null,takeInlineCommand:async e=>c(e)?(f??await y())?.dispatchInlineCommand(e)??null:null,clear:()=>f?.clear(),prefetch:()=>{t().catch(()=>{})},onComposerSwap:e=>{_=e,v&&e(v.next,v.prev)},destroy:()=>{f?.destroy(),g?.();for(let e of b)e.wrapper.remove();u&&d.remove()}}}var Mc,Nc=B((()=>{Kr(),go(),vo(),bc(),wc(),Pn(),Oc(),Ac(),Mc={loadContextMentions:()=>Cc(),loadContextMentionsInline:()=>Dc(),renderLucideIcon:(...e)=>G(...e),createMentionButton:(...e)=>yc(...e)}})),Pc=/* @__PURE__ */ Vt({createAskUserSheetHandlers:()=>co,createContextMentionOrchestrator:()=>jc}),Fc=B((()=>{lo(),Nc()}));Fc(),H();const{setLoader:Ic,load:Lc,provide:Rc,getSync:zc}=V({fallbackImport:()=>Promise.resolve().then(()=>(Fc(),Pc))}),Bc=Lc,Vc=Rc,Hc=zc;Vc(Pc);function Uc(){return`msg_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`}function Wc(){return`usr_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`}function Gc(){return`ast_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`}function Kc(){return`turn_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`}var qc=B((()=>{})),Jc=/* @__PURE__ */ Vt({resolveApproval:()=>Yc,resolveAskUserQuestion:()=>Xc,resolveWebMcpToolCall:()=>nl,resolveWebMcpToolCallBatch:()=>tl});async function Yc(e,t,n,r){let i=`approval-${t.id}`,a=`approval-error-${t.id}`,o=Gc(),s={};e.s.approvalTokens.set(i,s);let c={...t,status:n,resolvedAt:Date.now()},l=e.s.messages.find(e=>e.id===i),u={id:i,role:`assistant`,content:``,createdAt:l?.createdAt??(/* @__PURE__ */ new Date()).toISOString(),...l?.sequence===void 0?{}:{sequence:l.sequence},streaming:!1,variant:`approval`,approval:c};e.s.upsertMessage(u),e.s.abortController?.abort(),e.s.abortController=new AbortController,e.setStreaming(!0);let d=e.s.config.approval,f=d&&typeof d==`object`?d.onDecision:void 0;try{let l;if(l=f?await f({approvalId:t.id,executionId:t.executionId,agentId:t.agentId,toolName:t.toolName},n,r):await e.s.client.resolveApproval({agentId:t.agentId,executionId:t.executionId,approvalId:t.id},n,{assistantMessageId:o}),l){let r=null;if(l instanceof Response){if(!l.ok){let n=await l.json().catch(()=>null),r=n?.message??n?.error??`Approval request failed: ${l.status}`,o=n?.code===`APPROVAL_ALREADY_RESOLVED`||l.status===404&&/no paused execution/i.test(String(n?.error)),d=e.s.messages.find(e=>e.id===i);throw e.s.approvalTokens.get(i)===s&&d?.approval?.resolvedAt===c.resolvedAt&&(e.s.upsertMessage({...u,approval:o?{...c,status:`timeout`}:t}),o&&e.settleApprovalPausedToolCall(i),e.s.upsertMessage({id:a,role:`assistant`,content:r,localOnly:!0,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!1,sequence:e.nextSequence()})),Error(r)}r=l.body}else l instanceof ReadableStream&&(r=l);e.s.approvalTokens.get(i)===s&&e.s.messages.some(e=>e.id===a)&&(e.s.messages=e.s.messages.filter(e=>e.id!==a),e.s.callbacks.onMessagesChanged([...e.s.messages])),r?await e.s.connectStream(r,{allowReentry:!0,assistantMessageId:o}):(n===`denied`&&(e.settleApprovalPausedToolCall(i),e.appendMessage({id:`denial-${t.id}`,role:`assistant`,content:`Tool execution was denied by user.`,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!1,sequence:e.nextSequence()})),e.setStreaming(!1),e.s.abortController=null)}else e.setStreaming(!1),e.s.abortController=null}catch(t){let n=t instanceof Error&&(t.name===`AbortError`||t.message.includes(`aborted`)||t.message.includes(`abort`));e.setStreaming(!1),e.s.abortController=null,n||e.s.callbacks.onError?.(t instanceof Error?t:Error(String(t)))}finally{e.s.approvalTokens.get(i)===s&&e.s.approvalTokens.delete(i)}}async function Xc(e,t,n){if(e.s.messages.find(e=>e.id===t.id)?.agentMetadata?.askUserQuestionAnswered===!0)return;let r=t.agentMetadata?.executionId,i=t.toolCall?.name;if(!r||!i){e.s.callbacks.onError?.(/* @__PURE__ */ 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 e=t.toolCall?.args,r=Array.isArray(e?.questions)?e.questions:[];if(r.length===1){let e=typeof r[0]?.question==`string`?r[0].question:``;e&&(a={[e]:n})}}e.s.markAskUserQuestionResolved(t,a),e.s.abortController?.abort(),e.s.abortController=new AbortController,e.setStreaming(!0);let o=t.toolCall.id,s=t.toolCall?.args,c=Array.isArray(s?.questions)?s.questions:[];if(c.length===0){let t=typeof n==`string`?n:Object.entries(n).map(([e,t])=>`${e}: ${Array.isArray(t)?t.join(`, `):t}`).join(` | `);e.appendMessage({id:`ask-user-answer-${o}`,role:`user`,content:t,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!1,sequence:e.nextSequence()})}else{let t=a??{};c.forEach((n,r)=>{let i=typeof n?.question==`string`?n.question:``;if(!i)return;let a=t[i],s=Array.isArray(a)?a.join(`, `):typeof a==`string`?a:``;e.appendMessage({id:`ask-user-q-${o}-${r}`,role:`assistant`,content:i,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!1,sequence:e.nextSequence()}),e.appendMessage({id:`ask-user-a-${o}-${r}`,role:`user`,content:s||`*Skipped*`,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!1,sequence:e.nextSequence()})})}try{let t=Gc(),a=await e.s.client.resumeFlow(r,{[i]:n},{after:e.resumeAfter(r),assistantMessageId:t});if(!a.ok){let e=await a.json().catch(()=>null);throw Error(e?.error??`Resume failed: ${a.status}`)}a.body?await e.s.connectStream(a.body,{allowReentry:!0,assistantMessageId:t}):(e.setStreaming(!1),e.s.abortController=null)}catch(t){let n=t instanceof Error&&(t.name===`AbortError`||t.message.includes(`aborted`)||t.message.includes(`abort`));e.setStreaming(!1),e.s.abortController=null,n||e.s.callbacks.onError?.(t instanceof Error?t:Error(String(t)))}}function Zc(e,t){let n=[e.s.messages.find(e=>e.id===t.id)?.toolCall?.startedAt,t.toolCall?.startedAt];for(let e of n)if(typeof e==`number`&&Number.isFinite(e))return e;return Date.now()}function Qc(e,t){return t.toolCall?.name===`suggest_replies`&&(e.s.messages.find(e=>e.id===t.id)??t).agentMetadata?.suggestRepliesResolved===!0}function $c(e,t){let n=Zc(e,t);return e.s.upsertMessage({...t,streaming:!0,agentMetadata:{...t.agentMetadata,awaitingLocalTool:!1},toolCall:t.toolCall?{...t.toolCall,status:`running`,startedAt:n,completedAt:void 0,duration:void 0,durationMs:void 0}:t.toolCall}),n}function el(e,t,n,r,i=Date.now(),a){e.s.messages.some(e=>e.id===t.id)&&e.s.upsertMessage({...t,streaming:!1,agentMetadata:{...t.agentMetadata,awaitingLocalTool:!1,...a},toolCall:t.toolCall?{...t.toolCall,status:`complete`,result:n,startedAt:r,completedAt:i,duration:void 0,durationMs:Math.max(0,i-r)}:t.toolCall})}async function tl(e,t,n){let r=[],i=new AbortController;e.s.webMcpResolveControllers.add(i),e.setStreaming(!0);let a=async n=>{let a=n.toolCall?.name,o=n.toolCall?.id;if(!a||!o)return null;let s=`${t}:${o}`;if(e.s.webMcpInflightKeys.has(s)||e.s.webMcpResolvedKeys.has(s)||Qc(e,n))return null;e.s.webMcpInflightKeys.add(s),r.push(s);let c=$c(e,n),l=n.agentMetadata?.webMcpToolCallId??a;if(a===`suggest_replies`)return{dedupeKey:s,resumeKey:l,output:Zi(),toolMessage:n,startedAt:c,completedAt:Date.now()};let u=e.s.client.executeWebMcpToolCall(a,n.toolCall?.args,i.signal,n.toolCall?.id),d;if(!u)d={isError:!0,content:[{type:`text`,text:`WebMCP not enabled on this widget.`}]};else try{d=await u}catch(t){let r=t instanceof Error&&(t.name===`AbortError`||t.message.includes(`aborted`)||t.message.includes(`abort`));return r||e.s.callbacks.onError?.(t instanceof Error?t:Error(String(t))),el(e,n,il(r?`Aborted by cancel()`:al(t)),c),e.s.webMcpInflightKeys.delete(s),null}return i.signal.aborted?(el(e,n,il(`Aborted by cancel()`),c),e.s.webMcpInflightKeys.delete(s),null):{dedupeKey:s,resumeKey:l,output:d,toolMessage:n,startedAt:c,completedAt:Date.now()}},o;if(e.s.config.webmcp?.execution===`sequential`){o=[];for(let e of n)o.push(await a(e))}else o=await Promise.all(n.map(a));let s=[];try{if(s=o.filter(e=>e!==null),s.length===0)return;let n={};for(let e of s)n[e.resumeKey]=e.output;let r=Gc(),a=await e.s.client.resumeFlow(t,n,{signal:i.signal,after:e.resumeAfter(t),assistantMessageId:r});if(!a.ok){let e=await a.json().catch(()=>null);throw Error(e?.error??`Resume failed: ${a.status}`)}let c=s[0].dedupeKey;for(let t of s){e.s.webMcpResolvedKeys.add(t.dedupeKey);let n=t.toolMessage.toolCall?.name,r=t.toolMessage.agentMetadata?.webMcpToolCallId;el(e,t.toolMessage,t.output,t.startedAt,t.completedAt,{...n===`suggest_replies`?{suggestRepliesResolved:!0}:{},...n&&r?{clientToolAnswer:{toolCallId:r,toolName:n,args:t.toolMessage.toolCall?.args,result:t.output,batch:c}}:{}})}a.body&&await e.s.connectStream(a.body,{allowReentry:!0,assistantMessageId:r})}catch(t){if(!(t instanceof Error&&(t.name===`AbortError`||t.message.includes(`aborted`)||t.message.includes(`abort`))))e.s.callbacks.onError?.(t instanceof Error?t:Error(String(t)));else for(let t of s)el(e,t.toolMessage,il(`Aborted by cancel()`),t.startedAt)}finally{for(let t of r)e.s.webMcpInflightKeys.delete(t);e.s.webMcpResolveControllers.delete(i),e.s.webMcpResolveControllers.size===0&&!e.s.abortController&&e.setStreaming(!1)}}async function nl(e,t){let n=t.agentMetadata?.executionId,r=t.toolCall?.name,i=t.toolCall?.id;if(!n){e.s.callbacks.onError?.(/* @__PURE__ */ Error(`WebMCP await missing executionId: dispatch left paused.`));return}if(!r)return;if(!i){let t=`${n}:__no_tool_id__:${r}`;if(e.s.webMcpInflightKeys.has(t)||e.s.webMcpResolvedKeys.has(t))return;e.s.webMcpInflightKeys.add(t);try{await rl(e,n,r,{isError:!0,content:[{type:`text`,text:`WebMCP await missing toolCall.id: cannot execute the page tool.`}]}),e.s.webMcpResolvedKeys.add(t)}catch(t){e.s.callbacks.onError?.(t instanceof Error?t:Error(String(t)))}finally{e.s.webMcpInflightKeys.delete(t)}return}let a=`${n}:${i}`;if(!(e.s.webMcpInflightKeys.has(a)||e.s.webMcpResolvedKeys.has(a)||Qc(e,t)))return tl(e,n,[t])}async function rl(e,t,n,r,i){let a=Gc(),o=await e.s.client.resumeFlow(t,{[n]:r},{signal:i?.signal,after:e.resumeAfter(t),assistantMessageId:a});if(!o.ok){let e=await o.json().catch(()=>null);throw Error(e?.error??`Resume failed: ${o.status}`)}i?.onHttpOk?.(),o.body?await e.s.connectStream(o.body,{allowReentry:!0,assistantMessageId:a}):e.s.webMcpResolveControllers.size===0&&(e.setStreaming(!1),e.s.abortController=null)}var il,al,ol=B((()=>{qc(),ia(),il=e=>({isError:!0,content:[{type:`text`,text:e}]}),al=(e,t=`WebMCP tool execution failed.`)=>e instanceof Error&&e.message?e.message:typeof e==`string`&&e?e:t}));ol(),H();const{setLoader:sl,load:cl,provide:ll,getSync:ul}=V({fallbackImport:()=>Promise.resolve().then(()=>(ol(),Jc))}),dl=cl,fl=ll,pl=ul;fl(Jc);const ml=e=>{let t=0,n=!1,r=Promise.resolve(),i=()=>{},a,o=e.inert===!0,s=()=>{a?.remove(),a=void 0,e.removeAttribute(`data-persona-preparing`),e.inert=o};return{get ready(){return r},prepare(o,c,l=!1){let u=++t;if(i(),!o.length){if(c(),u!==t)return;s(),r=Promise.resolve();return}!l&&!a&&(a=e.ownerDocument.createElement(`style`),a.textContent=`[data-persona-preparing],[data-persona-preparing] *{visibility:hidden!important}`,e.append(a)),l||(e.setAttribute(`data-persona-preparing`,``),e.inert=!0);let d=new Promise((e,t)=>{i=()=>t(/* @__PURE__ */ Error(`Widget destroyed before ready`))});r=Promise.race([Promise.all(o),d]).then(()=>{if(n)throw Error(`Widget destroyed before ready`);if(u!==t||(c(),u!==t))return r;s()},e=>{if(!n&&u!==t)return r;throw e}),r.catch(()=>{})},destroy(){n=!0,++t,i(),s()}}};Ar(),Gr();const hl={defaultProvenance:Cr,suppliedPath:Sr,hasExplicitThemeStyle:Wr,getExplicitLegacyStyle:Ur};H();const{setLoader:gl,load:_l,provide:vl,getSync:yl}=V({fallbackImport:()=>import(`@runtypelabs/persona/activity-ui`)}),bl=_l,xl=yl;H();const{setLoader:Sl,load:Cl,provide:wl}=V({fallbackImport:()=>import(`@runtypelabs/persona/turn-activity-ui`)});let Tl=null;const El=()=>Promise.all([Cl(),bl()]).then(([e,t])=>(Object.assign(t.turnUi,e),Tl=e)),Dl=()=>Tl;H();const{setLoader:Ol,load:kl,provide:Al,getSync:jl}=V({fallbackImport:()=>import(`@runtypelabs/persona/composer-actions-runtime`)}),Ml=kl,Nl=jl;H();const{setLoader:Pl,load:Fl,provide:Il,getSync:Ll}=V({fallbackImport:()=>import(`@runtypelabs/persona/loading-label-runtime`)}),Rl=Fl,zl=Ll;H();const{setLoader:Bl,load:Vl,getSync:Hl,provide:Ul}=V({fallbackImport:()=>import(`@runtypelabs/persona/dictation-runtime`)}),Wl=Vl,Gl=Hl;Kr(),Pn(),fa();function Kl(e){let{items:t,onSelect:n,anchor:r,position:i=`bottom-left`,portal:a,onOpenChange:o}=e,s=q(`div`,`persona-dropdown-menu persona-hidden`);s.setAttribute(`role`,`menu`),s.setAttribute(`data-persona-theme-zone`,`dropdown`),a?(s.style.position=`fixed`,s.style.zIndex=String(da)):(s.style.position=`absolute`,s.style.top=`100%`,s.style.marginTop=`4px`,i===`bottom-right`?s.style.right=`0`:s.style.left=`0`);for(let e of t){if(e.dividerBefore){let e=document.createElement(`hr`);s.appendChild(e)}let t=document.createElement(`button`);if(t.type=`button`,t.setAttribute(`role`,`menuitem`),t.setAttribute(`data-dropdown-item-id`,e.id),e.destructive&&t.setAttribute(`data-destructive`,``),e.icon){let n=G(e.icon,16,`currentColor`,1.5);n&&t.appendChild(n)}let r=document.createElement(`span`);r.textContent=e.label,t.appendChild(r),t.addEventListener(`click`,t=>{t.stopPropagation(),d(),n(e.id)}),s.appendChild(t)}let c=null;function l(){if(!a)return;let e=r.getBoundingClientRect();s.style.top=`${e.bottom+4}px`,i===`bottom-right`?(s.style.right=`${window.innerWidth-e.right}px`,s.style.left=`auto`):(s.style.left=`${e.left}px`,s.style.right=`auto`)}function u(){let e=s.classList.contains(`persona-hidden`);l(),s.classList.remove(`persona-hidden`),e&&o?.(!0),requestAnimationFrame(()=>{let e=e=>{!s.contains(e.target)&&!r.contains(e.target)&&d()};document.addEventListener(`click`,e,!0),c=()=>document.removeEventListener(`click`,e,!0)})}function d(){let e=!s.classList.contains(`persona-hidden`);s.classList.add(`persona-hidden`),c?.(),c=null,e&&o?.(!1)}function f(){s.classList.contains(`persona-hidden`)?u():d()}function p(){d(),s.remove()}return a&&a.appendChild(s),{element:s,show:u,hide:d,toggle:f,destroy:p}}Kr(),Pn();function ql(e){let{icon:t,label:n,size:r,strokeWidth:i,className:a,chromeless:o,onClick:s,aria:c}=e,l=q(`button`,Y(!o&&`persona-icon-btn`,a));l.type=`button`,l.setAttribute(`aria-label`,n),l.title=n;let u=G(t,r??16,`currentColor`,i??2);if(u&&l.appendChild(u),s&&l.addEventListener(`click`,s),c)for(let[e,t]of Object.entries(c))l.setAttribute(e,t);return l}function Jl(e){let{icon:t,label:n,variant:r=`default`,size:i=`sm`,iconSize:a,className:o,onClick:s,aria:c}=e,l=`persona-label-btn`;r!=="default"&&(l+=` persona-label-btn--`+r),l+=` persona-label-btn--`+i,o&&(l+=` `+o);let u=q(`button`,l);if(u.type=`button`,u.setAttribute(`aria-label`,n),t){let e=G(t,a??14,`currentColor`,2);e&&u.appendChild(e)}let d=q(`span`);if(d.textContent=n,u.appendChild(d),s&&u.addEventListener(`click`,s),c)for(let[e,t]of Object.entries(c))u.setAttribute(e,t);return u}function Yl(e){let{items:t,selectedId:n,onSelect:r,className:i}=e,a=q(`div`,`persona-toggle-group`+(i?` `+i:``));a.setAttribute(`role`,`group`);let o=n,s=[];function c(){for(let e of s)e.btn.setAttribute(`aria-pressed`,e.id===o?`true`:`false`)}for(let e of t){let t;e.icon?t=ql({icon:e.icon,label:e.label,className:e.className,onClick:()=>{o=e.id,c(),r(e.id)}}):(t=q(`button`,`persona-icon-btn`+(e.className?` `+e.className:``)),t.type=`button`,t.setAttribute(`aria-label`,e.label),t.title=e.label,t.textContent=e.label,t.addEventListener(`click`,()=>{o=e.id,c(),r(e.id)})),t.setAttribute(`aria-pressed`,e.id===o?`true`:`false`),s.push({id:e.id,btn:t}),a.appendChild(t)}function l(e){o=e,c()}return{element:a,setSelected:l}}function Xl(e){let{label:t,icon:n,iconSize:r,iconOnly:i,menuItems:a,onSelect:o,onPrimary:s,position:c=`bottom-left`,portal:l,chevronLabel:u=`More options`,chevronIconSize:d,className:f,primaryClassName:p,chevronClassName:m}=e,h=q(`div`,`persona-split-btn`+(f?` `+f:``)),g={label:t,className:`persona-split-btn-primary`+(p?` `+p:``),onClick:s},_=i&&n?ql({...g,icon:n,size:r??14}):Jl({...g,icon:n,iconSize:r??14}),v=ql({icon:`chevron-down`,label:u,size:d??14,className:`persona-split-btn-chevron`+(m?` `+m:``),aria:{"aria-haspopup":`true`,"aria-expanded":`false`}});h.append(_,v);let y=null,b=()=>{if(y)return y;let e=(typeof l==`function`?l():l)??void 0;return y=Kl({items:a,onSelect:o,anchor:h,position:c,portal:e,onOpenChange:e=>{v.setAttribute(`aria-expanded`,e?`true`:`false`)}}),e||h.appendChild(y.element),y};return h.isConnected?b():requestAnimationFrame(()=>{y||b()}),v.addEventListener(`click`,e=>{e.stopPropagation(),b().toggle()}),{element:h,primaryButton:_,chevronButton:v,openMenu:()=>b().show(),closeMenu:()=>y?.hide(),toggleMenu:()=>b().toggle(),destroy:()=>{y?.destroy(),h.remove()}}}function Zl(e){let{label:t,icon:n=`chevron-down`,menuItems:r,onSelect:i,position:a=`bottom-left`,portal:o,className:s,hover:c}=e,l=q(`div`,`persona-combo-btn`+(s?` `+s:``));l.style.position=`relative`,l.style.display=`inline-flex`,l.style.alignItems=`center`,l.style.cursor=`pointer`,l.setAttribute(`role`,`button`),l.setAttribute(`tabindex`,`0`),l.setAttribute(`aria-haspopup`,`true`),l.setAttribute(`aria-expanded`,`false`),l.setAttribute(`aria-label`,t);let u=q(`span`,`persona-combo-btn-label`);u.textContent=t,l.appendChild(u);let d=G(n,14,`currentColor`,2);d&&(d.style.marginLeft=`4px`,d.style.opacity=`0.6`,l.appendChild(d)),c&&(l.style.borderRadius=c.borderRadius??`10px`,l.style.padding=c.padding??`6px 4px 6px 12px`,l.style.border=`1px solid transparent`,l.style.transition=`background-color 0.15s ease, border-color 0.15s ease`,l.addEventListener(`mouseenter`,()=>{l.style.backgroundColor=c.background??``,l.style.borderColor=c.border??``}),l.addEventListener(`mouseleave`,()=>{l.style.backgroundColor=``,l.style.borderColor=`transparent`}));let f=Kl({items:r,onSelect:e=>{l.setAttribute(`aria-expanded`,`false`),i(e)},anchor:l,position:a,portal:o});o||l.appendChild(f.element);let p=()=>l.getAttribute(`data-persona-menu-locked`)===`true`;return l.addEventListener(`click`,e=>{if(e.stopPropagation(),p())return;let t=!f.element.classList.contains(`persona-hidden`);l.setAttribute(`aria-expanded`,t?`false`:`true`),f.toggle()}),l.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),l.click())}),{element:l,setLabel:e=>{u.textContent=e,l.setAttribute(`aria-label`,e)},open:()=>{l.setAttribute(`aria-expanded`,`true`),f.show()},close:()=>{l.setAttribute(`aria-expanded`,`false`),f.hide()},toggle:()=>{let e=!f.element.classList.contains(`persona-hidden`);l.setAttribute(`aria-expanded`,e?`false`:`true`),f.toggle()},destroy:()=>{f.destroy(),l.remove()}}}const Ql=new class{#e=/* @__PURE__ */ new Map;#t=/* @__PURE__ */ new Map;register(e,t,n){this.#e.has(e)&&console.warn(`[ComponentRegistry] Component "${e}" is already registered. Overwriting.`),this.#e.set(e,t),n?this.#t.set(e,n):this.#t.delete(e)}unregister(e){this.#e.delete(e),this.#t.delete(e)}get(e){return this.#e.get(e)}has(e){return this.#e.has(e)}getOptions(e){return this.#t.get(e)}getAllNames(){return Array.from(this.#e.keys())}clear(){this.#e.clear(),this.#t.clear()}registerAll(e){Object.entries(e).forEach(([e,t])=>{this.register(e,t)})}};function $l(e,t){return e.components&&Object.prototype.hasOwnProperty.call(e.components,t)?e.components[t]:Ql.get(t)}function eu(e,t){return e.components&&Object.prototype.hasOwnProperty.call(e.components,t)?void 0:Ql.getOptions(t)}H(),Sn();const tu=[`PersonaArtifactCard`,`PersonaArtifactInline`],{setLoader:nu,load:ru,provide:iu,getSync:au}=V({fallbackImport:()=>import(`@runtypelabs/persona/artifacts-ui`)});let ou=null;const su=/* @__PURE__ */ new Set,cu=e=>{if(ou)return ou;ou=e,e.initArtifactsUi({componentRegistry:Ql,loadingLabels:zl(),buttons:{createIconButton:ql,createLabelButton:Jl,createSplitButton:Xl,createToggleGroup:Yl}});for(let t of tu)Ql.has(t)||Ql.register(t,t===`PersonaArtifactCard`?e.PersonaArtifactCard:e.PersonaArtifactInline,{bubbleChrome:!1});let t=mn();t?e.__provideMarkdownParsers(t):fn(()=>{let t=mn();t&&e.__provideMarkdownParsers(t)}),e.__setIconsExtraLoader!==bn&&e.__setIconsExtraLoader(xn);let n=[...su];su.clear();for(let e of n)try{e()}catch{}return e},lu=()=>Promise.all([ru(),Rl()]).then(([e])=>cu(e)),uu=()=>{if(ou)return ou;if(!zl())return null;let e=au();return e?cu(e):null},du=e=>ou?()=>{}:(su.add(e),()=>{su.delete(e)});H();const{setLoader:fu,load:pu,getSync:mu}=V({fallbackImport:()=>import(`@runtypelabs/persona/voice-runtime`)}),hu=pu,gu=mu;function _u(e,t){let n=e.voiceRecognition,r=t.voiceRecognition;return n?.enabled===!0!=(r?.enabled===!0)||n?.provider?.type!==r?.provider?.type||n?.provider?.custom!==r?.provider?.custom||xu(e)!==xu(t)||n?.provider?.runtype?.createPlaybackEngine!==r?.provider?.runtype?.createPlaybackEngine||JSON.stringify(n?.provider?.runtype)!==JSON.stringify(r?.provider?.runtype)||e.agentId!==t.agentId||e.clientToken!==t.clientToken||e.apiUrl!==t.apiUrl}function vu(e){return e?.type===`runtype`||e?.type===`custom`}const yu=()=>typeof window<`u`&&(`SpeechRecognition`in window||`webkitSpeechRecognition`in window);function bu(e){try{if(e?.type===`custom`&&e.custom){let t=e.custom,n=typeof t==`function`?t():t;return!!n&&typeof n.startListening==`function`}return e?.type===`runtype`&&e.runtype?!0:yu()}catch{return!1}}function xu(e){let t=e.voiceRecognition;return vu(t?.provider)&&(t?.provider?.type!==`custom`||!!t.dictation?.provider||!t.dictation&&t.completionBehavior!==`review`)}Pn();const Su=e=>{let t=[],n=(e,n,r)=>{e&&!n&&t.push(r())};n(!0,Nl(),Ml),n(!0,mn(),dn);let r=e.turnActivity?.enabled===!0;n(r,Dl(),El);let i=r||e.features?.showToolCalls!==!1||e.features?.showReasoning!==!1;n(i,xl(),bl),n(i||e.loadingLabel?.animation!==`none`&&(!!e.loadingLabel?.animate||(e.loadingIndicator?.variant??(e.future?.v5Defaults?`label`:`dots`))===`label`),zl(),Rl),n(e.voiceRecognition?.enabled!==!1,Gl(),Wl),n(e.voiceRecognition?.enabled!==!1&&xu(e),gu(),hu),n(e.features?.artifacts?.enabled===!0,uu(),lu),n(e.contextMentions?.enabled===!0,Hc(),Bc);let a=jn();return a&&t.push(a),t};function Cu(e=!0){let t=e;return{isFollowing:()=>t,pause:()=>t?(t=!1,!0):!1,resume:()=>!t&&(t=!0,!0)}}function wu(e){return Math.max(0,e.scrollHeight-e.clientHeight)}function Tu(e,t){return wu(e)-e.scrollTop<=t}function Eu(e){let{following:t,currentScrollTop:n,lastScrollTop:r,nearBottom:i,userScrollThreshold:a,isAutoScrolling:o=!1,pauseOnUpwardScroll:s=!1,pauseWhenAwayFromBottom:c=!0,resumeRequiresDownwardScroll:l=!1}=e,u=n-r;return o||Math.abs(u)<a?{action:`none`,delta:u,nextLastScrollTop:n}:!t&&i&&(!l||u>0)?{action:`resume`,delta:u,nextLastScrollTop:n}:t&&s&&u<0||t&&c&&!i?{action:`pause`,delta:u,nextLastScrollTop:n}:{action:`none`,delta:u,nextLastScrollTop:n}}function Du(e){let{following:t,deltaY:n,nearBottom:r=!1,resumeWhenNearBottom:i=!1}=e;return t&&n<0?`pause`:!t&&i&&n>0&&r?`resume`:`none`}function Ou(e,t){return!e||e.isCollapsed?!1:t.contains(e.anchorNode)||t.contains(e.focusNode)}function ku(e){let t=Math.max(0,e.anchorOffsetTop-e.topOffset);return{targetScrollTop:t,spacerHeight:Math.max(0,t+e.viewportHeight-e.contentHeight+(e.slack??0))}}function Au(e){let t=Math.max(0,e.currentContentHeight-e.contentHeightAtAnchor);return Math.max(0,e.initialSpacerHeight-t)}function ju(){let e=null,t=()=>{e!==null&&cancelAnimationFrame(e),e=null};return{get active(){return e!==null},cancel:t,start(n,r,i,a,o,s=()=>!0){t();let c=n.scrollTop,l=performance.now();if(Math.abs(r()-c)<1){n.scrollTop=r(),a(),o();return}let u=d=>{if(!s()){t(),o();return}let f=Math.min(Math.max(0,(d-l)/i),1);n.scrollTop=c+(r()-c)*(1-(1-f)**3),a(),f<1?e=requestAnimationFrame(u):(e=null,o())};e=requestAnimationFrame(u)}}}function Mu(e,t,n,r,i){let a=ju(),o=!1,s,c=!1,l=e=>{e&&(c=!1),a.active&&(a.cancel(),s=e,c=!!e,i())},u=e=>{[`PageUp`,`PageDown`,`Home`,`End`,`ArrowUp`,`ArrowDown`,` `].includes(e.key)&&l(e)},d=e=>{e.deltaY!==0&&l(e)};return e.addEventListener(`wheel`,d,{passive:!0}),e.addEventListener(`touchstart`,l,{passive:!0}),e.addEventListener(`pointerdown`,l,{passive:!0}),t.addEventListener(`keydown`,u),{get active(){return a.active},cancel:l,get interrupted(){return c},interruptedBy:e=>s===e,start(t){if(o)return;a.cancel(),c=!1,s=void 0;let i=(t.features?.scrollToBottom?.scrollBehavior??(t.future?.v5Defaults?`smooth`:`instant`))===`smooth`,l=t.features?.scrollToBottom?.scrollDurationMs??220,u=Number.isFinite(l)&&l>=0?l:220,d=typeof matchMedia==`function`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches;!i||d||u===0?(e.scrollTop=wu(e),n(),r()):a.start(e,()=>wu(e),u,n,r)},destroy(){o=!0,a.cancel(),e.removeEventListener(`wheel`,d),e.removeEventListener(`touchstart`,l),e.removeEventListener(`pointerdown`,l),t.removeEventListener(`keydown`,u)}}}Kr();function Nu(e,t,n){let r=q(`button`,`persona-scroll-to-bottom-indicator persona-absolute persona-bottom-3 persona-left-1/2 persona-z-10 persona-text-xs persona-transform persona--translate-x-1/2 persona-cursor-pointer`);r.type=`button`,r.setAttribute(`data-persona-scroll-to-bottom-visible`,`false`),r.disabled=!0,r.tabIndex=-1,r.setAttribute(`aria-hidden`,`true`),r.setAttribute(`data-persona-scroll-to-bottom`,`true`);let i=q(`span`,`persona-flex persona-items-center persona-justify-center`);i.setAttribute(`aria-hidden`,`true`);let a=q(`span`,``),o=q(`span`,``);o.setAttribute(`data-persona-scroll-to-bottom-count`,``),r.append(i,a,o);let s={},c={activity:`idle`,visible:!1,hovered:!1,focused:!1,reducedMotion:!1},l,u,d,f=``,p=typeof matchMedia==`function`?matchMedia(`(prefers-reduced-motion: reduce)`):void 0,m=[],h=()=>{let e=getComputedStyle(r);return{width:`${r.offsetWidth}px`,backgroundColor:e.backgroundColor,borderColor:e.borderColor,color:e.color}},g=e=>{let t=getComputedStyle(r),n=t.getPropertyValue(`--persona-motion-duration-base`),i=parseFloat(n)*(n.includes(`ms`)?1:1e3);if(i===0)return;let o={duration:i>0?i:200,easing:t.getPropertyValue(`--persona-motion-easing`).trim()||`ease-out`},s=a.style.display===`none`?null:{overflow:`hidden`};m=[r.animate([{...e,...s},{...h(),...s}],o)],s&&m.push(a.animate([{opacity:0},{opacity:1}],o))};c.reducedMotion=p?.matches??!1;let _=e=>console.warn(`Persona scroll icon failed`,e),v=()=>({config:s,state:{...c},view:t,signal:d.signal}),y=()=>{d?.abort();try{u?.destroy?.()}catch(e){_(e)}u=void 0,d=void 0,i.innerHTML=``,f=``},b=()=>{if(u?.element)return;let t=s.features?.scrollToBottom,n=c.activity===`generating-below`&&(t?.streamingIndicator??(s.future?.v5Defaults?`dots`:`arrow`))===`dots`,r=c.activity===`approval-below`?`shield-check`:t?.iconName??`arrow-down`,a=n?`dots`:`arrow:${r}`;if(f!==a){if(f=a,i.innerHTML=``,n){let e=q(`span`,`persona-scroll-to-bottom-dots`);for(let t=0;t<3;t++){let n=q(`span`,``);n.style.animationDelay=`${t*150}ms`,e.appendChild(n)}i.appendChild(e)}else{let t=e(r,`14px`,`currentColor`,2);t&&i.appendChild(t)}}},x=e=>{let t=s.features?.scrollToBottom?.enabled===!1?void 0:s.features?.scrollToBottom?.renderIcon;if(t!==l){if(y(),l=t,l){d=new AbortController;try{let e=l(v());u=e&&`element`in e?e:e?{element:e}:void 0,u?.element&&i.appendChild(u.element)}catch(e){_(e),y()}}}else if(e&&u?.update)try{u.update(v())}catch(e){_(e),y()}b()},S=e=>Object.keys(e).some(t=>e[t]!==c[t]),C=e=>{let t=S(e);c=e,x(t)},ee=()=>C({...c,hovered:!0}),w=()=>C({...c,hovered:!1}),te=()=>C({...c,focused:!0}),T=()=>C({...c,focused:!1}),E=()=>C({...c,reducedMotion:p?.matches??!1}),ne=new AbortController;for(let[e,t]of[[`mouseenter`,ee],[`mouseleave`,w],[`focus`,te],[`blur`,T]])r.addEventListener(e,t,{signal:ne.signal});return p?.addEventListener?.(`change`,E),{element:r,update(e,t,i=!1,l=0,u=!1){let d=s.features?.scrollToBottom,f=e.features?.scrollToBottom,p=s.future?.v5Defaults!==e.future?.v5Defaults||[`enabled`,`iconName`,`label`,`approvalLabel`,`streamingIndicator`,`transition`,`scrollBehavior`,`scrollDurationMs`].some(e=>d?.[e]!==f?.[e]);s=e;let _=s.features?.scrollToBottom;t&&=_?.enabled!==!1;let v=r.getRootNode().activeElement===r;r.setAttribute(`data-persona-scroll-to-bottom-visible`,String(t));let y=_?.enabled===!1?`none`:_?.transition??(s.future?.v5Defaults?`fade`:`none`);r.setAttribute(`data-persona-scroll-to-bottom-transition`,y),i&&t?r.setAttribute(`data-persona-scroll-to-bottom-streaming`,``):r.removeAttribute(`data-persona-scroll-to-bottom-streaming`),r.style.display=!t&&y===`none`?`none`:``,r.disabled=!t,r.tabIndex=t?0:-1,r.setAttribute(`aria-hidden`,String(!t)),!t&&v&&(r.blur(),n&&(n.hasAttribute(`tabindex`)||(n.tabIndex=-1),n.focus({preventScroll:!0})));let b=u&&t,C=c.visible&&t&&c.activity===`approval-below`!==b;(C||!t)&&m.forEach(e=>e.cancel());let ee=C&&!c.reducedMotion&&typeof r.animate==`function`?h():null,w=_?.approvalLabel??`Approval needed`,te=b&&w?w:_?.label??``,T=_?.label||`Jump to latest`;r.setAttribute(`aria-label`,b?`${w||`Approval needed`} below. ${T}`:`${T}${l>0?` (${l} new)`:``}${i&&t?` (response streaming below)`:``}`),r.title=te,r.setAttribute(`data-persona-scroll-to-bottom-has-label`,String(!!te)),b?r.setAttribute(`data-persona-scroll-to-bottom-approval`,``):r.removeAttribute(`data-persona-scroll-to-bottom-approval`),a.textContent=te,a.style.display=te?``:`none`;let E=b?0:l;o.textContent=E>0?String(E):``,o.style.display=E>0?``:`none`;let ne=b?`approval-below`:i&&t?`generating-below`:`idle`,re={...c,visible:t,hovered:t&&c.hovered,focused:t&&c.focused,activity:ne},D=p||S(re);c=re,x(D),ee&&g(ee)},destroy(){m.forEach(e=>e.cancel()),y(),ne.abort(),p?.removeEventListener?.(`change`,E),r.remove()}}}function Pu(e){let t=/* @__PURE__ */ new Map,n=(t,n)=>({slot:t,signal:n.abort.signal,config:e.config(),defaultContent:()=>e.defaultContent(t)}),r=(n,r)=>{t.delete(n),r.abort.abort();try{r.result.destroy?.()}catch(e){console.error(`[AgentWidget] Error destroying slot "${n}":`,e)}e.remove(n,r.result.element)};return{update(){let i=e.config().layout?.slots??{};for(let[e,n]of t)i[e]!==n.renderer&&r(e,n);for(let[a,o]of Object.entries(i)){if(!o)continue;let i=t.get(a);try{if(!i){i={renderer:o,abort:new AbortController,result:{element:null}},t.set(a,i);let e=o(n(a,i));i.result=e===null||`nodeType`in e?{element:e}:e}else if(i.result.update){let t=i.result.update(n(a,i));t!==void 0&&t!==i.result.element&&(e.remove(a,i.result.element),i.result.element=t)}i.result.element&&e.mount(a,i.result.element)}catch(e){i&&r(a,i),console.error(`[AgentWidget] Error rendering slot "${a}":`,e)}}},remount(){for(let[n,r]of t)r.result.element&&e.mount(n,r.result.element)},detach(n){for(let r of n){let n=t.get(r);n&&e.remove(r,n.result.element)}},destroy(){for(let[e,n]of t)r(e,n)}}}Kn();function Fu(e){return e.toolType===`webmcp`&&!e.executionId}function Iu(e){let t=e.approval,n=t?.status===`pending`&&Fu(t),r=!1,i=t=>!t.name||!Wn(t.name)||(r=!0,!(t.status!==`complete`||e.agentMetadata?.awaitingLocalTool===!0&&t.result===void 0&&t.success===void 0))?t:{...t,status:`complete`,interrupted:!0,success:!1,error:`The chat restarted and this browser tool was interrupted. Request a fresh proposal to try again.`,approvalStatus:t.approvalStatus===`pending`?`timeout`:t.approvalStatus,startedAt:t.completedAt===void 0?void 0:t.startedAt},a=e.toolCall?i(e.toolCall):void 0,o=e.tools?.map(i);return{...e,streaming:r||n?!1:e.streaming,...n?{approval:{...t,status:`timeout`,interrupted:!0}}:{},...a?{toolCall:a}:{},...o?{tools:o}:{},...r&&e.agentMetadata?.awaitingLocalTool?{agentMetadata:{...e.agentMetadata,awaitingLocalTool:!1}}:{}}}Yt();const Lu=(e,t)=>t?(mn()?.stabilizeStreamingMarkdown??Jt)(e):e,Ru=e=>{if(!e)return;let t={},n=e;if(n.heading){let e=n.heading;t.heading=(t,n,r)=>e({type:`heading`,raw:r,depth:n,text:t,tokens:[]})}if(n.code){let e=n.code;t.code=(t,n,r)=>e({type:`code`,raw:``,text:t,lang:n,escaped:r})}if(n.blockquote){let e=n.blockquote;t.blockquote=t=>e({type:`blockquote`,raw:``,text:t,tokens:[]})}if(n.table){let e=n.table;t.table=(t,n)=>e({type:`table`,raw:``,header:[],rows:[],align:[],headerHtml:t,bodyHtml:n})}if(n.link){let e=n.link;t.link=(t,n,r)=>e({type:`link`,raw:``,href:t,title:n??null,text:r,tokens:[]})}if(n.image){let e=n.image;t.image=(t,n,r)=>e({type:`image`,raw:``,href:t,title:n??null,text:r})}if(n.list){let e=n.list;t.list=(t,n,r)=>e({type:`list`,raw:``,ordered:n,start:r,loose:!1,items:[],itemsHtml:t})}if(n.listitem){let e=n.listitem;t.listitem=(t,n,r)=>e({type:`list_item`,raw:``,task:n,checked:r,loose:!1,text:t,tokens:[]})}if(n.paragraph){let e=n.paragraph;t.paragraph=t=>e({type:`paragraph`,raw:``,text:t,tokens:[]})}if(n.codespan){let e=n.codespan;t.codespan=t=>e({type:`codespan`,raw:``,text:t})}if(n.strong){let e=n.strong;t.strong=t=>e({type:`strong`,raw:``,text:t,tokens:[]})}if(n.em){let e=n.em;t.em=t=>e({type:`em`,raw:``,text:t,tokens:[]})}if(n.del){let e=n.del;t.del=t=>e({type:`del`,raw:``,text:t,tokens:[]})}if(n.html){let e=n.html;t.html=t=>e({type:`html`,raw:t,text:t})}if(n.text){let e=n.text;t.text=t=>e({type:`text`,raw:t,text:t})}if(n.checkbox){let e=n.checkbox;t.checkbox=t=>e({checked:t})}return n.hr&&(t.hr=n.hr),n.br&&(t.br=n.br),t},zu=e=>{let t=null;return n=>{let r=mn();if(!r)return Uu(n);if(!t){let{Marked:n}=r,i=e?.markedOptions;t=new n({gfm:i?.gfm??!0,breaks:i?.breaks??!0,pedantic:i?.pedantic,silent:i?.silent});let a=Ru(e?.renderer);a&&t.use({renderer:a})}return t.parse(n)}},Bu=e=>e?zu({markedOptions:e.options,renderer:e.renderer}):zu(),Vu=zu(),Hu=e=>Vu(e),Uu=e=>e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`),Wu=e=>e.replace(/"/g,`&quot;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`),Gu=e=>`%%FORM_PLACEHOLDER_${e}%%`,Ku=(e,t)=>{let n=e;return n=n.replace(/<Directive>([\s\S]*?)<\/Directive>/gi,(e,n)=>{try{let e=JSON.parse(n.trim());if(e&&typeof e==`object`&&e.component===`form`&&e.type){let n=Gu(t.length);return t.push({token:n,type:String(e.type)}),n}}catch{return e}return e}),n=n.replace(/<Form\s+type="([^"]+)"\s*\/>/gi,(e,n)=>{let r=Gu(t.length);return t.push({token:r,type:n}),r}),n},qu=e=>{let t=Bu(e);return e=>{let n=[],r=Ku(e,n),i=t(r);return n.forEach(({token:e,type:t})=>{let n=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),`g`),r=`<div class="persona-form-directive" data-tv-form="${Wu(t)}"></div>`;i=i.replace(n,r)}),i}},Ju=e=>{let t=[],n=Ku(e,t),r=Hu(n);return t.forEach(({token:e,type:t})=>{let n=new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),`g`),i=`<div class="persona-form-directive" data-tv-form="${Wu(t)}"></div>`;r=r.replace(n,i)}),r},Yu={ALLOWED_TAGS:/* @__PURE__ */ `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`.split(`.`),ALLOWED_ATTR:/* @__PURE__ */ `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`.split(`.`)},Xu=/^data:image\/(?:png|jpe?g|gif|webp|bmp|x-icon|avif)/i,Zu=()=>{let e=null;return t=>{let n=mn();if(!n)return Uu(t);if(!e){let{DOMPurify:t}=n;e=t(typeof window<`u`?window:void 0),e.addHook(`uponSanitizeAttribute`,(e,t)=>{if(t.attrName===`src`||t.attrName===`href`){let e=t.attrValue;e.toLowerCase().startsWith(`data:`)&&!Xu.test(e)&&(t.attrValue=``,t.keepAttr=!1)}})}return e.sanitize(t,Yu)}},Qu=e=>e===!1?null:typeof e==`function`?e:Zu(),$u=`var(--persona-md-table-scroll-fade, 24px)`,ed=/* @__PURE__ */ new WeakSet;function td(e){e.querySelectorAll(`table`).forEach(e=>{if(e.parentElement?.classList.contains(`persona-table-scroll`))return;let t=document.createElement(`div`);t.className=`persona-table-scroll`,e.replaceWith(t),t.appendChild(e)})}function nd(e){let t=e.scrollWidth-e.clientWidth;if(t<=1){e.removeAttribute(`data-persona-scroll-x`);return}e.setAttribute(`data-persona-scroll-x`,``);let n=getComputedStyle(e).direction===`rtl`?t+e.scrollLeft:e.scrollLeft,r=t-n;e.style.setProperty(`--persona-fade-l`,n<=1?`0px`:$u),e.style.setProperty(`--persona-fade-r`,r<=1?`0px`:$u)}function rd(e){ed.has(e)||(ed.add(e),e.addEventListener(`scroll`,e=>{let t=e.target;t?.classList?.contains(`persona-table-scroll`)&&nd(t)},!0)),e.querySelectorAll(`.persona-table-scroll`).forEach(nd)}var id,ad,od,sd,cd=B((()=>{id=e=>e.replace(/[^a-zA-Z0-9_]/g,`_`).toLowerCase().replace(/_+/g,`_`).replace(/^_|_$/g,``),ad=e=>typeof e==`object`&&!!e&&!Array.isArray(e),od=e=>{if(e.variant!==`tool`)return null;let t=e.agentMetadata?.clientToolAnswer;if(!t||!t.toolCallId||t.result===void 0)return null;let n=id(t.toolName);return n?{call:{toolCallId:t.toolCallId,toolName:n,args:ad(t.args)?t.args:{}},result:{toolCallId:t.toolCallId,toolName:n,result:t.result}}:null},sd=(e,t)=>{let n=[],r=[],i=[],a=``,o,s=()=>{r.length!==0&&(n.push({role:`assistant`,content:``,createdAt:a,toolCalls:r},{role:`tool`,content:``,createdAt:a,toolResults:i}),r=[],i=[])};for(let c of e){let e=od(c);if(e){let t=c.agentMetadata?.clientToolAnswer?.batch;r.length>0&&(t===void 0||t!==o)&&s(),r.length===0&&(a=c.createdAt,o=t),r.some(t=>t.toolCallId===e.call.toolCallId)||(r.push(e.call),i.push(e.result));continue}let l=t(c);l&&(s(),n.push(l))}return s(),n}}));function ld(e,t=e.contentParts??e.llmContent??e.rawContent??e.content){let n=e.content;if(typeof n!=`string`)return;let r=e.contentParts??e.llmContent??e.rawContent??n;if(n===``&&(t===r||JSON.stringify(t)===JSON.stringify(r)))return;let i=t;if(typeof i!=`string`||i!==n)return n}function ud(e,t){let n=/* @__PURE__ */ new Map;for(let t of e)n.set(t.id,t);for(let e of t)n.set(e.id,e);return[...n.values()].sort((e,t)=>{let n=new Date(e.createdAt).getTime(),r=new Date(t.createdAt).getTime();if(!Number.isNaN(n)&&!Number.isNaN(r)&&n!==r)return n-r;let i=e.sequence??0,a=t.sequence??0;return i===a?e.id.localeCompare(t.id):i-a})}var dd=B((()=>{Ks()})),fd,pd=B((()=>{fd=e=>e.localOnly===!0||e.role===`assistant`&&typeof e.id==`string`&&e.id.startsWith(`reconnect-failed-`)})),md=/* @__PURE__ */ Vt({ClientDispatch:()=>bd}),hd,gd,_d,vd,yd,bd,xd,Sd=B((()=>{Kn(),cd(),dd(),pd(),Na(),hd=e=>e.voiceCaption||fd(e)?!1:!!(e.contentParts&&e.contentParts.length>0||e.llmContent&&e.llmContent.trim().length>0||e.rawContent&&e.rawContent.trim().length>0||e.content&&e.content.trim().length>0),gd=e=>typeof e==`string`?!0:Array.isArray(e)?e.every(e=>{if(!e||typeof e!=`object`)return!1;switch(e.type){case`text`:return typeof e.text==`string`;case`image`:return typeof e.image==`string`;case`audio`:return typeof e.audio==`string`;case`video`:return typeof e.video==`string`;case`file`:return typeof e.data==`string`&&typeof e.mimeType==`string`&&typeof e.filename==`string`;default:return!1}}):!1,_d=e=>e.slice().sort((e,t)=>new Date(e.createdAt).getTime()-new Date(t.createdAt).getTime()),vd=e=>{let t=e.agentMetadata?.providerPhase??e.agentMetadata?.phase;return e.role===`assistant`&&(t===`commentary`||t===`partial_answer`||t===`final_answer`)?{phase:t}:{}},yd=e=>({role:e.role,content:e.contentParts??e.llmContent??e.rawContent??e.content,createdAt:e.createdAt,...vd(e)}),bd=class{constructor(e){this.host=e}async initializeSession(){await this.host.historyInternals.historyBootstrapReady;let e=this.host.config.getStoredConversationId?.()||null,t=this.host.historyInternals.shouldResumeDurableConversation?.()===!0;if(!this.host.isHistoryCapable()&&!t)return this.#e(e,!1);let n=await this.host.readVisitorToken();if(e&&n)try{let n=await this.createClientSession({conversationId:e,durableResume:t});return t&&n.durableRecovery?.enabled!==!0&&this.host.historyInternals.setStoredResumableHandle?.(null),this.host.finishInit(n,e,!1)}catch(n){if(!(n instanceof this.host.HistoryClientError&&n.code===`not_found`)&&!(n instanceof this.host.HistoryClientError&&n.code===`visitor_required`)&&!(n instanceof this.host.HistoryClientError&&n.code===`history_disabled`))throw n;return t&&this.host.historyInternals.setStoredResumableHandle?.(null),this.#e(e,!0)}return this.#e(e,!1)}async#e(e,t){let n=this.host.historyInternals.visitorStore;return n&&!await this.host.readVisitorToken()?n.withFirstInitLock(()=>this.#t(e,t)):this.#t(e,t)}async#t(e,t){let n=this.host.config.getStoredSessionId?.()||null,r=await this.createClientSession({storedSessionId:n}),i=await this.#n(r);return this.host.finishInit(i,e,t)}async#n(e){if(!e.visitor?.token||this.host.claimInFlight||!this.host.isHistoryCapable()&&e.durableRecovery?.enabled!==!0)return e;this.host.claimInFlight=!0;try{return await this.createClientSession({storedSessionId:e.sessionId})}catch{return e}finally{this.host.claimInFlight=!1}}async sendWithClientToolsDiff(e,t,n,r){let i=!!(t&&t.length>0),a=i?Fn(t):void 0,o=this.host.clientToolsFingerprintSessionId===e,s=i&&o&&this.host.lastSentClientToolsFingerprint===a,c=!i&&r?.emptyMeansReplace===!0&&this.host.sentNonEmptyClientToolsSessionId===e,l=!1,u;for(let e=0;u=await n({...i&&(l||!s)&&t?{clientTools:t}:{},...c?{clientTools:[]}:{},...a?{clientToolsFingerprint:a}:{}}),u.status===409&&e===0&&i&&(await u.clone().json().catch(()=>null))?.error===`client_tools_resend_required`;e++)l=!0,this.host.lastSentClientToolsFingerprint=null;return{response:u,commit:()=>{this.host.lastSentClientToolsFingerprint=a??null,this.host.clientToolsFingerprintSessionId=e,i?this.host.sentNonEmptyClientToolsSessionId=e:c&&(this.host.sentNonEmptyClientToolsSessionId=null)}}}async createClientSession(e){let t=this.host.isHistoryCapable()&&!e.omitVisitorFields,n=!e.omitVisitorFields,r=null;(t||n)&&(await this.host.historyInternals.historyBootstrapReady,r=await this.host.readVisitorToken());let i=this.host.routing(),a=i.agentId??i.flowId,o=t||e.durableResume?e.conversationId:void 0,s={token:this.host.config.clientToken,...a&&{flowId:a},...t&&{visitorHistory:!0},...n&&{durableRecovery:!0},...(t||n)&&r?{visitorToken:r}:{},...t&&e.identityProof?{identityProof:e.identityProof}:{},...o?{conversationId:o}:e.storedSessionId?{sessionId:e.storedSessionId}:{}};e.signal?.throwIfAborted();let c=await fetch(this.host.getClientApiUrl(`init`),{method:`POST`,headers:{"Content-Type":`application/json`,"X-Persona-Version":Ma},body:JSON.stringify(s),signal:e.signal});if(!c.ok){let n=await c.json().catch(()=>({error:`Session initialization failed`}));if(t&&c.status===403&&n.error===`visitor_history_disabled`){if(this.host.markHistoryUnavailable(),o)throw new this.host.HistoryClientError(`history_disabled`,`Visitor history is disabled for this surface`);return this.createClientSession({...e,omitVisitorFields:!0})}throw c.status===403&&n.error===`durable_recovery_disabled`?new this.host.HistoryClientError(`history_disabled`,`Durable recovery is disabled for this surface`):(t||e.durableResume)&&c.status===401&&n.error===`visitor_required`?new this.host.HistoryClientError(`visitor_required`,`Visitor credential no longer resolves`):o&&c.status===404?new this.host.HistoryClientError(`not_found`,`Conversation not found`):c.status===401?Error(`Invalid client token: ${n.hint||n.error}`):c.status===403?Error(`Origin not allowed: ${n.hint||n.error}`):Error(n.error||`Failed to initialize session`)}let l=await c.json();return l.visitor?.token&&await this.host.historyInternals.visitorStore?.set(l.visitor.token),{sessionId:l.sessionId,expiresAt:new Date(l.expiresAt),flow:l.flow,...l.conversationId?{conversationId:l.conversationId}:{},...l.targetId?{targetId:l.targetId}:{},...l.conversationRevision?{conversationRevision:l.conversationRevision}:{},...l.durableRecovery?{durableRecovery:l.durableRecovery}:{},...l.visitor?{visitor:l.visitor}:{},config:{welcomeMessage:l.config.welcomeMessage,placeholder:l.config.placeholder,theme:l.config.theme,...xd(l.config)}}}async sendFeedback(e){if([`upvote`,`downvote`,`copy`].includes(e.type)&&!e.messageId)throw Error(`messageId is required for ${e.type} feedback type`);if(e.type===`csat`&&(e.rating===void 0||e.rating<1||e.rating>5))throw Error(`CSAT rating must be between 1 and 5`);if(e.type===`nps`&&(e.rating===void 0||e.rating<0||e.rating>10))throw Error(`NPS rating must be between 0 and 10`);this.host.debug&&console.debug(`[AgentWidgetClient] sending feedback`,e);let t={...e,...this.host.config.clientToken&&{token:this.host.config.clientToken}},n=await fetch(`${this.host.clientApiBase()}/v1/client/feedback`,{method:`POST`,headers:{"Content-Type":`application/json`,"X-Persona-Version":Ma},body:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({error:`Feedback submission failed`}));throw n.status===401?(this.host.clientSession=null,this.host.resetSessionWarmLatch(),this.host.config.onSessionExpired?.(),Error(`Session expired. Please refresh to continue.`)):Error(e.error||`Failed to submit feedback`)}}async dispatchClientToken(e,t,n){let{HistoryClientError:r}=this.host,i=()=>this.host.isCurrentTurn(n),a=e=>{i()&&t(e)};try{let t=()=>{if(e.signal?.throwIfAborted(),!i())throw new DOMException(`Turn superseded`,`AbortError`)},o=this.host.clientSession??await this.host.initSession();t();let s=async()=>{t();let n=o,r=n.durableRecovery?.enabled===!0;if(r&&(!n.conversationId||!await this.host.readVisitorToken()))throw Error(`Renewing this conversation requires its visitor credential.`);t();let i=await this.host.createClientSession({...r||this.host.isHistoryCapable()?{conversationId:n.conversationId,durableResume:r}:{storedSessionId:n.sessionId},signal:e.signal});if(t(),n.conversationId&&i.conversationId!==n.conversationId||r&&i.durableRecovery?.enabled!==!0)throw Error(`Session renewal did not preserve this conversation.`);o=this.host.finishInit(i,n.conversationId??null,!1),this.host.clientSession=o,this.host.resetSessionWarmLatch(),this.host.resetClientToolsFingerprint(),this.host.config.onSessionInit?.(o)};Date.now()>=o.expiresAt.getTime()-6e4&&await s();let c=new Map(_d(e.messages).map(e=>[e,this.#s(e)])),l=await this.#l(e.messages,void 0,c),u=l.metadata?Object.fromEntries(Object.entries(l.metadata).filter(([e])=>e!==`sessionId`&&e!==`session_id`)):void 0,d=this.host.isHistoryCapable(),f={sessionId:o.sessionId,messages:_d(e.messages).flatMap(e=>{let t=c.get(e);if(!t)return[];let n=d?ld(e,t.content):void 0;return[{id:e.id,role:t.role,content:t.content,...n!==void 0&&{displayContent:n}}]}),...e.assistantMessageId&&{assistantMessageId:e.assistantMessageId},...u&&Object.keys(u).length>0&&{metadata:u},...l.inputs&&Object.keys(l.inputs).length>0&&{inputs:l.inputs},...l.context&&{context:l.context},turnId:n,...e.interrupt&&{submitMode:`interrupt`},...e.voiceSpoken&&{voice:{spoken:!0,...e.voicePriorToolResults?.length&&{priorToolResults:e.voicePriorToolResults}}}},p=async()=>{t();let n=o.durableRecovery?.enabled===!0?await this.host.readVisitorToken():null;return t(),this.host.sendWithClientToolsDiff(o.sessionId,l.clientTools,async r=>{t();let i=await this.host.resolveChatIdentityProof(e.signal);t();let a={...f,sessionId:o.sessionId,...r,...i&&{identityProof:i}};return this.host.debug&&console.debug(`[AgentWidgetClient] client token dispatch`,{...a,...i&&{identityProof:{provider:i.provider,token:`[REDACTED]`}}}),fetch(this.host.getClientApiUrl(`chat`),{method:`POST`,headers:{"Content-Type":`application/json`,"X-Persona-Version":Ma,...n?{"X-Visitor-Token":n}:{}},body:JSON.stringify(a),signal:e.signal})})},m=await p();if(t(),m.response.status===401){let e=await m.response.clone().json().catch(()=>null);t(),e?.error===`Session not found or expired`&&(await s(),m=await p(),t())}let{response:h,commit:g}=m;if(!h.ok){let e=await h.json().catch(()=>({error:`Chat request failed`}));if(h.status===401&&e.error===`invalid_identity_proof`){let e=new r(`invalid_identity_proof`,`The identity proof was rejected`);throw a({type:`error`,error:e}),e}if(h.status===401){this.host.clearClientSession(),this.host.config.onSessionExpired?.();let e=/* @__PURE__ */ Error(`Session expired. Please refresh to continue.`);throw a({type:`error`,error:e}),e}if(h.status===429){let t=Error(e.hint||`Message limit reached for this session.`);throw a({type:`error`,error:t}),t}if(h.status===410&&e.error===`conversation_deleted`){let e=new r(`conversation_deleted`,`This conversation was deleted`);throw a({type:`error`,error:e}),e}let t=Error(e.error||`Failed to send message`);throw a({type:`error`,error:t}),t}if(!h.body){let e=/* @__PURE__ */ Error(`No response body received`);throw a({type:`error`,error:e}),e}g(),a({type:`status`,status:`connected`});try{await this.host.streamResponse(h.body,a,e.assistantMessageId,void 0,e.signal)}finally{a({type:`status`,status:`idle`})}}catch(e){let t=e instanceof Error?e:Error(String(e));throw t instanceof r||t.message.includes(`Session expired`)||t.message.includes(`Message limit`)||a({type:`error`,error:t}),t}}async dispatchProxy(e,t){let n=await this.#l(e.messages,e.composerOptions);this.host.debug&&console.debug(`[AgentWidgetClient] dispatch payload`,n);let r={...this.host.headers};if(this.host.getHeaders)try{let e=await this.host.getHeaders();r={...r,...e}}catch(e){typeof console<`u`&&console.error(`[AgentWidget] getHeaders error:`,e)}let i;if(this.host.customFetch)try{i=await this.host.customFetch(this.host.apiUrl,{method:`POST`,headers:r,body:JSON.stringify(n),signal:e.signal},n)}catch(e){let n=e instanceof Error?e:Error(String(e));throw t({type:`error`,error:n}),n}else i=await fetch(this.host.apiUrl,{method:`POST`,headers:r,body:JSON.stringify(n),signal:e.signal});if(!i.ok||!i.body){let e=/* @__PURE__ */ Error(`Chat backend request failed: ${i.status} ${i.statusText}`);throw t({type:`error`,error:e}),e}t({type:`status`,status:`connected`});try{await this.host.streamResponse(i.body,t,void 0,void 0,e.signal)}finally{t({type:`status`,status:`idle`})}}async dispatchAgent(e,t){let n=await this.#c(e.messages,e.composerOptions);this.host.debug&&console.debug(`[AgentWidgetClient] agent dispatch payload`,n);let r={...this.host.headers};if(this.host.getHeaders)try{let e=await this.host.getHeaders();r={...r,...e}}catch(e){typeof console<`u`&&console.error(`[AgentWidget] getHeaders error:`,e)}let i;if(this.host.customFetch)try{i=await this.host.customFetch(this.host.apiUrl,{method:`POST`,headers:r,body:JSON.stringify(n),signal:e.signal},n)}catch(e){let n=e instanceof Error?e:Error(String(e));throw t({type:`error`,error:n}),n}else i=await fetch(this.host.apiUrl,{method:`POST`,headers:r,body:JSON.stringify(n),signal:e.signal});if(!i.ok||!i.body){let e=/* @__PURE__ */ Error(`Agent execution request failed: ${i.status} ${i.statusText}`);throw t({type:`error`,error:e}),e}t({type:`status`,status:`connected`});try{await this.host.streamResponse(i.body,t,e.assistantMessageId,void 0,e.signal)}finally{t({type:`status`,status:`idle`})}}#r(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.role===`user`)return n.mentionContext&&Object.keys(n.mentionContext).length>0?{mentions:n.mentionContext}:null}return null}async#i(e){let t={};this.host.contextProviders.length&&await Promise.all(this.host.contextProviders.map(async n=>{try{let r=await n({messages:e,config:this.host.config});r&&typeof r==`object`&&Object.assign(t,r)}catch(e){typeof console<`u`&&console.warn(`[AgentWidget] Context provider failed:`,e)}}));let n=this.#r(e);return n&&Object.assign(t,n),Object.keys(t).length?t:null}#a(e){if(!e)return;let t={};return e.selectedModelId&&(t.selectedModelId=e.selectedModelId),e.activeModeIds?.length&&(t.activeModeIds=[...e.activeModeIds]),Object.keys(t).length>0?t:void 0}#o(e,t){let n=t?.selectedModelId;return!n||!(`model`in e)?e:this.host.config.composer?.models?.some(e=>e.id===n)?{...e,model:n}:e}#s(e){if(!hd(e))return null;let t=e.contentParts??e.llmContent??e.rawContent??e.content,n=e.role===`operator`?null:yd(e),r=this.host.config.modelMessageTransform;if(!r)return n;let i=r({message:e,content:t,modelMessage:n});if(i===null)return null;if(!i||typeof i!=`object`||![`user`,`assistant`,`system`].includes(i.role)||!gd(i.content)||typeof i.createdAt!=`string`)throw TypeError(`modelMessageTransform must return a supported model message or null`);return{role:i.role,content:i.content,createdAt:i.createdAt,...i.role===`assistant`&&i.phase&&{phase:i.phase}}}async#c(e,t){let n=this.host.routing().agentId;if(!this.host.config.agent&&!n)throw Error(`Agent configuration required for agent mode`);let r=sd(_d(e),e=>!e.variant||e.variant===`assistant`?this.#s(e):null),i=this.#a(t),a={agent:this.#o(this.host.config.agent??{agentId:n},i),messages:r,options:{streamResponse:!0,recordMode:`virtual`,...this.host.config.agentOptions}};i&&(a.composerOptions=i);let o=[...this.host.builtInClientTools(this.host.config),...await(await this.host.getWebMcpBridge())?.snapshotForDispatch()??[]];o.length>0&&(a.clientTools=o);let s=await this.#i(e);return s&&(a.context=s),a}async#l(e,t,n){let r=sd(_d(e),e=>n?n.get(e)??null:this.#s(e)),i=this.host.routing(),a={messages:r,...i.agentId?{agent:{agentId:i.agentId}}:i.flowId?{flowId:i.flowId}:{}};if(i.targetPayload)for(let[e,t]of Object.entries(i.targetPayload))e!==`messages`&&(a[e]=t);let o=[...this.host.builtInClientTools(this.host.config),...await(await this.host.getWebMcpBridge())?.snapshotForDispatch()??[]];o.length>0&&(a.clientTools=o);let s=await this.#i(e);s&&(a.context=s);let c=this.#a(t);if(c&&(a.composerOptions=c),this.host.requestMiddleware)try{let e=await this.host.requestMiddleware({payload:{...a},config:this.host.config});if(e&&typeof e==`object`){let t=e;return a.clientTools!==void 0&&!(`clientTools`in t)&&(t.clientTools=a.clientTools),t}}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Request middleware error:`,e)}return a}},xd=e=>{let t=e.webmcp?.requireConfirmFor;return Array.isArray(t)&&t.length?{webmcp:{requireConfirmFor:t}}:{}}}));H();const{setLoader:Cd,load:wd,provide:Td,getSync:Ed}=V({fallbackImport:()=>Promise.resolve().then(()=>(Sd(),md))}),Dd=wd,Od=Ed;H();const{setLoader:kd,load:Ad}=V({fallbackImport:()=>import(`@runtypelabs/persona/webmcp-runtime`)}),jd=Ad;H();const{setLoader:Md,load:Nd}=V({fallbackImport:()=>import(`@runtypelabs/persona/voice-client-tools`)}),Pd=Nd;function Fd(e){return e.startsWith(`agent_`)?{kind:`agentId`,agentId:e}:e.startsWith(`flow_`)?{kind:`flowId`,flowId:e}:null}function Id(e,t){let n=e.trim();if(!n)throw Error("[Persona] `target` is empty.");let r=n.indexOf(`:`);if(r>0){let e=n.slice(0,r),i=n.slice(r+1);if(e===`runtype`){let e=Fd(i);if(e)return e;throw Error(`[Persona] target "runtype:${i}" is not a valid Runtype agent_/flow_ id.`)}let a=t?.[e];if(!a)throw Error(`[Persona] No target provider registered for "${e}". Add a \`targetProviders.${e}\` resolver, or use a Runtype agent_/flow_ id.`);return{kind:`payload`,payload:a(i).payload}}let i=Fd(n);if(i)return i;let a=t?.default;if(a)return{kind:`payload`,payload:a(n).payload};throw Error(`[Persona] target "${n}" has no provider prefix and is not a Runtype agent_/flow_ id. Use "<provider>:${n}", a Runtype TypeID, or register a \`targetProviders.default\` resolver.`)}Kn(),qc(),ca(),lr(),Na(),fa();var Ld=class extends Error{constructor(e,t,n){super(t),this.name=`HistoryClientError`,this.code=e,n?.retryAfterSeconds!==void 0&&(this.retryAfterSeconds=n.retryAfterSeconds)}};const Rd=e=>`reason`in e?e.reason:void 0;function zd(e){switch(e){case`json`:return or;case`regex-json`:return ar;case`xml`:return cr;default:return ir}}var Bd=class{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;get clientSession(){return this.#h}set clientSession(e){this.#h=e,e&&(this.#g=e.config?.webmcp?.requireConfirmFor??[])}#_;#v;#y;#b;#x;#S;#C;#w;#T;#E;#D;constructor(e={},t={}){if(this.#f=0,this.#p=/* @__PURE__ */ new Set,this.#m=null,this.#h=null,this.#g=null,this.#_=null,this.#v=!1,this.lastSentClientToolsFingerprint=null,this.clientToolsFingerprintSessionId=null,this.#y=null,this.#b=!1,this.#x=!1,this.#S=!1,this.#C=null,this.#w=/* @__PURE__ */ new Set,this.#T=/* @__PURE__ */ new Set,this.webMcpBridge=null,this.#E=null,this.#q=null,this.#Y=null,this.#i=e,this.#r=t,e.target&&(e.agentId||e.flowId||e.agent))throw Error("[Persona] `target` is mutually exclusive with `agentId`, `flowId`, and `agent`. Set only one routing field.");this.#e=e.apiUrl??`https://api.runtype.com/v1/dispatch`,this.#t={"Content-Type":`application/json`,"X-Persona-Version":Ma,...e.headers},this.#n=!!e.debug,this.#a=e.streamParser??zd(e.parserType),this.#o=e.contextProviders??[],this.#s=e.requestMiddleware,this.#c=e.customFetch,this.#l=e.parseSSEEvent,this.#u=e.getHeaders,e.webmcp?.enabled===!0&&(this.#E=this.#O(e.webmcp))}#O(e){return jd().then(t=>{let n=new t.WebMcpBridge(e,{recordToolDisplayTitles:Bn,getToolDisplayTitle:Vn,loadPolyfill:Gn,getRequireConfirmFor:()=>this.#A()});return this.#D!==void 0&&n.setConfirmHandler(this.#D),this.webMcpBridge=n,n}).catch(e=>(this.#E=null,console.warn(`[Persona] Failed to load the WebMCP runtime chunk`,e),null))}#k(){return this.webMcpBridge?Promise.resolve(this.webMcpBridge):this.#i.webmcp?.enabled===!0?(this.#E||=this.#O(this.#i.webmcp),this.#E):Promise.resolve(null)}updateConfig(e){this.#i=e}setHistoryInternals(e){this.#r=e}cancelStreams(){if(this.#f+=1,this.#i.backgroundConversations)for(let e of this.#p)e.cancel().catch(()=>{})}setSSEEventCallback(e){this.#d=e}setWebMcpConfirmHandler(e){this.#D=e,this.webMcpBridge?.setConfirmHandler(e)}isWebMcpOperational(){return this.webMcpBridge?.isOperational()===!0}getVoiceClientTools(){if(this.#i.webmcp?.enabled!==!0)return null;let e=()=>this.#k(),t={open:async e=>(await Pd()).createVoiceClientToolsSession(t,e),snapshot:async()=>{let t=await(await e())?.snapshotForDispatch()??[];return{tools:t,fingerprint:Fn(t)}},onChange:t=>{let n=null,r=!1;return e().then(e=>{e&&!r&&(n=e.watchToolChanges(t))}),()=>{r=!0,n?.()}},execute:async(t,n,r)=>{let i=await e();return i?i.executeVoiceToolCall(t,n,await this.#j(r)):{status:`failed`,error:{message:`WebMCP runtime failed to load.`}}}};return t}#A(){return this.isClientTokenMode()?this.#g:void 0}async#j(e){return e.autoConfirmReadOnly&&this.isClientTokenMode()&&!this.clientSession&&await this.initSession().catch(()=>void 0),e}executeWebMcpToolCall(e,t,n,r){return this.#i.webmcp?.enabled===!0?this.#k().then(i=>i?i.executeToolCall(e,t,n,r):{isError:!0,content:[{type:`text`,text:`WebMCP runtime failed to load.`}]}):null}getSSEEventCallback(){return this.#d}isClientTokenMode(){return!!this.#i.clientToken}#M(){let{agentId:e,flowId:t,target:n,targetProviders:r}=this.#i;if(!n)return{agentId:e,flowId:t};let i=Id(n,r);return i.kind===`agentId`?{agentId:i.agentId}:i.kind===`flowId`?{flowId:i.flowId}:{targetPayload:i.payload}}isAgentMode(){return!!(this.#i.agent||this.#M().agentId)}#N(){return this.#i.apiUrl?.replace(/\/+$/,``).replace(/\/v1\/dispatch$/,``)||`https://api.runtype.com`}#P(e){return`${this.#N()}/v1/client/${e}`}getClientSession(){return this.clientSession}async reconnectClientTokenStream(e){let t=await this.initSession(),n=!1;for(;;){let r=t.conversationId,i=await this.readVisitorToken();if(t.durableRecovery?.enabled!==!0||!r||!i)throw new Ld(`visitor_token_missing`,`Durable recovery is not enabled for this client session`);let a=`${this.#N()}/v1/client/conversations/${encodeURIComponent(r)}/executions/${encodeURIComponent(e.executionId)}/events`,o=new URLSearchParams({sessionId:t.sessionId,after:e.after}),s=await fetch(`${a}?${o}`,{method:`GET`,headers:{"X-Persona-Version":Ma,"X-Visitor-Token":i},signal:e.signal});if(s.status===401&&!n){n=!0;let e=await so();t=await e.recoverFromUnauthorized(this.#X(),await e.readErrorCode(this.#X(),s),null,!0)}else{if(!s.ok)throw await(await so()).historyErrorFor(this.#X(),s,!0);return s}}}async warmSession(){let e=this.clientSession;return!this.isClientTokenMode()||this.#_||e&&/* @__PURE__ */ new Date<e.expiresAt||this.#v===e?null:(this.#v=e,this.initSession().catch(()=>null))}async initSession(){if(!this.isClientTokenMode())throw Error(`initSession() only available in client token mode`);if(this.clientSession&&/* @__PURE__ */ new Date<this.clientSession.expiresAt)return this.clientSession;if(this.#_)return this.#_;let e=this.#_=this.#H().then(t=>this.#_===e?(this.clientSession=t,this.#v=!1,this.resetClientToolsFingerprint(),this.#i.onSessionInit?.(t),t):this.initSession()).finally(()=>{this.#_===e&&(this.#_=null)});return e}#F(){return this.#i.features?.history?.enabled===!0&&this.isClientTokenMode()&&!this.#b}async readVisitorToken(){let e=this.#r.visitorStore;return e?(await e.ready,await e.get()??null):null}#I(){if(!this.#b){this.#B({state:`unavailable`,reason:`history_disabled`}),this.#b=!0,!this.#x&&typeof console<`u`&&(this.#x=!0,console.warn(`[Persona] Visitor history is disabled for this surface; continuing without it.`)),this.#r.onHistoryAvailabilityChanged?.(!1);for(let e of[...this.#T])e(!1)}}getHistoryIdentityStatus(){return this.#C??this.#L()}subscribeHistoryIdentityStatus(e){return this.#w.add(e),()=>{this.#w.delete(e)}}subscribeHistoryAvailability(e){return this.#T.add(e),this.#b&&e(!1),()=>{this.#T.delete(e)}}#L(){return this.isClientTokenMode()?this.#i.features?.history?.enabled!==!0||this.#b?{state:`unavailable`,reason:`history_disabled`}:this.#R():{state:`unavailable`,reason:`ineligible_mode`}}#R(){let e=this.#C;return e?.state===`browser_only`?e:this.#z()}#z(){return this.#i.features?.history?.scope===`browser`?{state:`browser_only`,reason:`configured_browser_scope`}:this.#i.getIdentityProof?{state:`browser_only`,reason:`proof_unavailable_before_binding`}:{state:`browser_only`,reason:`no_identity_provider`}}#B(e){let t=this.getHistoryIdentityStatus(),n=t.state===e.state&&Rd(t)===Rd(e);if(this.#C=e,!n){this.#r.onHistoryIdentityStatusChanged?.(e);for(let t of[...this.#w])t(e)}}async#V(e){return new((Od())??await(Dd())).ClientDispatch(this.#Z()).createClientSession(e)}async#H(){return new((Od())??await(Dd())).ClientDispatch(this.#Z()).initializeSession()}async#U(e){let t=this.#i.getStoredSessionId?.()||null,n=this.#i.getStoredConversationId?.()||null,r=await this.#V({storedSessionId:t,identityProof:e}),i=this.#W(r,n,!1);return this.clientSession=i,this.#_=null,this.#v=!1,this.resetClientToolsFingerprint(),i}#W(e,t,n){let r=e.conversationId;return r&&t&&(n||r!==t)&&this.#r.onHistoryContinuityChanged?.({previousConversationId:t,conversationId:r}),this.#i.setStoredSessionId?.(e.sessionId),r&&(this.#i.setStoredConversationId?.(r),this.#r.setStoredConversationRevision?.(e.conversationRevision??null)),e}#G(e){let t=!1;return{session:e,commit:()=>{t||(t=!0,this.clientSession=e,this.#v=!1,this.resetClientToolsFingerprint())},discard:()=>{t=!0}}}async prepareConversationSession(e,t){if(!this.isClientTokenMode())throw Error(`prepareConversationSession() only available in client token mode`);if(!this.#F())throw new Ld(`history_disabled`,`Visitor history is disabled for this surface`);await this.#r.historyBootstrapReady;let n=t?.proof??null;if(!await this.readVisitorToken()&&!n)throw new Ld(`conversation_credential_missing`,`Reopening a conversation requires a stored visitor token or an identity proof`);let r=await this.#V({conversationId:e,identityProof:n});return this.#G(r)}async prepareNewConversationSession(){if(!this.isClientTokenMode())throw Error(`prepareNewConversationSession() only available in client token mode`);await this.#r.historyBootstrapReady;let e=await this.#V({});return this.#G(e)}handleExternalCredentialChange(){this.clearClientSession(),this.#F()&&this.#B(this.#z())}clearClientSession(){this.clientSession=null,this.#_=null,this.#v=!1,this.resetClientToolsFingerprint()}resetClientToolsFingerprint(){this.lastSentClientToolsFingerprint=null,this.clientToolsFingerprintSessionId=null,this.#y=null}async sendFeedback(e){if(!this.isClientTokenMode())throw Error(`sendFeedback() only available in client token mode`);if(!this.getClientSession())throw Error(`No active session. Please initialize session first.`);return new((Od())??await(Dd())).ClientDispatch(this.#Z()).sendFeedback(e)}async submitMessageFeedback(e,t){let n=this.getClientSession()??await this.initSession();return this.sendFeedback({sessionId:n.sessionId,messageId:e,type:t})}async submitCSATFeedback(e,t){let n=this.getClientSession()??await this.initSession();return this.sendFeedback({sessionId:n.sessionId,type:`csat`,rating:e,comment:t})}async submitNPSFeedback(e,t){let n=this.getClientSession()??await this.initSession();return this.sendFeedback({sessionId:n.sessionId,type:`nps`,rating:e,comment:t})}async#K(e){e?.throwIfAborted();let t=this.#i.identityProvider;if(t===void 0)return;let n=this.#i.getIdentityProof;if(!t.trim()||!n)throw Error(`Chat identity requires identityProvider and getIdentityProof.`);let r,i;try{let t=Promise.resolve().then(()=>n());r=e?await Promise.race([t,new Promise((t,n)=>{i=()=>n(e.reason),e.addEventListener(`abort`,i,{once:!0}),e.aborted&&i()})]):await t}catch{throw e?.throwIfAborted(),Error(`The identity proof provider failed.`)}finally{i&&e?.removeEventListener(`abort`,i)}if(typeof r!=`string`||!r.trim())throw Error(`A fresh identity proof is required to send this message.`);return{provider:t,token:r}}#q;#J(){let e=this;return this.#q??={get config(){return e.#i},headers:this.#t,getHeaders:this.#u,debug:this.#n,clientApiBase:()=>e.#N(),getClientApiUrl:t=>e.#P(t),getWebMcpBridge:()=>e.#k(),sendWithClientToolsDiff:(t,n,r,i)=>e.#Q(t,n,r,i),initSession:()=>e.initSession(),readVisitorToken:()=>e.readVisitorToken(),isClientTokenMode:()=>e.isClientTokenMode()}}#Y;#X(){let e=this;return this.#Y??={HistoryClientError:Ld,get config(){return e.#i},get historyInternals(){return e.#r},get clientSession(){return e.clientSession},clientApiBase:()=>e.#N(),setHistoryIdentityStatus:t=>e.#B(t),browserOnlyStatus:()=>e.#R(),derivedBrowserOnly:()=>e.#z(),reinitWithProof:t=>e.#U(t),isHistoryCapable:()=>e.#F(),clearClientSession:()=>e.clearClientSession(),initSession:()=>e.initSession(),readVisitorToken:()=>e.readVisitorToken(),isClientTokenMode:()=>e.isClientTokenMode()}}async listConversations(e){return(await so()).listConversations(this.#X(),e)}async getConversation(e,t){return(await so()).getConversation(this.#X(),e,t)}async finalizeDisplayProjections(e,t){return(await so()).finalizeDisplayProjections(this.#X(),e,t)}async deleteConversation(e,t){return(await so()).deleteConversation(this.#X(),e,t)}async deleteAllConversations(e){return(await so()).deleteAllConversations(this.#X(),e)}async resetVisitor(){return(await so()).resetVisitor(this.#X())}async dispatch(e,t){e.signal?.throwIfAborted(),Oa().catch(()=>{});let n=this.isClientTokenMode(),r=this.isAgentMode(),i=Kc();n&&(this.#m=i),t({type:`status`,status:`connecting`});let a=Od()??await Dd().catch(e=>{let r=e instanceof Error?e:Error(String(e));throw n&&this.#m!==i||t({type:`error`,error:r}),r});if(e.signal?.throwIfAborted(),n&&this.#m!==i)throw new DOMException(`Turn superseded`,`AbortError`);let o=new a.ClientDispatch(this.#Z());return n?o.dispatchClientToken(e,t,i):r?o.dispatchAgent(e,t):o.dispatchProxy(e,t)}#Z(){let e=this;return Object.setPrototypeOf({HistoryClientError:Ld,get claimInFlight(){return e.#S},set claimInFlight(t){e.#S=t},get clientToolsFingerprintSessionId(){return e.clientToolsFingerprintSessionId},set clientToolsFingerprintSessionId(t){e.clientToolsFingerprintSessionId=t},get lastSentClientToolsFingerprint(){return e.lastSentClientToolsFingerprint},set lastSentClientToolsFingerprint(t){e.lastSentClientToolsFingerprint=t},get sentNonEmptyClientToolsSessionId(){return e.#y},set sentNonEmptyClientToolsSessionId(t){e.#y=t},get historyInternals(){return e.#r},markHistoryUnavailable:()=>e.#I(),apiUrl:this.#e,contextProviders:this.#o,requestMiddleware:this.#s,customFetch:this.#c,get clientSession(){return e.clientSession},set clientSession(t){e.clientSession=t},isCurrentTurn:t=>e.#m===t,isHistoryCapable:()=>e.#F(),createClientSession:t=>e.#V(t),finishInit:(t,n,r)=>e.#W(t,n,r),resetSessionWarmLatch:()=>{e.#v=!1},resetClientToolsFingerprint:()=>e.resetClientToolsFingerprint(),clearClientSession:()=>e.clearClientSession(),resolveChatIdentityProof:t=>e.#K(t),routing:()=>e.#M(),builtInClientTools:sa,streamResponse:(...t)=>e.#$(...t)},this.#J())}async processStream(e,t,n,r,i,a,o){t({type:`status`,status:`connected`});try{await this.#$(e,t,n,r,i,a,o)}finally{t({type:`status`,status:`idle`})}}async resolveApproval(e,t,n){return(await Oa()).resolveApproval(this.#J(),e,t,n)}async#Q(e,t,n,r){return new((Od())??await(Dd())).ClientDispatch(this.#Z()).sendWithClientToolsDiff(e,t,n,r)}async resumeFlow(e,t,n){return(await Oa()).resumeFlow(this.#J(),e,t,n)}async#$(e,t,n,r,i,a,o){let{streamResponse:s}=Aa()??await Oa();return s({config:()=>this.#i,streamGeneration:()=>this.#f,streamReaders:this.#p,createStreamParser:this.#a,parseSSEEvent:this.#l,onSSEEvent:(e,t)=>this.#d?.(e,t)},e,t,n,r,i,a,o)}},Vd=class extends Error{constructor(e,t,n){super(t),this.name=`HistoryProviderError`,this.code=e,n?.retryAfterSeconds!==void 0&&(this.retryAfterSeconds=n.retryAfterSeconds)}};function Hd(e){return e instanceof Vd}H();const{setLoader:Ud,load:Wd}=V({fallbackImport:()=>import(`@runtypelabs/persona/background-runtime`)}),Gd=Wd,Kd=e=>typeof e==`object`&&!!e&&!Array.isArray(e),qd=(e,t)=>{let n=/* @__PURE__ */ new Set;return(Array.isArray(e)?e:[]).flatMap(e=>{if(!Kd(e))return[];let{toolCallId:r,name:i}=e;if(typeof r!=`string`||!r||typeof i!=`string`||!i||n.has(r))return[];n.add(r);let a=Kd(e.arguments)?e.arguments:{},o=e.result??null;return[{id:`voice-tool-${r}`,role:`assistant`,variant:`tool`,content:``,createdAt:t,streaming:!1,toolCall:{id:r,name:i,status:`complete`,args:a,result:o},agentMetadata:{clientToolAnswer:{toolCallId:r,toolName:i,args:a,result:o}}}]})};function Jd(e){let t=0;for(let n of e.split(`
13
+ `)){let e=/^ {0,3}(`+)/.exec(n);e&&e[1].length>t&&(t=e[1].length)}return t}function Yd(e,t){let n="`".repeat(Math.max(3,Jd(t)+1));return`${n}${e}\n${t}\n${n}`}Ks();const Xd=e=>e.sourceLabel?`quoted-text source=${e.sourceLabel}`:`quoted-text`;function Zd(e){let t=e?.text?.trim()??``;return t?Yd(Xd(e),t):``}function Qd(e){let t=Zd(e.quote);return t?e.contentParts&&e.contentParts.length>0?{contentParts:[Ms(t),...e.contentParts]}:{llmContent:[t,e.text].filter(Boolean).join(`
14
14
 
15
- `)}:{}}function Zd(e,t=140){let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,t-1)}…`}function Qd(e,t){let n=e.findIndex(e=>e.id===t);if(n===-1||e[n].role!==`user`)return null;let r=n+1;for(;r<e.length&&e[r].role!==`user`;)r+=1;return{start:n,end:r}}function $d(e,t){let n=e.findIndex(e=>e.id===t);return n>=0&&e[n].role===`user`&&!e.slice(n+1).some(e=>e.role===`operator`)}function ef(e,t){let n=e.findIndex(e=>e.id===t);if(n<=0)return null;for(let t=n-1;t>=0;--t){if(e[t].role===`operator`)return null;if(e[t].role===`user`)return e[t].id}return null}function tf(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.role===`user`||n.role===`operator`||n.streaming)return null;if(!(n.role!==`assistant`||n.variant))return ef(e,n.id)?n.id:null}return null}function nf(e){return e.role!==`user`||e.variant||e.streaming||e.contentParts?.length||e.contextMentions?.length||e.contentSegments?.length||e.mentionContext&&Object.keys(e.mentionContext).length>0||e.rawContent!==void 0||e.llmContent!==void 0&&e.llmContent!==e.content||e.quote?!1:typeof e.content==`string`&&e.content.length>0}function rf(e){if(!e||typeof e!=`object`||!(`component`in e))return!1;let t=e.component;return typeof t==`string`&&t.length>0}function af(e,t){if(!rf(e))return null;let n=e.props&&typeof e.props==`object`&&e.props!==null?e.props:{};return{component:e.component,props:n,raw:t}}function of(){let e=null,t=0;return{getExtractedDirective:()=>e,processChunk:n=>{let r=n.trim();if(!r.startsWith(`{`)&&!r.startsWith(`[`))return null;if(n.length<=t)return e;try{let t=af(Lt(n,B|It),n);t&&(e=t)}catch{}return t=n.length,e},reset:()=>{e=null,t=0}}}function sf(e){return typeof e==`object`&&!!e&&`component`in e&&typeof e.component==`string`&&`props`in e&&typeof e.props==`object`}Gr();function cf(e,t){let{config:n,message:r,onPropsUpdate:i}=t,a=Ql(n,e.component);if(!a){if(eu.includes(e.component)){cu().catch(()=>{});let e=J(`div`,`persona-w-full`);return e.setAttribute(`data-persona-artifact-pending`,`true`),e}return console.warn(`[ComponentMiddleware] Component "${e.component}" not found in registry. Falling back to default rendering.`),null}let o=t.context??{message:r,config:n,signal:t.signal??new AbortController().signal,updateProps:e=>{i&&i(e)}};try{return a(e.props,o)}catch(t){return console.error(`[ComponentMiddleware] Error rendering component "${e.component}":`,t),null}}function lf(){let e=of();return{processChunk:t=>e.processChunk(t),getDirective:()=>e.getExtractedDirective(),reset:()=>{e.reset()}}}function uf(e){if(typeof e.rawContent==`string`&&e.rawContent.length>0)return e.rawContent;if(typeof e.content==`string`){let t=e.content.trim();if(t.startsWith(`{`)||t.startsWith(`[`))return e.content}return null}function df(e){let t=uf(e);if(!t)return!1;try{let e=JSON.parse(t);return typeof e==`object`&&!!e&&`component`in e&&typeof e.component==`string`}catch{return!1}}function ff(e){let t=uf(e);if(!t)return null;try{let e=JSON.parse(t);if(typeof e==`object`&&e&&`component`in e&&typeof e.component==`string`){let n=e;return{component:n.component,props:n.props&&typeof n.props==`object`&&n.props!==null?n.props:{},raw:t}}}catch{}return null}function pf(e){for(let t of[`Microsoft Jenny Online (Natural) - English (United States)`,`Microsoft Aria Online (Natural) - English (United States)`,`Microsoft Guy Online (Natural) - English (United States)`,`Google US English`,`Google UK English Female`,`Ava (Premium)`,`Evan (Enhanced)`,`Samantha (Enhanced)`,`Samantha`,`Daniel`,`Karen`,`Microsoft David Desktop - English (United States)`,`Microsoft Zira Desktop - English (United States)`]){let n=e.find(e=>e.name===t);if(n)return n}return e.find(e=>e.lang.startsWith(`en`))??e[0]}var mf=class e{constructor(e={}){this.options=e,this.id=`browser`,this.supportsPause=!0}static isSupported(){return typeof window<`u`&&`speechSynthesis`in window}speak(t,n){if(!e.isSupported()){n.onError?.(/* @__PURE__ */ Error(`Web Speech API is unavailable`));return}let r=window.speechSynthesis;r.cancel();let i=new SpeechSynthesisUtterance(t.text),a=r.getVoices();if(t.voice){let e=a.find(e=>e.name===t.voice);e&&(i.voice=e)}else a.length>0&&(i.voice=this.options.pickVoice?this.options.pickVoice(a):pf(a));t.rate!==void 0&&(i.rate=t.rate),t.pitch!==void 0&&(i.pitch=t.pitch),i.onend=()=>n.onEnd?.(),i.onerror=e=>{let t=e.error;t===`canceled`||t===`interrupted`?n.onEnd?.():n.onError?.(Error(t||`Speech synthesis failed`))},setTimeout(()=>{r.speak(i),n.onStart?.()},50)}pause(){e.isSupported()&&window.speechSynthesis.pause()}resume(){e.isSupported()&&window.speechSynthesis.resume()}stop(){e.isSupported()&&window.speechSynthesis.cancel()}},hf=class{#e=null;#t=null;#n=`idle`;#r=/* @__PURE__ */ new Set;#i=0;#a;constructor(e){this.#a=e}get supportsPause(){return this.#e?.supportsPause??!0}stateFor(e){return this.#t===e?this.#n:`idle`}activeMessageId(){return this.#t}onChange(e){return this.#r.add(e),()=>this.#r.delete(e)}toggle(e,t){if(this.#t===e){if(this.#n===`playing`){this.#e?.supportsPause?(this.#e.pause(),this.#o(e,`paused`)):this.stop();return}if(this.#n===`paused`){this.#e?.resume(),this.#o(e,`playing`);return}if(this.#n===`loading`){this.stop();return}}this.play(e,t)}async play(e,t){let n=++this.#i;this.#e?.stop(),this.#o(e,`loading`);try{if(!this.#e){let e=await this.#a();if(n!==this.#i)return;if(!e){this.#o(null,`idle`);return}this.#e=e}this.#e.speak(t,{onStart:()=>{n===this.#i&&this.#o(e,`playing`)},onEnd:()=>{n===this.#i&&this.#o(null,`idle`)},onError:()=>{n===this.#i&&this.#o(null,`idle`)}})}catch{n===this.#i&&this.#o(null,`idle`)}}stop(){this.#i++,this.#e?.stop(),this.#o(null,`idle`)}destroy(){this.stop(),this.#e?.destroy?.(),this.#e=null,this.#r.clear()}#o(e,t){this.#t=t===`idle`?null:e,this.#n=t;for(let e of this.#r)e(this.#t,this.#n)}},gf=class{#e;#t=!1;start(e){this.#e=e,this.#t=!1}cancel(){this.#t=!0}accepts(e){return!this.#t&&(!e||!this.#e||e===this.#e)}};function _f(e){if(!e)return``;let t=vf(e);return yf(t===null?e:t)}function vf(e){let t=e.trim(),n=t.match(/^```(?:json)?\s*([\s\S]*?)\s*```$/i);if(n&&(t=n[1].trim()),!t.startsWith(`{`))return null;try{let e=JSON.parse(t);if(e&&typeof e==`object`&&typeof e.text==`string`)return e.text}catch{}return null}function yf(e){if(!e)return``;let t=e;return t=t.replace(/```[\s\S]*?```/g,` `),t=t.replace(/~~~[\s\S]*?~~~/g,` `),t=t.replace(/`([^`]+)`/g,`$1`),t=t.replace(/!\[([^\]]*)\]\([^)]*\)/g,`$1`),t=t.replace(/\[([^\]]+)\]\([^)]*\)/g,`$1`),t=t.replace(/\[([^\]]+)\]\[[^\]]*\]/g,`$1`),t=t.replace(/<\/?[a-zA-Z][^>]*>/g,` `),t=t.replace(/^[ \t]*#{1,6}[ \t]+/gm,``),t=t.replace(/^[ \t]*>[ \t]?/gm,``),t=t.replace(/^[ \t]*[-*+][ \t]+/gm,``),t=t.replace(/^[ \t]*\d+\.[ \t]+/gm,``),t=t.replace(/^[ \t]*([-*_])([ \t]*\1){2,}[ \t]*$/gm,` `),t=t.replace(/(\*\*|__)(.*?)\1/g,`$2`),t=t.replace(/(\*|_)(.*?)\1/g,`$2`),t=t.replace(/~~(.*?)~~/g,`$1`),t=t.replace(/&amp;/g,`&`).replace(/&lt;/g,`<`).replace(/&gt;/g,`>`).replace(/&quot;/g,`"`).replace(/&#39;/g,`'`).replace(/&nbsp;/g,` `),t=t.replace(/[ \t]+/g,` `),t=t.replace(/[ \t]*\n[ \t]*/g,`
15
+ `)}:{}}function $d(e,t=140){let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,t-1)}…`}function ef(e,t){let n=e.findIndex(e=>e.id===t);if(n===-1||e[n].role!==`user`)return null;let r=n+1;for(;r<e.length&&e[r].role!==`user`;)r+=1;return{start:n,end:r}}function tf(e,t){let n=e.findIndex(e=>e.id===t);return n>=0&&e[n].role===`user`&&!e.slice(n+1).some(e=>e.role===`operator`)}function nf(e,t){let n=e.findIndex(e=>e.id===t);if(n<=0)return null;for(let t=n-1;t>=0;--t){if(e[t].role===`operator`)return null;if(e[t].role===`user`)return e[t].id}return null}function rf(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.role===`user`||n.role===`operator`||n.streaming)return null;if(!(n.role!==`assistant`||n.variant))return nf(e,n.id)?n.id:null}return null}function af(e){return e.role!==`user`||e.variant||e.streaming||e.contentParts?.length||e.contextMentions?.length||e.contentSegments?.length||e.mentionContext&&Object.keys(e.mentionContext).length>0||e.rawContent!==void 0||e.llmContent!==void 0&&e.llmContent!==e.content||e.quote?!1:typeof e.content==`string`&&e.content.length>0}function of(e){if(!e||typeof e!=`object`||!(`component`in e))return!1;let t=e.component;return typeof t==`string`&&t.length>0}function sf(e,t){if(!of(e))return null;let n=e.props&&typeof e.props==`object`&&e.props!==null?e.props:{};return{component:e.component,props:n,raw:t}}function cf(){let e=null,t=0;return{getExtractedDirective:()=>e,processChunk:n=>{let r=n.trim();if(!r.startsWith(`{`)&&!r.startsWith(`[`))return null;if(n.length<=t)return e;try{let t=sf(Rt(n,z|Lt),n);t&&(e=t)}catch{}return t=n.length,e},reset:()=>{e=null,t=0}}}function lf(e){return typeof e==`object`&&!!e&&`component`in e&&typeof e.component==`string`&&`props`in e&&typeof e.props==`object`}Kr();function uf(e,t){let{config:n,message:r,onPropsUpdate:i}=t,a=$l(n,e.component);if(!a){if(tu.includes(e.component)){lu().catch(()=>{});let e=q(`div`,`persona-w-full`);return e.setAttribute(`data-persona-artifact-pending`,`true`),e}return console.warn(`[ComponentMiddleware] Component "${e.component}" not found in registry. Falling back to default rendering.`),null}let o=t.context??{message:r,config:n,signal:t.signal??new AbortController().signal,updateProps:e=>{i&&i(e)}};try{return a(e.props,o)}catch(t){return console.error(`[ComponentMiddleware] Error rendering component "${e.component}":`,t),null}}function df(){let e=cf();return{processChunk:t=>e.processChunk(t),getDirective:()=>e.getExtractedDirective(),reset:()=>{e.reset()}}}function ff(e){if(typeof e.rawContent==`string`&&e.rawContent.length>0)return e.rawContent;if(typeof e.content==`string`){let t=e.content.trim();if(t.startsWith(`{`)||t.startsWith(`[`))return e.content}return null}function pf(e){let t=ff(e);if(!t)return!1;try{let e=JSON.parse(t);return typeof e==`object`&&!!e&&`component`in e&&typeof e.component==`string`}catch{return!1}}function mf(e){let t=ff(e);if(!t)return null;try{let e=JSON.parse(t);if(typeof e==`object`&&e&&`component`in e&&typeof e.component==`string`){let n=e;return{component:n.component,props:n.props&&typeof n.props==`object`&&n.props!==null?n.props:{},raw:t}}}catch{}return null}function hf(e){for(let t of[`Microsoft Jenny Online (Natural) - English (United States)`,`Microsoft Aria Online (Natural) - English (United States)`,`Microsoft Guy Online (Natural) - English (United States)`,`Google US English`,`Google UK English Female`,`Ava (Premium)`,`Evan (Enhanced)`,`Samantha (Enhanced)`,`Samantha`,`Daniel`,`Karen`,`Microsoft David Desktop - English (United States)`,`Microsoft Zira Desktop - English (United States)`]){let n=e.find(e=>e.name===t);if(n)return n}return e.find(e=>e.lang.startsWith(`en`))??e[0]}var gf=class e{constructor(e={}){this.options=e,this.id=`browser`,this.supportsPause=!0}static isSupported(){return typeof window<`u`&&`speechSynthesis`in window}speak(t,n){if(!e.isSupported()){n.onError?.(/* @__PURE__ */ Error(`Web Speech API is unavailable`));return}let r=window.speechSynthesis;r.cancel();let i=new SpeechSynthesisUtterance(t.text),a=r.getVoices();if(t.voice){let e=a.find(e=>e.name===t.voice);e&&(i.voice=e)}else a.length>0&&(i.voice=this.options.pickVoice?this.options.pickVoice(a):hf(a));t.rate!==void 0&&(i.rate=t.rate),t.pitch!==void 0&&(i.pitch=t.pitch),i.onend=()=>n.onEnd?.(),i.onerror=e=>{let t=e.error;t===`canceled`||t===`interrupted`?n.onEnd?.():n.onError?.(Error(t||`Speech synthesis failed`))},setTimeout(()=>{r.speak(i),n.onStart?.()},50)}pause(){e.isSupported()&&window.speechSynthesis.pause()}resume(){e.isSupported()&&window.speechSynthesis.resume()}stop(){e.isSupported()&&window.speechSynthesis.cancel()}},_f=class{#e=null;#t=null;#n=`idle`;#r=/* @__PURE__ */ new Set;#i=0;#a;constructor(e){this.#a=e}get supportsPause(){return this.#e?.supportsPause??!0}stateFor(e){return this.#t===e?this.#n:`idle`}activeMessageId(){return this.#t}onChange(e){return this.#r.add(e),()=>this.#r.delete(e)}toggle(e,t){if(this.#t===e){if(this.#n===`playing`){this.#e?.supportsPause?(this.#e.pause(),this.#o(e,`paused`)):this.stop();return}if(this.#n===`paused`){this.#e?.resume(),this.#o(e,`playing`);return}if(this.#n===`loading`){this.stop();return}}this.play(e,t)}async play(e,t){let n=++this.#i;this.#e?.stop(),this.#o(e,`loading`);try{if(!this.#e){let e=await this.#a();if(n!==this.#i)return;if(!e){this.#o(null,`idle`);return}this.#e=e}this.#e.speak(t,{onStart:()=>{n===this.#i&&this.#o(e,`playing`)},onEnd:()=>{n===this.#i&&this.#o(null,`idle`)},onError:()=>{n===this.#i&&this.#o(null,`idle`)}})}catch{n===this.#i&&this.#o(null,`idle`)}}stop(){this.#i++,this.#e?.stop(),this.#o(null,`idle`)}destroy(){this.stop(),this.#e?.destroy?.(),this.#e=null,this.#r.clear()}#o(e,t){this.#t=t===`idle`?null:e,this.#n=t;for(let e of this.#r)e(this.#t,this.#n)}},vf=class{#e;#t=!1;start(e){this.#e=e,this.#t=!1}cancel(){this.#t=!0}accepts(e){return!this.#t&&(!e||!this.#e||e===this.#e)}};function yf(e){if(!e)return``;let t=bf(e);return xf(t===null?e:t)}function bf(e){let t=e.trim(),n=t.match(/^```(?:json)?\s*([\s\S]*?)\s*```$/i);if(n&&(t=n[1].trim()),!t.startsWith(`{`))return null;try{let e=JSON.parse(t);if(e&&typeof e==`object`&&typeof e.text==`string`)return e.text}catch{}return null}function xf(e){if(!e)return``;let t=e;return t=t.replace(/```[\s\S]*?```/g,` `),t=t.replace(/~~~[\s\S]*?~~~/g,` `),t=t.replace(/`([^`]+)`/g,`$1`),t=t.replace(/!\[([^\]]*)\]\([^)]*\)/g,`$1`),t=t.replace(/\[([^\]]+)\]\([^)]*\)/g,`$1`),t=t.replace(/\[([^\]]+)\]\[[^\]]*\]/g,`$1`),t=t.replace(/<\/?[a-zA-Z][^>]*>/g,` `),t=t.replace(/^[ \t]*#{1,6}[ \t]+/gm,``),t=t.replace(/^[ \t]*>[ \t]?/gm,``),t=t.replace(/^[ \t]*[-*+][ \t]+/gm,``),t=t.replace(/^[ \t]*\d+\.[ \t]+/gm,``),t=t.replace(/^[ \t]*([-*_])([ \t]*\1){2,}[ \t]*$/gm,` `),t=t.replace(/(\*\*|__)(.*?)\1/g,`$2`),t=t.replace(/(\*|_)(.*?)\1/g,`$2`),t=t.replace(/~~(.*?)~~/g,`$1`),t=t.replace(/&amp;/g,`&`).replace(/&lt;/g,`<`).replace(/&gt;/g,`>`).replace(/&quot;/g,`"`).replace(/&#39;/g,`'`).replace(/&nbsp;/g,` `),t=t.replace(/[ \t]+/g,` `),t=t.replace(/[ \t]*\n[ \t]*/g,`
16
16
  `),t=t.replace(/\n{2,}/g,`
17
- `),t.trim()}var bf,xf=V((()=>{bf=class{#e=null;#t=0;#n=[];#r=[];#i=[];#a=!1;#o=!1;#s=0;#c=!1;#l=!1;#u;#d=[];#f=0;#p=!1;#m;#h;#g;#_=null;constructor(e=24e3,t={}){this.#h=e;let n=Math.max(0,t.prebufferMs??0);this.#g=Math.round(e*n/1e3),this.#u=this.#g>0}#v(){if(!this.#e){let e=typeof window<`u`?window:void 0;if(!e)throw Error(`AudioPlaybackManager requires a browser environment`);let t=e.AudioContext||e.webkitAudioContext;this.#e=new t({sampleRate:this.#h})}let e=this.#e;return e.state===`suspended`&&!this.#l&&e.resume(),e}enqueue(e){if(e.length===0)return;let t=e;if(this.#_){let n=new Uint8Array(this.#_.length+e.length);n.set(this.#_),n.set(e,this.#_.length),t=n,this.#_=null}if(t.length%2!=0&&(this.#_=new Uint8Array([t[t.length-1]]),t=t.subarray(0,t.length-1)),t.length===0)return;let n=this.#S(t);n.length!==0&&(this.#u?(this.#d.push(n),this.#f+=n.length,clearTimeout(this.#m),this.#f>=this.#g?this.#y():this.#p&&(this.#m=setTimeout(()=>this.#y(),this.#g/this.#h*1e3))):this.#b(n))}markStreamEnd(){this.#d.length>0&&this.#y(),this.#o=!0,this.#x()}flush(){for(let e of this.#n){e.onended=null;try{e.stop(),e.disconnect()}catch{}}this.#n=[],this.#s=0,this.#t=0,this.#a=!1,this.#o=!1,this.#r=[],this.#i=[],this.#_=null,this.#d=[],this.#f=0,this.#u=this.#g>0,this.#c=!1,clearTimeout(this.#m)}setContinuousMode(e){this.#p=e}isPlaying(){return this.#a}onFinished(e){this.#r.push(e)}onStarted(e){this.#i.push(e)}pause(){this.#l=!0,this.#e&&this.#e.state===`running`&&this.#e.suspend()}resume(){this.#l=!1,this.#e&&this.#e.state===`suspended`&&this.#e.resume()}async destroy(){this.flush(),this.#e&&=(await this.#e.close(),null)}#y(){this.#u=!1;let e=this.#d;this.#d=[],this.#f=0;for(let t of e)this.#b(t)}#b(e){if(e.length===0)return;let t=this.#v(),n=t.createBuffer(1,e.length,this.#h);n.getChannelData(0).set(e);let r=t.createBufferSource();r.buffer=n,r.connect(t.destination);let i=t.currentTime;if(this.#t===0?this.#t=i:this.#t<i&&(this.#t=i,this.#g>0&&(this.#u=!0)),r.start(this.#t),this.#t+=n.duration,this.#n.push(r),this.#s++,this.#a=!0,!this.#c){this.#c=!0;let e=this.#i.slice();this.#i=[];for(let t of e)t()}r.onended=()=>{let e=this.#n.indexOf(r);e!==-1&&(this.#n.splice(e,1),this.#s--,this.#x())}}#x(){if(this.#o&&this.#s<=0&&this.#d.length===0){this.#a=!1,this.#o=!1;let e=this.#r.slice();this.#r=[];for(let t of e)t()}}#S(e){let t=Math.floor(e.length/2),n=new Float32Array(t),r=new DataView(e.buffer,e.byteOffset,e.byteLength);for(let e=0;e<t;e++){let t=r.getInt16(e*2,!0);n[e]=t/32768}return n}}}));function Sf(e){return e.replace(/\/+$/,``)}async function Cf(e){try{let t=await e.json();return t.detail?`${t.error??`Runtype TTS ${e.status}`}: ${t.detail}`:t.error??`Runtype TTS request failed (${e.status})`}catch{return`Runtype TTS request failed (${e.status})`}}var wf,Tf=V((()=>{xf(),wf=class{#e;#t;#n;#r;constructor(e){this.id=`runtype-tts`,this.supportsPause=!0,this.#e=null,this.#t=null,this.#n=0,this.#r=e}#i(){return this.#t??=Promise.resolve(this.#r.createPlaybackEngine?this.#r.createPlaybackEngine():new bf(24e3,{prebufferMs:this.#r.prebufferMs??200})).then(e=>this.#e=e)}speak(e,t){let n=++this.#n;this.#a(n,e,t)}async#a(e,t,n){try{let r=await this.#i();if(e!==this.#n)return;r.flush(),r.resume(),r.onStarted(()=>{e===this.#n&&n.onStart?.()}),r.onFinished(()=>{e===this.#n&&n.onEnd?.()});let i=`${Sf(this.#r.host)}/v1/agents/${encodeURIComponent(this.#r.agentId)}/speak`,a=await fetch(i,{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${this.#r.clientToken}`},body:JSON.stringify({text:t.text,voice:t.voice??this.#r.voice,format:`pcm`})});if(e!==this.#n)return;if(!a.ok||!a.body)throw Error(await Cf(a));let o=a.body.getReader();for(;;){let{done:t,value:n}=await o.read();if(e!==this.#n){await o.cancel().catch(()=>{});return}if(t)break;n&&n.byteLength>0&&r.enqueue(n)}r.markStreamEnd()}catch(t){if(e!==this.#n)return;let r=t instanceof Error?t:Error(String(t));this.#r.onError?.(r),n.onError?.(r)}}pause(){this.#e?.pause()}resume(){this.#e?.resume()}stop(){this.#n++,this.#e?.flush()}destroy(){this.#n++,this.#e?.destroy(),this.#e=null,this.#t=null}}})),Ef,Df=V((()=>{Ef=class{#e;#t;#n;#r;constructor(e,t,n={}){this.id=`fallback`,this.#t=e,this.#n=t,this.#r=n,this.#e=e}get supportsPause(){return this.#e.supportsPause}speak(e,t){this.#e=this.#t;let n=!1;this.#t.speak(e,{onStart:()=>{n=!0,t.onStart?.()},onEnd:()=>t.onEnd?.(),onError:r=>{n?t.onError?.(r):(this.#r.onFallback?.(r),this.#e=this.#n,this.#n.speak(e,t))}})}pause(){this.#e.pause()}resume(){this.#e.resume()}stop(){this.#e.stop()}destroy(){this.#t.destroy?.(),this.#n.destroy?.()}}})),Of=/* @__PURE__ */ Bt({FallbackSpeechEngine:()=>Ef,RuntypeSpeechEngine:()=>wf}),kf=V((()=>{Tf(),Df()}));const Af=()=>Promise.resolve().then(()=>(kf(),Of));U();const{setLoader:jf,load:Mf}=H({fallbackImport:()=>import(`@runtypelabs/persona/session-reconnect`)}),Nf=Mf;Gn(),ra(),Kc(),Gs(),Qn(),ud();const Pf=/* @__PURE__ */ `apiUrl.clientToken.flowId.agentId.target.targetProviders.agent.agentOptions.headers.getHeaders.webmcp.streamParser.parserType.contextProviders.requestMiddleware.modelMessageTransform.customFetch.backgroundConversations.parseSSEEvent.onSessionInit.onSessionExpired.getStoredSessionId.setStoredSessionId.getIdentityProof.identityProvider.getStoredConversationId.setStoredConversationId.clearStoredConversationId.clearStoredSessionId`.split(`.`);function Ff(e,t){return Pf.some(n=>e[n]!==t[n])}var If=class extends Error{constructor(e,t){super(t),this.name=`SessionHistoryError`,this.code=e}};function Lf(e,t){let n=e instanceof Error?e:Error(String(e));if(typeof t==`string`)return t;if(typeof t==`function`)return t(n);let r=n.message.trim(),i=/^(Failed to fetch|fetch failed|Load failed|NetworkError when attempting to fetch resource\.?)$/i.test(r),a=/^(Chat backend|Agent execution) request failed: \d{3}\b/.test(r),o=i?`Sorry: I couldn't reach the assistant. Please check your connection and try again.`:a?`Sorry: the chat service couldn't complete the request. Please try again.`:`Sorry: the chat encountered an unexpected error. Please reload the page and try again.`;return r?`${o}\n\n_Details: ${r}_`:o}const Rf=e=>Un(e)||e===`suggest_replies`;var zf=class e{#e;#t;#n;#r;#i(e){if(this.#a(`cancel`),this.#n=!1,this.#e={runId:`run-${Wc()}`,timestamp:Date.now()},this.#t={run:this.#e,messageIds:/* @__PURE__ */ new Set},e)for(let t of this.messages)t.role===`assistant`&&t.agentMetadata?.executionId===e&&this.#t.messageIds.add(t.id);this.callbacks.onRunStarted?.({...this.#e})}#a(e,t=this.#e){if(t!==this.#e)return;this.#r!==null&&clearTimeout(this.#r),this.#r=null;let n=this.#e;if(this.#e=null,n){let t=n;t.timestamp=Date.now(),t.outcome=e,this.callbacks.onRunFinished?.(t)}}#o(){if(!this.#e||this.#r!==null)return;let e=this.#e;this.#r=setTimeout(()=>{this.#r=null,this.#e===e&&(!this.#n&&(this.streaming||this.#f||this.#_t()||this.webMcpAwaitBatches.size||this.webMcpResolveControllers.size)||this.#a(this.#n?`error`:`success`))},0)}#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;#C;#w;#T;#E;#D;#O;#k;#A;#j;#M;#N;#P;#F;#I;#L;#R;#z;#B;#V;#H;#U;#W;#G;#K;#q;#J;#Y;constructor(e={},t,n={}){this.config=e,this.callbacks=t,this.historyInternals=n,this.status=`idle`,this.#e=null,this.#n=!1,this.#r=null,this.streaming=!1,this.#s=/* @__PURE__ */ new Map,this.abortController=null,this.#l=Date.now(),this.clientSession=null,this.agentExecution=null,this.#u=null,this.#d=null,this.#f=!1,this.#m=null,this.#h=null,this.#g=null,this.#_=null,this.#v=null,this.#y=null,this.artifacts=/* @__PURE__ */ new Map,this.#b=null,this.webMcpInflightKeys=/* @__PURE__ */ new Set,this.webMcpResolvedKeys=/* @__PURE__ */ new Set,this.webMcpResolveControllers=/* @__PURE__ */ new Set,this.#x=0,this.webMcpApprovalResolvers=/* @__PURE__ */ new Map,this.#S=0,this.approvalTokens=/* @__PURE__ */ new Map,this.webMcpAwaitBatches=/* @__PURE__ */ new Map,this.#C=null,this.#w=null,this.#T=0,this.#E=0,this.#D=!1,this.#O=`disconnected`,this.#k=null,this.#A=null,this.#j=null,this.#M=0,this.#N=0,this.#P=null,this.#F=Promise.resolve(),this.#I=!1,this.#L=null,this.#R=!1,this.#z=null,this.#B=/* @__PURE__ */ new Map,this.#V=null,this.#H=/* @__PURE__ */ new Map,this.#U=null,this.#W=null,this.#G=!1,this.#K=null,this.#q=null,this.#J=!1,this.#Y=null,this.#Q=null,this.#$=null,this.#ee=new gf,this.#te=Promise.resolve(),this.#ne=null,this.#re=null,this.ttsSpokenMessageIds=/* @__PURE__ */ new Set,this.readAloud=new hf(()=>this.#ie()),this.#Ze=null,this.#Qe=0,this.handleEvent=(e,t=!1)=>{if(this.#m){this.#m.push({event:e,readOnlyReplay:t});return}let n=this.#re,r=!1;if(n&&(e.type===`error`||e.type===`status`&&e.status===`error`?n.failed=!0:e.type===`message`&&e.message.role===`assistant`&&(n.dropped||this.ttsSpokenMessageIds.add(e.message.id),n.ids.includes(e.message.id)||n.ids.push(e.message.id),r=!0)),e.type===`message`){this.#e&&!t&&e.message.role===`assistant`&&this.#t?.messageIds.add(e.message.id),this.upsertMessage(e.message),(e.message.agentMetadata?.awaitingLocalTool||e.message.variant===`approval`&&e.message.approval?.status===`pending`)&&this.#dt(`needs-attention`),r&&n.onUpdate?.(),e.message.variant===`approval`&&e.message.approval&&e.message.approval.status!==`pending`&&this.#s.set(e.message.id,this.#c),e.message.role===`assistant`&&!e.message.variant&&e.message.streaming&&(this.#d=e.message.id),(e.message.variant===`approval`||e.message.agentMetadata?.awaitingLocalTool===!0)&&ul().catch(()=>{});let i=e.message.toolCall,a=!!i?.name&&(Un(i.name)||i.name===`suggest_replies`&&na(this.config).enabled);e.message.agentMetadata?.awaitingLocalTool===!0&&a&&!t&&this.messages.find(t=>t.id===e.message.id)?.agentMetadata?.awaitingLocalTool===!0&&this.#et(e.message),e.message.agentMetadata?.executionId&&(!this.agentExecution||this.agentExecution.executionId!==e.message.agentMetadata.executionId?this.agentExecution={executionId:e.message.agentMetadata.executionId,agentId:``,agentName:e.message.agentMetadata.agentName??``,status:`running`,currentIteration:e.message.agentMetadata.iteration??0,maxTurns:0}:e.message.agentMetadata.iteration!==void 0&&(this.agentExecution.currentIteration=e.message.agentMetadata.iteration))}else if(e.type===`cursor`)this.#p=e.checkpoint,this.#ht(e.id);else if(e.type===`status`){if(e.executionId&&(this.agentExecution={executionId:e.executionId,agentId:``,agentName:``,status:`running`,currentIteration:0,maxTurns:0},this.#dt(`running`)),e.status===`idle`&&!e.terminal&&this.#gt()){this.#vt();return}if(e.status===`error`?this.#dt(`failed`):e.terminal&&e.status===`idle`&&this.#dt(`completed`),this.#Ot(e.status),e.status===`connecting`)this.#kt(!0);else if(e.status===`idle`||e.status===`error`){this.#_t()||this.#Et(),this.webMcpResolveControllers.size===0&&(this.#kt(!1),this.abortController=null,this.#He(),this.#Le());let t=this.webMcpAwaitBatches.size>0||this.webMcpResolveControllers.size>0;this.agentExecution?.status===`running`&&(e.status===`error`?this.agentExecution.status=`error`:t||(this.agentExecution.status=`complete`)),this.#tt()}}else e.type===`error`?(this.#dt(`failed`),this.#Ot(`error`),this.#Et(),this.webMcpResolveControllers.size===0&&(this.#kt(!1),this.abortController=null),this.agentExecution?.status===`running`&&(this.agentExecution.status=`error`),this.callbacks.onError?.(e.error)):(e.type===`artifact_start`||e.type===`artifact_delta`||e.type===`artifact_update`||e.type===`artifact_complete`)&&this.#ct(e)},this.historyInternals=this.#ue(n),this.messages=[...e.initialMessages??[]].map(e=>({...Fu(e),sequence:e.sequence??this.#It()})),this.messages=this.#Rt(this.messages),this.client=new Rd(e,this.historyInternals),this.#Oe(),this.#Xe();for(let t of e.initialArtifacts??[])this.artifacts.set(t.id,{...t,status:`complete`});e.initialSelectedArtifactId!=null&&(this.#b=e.initialSelectedArtifactId),this.messages.length&&this.callbacks.onMessagesChanged([...this.messages]),this.artifacts.size>0&&this.#st(),this.callbacks.onStatusChanged(this.status),this.#Z(),this.#X()}#X(){this.config.voiceRecognition?.provider&&mu().catch(()=>{})}#Z(){let e=this.config.textToSpeech;if(e?.provider!==`runtype`||e.createEngine)return;let t=e.host??this.config.apiUrl,n=e.agentId??this.config.voiceRecognition?.provider?.runtype?.agentId??this.config.agentId;t&&n&&this.config.clientToken&&Af().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 yu(this.config.voiceRecognition?.provider)}isVoiceActive(){return this.#D}getVoiceStatus(){return this.#O}getVoiceNotice(){return this.#C?.takeNotice?.()??null}getVoiceDisclosure(){return this.#C?.getDisclosure?.()??null}getVoiceLevel(){return this.#C?.onLevel?this.#E:null}getVoiceInterruptionMode(){return this.#C?.getInterruptionMode?this.#C.getInterruptionMode():`none`}stopVoicePlayback(){this.#C?.stopPlayback&&(this.#ee.cancel(),this.#ne?.cancel(),this.#C.stopPlayback())}isBargeInActive(){return this.#C?.isBargeInActive?.()??!1}async deactivateBargeIn(){this.#C?.deactivateBargeIn&&await this.#C.deactivateBargeIn()}#Q;#$;#ee;#te;#ne;#re;#ie(){let e=this.config.textToSpeech;if(e?.createEngine)return e.createEngine();let t=mf.isSupported()?new mf({pickVoice:e?.pickVoice}):null;if(e?.provider===`runtype`){let n=e.host??this.config.apiUrl,r=e.agentId??this.config.voiceRecognition?.provider?.runtype?.agentId??this.config.agentId,i=this.config.clientToken,a=e.browserFallback!==!1;if(n&&r&&i)return Af().then(({RuntypeSpeechEngine:o,FallbackSpeechEngine:s})=>{let c=new o({host:n,agentId:r,clientToken:i,voice:e.voice,prebufferMs:e.prebufferMs,createPlaybackEngine:e.createPlaybackEngine});return a&&t?new s(c,t,{onFallback:e=>console.warn(`[persona] Runtype read-aloud failed; using browser voice. ${e.message}`)}):c});if(a&&t)return i&&console.warn(`[persona] textToSpeech.provider 'runtype' is missing an agentId; using the browser voice. Set textToSpeech.agentId (or voiceRecognition.provider.runtype.agentId).`),t}return t}setupVoice(e){try{let t=e||this.getVoiceConfigFromConfig();if(!t)throw Error(`Voice configuration not provided`);this.cleanupVoice();let n=this.#te,r=++this.#T;this.#w=mu().then(async e=>{await n,r===this.#T&&this.#ae(e,e.createVoiceProvider(t))}).catch(e=>{console.error(`Failed to setup voice:`,e)}).finally(()=>{r===this.#T&&(this.#w=null)})}catch(e){console.error(`Failed to setup voice:`,e)}}#ae(e,t){this.#C=t;let n=this;e.wireSessionVoice({session:this,provider:()=>n.#C,generation:()=>n.#T,get keyed(){return n.#ne},set keyed(e){n.#ne=e},get pendingUser(){return n.#Q},set pendingUser(e){n.#Q=e},get pendingAssistant(){return n.#$},set pendingAssistant(e){n.#$=e},turns:()=>n.#ee,busy:()=>n.#oe(),setStreaming:e=>n.#kt(e),setDelegation:e=>{n.#re=e},setLevel:e=>{n.#E=e},setStatus:e=>{n.#O=e,n.#D=e===`listening`},settlePending:e=>n.#ce(e)},t,e.KeyedVoiceTranscript,e.createVoiceSessionBridge)}async toggleVoice(){let e=this.#T;if(!this.#C&&this.#w&&await this.#w,e===this.#T){if(!this.#C)console.error(`Voice not configured`);else if(this.#D)await this.#C.stopListening();else{this.stopSpeaking();try{await this.#C.startListening()}catch(e){console.error(`Failed to start voice:`,e)}}}}prewarmVoice(){if(!_u(this.config.voiceRecognition?.provider)){this.warmClientSession();return}let e=this.#T,t=()=>{let t=this.#C;t?.prewarm&&e===this.#T&&(this.#D||this.isBargeInActive()||Promise.resolve().then(()=>t.prewarm?.()).catch(()=>{}))};!this.#C&&this.#w?this.#w.then(t,()=>{}):t()}#oe(){return!!this.abortController||this.webMcpResolveControllers.size>0||this.webMcpAwaitBatches.size>0||this.#f||this.status===`resuming`}cleanupVoice(){let e=this.#C!==null;if(this.#T++,this.#w=null,this.#C){let e=this.#C;this.#C=null,this.#te=this.#se(e)}this.#D=!1,this.#O=`disconnected`,this.#ce(!0),this.#ne?.settle(),this.#ne=null,this.#ee=new gf,e&&this.callbacks.onVoiceStatusChanged?.(`disconnected`)}async#se(e){try{await e.disconnect()}catch(e){console.error(`Failed to disconnect voice:`,e)}}#ce(e){let t=e?this.#Q:null,n=this.#$;(t||n)&&(n&&this.#ee.cancel(),e&&(this.#Q=null),this.#$=null,n&&this.ttsSpokenMessageIds.add(n),this.messages=this.messages.flatMap(e=>e.id!==t&&e.id!==n?[e]:e.id===n&&!e.content.trim()?[]:[{...e,streaming:!1,voiceProcessing:!1}]),this.callbacks.onMessagesChanged([...this.messages]),n&&this.#kt(!1))}getVoiceConfigFromConfig(){if(!this.config.voiceRecognition?.provider)return;let e=this.config.voiceRecognition.provider;switch(e.type){case`runtype`:return{type:`runtype`,runtype:{agentId:e.runtype?.agentId??this.config.agentId??``,clientToken:e.runtype?.clientToken??this.config.clientToken,host:e.runtype?.host??this.config.apiUrl,voiceId:e.runtype?.voiceId,createPlaybackEngine:e.runtype?.createPlaybackEngine,prewarmMode:e.runtype?.prewarmMode,attachIdleMs:e.runtype?.attachIdleMs,clientDelegation:e.runtype?.clientDelegation,callContext:e.runtype?.callContext,approvalTimeoutMs:e.runtype?.approvalTimeoutMs,disclosureText:e.runtype?.disclosureText}};case`browser`:return{type:`browser`,browser:{language:e.browser?.language||`en-US`,continuous:e.browser?.continuous}};case`custom`:return{type:`custom`,custom:e.custom};default:return}}async initClientSession(){if(!this.isClientTokenMode())return null;this.config.features?.history?.enabled&&(await this.historyInternals.historyBootstrapReady,this.#W=this.historyInternals.getStoredConversationRevision?.()??null,this.#G=!0);try{let e=await this.client.initSession();return this.setClientSession(e),e}catch(e){return this.callbacks.onError?.(e instanceof Error?e:Error(String(e))),null}}warmClientSession(){let e=!this.messages.length;this.client.warmSession().then(t=>{t&&this.client.getClientSession()===t&&this.setClientSession(t,e)})}setClientSession(e,t){this.clientSession=e,this.#le(e,t)}#le(e,t=!this.messages.length){if(this.#I||!e.config.welcomeMessage||!t)return;let n=this.messages[0],r={id:`welcome-${Date.now()}`,role:`assistant`,content:e.config.welcomeMessage,createdAt:n?.createdAt??(/* @__PURE__ */ new Date()).toISOString(),sequence:n?(n.sequence??0)-1:this.#It()};this.#Pt(r)}getClientSession(){return this.clientSession??this.client.getClientSession()}isSessionValid(){let e=this.getClientSession();return e?/* @__PURE__ */ new Date<e.expiresAt:!1}clearClientSession(){this.clientSession=null,this.client.clearClientSession()}getClient(){return this.client}async submitMessageFeedback(e,t){return this.client.submitMessageFeedback(e,t)}async submitCSATFeedback(e,t){return this.client.submitCSATFeedback(e,t)}async submitNPSFeedback(e,t){return this.client.submitNPSFeedback(e,t)}setHistoryInternals(e){e.historyProvider!==this.historyInternals.historyProvider&&(this.#M+=1,this.#N+=1,this.config.backgroundConversations&&this.cancel(),this.#ut()),this.historyInternals=this.#ue(e),this.client.setHistoryInternals(this.historyInternals),this.#Oe()}destroy(){this.#ut(),this.#M+=1,this.#N+=1,this.cancel(),this.#t=void 0,this.cleanupVoice(),this.#K?.(),this.#K=null,this.#q=null}#ue(e){let t=e.onHistoryContinuityChanged;return{...e,onHistoryContinuityChanged:e=>{this.#De(e),t?.(e)}}}get#de(){return this.historyInternals.historyProvider??null}#fe(){let e=this.#de;if(!e)throw new If(`history_unavailable`,`No conversation history provider is installed`);return e}#pe(e){let t=this.#fe(),n=e??this.config.features?.history?.scope,r=this.config.getIdentityProof?`verified-user`:`browser`,i=n??(t.capabilities.scopes.includes(r)?r:t.capabilities.scopes[0]??r);if(!t.capabilities.scopes.includes(i))throw new zd(`unsupported_scope`,`This history scope is not supported.`);return{scope:i}}getHistoryState(){return{activeConversationId:this.#k,conversationRevision:this.#A,nextMessageCursor:this.#j,recovery:this.#L,sendBlocked:this.#R}}getActiveConversationId(){return this.#k}#me(){this.callbacks.onHistoryStateChanged?.(this.getHistoryState())}#he(e,t){this.callbacks.onHistoryNotice?.({code:e,message:t})}async awaitHistorySettled(){let e=this.#z;e&&await e.catch(()=>{});let t=this.#V;t&&await t.catch(()=>{})}#ge(){if(this.streaming||this.status===`paused`||this.status===`resuming`)throw new If(`conversation_busy`,`Finish or stop the current turn before switching conversations`)}listConversations(e){return this.#fe().list({...e?.cursor?{cursor:e.cursor}:{},...e?.limit===void 0?{}:{limit:e.limit},...e?.targetId===void 0?{}:{targetId:e.targetId},context:this.#pe(e?.scope)})}async openConversation(e,t){let n=this.#fe();t?.busy===`background`&&this.assertBackgroundSwitchable(),t?.busy===`stop`&&this.cancel(),t?.busy!==`background`&&this.#ge();let r=this.#pe(t?.scope),i=++this.#M,a=this.#N;if(t?.busy===`background`&&await this.#lt(),await this.awaitHistorySettled(),i!==this.#M)throw new If(`superseded`,`A later selection won`);let o=await n.getPage(e,{context:r});if(i!==this.#M)throw new If(`superseded`,`A later selection won`);let s=await n.prepareOpen(e,{context:r}),c=this.#F.then(async()=>{if(i!==this.#M)throw s.discard(),new If(`superseded`,`A later selection won`);t?.busy===`stop`&&this.cancel();try{t?.busy===`background`?this.assertBackgroundSwitchable():this.#ge()}catch(e){throw s.discard(),e}let r=this.#k,c=this.#e;t?.onBeforeCommit?.(),t?.busy===`background`&&(this.#m=[]),this.#I=!0,this.#P=a;try{if(await this.#Ce(s),a!==this.#N||n!==this.#de)throw new If(`superseded`,`The history identity changed`);if(t?.busy===`background`&&r&&this.#u){let e={conversationId:r,handle:this.#u,messages:this.messages,artifacts:this.getArtifacts(),selectedArtifactId:this.#b,streamCheckpoint:this.#p};this.#h?.save(e)}this.#k=s.conversationId||e,this.#A=s.conversationRevision||o.conversationRevision||null,this.#j=o.nextCursor,this.#L=null,this.#R=!1,this.#Te();for(let e of o.messages)this.#H.set(e.id,e.content);this.#we();let i=this.#h?.take(this.#k);return this.hydrateMessages(i?.messages??o.messages),i&&(this.hydrateArtifacts(i.artifacts,i.selectedArtifactId,!0),this.#mt(i)),t?.onCommitted?.(),this.#me(),{summary:o.summary,nextMessageCursor:o.nextCursor}}finally{this.#I=!1,this.#P=null;let e=this.#m;if(this.#m=null,e&&this.#e===c&&this.#k===r)for(let{event:t,readOnlyReplay:n}of e)this.handleEvent(t,n)}}),l=c.then(()=>{},()=>{});this.#F=l,this.#z=l;try{return await c}finally{this.#z===l&&(this.#z=null)}}loadOlderMessages(e,t,n){let r=this.#fe(),i=this.#pe(n?.scope),a=t??this.#j;if(!a)return Promise.resolve({messages:[],nextMessageCursor:null});let o=`${e} ${a}`,s=this.#B.get(o);if(s)return s;let c=this.#_e(r,e,a,i).finally(()=>{this.#B.delete(o)});return this.#B.set(o,c),c}async#_e(e,t,n,r){let i=this.messages[0]?.createdAt,a=await e.getPage(t,{cursor:n,...i?{beforeCreatedAt:i}:{},context:r});if(this.#k&&this.#k!==t)return{messages:[],nextMessageCursor:a.nextCursor};let o=this.#ve(a.messages),s=ld(this.messages,o);this.messages=this.#Rt(s.map(e=>this.#Ft(e))),this.#j=a.nextCursor;for(let e of a.messages)this.#H.set(e.id,e.content);return this.historyInternals.setStoredMessageCursor?.(a.nextCursor),this.callbacks.onMessagesChanged([...this.messages]),this.#me(),{messages:o,nextMessageCursor:a.nextCursor}}#ve(e){let t=new Map(this.messages.map(e=>[e.id,e]));return e.map(e=>{let n=t.get(e.id);if(n){if(this.webMcpApprovalResolvers.has(n.id)||n.approval&&Pu(n.approval)&&n.approval.id===e.approval?.id&&n.approval.status!==`pending`&&e.approval?.status===`pending`)return n;let t=n.agentMetadata?.executionId,r=[...n.toolCall?[n.toolCall]:[],...n.tools??[]];if(t&&r.some(e=>this.webMcpInflightKeys.has(`${t}:${e.id}`)||this.webMcpResolvedKeys.has(`${t}:${e.id}`)))return n}return Fu(e)})}async startNewConversation(e){let t=this.#fe(),n=this.#pe(e?.scope),r=++this.#M,i=this.#N;await this.awaitHistorySettled();let a=await t.prepareStartNew({context:n}),o=this.#F.then(async()=>{if(r!==this.#M)throw a.discard(),new If(`superseded`,`A later action won`);e?.onBeforeCommit?.(),this.#I=!0,this.#P=i;try{await this.#Ce(a)}finally{this.#I=!1,this.#P=null}if(i!==this.#N||t!==this.#de)throw new If(`superseded`,`The history identity changed`);this.#Ee(!1,!0),this.#k=a.conversationId||null,this.#A=a.conversationRevision||null,this.#j=null,this.#L=null,this.#R=!1,this.#we(),this.clientSession&&this.#le(this.clientSession),e?.onCommitted?.(),this.#me()}),s=o.then(()=>{},()=>{});this.#F=s,this.#z=s;try{await o}finally{this.#z===s&&(this.#z=null)}}async#ye(e,t=!1){this.#Ee(t),await this.#Ce(e),this.#k=e.conversationId||null,this.#A=e.conversationRevision||null,this.#j=null,this.#L=null,this.#R=!1,this.#we(),this.#me()}async deleteConversation(e,t){let n=this.#fe(),r=this.#pe(t?.scope);await this.awaitHistorySettled(),await n.delete(e,{context:r}),this.#h?.clear(e),e===this.#k&&await this.#be(r)}async updateConversation(e,t,n){let r=this.#fe();if(!r.update)throw new If(`history_unavailable`,`This history provider cannot update conversations`);let i=this.#pe(n?.scope);return await this.awaitHistorySettled(),r.update(e,t,{context:i})}canUpdateConversations(){return typeof this.#de?.update==`function`}async clearConversationHistory(e){let t=this.#fe(),n=this.#pe(e?.scope);await this.awaitHistorySettled();let r=await t.deleteAll({...e?.targetId===void 0?{}:{targetId:e.targetId},context:n});return this.#ut(),await this.#be(n),r}async resetHistoryDevice(){let e=this.#fe();if(!e.resetDevice)throw new If(`history_unavailable`,`This history provider cannot reset the device`);this.#ut(),this.#M+=1,this.#N+=1,this.#V=null;try{return await e.resetDevice()}finally{this.#Ee(),this.#k=null,this.#A=null,this.#j=null,this.#L=null,this.#R=!1,this.#me()}}async#be(e){this.#M+=1,this.#N+=1,this.#V=null,this.#Ee(),this.#k=null,this.#A=null,this.#j=null,this.#R=!0,this.#L=null,this.#me(),await this.#xe(e)}async#xe(e){let t=this.#de;if(!t)this.#R=!1,this.#me();else try{let n=await t.prepareStartNew({context:e});await this.#ye(n)}catch{this.#R=!0,this.#L=`new_conversation_required`,this.#me(),this.#he(`new_conversation_required`,`That conversation was deleted. Start a new conversation to continue.`)}}async#Se(){if(this.#L===`new_conversation_required`&&this.#de&&(this.#L=null,await this.#xe(this.#pe()),this.#L===`new_conversation_required`))throw new If(`new_conversation_required`,`A new conversation is required before sending`)}async#Ce(e){if(await e.commit(),this.#P!==null&&this.#P!==this.#N)return;let t=this.client.getClientSession();t&&t.sessionId!==this.clientSession?.sessionId&&this.bindActivatedSession(t)}bindActivatedSession(e){(this.#P===null||this.#P===this.#N)&&(this.clientSession=e,this.config.setStoredSessionId?.(e.sessionId),e.conversationId&&(this.#k=e.conversationId,this.#A=e.conversationRevision??null,this.config.setStoredConversationId?.(e.conversationId),this.historyInternals.setStoredConversationRevision?.(e.conversationRevision??null)),this.#I||this.#le(e))}#we(){this.#k?this.config.setStoredConversationId?.(this.#k):this.config.clearStoredConversationId?.(),this.historyInternals.setStoredConversationRevision?.(this.#A),this.historyInternals.setStoredMessageCursor?.(this.#j)}#Te(){this.#t=void 0,this.historyInternals.setStoredResumableHandle?.(null),this.agentExecution=null,this.#ot(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear(),this.client.resetClientToolsFingerprint(),this.#H.clear(),this.#Pe(null)}#Ee(e=!1,t=!1){this.client.cancelStreams(),this.stopSpeaking(),this.abortController?.abort(),this.abortController=null,this.#Tt(),this.#rt(),this.#Qe++,this.messages=[],this.#Te(),this.#B.clear(),t||this.config.clearStoredSessionId?.(),this.config.clearStoredConversationId?.(),this.historyInternals.setStoredConversationRevision?.(null),this.historyInternals.setStoredMessageCursor?.(null),e||this.#kt(!1),this.#Ot(`idle`),this.callbacks.onMessagesChanged([...this.messages]),e||this.#a(`cancel`)}#De(e){this.#ut(),this.#M+=1,this.#N+=1,this.#V=null,this.#R=!0,this.#Ee(),this.#k=e.conversationId,this.#A=null,this.#j=null,this.#L=null,this.#me(),this.#he(`history_continuity_reset`,`This browser was reconnected to a different conversation, so the previous messages were cleared.`),this.#z=Promise.resolve().then(()=>{this.#R=!1,this.#z=null,this.#me()})}#Oe(){let e=this.historyInternals.visitorStore??null;e!==this.#q&&(this.#K?.(),this.#K=null,this.#q=e,e&&(this.#K=e.subscribe(e=>this.#ke(e))))}#ke(e){if(e.source!==`external`||e.previousToken===null)return;this.#ut(),this.clientSession=null,this.client.handleExternalCredentialChange(),this.#M+=1,this.#N+=1,this.#V=null,this.#J=!0,this.#Y=null;let t=this.messages.length>0;t||this.#k!==null||(this.config.getStoredConversationId?.()??null)!==null?this.#Ee():(this.config.clearStoredSessionId?.(),this.config.clearStoredConversationId?.(),this.#B.clear(),this.#Pe(null)),this.#k=null,this.#A=null,this.#j=null,this.#L=null,this.#me(),this.callbacks.onHistoryScopeInvalidated?.(),t&&this.#he(`history_continuity_reset`,`This browser's conversation history was reset in another tab, so the previous messages were cleared.`)}#Ae(){return this.#J?(this.#Y||=this.#je().finally(()=>{this.#Y=null}),this.#Y):Promise.resolve()}async#je(){if(!this.isClientTokenMode())this.#J=!1;else try{this.bindActivatedSession(await this.client.initSession()),this.#J=!1}catch{}}reconcileBootConversation(e){let t=this.#de,n=this.clientSession?.conversationId??this.config.getStoredConversationId?.()??this.#k;if(!t||!n)return Promise.resolve();let r=this.#pe(e?.scope);this.#R=!0,this.#me();let i=this.#Me(t,n,r).finally(()=>{this.#R=this.#L!==null,this.#z===i&&(this.#z=null),this.#me()});return this.#z=i,i}async#Me(e,t,n){this.#k=t;let r=this.clientSession?.conversationRevision??this.#A??null,i=this.#G?this.#W:this.historyInternals.getStoredConversationRevision?.()??null;if(this.#G=!1,this.#j=this.historyInternals.getStoredMessageCursor?.()??this.#j,await this.replayPendingProjections(),r&&i&&r===i){this.#A=r;return}let a=await e.getPage(t,{context:n}),o=this.#ve(a.messages),s=new Set(a.messages.map(e=>e.id)),c=this.messages.some(e=>s.has(e.id)),l=a.messages[0]?.createdAt,u;if(!c)u=o.map(e=>this.#Ft(e));else{let e=this.#u?this.#d:null;u=ld(this.messages.filter(t=>s.has(t.id)||t.id===e?!0:l!==void 0&&t.createdAt<l),o).map(e=>this.#Ft(e))}this.#j=a.nextCursor,this.#A=a.conversationRevision||r||null,this.#H.clear();for(let e of a.messages)this.#H.set(e.id,e.content);this.#we(),this.#t=void 0,this.messages=this.#Rt(u),this.callbacks.onMessagesChanged([...this.messages])}#Ne(){return this.config.features?.history?.enabled===!0&&this.isClientTokenMode()}#Pe(e){this.#U=e,this.historyInternals.setPendingDisplayProjections?.(e)}#Fe(){return this.historyInternals.getPendingDisplayProjections?.()??this.#U}#Ie(e){if(this.#Ne())for(let t of e){let e=cd(t);e!==void 0&&this.#H.set(t.id,e)}}#Le(){if(!this.#Ne())return;let e=this.#k;if(!e)return;let t=[];for(let e of this.messages){if(e.role!==`assistant`||e.streaming)continue;let n=cd(e);n!==void 0&&this.#H.get(e.id)!==n&&t.push({id:e.id,displayContent:n})}t.length!==0&&(this.#Pe({conversationId:e,messageIds:t.map(e=>e.id)}),this.#Re(e,t))}#Re(e,t){let n=(this.#V??Promise.resolve()).catch(()=>{}).then(()=>this.#ze(e,t,!1)).finally(()=>{this.#V===n&&(this.#V=null)});this.#V=n}async#ze(e,t,n){if(this.#k!==e)return;let r=t.filter(e=>this.#H.get(e.id)!==e.displayContent);if(r.length===0)this.#Ve(e,t);else try{let{conversationRevision:n}=await this.client.finalizeDisplayProjections(e,r);for(let e of r)this.#H.set(e.id,e.displayContent);this.#k===e&&n&&(this.#A=n),this.#Ve(e,t)}catch(i){if(!n&&this.#Be(i)){await this.#ze(e,r,!0);return}if(i instanceof Fd&&(i.code===`not_found`||i.code===`conversation_deleted`)){this.#Ve(e,t);return}this.#he(`projection_finalization_failed`,`Some message formatting could not be saved for history; it will be retried.`)}}#Be(e){return e instanceof Fd?e.code===`request_failed`:e instanceof Error}#Ve(e,t){let n=this.#Fe();if(!n||n.conversationId!==e)return;let r=new Set(t.map(e=>e.id)),i=n.messageIds.filter(e=>!r.has(e));this.#Pe(i.length?{conversationId:e,messageIds:i}:null)}async replayPendingProjections(){if(!this.#Ne())return;let e=this.#Fe();if(!e)return;if(this.#k&&e.conversationId!==this.#k){this.#Pe(null);return}let t=[];for(let n of e.messageIds){let e=this.messages.find(e=>e.id===n);e&&typeof e.content==`string`&&t.push({id:n,displayContent:e.content})}t.length===0?this.#Pe(null):(this.#Re(e.conversationId,t),await this.#V?.catch(()=>{}))}#He(){this.#k&&(this.#A=null,this.historyInternals.setStoredConversationRevision?.(null))}async#Ue(){await this.awaitHistorySettled(),await this.#Ae(),this.#L===`new_conversation_required`&&await this.#Se()}static#We(e){return e instanceof Fd&&e.code===`conversation_deleted`}async#Ge(t,n,r,i,a){let o=this.#e,s=e=>{this.#e===o&&this.handleEvent(e)};this.#Ie(t);try{await this.client.dispatch({messages:t,signal:n.signal,assistantMessageId:r,composerOptions:a?.composerOptions,interrupt:a?.interrupt,voiceSpoken:a?.voiceSpoken,voicePriorToolResults:a?.voicePriorToolResults},s);return}catch(t){if(n.signal.aborted||this.#e!==o||!e.#We(t))throw t;let c=await this.#Ke(i);if(!c)throw t;this.#Ie([c]),await this.client.dispatch({messages:[c],signal:n.signal,assistantMessageId:r,composerOptions:a?.composerOptions,voiceSpoken:a?.voiceSpoken,voicePriorToolResults:a?.voicePriorToolResults},s)}}async#Ke(e){let t=this.messages.find(t=>t.id===e);if(!t)return null;let n={...t};this.#M+=1,this.#N+=1,this.#V=null,this.#Ee(!0),this.#k=null,this.#A=null,this.#j=null,this.#I=!0;try{let e=this.#de;if(e){let t=await e.prepareStartNew({context:this.#pe()});await this.#ye(t,!0)}else{this.client.clearClientSession();let e=await this.client.initSession();this.bindActivatedSession(e)}}catch{return this.#R=!0,this.#L=`new_conversation_required`,this.#me(),this.#he(`new_conversation_required`,`That conversation was deleted. Start a new conversation to continue.`),null}finally{this.#I=!1}return this.#Pt(n),this.#kt(!0),this.#he(`conversation_deleted_recovered`,`That conversation was deleted. Started a new conversation.`),this.messages.find(e=>e.id===n.id)??n}updateConfig(e){let t=this.config.features?.artifacts?.display,n={...this.config,...e},r=gu(this.config,n),i=Ff(this.config,n);i&&(this.cancel(),this.#ut()),this.config=n,r&&(this.cleanupVoice(),n.voiceRecognition?.enabled===!0&&bu(n)&&this.setupVoice());let a=JSON.stringify(t)!==JSON.stringify(n.features?.artifacts?.display);if(!i){this.client.updateConfig(n),a&&this.#at();return}this.#rt(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear();let o=this.client.getSSEEventCallback();this.#M+=1,this.#N+=1,this.client=new Rd(this.config,this.historyInternals),a&&this.#at(),this.#Xe(),o&&this.client.setSSEEventCallback(o)}getMessages(){return[...this.messages]}getStatus(){return this.status}getRunActivity(){return this.#t}isStreaming(){return this.streaming}injectTestEvent(e){this.handleEvent(e)}injectMessage(e){let t=this.#qe(e);return this.upsertMessage(t),t}#qe(e){let{role:t,content:n,llmContent:r,contentParts:i,id:a,createdAt:o,sequence:s,streaming:c=!1,voiceProcessing:l,voiceCaption:u,rawContent:d}=e;return{id:a??(t===`user`?Uc():t===`assistant`?Wc():`${t===`operator`?`operator`:`system`}-${Date.now()}-${Math.random().toString(16).slice(2)}`),role:t,content:n,createdAt:o??(/* @__PURE__ */ new Date()).toISOString(),sequence:s??this.#It(),streaming:c,...r!==void 0&&{llmContent:r},...i!==void 0&&{contentParts:i},...l!==void 0&&{voiceProcessing:l},...u&&{voiceCaption:u},...d!==void 0&&{rawContent:d},...e.dispatchError!==void 0&&{dispatchError:e.dispatchError},...e.author!==void 0&&{author:{...e.author}}}}injectAssistantMessage(e){return this.injectMessage({...e,role:`assistant`})}injectUserMessage(e){return this.injectMessage({...e,role:`user`})}injectSystemMessage(e){return this.injectMessage({...e,role:`system`})}injectMessageBatch(e){let t=e.map(e=>this.#qe(e));return this.messages=this.#Rt([...this.messages,...t]),this.callbacks.onMessagesChanged([...this.messages]),t}injectComponentDirective(e){let{component:t,props:n={},text:r=``,llmContent:i,id:a,createdAt:o,sequence:s}=e,c={text:r,component:t,props:n};return this.injectMessage({role:`assistant`,content:r,rawContent:JSON.stringify(c),...i!==void 0&&{llmContent:i},...a!==void 0&&{id:a},...o!==void 0&&{createdAt:o},...s!==void 0&&{sequence:s}})}updateComponentProps(e,t){let n=this.messages.find(t=>t.id===e),r=n&&ff(n);return!n||n.role!==`assistant`||n.variant||!r?!1:(this.upsertMessage({...n,rawContent:JSON.stringify({text:n.content,component:r.component,props:t})}),!0)}removeComponentMessage(e){let t=this.messages.find(t=>t.id===e);return!t||t.role!==`assistant`||t.variant||!ff(t)?!1:(this.messages=this.messages.filter(t=>t.id!==e),this.callbacks.onMessagesChanged([...this.messages]),!0)}async#Je(e,t,n){let r;try{r=await n()}catch{return}let i=r.blocks.join(`
17
+ `),t.trim()}var Sf,Cf=B((()=>{Sf=class{#e=null;#t=0;#n=[];#r=[];#i=[];#a=!1;#o=!1;#s=0;#c=!1;#l=!1;#u;#d=[];#f=0;#p=!1;#m;#h;#g;#_=null;constructor(e=24e3,t={}){this.#h=e;let n=Math.max(0,t.prebufferMs??0);this.#g=Math.round(e*n/1e3),this.#u=this.#g>0}#v(){if(!this.#e){let e=typeof window<`u`?window:void 0;if(!e)throw Error(`AudioPlaybackManager requires a browser environment`);let t=e.AudioContext||e.webkitAudioContext;this.#e=new t({sampleRate:this.#h})}let e=this.#e;return e.state===`suspended`&&!this.#l&&e.resume(),e}enqueue(e){if(e.length===0)return;let t=e;if(this.#_){let n=new Uint8Array(this.#_.length+e.length);n.set(this.#_),n.set(e,this.#_.length),t=n,this.#_=null}if(t.length%2!=0&&(this.#_=new Uint8Array([t[t.length-1]]),t=t.subarray(0,t.length-1)),t.length===0)return;let n=this.#S(t);n.length!==0&&(this.#u?(this.#d.push(n),this.#f+=n.length,clearTimeout(this.#m),this.#f>=this.#g?this.#y():this.#p&&(this.#m=setTimeout(()=>this.#y(),this.#g/this.#h*1e3))):this.#b(n))}markStreamEnd(){this.#d.length>0&&this.#y(),this.#o=!0,this.#x()}flush(){for(let e of this.#n){e.onended=null;try{e.stop(),e.disconnect()}catch{}}this.#n=[],this.#s=0,this.#t=0,this.#a=!1,this.#o=!1,this.#r=[],this.#i=[],this.#_=null,this.#d=[],this.#f=0,this.#u=this.#g>0,this.#c=!1,clearTimeout(this.#m)}setContinuousMode(e){this.#p=e}isPlaying(){return this.#a}onFinished(e){this.#r.push(e)}onStarted(e){this.#i.push(e)}pause(){this.#l=!0,this.#e&&this.#e.state===`running`&&this.#e.suspend()}resume(){this.#l=!1,this.#e&&this.#e.state===`suspended`&&this.#e.resume()}async destroy(){this.flush(),this.#e&&=(await this.#e.close(),null)}#y(){this.#u=!1;let e=this.#d;this.#d=[],this.#f=0;for(let t of e)this.#b(t)}#b(e){if(e.length===0)return;let t=this.#v(),n=t.createBuffer(1,e.length,this.#h);n.getChannelData(0).set(e);let r=t.createBufferSource();r.buffer=n,r.connect(t.destination);let i=t.currentTime;if(this.#t===0?this.#t=i:this.#t<i&&(this.#t=i,this.#g>0&&(this.#u=!0)),r.start(this.#t),this.#t+=n.duration,this.#n.push(r),this.#s++,this.#a=!0,!this.#c){this.#c=!0;let e=this.#i.slice();this.#i=[];for(let t of e)t()}r.onended=()=>{let e=this.#n.indexOf(r);e!==-1&&(this.#n.splice(e,1),this.#s--,this.#x())}}#x(){if(this.#o&&this.#s<=0&&this.#d.length===0){this.#a=!1,this.#o=!1;let e=this.#r.slice();this.#r=[];for(let t of e)t()}}#S(e){let t=Math.floor(e.length/2),n=new Float32Array(t),r=new DataView(e.buffer,e.byteOffset,e.byteLength);for(let e=0;e<t;e++){let t=r.getInt16(e*2,!0);n[e]=t/32768}return n}}}));function wf(e){return e.replace(/\/+$/,``)}async function Tf(e){try{let t=await e.json();return t.detail?`${t.error??`Runtype TTS ${e.status}`}: ${t.detail}`:t.error??`Runtype TTS request failed (${e.status})`}catch{return`Runtype TTS request failed (${e.status})`}}var Ef,Df=B((()=>{Cf(),Ef=class{#e;#t;#n;#r;constructor(e){this.id=`runtype-tts`,this.supportsPause=!0,this.#e=null,this.#t=null,this.#n=0,this.#r=e}#i(){return this.#t??=Promise.resolve(this.#r.createPlaybackEngine?this.#r.createPlaybackEngine():new Sf(24e3,{prebufferMs:this.#r.prebufferMs??200})).then(e=>this.#e=e)}speak(e,t){let n=++this.#n;this.#a(n,e,t)}async#a(e,t,n){try{let r=await this.#i();if(e!==this.#n)return;r.flush(),r.resume(),r.onStarted(()=>{e===this.#n&&n.onStart?.()}),r.onFinished(()=>{e===this.#n&&n.onEnd?.()});let i=`${wf(this.#r.host)}/v1/agents/${encodeURIComponent(this.#r.agentId)}/speak`,a=await fetch(i,{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${this.#r.clientToken}`},body:JSON.stringify({text:t.text,voice:t.voice??this.#r.voice,format:`pcm`})});if(e!==this.#n)return;if(!a.ok||!a.body)throw Error(await Tf(a));let o=a.body.getReader();for(;;){let{done:t,value:n}=await o.read();if(e!==this.#n){await o.cancel().catch(()=>{});return}if(t)break;n&&n.byteLength>0&&r.enqueue(n)}r.markStreamEnd()}catch(t){if(e!==this.#n)return;let r=t instanceof Error?t:Error(String(t));this.#r.onError?.(r),n.onError?.(r)}}pause(){this.#e?.pause()}resume(){this.#e?.resume()}stop(){this.#n++,this.#e?.flush()}destroy(){this.#n++,this.#e?.destroy(),this.#e=null,this.#t=null}}})),Of,kf=B((()=>{Of=class{#e;#t;#n;#r;constructor(e,t,n={}){this.id=`fallback`,this.#t=e,this.#n=t,this.#r=n,this.#e=e}get supportsPause(){return this.#e.supportsPause}speak(e,t){this.#e=this.#t;let n=!1;this.#t.speak(e,{onStart:()=>{n=!0,t.onStart?.()},onEnd:()=>t.onEnd?.(),onError:r=>{n?t.onError?.(r):(this.#r.onFallback?.(r),this.#e=this.#n,this.#n.speak(e,t))}})}pause(){this.#e.pause()}resume(){this.#e.resume()}stop(){this.#e.stop()}destroy(){this.#t.destroy?.(),this.#n.destroy?.()}}})),Af=/* @__PURE__ */ Vt({FallbackSpeechEngine:()=>Of,RuntypeSpeechEngine:()=>Ef}),jf=B((()=>{Df(),kf()}));const Mf=()=>Promise.resolve().then(()=>(jf(),Af));H();const{setLoader:Nf,load:Pf}=V({fallbackImport:()=>import(`@runtypelabs/persona/session-reconnect`)}),Ff=Pf;Kn(),ia(),qc(),Ks(),$n(),dd();const If=/* @__PURE__ */ `apiUrl.clientToken.flowId.agentId.target.targetProviders.agent.agentOptions.headers.getHeaders.webmcp.streamParser.parserType.contextProviders.requestMiddleware.modelMessageTransform.customFetch.backgroundConversations.parseSSEEvent.onSessionInit.onSessionExpired.getStoredSessionId.setStoredSessionId.getIdentityProof.identityProvider.getStoredConversationId.setStoredConversationId.clearStoredConversationId.clearStoredSessionId`.split(`.`);function Lf(e,t){return If.some(n=>e[n]!==t[n])}var Rf=class extends Error{constructor(e,t){super(t),this.name=`SessionHistoryError`,this.code=e}};function zf(e,t){let n=e instanceof Error?e:Error(String(e));if(typeof t==`string`)return t;if(typeof t==`function`)return t(n);let r=n.message.trim(),i=/^(Failed to fetch|fetch failed|Load failed|NetworkError when attempting to fetch resource\.?)$/i.test(r),a=/^(Chat backend|Agent execution) request failed: \d{3}\b/.test(r),o=i?`Sorry: I couldn't reach the assistant. Please check your connection and try again.`:a?`Sorry: the chat service couldn't complete the request. Please try again.`:`Sorry: the chat encountered an unexpected error. Please reload the page and try again.`;return r?`${o}\n\n_Details: ${r}_`:o}const Bf=e=>Wn(e)||e===`suggest_replies`;var Vf=class e{#e;#t;#n;#r;#i(e){if(this.#a(`cancel`),this.#n=!1,this.#e={runId:`run-${Gc()}`,timestamp:Date.now()},this.#t={run:this.#e,messageIds:/* @__PURE__ */ new Set},e)for(let t of this.messages)t.role===`assistant`&&t.agentMetadata?.executionId===e&&this.#t.messageIds.add(t.id);this.callbacks.onRunStarted?.({...this.#e})}#a(e,t=this.#e){if(t!==this.#e)return;this.#r!==null&&clearTimeout(this.#r),this.#r=null;let n=this.#e;if(this.#e=null,n){let t=n;t.timestamp=Date.now(),t.outcome=e,this.callbacks.onRunFinished?.(t)}}#o(){if(!this.#e||this.#r!==null)return;let e=this.#e;this.#r=setTimeout(()=>{this.#r=null,this.#e===e&&(!this.#n&&(this.streaming||this.#f||this.#_t()||this.webMcpAwaitBatches.size||this.webMcpResolveControllers.size)||this.#a(this.#n?`error`:`success`))},0)}#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;#C;#w;#T;#E;#D;#O;#k;#A;#j;#M;#N;#P;#F;#I;#L;#R;#z;#B;#V;#H;#U;#W;#G;#K;#q;#J;#Y;constructor(e={},t,n={}){this.config=e,this.callbacks=t,this.historyInternals=n,this.status=`idle`,this.#e=null,this.#n=!1,this.#r=null,this.streaming=!1,this.#s=/* @__PURE__ */ new Map,this.abortController=null,this.#l=Date.now(),this.clientSession=null,this.agentExecution=null,this.#u=null,this.#d=null,this.#f=!1,this.#m=null,this.#h=null,this.#g=null,this.#_=null,this.#v=null,this.#y=null,this.artifacts=/* @__PURE__ */ new Map,this.#b=null,this.webMcpInflightKeys=/* @__PURE__ */ new Set,this.webMcpResolvedKeys=/* @__PURE__ */ new Set,this.webMcpResolveControllers=/* @__PURE__ */ new Set,this.#x=0,this.webMcpApprovalResolvers=/* @__PURE__ */ new Map,this.#S=0,this.approvalTokens=/* @__PURE__ */ new Map,this.webMcpAwaitBatches=/* @__PURE__ */ new Map,this.#C=null,this.#w=null,this.#T=0,this.#E=0,this.#D=!1,this.#O=`disconnected`,this.#k=null,this.#A=null,this.#j=null,this.#M=0,this.#N=0,this.#P=null,this.#F=Promise.resolve(),this.#I=!1,this.#L=null,this.#R=!1,this.#z=null,this.#B=/* @__PURE__ */ new Map,this.#V=null,this.#H=/* @__PURE__ */ new Map,this.#U=null,this.#W=null,this.#G=!1,this.#K=null,this.#q=null,this.#J=!1,this.#Y=null,this.#Q=null,this.#$=null,this.#ee=new vf,this.#te=Promise.resolve(),this.#ne=null,this.#re=null,this.ttsSpokenMessageIds=/* @__PURE__ */ new Set,this.readAloud=new _f(()=>this.#ie()),this.#Ze=null,this.#Qe=0,this.handleEvent=(e,t=!1)=>{if(this.#m){this.#m.push({event:e,readOnlyReplay:t});return}let n=this.#re,r=!1;if(n&&(e.type===`error`||e.type===`status`&&e.status===`error`?n.failed=!0:e.type===`message`&&e.message.role===`assistant`&&(n.dropped||this.ttsSpokenMessageIds.add(e.message.id),n.ids.includes(e.message.id)||n.ids.push(e.message.id),r=!0)),e.type===`message`){this.#e&&!t&&e.message.role===`assistant`&&this.#t?.messageIds.add(e.message.id),this.upsertMessage(e.message),(e.message.agentMetadata?.awaitingLocalTool||e.message.variant===`approval`&&e.message.approval?.status===`pending`)&&this.#dt(`needs-attention`),r&&n.onUpdate?.(),e.message.variant===`approval`&&e.message.approval&&e.message.approval.status!==`pending`&&this.#s.set(e.message.id,this.#c),e.message.role===`assistant`&&!e.message.variant&&e.message.streaming&&(this.#d=e.message.id),(e.message.variant===`approval`||e.message.agentMetadata?.awaitingLocalTool===!0)&&dl().catch(()=>{});let i=e.message.toolCall,a=!!i?.name&&(Wn(i.name)||i.name===`suggest_replies`&&ra(this.config).enabled);e.message.agentMetadata?.awaitingLocalTool===!0&&a&&!t&&this.messages.find(t=>t.id===e.message.id)?.agentMetadata?.awaitingLocalTool===!0&&this.#et(e.message),e.message.agentMetadata?.executionId&&(!this.agentExecution||this.agentExecution.executionId!==e.message.agentMetadata.executionId?this.agentExecution={executionId:e.message.agentMetadata.executionId,agentId:``,agentName:e.message.agentMetadata.agentName??``,status:`running`,currentIteration:e.message.agentMetadata.iteration??0,maxTurns:0}:e.message.agentMetadata.iteration!==void 0&&(this.agentExecution.currentIteration=e.message.agentMetadata.iteration))}else if(e.type===`cursor`)this.#p=e.checkpoint,this.#ht(e.id);else if(e.type===`status`){if(e.executionId&&(this.agentExecution={executionId:e.executionId,agentId:``,agentName:``,status:`running`,currentIteration:0,maxTurns:0},this.#dt(`running`)),e.status===`idle`&&!e.terminal&&this.#gt()){this.#vt();return}if(e.status===`error`?this.#dt(`failed`):e.terminal&&e.status===`idle`&&this.#dt(`completed`),this.#Ot(e.status),e.status===`connecting`)this.#kt(!0);else if(e.status===`idle`||e.status===`error`){this.#_t()||this.#Et(),this.webMcpResolveControllers.size===0&&(this.#kt(!1),this.abortController=null,this.#He(),this.#Le());let t=this.webMcpAwaitBatches.size>0||this.webMcpResolveControllers.size>0;this.agentExecution?.status===`running`&&(e.status===`error`?this.agentExecution.status=`error`:t||(this.agentExecution.status=`complete`)),this.#tt()}}else e.type===`error`?(this.#dt(`failed`),this.#Ot(`error`),this.#Et(),this.webMcpResolveControllers.size===0&&(this.#kt(!1),this.abortController=null),this.agentExecution?.status===`running`&&(this.agentExecution.status=`error`),this.callbacks.onError?.(e.error)):(e.type===`artifact_start`||e.type===`artifact_delta`||e.type===`artifact_update`||e.type===`artifact_complete`)&&this.#ct(e)},this.historyInternals=this.#ue(n),this.messages=[...e.initialMessages??[]].map(e=>({...Iu(e),sequence:e.sequence??this.#It()})),this.messages=this.#Rt(this.messages),this.client=new Bd(e,this.historyInternals),this.#Oe(),this.#Xe();for(let t of e.initialArtifacts??[])this.artifacts.set(t.id,{...t,status:`complete`});e.initialSelectedArtifactId!=null&&(this.#b=e.initialSelectedArtifactId),this.messages.length&&this.callbacks.onMessagesChanged([...this.messages]),this.artifacts.size>0&&this.#st(),this.callbacks.onStatusChanged(this.status),this.#Z(),this.#X()}#X(){this.config.voiceRecognition?.provider&&hu().catch(()=>{})}#Z(){let e=this.config.textToSpeech;if(e?.provider!==`runtype`||e.createEngine)return;let t=e.host??this.config.apiUrl,n=e.agentId??this.config.voiceRecognition?.provider?.runtype?.agentId??this.config.agentId;t&&n&&this.config.clientToken&&Mf().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 bu(this.config.voiceRecognition?.provider)}isVoiceActive(){return this.#D}getVoiceStatus(){return this.#O}getVoiceNotice(){return this.#C?.takeNotice?.()??null}getVoiceDisclosure(){return this.#C?.getDisclosure?.()??null}getVoiceLevel(){return this.#C?.onLevel?this.#E:null}getVoiceInterruptionMode(){return this.#C?.getInterruptionMode?this.#C.getInterruptionMode():`none`}stopVoicePlayback(){this.#C?.stopPlayback&&(this.#ee.cancel(),this.#ne?.cancel(),this.#C.stopPlayback())}isBargeInActive(){return this.#C?.isBargeInActive?.()??!1}async deactivateBargeIn(){this.#C?.deactivateBargeIn&&await this.#C.deactivateBargeIn()}#Q;#$;#ee;#te;#ne;#re;#ie(){let e=this.config.textToSpeech;if(e?.createEngine)return e.createEngine();let t=gf.isSupported()?new gf({pickVoice:e?.pickVoice}):null;if(e?.provider===`runtype`){let n=e.host??this.config.apiUrl,r=e.agentId??this.config.voiceRecognition?.provider?.runtype?.agentId??this.config.agentId,i=this.config.clientToken,a=e.browserFallback!==!1;if(n&&r&&i)return Mf().then(({RuntypeSpeechEngine:o,FallbackSpeechEngine:s})=>{let c=new o({host:n,agentId:r,clientToken:i,voice:e.voice,prebufferMs:e.prebufferMs,createPlaybackEngine:e.createPlaybackEngine});return a&&t?new s(c,t,{onFallback:e=>console.warn(`[persona] Runtype read-aloud failed; using browser voice. ${e.message}`)}):c});if(a&&t)return i&&console.warn(`[persona] textToSpeech.provider 'runtype' is missing an agentId; using the browser voice. Set textToSpeech.agentId (or voiceRecognition.provider.runtype.agentId).`),t}return t}setupVoice(e){try{let t=e||this.getVoiceConfigFromConfig();if(!t)throw Error(`Voice configuration not provided`);this.cleanupVoice();let n=this.#te,r=++this.#T;this.#w=hu().then(async e=>{await n,r===this.#T&&this.#ae(e,e.createVoiceProvider(t))}).catch(e=>{console.error(`Failed to setup voice:`,e)}).finally(()=>{r===this.#T&&(this.#w=null)})}catch(e){console.error(`Failed to setup voice:`,e)}}#ae(e,t){this.#C=t;let n=this;e.wireSessionVoice({session:this,provider:()=>n.#C,generation:()=>n.#T,get keyed(){return n.#ne},set keyed(e){n.#ne=e},get pendingUser(){return n.#Q},set pendingUser(e){n.#Q=e},get pendingAssistant(){return n.#$},set pendingAssistant(e){n.#$=e},turns:()=>n.#ee,busy:()=>n.#oe(),setStreaming:e=>n.#kt(e),setDelegation:e=>{n.#re=e},setLevel:e=>{n.#E=e},setStatus:e=>{n.#O=e,n.#D=e===`listening`},settlePending:e=>n.#ce(e)},t,e.KeyedVoiceTranscript,e.createVoiceSessionBridge)}async toggleVoice(){let e=this.#T;if(!this.#C&&this.#w&&await this.#w,e===this.#T){if(!this.#C)console.error(`Voice not configured`);else if(this.#D)await this.#C.stopListening();else{this.stopSpeaking();try{await this.#C.startListening()}catch(e){console.error(`Failed to start voice:`,e)}}}}prewarmVoice(){if(!vu(this.config.voiceRecognition?.provider)){this.warmClientSession();return}let e=this.#T,t=()=>{let t=this.#C;t?.prewarm&&e===this.#T&&(this.#D||this.isBargeInActive()||Promise.resolve().then(()=>t.prewarm?.()).catch(()=>{}))};!this.#C&&this.#w?this.#w.then(t,()=>{}):t()}#oe(){return!!this.abortController||this.webMcpResolveControllers.size>0||this.webMcpAwaitBatches.size>0||this.#f||this.status===`resuming`}cleanupVoice(){let e=this.#C!==null;if(this.#T++,this.#w=null,this.#C){let e=this.#C;this.#C=null,this.#te=this.#se(e)}this.#D=!1,this.#O=`disconnected`,this.#ce(!0),this.#ne?.settle(),this.#ne=null,this.#ee=new vf,e&&this.callbacks.onVoiceStatusChanged?.(`disconnected`)}async#se(e){try{await e.disconnect()}catch(e){console.error(`Failed to disconnect voice:`,e)}}#ce(e){let t=e?this.#Q:null,n=this.#$;(t||n)&&(n&&this.#ee.cancel(),e&&(this.#Q=null),this.#$=null,n&&this.ttsSpokenMessageIds.add(n),this.messages=this.messages.flatMap(e=>e.id!==t&&e.id!==n?[e]:e.id===n&&!e.content.trim()?[]:[{...e,streaming:!1,voiceProcessing:!1}]),this.callbacks.onMessagesChanged([...this.messages]),n&&this.#kt(!1))}getVoiceConfigFromConfig(){if(!this.config.voiceRecognition?.provider)return;let e=this.config.voiceRecognition.provider;switch(e.type){case`runtype`:return{type:`runtype`,runtype:{agentId:e.runtype?.agentId??this.config.agentId??``,clientToken:e.runtype?.clientToken??this.config.clientToken,host:e.runtype?.host??this.config.apiUrl,voiceId:e.runtype?.voiceId,createPlaybackEngine:e.runtype?.createPlaybackEngine,prewarmMode:e.runtype?.prewarmMode,attachIdleMs:e.runtype?.attachIdleMs,clientDelegation:e.runtype?.clientDelegation,callContext:e.runtype?.callContext,approvalTimeoutMs:e.runtype?.approvalTimeoutMs,disclosureText:e.runtype?.disclosureText}};case`browser`:return{type:`browser`,browser:{language:e.browser?.language||`en-US`,continuous:e.browser?.continuous}};case`custom`:return{type:`custom`,custom:e.custom};default:return}}async initClientSession(){if(!this.isClientTokenMode())return null;this.config.features?.history?.enabled&&(await this.historyInternals.historyBootstrapReady,this.#W=this.historyInternals.getStoredConversationRevision?.()??null,this.#G=!0);try{let e=await this.client.initSession();return this.setClientSession(e),e}catch(e){return this.callbacks.onError?.(e instanceof Error?e:Error(String(e))),null}}warmClientSession(){let e=!this.messages.length;this.client.warmSession().then(t=>{t&&this.client.getClientSession()===t&&this.setClientSession(t,e)})}setClientSession(e,t){this.clientSession=e,this.#le(e,t)}#le(e,t=!this.messages.length){if(this.#I||!e.config.welcomeMessage||!t)return;let n=this.messages[0],r={id:`welcome-${Date.now()}`,role:`assistant`,content:e.config.welcomeMessage,createdAt:n?.createdAt??(/* @__PURE__ */ new Date()).toISOString(),sequence:n?(n.sequence??0)-1:this.#It()};this.#Pt(r)}getClientSession(){return this.clientSession??this.client.getClientSession()}isSessionValid(){let e=this.getClientSession();return e?/* @__PURE__ */ new Date<e.expiresAt:!1}clearClientSession(){this.clientSession=null,this.client.clearClientSession()}getClient(){return this.client}async submitMessageFeedback(e,t){return this.client.submitMessageFeedback(e,t)}async submitCSATFeedback(e,t){return this.client.submitCSATFeedback(e,t)}async submitNPSFeedback(e,t){return this.client.submitNPSFeedback(e,t)}setHistoryInternals(e){e.historyProvider!==this.historyInternals.historyProvider&&(this.#M+=1,this.#N+=1,this.config.backgroundConversations&&this.cancel(),this.#ut()),this.historyInternals=this.#ue(e),this.client.setHistoryInternals(this.historyInternals),this.#Oe()}destroy(){this.#ut(),this.#M+=1,this.#N+=1,this.cancel(),this.#t=void 0,this.cleanupVoice(),this.#K?.(),this.#K=null,this.#q=null}#ue(e){let t=e.onHistoryContinuityChanged;return{...e,onHistoryContinuityChanged:e=>{this.#De(e),t?.(e)}}}get#de(){return this.historyInternals.historyProvider??null}#fe(){let e=this.#de;if(!e)throw new Rf(`history_unavailable`,`No conversation history provider is installed`);return e}#pe(e){let t=this.#fe(),n=e??this.config.features?.history?.scope,r=this.config.getIdentityProof?`verified-user`:`browser`,i=n??(t.capabilities.scopes.includes(r)?r:t.capabilities.scopes[0]??r);if(!t.capabilities.scopes.includes(i))throw new Vd(`unsupported_scope`,`This history scope is not supported.`);return{scope:i}}getHistoryState(){return{activeConversationId:this.#k,conversationRevision:this.#A,nextMessageCursor:this.#j,recovery:this.#L,sendBlocked:this.#R}}getActiveConversationId(){return this.#k}#me(){this.callbacks.onHistoryStateChanged?.(this.getHistoryState())}#he(e,t){this.callbacks.onHistoryNotice?.({code:e,message:t})}async awaitHistorySettled(){let e=this.#z;e&&await e.catch(()=>{});let t=this.#V;t&&await t.catch(()=>{})}#ge(){if(this.streaming||this.status===`paused`||this.status===`resuming`)throw new Rf(`conversation_busy`,`Finish or stop the current turn before switching conversations`)}listConversations(e){return this.#fe().list({...e?.cursor?{cursor:e.cursor}:{},...e?.limit===void 0?{}:{limit:e.limit},...e?.targetId===void 0?{}:{targetId:e.targetId},context:this.#pe(e?.scope)})}async openConversation(e,t){let n=this.#fe();t?.busy===`background`&&this.assertBackgroundSwitchable(),t?.busy===`stop`&&this.cancel(),t?.busy!==`background`&&this.#ge();let r=this.#pe(t?.scope),i=++this.#M,a=this.#N;if(t?.busy===`background`&&await this.#lt(),await this.awaitHistorySettled(),i!==this.#M)throw new Rf(`superseded`,`A later selection won`);let o=await n.getPage(e,{context:r});if(i!==this.#M)throw new Rf(`superseded`,`A later selection won`);let s=await n.prepareOpen(e,{context:r}),c=this.#F.then(async()=>{if(i!==this.#M)throw s.discard(),new Rf(`superseded`,`A later selection won`);t?.busy===`stop`&&this.cancel();try{t?.busy===`background`?this.assertBackgroundSwitchable():this.#ge()}catch(e){throw s.discard(),e}let r=this.#k,c=this.#e;t?.onBeforeCommit?.(),t?.busy===`background`&&(this.#m=[]),this.#I=!0,this.#P=a;try{if(await this.#Ce(s),a!==this.#N||n!==this.#de)throw new Rf(`superseded`,`The history identity changed`);if(t?.busy===`background`&&r&&this.#u){let e={conversationId:r,handle:this.#u,messages:this.messages,artifacts:this.getArtifacts(),selectedArtifactId:this.#b,streamCheckpoint:this.#p};this.#h?.save(e)}this.#k=s.conversationId||e,this.#A=s.conversationRevision||o.conversationRevision||null,this.#j=o.nextCursor,this.#L=null,this.#R=!1,this.#Te();for(let e of o.messages)this.#H.set(e.id,e.content);this.#we();let i=this.#h?.take(this.#k);return this.hydrateMessages(i?.messages??o.messages),i&&(this.hydrateArtifacts(i.artifacts,i.selectedArtifactId,!0),this.#mt(i)),t?.onCommitted?.(),this.#me(),{summary:o.summary,nextMessageCursor:o.nextCursor}}finally{this.#I=!1,this.#P=null;let e=this.#m;if(this.#m=null,e&&this.#e===c&&this.#k===r)for(let{event:t,readOnlyReplay:n}of e)this.handleEvent(t,n)}}),l=c.then(()=>{},()=>{});this.#F=l,this.#z=l;try{return await c}finally{this.#z===l&&(this.#z=null)}}loadOlderMessages(e,t,n){let r=this.#fe(),i=this.#pe(n?.scope),a=t??this.#j;if(!a)return Promise.resolve({messages:[],nextMessageCursor:null});let o=`${e} ${a}`,s=this.#B.get(o);if(s)return s;let c=this.#_e(r,e,a,i).finally(()=>{this.#B.delete(o)});return this.#B.set(o,c),c}async#_e(e,t,n,r){let i=this.messages[0]?.createdAt,a=await e.getPage(t,{cursor:n,...i?{beforeCreatedAt:i}:{},context:r});if(this.#k&&this.#k!==t)return{messages:[],nextMessageCursor:a.nextCursor};let o=this.#ve(a.messages),s=ud(this.messages,o);this.messages=this.#Rt(s.map(e=>this.#Ft(e))),this.#j=a.nextCursor;for(let e of a.messages)this.#H.set(e.id,e.content);return this.historyInternals.setStoredMessageCursor?.(a.nextCursor),this.callbacks.onMessagesChanged([...this.messages]),this.#me(),{messages:o,nextMessageCursor:a.nextCursor}}#ve(e){let t=new Map(this.messages.map(e=>[e.id,e]));return e.map(e=>{let n=t.get(e.id);if(n){if(this.webMcpApprovalResolvers.has(n.id)||n.approval&&Fu(n.approval)&&n.approval.id===e.approval?.id&&n.approval.status!==`pending`&&e.approval?.status===`pending`)return n;let t=n.agentMetadata?.executionId,r=[...n.toolCall?[n.toolCall]:[],...n.tools??[]];if(t&&r.some(e=>this.webMcpInflightKeys.has(`${t}:${e.id}`)||this.webMcpResolvedKeys.has(`${t}:${e.id}`)))return n}return Iu(e)})}async startNewConversation(e){let t=this.#fe(),n=this.#pe(e?.scope),r=++this.#M,i=this.#N;await this.awaitHistorySettled();let a=await t.prepareStartNew({context:n}),o=this.#F.then(async()=>{if(r!==this.#M)throw a.discard(),new Rf(`superseded`,`A later action won`);e?.onBeforeCommit?.(),this.#I=!0,this.#P=i;try{await this.#Ce(a)}finally{this.#I=!1,this.#P=null}if(i!==this.#N||t!==this.#de)throw new Rf(`superseded`,`The history identity changed`);this.#Ee(!1,!0),this.#k=a.conversationId||null,this.#A=a.conversationRevision||null,this.#j=null,this.#L=null,this.#R=!1,this.#we(),this.clientSession&&this.#le(this.clientSession),e?.onCommitted?.(),this.#me()}),s=o.then(()=>{},()=>{});this.#F=s,this.#z=s;try{await o}finally{this.#z===s&&(this.#z=null)}}async#ye(e,t=!1){this.#Ee(t),await this.#Ce(e),this.#k=e.conversationId||null,this.#A=e.conversationRevision||null,this.#j=null,this.#L=null,this.#R=!1,this.#we(),this.#me()}async deleteConversation(e,t){let n=this.#fe(),r=this.#pe(t?.scope);await this.awaitHistorySettled(),await n.delete(e,{context:r}),this.#h?.clear(e),e===this.#k&&await this.#be(r)}async updateConversation(e,t,n){let r=this.#fe();if(!r.update)throw new Rf(`history_unavailable`,`This history provider cannot update conversations`);let i=this.#pe(n?.scope);return await this.awaitHistorySettled(),r.update(e,t,{context:i})}canUpdateConversations(){return typeof this.#de?.update==`function`}async clearConversationHistory(e){let t=this.#fe(),n=this.#pe(e?.scope);await this.awaitHistorySettled();let r=await t.deleteAll({...e?.targetId===void 0?{}:{targetId:e.targetId},context:n});return this.#ut(),await this.#be(n),r}async resetHistoryDevice(){let e=this.#fe();if(!e.resetDevice)throw new Rf(`history_unavailable`,`This history provider cannot reset the device`);this.#ut(),this.#M+=1,this.#N+=1,this.#V=null;try{return await e.resetDevice()}finally{this.#Ee(),this.#k=null,this.#A=null,this.#j=null,this.#L=null,this.#R=!1,this.#me()}}async#be(e){this.#M+=1,this.#N+=1,this.#V=null,this.#Ee(),this.#k=null,this.#A=null,this.#j=null,this.#R=!0,this.#L=null,this.#me(),await this.#xe(e)}async#xe(e){let t=this.#de;if(!t)this.#R=!1,this.#me();else try{let n=await t.prepareStartNew({context:e});await this.#ye(n)}catch{this.#R=!0,this.#L=`new_conversation_required`,this.#me(),this.#he(`new_conversation_required`,`That conversation was deleted. Start a new conversation to continue.`)}}async#Se(){if(this.#L===`new_conversation_required`&&this.#de&&(this.#L=null,await this.#xe(this.#pe()),this.#L===`new_conversation_required`))throw new Rf(`new_conversation_required`,`A new conversation is required before sending`)}async#Ce(e){if(await e.commit(),this.#P!==null&&this.#P!==this.#N)return;let t=this.client.getClientSession();t&&t.sessionId!==this.clientSession?.sessionId&&this.bindActivatedSession(t)}bindActivatedSession(e){(this.#P===null||this.#P===this.#N)&&(this.clientSession=e,this.config.setStoredSessionId?.(e.sessionId),e.conversationId&&(this.#k=e.conversationId,this.#A=e.conversationRevision??null,this.config.setStoredConversationId?.(e.conversationId),this.historyInternals.setStoredConversationRevision?.(e.conversationRevision??null)),this.#I||this.#le(e))}#we(){this.#k?this.config.setStoredConversationId?.(this.#k):this.config.clearStoredConversationId?.(),this.historyInternals.setStoredConversationRevision?.(this.#A),this.historyInternals.setStoredMessageCursor?.(this.#j)}#Te(){this.#t=void 0,this.historyInternals.setStoredResumableHandle?.(null),this.agentExecution=null,this.#ot(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear(),this.client.resetClientToolsFingerprint(),this.#H.clear(),this.#Pe(null)}#Ee(e=!1,t=!1){this.client.cancelStreams(),this.stopSpeaking(),this.abortController?.abort(),this.abortController=null,this.#Tt(),this.#rt(),this.#Qe++,this.messages=[],this.#Te(),this.#B.clear(),t||this.config.clearStoredSessionId?.(),this.config.clearStoredConversationId?.(),this.historyInternals.setStoredConversationRevision?.(null),this.historyInternals.setStoredMessageCursor?.(null),e||this.#kt(!1),this.#Ot(`idle`),this.callbacks.onMessagesChanged([...this.messages]),e||this.#a(`cancel`)}#De(e){this.#ut(),this.#M+=1,this.#N+=1,this.#V=null,this.#R=!0,this.#Ee(),this.#k=e.conversationId,this.#A=null,this.#j=null,this.#L=null,this.#me(),this.#he(`history_continuity_reset`,`This browser was reconnected to a different conversation, so the previous messages were cleared.`),this.#z=Promise.resolve().then(()=>{this.#R=!1,this.#z=null,this.#me()})}#Oe(){let e=this.historyInternals.visitorStore??null;e!==this.#q&&(this.#K?.(),this.#K=null,this.#q=e,e&&(this.#K=e.subscribe(e=>this.#ke(e))))}#ke(e){if(e.source!==`external`||e.previousToken===null)return;this.#ut(),this.clientSession=null,this.client.handleExternalCredentialChange(),this.#M+=1,this.#N+=1,this.#V=null,this.#J=!0,this.#Y=null;let t=this.messages.length>0;t||this.#k!==null||(this.config.getStoredConversationId?.()??null)!==null?this.#Ee():(this.config.clearStoredSessionId?.(),this.config.clearStoredConversationId?.(),this.#B.clear(),this.#Pe(null)),this.#k=null,this.#A=null,this.#j=null,this.#L=null,this.#me(),this.callbacks.onHistoryScopeInvalidated?.(),t&&this.#he(`history_continuity_reset`,`This browser's conversation history was reset in another tab, so the previous messages were cleared.`)}#Ae(){return this.#J?(this.#Y||=this.#je().finally(()=>{this.#Y=null}),this.#Y):Promise.resolve()}async#je(){if(!this.isClientTokenMode())this.#J=!1;else try{this.bindActivatedSession(await this.client.initSession()),this.#J=!1}catch{}}reconcileBootConversation(e){let t=this.#de,n=this.clientSession?.conversationId??this.config.getStoredConversationId?.()??this.#k;if(!t||!n)return Promise.resolve();let r=this.#pe(e?.scope);this.#R=!0,this.#me();let i=this.#Me(t,n,r).finally(()=>{this.#R=this.#L!==null,this.#z===i&&(this.#z=null),this.#me()});return this.#z=i,i}async#Me(e,t,n){this.#k=t;let r=this.clientSession?.conversationRevision??this.#A??null,i=this.#G?this.#W:this.historyInternals.getStoredConversationRevision?.()??null;if(this.#G=!1,this.#j=this.historyInternals.getStoredMessageCursor?.()??this.#j,await this.replayPendingProjections(),r&&i&&r===i){this.#A=r;return}let a=await e.getPage(t,{context:n}),o=this.#ve(a.messages),s=new Set(a.messages.map(e=>e.id)),c=this.messages.some(e=>s.has(e.id)),l=a.messages[0]?.createdAt,u;if(!c)u=o.map(e=>this.#Ft(e));else{let e=this.#u?this.#d:null;u=ud(this.messages.filter(t=>s.has(t.id)||t.id===e?!0:l!==void 0&&t.createdAt<l),o).map(e=>this.#Ft(e))}this.#j=a.nextCursor,this.#A=a.conversationRevision||r||null,this.#H.clear();for(let e of a.messages)this.#H.set(e.id,e.content);this.#we(),this.#t=void 0,this.messages=this.#Rt(u),this.callbacks.onMessagesChanged([...this.messages])}#Ne(){return this.config.features?.history?.enabled===!0&&this.isClientTokenMode()}#Pe(e){this.#U=e,this.historyInternals.setPendingDisplayProjections?.(e)}#Fe(){return this.historyInternals.getPendingDisplayProjections?.()??this.#U}#Ie(e){if(this.#Ne())for(let t of e){let e=ld(t);e!==void 0&&this.#H.set(t.id,e)}}#Le(){if(!this.#Ne())return;let e=this.#k;if(!e)return;let t=[];for(let e of this.messages){if(e.role!==`assistant`||e.streaming)continue;let n=ld(e);n!==void 0&&this.#H.get(e.id)!==n&&t.push({id:e.id,displayContent:n})}t.length!==0&&(this.#Pe({conversationId:e,messageIds:t.map(e=>e.id)}),this.#Re(e,t))}#Re(e,t){let n=(this.#V??Promise.resolve()).catch(()=>{}).then(()=>this.#ze(e,t,!1)).finally(()=>{this.#V===n&&(this.#V=null)});this.#V=n}async#ze(e,t,n){if(this.#k!==e)return;let r=t.filter(e=>this.#H.get(e.id)!==e.displayContent);if(r.length===0)this.#Ve(e,t);else try{let{conversationRevision:n}=await this.client.finalizeDisplayProjections(e,r);for(let e of r)this.#H.set(e.id,e.displayContent);this.#k===e&&n&&(this.#A=n),this.#Ve(e,t)}catch(i){if(!n&&this.#Be(i)){await this.#ze(e,r,!0);return}if(i instanceof Ld&&(i.code===`not_found`||i.code===`conversation_deleted`)){this.#Ve(e,t);return}this.#he(`projection_finalization_failed`,`Some message formatting could not be saved for history; it will be retried.`)}}#Be(e){return e instanceof Ld?e.code===`request_failed`:e instanceof Error}#Ve(e,t){let n=this.#Fe();if(!n||n.conversationId!==e)return;let r=new Set(t.map(e=>e.id)),i=n.messageIds.filter(e=>!r.has(e));this.#Pe(i.length?{conversationId:e,messageIds:i}:null)}async replayPendingProjections(){if(!this.#Ne())return;let e=this.#Fe();if(!e)return;if(this.#k&&e.conversationId!==this.#k){this.#Pe(null);return}let t=[];for(let n of e.messageIds){let e=this.messages.find(e=>e.id===n);e&&typeof e.content==`string`&&t.push({id:n,displayContent:e.content})}t.length===0?this.#Pe(null):(this.#Re(e.conversationId,t),await this.#V?.catch(()=>{}))}#He(){this.#k&&(this.#A=null,this.historyInternals.setStoredConversationRevision?.(null))}async#Ue(){await this.awaitHistorySettled(),await this.#Ae(),this.#L===`new_conversation_required`&&await this.#Se()}static#We(e){return e instanceof Ld&&e.code===`conversation_deleted`}async#Ge(t,n,r,i,a){let o=this.#e,s=e=>{this.#e===o&&this.handleEvent(e)};this.#Ie(t);try{await this.client.dispatch({messages:t,signal:n.signal,assistantMessageId:r,composerOptions:a?.composerOptions,interrupt:a?.interrupt,voiceSpoken:a?.voiceSpoken,voicePriorToolResults:a?.voicePriorToolResults},s);return}catch(t){if(n.signal.aborted||this.#e!==o||!e.#We(t))throw t;let c=await this.#Ke(i);if(!c)throw t;this.#Ie([c]),await this.client.dispatch({messages:[c],signal:n.signal,assistantMessageId:r,composerOptions:a?.composerOptions,voiceSpoken:a?.voiceSpoken,voicePriorToolResults:a?.voicePriorToolResults},s)}}async#Ke(e){let t=this.messages.find(t=>t.id===e);if(!t)return null;let n={...t};this.#M+=1,this.#N+=1,this.#V=null,this.#Ee(!0),this.#k=null,this.#A=null,this.#j=null,this.#I=!0;try{let e=this.#de;if(e){let t=await e.prepareStartNew({context:this.#pe()});await this.#ye(t,!0)}else{this.client.clearClientSession();let e=await this.client.initSession();this.bindActivatedSession(e)}}catch{return this.#R=!0,this.#L=`new_conversation_required`,this.#me(),this.#he(`new_conversation_required`,`That conversation was deleted. Start a new conversation to continue.`),null}finally{this.#I=!1}return this.#Pt(n),this.#kt(!0),this.#he(`conversation_deleted_recovered`,`That conversation was deleted. Started a new conversation.`),this.messages.find(e=>e.id===n.id)??n}updateConfig(e){let t=this.config.features?.artifacts?.display,n={...this.config,...e},r=_u(this.config,n),i=Lf(this.config,n);i&&(this.cancel(),this.#ut()),this.config=n,r&&(this.cleanupVoice(),n.voiceRecognition?.enabled===!0&&xu(n)&&this.setupVoice());let a=JSON.stringify(t)!==JSON.stringify(n.features?.artifacts?.display);if(!i){this.client.updateConfig(n),a&&this.#at();return}this.#rt(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear();let o=this.client.getSSEEventCallback();this.#M+=1,this.#N+=1,this.client=new Bd(this.config,this.historyInternals),a&&this.#at(),this.#Xe(),o&&this.client.setSSEEventCallback(o)}getMessages(){return[...this.messages]}getStatus(){return this.status}getRunActivity(){return this.#t}isStreaming(){return this.streaming}injectTestEvent(e){this.handleEvent(e)}injectMessage(e){let t=this.#qe(e);return this.upsertMessage(t),t}#qe(e){let{role:t,content:n,llmContent:r,contentParts:i,id:a,createdAt:o,sequence:s,streaming:c=!1,voiceProcessing:l,voiceCaption:u,rawContent:d}=e;return{id:a??(t===`user`?Wc():t===`assistant`?Gc():`${t===`operator`?`operator`:`system`}-${Date.now()}-${Math.random().toString(16).slice(2)}`),role:t,content:n,createdAt:o??(/* @__PURE__ */ new Date()).toISOString(),sequence:s??this.#It(),streaming:c,...r!==void 0&&{llmContent:r},...i!==void 0&&{contentParts:i},...l!==void 0&&{voiceProcessing:l},...u&&{voiceCaption:u},...d!==void 0&&{rawContent:d},...e.dispatchError!==void 0&&{dispatchError:e.dispatchError},...e.author!==void 0&&{author:{...e.author}}}}injectAssistantMessage(e){return this.injectMessage({...e,role:`assistant`})}injectUserMessage(e){return this.injectMessage({...e,role:`user`})}injectSystemMessage(e){return this.injectMessage({...e,role:`system`})}injectMessageBatch(e){let t=e.map(e=>this.#qe(e));return this.messages=this.#Rt([...this.messages,...t]),this.callbacks.onMessagesChanged([...this.messages]),t}injectComponentDirective(e){let{component:t,props:n={},text:r=``,llmContent:i,id:a,createdAt:o,sequence:s}=e,c={text:r,component:t,props:n};return this.injectMessage({role:`assistant`,content:r,rawContent:JSON.stringify(c),...i!==void 0&&{llmContent:i},...a!==void 0&&{id:a},...o!==void 0&&{createdAt:o},...s!==void 0&&{sequence:s}})}updateComponentProps(e,t){let n=this.messages.find(t=>t.id===e),r=n&&mf(n);return!n||n.role!==`assistant`||n.variant||!r?!1:(this.upsertMessage({...n,rawContent:JSON.stringify({text:n.content,component:r.component,props:t})}),!0)}removeComponentMessage(e){let t=this.messages.find(t=>t.id===e);return!t||t.role!==`assistant`||t.variant||!mf(t)?!1:(this.messages=this.messages.filter(t=>t.id!==e),this.callbacks.onMessagesChanged([...this.messages]),!0)}async#Je(e,t,n){let r;try{r=await n()}catch{return}let i=r.blocks.join(`
18
18
 
19
19
  `),a=[i,t].filter(Boolean).join(`
20
20
 
21
- `),o=Array.isArray(e.contentParts)&&e.contentParts.length>0,s=r.contentParts.length>0;if(o){let t=[];i&&t.push(js(i)),t.push(...r.contentParts),t.push(...e.contentParts),e.contentParts=t}else if(s){let t=[];a&&t.push(js(a)),t.push(...r.contentParts),e.contentParts=t}else i&&(e.llmContent=a);Object.keys(r.context).length>0&&(e.mentionContext=r.context)}async sendMessage(e,t){let n=e.trim(),r=!!t?.replayFields&&(t.replayFields.llmContent!==void 0||t.replayFields.rawContent!==void 0||(t.replayFields.contextMentions?.length??0)>0);if(!n&&(!t?.contentParts||t.contentParts.length===0)&&(!t?.mentions||t.mentions.refs.length===0)&&!r)return;this.#re&&!t?.voiceTurn&&(this.#re.failed=!0,this.#re=null),(this.#z||this.#V||this.#R||this.#J)&&await this.#Ue(),this.stopSpeaking(),this.client.cancelStreams(),this.abortController?.abort(),this.#i(),this.#rt(),this.#Qe++,this.#Tt();let i=t?.voiceTurn?.userMessageId,a=i?this.messages.find(e=>e.id===i&&e.role===`user`):void 0,o=a?.id??Uc(),s=Wc();this.#d=null;let c=t?.contentParts&&ks(t.contentParts)?Vs:``,l={id:o,role:`user`,content:n||c,createdAt:(/* @__PURE__ */ new Date()).toISOString(),sequence:this.#It(),viaVoice:t?.viaVoice||!1,...t?.contentParts&&t.contentParts.length>0&&{contentParts:t.contentParts},...t?.mentions&&t.mentions.refs.length>0&&{contextMentions:t.mentions.refs},...t?.contentSegments&&t.contentSegments.length>0&&{contentSegments:t.contentSegments},...t?.composerOptions&&{composerOptions:t.composerOptions},...t?.replayFields??{}};a?(a.viaVoice=!0,delete a.voiceCaption,a.content.trim()!==n&&(a.llmContent=n),this.callbacks.onMessagesChanged([...this.messages])):this.#Pt(l),this.#kt(!0);let u=new AbortController;this.abortController=u;let d=this.#e;if(t?.mentions){let e=this.messages.find(e=>e.id===o)??l;if(await this.#Je(e,n,t.mentions.finalize),u.signal.aborted||this.abortController!==u)return;this.callbacks.onMessagesChanged([...this.messages])}if(t?.quote&&!t.replayFields){let e=this.messages.find(e=>e.id===o)??l,n=Xd({quote:t.quote,text:e.llmContent??e.content,contentParts:e.contentParts});n.contentParts&&(e.contentParts=n.contentParts),n.llmContent!==void 0&&(e.llmContent=n.llmContent),(n.contentParts||n.llmContent!==void 0)&&(e.quote={...t.quote},this.callbacks.onMessagesChanged([...this.messages]))}let f=(/* @__PURE__ */ new Date()).toISOString(),p=a?[...this.messages.filter(e=>e!==a),{...a,createdAt:f}]:[...this.messages],m=(a??this.messages.find(e=>e.id===o))?.createdAt??f,h=Gd(t?.voiceTurn?.priorToolResults,m);for(let e of h)this.messages.some(t=>t.id===e.id)||(this.#Pt(e),p.push({...e,createdAt:f}));let g=h.map(({agentMetadata:e})=>{let{toolCallId:t,toolName:n,args:r,result:i}=e.clientToolAnswer;return{toolCallId:t,name:n,arguments:r,result:i}});try{await this.#Ge(p,u,s,o,{composerOptions:t?.composerOptions,interrupt:t?.interrupt,voiceSpoken:!!t?.voiceTurn,...g.length>0&&{voicePriorToolResults:g}})}catch(e){if(this.#e!==d||this.status===`resuming`||this.#f)return;this.#re&&(this.#re.failed=!0);let t=e instanceof Error&&(e.name===`AbortError`||e.message.includes(`aborted`)||e.message.includes(`abort`));t||this.#At(e),this.#Ot(`idle`),this.#kt(!1),this.abortController=null,this.#a(t?`cancel`:`error`,d),t||(e instanceof Error?this.callbacks.onError?.(e):this.callbacks.onError?.(Error(String(e))))}}resubmitFrom(e,t){let n=Qd(this.messages,e);if(!n||!$d(this.messages,e))return!1;let r=this.messages[n.start],i=t.replacement,a=i?i.text:r.content,o=i?i.contentParts:r.contentParts;if(!(a?.trim()||(o?.length??0)>0||!i&&(r.llmContent?.trim()?.length??0)>0))return!1;let s=i?void 0:{...r.llmContent!==void 0&&{llmContent:r.llmContent},...r.rawContent!==void 0&&{rawContent:r.rawContent},...r.mentionContext&&{mentionContext:r.mentionContext},...r.contextMentions&&{contextMentions:r.contextMentions},...r.quote&&{quote:r.quote}},c=i?this.#Ye(i.options):r.composerOptions,l=i?i.contentSegments:r.contentSegments,u=i?i.options?.quote:void 0,d=i?i.viaVoice:r.viaVoice;return this.cancel(),this.messages=this.messages.slice(0,n.start),this.sendMessage(a??``,{...o?.length?{contentParts:[...o]}:{},...l?.length?{contentSegments:[...l]}:{},...c?{composerOptions:c}:{},...u?{quote:u}:{},...s&&Object.keys(s).length>0?{replayFields:s}:{},viaVoice:d===!0}),!0}#Ye(e){if(!e)return;let t={};return e.selectedModelId&&(t.selectedModelId=e.selectedModelId),e.activeModeIds?.length&&(t.activeModeIds=[...e.activeModeIds]),Object.keys(t).length>0?t:void 0}async continueConversation(){if(this.streaming)return;(this.#z||this.#V||this.#R||this.#J)&&await this.#Ue(),this.abortController?.abort(),this.#Tt(),this.#i();let e=Wc();this.#d=null,this.#kt(!0);let t=new AbortController;this.abortController=t;let n=this.#e,r=[...this.messages];try{await this.client.dispatch({messages:r,signal:t.signal,assistantMessageId:e},e=>{this.#e===n&&this.handleEvent(e)})}catch(e){if(this.#e!==n||this.status===`resuming`||this.#f)return;let t=e instanceof Error&&(e.name===`AbortError`||e.message.includes(`aborted`)||e.message.includes(`abort`));t||this.#At(e),this.#a(t?`cancel`:`error`,n),this.#Ot(`idle`),this.#kt(!1),this.abortController=null,t||(e instanceof Error?this.callbacks.onError?.(e):this.callbacks.onError?.(Error(String(e))))}}async connectStream(e,t){if(this.streaming&&!t?.allowReentry)return;this.#e||this.#i(),t?.allowReentry||this.abortController?.abort(),t?.preserveAssistantId&&t.assistantMessageId&&(this.#d=t.assistantMessageId);let n=t?.preserveAssistantId?t.assistantMessageId:void 0,r=!1;for(let e of this.messages)e.streaming&&e.id!==n&&(e.streaming=!1,r=!0);r&&this.callbacks.onMessagesChanged([...this.messages]),this.#kt(!0);let i=this.#e,a={};try{await this.client.processStream(e,e=>{if(this.#e!==i)return;let n=this.#c;this.#c=a;try{this.handleEvent(e,t?.readOnlyReplay)}finally{this.#c=n}},t?.assistantMessageId,t?.seedContent,this.abortController?.signal,t?.readOnlyReplay?this.messages:void 0,t?.readOnlyReplay?this.#p:void 0),this.#jt(a)}catch(e){if(this.#e!==i)return;if(this.status===`resuming`||this.#f){this.#Mt(a);return}this.#jt(a),this.#Ot(`error`),this.webMcpResolveControllers.size===0&&(this.#kt(!1),this.abortController=null),this.callbacks.onError?.(e instanceof Error?e:Error(String(e)))}}#Xe(){let e=this.config.webmcp;e?.enabled===!0&&!e.onConfirm&&this.client.setWebMcpConfirmHandler(e=>this.requestWebMcpApproval(e))}requestWebMcpApproval(e){try{if(this.config.webmcp?.autoApprove?.(e)===!0)return Promise.resolve(!0)}catch{}if(e.signal?.aborted)return Promise.resolve(!1);let t;do t=`webmcp-${++this.#S}`;while(this.messages.some(e=>e.id===`approval-${t}`||e.approval?.id===t));let n={id:t,status:`pending`,agentId:``,executionId:``,toolName:e.toolName,...e.toolCallId?{toolCallId:e.toolCallId}:{},toolType:`webmcp`,description:e.description??`Allow the assistant to run ${e.toolName}?`,parameters:e.args},r=`approval-${n.id}`;return this.upsertMessage({id:r,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!1,variant:`approval`,approval:n}),new Promise(t=>{this.webMcpApprovalResolvers.set(r,t),e.signal?.addEventListener(`abort`,()=>this.resolveWebMcpApproval(r,`timeout`),{once:!0})})}resolveWebMcpApproval(e,t){let n=this.webMcpApprovalResolvers.get(e);if(!n)return;this.webMcpApprovalResolvers.delete(e);let r=this.messages.find(t=>t.id===e);r?.approval&&this.upsertMessage({...r,approval:{...r.approval,status:t,resolvedAt:Date.now()}}),n(t===`approved`)}#Ze;#Qe;#$e(e){let t=this.#Ze??={s:this,setStreaming:e=>this.#kt(e),appendMessage:e=>this.#Pt(e),nextSequence:()=>this.#It(),settleApprovalPausedToolCall:e=>this.#Nt(e),resumeAfter:e=>this.#u?.executionId===e?this.#u.lastEventId:void 0},n=fl();if(n)return e(n,t);let r=this.#Qe;return ul().then(n=>r===this.#Qe?e(n,t):void 0,e=>{this.callbacks.onError?.(e instanceof Error?e:Error(String(e)))})}resolveApproval(e,t,n){return this.#$e((r,i)=>r.resolveApproval(i,e,t,n))}resolveAskUserQuestion(e,t){return this.#$e((n,r)=>n.resolveAskUserQuestion(r,e,t))}resolveWebMcpToolCall(e){return this.#$e((t,n)=>t.resolveWebMcpToolCall(n,e))}persistAskUserQuestionProgress(e,t){let n=this.messages.find(t=>t.id===e.id);n&&this.upsertMessage({...n,agentMetadata:{...n.agentMetadata,askUserQuestionAnswers:t.answers,askUserQuestionIndex:t.currentIndex}})}markAskUserQuestionResolved(e,t){let n=this.messages.find(t=>t.id===e.id);n&&this.upsertMessage({...n,agentMetadata:{...n.agentMetadata,awaitingLocalTool:!1,askUserQuestionAnswered:!0,...t?{askUserQuestionAnswers:t}:{}}})}#et(e){let t=e.agentMetadata?.executionId,n=e.toolCall?.id;if(!t||!n){let t=this.#x;queueMicrotask(()=>{t===this.#x&&this.resolveWebMcpToolCall(e)});return}let r=this.webMcpAwaitBatches.get(t);r||(r={snapshots:[],seen:/* @__PURE__ */ new Set},this.webMcpAwaitBatches.set(t,r)),!r.seen.has(n)&&(r.seen.add(n),r.snapshots.push(e))}#tt(){if(this.webMcpAwaitBatches.size===0)return;let e=this.#x;queueMicrotask(()=>{if(e===this.#x)for(let e of[...this.webMcpAwaitBatches.keys()])this.#nt(e)})}#nt(e){let t=this.webMcpAwaitBatches.get(e);if(!t)return;this.webMcpAwaitBatches.delete(e);let{snapshots:n}=t;n.length===1?this.resolveWebMcpToolCall(n[0]):n.length>1&&this.#$e((t,r)=>t.resolveWebMcpToolCallBatch(r,e,n))}#rt(){for(let e of this.webMcpResolveControllers)e.abort();this.webMcpResolveControllers.clear();for(let e of[...this.webMcpApprovalResolvers.keys()])this.resolveWebMcpApproval(e,`denied`);this.webMcpAwaitBatches.clear(),this.#x++}cancel(){this.client.cancelStreams(),this.abortController?.abort(),this.abortController=null,this.#Tt(),this.#rt(),this.#Qe++,this.webMcpInflightKeys.clear(),this.stopSpeaking(),this.stopVoicePlayback(),this.#kt(!1),this.#Ot(`idle`),this.#a(`cancel`)}clearMessages(){this.client.cancelStreams(),this.#ut(),this.stopSpeaking(),this.abortController?.abort(),this.abortController=null,this.#Tt(),this.#rt(),this.#Qe++,this.#t=void 0,this.messages=[],this.agentExecution=null,this.#ot(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear(),this.client.resetClientToolsFingerprint(),this.#kt(!1),this.#Ot(`idle`),this.callbacks.onMessagesChanged([...this.messages]),this.#a(`cancel`)}getArtifacts(){return[...this.artifacts.values()]}getArtifactById(e){return this.artifacts.get(e)}getSelectedArtifactId(){return this.#b}selectArtifact(e){this.#b=e,this.#st()}clearArtifacts(){this.#ot()}upsertArtifact(e){let t=e.id||`art_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,n=e.artifactType===`markdown`?{id:t,artifactType:`markdown`,title:e.title,status:`complete`,markdown:e.content,...e.file?{file:e.file}:{},...e.presentation?{presentation:e.presentation}:{}}:{id:t,artifactType:`component`,title:e.title,status:`complete`,component:e.component,props:e.props??{},...e.presentation?{presentation:e.presentation}:{}};return this.artifacts.set(t,n),this.#b=t,this.#st(),e.transcript!==!1&&this.#it(n),n}#it(e){let t=`artifact-ref-${e.id}`,n=Zn(Xn(this.config.features?.artifacts,e),{artifactId:e.id,title:e.title,artifactType:e.artifactType,status:`complete`,...e.file?{file:e.file}:{},...e.presentation?{presentation:e.presentation}:{},...e.component?{component:e.component}:{},...e.props?{componentProps:e.props}:{},...e.markdown===void 0?{}:{markdown:e.markdown}}),r=this.messages.find(e=>e.id===t);r?(r.rawContent=n,r.streaming=!1,this.callbacks.onMessagesChanged([...this.messages])):this.injectAssistantMessage({id:t,content:``,rawContent:n})}#at(){let e=!1;for(let t of this.artifacts.values()){let n=this.messages.find(e=>e.id===`artifact-ref-${t.id}`);if(!n)continue;let r=Zn(Xn(this.config.features?.artifacts,t),{artifactId:t.id,title:t.title,artifactType:t.artifactType,status:t.status,...t.file?{file:t.file}:{},...t.presentation?{presentation:t.presentation}:{},...t.component?{component:t.component}:{},...t.props?{componentProps:t.props}:{},...t.markdown===void 0?{}:{markdown:t.markdown}});n.rawContent!==r&&(n.rawContent=r,n.streaming=t.status===`streaming`,e=!0)}e&&this.callbacks.onMessagesChanged([...this.messages])}#ot(){(this.artifacts.size!==0||this.#b!==null)&&(this.artifacts.clear(),this.#b=null,this.#st())}#st(){this.callbacks.onArtifactsState?.({artifacts:[...this.artifacts.values()],selectedId:this.#b})}#ct(e){switch(e.type){case`artifact_start`:e.artifactType===`markdown`?this.artifacts.set(e.id,{id:e.id,artifactType:`markdown`,title:e.title,status:`streaming`,markdown:``,...e.file?{file:e.file}:{}}):this.artifacts.set(e.id,{id:e.id,artifactType:`component`,title:e.title,status:`streaming`,component:e.component??``,props:{}}),this.#b=e.id;break;case`artifact_delta`:{let t=this.artifacts.get(e.id);t?.artifactType===`markdown`&&(t.markdown=(t.markdown??``)+e.artDelta);break}case`artifact_update`:{let t=this.artifacts.get(e.id);t?.artifactType===`component`&&(t.props={...t.props,...e.props},e.component&&(t.component=e.component));break}case`artifact_complete`:{let t=this.artifacts.get(e.id);t&&(t.status=`complete`);break}default:return}this.#st()}hydrateMessages(e){this.client.cancelStreams(),this.abortController?.abort(),this.abortController=null,this.#Tt(),this.#rt(),this.#Qe++,this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear(),this.#t=void 0,this.messages=this.#Rt(e.map(e=>({...Fu(e),streaming:!1,sequence:e.sequence??this.#It()}))),this.#kt(!1),this.#Ot(`idle`),this.callbacks.onMessagesChanged([...this.messages]),this.#a(`cancel`)}hydrateArtifacts(e,t=null,n=!1){this.artifacts.clear();for(let t of e)this.artifacts.set(t.id,{...t,status:n?t.status:`complete`});this.#b=t,this.#st()}assertBackgroundSwitchable(){let e=this.config.backgroundConversations;if(e?.capabilities?.durableExecution!==!0||e.capabilities?.readOnlyReplay!==!0||typeof e.reconnectStream!=`function`)throw new If(`background_unavailable`,`This backend does not support background conversations`);if(this.config.parseSSEEvent)throw new If(`background_unavailable`,`Background replay requires the native event parser`);if(this.#_t()||this.webMcpResolveControllers.size||this.webMcpAwaitBatches.size||(this.streaming||this.#f)&&(!this.#u||!this.#k))throw new If(`conversation_busy`,`This turn cannot safely continue in the background`)}async#lt(){if(this.#h)return;let e=this.config.backgroundConversations,t=this.#N,{BackgroundConversationController:n}=await Ud();if(t!==this.#N||e!==this.config.backgroundConversations)throw new If(`superseded`,`The history identity changed`);if(this.#h)return;this.#h=new n(e,e=>{this.#ft(e)});let r=!0;this.#g=this.#de?.subscribeIdentityStatus(()=>{r||(this.#h?.clear(),this.cancel())})??null,r=!1}#ut(){this.#h?.clear(),this.#h=null,this.#g?.(),this.#g=null}#dt(e){let t=this.#u?.executionId??this.agentExecution?.executionId,n=this.#k;if(!this.config.backgroundConversations||!t||!n)return;let r={conversationId:n,executionId:t,status:e,detached:!1};this.#ft(r)}#ft(e){try{this.config.onConversationExecutionState?.(e)}catch{}try{this.callbacks.onConversationExecutionState?.(e)}catch{}}#pt(){let e=this.config.backgroundConversations,t=this.#k;return e&&t?n=>e.reconnectStream({...n,conversationId:t}):this.config.reconnectStream}#mt(e){this.#i(e.handle.executionId),this.#d=e.handle.assistantMessageId;let t=this.messages.find(e=>e.id===this.#d);t&&(t.streaming=e.streamCheckpoint?.openAssistant??!0),this.#p=e.streamCheckpoint,this.agentExecution={executionId:e.handle.executionId,agentId:``,agentName:``,status:`running`,currentIteration:0,maxTurns:0},this.#u=e.handle,this.#Dt(!0),this.#dt(e.observedStatus??`running`),this.#vt()}#ht(e){let t=this.agentExecution?.executionId;if(!t||!this.#d||this.agentExecution?.status!==`running`)return;let n=this.#u===null;this.#u={executionId:t,lastEventId:e,assistantMessageId:this.#d,status:`running`},this.#Dt(n),n&&this.#dt(`running`)}#gt(){return this.#u!==null&&typeof this.#pt()==`function`&&this.abortController?.signal.aborted!==!0&&this.webMcpResolveControllers.size===0&&this.webMcpAwaitBatches.size===0&&!this.#_t()}#_t(){return this.messages.some(e=>e.agentMetadata?.awaitingLocalTool===!0&&e.agentMetadata?.askUserQuestionAnswered!==!0||e.variant===`approval`&&e.approval?.status===`pending`)}#vt(){this.#f||this.#u&&typeof this.#pt()==`function`&&(this.#f=!0,this.callbacks.onReconnect?.({phase:`paused`,handle:this.#u}),this.#kt(!0),this.#Ot(`resuming`),this.#yt().then(e=>{this.#f&&this.#u&&e.begin()}))}#yt(){return this.#_?Promise.resolve(this.#_):(this.#v||(this.#v=Nf().then(({createReconnectController:e})=>{let t=e(this.#bt());return this.#_=t,t}),this.#v.catch(()=>{this.#v=null})),this.#v)}#bt(){let e=this;return{get config(){return{...e.config,reconnectStream:e.#pt()}},getResumable:()=>e.#u,clearResumable:()=>e.#Et(),getStatus:()=>e.status,setStatus:t=>e.#Ot(t),setStreaming:t=>e.#kt(t),setReconnecting:t=>{e.#f=t},setAbortController:t=>{e.abortController=t},getMessages:()=>e.messages,isAwaitPending:()=>e.#_t(),notifyMessagesChanged:()=>e.callbacks.onMessagesChanged([...e.messages]),resumeConnect:(t,n,r)=>e.connectStream(t,{assistantMessageId:n,allowReentry:!0,preserveAssistantId:!0,seedContent:r,readOnlyReplay:!!e.config.backgroundConversations}),appendMessage:t=>e.#Pt(t),settleParked:t=>e.#xt(t),nextSequence:()=>e.#It(),emitReconnect:t=>e.callbacks.onReconnect?.(t),buildErrorContent:t=>Lf(Error(t),e.config.errorMessage),onError:t=>e.callbacks.onError?.(t)}}reconnectNow(){this.#f?this.#_?.wake():this.#vt()}resumeFromHandle(e){if(typeof this.config.reconnectStream!=`function`||this.#f)return;if(this.#i(e.executionId),this.#_t()){this.#St(e.executionId),this.#u={executionId:e.executionId,lastEventId:e.after,assistantMessageId:this.#d??``,status:`running`};return}let t=this.#Ct(e.executionId)?Wc():this.#wt();t||(t=Wc(),this.#Pt({id:t,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!0,sequence:this.#It()})),this.#d=t,this.#St(e.executionId),this.#u={executionId:e.executionId,lastEventId:e.after,assistantMessageId:t,status:`running`},this.#vt()}#xt(e){let t=this.webMcpResolveControllers.size>0||this.webMcpAwaitBatches.size>0;if(!t&&!this.#_t()){if(!this.#Ct(e))return!1;this.#Et()}if(this.#f=!1,!t){let e=!1;for(let t of this.messages)t.streaming&&(t.streaming=!1,e=!0);e&&this.callbacks.onMessagesChanged([...this.messages]),this.#kt(!1),this.abortController=null}return this.#Ot(`idle`),!0}#St(e){this.agentExecution||={executionId:e,agentId:``,agentName:``,status:`running`,currentIteration:0,maxTurns:0}}#Ct(e){return this.messages.some(t=>t.agentMetadata?.executionId===e&&[t.toolCall,...t.tools??[]].some(e=>e?.interrupted===!0))}#wt(){for(let e=this.messages.length-1;e>=0;e--){let t=this.messages[e];if(t.role===`assistant`&&!t.variant)return t.streaming=!0,this.callbacks.onMessagesChanged([...this.messages]),t.id;if(t.role===`user`)break}return null}#Tt(){this.#f=!1,this.#_?.teardown(),this.#Et()}#Et(){this.#y&&=(clearTimeout(this.#y),null);let e=this.#u!==null;this.#u=null,this.#p=void 0,e&&this.config.onExecutionState?.(null)}#Dt(e){let t=this.config.onExecutionState;t&&(e?(this.#y&&=(clearTimeout(this.#y),null),t(this.#u)):this.#y||=setTimeout(()=>{this.#y=null,this.config.onExecutionState?.(this.#u)},500))}getResumableHandle(){return this.#u}#Ot(e){e===`error`&&(this.#n=!0,this.#o()),this.status!==e&&(this.status=e,this.callbacks.onStatusChanged(e))}#kt(e){if(e||this.#o(),this.streaming===e)return;let t=this.streaming;this.streaming=e,this.callbacks.onStreamingChanged(e),t&&!e&&(this.#jt(void 0),this.speakLatestAssistantMessage())}speakLatestAssistantMessage(e){let t=this.config.textToSpeech;if(!t?.enabled||!(!t.provider||t.provider===`browser`||t.provider===`runtype`&&t.browserFallback))return;let n=[...this.messages].reverse().find(e=>e.role===`assistant`&&e.content&&!e.voiceProcessing);if(!n||e&&!e.includes(n.id))return;if(this.ttsSpokenMessageIds.has(n.id)){this.ttsSpokenMessageIds.delete(n.id);return}let r=_f(n.content);r.trim()&&this.readAloud.play(n.id,{text:r,voice:t.voice,rate:t.rate,pitch:t.pitch})}static pickBestVoice(e){return pf(e)}toggleReadAloud(e){let t=this.messages.find(t=>t.id===e);if(!t||t.role!==`assistant`)return;let n=_f(t.content||``);if(!n.trim())return;let r=this.config.textToSpeech;this.readAloud.toggle(e,{text:n,voice:r?.voice,rate:r?.rate,pitch:r?.pitch})}getReadAloudState(e){return this.readAloud.stateFor(e)}onReadAloudChange(e){return this.readAloud.onChange(e)}stopSpeaking(){this.readAloud.stop(),typeof window<`u`&&`speechSynthesis`in window&&window.speechSynthesis.cancel()}#At(e){for(let e of this.messages)e.streaming=!1;let t=Lf(e,this.config.errorMessage);t?this.#Pt({id:Wc(),role:`assistant`,content:t,dispatchError:!0,localOnly:!0,createdAt:(/* @__PURE__ */ new Date()).toISOString(),sequence:this.#It()}):this.callbacks.onMessagesChanged([...this.messages])}#jt(e){for(let[t,n]of[...this.#s])n===e&&(this.#s.delete(t),this.#Nt(t))}#Mt(e){for(let[t,n]of this.#s)n===e&&this.#s.set(t,void 0)}#Nt(e){let t=this.messages.find(t=>t.id===e)?.approval,n=t?.toolCallId,r=n&&this.messages.find(e=>e.toolCall?.id===n),i=r&&r.toolCall;if(!i||i.status===`complete`||t.status===`pending`)return;let a={...i,status:`complete`,approvalStatus:t.status,completedAt:Date.now(),...t.status===`approved`?{superseded:!0}:{success:!1,error:t.status===`denied`?`Denied`:`Approval timed out`}};this.upsertMessage({...r,streaming:!1,toolCall:a})}#Pt(e){let t=this.#Ft(e),n=this.messages[this.messages.length-1];this.messages=!n||this.#Lt(n,t)<=0?[...this.messages,t]:this.#Rt([...this.messages,t]),this.callbacks.onMessagesChanged([...this.messages])}upsertMessage(e){let t=this.#Ft(e),n=this.messages.findIndex(e=>e.id===t.id);if(n===-1){this.#Pt(t);return}this.messages=this.messages.map((e,r)=>{if(r!==n||e.toolCall?.name&&Un(e.toolCall.name)&&e.toolCall.status===`complete`&&t.toolCall?.id===e.toolCall.id&&t.toolCall.status!==`complete`&&(t.toolCall.status===`pending`&&!t.toolCall.name||!e.toolCall.interrupted&&(e.toolCall.result!==void 0||e.toolCall.success!==void 0)&&(!t.agentMetadata?.executionId||t.agentMetadata.executionId===e.agentMetadata?.executionId)))return e;let i={...e,...t};e.agentMetadata?.askUserQuestionAnswered===!0&&t.agentMetadata&&(i.agentMetadata={...t.agentMetadata,askUserQuestionAnswered:!0,...e.agentMetadata.askUserQuestionAnswers?{askUserQuestionAnswers:e.agentMetadata.askUserQuestionAnswers}:{},awaitingLocalTool:!1}),e.agentMetadata?.suggestRepliesResolved===!0&&t.agentMetadata&&(i.agentMetadata={...i.agentMetadata??t.agentMetadata,suggestRepliesResolved:!0,awaitingLocalTool:!1});let a=e.agentMetadata?.clientToolAnswer;if(a&&i.agentMetadata&&!i.agentMetadata.clientToolAnswer&&(i.agentMetadata={...i.agentMetadata,clientToolAnswer:a}),e.approval&&t.approval&&e.approval.id===t.approval.id){let n=e.approval,r=t.approval;i.approval={...n,...r,executionId:r.executionId||n.executionId,toolCallId:r.toolCallId||n.toolCallId,toolName:r.toolName||n.toolName,description:r.description||n.description,toolType:r.toolType??n.toolType,reason:r.reason??n.reason,parameters:r.parameters??n.parameters}}let o=t.toolCall?.name,s=t.agentMetadata?.executionId,c=t.toolCall?.id;if(o&&Rf(o)&&s&&c&&t.agentMetadata?.awaitingLocalTool===!0){let t=`${s}:${c}`,n=this.webMcpInflightKeys.has(t),r=this.webMcpResolvedKeys.has(t),a=e.toolCall?.name,o=e.agentMetadata?.executionId===s&&e.toolCall?.id===c&&a!==void 0&&Rf(a)&&e.toolCall?.status===`complete`&&!e.toolCall.interrupted;(n||r||o)&&(i.agentMetadata={...i.agentMetadata??{},awaitingLocalTool:!1},i.toolCall=e.toolCall,i.streaming=e.streaming)}return i});let r=this.messages[n],i=this.messages[n-1],a=this.messages[n+1];(i&&this.#Lt(i,r)>0||a&&this.#Lt(r,a)>0)&&(this.messages=this.#Rt(this.messages)),this.callbacks.onMessagesChanged([...this.messages])}#Ft(e){return e.sequence===void 0?{...e,sequence:this.#It()}:{...e}}#It(){return this.#l++}#Lt(e,t){let n=new Date(e.createdAt).getTime(),r=new Date(t.createdAt).getTime();if(!Number.isNaN(n)&&!Number.isNaN(r)&&n!==r)return n-r;let i=e.sequence??0,a=t.sequence??0;return i===a?e.id.localeCompare(t.id):i-a}#Rt(e){return[...e].sort((e,t)=>this.#Lt(e,t))}};Gr(),Gs(),gn(),Nn();function Bf(e){let t=J(`div`,`persona-attachment-preview persona-relative persona-inline-block`),n=e,r=``,i=()=>{let{state:e}=n,r=n.config.attachments?.preview,i=e.kind===`image`,a=i?r?.image:r?.file,o=i?r?.image?.layout??`thumbnail`:r?.file?.layout??`tile`;if(t.dataset.kind=e.kind,t.dataset.layout=o,t.dataset.fileIcon=String(r?.file?.icon!==!1),t.dataset.iconPlacement=r?.file?.iconPlacement??`start`,t.dataset.removeVisibility=a?.remove?.visibility??`always`,t.dataset.removePlacement=a?.remove?.placement??`overlap`,t.replaceChildren(),i&&e.previewUrl){let n=Y(`img`,{className:`persona-attachment-image`,attrs:{src:e.previewUrl,alt:e.name},style:{objectFit:r?.image?.fit??`cover`}}),i=r?.image?.name??`hidden`;if(o===`chip`||i!==`hidden`){let r=J(`div`,`persona-attachment-image-card`);r.append(n),i!==`hidden`&&r.append(Y(`span`,{className:`persona-attachment-file-name`,text:i===`basename`?e.name.replace(/\.[^.]+$/,``):e.name})),t.append(r)}else t.append(n)}else{let n=J(`div`,`persona-attachment-file`),i=e.mimeType,a=i.includes(`spreadsheet`)||i.includes(`excel`)?he:i===`application/json`?me:i===`application/pdf`||i.startsWith(`text/`)||i.includes(`word`)?ge:pe,o=(r?.file?.iconName?K(r.file.iconName,20,`currentColor`,1.5):null)??hn(a,20,`currentColor`,1.5);o&&r?.file?.icon!==!1&&(o.classList.add(`persona-attachment-file-icon`),n.append(o));let s=J(`div`,`persona-attachment-file-copy`),c=r?.file?.name??`hidden`;c!==`hidden`&&s.append(Y(`span`,{className:`persona-attachment-file-name`,text:c===`basename`?e.name.replace(/\.[^.]+$/,``):e.name}));let l=r?.file?.metadata,u=l===`size`?e.size<1024?`${e.size} B`:e.size<1048576?`${Math.round(e.size/1024)} KB`:`${(e.size/1048576).toFixed(1)} MB`:l===`line-count`&&e.lineCount!==void 0?`${e.lineCount} ${e.lineCount===1?`line`:`lines`}`:``;u&&s.append(Y(`span`,{className:`persona-attachment-file-metadata`,text:u})),s.childNodes.length&&n.append(s);let d=r?.file?.badge??`type`;d!==`none`&&n.append(Y(`span`,{className:`persona-attachment-file-badge`,text:d===`extension`?e.name.match(/\.([^.]+)$/)?.[1].toUpperCase()??Bs(i,e.name):Bs(i,e.name)})),t.append(n)}let s=Y(`div`,{className:`persona-attachment-status`,attrs:{"data-persona-attachment-status":``}}),c=J(`div`,`persona-attachment-progress`);c.append(J(`div`,`persona-attachment-progress__bar`));let l=Y(`button`,{className:`persona-attachment-retry`,attrs:{type:`button`,"aria-label":`Retry upload`}}),u=K(`rotate-cw`,12,`#ffffff`,2);u?l.append(u):l.textContent=`↻`,l.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),n.actions.retry()}),s.append(c,l);let d=Y(`button`,{className:`persona-attachment-remove`,attrs:{type:`button`,"aria-label":`Remove attachment`}}),f=hn(Nt,10,`currentColor`,2);f?d.append(f):d.textContent=`×`,d.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),n.actions.remove()}),t.append(s),((a?.remove?.placement===`inline`?t.querySelector(`.persona-attachment-file, .persona-attachment-image-card`):null)??t).append(d)},a=e=>{n=e;let{state:a}=n,o=JSON.stringify([n.config.attachments?.preview,a.lineCount,a.previewUrl]);r!==o&&(r=o,i()),t.dataset.status=a.status,t.setAttribute(`aria-busy`,String(a.status===`uploading`||a.status===`processing`)),t.title=a.status===`error`?`${a.name}: ${a.error??`Upload failed`}`:a.name;let s=t.querySelector(`.persona-attachment-progress__bar`);s&&(s.style.width=typeof a.progress==`number`?`${Math.round(a.progress*100)}%`:``)};return a(e),{element:t,update:a}}Gs();const Vf={add:e=>Ls(e)},Hf=e=>Number.isFinite(e)?Math.min(1,Math.max(0,e)):0,Uf={allowedTypes:Ws,maxFileSize:10485760,maxFiles:4};function Wf(){return`attach_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}var Gf=class e{#e=[];#t;#n=/* @__PURE__ */ new Set;#r=/* @__PURE__ */ new Map;#i=null;#a=/* @__PURE__ */ new Map;#o=/* @__PURE__ */ new WeakMap;#s=!1;#c=!1;constructor(e={}){this.#t={allowedTypes:e.allowedTypes??Uf.allowedTypes,maxFileSize:e.maxFileSize??Uf.maxFileSize,maxFiles:e.maxFiles??Uf.maxFiles,onFileRejected:e.onFileRejected,onAttachmentsChange:e.onAttachmentsChange,preview:e.preview,widgetConfig:e.widgetConfig,instanceId:e.instanceId,renderAttachmentPreview:e.renderAttachmentPreview,adapter:e.adapter}}#l(){return typeof this.#t.adapter?.add==`function`}#u(){return this.#l()?this.#t.adapter:Vf}setPreviewsContainer(e){this.#i!==e&&this.#y(),this.#i=e}remountPreviews(e){if(this.#y(),this.#i=e,e){e.innerHTML=``;for(let e of this.#e)this.#g(e)}this.#x()}updateConfig(e){if(`allowedTypes`in e&&(this.#t.allowedTypes=e.allowedTypes?.length?e.allowedTypes:Uf.allowedTypes),`maxFileSize`in e&&(this.#t.maxFileSize=e.maxFileSize??Uf.maxFileSize),`maxFiles`in e&&(this.#t.maxFiles=e.maxFiles??Uf.maxFiles),`onFileRejected`in e&&(this.#t.onFileRejected=e.onFileRejected),e.onAttachmentsChange!==void 0&&(this.#t.onAttachmentsChange=e.onAttachmentsChange),`adapter`in e&&(this.#t.adapter=e.adapter),`preview`in e&&(this.#t.preview=e.preview),`widgetConfig`in e&&(this.#t.widgetConfig=e.widgetConfig),`instanceId`in e&&(this.#t.instanceId=e.instanceId),`renderAttachmentPreview`in e&&e.renderAttachmentPreview!==this.#t.renderAttachmentPreview)this.#t.renderAttachmentPreview=e.renderAttachmentPreview,this.remountPreviews(this.#i);else for(let e of this.#e)this.#_(e),this.#b(e)}isReady(){return this.#e.every(e=>e.status===`ready`)}getAttachments(){return[...this.#e]}getContentParts(){return this.#e.map(e=>e.contentPart).filter(e=>e!==null)}hasAttachments(){return this.#e.length>0}count(){return this.#e.length}async handleFileSelect(e){e&&e.length!==0&&await this.handleFiles(Array.from(e))}async handleFiles(e){if(!e.length||this.#s)return;let t=[];for(let n of e){if(this.#e.length>=this.#t.maxFiles){this.#t.onFileRejected?.(n,`count`);continue}let e=Rs(n,this.#t.allowedTypes,this.#t.maxFileSize);if(!e.valid){let t=e.error?.includes(`type`)?`type`:`size`;this.#t.onFileRejected?.(n,t);continue}let r={id:Wf(),file:n,previewUrl:Is(n)?URL.createObjectURL(n):null,contentPart:null,status:this.#l()?`uploading`:`processing`,progress:this.#l()?0:void 0};this.#e.push(r),this.#g(r),t.push(r),this.#b(r)}this.#x(),this.#m(),await Promise.all(t.map(e=>this.#d(e)))}async#d(e){let t=new AbortController;this.#a.set(e.id,t);let n=this.#u(),r=()=>this.#s||t.signal.aborted||this.#a.get(e.id)!==t||!this.#e.includes(e);try{let i=await n.add(e.file,{signal:t.signal,onProgress:t=>{r()||e.status!==`uploading`||(e.progress=Hf(t),this.#_(e),this.#m())}});if(r()){this.#s&&this.#c&&this.#p(i,n);return}this.#o.set(e,n),e.contentPart=i,e.status=`ready`,e.progress=void 0,e.error=void 0}catch(t){if(r())return;e.status=`error`,e.progress=void 0,e.error=t instanceof Error?t.message:String(t??`Upload failed`)}finally{this.#a.get(e.id)===t&&this.#a.delete(e.id)}this.#_(e),this.#m()}retryAttachment(e){let t=this.#e.find(t=>t.id===e);!t||t.status!==`error`||this.#s||(t.status=this.#l()?`uploading`:`processing`,t.progress=this.#l()?0:void 0,t.error=void 0,this.#_(t),this.#m(),this.#d(t))}#f(e){let t=this.#a.get(e);t&&(this.#a.delete(e),t.abort())}removeAttachment(e){let t=this.#e.findIndex(t=>t.id===e);if(t===-1)return;let n=this.#e[t];this.#f(e),n.previewUrl&&URL.revokeObjectURL(n.previewUrl),this.#e.splice(t,1),this.#v(e),this.#n.delete(e);let r=this.#i?.querySelector(`[data-attachment-id="${e}"]`);r&&r.remove(),n.status===`ready`&&n.contentPart&&this.#p(n.contentPart,this.#o.get(n)),this.#x(),this.#m()}async#p(e,t){try{await t?.remove?.(e,{signal:new AbortController().signal})}catch(e){console.error(`[AttachmentManager] adapter.remove failed:`,e)}}clearAttachments(){this.#y(),this.#n.clear();for(let e of this.#e)this.#f(e.id),e.previewUrl&&URL.revokeObjectURL(e.previewUrl);this.#e=[],this.#a.clear(),this.#i&&(this.#i.innerHTML=``),this.#x(),this.#m()}destroy(e){if(!this.#s){this.#s=!0,this.#y(),this.#c=e?.release===!0;for(let e of this.#a.values())e.abort();this.#a.clear();for(let e of this.#e)e.previewUrl&&URL.revokeObjectURL(e.previewUrl),this.#c&&e.status===`ready`&&e.contentPart&&this.#p(e.contentPart,this.#o.get(e));this.#e=[],this.#i=null}}#m(){this.#s||this.#t.onAttachmentsChange?.(this.getAttachments())}#h(e){let t={instanceId:this.#t.instanceId??``,state:Object.freeze({id:e.id,name:e.file.name,mimeType:e.file.type,size:e.file.size,status:e.status,progress:e.progress,error:e.error,lineCount:e.lineCount,kind:Is(e.file)?`image`:`file`,previewUrl:e.previewUrl}),config:{...this.#t.widgetConfig,attachments:{...this.#t.widgetConfig?.attachments,preview:this.#t.preview}},actions:{remove:()=>this.removeAttachment(e.id),retry:()=>this.retryAttachment(e.id)},defaultRenderer:()=>Bf(t)};return t}#g(e){if(!this.#i)return;let t=this.#h(e),n=null;try{n=this.#t.renderAttachmentPreview?.(t)??null}catch(e){console.error(`[AttachmentManager] preview renderer failed:`,e)}n??=t.defaultRenderer();let r=n instanceof HTMLElement?{element:n}:n;r.element.dataset.attachmentId=e.id,this.#r.set(e.id,r),this.#i.appendChild(r.element)}#_(e){try{this.#r.get(e.id)?.update?.(this.#h(e))}catch(e){console.error(`[AttachmentManager] preview update failed:`,e)}}#v(e){let t=this.#r.get(e);if(t){this.#r.delete(e);try{t.destroy?.()}catch(e){console.error(`[AttachmentManager] preview cleanup failed:`,e)}finally{t.element.remove()}}}#y(){for(let e of this.#r.keys())this.#v(e)}async#b(e){let t=e.file;if(!this.#n.has(e.id)&&!(this.#t.preview?.file?.metadata!==`line-count`||t.size>1048576||![`text/plain`,`text/markdown`,`text/csv`,`application/json`].includes(t.type))){this.#n.add(e.id);try{let n=await new Promise((e,n)=>{let r=new FileReader;r.onload=()=>e(String(r.result??``)),r.onerror=()=>n(r.error),r.readAsText(t)});if(this.#s||!this.#e.includes(e)||n.includes(`\0`))return;e.lineCount=n===``?0:n.split(/\r\n|\r|\n/).length-+!!/\r?\n$|\r$/.test(n),this.#_(e)}catch{}}}#x(){this.#i&&(this.#i.style.display=this.#e.length>0?`flex`:`none`)}static fromConfig(t,n){return new e({allowedTypes:t?.allowedTypes,maxFileSize:t?.maxFileSize,maxFiles:t?.maxFiles,onFileRejected:t?.onFileRejected,onAttachmentsChange:n,preview:t?.preview,adapter:t?.adapter})}};const Kf=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]),qf=(e,t)=>e.length===t.length&&e.every((e,n)=>{let r=t[n];return e.id===r.id&&e.name===r.name&&e.mimeType===r.mimeType&&e.size===r.size&&e.status===r.status&&e.progress===r.progress&&e.error===r.error});function Jf(){let e={text:``,attachments:[],mentionRefs:[],selectedModelId:void 0,activeModeIds:[],quote:void 0,pendingSubmission:void 0,preparing:!1,streaming:!1,inputDisabled:!1,sendDisabled:!1},t=/* @__PURE__ */ new Set,n=null,r=!1,i=!1,a=()=>e.preparing?`preparing`:e.streaming?`streaming`:`idle`,o=()=>{let t=a();return Object.freeze({text:e.text,attachments:Object.freeze(e.attachments.map(e=>Object.freeze({...e}))),mentionRefs:Object.freeze([...e.mentionRefs]),selectedModelId:e.selectedModelId,activeModeIds:Object.freeze([...e.activeModeIds]),quote:e.quote?Object.freeze({...e.quote}):void 0,pendingSubmission:e.pendingSubmission,phase:t,inputDisabled:e.inputDisabled,sendDisabled:t!==`idle`||e.sendDisabled||e.inputDisabled})},s=()=>(n||=o(),n),c=()=>{if(r=!1,i||t.size===0)return;let e=s();for(let n of[...t])try{n(e)}catch(e){typeof console<`u`&&console.error(`[AgentWidget] composer state listener failed:`,e)}},l=()=>{n=null,!(i||r)&&(r=!0,queueMicrotask(c))};return{getState:s,subscribe:e=>(t.add(e),()=>t.delete(e)),setText:t=>{e.text!==t&&(e.text=t,l())},setAttachments:t=>{qf(e.attachments,t)||(e.attachments=[...t],l())},setMentionRefs:t=>{Kf(e.mentionRefs,t)||(e.mentionRefs=[...t],l())},setSelectedModelId:t=>{e.selectedModelId!==t&&(e.selectedModelId=t,l())},setActiveModeIds:t=>{Kf(e.activeModeIds,t)||(e.activeModeIds=[...t],l())},setQuote:t=>{let n=e.quote;(n?.text!==t?.text||n?.messageId!==t?.messageId||n?.sourceLabel!==t?.sourceLabel)&&(e.quote=t?{...t}:void 0,l())},setPendingSubmission:t=>{e.pendingSubmission!==t&&(e.pendingSubmission=t,l())},setPreparing:t=>{e.preparing!==t&&(e.preparing=t,l())},setStreaming:t=>{e.streaming!==t&&(e.streaming=t,l())},setInputDisabled:t=>{e.inputDisabled!==t&&(e.inputDisabled=t,l())},setSendDisabled:t=>{e.sendDisabled!==t&&(e.sendDisabled=t,l())},flush:()=>{r&&c()},destroy:()=>{i=!0,r=!1,t.clear()}}}Gr();const Yf=(e,...t)=>{for(let n of t){let t=e.querySelector(n);if(t)return t}return null},Xf=(e,t)=>{let n=J(`div`,e);return n.setAttribute(t,``),n.setAttribute(`data-persona-composer-synthesized`,``),n.style.display=`contents`,n};function Zf(e,t={}){let n=Yf(e,`[data-persona-composer-form]`),r=Yf(e,`[data-persona-composer-input]`);if(!n||!r){let e=`[Persona] composer surface is missing required element(s): ${[!n&&`form`,!r&&`input`].filter(Boolean).join(`, `)}. Mark them with data-persona-composer-form / data-persona-composer-input.`;if(t.debug&&(n||r))throw Error(e);return typeof console<`u`&&console.warn(e),null}let i={header:Yf(e,`[data-persona-composer-header]`),body:Yf(e,`[data-persona-composer-body]`),actionsStart:Yf(e,`[data-persona-composer-actions-start]`,`.persona-widget-composer__left-actions`),actionsEnd:Yf(e,`[data-persona-composer-actions-end]`,`.persona-widget-composer__right-actions`),actionsRow:Yf(e,`[data-persona-composer-actions]`,`.persona-widget-composer .persona-flex.persona-items-center.persona-justify-between`),suggestions:Yf(e,`[data-persona-composer-suggestions]`,`.persona-mb-3.persona-flex.persona-flex-wrap.persona-gap-2`),status:Yf(e,`[data-persona-composer-status]`)},a=/* @__PURE__ */ new Set,o=i.header;o||(a.add(`header`),o=Xf(`persona-widget-composer__header`,`data-persona-composer-header`),n.parentNode?n.parentNode.insertBefore(o,n):e.appendChild(o));let s=i.body??r.parentElement??n,c=(e,t,n,r,i)=>{if(t)return t;a.add(e);let o=Xf(n,r);return i.appendChild(o),o},l=c(`actionsStart`,i.actionsStart,`persona-widget-composer__left-actions`,`data-persona-composer-actions-start`,n),u=c(`actionsEnd`,i.actionsEnd,`persona-widget-composer__right-actions`,`data-persona-composer-actions-end`,n),d=c(`suggestions`,i.suggestions,`persona-widget-composer__suggestions`,`data-persona-composer-suggestions`,e),f=c(`status`,i.status,`persona-widget-composer__status`,`data-persona-composer-status`,e),p=[],m=(e,t)=>e.target===t.target&&e.type===t.type&&e.handler===t.handler,h=Yf(e,`[data-persona-composer-attachment-input]`,`input[type="file"]`)??void 0;return{footer:e,form:n,input:r,header:o,body:s,actionsStart:l,actionsEnd:u,suggestions:d,status:f,attachmentInput:h,attachmentPreviews:Yf(e,`[data-persona-composer-attachment-previews]`,`.persona-attachment-previews`)??void 0,attachmentButton:Yf(e,`[data-persona-composer-attachment-button]`,`.persona-attachment-button`)??void 0,sendButton:Yf(e,`[data-persona-composer-submit]`)??void 0,micButton:Yf(e,`[data-persona-composer-mic]`)??void 0,synthesized:a,found:i,addListener:(e,t,n,r)=>{e.addEventListener(t,n,r),p.push({target:e,type:t,handler:n,options:r})},removeListener:(e,t,n,r)=>{e.removeEventListener(t,n,r),p=p.filter(r=>!m(r,{target:e,type:t,handler:n}))},destroy:()=>{for(let e of p)e.target.removeEventListener(e.type,e.handler,e.options);p=[]}}}[...[`padding`,`rowGap`,`rowPadding`,`rowBorderRadius`,`fontSize`,`lineHeight`,`iconSize`,`iconGap`,`hoverBackground`,`focusBackground`,`descriptionColor`,`descriptionFontSize`,`dividerColor`,`dividerSpacing`,`minWidth`,`maxHeight`].map(e=>`--persona-components-composer-overflowMenu-${e}`)];function Qf(e,t,n,r){return e<=0?r:e>=t+n*2+120+(r?0:16)}const $f=e=>Number.parseFloat(e)||0;function ep(e,t){let n=t.getComputedStyle(e);if(n.display===`none`)return 0;let r=Array.from(e.children).filter(e=>{if(!(e instanceof t.HTMLElement))return!1;let n=t.getComputedStyle(e);return n.display!==`none`&&![`absolute`,`fixed`].includes(n.position)});return r.reduce((e,n)=>{let r=t.getComputedStyle(n);return e+(r.display===`contents`?ep(n,t):Math.max(n.getBoundingClientRect().width,n.scrollWidth))+$f(r.marginLeft)+$f(r.marginRight)},0)+Math.max(0,r.length-1)*$f(n.columnGap)+$f(n.paddingLeft)+$f(n.paddingRight)}function tp(e){let t=null,n=null,r=null,i=null,a=0,o=!0,s=!1,c=!1,l=()=>{i!==null&&t?.form.ownerDocument.defaultView?.cancelAnimationFrame(i),i=null,n?.disconnect(),r?.disconnect(),n=null,r=null,t?.form.ownerDocument.defaultView?.removeEventListener(`resize`,u)},u=()=>{if(c||i!==null)return;let n=t?.form.ownerDocument.defaultView;n&&(i=n.requestAnimationFrame(()=>{i=null,c||e.onMeasure()}))};return{measure:()=>{if(c)return o;let i=e.getSurface();if(i?.form!==t?.form||i?.input!==t?.input||i?.start!==t?.start||i?.end!==t?.end){l(),t=i,o=!0,s=!1,a=0;let e=t?.form.ownerDocument.defaultView;if(t&&e){if(e.addEventListener(`resize`,u),e.ResizeObserver!==void 0){n=new e.ResizeObserver(u);let r=[t.form,t.start,t.end,t.input];for(let e of r)n.observe(e)}e.MutationObserver!==void 0&&(r=new e.MutationObserver(e=>{e.some(e=>e.target!==t?.input||e.type!==`attributes`)&&u()}),r.observe(t.form,{subtree:!0,childList:!0,characterData:!0,attributes:!0,attributeFilter:[`class`,`style`,`hidden`]}))}}t&&i&&(t.resizeInput=i.resizeInput);let d=t?.form.ownerDocument.defaultView;if(!t||!d)return!0;if(!t.form.clientWidth)return o;let f=d.getComputedStyle(t.form),p=Math.max(1,t.form.clientWidth-$f(f.paddingLeft)-$f(f.paddingRight)),m=ep(t.start,d)+ep(t.end,d),h=$f(f.columnGap);s=m+h+(s?16:0)>p,o=Qf(p,m,h,o);let g=t.input.getBoundingClientRect().width;if(t.resizeInput!==!1&&g>0&&g!==a&&t.input.tagName===`TEXTAREA`){a=g,t.input.style.height=`auto`;let e=$f(d.getComputedStyle(t.input).maxHeight)||1/0,n=Math.min(t.input.scrollHeight,e);t.input.style.height=`${n}px`}return o},toolbarCrowded:()=>s,refresh:u,destroy:()=>{c=!0,l(),t=null}}}const np={mention:100,attachment:200,mic:800,overflow:900,send:1e3,custom:500};Gr();const rp=`[data-persona-composer-chip-row]`;function ip(e){let t=e.querySelector(rp);if(t)return t;let n=Y(`div`,{className:`persona-composer-chip-row`,attrs:{"data-persona-composer-chip-row":``}});n.style.display=`none`;let r=e.querySelector(`[data-persona-composer-quote], [data-persona-composer-pending]`);return r?.parentElement===e?e.insertBefore(n,r):e.appendChild(n),n}Gr(),Nn();function ap(e){let t=Y(`div`,{className:`persona-composer-quote`,attrs:{"data-persona-composer-quote":``}});t.style.display=`none`;let n=``,r=!1,i=n=>{let r=J(`span`,`persona-composer-quote-bar`),i=J(`div`,`persona-composer-quote-content`);if(n.sourceLabel){let e=J(`div`,`persona-composer-quote-source`);e.textContent=n.sourceLabel,i.appendChild(e)}let a=Y(`div`,{className:`persona-composer-quote-text`,attrs:{"data-persona-composer-quote-text":``}});a.textContent=Zd(n.text),i.appendChild(a);let o=Y(`button`,{className:`persona-composer-quote-dismiss`,attrs:{type:`button`,"aria-label":e.dismissLabel??`Remove quote`,"data-persona-composer-quote-dismiss":``}}),s=K(`x`,12,`currentColor`,2);s?o.appendChild(s):o.textContent=`×`,o.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),e.onDismiss()}),t.replaceChildren(r,i,o)};return{element:t,render:e=>{if(r)return;let a=e?`${e.sourceLabel??``}${e.text}`:``;a!==n&&(n=a,e?(i(e),t.style.display=`flex`):(t.replaceChildren(),t.style.display=`none`))},destroy:()=>{r=!0,t.replaceChildren(),t.remove()}}}Gr(),Nn();function op(e){let t=Y(`div`,{className:`persona-composer-pending`,attrs:{"data-persona-composer-pending":``}});t.style.display=`none`;let n,r=!1,i=(e,t,n,r)=>{let i=Y(`button`,{className:`persona-composer-pending-action`,attrs:{type:`button`,"aria-label":t,[n]:``}}),a=K(e,12,`currentColor`,2);return a?i.appendChild(a):i.textContent=t,i.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),r()}),i},a=e=>{let t=Zd(e.text??``,90);if(t)return t;let n=e.contentParts?.length??0;return n>0?n===1?`1 attachment`:`${n} attachments`:(e.mentionRefs?.length??0)>0?e.mentionRefs.map(e=>e.label).join(`, `):`Queued message`};return{element:t,render:o=>{if(r||o===n)return;if(n=o,!o){t.replaceChildren(),t.style.display=`none`;return}let s=J(`span`,`persona-composer-pending-badge`);s.textContent=e.label??`Sends next`;let c=Y(`div`,{className:`persona-composer-pending-text`,attrs:{"data-persona-composer-pending-text":``}});c.textContent=a(o),t.replaceChildren(s,c,i(`pencil`,e.editLabel??`Edit queued message`,`data-persona-composer-pending-edit`,e.onEdit),i(`x`,e.removeLabel??`Remove queued message`,`data-persona-composer-pending-remove`,e.onRemove)),t.style.display=`flex`},destroy:()=>{r=!0,t.replaceChildren(),t.remove()}}}Gr();function sp(e){let t=Y(`div`,{className:`persona-message-edit`,attrs:{"data-persona-message-edit":e.messageId,"data-preserve-runtime":``}}),n=Y(`textarea`,{className:`persona-message-edit-input`,attrs:{rows:`1`,dir:`auto`,"aria-label":`Edit message`,"data-persona-message-edit-input":``}});n.value=e.initialText;let r=()=>{n.style.height=`auto`,n.style.height=`${n.scrollHeight}px`};n.addEventListener(`input`,r);let i=J(`div`,`persona-message-edit-actions`),a=(e,t,n,r)=>{let i=Y(`button`,{className:`persona-message-edit-button ${t}`,attrs:{type:`button`,[n]:``},text:e});return i.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),r()}),i},o=()=>{let t=n.value.trim();t&&e.onSave(t)};return i.append(a(e.cancelLabel??`Cancel`,`persona-message-edit-cancel`,`data-persona-message-edit-cancel`,e.onCancel),a(e.saveLabel??`Send`,`persona-message-edit-save`,`data-persona-message-edit-save`,o)),n.addEventListener(`keydown`,t=>{t.key===`Escape`?(t.preventDefault(),t.stopPropagation(),e.onCancel()):t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),o())}),t.append(n,i),{element:t,getValue:()=>n.value,focus:()=>{n.focus();let e=n.value.length;n.setSelectionRange(e,e),r()},destroy:()=>{t.replaceChildren(),t.remove()}}}function cp(e){let t=e.text??``;if(t.trim().length>0||(e.mentionRefs?.length??0)>0||(e.activeModeIds?.length??0)>0||e.quote||e.selectedModelId)return{text:t,...e.mentionRefs?.length?{mentionRefs:[...e.mentionRefs]}:{},...e.contentSegments?.length?{contentSegments:[...e.contentSegments]}:{},...e.selectedModelId?{selectedModelId:e.selectedModelId}:{},...e.activeModeIds?.length?{activeModeIds:[...e.activeModeIds]}:{},...e.quote?{quote:{...e.quote}}:{}}}function lp(e,t){if(!e||typeof e.text!=`string`)return;let n=new Set(t.mentionSourceIds),r=(e.mentionRefs??[]).filter(e=>n.has(e.sourceId)),i=r.length===(e.mentionRefs?.length??0)&&r.length>0,a=new Set(t.modes.map(e=>e.id)),o=(e.activeModeIds??[]).filter(e=>a.has(e)),s=e.selectedModelId&&t.modelIds.includes(e.selectedModelId)?e.selectedModelId:void 0;return{text:e.text,...i?{mentionRefs:r}:{},...i&&e.contentSegments?.length?{contentSegments:e.contentSegments}:{},...s?{selectedModelId:s}:{},...o.length?{activeModeIds:o}:{},...e.quote?.text?{quote:e.quote}:{}}}function up(e){let t=e.delay??500,n=null,r=!1,i=()=>{n!==null&&(clearTimeout(n),n=null)};return{schedule:()=>{r||(i(),n=setTimeout(()=>{n=null,e.write()},t))},flush:()=>{r||n===null||(i(),e.write())},cancel:i,destroy:()=>{r=!0,i()}}}const dp=e=>`core:mode:${e}`;function fp(e,t){return e?t?.find(t=>t.id===e)?.presentation===`segmented`:!1}function pp(e,t){return e?t?.find(t=>t.id===e)?.chipVisibility===`hidden`:!1}function mp(e,t,n=!1){return e?.length?e.filter(e=>!fp(e.groupId,t)&&!pp(e.groupId,t)&&(!n||e.presentation===`overflow`||t?.find(t=>t.id===e.groupId)?.chipVisibility===`auto`)):[]}const hp=(e,t)=>e.groupId?t?.find(t=>t.id===e.groupId)?.selection??null:null;function gp(e,t,n,r){let i=n.find(e=>e.id===t);if(!i)return[...e];let a=e.includes(t),o=new Set(e);if(a)o.delete(t);else{if(hp(i,r)===`single`){let e=n.filter(e=>e.groupId===i.groupId).map(e=>e.id);o=new Set([...o].filter(t=>!e.includes(t)))}o.add(t)}return n.filter(e=>o.has(e.id)).map(e=>e.id)}function _p(e,t){return t?.length?t.filter(t=>e.includes(t.id)).map(e=>e.id):[]}function vp(e,t){return t?.length?t.filter(t=>e.includes(t.id)&&(t.persistence??`sticky`)!==`once`).map(e=>e.id):[]}function yp(e,t){if(t?.length&&e.length!==0)return t.find(t=>e.includes(t.id)&&t.placeholder)?.placeholder}function bp(e,t,n){let r=[];for(let i of e)r.includes(i)||(r=gp(r,i,t,n));return r}function xp(e){return e.wrapped||e.text.includes(`
22
- `)?!1:!(e.hasAttachments||e.hasChips||e.hasQuote||e.hasPendingSubmission)}function Sp(){let e=!1;return{observe:(t,n)=>n?(t&&(e=!0),e):(e=!1,!1),release:()=>{e=!1}}}function Cp(e){if(!e)return!1;let t=e.ownerDocument?.defaultView;if(!t?.getComputedStyle)return!1;let n=t.getComputedStyle(e),r=Number.parseFloat(n.lineHeight),i=Number.parseFloat(n.fontSize),a=Number.isFinite(r)&&r>0?r:Number.isFinite(i)&&i>0?i*1.4:0;if(!a)return!1;let o=(Number.parseFloat(n.paddingTop)||0)+(Number.parseFloat(n.paddingBottom)||0),s=e.style.height,c=e.style.getPropertyPriority(`height`),l=e.tagName===`TEXTAREA`;l&&(e.style.height=`auto`);let u=e.scrollHeight-o;return l&&e.style.setProperty(`height`,s,c),u>a*1.5}function wp(e){e&&(typeof e.requestSubmit==`function`?e.requestSubmit():e.dispatchEvent(new Event(`submit`,{bubbles:!0,cancelable:!0})))}function Tp(e){return Object.freeze({text:e.text,contentParts:e.contentParts?Object.freeze([...e.contentParts]):void 0,mentionRefs:Object.freeze([...e.mentionRefs]),contentSegments:e.contentSegments?Object.freeze([...e.contentSegments]):void 0,options:Object.freeze({...e.options}),viaVoice:e.viaVoice})}function Ep(e){return e.inputDisabled===!0||e.sendDisabled===!0||e.hasAttachments&&!e.attachmentsReady?!1:!!e.text||e.hasAttachments||e.hasMentions||e.hasServerMentions}const Dp=e=>typeof e?.then==`function`;function Op(e,t){return t===!1?{status:`canceled`}:(!t||typeof t!=`object`||(typeof t.text==`string`&&(e.text=t.text),t.options&&(e.options={...e.options,...t.options})),{status:`proceed`})}function kp(e,t,n){let r;try{r=e(Tp(t),{signal:n})}catch(e){return{status:`error`,error:e}}return Dp(r)?Promise.resolve(r).then(e=>n.aborted?{status:`aborted`}:Op(t,e),e=>n.aborted?{status:`aborted`}:{status:`error`,error:e}):Op(t,r)}const Ap=e=>e?.launcher?.variant??(e?.future?.v5Defaults===!0?`circle`:`pill`),jp={background:`semantic.colors.primary`,foreground:`semantic.colors.textInverse`,border:`transparent`,size:`48px`,iconSize:`24px`,borderRadius:`palette.radius.full`,shadow:`0 8px 24px rgba(0,0,0,.16)`,offset:`20px`};Es();const Mp=`16px`,Np=`transparent`,Pp={colors:{primary:{50:`#ffffff`,100:`#f5f5f5`,200:`#d4d4d4`,300:`#a3a3a3`,400:`#737373`,500:`#171717`,600:`#0f0f0f`,700:`#0a0a0a`,800:`#050505`,900:`#030303`,950:`#000000`},secondary:{50:`#f5f3ff`,100:`#ede9fe`,200:`#ddd6fe`,300:`#c4b5fd`,400:`#a78bfa`,500:`#8b5cf6`,600:`#7c3aed`,700:`#6d28d9`,800:`#5b21b6`,900:`#4c1d95`,950:`#2e1065`},accent:{50:`#ecfeff`,100:`#cffafe`,200:`#a5f3fc`,300:`#67e8f9`,400:`#22d3ee`,500:`#06b6d4`,600:`#0891b2`,700:`#0e7490`,800:`#155e75`,900:`#164e63`,950:`#083344`},gray:{50:`#f9fafb`,100:`#f3f4f6`,200:`#e5e7eb`,300:`#d1d5db`,400:`#9ca3af`,500:`#6b7280`,600:`#4b5563`,700:`#374151`,800:`#1f2937`,900:`#111827`,950:`#030712`},success:{50:`#f0fdf4`,100:`#dcfce7`,200:`#bbf7d0`,300:`#86efac`,400:`#4ade80`,500:`#22c55e`,600:`#16a34a`,700:`#15803d`,800:`#166534`,900:`#14532d`},warning:{50:`#fefce8`,100:`#fef9c3`,200:`#fef08a`,300:`#fde047`,400:`#facc15`,500:`#eab308`,600:`#ca8a04`,700:`#a16207`,800:`#854d0e`,900:`#713f12`},error:{50:`#fef2f2`,100:`#fee2e2`,200:`#fecaca`,300:`#fca5a5`,400:`#f87171`,500:`#ef4444`,600:`#dc2626`,700:`#b91c1c`,800:`#991b1b`,900:`#7f1d1d`},info:{50:`#eff6ff`,100:`#dbeafe`,200:`#bfdbfe`,300:`#93c5fd`,400:`#60a5fa`,500:`#3b82f6`,600:`#2563eb`,700:`#1d4ed8`,800:`#1e40af`,900:`#1e3a8a`,950:`#172554`},purple:{50:`#faf5ff`,100:`#f3e8ff`,200:`#e9d5ff`,300:`#d8b4fe`,400:`#c084fc`,500:`#a855f7`,600:`#9333ea`,700:`#7e22ce`,800:`#6b21a8`,900:`#581c87`,950:`#3b0764`},teal:{50:`#f0fdfa`,100:`#ccfbf1`,200:`#99f6e4`,300:`#5eead4`,400:`#2dd4bf`,500:`#14b8a6`,600:`#0d9488`,700:`#0f766e`,800:`#115e59`,900:`#134e4a`,950:`#042f2e`}},spacing:(()=>{let e={};for(let t of[0,1,2,3,4,5,6,8,10,12,16,20,24,32,40,48,56,64])e[t]=t===0?`0px`:`${t/4}rem`;return e})(),typography:{fontFamily:{sans:`system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif`,serif:`Georgia, Cambria, "Times New Roman", Times, serif`,mono:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace`},fontSize:{xs:`0.75rem`,sm:`0.875rem`,base:`1rem`,lg:`1.125rem`,xl:`1.25rem`,"2xl":`1.5rem`,"3xl":`1.875rem`,"4xl":`2.25rem`},fontWeight:{normal:`400`,medium:`500`,semibold:`600`,bold:`700`},lineHeight:{tight:`1.25`,normal:`1.5`,relaxed:`1.625`}},shadows:{none:`none`,sm:`0 1px 2px 0 rgb(0 0 0 / 0.05)`,md:`0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`,lg:`0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)`,xl:`0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)`,"2xl":`0 25px 50px -12px rgb(0 0 0 / 0.25)`},borders:{none:`none`,sm:`1px solid`,md:`2px solid`,lg:`4px solid`},radius:{none:`0px`,sm:`0.125rem`,md:`0.375rem`,lg:`0.5rem`,xl:`0.75rem`,"2xl":`1rem`,full:`9999px`}},Fp={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`}},Ip={button:{primary:{background:`palette.colors.primary.500`,foreground:`palette.colors.primary.50`,borderRadius:`palette.radius.lg`,padding:`semantic.spacing.md`},secondary:{background:`semantic.colors.surface`,foreground:`semantic.colors.secondary`,borderRadius:`palette.radius.lg`,padding:`semantic.spacing.md`},ghost:{background:`transparent`,foreground:`semantic.colors.text`,borderRadius:`palette.radius.md`,padding:`semantic.spacing.sm`,hoverBackground:`rgba(0, 0, 0, 0.05)`}},input:{background:`semantic.colors.surface`,placeholder:`semantic.colors.textMuted`,borderRadius:`palette.radius.lg`,padding:`semantic.spacing.md`,focus:{border:`palette.colors.gray.400`,ring:`palette.colors.gray.400`}},launcher:{background:`semantic.colors.surface`,foreground:`semantic.colors.primary`,border:`semantic.colors.border`,size:`60px`,iconSize:`28px`,borderRadius:`palette.radius.full`,shadow:`palette.shadows.lg`},panel:{width:gs,maxWidth:`none`,height:`min(640px, max(200px, calc(100vh - 64px)))`,maxHeight:`none`,borderRadius:`palette.radius.xl`,shadow:`palette.shadows.xl`,inset:Mp,canvasBackground:Np,modes:{floating:{border:`1px solid var(--persona-border)`,shadow:`palette.shadows.xl`,borderRadius:`palette.radius.xl`},inline:{border:`1px solid var(--persona-border)`,shadow:`none`,borderRadius:`palette.radius.xl`},docked:{border:`none`,shadow:`none`,borderRadius:`palette.radius.xl`},sidebar:{border:`none`,borderRadius:`0`},mobile:{border:`none`,shadow:`none`,borderRadius:`0`}}},header:{background:`palette.colors.primary.500`,foreground:`palette.colors.primary.50`,borderRadius:`palette.radius.xl palette.radius.xl 0 0`,padding:`20px 24px`,minimalPadding:`16px 24px`,iconBackground:`palette.colors.primary.600`,iconForeground:`palette.colors.primary.50`},message:{gap:`12px`,user:{background:`palette.colors.primary.500`,text:`palette.colors.primary.50`,borderRadius:`palette.radius.lg`,shadow:`palette.shadows.sm`},assistant:{background:`semantic.colors.container`,text:`semantic.colors.text`,borderRadius:`palette.radius.lg`,border:`semantic.colors.border`,shadow:`palette.shadows.sm`},operator:{background:`color-mix(in srgb, var(--persona-primary) 6%, var(--persona-container))`,text:`semantic.colors.text`,borderRadius:`palette.radius.lg`,border:`color-mix(in srgb, var(--persona-primary) 20%, var(--persona-container))`,borderWidth:`1px`,shadow:`palette.shadows.sm`},border:`semantic.colors.border`},introCard:{background:`transparent`,borderRadius:`palette.radius.2xl`,padding:`semantic.spacing.lg`,shadow:`palette.shadows.none`},suggestion:{chip:{background:`semantic.colors.surface`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,borderRadius:`palette.radius.full`,padding:`0.5rem 0.875rem`,gap:`0.5rem`,itemGap:`8px`,minHeight:`36px`,fontSize:`0.8125rem`,lineHeight:`1.25`,iconSize:`16px`,hoverBackground:`palette.colors.gray.100`,hoverBorder:`palette.colors.gray.300`,pressedBackground:`palette.colors.gray.200`,focusRing:`semantic.colors.interactive.focus`,disabledOpacity:`0.5`},card:{background:`semantic.colors.surface`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,borderRadius:`palette.radius.xl`,padding:`1rem`,shadow:`palette.shadows.sm`,gap:`0.625rem`,itemGap:`8px`,minHeight:`72px`,fontSize:`0.875rem`,lineHeight:`1.35`,iconSize:`18px`,hoverBackground:`palette.colors.gray.100`,hoverBorder:`palette.colors.gray.300`,pressedBackground:`palette.colors.gray.200`,focusRing:`semantic.colors.interactive.focus`,disabledOpacity:`0.5`},list:{background:`transparent`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,borderRadius:`palette.radius.md`,padding:`0.75rem`,gap:`0.625rem`,itemGap:`8px`,minHeight:`44px`,fontSize:`0.875rem`,lineHeight:`1.35`,iconSize:`17px`,hoverBackground:`palette.colors.gray.100`,hoverBorder:`palette.colors.gray.300`,pressedBackground:`palette.colors.gray.200`,focusRing:`semantic.colors.interactive.focus`,disabledOpacity:`0.5`}},toolBubble:{shadow:`palette.shadows.sm`},reasoningBubble:{shadow:`palette.shadows.sm`},composer:{shadow:`palette.shadows.none`},scrollbar:{thumb:`semantic.colors.border`,track:`transparent`},markdown:{inlineCode:{background:`palette.colors.gray.50`,foreground:`palette.colors.gray.900`},link:{foreground:`palette.colors.primary.600`},prose:{fontFamily:`inherit`},codeBlock:{background:`semantic.colors.container`,borderColor:`semantic.colors.border`,textColor:`inherit`,borderRadius:`palette.radius.md`},table:{headerBackground:`semantic.colors.container`,borderColor:`semantic.colors.border`},hr:{color:`semantic.colors.divider`},blockquote:{borderColor:`palette.colors.gray.900`,background:`transparent`,textColor:`palette.colors.gray.500`}},collapsibleWidget:{container:`palette.colors.gray.50`,surface:`semantic.colors.surface`,border:`semantic.colors.border`},voice:{recording:{indicator:`palette.colors.error.500`,background:`palette.colors.error.50`,border:`palette.colors.error.200`},processing:{icon:`palette.colors.primary.500`,background:`palette.colors.primary.50`},speaking:{icon:`palette.colors.success.500`}},approval:{requested:{background:`semantic.colors.surface`,border:`semantic.colors.border`,text:`palette.colors.gray.900`,shadow:`0 1px 2px 0 rgba(11, 11, 11, 0.06), 0 2px 8px 0 rgba(11, 11, 11, 0.04)`},approve:{background:`semantic.colors.primary`,foreground:`semantic.colors.textInverse`,borderRadius:`palette.radius.md`,padding:`semantic.spacing.sm`},deny:{background:`semantic.colors.container`,foreground:`semantic.colors.text`,borderRadius:`palette.radius.md`,padding:`semantic.spacing.sm`}},attachment:{image:{background:`palette.colors.gray.100`,border:`palette.colors.gray.200`}},eventStream:{badge:{flow:{background:`palette.colors.success.100`,foreground:`palette.colors.success.700`},step:{background:`palette.colors.primary.100`,foreground:`palette.colors.primary.700`},reasoning:{background:`palette.colors.warning.100`,foreground:`palette.colors.warning.700`},tool:{background:`palette.colors.purple.100`,foreground:`palette.colors.purple.800`},agent:{background:`palette.colors.teal.100`,foreground:`palette.colors.teal.800`},error:{background:`palette.colors.error.100`,foreground:`palette.colors.error.700`},default:{background:`palette.colors.gray.100`,foreground:`palette.colors.gray.600`}}},scrollToBottom:{background:`components.button.primary.background`,foreground:`components.button.primary.foreground`,border:`semantic.colors.primary`,size:`40px`,borderRadius:`palette.radius.full`,shadow:`palette.shadows.sm`,padding:`0.5rem 0.875rem`,gap:`0.5rem`,fontSize:`0.875rem`,iconSize:`14px`},artifact:{pane:{background:`semantic.colors.container`,toolbarBackground:`semantic.colors.container`}}},Lp=Pp.colors.gray,Rp={50:`#fafafa`,100:`#f5f5f5`,200:`#e5e5e5`,300:`#d4d4d4`,400:`#a3a3a3`,500:`#737373`,600:`#525252`,700:`#404040`,800:`#262626`,900:`#171717`,950:`#0a0a0a`},zp={...Pp,colors:{...Pp.colors,gray:Lp}},Bp={...Pp,colors:{...Pp.colors,gray:Rp},radius:{none:`0px`,sm:`4px`,md:`8px`,lg:`12px`,xl:`16px`,"2xl":`24px`,full:`9999px`}},Vp=zp,Hp=Fp,Up={...Fp,colors:{...Fp.colors,surface:`#ffffff`,background:`#ffffff`,container:`semantic.colors.surface`,textInverse:`#ffffff`},typography:{...Fp.typography,fontSize:`14px`,lineHeight:`1.5`}},Wp=Hp,Gp=Ip,Kp={...Ip,scrollToBottom:{...Ip.scrollToBottom,background:`semantic.colors.surface`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,size:`32px`},messageActions:{background:`transparent`,border:`none`,hoverBackground:`components.button.ghost.hoverBackground`,hoverForeground:`semantic.colors.text`,borderRadius:`palette.radius.md`},launcher:jp,activity:{labelSize:`13px`,iconSize:`16px`,indent:`0px`,transcriptGap:`0px`,responseGap:`12px`,groupIndent:`16px`,groupGap:`2px`,groupPadding:`2px 0`,bodyPadding:`4px 0`,bodyFontWeight:`400`,sectionGap:`8px`,bodySurface:`transparent`},toolBubble:{shadow:`none`},reasoningBubble:{shadow:`none`},input:{...Ip.input,borderRadius:`palette.radius.full`},introCard:{...Ip.introCard,title:{fontSize:`22px`,fontWeight:`500`}},suggestion:{chip:{...Ip.suggestion.chip,fontWeight:`400`},card:{...Ip.suggestion.card,fontWeight:`400`},list:{...Ip.suggestion.list,fontWeight:`400`}},panel:{...Ip.panel,width:`min(400px, calc(100vw - 24px))`,height:`min(704px, calc(100dvh - 104px))`,borderRadius:`palette.radius.xl`},header:{...Ip.header,background:`semantic.colors.container`,foreground:`semantic.colors.text`,padding:`8px 8px 8px 16px`,minimalPadding:`8px 8px 8px 16px`,minHeight:`48px`,borderBottom:`none`,iconBackground:`transparent`,iconForeground:`semantic.colors.text`,iconScale:`1`,iconPadding:`auto`,controlSize:`28px`,controlIconSize:`16px`,controlStrokeWidth:`1.5`,actionIconForeground:`semantic.colors.textMuted`,controlBorderRadius:`8px`,controlHoverBackground:`color-mix(in srgb, var(--persona-text) 8%, transparent)`,controlHoverForeground:`semantic.colors.text`,controlFocusOutline:`2px solid color-mix(in srgb, var(--persona-text) 50%, transparent)`,title:{fontSize:`14px`,fontWeight:`500`,lineHeight:`1.5`}},message:{...Ip.message,gap:`20px`,fullscreenGap:`28px`,topFadeHeight:`18px`,user:{...Ip.message.user,background:`palette.colors.gray.100`,text:`semantic.colors.text`,borderRadius:`palette.radius.xl`,shadow:`none`,padding:`8px 14px`,fontSize:`14px`,lineHeight:`1.5`},assistant:{...Ip.message.assistant,background:`transparent`,border:`transparent`,borderWidth:`0px`,borderRadius:`0px`,shadow:`none`,padding:`0px`,fontSize:`14px`,lineHeight:`1.55`},operator:{...Ip.message.operator,background:`transparent`,border:`semantic.colors.border`,borderRadius:`palette.radius.xl`,shadow:`none`,padding:`8px 14px`,fontSize:`14px`,lineHeight:`1.5`}},artifact:{...Ip.artifact,card:{background:`semantic.colors.surface`,border:`1px solid var(--persona-border)`,borderRadius:`palette.radius.lg`,hoverBackground:`components.button.ghost.hoverBackground`,hoverBorderColor:`semantic.colors.border`},inline:{background:`semantic.colors.surface`,border:`1px solid var(--persona-border)`,borderRadius:`palette.radius.lg`,chromeBackground:`semantic.colors.surface`,chromeBorder:`semantic.colors.border`,titleColor:`semantic.colors.text`,mutedColor:`semantic.colors.textMuted`}},composer:{...Ip.composer,padding:`8px`,fontSize:`15px`,lineHeight:`1.5`,controlSize:`32px`,controlIconSize:`20px`,expandedPadding:`12px 16px`,expandedBorderRadius:`24px`,sendIconSize:`18px`,sendButtonRadius:`9999px`,footerBorder:`none`,overflowMenu:{borderRadius:`12px`},overlayBand:`linear-gradient(to bottom, transparent, var(--persona-container) 24px)`,focusBorderColor:`color-mix(in srgb, var(--persona-text) 28%, var(--persona-border))`,focusRing:`1px solid color-mix(in srgb, var(--persona-text) 12%, transparent)`}},qp=Gp,Jp=e=>fs({future:e}),Yp=e=>Jp(e)===`v5`?{palette:Bp,semantic:Up,components:Kp}:{palette:zp,semantic:Hp,components:Gp};function Xp(e,t){if(!t.startsWith(`palette.`)&&!t.startsWith(`semantic.`)&&!t.startsWith(`components.`))return t;let n=t.split(`.`),r=e;for(let e of n){if(r==null)return;r=r[e]}return typeof r==`string`&&(r.startsWith(`palette.`)||r.startsWith(`semantic.`)||r.startsWith(`components.`))?Xp(e,r):r}function Zp(e){let t={};function n(r,i){for(let[a,o]of Object.entries(r)){let r=`${i}.${a}`;if(typeof o==`string`){let n=Xp(e,o);n!==void 0&&(t[r]={path:r,value:n,type:i.includes(`color`)?`color`:i.includes(`spacing`)?`spacing`:i.includes(`typography`)?`typography`:i.includes(`shadow`)?`shadow`:i.includes(`border`)?`border`:`color`})}else typeof o==`object`&&o&&n(o,r)}}return n(e.palette,`palette`),n(e.semantic,`semantic`),n(e.components,`components`),t}function Qp(e){let t=[],n=[];return e.palette||t.push({path:`palette`,message:`Theme must include a palette`,severity:`error`}),e.semantic||n.push({path:`semantic`,message:`No semantic tokens defined - defaults will be used`,severity:`warning`}),e.components||n.push({path:`components`,message:`No component tokens defined - defaults will be used`,severity:`warning`}),{valid:t.length===0,errors:t,warnings:n}}function $p(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t&&typeof t==`object`&&!Array.isArray(t)&&r&&typeof r==`object`&&!Array.isArray(r)?$p(t,r):r}return n}function em(e,t={}){let n=Yp(t.future),r=e?.components,i={palette:{...n.palette,...e?.palette,colors:{...n.palette.colors,...e?.palette?.colors},spacing:{...n.palette.spacing,...e?.palette?.spacing},typography:{...n.palette.typography,...e?.palette?.typography},shadows:{...n.palette.shadows,...e?.palette?.shadows},borders:{...n.palette.borders,...e?.palette?.borders},radius:{...n.palette.radius,...e?.palette?.radius}},semantic:{...n.semantic,...e?.semantic,colors:{...n.semantic.colors,...e?.semantic?.colors,interactive:{...n.semantic.colors.interactive,...e?.semantic?.colors?.interactive},feedback:{...n.semantic.colors.feedback,...e?.semantic?.colors?.feedback}},spacing:{...n.semantic.spacing,...e?.semantic?.spacing},typography:{...n.semantic.typography,...e?.semantic?.typography}},components:r?$p(n.components,r):n.components},a=r?.activity;for(let e of[`toolBubble`,`reasoningBubble`]){let t=i.components[e]={...i.components[e]};for(let n of[`rowHeight`,`labelSize`,`iconSize`,`indent`,`bodySurface`])a?.[n]!==void 0&&(n!==`bodySurface`||r?.[e]?.bodySurface===void 0)&&(t[n]=a[n])}let o=r?.collapsibleWidget?.surface;fs(t)===`v4`&&o!==void 0&&a?.bodySurface===void 0&&(i.components.activity={...i.components.activity,bodySurface:o});let s=r?.header;s?.padding!==void 0&&s.minimalPadding===void 0&&(i.components.header.minimalPadding=i.components.header.padding);let c=r?.composer;i.components.composer={...i.components.composer},c?.padding!==void 0&&c.expandedPadding===void 0&&(i.components.composer.expandedPadding=c.padding),r?.input?.borderRadius!==void 0&&c?.expandedBorderRadius===void 0&&(i.components.composer.expandedBorderRadius=r.input.borderRadius);let l=r?.message;if(l?.gap!==void 0&&l.fullscreenGap===void 0&&(i.components.message.fullscreenGap=i.components.message.gap),t.validate!==!1){let e=Qp(i);if(!e.valid)throw Error(`Theme validation failed: ${e.errors.map(e=>e.message).join(`, `)}`)}if(t.plugins)for(let e of t.plugins)i=e.transform(i);return i}const tm=e=>e.trim()===`0`?`0px`:e,nm=`--persona-`,rm=e=>{if(!e)return;let t=e.trim().toLowerCase(),n;if(t.charCodeAt(0)===35){let e=t.slice(1);if(!/^[0-9a-f]+$/.test(e))return;e.length===3||e.length===4?n=[0,1,2].map(t=>parseInt(e[t]+e[t],16)):(e.length===6||e.length===8)&&(n=[0,2,4].map(t=>parseInt(e.slice(t,t+2),16)))}else{let e=t.match(/^rgba?\(([^)]+)\)$/);if(e){let t=e[1].split(/[,/\s]+/).filter(Boolean);t.length>=3&&(n=t.slice(0,3).map(e=>{let t=e.endsWith(`%`),n=parseFloat(t?e.slice(0,-1):e);return t?n/100*255:n}))}}if(!n||n.some(e=>!Number.isFinite(e)))return;let[r,i,a]=n.map(e=>{let t=Math.max(0,Math.min(255,e))/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4});return .2126*r+.7152*i+.0722*a},im=(e,t)=>{for(let[n,...r]of t){let t;for(let n of r)if(t=n.charCodeAt(0)===61?n.slice(1):e[nm+n],t!==void 0)break;t!==void 0&&(e[nm+n]=t)}},am=[[`primary`,`semantic-colors-primary`,`palette-colors-primary-500`],[`secondary`,`semantic-colors-secondary`,`palette-colors-secondary-500`],[`accent`,`semantic-colors-accent`,`palette-colors-accent-500`],[`surface`,`semantic-colors-surface`,`palette-colors-gray-50`],[`background`,`semantic-colors-background`,`palette-colors-gray-50`],[`container`,`semantic-colors-container`,`palette-colors-gray-100`],[`text`,`semantic-colors-text`,`palette-colors-gray-900`],[`text-muted`,`semantic-colors-textMuted`,`palette-colors-gray-500`],[`text-inverse`,`semantic-colors-textInverse`,`palette-colors-gray-50`],[`border`,`semantic-colors-border`,`palette-colors-gray-200`],[`divider`,`semantic-colors-divider`,`palette-colors-gray-200`],[`muted`,`text-muted`],[`font-family`,`semantic-typography-fontFamily`,`palette-typography-fontFamily-sans`],[`font-size`,`semantic-typography-fontSize`,`palette-typography-fontSize-base`],[`font-weight`,`semantic-typography-fontWeight`,`palette-typography-fontWeight-normal`],[`line-height`,`semantic-typography-lineHeight`,`palette-typography-lineHeight-normal`],[`input-font-family`,`font-family`],[`input-font-weight`,`font-weight`],[`radius-sm`,`palette-radius-sm`,`=0.125rem`],[`radius-md`,`palette-radius-md`,`=0.375rem`],[`radius-lg`,`palette-radius-lg`,`=0.5rem`],[`radius-xl`,`palette-radius-xl`,`=0.75rem`],[`radius-full`,`palette-radius-full`,`=9999px`],[`launcher-radius`,`components-launcher-borderRadius`,`palette-radius-full`,`=9999px`],[`launcher-bg`,`components-launcher-background`,`surface`],[`launcher-fg`,`components-launcher-foreground`,`primary`]],om=e=>{let t=Zp(e),n={};for(let[e,r]of Object.entries(t)){let t=e.replace(/\./g,`-`);n[`--persona-${t}`]=r.value}return n},sm=e=>{let t=e[`--persona-components-launcher-foreground`];e[`--persona-launcher-fg-muted`]=t&&t!==e[`--persona-primary`]?`color-mix(in srgb, ${t} 70%, transparent)`:e[`--persona-muted`]},cm=e=>{if(e[`--persona-components-header-iconPadding`]===`auto`){let t=(e[`--persona-components-header-iconBackground`]??e[`--persona-primary`]).trim().toLowerCase(),n=t.match(/^(?:rgba?|hsla?)\(([^)]+)\)$/)?.[1].split(/[,\s/]+/).filter(Boolean);e[`--persona-components-header-iconPadding`]=t===`transparent`||/^#(?:[\da-f]{3}0|[\da-f]{6}00)$/.test(t)||n?.length===4&&parseFloat(n[3])===0?`0px`:`6px`}};function lm(e){let t=om(e);im(t,am),im(t,[[`ask-sheet-bg`,`components-askUserQuestion-sheet-background`],[`ask-sheet-border`,`components-askUserQuestion-sheet-border`],[`ask-sheet-shadow`,`components-askUserQuestion-sheet-shadow`],[`ask-pill-bg`,`components-askUserQuestion-pill-background`],[`ask-pill-fg`,`components-askUserQuestion-pill-foreground`],[`ask-pill-radius`,`components-askUserQuestion-pill-borderRadius`],[`ask-pill-bg-selected`,`components-askUserQuestion-pill-selectedBackground`],[`ask-pill-fg-selected`,`components-askUserQuestion-pill-selectedForeground`],[`ask-input-bg`,`components-askUserQuestion-customInput-background`],[`voice-recording-indicator`,`components-voice-recording-indicator`,`palette-colors-error-500`],[`voice-recording-bg`,`components-voice-recording-background`,`palette-colors-error-50`],[`voice-processing-icon`,`components-voice-processing-icon`,`palette-colors-primary-500`],[`voice-speaking-icon`,`components-voice-speaking-icon`,`palette-colors-success-500`],[`approval-bg`,`components-approval-requested-background`,`surface`],[`approval-border`,`components-approval-requested-border`,`border`],[`approval-text`,`components-approval-requested-text`,`palette-colors-gray-900`],[`approval-shadow`,`components-approval-requested-shadow`,`=0 1px 2px 0 rgba(11, 11, 11, 0.06), 0 2px 8px 0 rgba(11, 11, 11, 0.04)`],[`approval-approve-bg`,`components-approval-approve-background`,`button-primary-bg`],[`approval-deny-bg`,`components-approval-deny-background`,`container`],[`attachment-image-bg`,`components-attachment-image-background`,`palette-colors-gray-100`],[`attachment-image-border`,`components-attachment-image-border`,`palette-colors-gray-200`]]),sm(t),im(t,[[`launcher-border`,`components-launcher-border`,`border`],[`button-primary-bg`,`components-button-primary-background`,`primary`],[`button-primary-fg`,`components-button-primary-foreground`,`text-inverse`],[`button-radius`,`components-button-primary-borderRadius`,`palette-radius-full`,`=9999px`],[`button-stop-bg`,`components-button-stop-background`],[`button-stop-fg`,`components-button-stop-foreground`]]),im(t,[[`button-ghost-bg`,`components-button-ghost-background`,`=transparent`],[`button-ghost-fg`,`components-button-ghost-foreground`,`text`],[`button-ghost-radius`,`components-button-ghost-borderRadius`,`radius-md`,`=0.375rem`],[`button-ghost-hover-bg`,`components-button-ghost-hoverBackground`,`=rgba(0, 0, 0, 0.05)`],[`panel-radius`,`components-panel-borderRadius`,`radius-xl`,`=0.75rem`]]),t[`--persona-panel-border`]=t[`--persona-components-panel-border`]??`1px solid ${t[`--persona-border`]}`,im(t,[[`panel-shadow`,`components-panel-shadow`,`palette-shadows-xl`,`=0 25px 50px -12px rgba(0, 0, 0, 0.25)`]]),t[`--persona-panel-inset`]=t[`--persona-components-panel-inset`]??`16px`,t[`--persona-panel-canvas-bg`]=t[`--persona-components-panel-canvasBackground`]??`transparent`,im(t,[[`launcher-shadow`,`components-launcher-shadow`,`=0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)`],[`input-radius`,`components-input-borderRadius`,`radius-lg`,`=0.5rem`],[`message-user-radius`,`components-message-user-borderRadius`,`radius-lg`,`=0.5rem`],[`message-assistant-radius`,`components-message-assistant-borderRadius`,`radius-lg`,`=0.5rem`]]);let n=(n,r,i,a=``)=>{if(n)for(let[o,s,c]of i){let i=n[a+o];i&&(t[`--persona-${r}${s}`]=c?Xp(e,i)??i:i)}};im(t,[[`header-bg`,`components-header-background`,`surface`]]);let r=t[`--persona-header-bg`],i=t[`--persona-components-header-foreground`],a=i?`color-mix(in srgb, ${i} 72%, ${r})`:void 0;t[`--persona-header-border`]=t[`--persona-components-header-border`]??(i?`color-mix(in srgb, ${i} 14%, ${r})`:void 0)??t[`--persona-divider`],im(t,[[`header-icon-bg`,`components-header-iconBackground`,`primary`],[`header-icon-fg`,`components-header-iconForeground`,`text-inverse`]]),cm(t),t[`--persona-header-title-fg`]=t[`--persona-components-header-title-color`]??t[`--persona-components-header-titleForeground`]??i??t[`--persona-primary`],t[`--persona-header-subtitle-fg`]=t[`--persona-components-header-subtitle-color`]??t[`--persona-components-header-subtitleForeground`]??a??t[`--persona-text-muted`],t[`--persona-header-action-icon-fg`]=t[`--persona-components-header-actionIconForeground`]??a??t[`--persona-muted`],im(t,[[`header-control-size`,`components-header-controlSize`,`=32px`],[`header-control-icon-size`,`components-header-controlIconSize`,`=16px`]]),n(e.components?.header,`header-`,[[`shadow`,`shadow`],[`borderBottom`,`border-bottom`],[`minHeight`,`min-height`]]),n(t,`history-rail-header-`,[[`background`,`bg`],[`border`,`border`],[`minHeight`,`min-height`]],`--persona-components-history-railHeader-`),n(t,`history-overlay-`,[[`margin`,`margin`],[`borderRadius`,`radius`],[`shadow`,`shadow`],[`background`,`bg`]],`--persona-components-history-overlay-`),n(t,`history-menu-`,[[`background`,`bg`],[`borderRadius`,`radius`]],`--persona-components-history-menu-`);let o=e.components?.history?.motion;if(o){let e=e=>{if(e===void 0)return;let t=String(e).trim();return/^\d+(\.\d+)?$/.test(t)?`${t}ms`:t},n=e(o.enterDurationMs);n!==void 0&&(t[`--persona-history-enter-ms`]=n);let r=e(o.exitDurationMs);r!==void 0&&(t[`--persona-history-exit-ms`]=r),o.enterEasing&&(t[`--persona-history-enter-easing`]=o.enterEasing),o.exitEasing&&(t[`--persona-history-exit-easing`]=o.exitEasing)}let s=t[`--persona-components-history-dangerForeground`];s&&(t[`--persona-history-danger-fg`]=s),t[`--persona-danger`]=t[`--persona-components-history-confirm-dangerBackground`]??t[`--persona-palette-colors-error-700`]??`#b42318`,t[`--persona-danger-fg`]=t[`--persona-components-history-confirm-dangerForeground`]??`#ffffff`;for(let e of[`scrim`,`shadow`]){let n=t[`--persona-components-history-confirm-${e}`];n&&(t[`--persona-history-confirm-${e}`]=n)}n(t,`tooltip-`,[[`background`,`background`],[`foreground`,`foreground`],[`hintForeground`,`hint-fg`],[`borderRadius`,`radius`],[`fontSize`,`font-size`],[`padding`,`padding`],[`maxWidth`,`max-width`],[`shadow`,`shadow`]],`--persona-components-tooltip-`),e.components?.tooltip?.arrow===!1&&(t[`--persona-tooltip-arrow-display`]=`none`),n(t,`scroll-to-bottom-count-`,[[`background`,`bg`],[`foreground`,`fg`],[`border`,`border`],[`borderRadius`,`radius`],[`size`,`size`],[`padding`,`padding`],[`fontSize`,`font-size`],[`fontWeight`,`font-weight`]],`--persona-components-scrollToBottom-countBadge-`),n(t,`scroll-to-bottom-approval-`,[[`background`,`bg`],[`foreground`,`fg`],[`border`,`border`],[`fontWeight`,`font-weight`]],`--persona-components-scrollToBottom-approval-`),n(t,`message-action-`,[[`background`,`bg`],[`border`,`border`],[`hoverBackground`,`hover-bg`],[`hoverForeground`,`hover-fg`],[`borderRadius`,`radius`]],`--persona-components-messageActions-`),n(t,`user-collapse-`,[[`fadeHeight`,`fade-height`],[`toggleForeground`,`toggle-fg`],[`toggleFontSize`,`toggle-font-size`],[`toggleFontWeight`,`toggle-font-weight`]],`--persona-components-userMessageCollapse-`),im(t,[[`intro-card-bg`,`components-introCard-background`,`=transparent`],[`intro-card-radius`,`components-introCard-borderRadius`,`=1rem`]]);let c=t[`--persona-components-introCard-background`],l=t[`--persona-components-introCard-shadow`],u=(!c||c===`transparent`||c===`none`)&&(!l||l===`none`),d=t[`--persona-components-introCard-padding`]??`1.5rem`;t[`--persona-intro-card-padding`]=u&&d===`1.5rem`?`1.5rem 0`:d,im(t,[[`intro-card-shadow`,`components-introCard-shadow`,`=none`],[`intro-card-border`,`components-introCard-border`,`=none`],[`input-background`,`components-input-background`,`surface`],[`input-placeholder`,`components-input-placeholder`,`text-muted`],[`input-backdrop-filter`,`components-input-backdropFilter`,`=none`],[`message-user-bg`,`components-message-user-background`,`accent`],[`message-user-text`,`components-message-user-text`,`text-inverse`],[`message-user-shadow`,`components-message-user-shadow`,`=0 5px 15px rgba(15, 23, 42, 0.08)`],[`message-assistant-bg`,`components-message-assistant-background`,`surface`],[`message-assistant-text`,`components-message-assistant-text`,`text`],[`message-assistant-border`,`components-message-assistant-border`,`border`],[`message-assistant-shadow`,`components-message-assistant-shadow`,`=0 1px 2px 0 rgb(0 0 0 / 0.05)`],[`scroll-to-bottom-bg`,`components-scrollToBottom-background`,`button-primary-bg`,`accent`],[`scroll-to-bottom-fg`,`components-scrollToBottom-foreground`,`button-primary-fg`,`text-inverse`],[`scroll-to-bottom-border`,`components-scrollToBottom-border`,`primary`],[`scroll-to-bottom-size`,`components-scrollToBottom-size`,`=40px`],[`scroll-to-bottom-radius`,`components-scrollToBottom-borderRadius`,`button-radius`,`radius-full`,`=9999px`],[`scroll-to-bottom-shadow`,`components-scrollToBottom-shadow`,`palette-shadows-sm`,`=0 1px 2px 0 rgb(0 0 0 / 0.05)`],[`scroll-to-bottom-padding`,`components-scrollToBottom-padding`,`=0.5rem 0.875rem`],[`scroll-to-bottom-gap`,`components-scrollToBottom-gap`,`=0.5rem`],[`scroll-to-bottom-font-size`,`components-scrollToBottom-fontSize`,`palette-typography-fontSize-sm`,`=0.875rem`],[`scroll-to-bottom-icon-size`,`components-scrollToBottom-iconSize`,`=14px`],[`event-badge-flow-bg`,`components-eventStream-badge-flow-background`,`=#dcfce7`],[`event-badge-flow-fg`,`components-eventStream-badge-flow-foreground`,`=#15803d`],[`event-badge-step-bg`,`components-eventStream-badge-step-background`,`=#f5f5f5`],[`event-badge-step-fg`,`components-eventStream-badge-step-foreground`,`=#0a0a0a`],[`event-badge-reasoning-bg`,`components-eventStream-badge-reasoning-background`,`=#fef9c3`],[`event-badge-reasoning-fg`,`components-eventStream-badge-reasoning-foreground`,`=#a16207`],[`event-badge-tool-bg`,`components-eventStream-badge-tool-background`,`=#f3e8ff`],[`event-badge-tool-fg`,`components-eventStream-badge-tool-foreground`,`=#6b21a8`],[`event-badge-agent-bg`,`components-eventStream-badge-agent-background`,`=#ccfbf1`],[`event-badge-agent-fg`,`components-eventStream-badge-agent-foreground`,`=#115e59`],[`event-badge-error-bg`,`components-eventStream-badge-error-background`,`=#fee2e2`],[`event-badge-error-fg`,`components-eventStream-badge-error-foreground`,`=#b91c1c`],[`event-badge-default-bg`,`components-eventStream-badge-default-background`,`=#f3f4f6`],[`event-badge-default-fg`,`components-eventStream-badge-default-foreground`,`=#4b5563`],[`tool-bubble-shadow`,`components-toolBubble-shadow`,`=0 5px 15px rgba(15, 23, 42, 0.08)`],[`reasoning-bubble-shadow`,`components-reasoningBubble-shadow`,`=0 5px 15px rgba(15, 23, 42, 0.08)`],[`composer-shadow`,`components-composer-shadow`,`=none`]]),im(t,[[`panel-background`,`components-panel-background`,`surface`],[`transcript-background`,`components-message-background`,`container`],[`transcript-top-fade-background`,`components-message-topFadeBackground`,`transcript-background`],[`composer-footer-background`,`components-composer-footerBackground`,`surface`],[`composer-footer-padding`,`components-composer-footerPadding`,`=1rem 1.5rem`],[`composer-padding`,`components-composer-padding`,`=0.75rem 1rem`],[`composer-gap`,`components-composer-gap`,`=0.5rem`],[`composer-font-size`,`components-composer-fontSize`,`=0.875rem`],[`composer-line-height`,`components-composer-lineHeight`,`=1.25rem`],[`composer-control-size`,`components-composer-controlSize`,`=40px`],[`composer-control-icon-size`,`components-composer-controlIconSize`,`=24px`],[`motion-duration-fast`,`components-motion-durationFast`,`=120ms`],[`motion-duration-base`,`components-motion-durationBase`,`=200ms`],[`motion-easing`,`components-motion-easing`,`=cubic-bezier(0.2, 0, 0, 1)`],[`composer-border-color`,`components-composer-borderColor`,`border`,`=#e5e7eb`],[`composer-overlay-band`,`components-composer-overlayBand`,`=transparent`],[`scrollbar-thumb`,`components-scrollbar-thumb`,`border`,`=#e5e7eb`],[`scrollbar-track`,`components-scrollbar-track`,`=transparent`],[`md-inline-code-bg`,`components-markdown-inlineCode-background`,`container`],[`md-inline-code-color`,`components-markdown-inlineCode-foreground`,`text`],[`md-link-color`,`components-markdown-link-foreground`,`accent`,`=#0f0f0f`]]),n(t,`md-`,[[`h1-fontSize`,`h1-size`],[`h1-fontWeight`,`h1-weight`],[`h2-fontSize`,`h2-size`],[`h2-fontWeight`,`h2-weight`]],`--persona-components-markdown-heading-`);let f=t[`--persona-components-markdown-prose-fontFamily`];f&&f!==`inherit`&&(t[`--persona-md-prose-font-family`]=f),im(t,[[`md-code-block-bg`,`components-markdown-codeBlock-background`,`container`],[`md-code-block-border-color`,`components-markdown-codeBlock-borderColor`,`border`],[`md-code-block-text-color`,`components-markdown-codeBlock-textColor`,`=inherit`]]),im(t,[[`md-code-block-border-radius`,`components-markdown-codeBlock-borderRadius`,`radius-md`,`=0.375rem`]]),im(t,[[`md-table-header-bg`,`components-markdown-table-headerBackground`,`container`],[`md-table-border-color`,`components-markdown-table-borderColor`,`border`]]),im(t,[[`md-hr-color`,`components-markdown-hr-color`,`divider`]]),im(t,[[`md-blockquote-border-color`,`components-markdown-blockquote-borderColor`,`palette-colors-gray-900`],[`md-blockquote-bg`,`components-markdown-blockquote-background`,`=transparent`],[`md-blockquote-text-color`,`components-markdown-blockquote-textColor`,`palette-colors-gray-500`]]);for(let[e,n]of[[`container`,`surface`],[`surface`,`surface`],[`border`,`border`]]){let r=t[`--persona-components-collapsibleWidget-${e}`]??t[`--persona-${n}`];r!==void 0&&(t[`--persona-cw-${e}`]=r,t[`--cw-${e}`]=r)}im(t,[[`message-border`,`components-message-border`,`border`]]),im(t,[[`message-user-padding`,`components-message-user-padding`],[`message-user-max-width`,`components-message-user-maxWidth`],[`message-user-font-size`,`components-message-user-fontSize`],[`message-user-font-family`,`components-message-user-fontFamily`],[`message-user-line-height`,`components-message-user-lineHeight`],[`message-assistant-padding`,`components-message-assistant-padding`],[`message-assistant-border-width`,`components-message-assistant-borderWidth`],[`message-assistant-max-width`,`components-message-assistant-maxWidth`],[`message-assistant-font-size`,`components-message-assistant-fontSize`],[`message-assistant-font-family`,`components-message-assistant-fontFamily`],[`message-assistant-line-height`,`components-message-assistant-lineHeight`],[`message-operator-padding`,`components-message-operator-padding`],[`message-operator-max-width`,`components-message-operator-maxWidth`],[`message-operator-font-size`,`components-message-operator-fontSize`],[`message-operator-font-family`,`components-message-operator-fontFamily`],[`message-operator-line-height`,`components-message-operator-lineHeight`]]);let p=e.components;n(p?.iconButton,`icon-btn-`,[[`background`,`bg`],[`border`,`border`],[`color`,`color`],[`padding`,`padding`],[`borderRadius`,`radius`],[`hoverBackground`,`hover-bg`],[`hoverColor`,`hover-color`],[`activeBackground`,`active-bg`],[`activeBorder`,`active-border`]]),n(p?.labelButton,`label-btn-`,[[`background`,`bg`],[`border`,`border`],[`color`,`color`],[`padding`,`padding`],[`borderRadius`,`radius`],[`hoverBackground`,`hover-bg`],[`fontSize`,`font-size`],[`gap`,`gap`]]),n(p?.toggleGroup,`toggle-group-`,[[`gap`,`gap`],[`borderRadius`,`radius`]]);let m=p?.artifact;if(m?.toolbar){let r=m.toolbar;n(r,`artifact-toolbar-icon-`,[[`iconHoverColor`,`hover-color`],[`iconHoverBackground`,`hover-bg`],[`iconPadding`,`padding`],[`iconBorderRadius`,`radius`],[`iconBorder`,`border`]]),r.toggleGroupGap&&(t[`--persona-artifact-toolbar-toggle-group-gap`]=tm(r.toggleGroupGap)),r.toggleBorderRadius&&(t[`--persona-artifact-toolbar-toggle-radius`]=r.toggleBorderRadius),r.toggleGroupPadding&&(t[`--persona-artifact-toolbar-toggle-group-padding`]=tm(r.toggleGroupPadding)),n(r,`artifact-toolbar-toggle-group-`,[[`toggleGroupBorder`,`border`],[`toggleGroupBorderRadius`,`radius`]]),r.toggleGroupBackground&&(t[`--persona-artifact-toolbar-toggle-group-bg`]=Xp(e,r.toggleGroupBackground)??r.toggleGroupBackground),n(r,`artifact-toolbar-copy-`,[[`copyBackground`,`bg`],[`copyBorder`,`border`],[`copyColor`,`color`]]),r.copyBorderRadius&&(t[`--persona-artifact-toolbar-copy-radius`]=tm(r.copyBorderRadius)),r.copyPadding&&(t[`--persona-artifact-toolbar-copy-padding`]=r.copyPadding),r.copyMenuBackground&&(t[`--persona-artifact-toolbar-copy-menu-bg`]=r.copyMenuBackground,t[`--persona-dropdown-bg`]=t[`--persona-dropdown-bg`]??r.copyMenuBackground),r.copyMenuBorder&&(t[`--persona-artifact-toolbar-copy-menu-border`]=r.copyMenuBorder,t[`--persona-dropdown-border`]=t[`--persona-dropdown-border`]??r.copyMenuBorder),r.copyMenuShadow&&(t[`--persona-artifact-toolbar-copy-menu-shadow`]=r.copyMenuShadow,t[`--persona-dropdown-shadow`]=t[`--persona-dropdown-shadow`]??r.copyMenuShadow),r.copyMenuBorderRadius&&(t[`--persona-artifact-toolbar-copy-menu-radius`]=r.copyMenuBorderRadius,t[`--persona-dropdown-radius`]=t[`--persona-dropdown-radius`]??r.copyMenuBorderRadius),r.copyMenuItemHoverBackground&&(t[`--persona-artifact-toolbar-copy-menu-item-hover-bg`]=r.copyMenuItemHoverBackground,t[`--persona-dropdown-item-hover-bg`]=t[`--persona-dropdown-item-hover-bg`]??r.copyMenuItemHoverBackground),n(r,`artifact-toolbar-`,[[`iconBackground`,`icon-bg`],[`toolbarBorder`,`border`]])}if(m?.tab){let e=m.tab;n(e,`artifact-tab-`,[[`background`,`bg`],[`activeBackground`,`active-bg`],[`activeBorder`,`active-border`],[`borderRadius`,`radius`],[`textColor`,`color`],[`hoverBackground`,`hover-bg`],[`listBackground`,`list-bg`],[`listBorderColor`,`list-border-color`],[`listPadding`,`list-padding`]])}if(m?.pane){let n=m.pane;n.toolbarBackground&&(t[`--persona-artifact-toolbar-bg`]=Xp(e,n.toolbarBackground)??n.toolbarBackground)}n(m?.card,`artifact-card-`,[[`background`,`bg`,!0],[`border`,`border`],[`borderRadius`,`radius`,!0],[`hoverBackground`,`hover-bg`,!0],[`hoverBorderColor`,`hover-border`,!0]]),n(m?.inline,`artifact-inline-`,[[`background`,`bg`,!0],[`border`,`border`],[`borderRadius`,`radius`,!0],[`chromeBackground`,`chrome-bg`,!0],[`chromeBorder`,`chrome-border`,!0],[`titleColor`,`title-color`,!0],[`mutedColor`,`muted-color`,!0],[`frameHeight`,`frame-height`]]);let h=p?.code;h&&(n(h,`code-`,[[`keywordColor`,`keyword-color`],[`stringColor`,`string-color`],[`commentColor`,`comment-color`],[`numberColor`,`number-color`],[`tagColor`,`tag-color`],[`attrColor`,`attr-color`],[`propertyColor`,`property-color`],[`lineNumberColor`,`line-number-color`],[`gutterBorderColor`,`gutter-border-color`]]),h.background&&(t[`--persona-code-bg`]=Xp(e,h.background)??h.background));let g=t[`--persona-surface`],_=t[`--persona-container`],v=t[`--persona-palette-colors-gray-100`]??`#f3f4f6`,y=t[`--persona-palette-colors-gray-200`]??`#e5e7eb`,b=t[`--persona-palette-colors-gray-300`]??`#d1d5db`,x=!_||_===g,S=rm(g??t[`--persona-background`]),C=x&&S!==void 0&&S<.179,ee=C?`rgba(255, 255, 255, 0.08)`:v,w=C?`rgba(255, 255, 255, 0.12)`:y,te=C?`rgba(255, 255, 255, 0.16)`:b,T=x?ee:_,E=x?w:_;return t[`--persona-icon-btn-hover-bg`]=t[`--persona-icon-btn-hover-bg`]??T,t[`--persona-icon-btn-active-bg`]=t[`--persona-icon-btn-active-bg`]??E,x&&(t[`--persona-icon-btn-active-border`]=t[`--persona-icon-btn-active-border`]??te),t[`--persona-label-btn-hover-bg`]=t[`--persona-label-btn-hover-bg`]??T,t[`--persona-artifact-tab-hover-bg`]=t[`--persona-artifact-tab-hover-bg`]??T,t[`--persona-artifact-card-hover-bg`]=t[`--persona-artifact-card-hover-bg`]??T,t}const um={header:`Widget header bar`,messages:`Message list area`,"user-message":`User message bubble`,"assistant-message":`Assistant message bubble`,"operator-message":`Operator message bubble`,composer:`Footer / composer area`,container:`Main widget container`,"artifact-pane":`Artifact sidebar`,"artifact-toolbar":`Artifact toolbar`,"artifact-inline":`Inline artifact block`,"artifact-inline-chrome":`Inline artifact title bar`};Es(),ds(),yr(),dr(),Wr();const dm=e=>!!e&&`launcher`in e&&(e.launcher?.sidebarMode===!0||e.launcher?.mountMode===`docked`),fm=(e,t)=>{if(!t||!dm(t))return e;let n=t.theme?.components?.panel?.width,r=t.darkTheme?.components?.panel?.width;return(Cm(t)===`dark`?r??n:n)==null?{...e,components:{...e.components,panel:{...e.components.panel,width:fs(t)===`v5`?`400px`:`420px`}}}:e},pm={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`}}},mm={components:{button:{ghost:{hoverBackground:`rgba(255, 255, 255, 0.08)`}},markdown:{link:{foreground:`palette.colors.primary.300`}},eventStream:{badge:{flow:{background:`palette.colors.success.900`,foreground:`palette.colors.success.300`},step:{background:`palette.colors.primary.800`,foreground:`palette.colors.primary.200`},reasoning:{background:`palette.colors.warning.900`,foreground:`palette.colors.warning.300`},tool:{background:`palette.colors.purple.900`,foreground:`palette.colors.purple.300`},agent:{background:`palette.colors.teal.900`,foreground:`palette.colors.teal.300`},error:{background:`palette.colors.error.900`,foreground:`palette.colors.error.300`},default:{background:`palette.colors.gray.800`,foreground:`palette.colors.gray.300`}}},history:{dangerForeground:`#f87171`,confirm:{dangerBackground:`palette.colors.error.600`,scrim:`rgba(0, 0, 0, 0.6)`}}}},hm=pm,gm={...hm,colors:{...hm.colors,primary:{50:`#0f0f10`,100:`#27272a`,200:`#3f3f46`,300:`#52525b`,400:`#71717a`,500:`#f4f4f5`,600:`#e4e4e7`,700:`#d4d4d8`,800:`#a1a1aa`,900:`#fafafa`,950:`#ffffff`},gray:{50:`#1a1a1b`,100:`#27272a`,200:`#2a2a2d`,300:`#52525b`,400:`#71717a`,500:`#a1a1aa`,600:`#b4b4bd`,700:`#d4d4d8`,800:`#e4e4e7`,900:`#f4f4f5`,950:`#fafafa`}}},_m=mm,vm={semantic:{colors:{primary:`palette.colors.primary.500`,accent:`palette.colors.primary.600`,background:`#0f0f10`,surface:`palette.colors.gray.50`,container:`#1c1c20`,text:`palette.colors.gray.900`,textMuted:`palette.colors.gray.500`,textInverse:`#0f0f10`,border:`palette.colors.gray.200`,divider:`palette.colors.gray.200`,interactive:{default:`palette.colors.primary.600`,hover:`palette.colors.primary.700`,focus:`palette.colors.primary.600`,active:`palette.colors.primary.600`}}},components:{...mm.components,button:{...mm.components?.button,primary:{background:`semantic.colors.primary`,foreground:`palette.colors.primary.50`}},markdown:{inlineCode:{background:`palette.colors.gray.100`,foreground:`semantic.colors.text`},link:{foreground:`semantic.colors.accent`},codeBlock:{background:`semantic.colors.container`,borderColor:`semantic.colors.border`,textColor:`semantic.colors.text`},table:{headerBackground:`palette.colors.gray.100`,borderColor:`semantic.colors.border`},blockquote:{background:`semantic.colors.container`,borderColor:`palette.colors.gray.300`,textColor:`semantic.colors.textMuted`}},eventStream:{...mm.components?.eventStream,badge:{...mm.components?.eventStream?.badge,step:{background:`palette.colors.gray.100`,foreground:`palette.colors.gray.700`},default:{background:`palette.colors.gray.100`,foreground:`palette.colors.gray.700`}}}}},ym=e=>fs({future:e})===`v5`?{palette:gm,components:vm}:{palette:hm,components:_m},bm=e=>{if(e&&typeof e==`object`&&!Array.isArray(e))return e},xm=()=>typeof document<`u`&&document.documentElement.classList.contains(`dark`)||typeof window<`u`&&window.matchMedia?.(`(prefers-color-scheme: dark)`).matches?`dark`:`light`,Sm=e=>{let t=e?.colorScheme??_r(e?.brand)??`light`;return t===`light`?`light`:t===`dark`?`dark`:xm()},Cm=e=>Sm(e),wm=(e,t={})=>em(e,t),Tm=(e,t={})=>{let n=ym(t.future),r=lr(n.components,e??{})??{};return em({...r,palette:{...r.palette,colors:fs(t)===`v5`?lr(n.palette.colors,r.palette?.colors):{...n.palette.colors,...r.palette?.colors}}},{validate:!1,future:t.future})},Em=e=>{let t=Cm(e),n=lr(vr(e?.brand,t,Yp(e?.future).components,e?.future?.v5Defaults),bm(e?.theme)),r=lr({components:{launcher:Ap(e)===`circle`?jp:{...Gp.launcher,...e?.future?.v5Defaults?{offset:`1.5rem`}:{}},...ls(e)?{panel:{background:`transparent`,modes:{inline:{border:`none`,shadow:`none`,borderRadius:`0`}}},header:{background:`transparent`},message:{background:`transparent`},composer:{footerBackground:`transparent`,footerBorder:`none`,overlayBand:`transparent`}}:{}}},n),i=bm(e?.darkTheme),a=fm(t===`dark`?Tm(lr(r??{},i??{}),{future:e?.future}):wm(r,{future:e?.future}),e);return Object.defineProperty(a,Dm,{value:[...Mr,`suggestion.chip.padding`,`suggestion.chip.fontWeight`].filter(n=>Ur(e,n,t))}),a},Dm=Symbol(`persona.themeConsumerPaths`),Om=e=>{let t=lm(e);t[`--persona-suggestion-compat-padding`]=`6px 12px`,t[`--persona-suggestion-compat-weight`]=`500`;for(let n of e[Dm]??[]){let e=n.split(`.`).join(`-`),r=t[`--persona-components-${e}`];r!==void 0&&(t[n===`suggestion.chip.padding`?`--persona-suggestion-compat-padding`:n===`suggestion.chip.fontWeight`?`--persona-suggestion-compat-weight`:`--persona-consumer-${e}`]=r)}return t},km=/* @__PURE__ */ new WeakMap,Am=(e,t)=>{jm(e,Om(Em(t)),t)},jm=(e,t,n)=>{for(let n of km.get(e)??[])n in t||e.style.removeProperty(n);km.set(e,Object.keys(t));for(let[n,r]of Object.entries(t))e.style.setProperty(n,r);e.setAttribute(`data-persona-color-scheme`,Cm(n)),e.setAttribute(`data-persona-defaults`,fs(n))},Mm=e=>{let t=[];if(typeof document<`u`&&typeof MutationObserver<`u`){let n=new MutationObserver(()=>{e(xm())});n.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),t.push(()=>n.disconnect())}if(typeof window<`u`&&window.matchMedia){let n=window.matchMedia(`(prefers-color-scheme: dark)`),r=()=>e(xm());n.addEventListener?(n.addEventListener(`change`,r),t.push(()=>n.removeEventListener(`change`,r))):n.addListener&&(n.addListener(r),t.push(()=>n.removeListener(r)))}return()=>{t.forEach(e=>e())}},Nm=(e,t)=>e?.layout?.contentMaxWidth??(t?e?.launcher?.composerBar?.contentMaxWidth??`720px`:`768px`),Pm=(e,t)=>t||e?.composer?.placement!==`overlay`?`block`:`overlay`,Fm=e=>{if(typeof e!=`string`)return null;let t=/^\s*(\d+(?:\.\d+)?)\s*%\s*$/.exec(e);if(!t)return null;let n=Number(t[1])/100;return n>0&&n<1?n:null},Im=e=>Math.max(0,Math.round(e.columnHeight*(1-e.fraction))-e.footerHeight),Lm=()=>{if(typeof navigator>`u`)return!1;let e=navigator.userAgentData?.platform??navigator.platform??``;return/mac|iphone|ipad|ipod/i.test(e)},Rm=(e,t)=>{console.warn(`[persona] ${e} shortcut: ${t}`)},zm=e=>{let t=e.toLowerCase().split(`+`).map(e=>e.trim()),n=t.pop(),r={key:n,mod:!1,shift:!1,alt:!1};for(let n of t)if(n===`mod`||n===`cmd`||n===`ctrl`)r.mod=!0;else if(n===`shift`)r.shift=!0;else if(n===`alt`||n===`option`)r.alt=!0;else return Rm(`unknown modifier in`,e),null;return!r.mod||r.shift&&r.alt||/^(enter|esc(ape)?)$/.test(n)||!/^([^+\s]|[a-z]{2,12})$/.test(n)?(Rm(`unsupported`,e),null):(n===`space`&&(r.key=` `),r)},Bm=e=>`ArrowUp ArrowDown ArrowLeft ArrowRight PageUp PageDown Space`.split(` `).find(t=>t.toLowerCase()===e)??(e===` `?`Space`:e.length===1?e.toUpperCase():e[0].toUpperCase()+e.slice(1)),Vm=(e,t)=>{let n=zm(e);if(!n)return``;let r=Lm(),i=Bm(n.key);if(!t&&r)return`${n.alt?`⌥`:``}${n.shift?`⇧`:``}⌘${i}`;let a=[t?r?`Meta`:`Control`:`Ctrl`];return n.alt&&a.push(`Alt`),n.shift&&a.push(`Shift`),a.push(i),a.join(`+`)},Hm=e=>Vm(e,!1),Um=e=>Vm(e,!0),Wm=(e,t)=>t.key?.toLowerCase()===e.key&&(Lm()?t.metaKey:t.ctrlKey)===e.mod&&!(Lm()?t.ctrlKey:t.metaKey)&&t.shiftKey===e.shift&&t.altKey===e.alt,Gm=e=>{if(!(e instanceof HTMLElement))return!1;let t=e.tagName;return t===`INPUT`||t===`TEXTAREA`||t===`SELECT`||e.isContentEditable},Km=e=>{let t=/* @__PURE__ */ new Map,n=e?.ownerDocument??(typeof document<`u`?document:null),r=(t,n)=>{if((t.scope??`widget`)===`page`)return!0;if(!e)return!1;let r=n.composedPath?.();return r?.length?r.includes(e):e.contains(n.target)},i=e=>{if(e.isComposing||!t.size)return;let n=e.composedPath?.()[0]??e.target;for(let i of t.values())if(Wm(i.parsed,e)&&i.when?.()!==!1&&r(i,e)&&(i.allowInInput||!Gm(n))){e.preventDefault();try{i.run(e)}catch(e){Rm(`${i.id} threw on`,i.combo),console.warn(e)}return}};return n?.addEventListener(`keydown`,i),{register(e){let n=zm(e.combo);if(!n)return()=>{};let r=`${n.mod?`m`:``}${n.shift?`s`:``}${n.alt?`a`:``}${n.key}`,i=t.get(r);return i?(Rm(`${i.id} already owns`,e.combo),()=>{}):(t.set(r,{...e,parsed:n}),e.element?.setAttribute(`aria-keyshortcuts`,Um(e.combo)),()=>{t.get(r)?.id===e.id&&t.delete(r),e.element?.removeAttribute(`aria-keyshortcuts`)})},destroy(){t.clear(),n?.removeEventListener(`keydown`,i)}}},qm=(e,t,n={})=>{let{preserveTypingAnimation:r=!0}=n;Rt.morph(e,t.innerHTML,{morphStyle:`innerHTML`,callbacks:{beforeNodeMorphed(e,t){if(e instanceof HTMLElement){if(t instanceof HTMLElement&&t.hasAttribute(`data-persona-reuse`)&&e.id===t.id)return!1;if(r){if(e.classList.contains(`persona-animate-typing`)||e.hasAttribute(`data-preserve-runtime`))return!1;if(e.hasAttribute(`data-tool-elapsed`))return t instanceof HTMLElement&&t.getAttribute(`data-tool-elapsed`)===e.getAttribute(`data-tool-elapsed`)?!1:void 0;if(e.hasAttribute(`data-preserve-animation`))return t instanceof HTMLElement&&(!t.hasAttribute(`data-preserve-animation`)||(e.dataset.personaLoadingLabel?e.dataset.personaLoadingAnimation!==t.dataset.personaLoadingAnimation:e.textContent!==t.textContent))&&void 0}}}}})},Jm=e=>e.replace(/^\n+/,``).replace(/\s+$/,``),Ym={index:-1,draft:``};function Xm(e){let{direction:t,history:n,currentValue:r,atStart:i,state:a}=e,o=a.index!==-1;if(n.length===0)return{handled:!1,state:a};if(t===`up`){if(!o&&!i)return{handled:!1,state:a};if(!o){let e=n.length-1;return{handled:!0,value:n[e],state:{index:e,draft:r}}}if(a.index>0){let e=a.index-1;return{handled:!0,value:n[e],state:{index:e,draft:a.draft}}}return{handled:!0,state:a}}if(!o)return{handled:!1,state:a};if(a.index<n.length-1){let e=a.index+1;return{handled:!0,value:n[e],state:{index:e,draft:a.draft}}}return{handled:!0,value:a.draft,state:{index:-1,draft:a.draft}}}const Zm=/* @__PURE__ */ new WeakMap;function Qm(e){if(typeof e==`string`)return e.length;if(!e)return 0;if(typeof e!=`object`)return JSON.stringify(e)?.length??0;let t=Zm.get(e);return t===void 0&&(t=JSON.stringify(e)?.length??0,Zm.set(e,t)),t}function $m(e,t){return[e.id,e.role,e.author?.id??``,e.author?.displayName??``,e.author?.kind??``,e.content?.length??0,e.content?.slice(-32)??``,e.streaming?`1`:`0`,e.voiceProcessing?`1`:`0`,e.variant??``,e.dispatchError?`1`:`0`,e.rawContent?.length??0,e.llmContent?.length??0,e.approval?.status??``,e.toolCall?.status??``,e.toolCall?.name??``,e.toolCall?.chunks?.length??0,e.toolCall?.chunks?.[e.toolCall.chunks.length-1]?.slice(-32)??``,Qm(e.toolCall?.args),e.reasoning?.chunks?.length??0,e.reasoning?.chunks?.[e.reasoning.chunks.length-1]?.length??0,e.reasoning?.chunks?.[e.reasoning.chunks.length-1]?.slice(-32)??``,e.contentParts?.length??0,e.stopReason??``,e.toolCall?.actionTitle??``,t].join(`\0`)}function eh(){return/* @__PURE__ */ new Map}function th(e,t,n){let r=e.get(t);return r&&r.fingerprint===n?r.wrapper:null}function nh(e,t,n,r){e.set(t,{fingerprint:n,wrapper:r})}function rh(e,t){for(let n of e.keys())t.has(n)||e.delete(n)}const ih={type:`none`,placeholder:`none`,speed:120,duration:1800,buffer:`none`},ah=[`pre`,`code`,`a`,`script`,`style`],oh=e=>({type:e?.type??ih.type,placeholder:e?.placeholder??ih.placeholder,speed:e?.speed??ih.speed,duration:e?.duration??ih.duration,buffer:e?.buffer??ih.buffer}),sh=[{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`}],ch=/* @__PURE__ */ new Map;for(let e of sh)ch.set(e.name,e);const lh=[`wipe`,`glyph-cycle`],uh=e=>{ch.set(e.name,e)},dh=e=>{sh.some(t=>t.name===e)||ch.delete(e)},fh=()=>Array.from(ch.keys()),ph=(e,t)=>e===`none`?null:t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]??null:ch.get(e)??null,mh=(e,t,n,r,i)=>{if(!i)return e;if(n?.bufferContent)return n.bufferContent(e,r);if(!e)return e;if(t===`word`){let t=e.search(/\s(?=\S*$)/);return t<0?``:e.slice(0,t)}if(t===`line`){let t=e.lastIndexOf(`
23
- `);return t<0?``:e.slice(0,t)}return e},hh=(e,t,n,r)=>{let i=e.createElement(`span`);return i.className=`persona-stream-char`,i.id=`stream-c-${n}-${r}`,i.style.setProperty(`--char-index`,String(r)),i.textContent=t,i},gh=(e,t,n,r)=>{let i=e.createElement(`span`);return i.className=`persona-stream-word`,i.id=`stream-w-${n}-${r}`,i.style.setProperty(`--word-index`,String(r)),i.textContent=t,i},_h=/\s/,vh=(e,t)=>{let n=e.parentNode;for(;n;){if(n.nodeType===1){let e=n;if(t.has(e.tagName.toLowerCase()))return!0}n=n.parentNode}return!1},yh=(e,t,n)=>{let r=e.ownerDocument,i=e.parentNode;if(!r||!i)return;let a=e.nodeValue??``;if(!a)return;let o=r.createDocumentFragment(),s=0;for(;s<a.length;)if(_h.test(a[s])){let e=s;for(;e<a.length&&_h.test(a[e]);)e+=1;o.appendChild(r.createTextNode(a.slice(s,e))),s=e}else{let e=r.createElement(`span`);e.className=`persona-stream-word-group`;let i=s;for(;i<a.length&&!_h.test(a[i]);)e.appendChild(hh(r,a[i],t,n.value)),n.value+=1,i+=1;o.appendChild(e),s=i}i.replaceChild(o,e)},bh=(e,t,n)=>{let r=e.ownerDocument,i=e.parentNode;if(!r||!i)return;let a=e.nodeValue??``;if(!a)return;let o=r.createDocumentFragment(),s=a.split(/(\s+)/);for(let e of s)e&&(/^\s+$/.test(e)?o.appendChild(r.createTextNode(e)):(o.appendChild(gh(r,e,t,n.value)),n.value+=1));i.replaceChild(o,e)},xh=(e,t,n,r)=>{if(!e||typeof document>`u`)return e;let i=document.createElement(`div`);i.innerHTML=e;let a=new Set((r?.skipTags??ah).map(e=>e.toLowerCase())),o=document.createTreeWalker(i,NodeFilter.SHOW_TEXT,null),s=[],c=o.nextNode();for(;c;)vh(c,a)||s.push(c),c=o.nextNode();let l={value:r?.startIndex??0},u=t===`char`?yh:bh;for(let e of s)u(e,n,l);return i.innerHTML},Sh=(e=document)=>{let t=e.createElement(`span`);return t.className=`persona-stream-caret`,t.setAttribute(`aria-hidden`,`true`),t.setAttribute(`data-preserve-animation`,`stream-caret`),t},Ch=(e=document)=>{let t=e.createElement(`div`);t.className=`persona-stream-skeleton`,t.setAttribute(`data-preserve-animation`,`stream-skeleton`),t.setAttribute(`aria-hidden`,`true`);let n=e.createElement(`div`);return n.className=`persona-stream-skeleton-line`,t.appendChild(n),t},wh=/* @__PURE__ */ new WeakMap,Th=(e,t)=>{if(!e.styles)return;let n=wh.get(t);if(n||(n=/* @__PURE__ */ new Set,wh.set(t,n)),n.has(e.name)){let r=e.name.replace(/["\\]/g,`\\$&`);if(t.querySelector(`style[data-persona-animation="${r}"]`))return;n.delete(e.name)}n.add(e.name);let r=(t instanceof ShadowRoot?t.ownerDocument:t.ownerDocument??document).createElement(`style`);r.setAttribute(`data-persona-animation`,e.name),r.textContent=e.styles,t.appendChild(r)},Eh=/* @__PURE__ */ new WeakMap,Dh=(e,t)=>{if(!e.onAttach)return;let n=Eh.get(t);if(n||(n=/* @__PURE__ */ new Map,Eh.set(t,n)),n.has(e.name))return;let r=e.onAttach(t);n.set(e.name,r)},Oh=e=>{let t=Eh.get(e);if(t){for(let e of t.values())typeof e==`function`&&e();t.clear()}},kh=(e,t)=>{Th(e,t),Dh(e,t)};U();const{setLoader:Ah,load:jh}=H({fallbackImport:()=>import(`@runtypelabs/persona/animations-extra`)}),Mh=jh;da();function Nh(e,t=la){let n=e.style.position,r=e.style.zIndex,i=e.style.isolation,a=getComputedStyle(e),o=a.position===`static`||a.position===``;return o&&(e.style.position=`relative`),e.style.zIndex=String(t),e.style.isolation=`isolate`,()=>{o&&(e.style.position=n),e.style.zIndex=r,e.style.isolation=i}}let Ph=0,Fh=null;function Ih(e=document){if(Ph++,Ph===1){let t=e.body,n=(e.defaultView??window).scrollY||e.documentElement.scrollTop;Fh={originalOverflow:t.style.overflow,originalPosition:t.style.position,originalTop:t.style.top,originalWidth:t.style.width,scrollY:n},t.style.overflow=`hidden`,t.style.position=`fixed`,t.style.top=`-${n}px`,t.style.width=`100%`}let t=!1;return()=>{if(!t&&(t=!0,Ph=Math.max(0,Ph-1),Ph===0&&Fh)){let t=e.body,n=e.defaultView??window;t.style.overflow=Fh.originalOverflow,t.style.position=Fh.originalPosition,t.style.top=Fh.originalTop,t.style.width=Fh.originalWidth,n.scrollTo(0,Fh.scrollY),Fh=null}}}ds();const Lh={side:`right`,width:`420px`,animate:!0,reveal:`resize`,maxHeight:`100dvh`},Rh=e=>(e?.launcher?.mountMode??`floating`)===`docked`,zh=e=>(e?.launcher?.mountMode??`floating`)===`composer-bar`,Bh=e=>{let t=e?.launcher?.dock,n=as(e).dockWidth?t?.width:Xp(Em(e),`components.panel.width`);return{side:t?.side??Lh.side,width:n??Lh.width,animate:t?.animate??Lh.animate,reveal:t?.reveal??Lh.reveal,maxHeight:t?.maxHeight??Lh.maxHeight}};Gr(),Nn(),gn(),Wr();const Vh=e=>e.closest(`[data-persona-instance]`)?.dataset.personaInstance,Hh=e=>e===`followUp`?`follow-up`:e,Uh=(e,t=0)=>{if(typeof e==`string`){let t=e.trim();return t?{id:t,label:t,prompt:t,emphasis:`default`}:null}let n=e.label.trim();if(!n)return null;let r=e.prompt?.trim()||n;return{id:e.id?.trim()||r||`suggestion-${t}`,label:n,prompt:r,description:e.description?.trim()||void 0,icon:e.icon,iconColor:e.iconColor?.trim()||void 0,behavior:e.behavior,emphasis:e.emphasis??`default`}},Wh=/* @__PURE__ */ new WeakSet,Gh=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,Kh=e=>{Gh()||e.forEach((e,t)=>{typeof e.animate==`function`&&e.animate([{opacity:`0`,transform:`translateY(4px)`},{opacity:`1`,transform:`none`}],{duration:250,delay:t*60,easing:`ease-out`,fill:`backwards`})})},qh=e=>{let{item:t,index:n,surface:r,source:i,variant:a,streaming:o,config:c,plugins:l,chipsConfig:u,session:d,getTextarea:f,eventTarget:p,submitPrompt:m}=e,h=r===`followUp`,g=t.behavior,_=()=>{if(d.isStreaming()||p.closest(`[inert]`))return;let e={instanceId:Vh(p),suggestion:{...t},surface:r,source:i,behavior:g},n=p.dispatchEvent(new CustomEvent(`persona:suggestion:selected`,{detail:e,bubbles:!0,composed:!0,cancelable:!0}));if(h&&p.dispatchEvent(new CustomEvent(`persona:suggestReplies:selected`,{detail:{instanceId:Vh(p),suggestion:t.prompt},bubbles:!0,composed:!0})),!n)return;for(let e of l)if(e.onSuggestionSelect?.({suggestion:{...t},surface:r,source:i,variant:a,config:c})===!1)return;let o=f();g===`fill`?(o.value=t.prompt,o.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0})),o.focus()):m?m(t.prompt):(o.value=``,d.sendMessage(t.prompt))},v=()=>{let e=J(`button`,`persona-suggestion persona-suggestion--${a}`);if(e.type=`button`,e.disabled=o,e.dataset.suggestionId=t.id,e.dataset.emphasis=t.emphasis,e.dataset.behavior=g,a===`chip`){let t=c.suggestionChipsConfig===u?c:{suggestionChipsConfig:u},n=e=>Vr(t,`suggestionChipsConfig.${e}`),r=e=>Ur(c,`suggestion.chip.${e}`,`light`)||Ur(c,`suggestion.chip.${e}`,`dark`);u?.fontWeight&&(e.style.fontWeight=!n(`fontWeight`)&&r(`fontWeight`)?`var(--persona-suggestion-compat-weight, 500)`:u.fontWeight);let i=r(`padding`);i&&(e.classList.add(`persona-theme-padding`),e.style.setProperty(`--persona-theme-padding`,`var(--persona-suggestion-compat-padding, 6px 12px)`)),u?.paddingX&&(n(`paddingX`)||!i)&&(e.style.paddingLeft=u.paddingX,e.style.paddingRight=u.paddingX),u?.paddingY&&(n(`paddingY`)||!i)&&(e.style.paddingTop=u.paddingY,e.style.paddingBottom=u.paddingY)}if(t.icon){let n=K(t.icon,`var(--persona-suggestion-icon-size)`,`currentColor`,1.8);n&&(n.classList.add(`persona-suggestion__icon`),t.iconColor&&(n.style.color=t.iconColor),e.appendChild(n))}let n=J(`span`,`persona-suggestion__copy`);if(n.appendChild(Y(`span`,{className:`persona-suggestion__label`,text:t.label})),t.description&&a!==`chip`&&n.appendChild(Y(`span`,{className:`persona-suggestion__description`,text:t.description})),e.appendChild(n),a!==`chip`){let t=hn(s,16,`currentColor`,1.8);t&&(t.classList.add(`persona-suggestion__arrow`),e.appendChild(t))}return e.addEventListener(`click`,_),e},y=null;for(let e of l)if(e.renderSuggestion&&(y=e.renderSuggestion({suggestion:{...t},index:n,surface:r,source:i,variant:a,streaming:o,config:c,defaultRenderer:v,select:_}),y))break;return y??=v(),y.dataset.suggestionId||=t.id,y.dataset.behavior||=g,y.dataset.emphasis||=t.emphasis,y instanceof HTMLButtonElement||y.setAttribute(`aria-disabled`,o?`true`:`false`),y},Jh=e=>{let t=[],n=[],r=null,i=null,a=()=>{e.removeAttribute(`data-scroll-left`),e.removeAttribute(`data-scroll-right`)},o=()=>{if(i=null,e.toggleAttribute(`data-edge-to-edge`,e.hasAttribute(`data-hide-scrollbar`)&&(e.hasAttribute(`data-persona-composer-suggestions`)||e.dataset.personaSuggestions===`follow-up`)&&e.dataset.variant===`chip`&&e.dataset.overflow===`scroll`),e.hasAttribute(`data-edge-to-edge`)&&e.parentElement){let t=e.parentElement,n=getComputedStyle(t),r=parseFloat(n.paddingLeft)||0,i=parseFloat(n.paddingRight)||0;e.style.setProperty(`--persona-suggestion-bleed-left`,`${r}px`),e.style.setProperty(`--persona-suggestion-bleed-right`,`${i}px`);let a=t.closest(`.persona-widget-container`)?.querySelector(`form`),o=t.getBoundingClientRect(),s=a?.getBoundingClientRect();e.style.setProperty(`--persona-suggestion-inset-left`,`${s?.width?s.left-o.left:r}px`),e.style.setProperty(`--persona-suggestion-inset-right`,`${s?.width?o.right-s.right:i}px`)}if(e.hidden||e.dataset.variant!==`chip`||e.dataset.overflow!==`scroll`){a();return}let t=Math.max(0,e.scrollWidth-e.clientWidth);if(t<=1){a();return}let n=getComputedStyle(e).direction===`rtl`,r=Math.min(t,Math.max(0,Math.abs(e.scrollLeft))),o=r<=4,s=r>=t-4,c=n?!s:!o,l=n?!o:!s;e.toggleAttribute(`data-scroll-left`,c),e.toggleAttribute(`data-scroll-right`,l)},s=()=>{i!==null||typeof requestAnimationFrame!=`function`?typeof requestAnimationFrame!=`function`&&o():i=requestAnimationFrame(o)};e.addEventListener(`scroll`,s,{passive:!0});let c=typeof ResizeObserver==`function`?new ResizeObserver(s):null;return c?.observe(e),{buttons:t,elements:n,destroy:()=>{e.removeEventListener(`scroll`,s),c?.disconnect(),i!==null&&typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(i),i=null},render:(i,c,l,u,d,f)=>{e.replaceChildren(),t.length=0,n.length=0;let p=f?.source??`config`,m=f?.surface??(p===`config`?`starter`:`followUp`),h=m===`followUp`,g=f?.variant??`chip`,_=f?.behavior??`send`,v=f?.overflow??`wrap`,y=f?.config??{},b=f?.plugins??[];e.toggleAttribute(`data-hide-scrollbar`,y.future?.v5Defaults===!0),e.dataset.edgeStyle=y.suggestions?.[h?`followUps`:`starters`]?.edgeStyle??`fade`;let x=typeof f?.maxItems==`number`?Math.max(0,Math.floor(f.maxItems)):void 0,S=h?`followUps`:`starters`;!Wh.has(y)&&y.debug===!0&&g!==`chip`&&y.suggestions?.[S]?.overflow!==void 0&&(Wh.add(y),console.info(`[persona] suggestions.${S}.overflow applies to the "chip" variant only; the "${g}" variant manages its own stacking.`));let C=e=>e.map(Uh).filter(e=>e!==null).map(e=>({...e,behavior:e.behavior??_})),ee=C(i??[]);b.forEach(e=>{e.transformSuggestions&&(ee=C(e.transformSuggestions({suggestions:ee.map(e=>({...e})),surface:m,source:p,config:y})))});let w=x===void 0?ee:ee.slice(0,x);if(!w.length){e.hidden=!0,r=null,a();return}if(!h&&(u??c.getMessages()).some(e=>e.role===`user`)){e.hidden=!0,r=null;return}e.hidden=!1,e.classList.add(`persona-suggestions`),e.dataset.personaSuggestionSurface=Hh(m),e.dataset.variant=g,e.dataset.overflow=v;let te=document.createDocumentFragment(),T=c.isStreaming();w.forEach((r,i)=>{let a=qh({item:r,index:i,surface:m,source:p,variant:g,streaming:T,config:y,plugins:b,chipsConfig:d,session:c,getTextarea:()=>l,eventTarget:e,submitPrompt:f?.submitPrompt});te.appendChild(a),n.push(a),[...a instanceof HTMLButtonElement?[a]:[],...Array.from(a.querySelectorAll(`button`))].forEach(e=>{t.includes(e)||(e.disabled=T,t.push(e))})}),e.appendChild(te),o(),s();let E=JSON.stringify({normalized:w,surface:m,variant:g,source:p});E!==r&&(r=E,Kh(n),e.dispatchEvent(new CustomEvent(`persona:suggestion:shown`,{detail:{instanceId:Vh(e),suggestions:w.map(e=>({...e})),surface:m,source:p,variant:g},bubbles:!0,composed:!0})),h&&e.dispatchEvent(new CustomEvent(`persona:suggestReplies:shown`,{detail:{instanceId:Vh(e),suggestions:w.map(e=>e.prompt)},bubbles:!0,composed:!0})))}}},Yh={"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`};Gr(),Nn(),Ro(),Uo();const Xh={x:[1.4,1.05]},Zh=`persona-relative persona-ml-auto persona-inline-flex persona-items-center persona-justify-center`,Qh=(e,t,n={})=>{let{iconSize:r,iconText:i}=n,[a,o]=Xh[t]??[1,1.5],s=!r;e.classList.toggle(`persona-header-control--glyph`,s),e.classList.toggle(`persona-header-control--sparse`,s&&a!==1);let c=K(t,`${Math.round((parseFloat(r??``)||16)*a)}px`,`currentColor`,o);c?(c.style.display=`block`,s||(c.style.strokeWidth=`calc(var(--persona-components-header-controlStrokeWidth, 1.5) * ${Number((o/1.5).toFixed(4))})`),e.replaceChildren(c)):i&&(e.textContent=i)},$h=e=>{let{ariaLabel:t,tooltip:n=!0,tooltipHint:r,iconName:i,iconText:a,wrapperClassName:o=Zh,size:s,iconSize:c,color:l,backgroundColor:u,borderWidth:d,borderColor:f,borderRadius:p,paddingX:m,paddingY:h,hidden:g,extraClassName:_,attrs:v}=e,y=J(`div`,o),b=!!(d||f),x=Y(`button`,{className:X(`persona-header-control`,`persona-inline-flex persona-items-center persona-justify-center persona-cursor-pointer`,!u&&`persona-bg-transparent hover:persona-bg-gray-100`,!b&&`persona-border-none`,!p&&`persona-rounded-full`,_),attrs:{type:`button`,"aria-label":t,...v},style:{width:s,height:s,minWidth:s,minHeight:s,display:g?`none`:void 0,color:l||rg.actionIconColor,backgroundColor:u,border:b?`${d||`0px`} solid ${f||`transparent`}`:void 0,borderRadius:p,paddingLeft:m,paddingRight:m,paddingTop:h,paddingBottom:h}});return i?Qh(x,i,{iconSize:c,iconText:a}):a&&(x.textContent=a),y.appendChild(x),So({anchor:x,trigger:y,text:()=>x.getAttribute(`aria-label`)??t,hint:r,enabled:n}),{button:x,wrapper:y}},eg=(e,t,n,r={})=>{let i=t?.launcher,a=i?.clearChat,o=e=>n===`close`?`launcher.closeButton${e[0].toUpperCase()}${e.slice(1)}`:`launcher.clearChat.${e===`color`?`iconColor`:e}`,s=e=>Bo(t,o(e)),c=(e,r)=>zo(t,`header.${n}`,e,r),l=(e,t,n)=>s(e)||c(t,n),u=r.buttonSize||s(`size`);Ho(e,u||c(`size`,`var(--persona-header-control-size, 32px)`),u),!u&&c(`size`,``)===``&&(e.style.width=e.style.height=``);let d=n===`close`?i?.closeButtonBackgroundColor:a?.backgroundColor;e.style.color=l(`color`,`foreground`,rg.actionIconColor),e.style.backgroundColor=s(`backgroundColor`)||(c(`background`,``)?c(`background`,d||`transparent`):d||``),e.classList.toggle(`hover:persona-bg-gray-100`,!d&&!s(`backgroundColor`)&&c(`background`,``)===``);let f=n===`close`?i?.closeButtonBorderWidth:a?.borderWidth,p=n===`close`?i?.closeButtonBorderColor:a?.borderColor,m=!!(f||p||c(`borderWidth`,``)||c(`borderColor`,``));e.style.border=m?`${l(`borderWidth`,`borderWidth`,f||`0px`)} solid ${l(`borderColor`,`borderColor`,p||`transparent`)}`:``,e.classList.toggle(`persona-border-none`,!m);let h=n===`close`?i?.closeButtonBorderRadius:a?.borderRadius;e.style.borderRadius=s(`borderRadius`)||(c(`borderRadius`,``)?c(`borderRadius`,`var(--persona-components-header-controlBorderRadius, 9999px)`):h||``),e.classList.toggle(`persona-rounded-full`,!e.style.borderRadius);let g=n===`close`?i?.closeButtonPaddingX:a?.paddingX,_=n===`close`?i?.closeButtonPaddingY:a?.paddingY,v=c(`padding`,`0px`);Vo(e,v,s(`paddingX`)||(v===`0px`?g:void 0),s(`paddingY`)||(v===`0px`?_:void 0));let y=n===`close`?i?.closeButtonIconName??`x`:a?.iconName??`refresh-cw`;Qh(e,y,{iconSize:r.iconSize,iconText:n===`close`?i?.closeButtonIconText??`×`:void 0});let b=e.querySelector(`svg`);if(b){let e=Xh[y]?.[0]??1,t=c(`iconSize`,``);!r.iconSize&&t&&(b.style.width=b.style.height=`calc(${c(`iconSize`,`var(--persona-header-control-icon-size, 16px)`)} * ${e})`),c(`iconStrokeWidth`,``)&&(b.style.strokeWidth=`calc(${c(`iconStrokeWidth`,`var(--persona-components-header-controlStrokeWidth, 1.5)`)} * ${e===1?1:.7})`)}},tg=(e,t={})=>{let{showClose:n=!0,wrapperClassName:r=Zh,buttonSize:i,iconSize:a}=t,o=e?.launcher??{},s=o.closeButtonTooltipText??`Close chat`,c=o.closeButtonShowTooltip??!0,{button:l,wrapper:u}=$h({ariaLabel:s,tooltip:c,iconName:o.closeButtonIconName??`x`,iconText:o.closeButtonIconText??`×`,wrapperClassName:r,size:i??o.closeButtonSize,iconSize:a,color:o.closeButtonColor,backgroundColor:o.closeButtonBackgroundColor,borderWidth:o.closeButtonBorderWidth,borderColor:o.closeButtonBorderColor,borderRadius:o.closeButtonBorderRadius,paddingX:o.closeButtonPaddingX,paddingY:o.closeButtonPaddingY,hidden:!n});return eg(l,e,`close`,{buttonSize:i,iconSize:a}),{button:l,wrapper:u}},ng=(e,t={})=>{let{wrapperClassName:n=`persona-relative persona-ml-auto persona-clear-chat-button-wrapper`,buttonSize:r,iconSize:i}=t,a=(e?.launcher??{}).clearChat??{},o=a.tooltipText??`Clear chat`,s=a.showTooltip??!0,{button:c,wrapper:l}=$h({ariaLabel:o,tooltip:s,iconName:a.iconName??`refresh-cw`,wrapperClassName:n,size:r??a.size,iconSize:i,color:a.iconColor,backgroundColor:a.backgroundColor,borderWidth:a.borderWidth,borderColor:a.borderColor,borderRadius:a.borderRadius,paddingX:a.paddingX,paddingY:a.paddingY});return eg(c,e,`clear`,{buttonSize:r,iconSize:i}),{button:c,wrapper:l}};Gr(),Nn(),Es();const rg={titleColor:`var(--persona-header-title-fg, var(--persona-primary, #0f0f0f))`,subtitleColor:`var(--persona-header-subtitle-fg, var(--persona-text-muted, var(--persona-muted, #9ca3af)))`,actionIconColor:`var(--persona-header-control-state-fg, var(--persona-header-action-icon-fg, var(--persona-muted, #9ca3af)))`,minHeight:`var(--persona-header-min-height, auto)`},ig={fontFamily:`var(--persona-components-header-title-fontFamily, inherit)`,fontSize:`var(--persona-components-header-title-fontSize, 1rem)`,fontWeight:`var(--persona-components-header-title-fontWeight, 600)`,lineHeight:`var(--persona-components-header-title-lineHeight, 1.5rem)`,letterSpacing:`var(--persona-components-header-title-letterSpacing, normal)`},ag={fontFamily:`var(--persona-components-header-subtitle-fontFamily, inherit)`,fontSize:`var(--persona-components-header-subtitle-fontSize, 0.75rem)`,fontWeight:`var(--persona-components-header-subtitle-fontWeight, inherit)`,lineHeight:`var(--persona-components-header-subtitle-lineHeight, 1rem)`,letterSpacing:`var(--persona-components-header-subtitle-letterSpacing, normal)`},og=e=>{let{config:t,showClose:n=!0}=e,r=Y(`div`,{className:`persona-widget-header persona-flex persona-items-center persona-gap-3`,attrs:{"data-persona-theme-zone":`header`},style:{padding:`var(--persona-components-header-padding, 20px 24px)`,minHeight:rg.minHeight,backgroundColor:`var(--persona-header-bg, var(--persona-surface, #ffffff))`,borderBottomColor:`var(--persona-header-border, var(--persona-divider, #f1f5f9))`,boxShadow:`var(--persona-header-shadow, none)`,borderBottom:`var(--persona-header-border-bottom, 1px solid var(--persona-header-border, var(--persona-divider, #f1f5f9)))`}}),i=t?.launcher??{},a=i.headerIconSize??`40px`,o=i.closeButtonPlacement??`inline`,s=i.headerIconHidden??!1,c=i.headerIconName,l=Y(`div`,{className:`persona-flex persona-items-center persona-justify-center persona-rounded-xl persona-text-xl`,style:{height:a,width:a,boxSizing:`content-box`,padding:`var(--persona-components-header-iconPadding, 0px)`,flexShrink:`0`,backgroundColor:`var(--persona-header-icon-bg, var(--persona-primary, #0f0f0f))`,color:`var(--persona-header-icon-fg, var(--persona-text-inverse, #ffffff))`}});if(!s){if(c){let e=parseFloat(a)||24,n=K(c,e*.6,`currentColor`,1);n?(n.style.width=`calc(${e}px * var(--persona-components-header-iconScale, 0.6))`,n.style.height=`calc(${e}px * var(--persona-components-header-iconScale, 0.6))`,l.replaceChildren(n)):l.textContent=t?.launcher?.agentIconText??`💬`}else if(t?.launcher?.iconUrl){let e=J(`img`);e.src=t.launcher.iconUrl,e.alt=``,e.className=`persona-rounded-xl persona-object-cover`,e.style.height=a,e.style.width=a,l.replaceChildren(e)}else l.textContent=t?.launcher?.agentIconText??`💬`}let u=J(`div`,`persona-flex persona-flex-col persona-flex-1 persona-min-w-0`),d=Y(`span`,{className:`persona-text-base persona-font-semibold`,text:t?.launcher?.title??`Chat Assistant`,style:{color:rg.titleColor,...ig}}),f=Y(`span`,{className:`persona-text-xs`,text:t?.launcher?.subtitle??`Here to help you get answers fast`,style:{color:rg.subtitleColor,...ag}});u.append(d,f),s?r.append(u):r.append(l,u);let p=i.clearChat??{},m=p.enabled??!0,h=p.placement??`inline`,g=null,_=null;if(m){let e=ng(t,{wrapperClassName:h===`top-right`?`persona-absolute persona-top-4 persona-z-50`:`persona-relative persona-ml-auto persona-clear-chat-button-wrapper`});g=e.button,_=e.wrapper,h===`top-right`&&(_.style.right=`48px`),h===`inline`&&r.appendChild(_)}let{button:v,wrapper:y}=tg(t,{showClose:n,wrapperClassName:o===`top-right`?`persona-absolute persona-top-4 persona-right-4 persona-z-50`:m&&h===`inline`?`persona-relative persona-inline-flex persona-items-center persona-justify-center`:`persona-relative persona-ml-auto persona-inline-flex persona-items-center persona-justify-center`});return o!==`top-right`&&r.appendChild(y),{header:r,iconHolder:l,headerTitle:d,headerSubtitle:f,closeButton:v,closeButtonWrapper:y,clearChatButton:g,clearChatButtonWrapper:_}},sg=(e,t,n)=>{let r=n?.launcher??{},i=r.closeButtonPlacement??`inline`,a=r.clearChat?.placement??`inline`;e.appendChild(t.header),i===`top-right`&&(e.style.position=`relative`,e.appendChild(t.closeButtonWrapper)),t.clearChatButtonWrapper&&a===`top-right`&&(e.style.position=`relative`,e.appendChild(t.clearChatButtonWrapper))};Gr();const cg=e=>{let t=og({config:e.config,showClose:e.showClose,onClose:e.onClose,onClearChat:e.onClearChat}),n=e.layoutHeaderConfig?.onTitleClick;if(n){let e=t.headerTitle.parentElement;e&&(e.style.cursor=`pointer`,e.setAttribute(`role`,`button`),e.setAttribute(`tabindex`,`0`),e.addEventListener(`click`,()=>n()),e.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n())}))}return t};function lg(e,t,n){if(t?.length)for(let r of t){let{button:t,wrapper:i}=$h({ariaLabel:r.ariaLabel??r.label??r.id,iconName:r.icon,iconText:r.icon?void 0:r.label,tooltipHint:r.shortcut?Hm(r.shortcut):void 0,wrapperClassName:`persona-relative persona-inline-flex persona-items-center persona-justify-center`});if(t.setAttribute(`data-persona-header-action`,r.id),r.shortcut){let e=Um(r.shortcut);e&&t.setAttribute(`aria-keyshortcuts`,e)}if(r.menuItems?.length){let e=Gl({items:r.menuItems,onSelect:e=>n?.(e),anchor:i,position:`bottom-right`});i.appendChild(e.element),t.addEventListener(`click`,t=>{t.stopPropagation(),e.toggle()})}else t.addEventListener(`click`,()=>n?.(r.id));e.appendChild(i)}}const ug=e=>{let{config:t,showClose:n=!0,onClose:r,layoutHeaderConfig:i,onHeaderAction:a}=e,o=t?.launcher??{},s=J(`div`,`persona-flex persona-items-center persona-justify-between`);s.setAttribute(`data-persona-theme-zone`,`header`),s.style.minHeight=rg.minHeight,s.style.padding=`var(--persona-components-header-minimalPadding, var(--persona-components-header-padding, 16px 24px))`,s.style.backgroundColor=`var(--persona-header-bg, var(--persona-surface, #ffffff))`,s.style.borderBottomColor=`var(--persona-header-border, var(--persona-divider, #f1f5f9))`,s.style.boxShadow=`var(--persona-header-shadow, none)`,s.style.borderBottom=`var(--persona-header-border-bottom, 1px solid var(--persona-header-border, var(--persona-divider, #f1f5f9)))`;let c=i?.titleMenu,l,u;if(c){let e=Xl({label:o.title??`Chat Assistant`,menuItems:c.menuItems,onSelect:t=>{let n=n=>{n===!1&&e.element.dispatchEvent(new CustomEvent(`persona:title-menu-builtin`,{bubbles:!0,composed:!0,detail:{actionId:t,instanceId:e.element.closest(`[data-persona-instance]`)?.dataset.personaInstance}}))},r=c.onSelect(t);r instanceof Promise?r.then(n,()=>{}):n(r)},hover:c.hover,className:``});l=e.element,l.style.color=rg.titleColor,u=l.querySelector(`.persona-combo-btn-label`)??l}else{if(l=J(`div`,`persona-flex persona-min-w-0 persona-flex-1 persona-items-center persona-gap-1`),u=J(`span`,`persona-text-base persona-font-semibold persona-truncate`),u.style.color=rg.titleColor,Object.assign(u.style,ig),u.textContent=o.title??`Chat Assistant`,l.appendChild(u),i?.onTitleClick){l.style.cursor=`pointer`,l.setAttribute(`role`,`button`),l.setAttribute(`tabindex`,`0`);let e=i.onTitleClick;l.addEventListener(`click`,t=>{t.target.closest(`button`)||e()}),l.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e())})}let e=i?.titleRowHover;e&&(l.style.borderRadius=e.borderRadius??`10px`,l.style.padding=e.padding??`6px 4px 6px 12px`,l.style.margin=`-6px 0 -6px -12px`,l.style.border=`1px solid transparent`,l.style.transition=`background-color 0.15s ease, border-color 0.15s ease`,l.style.width=`fit-content`,l.style.flex=`none`,l.addEventListener(`mouseenter`,()=>{l.style.backgroundColor=e.background??``,l.style.borderColor=e.border??``}),l.addEventListener(`mouseleave`,()=>{l.style.backgroundColor=``,l.style.borderColor=`transparent`}))}s.appendChild(l);let d=`persona-relative persona-inline-flex persona-items-center persona-justify-center`,{button:f,wrapper:p}=tg(t,{showClose:n,wrapperClassName:d});r&&f.addEventListener(`click`,r);let m=J(`div`,`persona-flex persona-items-center persona-gap-1`);c||lg(m,i?.trailingActions,i?.onAction??a);let h=o.clearChat??{},g=null,_=null;if(h.enabled??!0){let e=h.placement??`inline`,n=ng(t,{wrapperClassName:e===`top-right`?`persona-absolute persona-top-4 persona-z-50`:d});g=n.button,_=n.wrapper,e===`top-right`?_.style.right=`48px`:m.appendChild(_)}m.appendChild(p),s.appendChild(m);let v=J(`div`);v.style.display=`none`;let y=J(`span`);return y.style.display=`none`,{header:s,iconHolder:v,headerTitle:u,headerSubtitle:y,closeButton:f,closeButtonWrapper:p,clearChatButton:g,clearChatButtonWrapper:_}},dg={default:cg,minimal:ug},fg=e=>dg[e]??dg.default,pg=(e,t,n)=>{if(t?.render){let r=t.render({config:e,onClose:n?.onClose,onClearChat:n?.onClearChat,trailingActions:t.trailingActions,onAction:t.onAction}),i=J(`div`);i.style.display=`none`;let a=J(`span`),o=J(`span`),s=J(`button`);s.style.display=`none`;let c=J(`div`);return c.style.display=`none`,{header:r,iconHolder:i,headerTitle:a,headerSubtitle:o,closeButton:s,closeButtonWrapper:c,clearChatButton:null,clearChatButtonWrapper:null}}let r=t?.layout??`default`,i=fg(r)({config:e,showClose:t?.showCloseButton??n?.showClose??!0,onClose:n?.onClose,onClearChat:n?.onClearChat,layoutHeaderConfig:t,onHeaderAction:t?.onAction});return t&&(t.showIcon===!1&&(i.iconHolder.style.display=`none`),t.showTitle===!1&&(i.headerTitle.style.display=`none`),t.showSubtitle===!1&&(i.headerSubtitle.style.display=`none`),t.showCloseButton===!1&&(i.closeButton.style.display=`none`),t.showClearChat===!1&&i.clearChatButtonWrapper&&(i.clearChatButtonWrapper.style.display=`none`)),i};function mg(e,t){if(!t.defaultPrevented){for(let n of t.composedPath()){if(n===e)break;if(n instanceof Element&&n.matches(`button, input, textarea, select, a[href], label, [contenteditable]:not([contenteditable="false"]), [role="button"], [role="link"], [role="checkbox"], [role="radio"], [role="combobox"], [tabindex]`))return}(e.querySelector(`[data-persona-composer-input][contenteditable="true"]`)??e.querySelector(`textarea[data-persona-composer-input]`))?.focus()}}Gr(),_c();const hg=e=>{let{config:t}=e,n=Y(`div`,{className:`persona-widget-footer persona-border-t-persona-divider persona-bg-persona-surface persona-px-6 persona-py-4`,attrs:{"data-persona-theme-zone":`composer`}}),r=gc(),i=Y(`form`,{className:`persona-widget-composer persona-flex persona-flex-col persona-gap-2 persona-rounded-2xl persona-border persona-border-persona-border persona-bg-persona-input-background persona-px-4 persona-py-3`,attrs:{"data-persona-composer-form":``}}),{textarea:a,attachAutoResize:o}=oc(t);o();let s=dc(t),c=pc(t),l=mc(t),u=hc(t),d=Y(`div`,{className:`persona-widget-composer__header`,attrs:{"data-persona-composer-header":``},style:{display:`contents`}});i.append(d),l&&(d.append(l.previewsContainer),i.append(l.input)),i.append(a);let f=Y(`div`,{className:`persona-widget-composer__actions persona-flex persona-items-center persona-justify-between persona-w-full`,attrs:{"data-persona-composer-actions":``}}),p=Y(`div`,{className:`persona-widget-composer__left-actions persona-flex persona-items-center persona-gap-2`,attrs:{"data-persona-composer-actions-start":``}}),m=Y(`div`,{className:`persona-widget-composer__right-actions persona-flex persona-items-center persona-gap-2`,attrs:{"data-persona-composer-actions-end":``}});return l&&p.append(l.wrapper),c&&m.append(c.wrapper),m.append(s.wrapper),f.append(p,m),i.append(f),i.addEventListener(`click`,e=>{mg(i,e)}),t?.statusIndicator?.mode===`transient`?n.append(r,u,i):n.append(r,i,u),{footer:n,suggestions:r,composerForm:i,header:d,textarea:a,sendButton:s.button,sendButtonWrapper:s.wrapper,micButton:c?.button??null,micButtonWrapper:c?.wrapper??null,statusText:u,attachmentButton:l?.button??null,attachmentButtonWrapper:l?.wrapper??null,attachmentInput:l?.input??null,attachmentPreviewsContainer:l?.previewsContainer??null,actionsRow:f,leftActions:p,rightActions:m,setSendButtonMode:s.setMode}};Gr(),gn(),_c(),nc();const gg=()=>{let e=Y(`button`,{className:`persona-pill-peek`,attrs:{type:`button`,"data-persona-pill-peek":``,"aria-label":`Show conversation`,tabindex:`-1`}}),t=J(`span`,`persona-pill-peek__icon`),n=hn(He,16,`currentColor`,1.5);n&&t.appendChild(n);let r=J(`span`,`persona-pill-peek__text`),i=J(`span`,`persona-pill-peek__caret`),a=hn(w,16,`currentColor`,1.5);return a&&i.appendChild(a),e.append(t,r,i),{root:e,textNode:r}},_g=e=>{let{config:t}=e,n=Y(`div`,{className:`persona-widget-footer persona-widget-footer--pill`,attrs:{"data-persona-theme-zone":`composer`}}),r=gc(),i=hc(t);i.style.display=`none`;let{textarea:a,attachAutoResize:o}=oc(t,{defaultMaxLines:5});o();let s=dc(t),c=pc(t),l=mc(t);l&&l.previewsContainer.classList.add(`persona-pill-composer__previews`);let u=Y(`form`,{className:`persona-widget-composer persona-pill-composer`,attrs:{"data-persona-composer-form":``}}),d=Y(`div`,{className:`persona-widget-composer__left-actions persona-pill-composer__left`,attrs:{"data-persona-composer-actions-start":``}});l&&d.append(l.wrapper);let f=Y(`div`,{className:`persona-widget-composer__right-actions persona-pill-composer__right`,attrs:{"data-persona-composer-actions-end":``}});c&&f.append(c.wrapper),f.append(s.wrapper),u.addEventListener(`click`,e=>{mg(u,e)}),l&&u.append(l.input),u.append(d,a,f);let p=Y(`div`,{className:`persona-pill-composer__header`,attrs:{"data-persona-composer-header":``},style:{display:`contents`}});n.append(p),l&&p.append(l.previewsContainer),n.append(r,u,i);let m=u;return{footer:n,suggestions:r,composerForm:u,header:p,textarea:a,sendButton:s.button,sendButtonWrapper:s.wrapper,micButton:c?.button??null,micButtonWrapper:c?.wrapper??null,statusText:i,attachmentButton:l?.button??null,attachmentButtonWrapper:l?.wrapper??null,attachmentInput:l?.input??null,attachmentPreviewsContainer:l?.previewsContainer??null,actionsRow:m,leftActions:d,rightActions:f,setSendButtonMode:s.setMode}};Gr();const vg=`data-persona-user-collapse`,yg=`data-persona-user-collapse-toggle`,bg=e=>e.features?.userMessageCollapse?.enabled===!0,xg=e=>{let t=e.features?.userMessageCollapse?.maxHeight;return typeof t==`number`&&Number.isFinite(t)&&t>0?t:240},Sg=e=>({showMoreLabel:e.copy?.showMoreLabel?.trim()||`Show more`,showLessLabel:e.copy?.showLessLabel?.trim()||`Show less`}),Cg=(e,t)=>e>t+48,wg=e=>`persona-user-collapse-${e}`,Tg=(e,t)=>{let n=Y(`div`,{className:`persona-user-collapse-region`,attrs:{id:wg(e),[vg]:`fit`}});return n.style.setProperty(`--persona-user-collapse-max-height`,`${t}px`),n},Eg=(e,t,n,r)=>{let{state:i}=r;t.setAttribute(vg,i),t.style.setProperty(`--persona-user-collapse-max-height`,`${r.maxHeight}px`);let a=e.querySelector(`button[${yg}]`);if(i!==`collapsed`&&i!==`expanded`){a?.remove();return}a||(a=Y(`button`,{className:`persona-user-collapse-toggle`,attrs:{type:`button`,id:`persona-user-collapse-toggle-${n}`,[yg]:``,"aria-controls":wg(n)}}),t.after(a));let o=i===`expanded`;a.setAttribute(`aria-expanded`,o?`true`:`false`),a.textContent=o?r.showLessLabel:r.showMoreLabel};Gr(),kc(),Nn(),Gs();const Dg=e=>{switch(e){case`max_tool_calls`:return`Tool limit reached.`;case`length`:return`Output token limit reached.`;case`content_filter`:return`The provider filtered this response.`;case`error`:return`Something went wrong generating this response.`;default:return null}},Og=(e,t)=>{if(!e)return null;let n=Dg(e);if(n===null)return null;let r=t?.[e];return(r===void 0?n:r)||null},kg=(e,t)=>Y(`div`,{className:`persona-message-stop-reason persona-text-xs persona-mt-2 persona-italic`,attrs:{"data-stop-reason":e,role:`note`},style:{opacity:`0.75`},text:t}),Ag=e=>{let t=e.toLowerCase();return!t.startsWith(`data:image/svg+xml`)&&!!(/^(?:https?|blob):/i.test(e)||t.startsWith(`data:image/`)||!e.includes(`:`))},jg=e=>{let t=e.toLowerCase();return t.startsWith(`javascript:`)||t.startsWith(`data:text/html`)||t.startsWith(`data:text/javascript`)||t.startsWith(`data:text/xml`)||t.startsWith(`data:application/xhtml`)||t.startsWith(`data:image/svg+xml`)?!1:!!(/^(?:https?|blob):/i.test(e)||t.startsWith(`data:`)||!e.includes(`:`))},Mg=e=>!e.contentParts||e.contentParts.length===0?[]:e.contentParts.filter(e=>e.type===`image`&&typeof e.image==`string`&&e.image.trim().length>0),Ng=e=>!e.contentParts||e.contentParts.length===0?[]:e.contentParts.filter(e=>e.type===`audio`&&typeof e.audio==`string`&&e.audio.trim().length>0),Pg=e=>!e.contentParts||e.contentParts.length===0?[]:e.contentParts.filter(e=>e.type===`video`&&typeof e.video==`string`&&e.video.trim().length>0),Fg=e=>!e.contentParts||e.contentParts.length===0?[]:e.contentParts.filter(e=>e.type===`file`&&typeof e.data==`string`&&e.data.trim().length>0),Ig=e=>{if(!e||e.length===0)return null;let t=Y(`div`,{className:`persona-mention-context-row persona-message-mentions`,attrs:{"data-message-mentions":``}});t.style.display=`flex`;for(let n of e){let e=Y(`div`,{className:`persona-mention-chip persona-mention-chip-readonly`,attrs:{"data-status":`ready`,title:n.label}}),r=J(`span`,`persona-mention-chip-icon`),i=K(n.iconName??`at-sign`,13,`currentColor`,2);i&&r.appendChild(i),e.appendChild(r),e.appendChild(Y(`span`,{className:`persona-mention-chip-label`,text:n.label})),t.appendChild(e)}return t},Lg=(e,t)=>{let n=document.createDocumentFragment();for(let r of e)r.kind===`text`?n.appendChild(document.createTextNode(r.text)):n.appendChild(Oc(r.ref,{readonly:!0,render:t}));return n},Rg=(e,t,n,r)=>{let i=Math.random().toString(36).slice(2,8),a=e=>`${i}:${e}`,o=n(t.map((e,t)=>e.kind===`text`?e.text:a(t)).join(``));if(!t.every((e,t)=>e.kind===`text`||o.includes(a(t)))){e.replaceChildren(Lg(t,r));return}e.innerHTML=o;let s=RegExp(`${i}:(\\d+)`),c=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),l=[];for(let e=c.nextNode();e;e=c.nextNode())l.push(e);for(let e of l){let n=e;for(let e=s.exec(n.data);e;e=s.exec(n.data)){let i=t[Number(e[1])],a=n.splitText(e.index);a.data=a.data.slice(e[0].length),i?.kind===`mention`&&a.parentNode?.insertBefore(Oc(i.ref,{readonly:!0,render:r}),a),n=a}}},zg=(e,t,n)=>{if(e.length===0)return null;try{let r=J(`div`,`persona-flex persona-flex-col persona-gap-2`);r.setAttribute(`data-message-attachments`,`images`),t&&(r.style.marginBottom=`8px`);let i=0,a=!1,o=()=>{a||(a=!0,r.remove(),n?.())};return e.forEach((e,t)=>{let n=J(`img`);n.alt=e.alt?.trim()||`Attached image ${t+1}`,n.loading=`lazy`,n.decoding=`async`,n.referrerPolicy=`no-referrer`,n.style.display=`block`,n.style.width=`100%`,n.style.maxWidth=`320px`,n.style.maxHeight=`320px`,n.style.height=`auto`,n.style.objectFit=`contain`,n.style.borderRadius=`10px`,n.style.backgroundColor=`var(--persona-attachment-image-bg, var(--persona-container, #f3f4f6))`,n.style.border=`1px solid var(--persona-attachment-image-border, var(--persona-border, #e5e7eb))`;let a=!1;i+=1,n.addEventListener(`error`,()=>{a||(a=!0,i=Math.max(0,i-1),n.remove(),i===0&&o())}),n.addEventListener(`load`,()=>{a=!0}),Ag(e.image)?(n.src=e.image,r.appendChild(n)):(a=!0,i=Math.max(0,i-1),n.remove())}),i===0?(o(),null):r}catch{return n?.(),null}},Bg=e=>{if(e.length===0)return null;try{let t=J(`div`,`persona-flex persona-flex-col persona-gap-2`);t.setAttribute(`data-message-attachments`,`audio`);let n=0;return e.forEach(e=>{if(!jg(e.audio))return;let r=J(`audio`);r.controls=!0,r.preload=`metadata`,r.src=e.audio,r.style.display=`block`,r.style.width=`100%`,r.style.maxWidth=`320px`,t.appendChild(r),n+=1}),n===0?(t.remove(),null):t}catch{return null}},Vg=e=>{if(e.length===0)return null;try{let t=J(`div`,`persona-flex persona-flex-col persona-gap-2`);t.setAttribute(`data-message-attachments`,`video`);let n=0;return e.forEach(e=>{if(!jg(e.video))return;let r=J(`video`);r.controls=!0,r.preload=`metadata`,r.src=e.video,r.style.display=`block`,r.style.width=`100%`,r.style.maxWidth=`320px`,r.style.maxHeight=`320px`,r.style.borderRadius=`10px`,r.style.backgroundColor=`var(--persona-attachment-image-bg, var(--persona-container, #f3f4f6))`,t.appendChild(r),n+=1}),n===0?(t.remove(),null):t}catch{return null}},Hg=e=>{if(e.length===0)return null;try{let t=J(`div`,`persona-flex persona-flex-col persona-gap-2`);t.setAttribute(`data-message-attachments`,`files`);let n=0;return e.forEach(e=>{if(!jg(e.data))return;let r=J(`a`);r.href=e.data,r.download=e.filename,r.target=`_blank`,r.rel=`noopener noreferrer`,r.textContent=e.filename,r.className=`persona-message-file-attachment`,r.style.display=`inline-flex`,r.style.alignItems=`center`,r.style.gap=`6px`,r.style.padding=`6px 10px`,r.style.borderRadius=`8px`,r.style.fontSize=`0.875rem`,r.style.textDecoration=`underline`,r.style.backgroundColor=`var(--persona-attachment-file-bg, var(--persona-container, #f3f4f6))`,r.style.border=`1px solid var(--persona-attachment-file-border, var(--persona-border, #e5e7eb))`,r.style.color=`inherit`,t.appendChild(r),n+=1}),n===0?(t.remove(),null):t}catch{return null}},Ug=(e={})=>{let t=e.loadingIndicator,n=e.future?.v5Defaults;if((t?.variant??(n?`label`:`dots`))===`label`){let r=Y(`div`,{className:`persona-loading-label`,attrs:{role:`status`}});n&&t?.showBubble!==!0&&r.classList.add(`persona-activity-row`,`persona-activity-header`);let i=e.features?.toolCallDisplay,a=t?.iconVisibility??(i?.grouped!==!1&&(i?.groupedMode??`collapsible`)===`collapsible`?i?.groupIconVisibility:void 0)??i?.iconVisibility,o=t?.iconName??`loader-circle`;if(a!==`never`&&(n||t?.iconName||t?.iconVisibility)){let e=K(o,16);e&&(e.classList.add(`persona-activity-icon`),e.dataset.loadingIconAnimation=t?.iconAnimation??(o===`loader-circle`?`spin`:`none`),r.appendChild(e))}let s=Y(`span`,{text:t?.label??`Thinking…`});return r.appendChild(s),Rl()?.applyLoadingLabel(s,e,`waiting`),r}let r=J(`div`,`persona-flex persona-items-center persona-space-x-1 persona-h-5 persona-mt-2`);for(let e=0;e<3;e++){let t=J(`div`,`persona-animate-typing persona-rounded-full persona-h-1.5 persona-w-1.5`);t.style.backgroundColor=`currentColor`,t.style.opacity=`0.4`,t.style.animationDelay=`${e*250}ms`,r.appendChild(t)}let i=J(`span`,`persona-sr-only`);return i.textContent=`Loading`,r.appendChild(i),r},Wg=(e,t,n)=>t?.({config:n??{},streaming:!0,location:e,defaultRenderer:()=>Ug(n)})??Ug(n),Gg=(e,t)=>{let n=J(`div`,`persona-flex-shrink-0 persona-w-8 persona-h-8 persona-rounded-full persona-flex persona-items-center persona-justify-center persona-text-sm`),r=t===`operator`,i=t===`user`?e.userAvatar:r?e.operatorAvatar:e.assistantAvatar,a=()=>{n.classList.add(...r?[`persona-bg-persona-container`,`persona-text-persona-text`,`persona-border`]:[t===`user`?`persona-bg-persona-accent`:`persona-bg-persona-primary`,`persona-text-white`])};if(i){if(i.startsWith(`http`)||i.startsWith(`/`)||i.startsWith(`data:`)){let e=J(`img`);e.src=i,e.alt=t===`user`?`User`:r?`Operator`:`Assistant`,e.className=`persona-w-full persona-h-full persona-rounded-full persona-object-cover`,n.appendChild(e)}else n.textContent=i,a()}else n.textContent=t===`user`?`U`:r?`O`:`A`,a();return n},Kg=(e,t,n=`div`)=>{let r=J(n,`persona-text-xs persona-text-persona-muted`),i=new Date(e.createdAt);return r.textContent=t.format?t.format(i):i.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}),r},qg=/* @__PURE__ */ new Set([`persona-bg-persona-container`,`persona-text-persona-text`,`persona-border-persona-message-border`]),Jg=(e,t=`bubble`)=>{if(e===`operator`){let e=Jg(`assistant`,t).flatMap(e=>e===`persona-message-assistant-bubble`?[`persona-message-operator-bubble`]:qg.has(e)?[]:[e]);return t===`flat`?[...e,`persona-px-3`]:e}let n=[`persona-message-bubble`];switch(t){case`flat`:e===`user`?n.push(`persona-message-user-bubble`,`persona-ml-auto`,`persona-text-persona-primary`,`persona-py-2`):n.push(`persona-message-assistant-bubble`,`persona-text-persona-text`,`persona-py-2`);break;case`minimal`:n.push(`persona-text-sm`,`persona-leading-relaxed`),e===`user`?n.push(`persona-message-user-bubble`,`persona-ml-auto`,`persona-bg-persona-accent`,`persona-text-white`,`persona-px-3`,`persona-py-2`,`persona-rounded-lg`):n.push(`persona-message-assistant-bubble`,`persona-bg-persona-container`,`persona-text-persona-text`,`persona-px-3`,`persona-py-2`,`persona-rounded-lg`);break;default:n.push(`persona-rounded-2xl`,`persona-text-sm`,`persona-leading-relaxed`,`persona-shadow-sm`),e===`user`?n.push(`persona-message-user-bubble`,`persona-ml-auto`,`persona-bg-persona-accent`,`persona-text-white`,`persona-px-5`,`persona-py-3`):n.push(`persona-message-assistant-bubble`,`persona-bg-persona-container`,`persona-border`,`persona-border-persona-message-border`,`persona-text-persona-text`,`persona-px-5`,`persona-py-3`)}return n},Yg={bubble:{padding:`0.75rem 1.25rem`,fontSize:`0.875rem`,lineHeight:`1.75`},minimal:{padding:`0.5rem 0.75rem`,fontSize:`0.875rem`,lineHeight:`1.75`},flat:{padding:`0.5rem 0`,fontSize:`inherit`,lineHeight:`inherit`}},Xg=(e,t,n=`bubble`,r)=>{if(!r)return;let i=t===`user`||t===`operator`?t:`assistant`,a=Yg[n??`bubble`]??Yg.bubble;r.padding&&(e.style.padding=`var(--persona-message-${i}-padding, ${a.padding})`),r.fontSize&&(e.style.fontSize=`var(--persona-message-${i}-font-size, ${a.fontSize})`),r.lineHeight&&(e.style.lineHeight=`var(--persona-message-${i}-line-height, ${a.lineHeight})`),r.fontFamily&&(e.style.fontFamily=`var(--persona-message-${i}-font-family, inherit)`)},Zg=e=>`custom:${e}`,Qg=(e,t)=>t!==`user`&&t!==`assistant`&&t!==`operator`?[]:(e?.custom??[]).filter(e=>(e.roles??[`assistant`]).includes(t)),$g=(e,t,n,r,i=!1)=>{let a=t.showCopy??!0,o=t.showUpvote??!1,s=t.showDownvote??!1,c=t.showReadAloud??!1,l=(t.showRegenerate??!1)&&r?.canRegenerate===!0,u=(t.showEdit??!1)&&r?.canEdit===!0,d=(t.showQuote??!1)&&r?.canQuote!==!1,f=Qg(t,e.role);if(!a&&!o&&!s&&!c&&!l&&!u&&!d&&f.length===0){let t=J(`div`);return t.style.display=`none`,t.id=`actions-${e.id}`,t.setAttribute(`data-actions-for`,e.id),t}let p=t.visibility??(i&&r?.isLastAssistant?`always`:`hover`),m=t.align??`right`,h=t.layout??`pill-inside`,g={left:`persona-message-actions-left`,center:`persona-message-actions-center`,right:`persona-message-actions-right`}[m],_={"pill-inside":`persona-message-actions-pill`,"row-inside":`persona-message-actions-row`}[h],v=J(`div`,`persona-message-actions persona-flex persona-items-center persona-gap-1 persona-mt-2 ${g} ${_} ${p===`hover`?`persona-message-actions-hover`:``} ${i?`persona-message-actions-adaptive`:``}`);v.id=`actions-${e.id}`,v.setAttribute(`data-actions-for`,e.id);let y=(e,t,n)=>{let r=Kl({icon:e,label:t,size:14,className:`persona-message-action-btn`,chromeless:!0});return r.setAttribute(`data-action`,n),r};a&&v.appendChild(y(`copy`,`Copy message`,`copy`)),c&&v.appendChild(y(`volume-2`,`Read aloud`,`read-aloud`)),o&&v.appendChild(y(`thumbs-up`,`Upvote`,`upvote`)),s&&v.appendChild(y(`thumbs-down`,`Downvote`,`downvote`)),l&&v.appendChild(y(`refresh-cw`,`Regenerate response`,`regenerate`)),u&&v.appendChild(y(`pencil`,`Edit message`,`edit`)),d&&v.appendChild(y(`quote`,`Quote message`,`quote`));for(let e of f)v.appendChild(y(e.iconName??`ellipsis`,e.label,Zg(e.id)));return v},e_=(e,t,n,r,i,a)=>{let o=n??{},s=o.layout??`bubble`,c=o.avatar,l=o.timestamp,u=c?.show??!1,d=l?.show??!1,f=c?.position??`left`,p=l?.position??`below`,m=Jg(e.role,s),h=J(`div`,m.join(` `));h.id=`bubble-${e.id}`,h.setAttribute(`data-message-id`,e.id);let g=e.role===`operator`;g&&a?.widgetConfig?.future?.v5Defaults===!0&&h.classList.add(`persona-border`),h.setAttribute(`data-persona-theme-zone`,e.role===`user`?`user-message`:g?`operator-message`:`assistant-message`);let _=Yp(a?.widgetConfig?.future).components.message,v=a?.widgetConfig?.theme?.components?.message,y=a?.widgetConfig?.darkTheme?.components?.message;if(Xg(h,e.role,s,e.role===`user`?{..._.user,...v?.user,...y?.user}:g?{..._.operator,...v?.operator,...y?.operator}:{..._.assistant,...v?.assistant,...y?.assistant}),s===`flat`&&!g?(h.style.backgroundColor=`transparent`,h.style.color=e.role===`user`?`var(--persona-primary, var(--persona-text))`:`var(--persona-message-assistant-text, var(--persona-text))`):e.role===`user`?(h.style.backgroundColor=`var(--persona-message-user-bg, var(--persona-accent))`,h.style.color=`var(--persona-message-user-text, white)`):e.role===`assistant`?(h.style.backgroundColor=`var(--persona-message-assistant-bg, var(--persona-container))`,h.style.color=`var(--persona-message-assistant-text, var(--persona-text))`):g&&(h.style.backgroundColor=`var(--persona-components-message-operator-background, var(--persona-container))`,h.style.color=`var(--persona-components-message-operator-text, var(--persona-text))`),g){let t=J(`div`,`persona-message-author persona-text-xs persona-font-medium persona-mb-1`),n=a?.widgetConfig?.copy?.operatorLabel,r=typeof n==`string`&&n.trim()?n.trim():`Human operator`,i=typeof e.author?.displayName==`string`?e.author.displayName.trim():``;t.textContent=i?`${i} · ${r}`:r,h.setAttribute(`role`,`group`),h.setAttribute(`aria-label`,t.textContent),h.appendChild(t)}let b=Mg(e),x=e.content?.trim()??``,S=b.length>0&&x===`[Image]`,C=oh(a?.widgetConfig?.features?.streamAnimation),ee=a?.widgetConfig?.features?.streamAnimation?.plugins,w=e.role===`assistant`&&C.type!==`none`?ph(C.type,ee):null,te=e.role===`assistant`&&w?.isAnimating?.(e)===!0,T=e.role===`assistant`&&w!==null&&(!!e.streaming||te);T&&w?.bubbleClass&&h.classList.add(w.bubbleClass);let E=document.createElement(`div`);E.classList.add(`persona-message-content`),e.streaming&&E.classList.add(`persona-content-streaming`),T&&w&&(w.containerClass&&E.classList.add(w.containerClass),E.style.setProperty(`--persona-stream-step`,`${C.speed}ms`),E.style.setProperty(`--persona-stream-duration`,`${C.duration}ms`));let ne=T?mh(e.content??``,C.buffer,w,e,!!e.streaming):e.content??``,re=()=>{let n=t({text:ne,message:e,streaming:!!e.streaming,raw:e.rawContent});return T&&w?.wrap===`char`?xh(n,`char`,e.id,{skipTags:w.skipTags}):T&&w?.wrap===`word`?xh(n,`word`,e.id,{skipTags:w.skipTags}):n},D=null;if(S?(D=document.createElement(`div`),D.innerHTML=re(),D.style.display=`none`,E.appendChild(D)):e.contentSegments?.length?Rg(E,e.contentSegments,n=>t({text:n,message:e,streaming:!!e.streaming,raw:e.rawContent}),a?.widgetConfig?.contextMentions?.renderMentionToken):E.innerHTML=re(),T&&w?.useCaret&&!S&&x){let e=Sh(),t=E.querySelectorAll(`.persona-stream-char, .persona-stream-word`),n=t[t.length-1];if(n?.parentNode)n.parentNode.insertBefore(e,n.nextSibling);else{let t=E.lastElementChild;t?t.appendChild(e):E.appendChild(e)}}if(d&&p===`inline`&&e.createdAt){let t=Kg(e,l,`span`);t.classList.add(`persona-timestamp-inline`);let n=E.lastElementChild;n?n.appendChild(t):E.appendChild(t)}let ie=e.role===`user`?a?.userCollapse:void 0,ae=ie?Tg(e.id,ie.maxHeight):null,oe=ae??h;if(b.length>0){let e=zg(b,!S&&!!x,()=>{S&&D&&(D.style.display=``)});e?oe.appendChild(e):S&&D&&(D.style.display=``)}let se=Ng(e);if(se.length>0){let e=Bg(se);e&&oe.appendChild(e)}let ce=Pg(e);if(ce.length>0){let e=Vg(ce);e&&oe.appendChild(e)}let le=Fg(e);if(le.length>0){let e=Hg(le);e&&oe.appendChild(e)}let ue=e.contentSegments?.length?null:Ig(e.contextMentions);if(ue&&oe.appendChild(ue),oe.appendChild(E),ae&&ie&&(h.appendChild(ae),Eg(h,ae,e.id,ie)),d&&p===`below`&&e.createdAt){let t=Kg(e,l);t.classList.add(`persona-mt-1`),h.appendChild(t)}let O=e.role===`assistant`?Og(e.stopReason,a?.widgetConfig?.copy?.stopReasonNotice):null;if(e.streaming&&e.role===`assistant`){let e=!!(ne&&ne.trim()),t=C.placeholder===`skeleton`,n=t&&C.buffer===`line`&&e;if(e)n&&h.appendChild(Ch());else if(t)h.appendChild(Ch());else{let e=Wg(`inline`,a?.loadingIndicatorRenderer,a?.widgetConfig);e&&h.appendChild(e)}}O&&e.stopReason&&!e.streaming&&(x||(E.style.display=`none`),h.appendChild(kg(e.stopReason,O)));let k=(e.role===`assistant`||g)&&!e.streaming&&!e.voiceCaption&&(x.length>0||g&&Qg(r,`operator`).length>0)&&r?.enabled!==!1,de=a?.actionEligibility,fe=e.role===`user`&&!e.streaming&&r?.enabled!==!1&&(r?.showEdit===!0&&de?.canEdit===!0||r?.showQuote===!0&&de?.canQuote===!0||Qg(r,`user`).length>0);if((k||fe)&&r){let t=$g(e,fe?{...r,showCopy:!1,showUpvote:!1,showDownvote:!1,showReadAloud:!1}:g?{...r,showCopy:x.length>0&&r.showCopy!==!1,showUpvote:!1,showDownvote:!1,showReadAloud:!1,showRegenerate:!1,showEdit:!1,showQuote:!1}:r,i,de,a?.widgetConfig?.future?.v5Defaults===!0&&r.visibility===void 0);h.appendChild(t)}if(!u||e.role===`system`)return h;let pe=J(`div`,`persona-message-with-avatar persona-flex persona-gap-2 ${e.role===`user`?`persona-flex-row-reverse`:``}`),me=Gg(c,e.role);return f===`right`||f===`left`&&e.role===`user`?pe.append(h,me):pe.append(me,h),pe},t_=(e,t,n,r,i,a)=>{let o=n??{};return e.role===`user`&&o.renderUserMessage?o.renderUserMessage({message:e,config:{},streaming:!!e.streaming}):e.role===`assistant`&&o.renderAssistantMessage?o.renderAssistantMessage({message:e,config:{},streaming:!!e.streaming}):e_(e,t,n,r,i,a)};Gr(),Nn();const n_=(e,t)=>{if(e.replaceChildren(),!t)e.hidden=!0;else if(typeof t==`function`){let n=null;try{n=t()}catch(e){console.warn(`[persona] welcome.icon renderer threw`,e)}if(!n){e.hidden=!0;return}e.appendChild(n),e.hidden=!1}else{if(t.type===`lucide`){let n=K(t.name,40);if(!n){e.hidden=!0;return}e.appendChild(n)}else t.type===`image`?e.appendChild(Y(`img`,{className:`persona-welcome-icon-image`,attrs:{src:t.url,alt:t.alt}})):e.appendChild(Y(`span`,{className:`persona-welcome-icon-text`,text:t.text}));e.hidden=!1}},r_=(e,t,n={})=>{let r=Y(`div`,{className:`persona-welcome-icon`,attrs:{"data-persona-welcome-icon":``}});r.hidden=!0;let i=J(`p`,`persona-welcome-kicker`);i.hidden=!0;let a=J(`h2`,`persona-welcome-title`),o=J(`p`,`persona-welcome-subtitle`),s=Y(`div`,{className:`persona-welcome-head-text`},i,a),c=Y(`div`,{className:`persona-welcome-title-row`},r,s);return{host:Y(`div`,{className:`persona-welcome persona-rounded-2xl`,attrs:{"data-persona-welcome":``,"data-persona-intro-card":``,"data-persona-welcome-variant":`card`},style:{background:`var(--persona-intro-card-bg, transparent)`,boxShadow:n.flatShadow?`none`:`var(--persona-intro-card-shadow, none)`,border:`var(--persona-intro-card-border, none)`}},c,o,t),iconHolder:r,kicker:i,title:a,subtitle:o,starterSuggestions:t}},i_=(e,t,n)=>{t.hidden=!n,t.style.display=n?``:`none`,e.classList.toggle(`persona-gap-6`,n),e.classList.toggle(`persona-gap-3`,!n)},a_=(e,t)=>{e.title.textContent=t.title,e.kicker.textContent=t.kicker??``,e.kicker.hidden=!t.kicker,e.subtitle.textContent=t.subtitle,e.subtitle.hidden=t.subtitle===``,n_(e.iconHolder,t.icon),e.host.setAttribute(`data-persona-welcome-variant`,t.variant),e.host.setAttribute(`data-persona-welcome-dismiss`,t.dismiss),e.host.setAttribute(`data-persona-welcome-layout`,t.layout??`top`),e.host.setAttribute(`data-persona-welcome-anchor`,t.anchor??`bottom`),t.iconPlacement===`inline`?e.host.setAttribute(`data-persona-welcome-icon-placement`,`inline`):e.host.removeAttribute(`data-persona-welcome-icon-placement`),t.align?e.host.setAttribute(`data-persona-welcome-align`,t.align):e.host.removeAttribute(`data-persona-welcome-align`)},o_=`data-persona-welcome-overlay`,s_=`persona-welcome-overlay-active`,c_=/* @__PURE__ */ new WeakMap,l_=(e,t,n)=>{n.setAttribute(`data-persona-welcome-plugin`,``),t.appendChild(n),t.setAttribute(`data-persona-welcome-content`,`plugin`),t.setAttribute(o_,``),e.classList.contains(s_)||(c_.set(e,e.scrollTop),e.classList.add(s_),e.scrollTop=0)},u_=(e,t,n)=>{n&&n!==t&&n.remove(),t.removeAttribute(`data-persona-welcome-content`),t.removeAttribute(o_),e.classList.contains(s_)&&(e.classList.remove(s_),e.scrollTop=c_.get(e)??e.scrollTop,c_.delete(e))},d_=()=>{let e=Y(`div`,{className:`persona-welcome-greeting persona-flex persona-flex-col`,attrs:{"data-persona-welcome-greeting":``}});return e.hidden=!0,e},f_=(e,t,n)=>{if(e.replaceChildren(),!t){e.hidden=!0;return}let r=n?.layout?.messages?.layout??`bubble`,i=Y(`div`,{className:Jg(`assistant`,r).join(` `),attrs:{"data-persona-theme-zone":`assistant-message`},text:t,style:r===`flat`?{backgroundColor:`transparent`,color:`var(--persona-message-assistant-text, var(--persona-text))`}:{backgroundColor:`var(--persona-message-assistant-bg, var(--persona-container))`,color:`var(--persona-message-assistant-text, var(--persona-text))`}});e.appendChild(Y(`div`,{className:`persona-flex`},i)),e.hidden=!1},p_=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,m_=(e,t)=>{if(p_()||typeof e.animate!=`function`||!e.isConnected)return t(null),null;let n=e.getBoundingClientRect(),r=e.parentElement,i=0,a=0,o=0;if(r){let t=getComputedStyle(r);i=parseFloat(t.rowGap)||0;let s=e.previousElementSibling,c=e.nextElementSibling,l=r.getBoundingClientRect().top+(parseFloat(t.borderTopWidth)||0)+(parseFloat(t.paddingTop)||0)-r.scrollTop;a=Math.max(0,s?n.top-s.getBoundingClientRect().bottom-i:n.top-l),o=Math.max(0,c?c.getBoundingClientRect().top-n.bottom-i:0)}let s=e.style.overflow;e.style.overflow=`hidden`;let c=getComputedStyle(e),l=parseFloat(c.paddingTop)||0,u=parseFloat(c.paddingBottom)||0,d=e.animate([{opacity:`1`,transform:`none`,height:`${n.height}px`,minHeight:`0px`,paddingTop:`${l}px`,paddingBottom:`${u}px`,marginTop:`${a}px`,marginBottom:`${o}px`},{opacity:`0`,transform:`translateY(-4px)`,height:`0px`,minHeight:`0px`,paddingTop:`0px`,paddingBottom:`0px`,marginTop:`0px`,marginBottom:`${-i}px`}],{duration:180,easing:`ease-out`,fill:`forwards`}),f=!1,p=()=>{f||(f=!0,e.style.overflow=s,t(d))};return d.finished.then(p).catch(p),d},h_=(e,t,n,r=260)=>{if(t<=1||p_()||typeof e.animate!=`function`||!e.isConnected)return null;let i=n===`drop`?-t:t;return e.animate([{transform:`translateY(${i}px)`},{transform:`none`}],{duration:r,easing:`cubic-bezier(0.2, 0, 0, 1)`,fill:`none`})},g_=/* @__PURE__ */ new WeakSet,__=(e,t)=>!!e&&e[t]!==void 0,v_=(e,t)=>{e&&e.debug===!0&&t.length&&!g_.has(e)&&(g_.add(e),t.forEach(e=>console.warn(`[persona] ${e}`)))},y_=(e,t=e?.launcher?.fullHeight===!0&&!e.launcher.sidebarMode&&e.launcher.mountMode!==`docked`)=>{let n=e?.welcome,r=e?.copy,i=e?.future?.v5Defaults===!0,a=n?.layout??(i?`centered`:`top`),o=__(n,`variant`)?n.variant:r?.showWelcomeCard===!1?`none`:`card`,s=o===`hero`&&!i&&n?.layout===void 0?`on-first-message`:__(n,`dismiss`)?n.dismiss:i||o===`hero`?`on-first-message`:`never`,c=[];for(let[e,t]of[[`title`,`welcomeTitle`],[`subtitle`,`welcomeSubtitle`],[`variant`,`showWelcomeCard`]])__(n,e)&&__(r,t)&&c.push(`welcome.${e} and copy.${t} are both set; welcome.${e} wins. copy.${t} is deprecated.`);o===`hero`&&__(n,`message`)&&c.push(`welcome.message is ignored when welcome.variant is "hero": the hero is the greeting.`),!i&&n?.layout===void 0&&o===`hero`&&__(n,`dismiss`)&&n.dismiss!==`on-first-message`&&c.push(`welcome.dismiss is pinned to "on-first-message" when welcome.variant is "hero".`);let l=n?.anchor??(o!==`none`&&a===`centered`&&t?`center`:`bottom`),u=Fm(n?.anchorComposerTop)!==null;return __(n,`anchorComposerTop`)&&!u&&c.push(`welcome.anchorComposerTop must be a percentage between 0% and 100%; falling back to "44%".`),l!==`center`&&(__(n,`anchorComposerTop`)||__(n,`composerGap`))&&c.push(`welcome.anchorComposerTop is ignored unless welcome.anchor is "center".`),v_(e,c),{title:__(n,`title`)?n.title:r?.welcomeTitle??(i?`What can I help with?`:`Hello 👋`),kicker:n?.kicker??``,subtitle:__(n,`subtitle`)?n.subtitle:r?.welcomeSubtitle??(i?``:`I can answer questions and help you get things done here.`),icon:n?.icon,align:n?.align===`start`||n?.align===`center`?n.align:a===`centered`?`center`:void 0,iconPlacement:n?.icon&&typeof n.icon!=`function`&&n.icon.placement===`inline`?`inline`:`above`,variant:o,dismiss:s,message:o===`hero`?void 0:n?.message,layout:a,anchor:l,anchorComposerTop:u?n.anchorComposerTop:`44%`,composerGap:n?.composerGap?.trim()||`24px`}},b_=e=>!!(e.content.trim()||e.contentParts?.some(e=>e.type!==`text`||e.text.trim())),x_=(e=[])=>e.some(e=>e.role===`user`||e.role===`operator`&&b_(e)||e.role===`assistant`&&(b_(e)||e.toolCall||e.tools?.length||e.reasoning||e.approval)),S_=e=>x_(e)?`active`:`empty`,C_=(e,t)=>e.variant!==`none`&&(e.dismiss===`never`||!x_(t));Gr(),da(),ds();const w_=`var(--persona-components-panel-height)`,T_=e=>{let t=as(e),n=t.launcherWidth?e?.launcher?.width:t.legacyLauncherWidth?e?.launcherWidth:void 0,r=e?.launcher?.heightOffset??0,i=r===0?`max(200px, ${w_})`:`max(200px, calc(${w_} - ${r}px))`;return{width:n??`var(--persona-components-panel-width)`,maxWidth:n??`var(--persona-components-panel-maxWidth)`,height:i,maxHeight:`var(--persona-components-panel-maxHeight)`}},E_=e=>{let t=as(e);return t.launcherWidth||t.legacyLauncherWidth||e?.theme?.components?.panel?.width!==void 0?T_(e).width:`100%`},D_=`16px`,O_=`10px`,k_=`14px`,A_=e=>{let t=e?.launcher?.enabled??!0,n=Rh(e);if(zh(e)){let t=e?.launcher?.composerBar??{},n=J(`div`,`persona-widget-wrapper persona-fixed persona-transition`);n.setAttribute(`data-persona-composer-bar`,``),n.dataset.state=`collapsed`,n.dataset.expandedSize=t.expandedSize??`anchored`,n.style.zIndex=String(e?.launcher?.zIndex??1e5);let r=J(`div`,`persona-widget-panel persona-relative persona-flex persona-flex-1 persona-min-h-0 persona-flex-col`);r.style.width=`100%`,n.appendChild(r);let i=J(`div`,`persona-widget-pill-root`);return i.setAttribute(`data-persona-composer-bar`,``),i.dataset.state=`collapsed`,i.dataset.expandedSize=t.expandedSize??`anchored`,i.style.zIndex=String(e?.launcher?.zIndex??1e5),{wrapper:n,panel:r,pillRoot:i}}if(n){let e=J(`div`,`persona-relative persona-h-full persona-w-full persona-flex persona-flex-1 persona-min-h-0 persona-flex-col`),t=J(`div`,`persona-relative persona-h-full persona-w-full persona-flex persona-flex-1 persona-min-h-0 persona-flex-col`);return e.appendChild(t),{wrapper:e,panel:t}}if(!t){let t=J(`div`,`persona-relative persona-h-full persona-flex persona-flex-col persona-flex-1 persona-min-h-0`),n=J(`div`,`persona-relative persona-flex-1 persona-flex persona-flex-col persona-min-h-0`);return t.style.width=E_(e),n.style.width=`100%`,t.appendChild(n),{wrapper:t,panel:n}}let r=e?.launcher??{},i=r.position&&Yh[r.position]?Yh[r.position]:Yh[`bottom-right`],a=J(`div`,`persona-widget-wrapper persona-fixed ${i} persona-transition`);a.style.zIndex=String(e?.launcher?.zIndex??1e5);let o=J(`div`,`persona-widget-panel persona-relative persona-min-h-[320px]`),s=T_(e);return o.style.width=s.width,o.style.maxWidth=s.maxWidth,a.appendChild(o),{wrapper:a,panel:o}},j_=e=>{let t=Y(`div`,{className:`persona-suggestions`,attrs:{"data-persona-suggestions":Hh(e)}});return t.hidden=!0,t},M_=(e,t)=>{let n=j_(`starter`),r=r_(e,n,{flatShadow:Rh(e)}),i=y_(e);a_(r,i),i_(t,r.host,C_(i,e?.initialMessages));let a=d_();return f_(a,i.message,e),{welcome:r,greetingHost:a}},N_=(e,t)=>{let n=J(`div`,`persona-widget-container persona-relative persona-flex persona-flex-1 persona-min-h-0 persona-flex-col persona-text-persona-primary`);n.setAttribute(`data-persona-theme-zone`,`container`);let{button:r,wrapper:i}=tg(e,{showClose:t,wrapperClassName:`persona-composer-bar-close`,buttonSize:D_,iconSize:O_});i.style.position=`absolute`,i.style.top=`8px`,i.style.right=`8px`,i.style.zIndex=`10`;let a=e?.launcher?.clearChat?.enabled??!0,o=null,s=null;if(a){let t=ng(e,{wrapperClassName:`persona-composer-bar-clear-chat`,buttonSize:D_,iconSize:k_});o=t.button,s=t.wrapper,s.style.position=`absolute`,s.style.top=`8px`,s.style.right=`32px`,s.style.zIndex=`10`}let c=Y(`span`,{className:`persona-widget-header`,attrs:{"data-persona-theme-zone":`header`},style:{display:`none`}}),l=Y(`div`,{className:`persona-widget-body persona-flex persona-flex-1 persona-min-h-0 persona-flex-col persona-gap-6 persona-overflow-y-auto persona-bg-persona-container persona-px-6 persona-py-6`,attrs:{id:`persona-scroll-container`,"data-persona-theme-zone":`messages`},style:{paddingTop:`48px`}});l.style.setProperty(`scrollbar-gutter`,`stable`);let{welcome:u,greetingHost:d}=M_(e,l),{host:f,title:p,subtitle:m}=u,h=u.starterSuggestions,g=J(`div`,`persona-widget-messages persona-flex persona-flex-col`);g.style.gap=`var(--persona-components-message-gap, 12px)`;let _=j_(`followUp`),v=Nm(e,!0);v&&(g.style.maxWidth=v,g.style.marginLeft=`auto`,g.style.marginRight=`auto`,g.style.width=`100%`),l.append(f,d,g,_);let y=Y(`div`,{className:`persona-composer-overlay persona-pointer-events-none`,attrs:{"data-persona-composer-overlay":``},style:{position:`absolute`,left:`0`,right:`0`,bottom:`calc(var(--persona-composer-overlay-height, 0px) + var(--persona-composer-lift, 0px))`,zIndex:`20`}}),b=_g({config:e}),{root:x,textNode:S}=gg();return n.append(c,i,l,y),s&&n.appendChild(s),{container:n,body:l,messagesWrapper:g,starterSuggestions:h,transcriptSuggestions:_,composerOverlay:y,suggestions:b.suggestions,textarea:b.textarea,sendButton:b.sendButton,sendButtonWrapper:b.sendButtonWrapper,micButton:b.micButton,micButtonWrapper:b.micButtonWrapper,composerForm:b.composerForm,statusText:b.statusText,welcomeHost:f,welcomeIconHolder:u.iconHolder,greetingHost:d,introKicker:u.kicker,introTitle:p,introSubtitle:m,closeButton:r,closeButtonWrapper:i,clearChatButton:o,clearChatButtonWrapper:s,iconHolder:J(`span`),headerTitle:J(`span`),headerSubtitle:J(`span`),header:c,footer:b.footer,attachmentButton:b.attachmentButton,attachmentButtonWrapper:b.attachmentButtonWrapper,attachmentInput:b.attachmentInput,attachmentPreviewsContainer:b.attachmentPreviewsContainer,actionsRow:b.actionsRow,leftActions:b.leftActions,rightActions:b.rightActions,setSendButtonMode:b.setSendButtonMode,peekBanner:x,peekTextNode:S}},P_=(e,t=!0)=>{if(zh(e))return N_(e,t);let n=Y(`div`,{className:`persona-widget-container persona-flex persona-h-full persona-w-full persona-flex-1 persona-min-h-0 persona-flex-col persona-text-persona-primary persona-bg-persona-surface persona-rounded-2xl persona-overflow-hidden persona-border persona-border-persona-border`,attrs:{"data-persona-theme-zone":`container`}}),r=e?.layout?.header,i=us(e),a=r?pg(e,r,{showClose:t}):og({config:e,showClose:t}),o=Y(`div`,{className:`persona-widget-body persona-flex persona-flex-1 persona-min-h-0 persona-flex-col persona-gap-6 persona-overflow-y-auto persona-bg-persona-container persona-px-6 persona-py-6`,attrs:{id:`persona-scroll-container`,"data-persona-theme-zone":`messages`}});o.style.setProperty(`scrollbar-gutter`,`stable`);let{welcome:s,greetingHost:c}=M_(e,o),{host:l,title:u,subtitle:d}=s,f=s.starterSuggestions,p=J(`div`,`persona-widget-messages persona-flex persona-flex-col`);p.style.gap=`var(--persona-components-message-gap, 12px)`;let m=j_(`followUp`),h=Nm(e,!1);h&&(p.style.maxWidth=h,p.style.marginLeft=`auto`,p.style.marginRight=`auto`,p.style.width=`100%`),o.append(l,c,p,m);let g=hg({config:e}),_=e?.layout?.showFooter!==!1;i||(a.header.style.display=`none`),sg(n,a,e),n.append(o);let v=Y(`div`,{className:`persona-composer-overlay persona-pointer-events-none`,attrs:{"data-persona-composer-overlay":``},style:{position:`absolute`,left:`0`,right:`0`,bottom:`calc(var(--persona-composer-overlay-height, 0px) + var(--persona-composer-lift, 0px))`,zIndex:`20`}});return _||(g.footer.style.display=`none`),n.append(g.footer),n.append(v),{container:n,body:o,messagesWrapper:p,starterSuggestions:f,transcriptSuggestions:m,composerOverlay:v,suggestions:g.suggestions,textarea:g.textarea,sendButton:g.sendButton,sendButtonWrapper:g.sendButtonWrapper,micButton:g.micButton,micButtonWrapper:g.micButtonWrapper,composerForm:g.composerForm,statusText:g.statusText,welcomeHost:l,welcomeIconHolder:s.iconHolder,greetingHost:c,introKicker:s.kicker,introTitle:u,introSubtitle:d,closeButton:a.closeButton,closeButtonWrapper:a.closeButtonWrapper,clearChatButton:a.clearChatButton,clearChatButtonWrapper:a.clearChatButtonWrapper,iconHolder:a.iconHolder,headerTitle:a.headerTitle,headerSubtitle:a.headerSubtitle,header:a.header,footer:g.footer,attachmentButton:g.attachmentButton,attachmentButtonWrapper:g.attachmentButtonWrapper,attachmentInput:g.attachmentInput,attachmentPreviewsContainer:g.attachmentPreviewsContainer,actionsRow:g.actionsRow,leftActions:g.leftActions,rightActions:g.rightActions,setSendButtonMode:g.setSendButtonMode}};Gr(),Nn(),da();const F_=(e,t)=>{let n=J(`button`);n.type=`button`,n.innerHTML=`
21
+ `),o=Array.isArray(e.contentParts)&&e.contentParts.length>0,s=r.contentParts.length>0;if(o){let t=[];i&&t.push(Ms(i)),t.push(...r.contentParts),t.push(...e.contentParts),e.contentParts=t}else if(s){let t=[];a&&t.push(Ms(a)),t.push(...r.contentParts),e.contentParts=t}else i&&(e.llmContent=a);Object.keys(r.context).length>0&&(e.mentionContext=r.context)}async sendMessage(e,t){let n=e.trim(),r=!!t?.replayFields&&(t.replayFields.llmContent!==void 0||t.replayFields.rawContent!==void 0||(t.replayFields.contextMentions?.length??0)>0);if(!n&&(!t?.contentParts||t.contentParts.length===0)&&(!t?.mentions||t.mentions.refs.length===0)&&!r)return;this.#re&&!t?.voiceTurn&&(this.#re.failed=!0,this.#re=null),(this.#z||this.#V||this.#R||this.#J)&&await this.#Ue(),this.stopSpeaking(),this.client.cancelStreams(),this.abortController?.abort(),this.#i(),this.#rt(),this.#Qe++,this.#Tt();let i=t?.voiceTurn?.userMessageId,a=i?this.messages.find(e=>e.id===i&&e.role===`user`):void 0,o=a?.id??Wc(),s=Gc();this.#d=null;let c=t?.contentParts&&As(t.contentParts)?Hs:``,l={id:o,role:`user`,content:n||c,createdAt:(/* @__PURE__ */ new Date()).toISOString(),sequence:this.#It(),viaVoice:t?.viaVoice||!1,...t?.contentParts&&t.contentParts.length>0&&{contentParts:t.contentParts},...t?.mentions&&t.mentions.refs.length>0&&{contextMentions:t.mentions.refs},...t?.contentSegments&&t.contentSegments.length>0&&{contentSegments:t.contentSegments},...t?.composerOptions&&{composerOptions:t.composerOptions},...t?.replayFields??{}};a?(a.viaVoice=!0,delete a.voiceCaption,a.content.trim()!==n&&(a.llmContent=n),this.callbacks.onMessagesChanged([...this.messages])):this.#Pt(l),this.#kt(!0);let u=new AbortController;this.abortController=u;let d=this.#e;if(t?.mentions){let e=this.messages.find(e=>e.id===o)??l;if(await this.#Je(e,n,t.mentions.finalize),u.signal.aborted||this.abortController!==u)return;this.callbacks.onMessagesChanged([...this.messages])}if(t?.quote&&!t.replayFields){let e=this.messages.find(e=>e.id===o)??l,n=Qd({quote:t.quote,text:e.llmContent??e.content,contentParts:e.contentParts});n.contentParts&&(e.contentParts=n.contentParts),n.llmContent!==void 0&&(e.llmContent=n.llmContent),(n.contentParts||n.llmContent!==void 0)&&(e.quote={...t.quote},this.callbacks.onMessagesChanged([...this.messages]))}let f=(/* @__PURE__ */ new Date()).toISOString(),p=a?[...this.messages.filter(e=>e!==a),{...a,createdAt:f}]:[...this.messages],m=(a??this.messages.find(e=>e.id===o))?.createdAt??f,h=qd(t?.voiceTurn?.priorToolResults,m);for(let e of h)this.messages.some(t=>t.id===e.id)||(this.#Pt(e),p.push({...e,createdAt:f}));let g=h.map(({agentMetadata:e})=>{let{toolCallId:t,toolName:n,args:r,result:i}=e.clientToolAnswer;return{toolCallId:t,name:n,arguments:r,result:i}});try{await this.#Ge(p,u,s,o,{composerOptions:t?.composerOptions,interrupt:t?.interrupt,voiceSpoken:!!t?.voiceTurn,...g.length>0&&{voicePriorToolResults:g}})}catch(e){if(this.#e!==d||this.status===`resuming`||this.#f)return;this.#re&&(this.#re.failed=!0);let t=e instanceof Error&&(e.name===`AbortError`||e.message.includes(`aborted`)||e.message.includes(`abort`));t||this.#At(e),this.#Ot(`idle`),this.#kt(!1),this.abortController=null,this.#a(t?`cancel`:`error`,d),t||(e instanceof Error?this.callbacks.onError?.(e):this.callbacks.onError?.(Error(String(e))))}}resubmitFrom(e,t){let n=ef(this.messages,e);if(!n||!tf(this.messages,e))return!1;let r=this.messages[n.start],i=t.replacement,a=i?i.text:r.content,o=i?i.contentParts:r.contentParts;if(!(a?.trim()||(o?.length??0)>0||!i&&(r.llmContent?.trim()?.length??0)>0))return!1;let s=i?void 0:{...r.llmContent!==void 0&&{llmContent:r.llmContent},...r.rawContent!==void 0&&{rawContent:r.rawContent},...r.mentionContext&&{mentionContext:r.mentionContext},...r.contextMentions&&{contextMentions:r.contextMentions},...r.quote&&{quote:r.quote}},c=i?this.#Ye(i.options):r.composerOptions,l=i?i.contentSegments:r.contentSegments,u=i?i.options?.quote:void 0,d=i?i.viaVoice:r.viaVoice;return this.cancel(),this.messages=this.messages.slice(0,n.start),this.sendMessage(a??``,{...o?.length?{contentParts:[...o]}:{},...l?.length?{contentSegments:[...l]}:{},...c?{composerOptions:c}:{},...u?{quote:u}:{},...s&&Object.keys(s).length>0?{replayFields:s}:{},viaVoice:d===!0}),!0}#Ye(e){if(!e)return;let t={};return e.selectedModelId&&(t.selectedModelId=e.selectedModelId),e.activeModeIds?.length&&(t.activeModeIds=[...e.activeModeIds]),Object.keys(t).length>0?t:void 0}async continueConversation(){if(this.streaming)return;(this.#z||this.#V||this.#R||this.#J)&&await this.#Ue(),this.abortController?.abort(),this.#Tt(),this.#i();let e=Gc();this.#d=null,this.#kt(!0);let t=new AbortController;this.abortController=t;let n=this.#e,r=[...this.messages];try{await this.client.dispatch({messages:r,signal:t.signal,assistantMessageId:e},e=>{this.#e===n&&this.handleEvent(e)})}catch(e){if(this.#e!==n||this.status===`resuming`||this.#f)return;let t=e instanceof Error&&(e.name===`AbortError`||e.message.includes(`aborted`)||e.message.includes(`abort`));t||this.#At(e),this.#a(t?`cancel`:`error`,n),this.#Ot(`idle`),this.#kt(!1),this.abortController=null,t||(e instanceof Error?this.callbacks.onError?.(e):this.callbacks.onError?.(Error(String(e))))}}async connectStream(e,t){if(this.streaming&&!t?.allowReentry)return;this.#e||this.#i(),t?.allowReentry||this.abortController?.abort(),t?.preserveAssistantId&&t.assistantMessageId&&(this.#d=t.assistantMessageId);let n=t?.preserveAssistantId?t.assistantMessageId:void 0,r=!1;for(let e of this.messages)e.streaming&&e.id!==n&&(e.streaming=!1,r=!0);r&&this.callbacks.onMessagesChanged([...this.messages]),this.#kt(!0);let i=this.#e,a={};try{await this.client.processStream(e,e=>{if(this.#e!==i)return;let n=this.#c;this.#c=a;try{this.handleEvent(e,t?.readOnlyReplay)}finally{this.#c=n}},t?.assistantMessageId,t?.seedContent,this.abortController?.signal,t?.readOnlyReplay?this.messages:void 0,t?.readOnlyReplay?this.#p:void 0),this.#jt(a)}catch(e){if(this.#e!==i)return;if(this.status===`resuming`||this.#f){this.#Mt(a);return}this.#jt(a),this.#Ot(`error`),this.webMcpResolveControllers.size===0&&(this.#kt(!1),this.abortController=null),this.callbacks.onError?.(e instanceof Error?e:Error(String(e)))}}#Xe(){let e=this.config.webmcp;e?.enabled===!0&&!e.onConfirm&&this.client.setWebMcpConfirmHandler(e=>this.requestWebMcpApproval(e))}requestWebMcpApproval(e){try{if(e.confirmRequired!==!0&&this.config.webmcp?.autoApprove?.(e)===!0)return Promise.resolve(!0)}catch{}if(e.signal?.aborted)return Promise.resolve(!1);let t;do t=`webmcp-${++this.#S}`;while(this.messages.some(e=>e.id===`approval-${t}`||e.approval?.id===t));let n={id:t,status:`pending`,agentId:``,executionId:``,toolName:e.toolName,...e.toolCallId?{toolCallId:e.toolCallId}:{},toolType:`webmcp`,description:e.description??`Allow the assistant to run ${e.toolName}?`,parameters:e.args},r=`approval-${n.id}`;return this.upsertMessage({id:r,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!1,variant:`approval`,approval:n}),new Promise(t=>{this.webMcpApprovalResolvers.set(r,t),e.signal?.addEventListener(`abort`,()=>this.resolveWebMcpApproval(r,`timeout`),{once:!0})})}resolveWebMcpApproval(e,t){let n=this.webMcpApprovalResolvers.get(e);if(!n)return;this.webMcpApprovalResolvers.delete(e);let r=this.messages.find(t=>t.id===e);r?.approval&&this.upsertMessage({...r,approval:{...r.approval,status:t,resolvedAt:Date.now()}}),n(t===`approved`)}#Ze;#Qe;#$e(e){let t=this.#Ze??={s:this,setStreaming:e=>this.#kt(e),appendMessage:e=>this.#Pt(e),nextSequence:()=>this.#It(),settleApprovalPausedToolCall:e=>this.#Nt(e),resumeAfter:e=>this.#u?.executionId===e?this.#u.lastEventId:void 0},n=pl();if(n)return e(n,t);let r=this.#Qe;return dl().then(n=>r===this.#Qe?e(n,t):void 0,e=>{this.callbacks.onError?.(e instanceof Error?e:Error(String(e)))})}resolveApproval(e,t,n){return this.#$e((r,i)=>r.resolveApproval(i,e,t,n))}resolveAskUserQuestion(e,t){return this.#$e((n,r)=>n.resolveAskUserQuestion(r,e,t))}resolveWebMcpToolCall(e){return this.#$e((t,n)=>t.resolveWebMcpToolCall(n,e))}persistAskUserQuestionProgress(e,t){let n=this.messages.find(t=>t.id===e.id);n&&this.upsertMessage({...n,agentMetadata:{...n.agentMetadata,askUserQuestionAnswers:t.answers,askUserQuestionIndex:t.currentIndex}})}markAskUserQuestionResolved(e,t){let n=this.messages.find(t=>t.id===e.id);n&&this.upsertMessage({...n,agentMetadata:{...n.agentMetadata,awaitingLocalTool:!1,askUserQuestionAnswered:!0,...t?{askUserQuestionAnswers:t}:{}}})}#et(e){let t=e.agentMetadata?.executionId,n=e.toolCall?.id;if(!t||!n){let t=this.#x;queueMicrotask(()=>{t===this.#x&&this.resolveWebMcpToolCall(e)});return}let r=this.webMcpAwaitBatches.get(t);r||(r={snapshots:[],seen:/* @__PURE__ */ new Set},this.webMcpAwaitBatches.set(t,r)),!r.seen.has(n)&&(r.seen.add(n),r.snapshots.push(e))}#tt(){if(this.webMcpAwaitBatches.size===0)return;let e=this.#x;queueMicrotask(()=>{if(e===this.#x)for(let e of[...this.webMcpAwaitBatches.keys()])this.#nt(e)})}#nt(e){let t=this.webMcpAwaitBatches.get(e);if(!t)return;this.webMcpAwaitBatches.delete(e);let{snapshots:n}=t;n.length===1?this.resolveWebMcpToolCall(n[0]):n.length>1&&this.#$e((t,r)=>t.resolveWebMcpToolCallBatch(r,e,n))}#rt(){for(let e of this.webMcpResolveControllers)e.abort();this.webMcpResolveControllers.clear();for(let e of[...this.webMcpApprovalResolvers.keys()])this.resolveWebMcpApproval(e,`denied`);this.webMcpAwaitBatches.clear(),this.#x++}cancel(){this.client.cancelStreams(),this.abortController?.abort(),this.abortController=null,this.#Tt(),this.#rt(),this.#Qe++,this.webMcpInflightKeys.clear(),this.stopSpeaking(),this.stopVoicePlayback(),this.#kt(!1),this.#Ot(`idle`),this.#a(`cancel`)}clearMessages(){this.client.cancelStreams(),this.#ut(),this.stopSpeaking(),this.abortController?.abort(),this.abortController=null,this.#Tt(),this.#rt(),this.#Qe++,this.#t=void 0,this.messages=[],this.agentExecution=null,this.#ot(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear(),this.client.resetClientToolsFingerprint(),this.#kt(!1),this.#Ot(`idle`),this.callbacks.onMessagesChanged([...this.messages]),this.#a(`cancel`)}getArtifacts(){return[...this.artifacts.values()]}getArtifactById(e){return this.artifacts.get(e)}getSelectedArtifactId(){return this.#b}selectArtifact(e){this.#b=e,this.#st()}clearArtifacts(){this.#ot()}upsertArtifact(e){let t=e.id||`art_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,n=e.artifactType===`markdown`?{id:t,artifactType:`markdown`,title:e.title,status:`complete`,markdown:e.content,...e.file?{file:e.file}:{},...e.presentation?{presentation:e.presentation}:{}}:{id:t,artifactType:`component`,title:e.title,status:`complete`,component:e.component,props:e.props??{},...e.presentation?{presentation:e.presentation}:{}};return this.artifacts.set(t,n),this.#b=t,this.#st(),e.transcript!==!1&&this.#it(n),n}#it(e){let t=`artifact-ref-${e.id}`,n=Qn(Zn(this.config.features?.artifacts,e),{artifactId:e.id,title:e.title,artifactType:e.artifactType,status:`complete`,...e.file?{file:e.file}:{},...e.presentation?{presentation:e.presentation}:{},...e.component?{component:e.component}:{},...e.props?{componentProps:e.props}:{},...e.markdown===void 0?{}:{markdown:e.markdown}}),r=this.messages.find(e=>e.id===t);r?(r.rawContent=n,r.streaming=!1,this.callbacks.onMessagesChanged([...this.messages])):this.injectAssistantMessage({id:t,content:``,rawContent:n})}#at(){let e=!1;for(let t of this.artifacts.values()){let n=this.messages.find(e=>e.id===`artifact-ref-${t.id}`);if(!n)continue;let r=Qn(Zn(this.config.features?.artifacts,t),{artifactId:t.id,title:t.title,artifactType:t.artifactType,status:t.status,...t.file?{file:t.file}:{},...t.presentation?{presentation:t.presentation}:{},...t.component?{component:t.component}:{},...t.props?{componentProps:t.props}:{},...t.markdown===void 0?{}:{markdown:t.markdown}});n.rawContent!==r&&(n.rawContent=r,n.streaming=t.status===`streaming`,e=!0)}e&&this.callbacks.onMessagesChanged([...this.messages])}#ot(){(this.artifacts.size!==0||this.#b!==null)&&(this.artifacts.clear(),this.#b=null,this.#st())}#st(){this.callbacks.onArtifactsState?.({artifacts:[...this.artifacts.values()],selectedId:this.#b})}#ct(e){switch(e.type){case`artifact_start`:e.artifactType===`markdown`?this.artifacts.set(e.id,{id:e.id,artifactType:`markdown`,title:e.title,status:`streaming`,markdown:``,...e.file?{file:e.file}:{}}):this.artifacts.set(e.id,{id:e.id,artifactType:`component`,title:e.title,status:`streaming`,component:e.component??``,props:{}}),this.#b=e.id;break;case`artifact_delta`:{let t=this.artifacts.get(e.id);t?.artifactType===`markdown`&&(t.markdown=(t.markdown??``)+e.artDelta);break}case`artifact_update`:{let t=this.artifacts.get(e.id);t?.artifactType===`component`&&(t.props={...t.props,...e.props},e.component&&(t.component=e.component));break}case`artifact_complete`:{let t=this.artifacts.get(e.id);t&&(t.status=`complete`);break}default:return}this.#st()}hydrateMessages(e){this.client.cancelStreams(),this.abortController?.abort(),this.abortController=null,this.#Tt(),this.#rt(),this.#Qe++,this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear(),this.#t=void 0,this.messages=this.#Rt(e.map(e=>({...Iu(e),streaming:!1,sequence:e.sequence??this.#It()}))),this.#kt(!1),this.#Ot(`idle`),this.callbacks.onMessagesChanged([...this.messages]),this.#a(`cancel`)}hydrateArtifacts(e,t=null,n=!1){this.artifacts.clear();for(let t of e)this.artifacts.set(t.id,{...t,status:n?t.status:`complete`});this.#b=t,this.#st()}assertBackgroundSwitchable(){let e=this.config.backgroundConversations;if(e?.capabilities?.durableExecution!==!0||e.capabilities?.readOnlyReplay!==!0||typeof e.reconnectStream!=`function`)throw new Rf(`background_unavailable`,`This backend does not support background conversations`);if(this.config.parseSSEEvent)throw new Rf(`background_unavailable`,`Background replay requires the native event parser`);if(this.#_t()||this.webMcpResolveControllers.size||this.webMcpAwaitBatches.size||(this.streaming||this.#f)&&(!this.#u||!this.#k))throw new Rf(`conversation_busy`,`This turn cannot safely continue in the background`)}async#lt(){if(this.#h)return;let e=this.config.backgroundConversations,t=this.#N,{BackgroundConversationController:n}=await Gd();if(t!==this.#N||e!==this.config.backgroundConversations)throw new Rf(`superseded`,`The history identity changed`);if(this.#h)return;this.#h=new n(e,e=>{this.#ft(e)});let r=!0;this.#g=this.#de?.subscribeIdentityStatus(()=>{r||(this.#h?.clear(),this.cancel())})??null,r=!1}#ut(){this.#h?.clear(),this.#h=null,this.#g?.(),this.#g=null}#dt(e){let t=this.#u?.executionId??this.agentExecution?.executionId,n=this.#k;if(!this.config.backgroundConversations||!t||!n)return;let r={conversationId:n,executionId:t,status:e,detached:!1};this.#ft(r)}#ft(e){try{this.config.onConversationExecutionState?.(e)}catch{}try{this.callbacks.onConversationExecutionState?.(e)}catch{}}#pt(){let e=this.config.backgroundConversations,t=this.#k;return e&&t?n=>e.reconnectStream({...n,conversationId:t}):this.config.reconnectStream}#mt(e){this.#i(e.handle.executionId),this.#d=e.handle.assistantMessageId;let t=this.messages.find(e=>e.id===this.#d);t&&(t.streaming=e.streamCheckpoint?.openAssistant??!0),this.#p=e.streamCheckpoint,this.agentExecution={executionId:e.handle.executionId,agentId:``,agentName:``,status:`running`,currentIteration:0,maxTurns:0},this.#u=e.handle,this.#Dt(!0),this.#dt(e.observedStatus??`running`),this.#vt()}#ht(e){let t=this.agentExecution?.executionId;if(!t||!this.#d||this.agentExecution?.status!==`running`)return;let n=this.#u===null;this.#u={executionId:t,lastEventId:e,assistantMessageId:this.#d,status:`running`},this.#Dt(n),n&&this.#dt(`running`)}#gt(){return this.#u!==null&&typeof this.#pt()==`function`&&this.abortController?.signal.aborted!==!0&&this.webMcpResolveControllers.size===0&&this.webMcpAwaitBatches.size===0&&!this.#_t()}#_t(){return this.messages.some(e=>e.agentMetadata?.awaitingLocalTool===!0&&e.agentMetadata?.askUserQuestionAnswered!==!0||e.variant===`approval`&&e.approval?.status===`pending`)}#vt(){this.#f||this.#u&&typeof this.#pt()==`function`&&(this.#f=!0,this.callbacks.onReconnect?.({phase:`paused`,handle:this.#u}),this.#kt(!0),this.#Ot(`resuming`),this.#yt().then(e=>{this.#f&&this.#u&&e.begin()}))}#yt(){return this.#_?Promise.resolve(this.#_):(this.#v||(this.#v=Ff().then(({createReconnectController:e})=>{let t=e(this.#bt());return this.#_=t,t}),this.#v.catch(()=>{this.#v=null})),this.#v)}#bt(){let e=this;return{get config(){return{...e.config,reconnectStream:e.#pt()}},getResumable:()=>e.#u,clearResumable:()=>e.#Et(),getStatus:()=>e.status,setStatus:t=>e.#Ot(t),setStreaming:t=>e.#kt(t),setReconnecting:t=>{e.#f=t},setAbortController:t=>{e.abortController=t},getMessages:()=>e.messages,isAwaitPending:()=>e.#_t(),notifyMessagesChanged:()=>e.callbacks.onMessagesChanged([...e.messages]),resumeConnect:(t,n,r)=>e.connectStream(t,{assistantMessageId:n,allowReentry:!0,preserveAssistantId:!0,seedContent:r,readOnlyReplay:!!e.config.backgroundConversations}),appendMessage:t=>e.#Pt(t),settleParked:t=>e.#xt(t),nextSequence:()=>e.#It(),emitReconnect:t=>e.callbacks.onReconnect?.(t),buildErrorContent:t=>zf(Error(t),e.config.errorMessage),onError:t=>e.callbacks.onError?.(t)}}reconnectNow(){this.#f?this.#_?.wake():this.#vt()}resumeFromHandle(e){if(typeof this.config.reconnectStream!=`function`||this.#f)return;if(this.#i(e.executionId),this.#_t()){this.#St(e.executionId),this.#u={executionId:e.executionId,lastEventId:e.after,assistantMessageId:this.#d??``,status:`running`};return}let t=this.#Ct(e.executionId)?Gc():this.#wt();t||(t=Gc(),this.#Pt({id:t,role:`assistant`,content:``,createdAt:(/* @__PURE__ */ new Date()).toISOString(),streaming:!0,sequence:this.#It()})),this.#d=t,this.#St(e.executionId),this.#u={executionId:e.executionId,lastEventId:e.after,assistantMessageId:t,status:`running`},this.#vt()}#xt(e){let t=this.webMcpResolveControllers.size>0||this.webMcpAwaitBatches.size>0;if(!t&&!this.#_t()){if(!this.#Ct(e))return!1;this.#Et()}if(this.#f=!1,!t){let e=!1;for(let t of this.messages)t.streaming&&(t.streaming=!1,e=!0);e&&this.callbacks.onMessagesChanged([...this.messages]),this.#kt(!1),this.abortController=null}return this.#Ot(`idle`),!0}#St(e){this.agentExecution||={executionId:e,agentId:``,agentName:``,status:`running`,currentIteration:0,maxTurns:0}}#Ct(e){return this.messages.some(t=>t.agentMetadata?.executionId===e&&[t.toolCall,...t.tools??[]].some(e=>e?.interrupted===!0))}#wt(){for(let e=this.messages.length-1;e>=0;e--){let t=this.messages[e];if(t.role===`assistant`&&!t.variant)return t.streaming=!0,this.callbacks.onMessagesChanged([...this.messages]),t.id;if(t.role===`user`)break}return null}#Tt(){this.#f=!1,this.#_?.teardown(),this.#Et()}#Et(){this.#y&&=(clearTimeout(this.#y),null);let e=this.#u!==null;this.#u=null,this.#p=void 0,e&&this.config.onExecutionState?.(null)}#Dt(e){let t=this.config.onExecutionState;t&&(e?(this.#y&&=(clearTimeout(this.#y),null),t(this.#u)):this.#y||=setTimeout(()=>{this.#y=null,this.config.onExecutionState?.(this.#u)},500))}getResumableHandle(){return this.#u}#Ot(e){e===`error`&&(this.#n=!0,this.#o()),this.status!==e&&(this.status=e,this.callbacks.onStatusChanged(e))}#kt(e){if(e||this.#o(),this.streaming===e)return;let t=this.streaming;this.streaming=e,this.callbacks.onStreamingChanged(e),t&&!e&&(this.#jt(void 0),this.speakLatestAssistantMessage())}speakLatestAssistantMessage(e){let t=this.config.textToSpeech;if(!t?.enabled||!(!t.provider||t.provider===`browser`||t.provider===`runtype`&&t.browserFallback))return;let n=[...this.messages].reverse().find(e=>e.role===`assistant`&&e.content&&!e.voiceProcessing);if(!n||e&&!e.includes(n.id))return;if(this.ttsSpokenMessageIds.has(n.id)){this.ttsSpokenMessageIds.delete(n.id);return}let r=yf(n.content);r.trim()&&this.readAloud.play(n.id,{text:r,voice:t.voice,rate:t.rate,pitch:t.pitch})}static pickBestVoice(e){return hf(e)}toggleReadAloud(e){let t=this.messages.find(t=>t.id===e);if(!t||t.role!==`assistant`)return;let n=yf(t.content||``);if(!n.trim())return;let r=this.config.textToSpeech;this.readAloud.toggle(e,{text:n,voice:r?.voice,rate:r?.rate,pitch:r?.pitch})}getReadAloudState(e){return this.readAloud.stateFor(e)}onReadAloudChange(e){return this.readAloud.onChange(e)}stopSpeaking(){this.readAloud.stop(),typeof window<`u`&&`speechSynthesis`in window&&window.speechSynthesis.cancel()}#At(e){for(let e of this.messages)e.streaming=!1;let t=zf(e,this.config.errorMessage);t?this.#Pt({id:Gc(),role:`assistant`,content:t,dispatchError:!0,localOnly:!0,createdAt:(/* @__PURE__ */ new Date()).toISOString(),sequence:this.#It()}):this.callbacks.onMessagesChanged([...this.messages])}#jt(e){for(let[t,n]of[...this.#s])n===e&&(this.#s.delete(t),this.#Nt(t))}#Mt(e){for(let[t,n]of this.#s)n===e&&this.#s.set(t,void 0)}#Nt(e){let t=this.messages.find(t=>t.id===e)?.approval,n=t?.toolCallId,r=n&&this.messages.find(e=>e.toolCall?.id===n),i=r&&r.toolCall;if(!i||i.status===`complete`||t.status===`pending`)return;let a={...i,status:`complete`,approvalStatus:t.status,completedAt:Date.now(),...t.status===`approved`?{superseded:!0}:{success:!1,error:t.status===`denied`?`Denied`:`Approval timed out`}};this.upsertMessage({...r,streaming:!1,toolCall:a})}#Pt(e){let t=this.#Ft(e),n=this.messages[this.messages.length-1];this.messages=!n||this.#Lt(n,t)<=0?[...this.messages,t]:this.#Rt([...this.messages,t]),this.callbacks.onMessagesChanged([...this.messages])}upsertMessage(e){let t=this.#Ft(e),n=this.messages.findIndex(e=>e.id===t.id);if(n===-1){this.#Pt(t);return}this.messages=this.messages.map((e,r)=>{if(r!==n||e.toolCall?.name&&Wn(e.toolCall.name)&&e.toolCall.status===`complete`&&t.toolCall?.id===e.toolCall.id&&t.toolCall.status!==`complete`&&(t.toolCall.status===`pending`&&!t.toolCall.name||!e.toolCall.interrupted&&(e.toolCall.result!==void 0||e.toolCall.success!==void 0)&&(!t.agentMetadata?.executionId||t.agentMetadata.executionId===e.agentMetadata?.executionId)))return e;let i={...e,...t};e.agentMetadata?.askUserQuestionAnswered===!0&&t.agentMetadata&&(i.agentMetadata={...t.agentMetadata,askUserQuestionAnswered:!0,...e.agentMetadata.askUserQuestionAnswers?{askUserQuestionAnswers:e.agentMetadata.askUserQuestionAnswers}:{},awaitingLocalTool:!1}),e.agentMetadata?.suggestRepliesResolved===!0&&t.agentMetadata&&(i.agentMetadata={...i.agentMetadata??t.agentMetadata,suggestRepliesResolved:!0,awaitingLocalTool:!1});let a=e.agentMetadata?.clientToolAnswer;if(a&&i.agentMetadata&&!i.agentMetadata.clientToolAnswer&&(i.agentMetadata={...i.agentMetadata,clientToolAnswer:a}),e.approval&&t.approval&&e.approval.id===t.approval.id){let n=e.approval,r=t.approval;i.approval={...n,...r,executionId:r.executionId||n.executionId,toolCallId:r.toolCallId||n.toolCallId,toolName:r.toolName||n.toolName,description:r.description||n.description,toolType:r.toolType??n.toolType,reason:r.reason??n.reason,parameters:r.parameters??n.parameters}}let o=t.toolCall?.name,s=t.agentMetadata?.executionId,c=t.toolCall?.id;if(o&&Bf(o)&&s&&c&&t.agentMetadata?.awaitingLocalTool===!0){let t=`${s}:${c}`,n=this.webMcpInflightKeys.has(t),r=this.webMcpResolvedKeys.has(t),a=e.toolCall?.name,o=e.agentMetadata?.executionId===s&&e.toolCall?.id===c&&a!==void 0&&Bf(a)&&e.toolCall?.status===`complete`&&!e.toolCall.interrupted;(n||r||o)&&(i.agentMetadata={...i.agentMetadata??{},awaitingLocalTool:!1},i.toolCall=e.toolCall,i.streaming=e.streaming)}return i});let r=this.messages[n],i=this.messages[n-1],a=this.messages[n+1];(i&&this.#Lt(i,r)>0||a&&this.#Lt(r,a)>0)&&(this.messages=this.#Rt(this.messages)),this.callbacks.onMessagesChanged([...this.messages])}#Ft(e){return e.sequence===void 0?{...e,sequence:this.#It()}:{...e}}#It(){return this.#l++}#Lt(e,t){let n=new Date(e.createdAt).getTime(),r=new Date(t.createdAt).getTime();if(!Number.isNaN(n)&&!Number.isNaN(r)&&n!==r)return n-r;let i=e.sequence??0,a=t.sequence??0;return i===a?e.id.localeCompare(t.id):i-a}#Rt(e){return[...e].sort((e,t)=>this.#Lt(e,t))}};Kr(),Ks(),_n(),Pn();function Hf(e){let t=q(`div`,`persona-attachment-preview persona-relative persona-inline-block`),n=e,r=``,i=()=>{let{state:e}=n,r=n.config.attachments?.preview,i=e.kind===`image`,a=i?r?.image:r?.file,o=i?r?.image?.layout??`thumbnail`:r?.file?.layout??`tile`;if(t.dataset.kind=e.kind,t.dataset.layout=o,t.dataset.fileIcon=String(r?.file?.icon!==!1),t.dataset.iconPlacement=r?.file?.iconPlacement??`start`,t.dataset.removeVisibility=a?.remove?.visibility??`always`,t.dataset.removePlacement=a?.remove?.placement??`overlap`,t.replaceChildren(),i&&e.previewUrl){let n=J(`img`,{className:`persona-attachment-image`,attrs:{src:e.previewUrl,alt:e.name},style:{objectFit:r?.image?.fit??`cover`}}),i=r?.image?.name??`hidden`;if(o===`chip`||i!==`hidden`){let r=q(`div`,`persona-attachment-image-card`);r.append(n),i!==`hidden`&&r.append(J(`span`,{className:`persona-attachment-file-name`,text:i===`basename`?e.name.replace(/\.[^.]+$/,``):e.name})),t.append(r)}else t.append(n)}else{let n=q(`div`,`persona-attachment-file`),i=e.mimeType,a=i.includes(`spreadsheet`)||i.includes(`excel`)?he:i===`application/json`?me:i===`application/pdf`||i.startsWith(`text/`)||i.includes(`word`)?ge:pe,o=(r?.file?.iconName?G(r.file.iconName,20,`currentColor`,1.5):null)??gn(a,20,`currentColor`,1.5);o&&r?.file?.icon!==!1&&(o.classList.add(`persona-attachment-file-icon`),n.append(o));let s=q(`div`,`persona-attachment-file-copy`),c=r?.file?.name??`hidden`;c!==`hidden`&&s.append(J(`span`,{className:`persona-attachment-file-name`,text:c===`basename`?e.name.replace(/\.[^.]+$/,``):e.name}));let l=r?.file?.metadata,u=l===`size`?e.size<1024?`${e.size} B`:e.size<1048576?`${Math.round(e.size/1024)} KB`:`${(e.size/1048576).toFixed(1)} MB`:l===`line-count`&&e.lineCount!==void 0?`${e.lineCount} ${e.lineCount===1?`line`:`lines`}`:``;u&&s.append(J(`span`,{className:`persona-attachment-file-metadata`,text:u})),s.childNodes.length&&n.append(s);let d=r?.file?.badge??`type`;d!==`none`&&n.append(J(`span`,{className:`persona-attachment-file-badge`,text:d===`extension`?e.name.match(/\.([^.]+)$/)?.[1].toUpperCase()??Vs(i,e.name):Vs(i,e.name)})),t.append(n)}let s=J(`div`,{className:`persona-attachment-status`,attrs:{"data-persona-attachment-status":``}}),c=q(`div`,`persona-attachment-progress`);c.append(q(`div`,`persona-attachment-progress__bar`));let l=J(`button`,{className:`persona-attachment-retry`,attrs:{type:`button`,"aria-label":`Retry upload`}}),u=G(`rotate-cw`,12,`#ffffff`,2);u?l.append(u):l.textContent=`↻`,l.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),n.actions.retry()}),s.append(c,l);let d=J(`button`,{className:`persona-attachment-remove`,attrs:{type:`button`,"aria-label":`Remove attachment`}}),f=gn(Pt,10,`currentColor`,2);f?d.append(f):d.textContent=`×`,d.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),n.actions.remove()}),t.append(s),((a?.remove?.placement===`inline`?t.querySelector(`.persona-attachment-file, .persona-attachment-image-card`):null)??t).append(d)},a=e=>{n=e;let{state:a}=n,o=JSON.stringify([n.config.attachments?.preview,a.lineCount,a.previewUrl]);r!==o&&(r=o,i()),t.dataset.status=a.status,t.setAttribute(`aria-busy`,String(a.status===`uploading`||a.status===`processing`)),t.title=a.status===`error`?`${a.name}: ${a.error??`Upload failed`}`:a.name;let s=t.querySelector(`.persona-attachment-progress__bar`);s&&(s.style.width=typeof a.progress==`number`?`${Math.round(a.progress*100)}%`:``)};return a(e),{element:t,update:a}}Ks();const Uf={add:e=>Rs(e)},Wf=e=>Number.isFinite(e)?Math.min(1,Math.max(0,e)):0,Gf={allowedTypes:Gs,maxFileSize:10485760,maxFiles:4};function Kf(){return`attach_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}var qf=class e{#e=[];#t;#n=/* @__PURE__ */ new Set;#r=/* @__PURE__ */ new Map;#i=null;#a=/* @__PURE__ */ new Map;#o=/* @__PURE__ */ new WeakMap;#s=!1;#c=!1;constructor(e={}){this.#t={allowedTypes:e.allowedTypes??Gf.allowedTypes,maxFileSize:e.maxFileSize??Gf.maxFileSize,maxFiles:e.maxFiles??Gf.maxFiles,onFileRejected:e.onFileRejected,onAttachmentsChange:e.onAttachmentsChange,preview:e.preview,widgetConfig:e.widgetConfig,instanceId:e.instanceId,renderAttachmentPreview:e.renderAttachmentPreview,adapter:e.adapter}}#l(){return typeof this.#t.adapter?.add==`function`}#u(){return this.#l()?this.#t.adapter:Uf}setPreviewsContainer(e){this.#i!==e&&this.#y(),this.#i=e}remountPreviews(e){if(this.#y(),this.#i=e,e){e.innerHTML=``;for(let e of this.#e)this.#g(e)}this.#x()}updateConfig(e){if(`allowedTypes`in e&&(this.#t.allowedTypes=e.allowedTypes?.length?e.allowedTypes:Gf.allowedTypes),`maxFileSize`in e&&(this.#t.maxFileSize=e.maxFileSize??Gf.maxFileSize),`maxFiles`in e&&(this.#t.maxFiles=e.maxFiles??Gf.maxFiles),`onFileRejected`in e&&(this.#t.onFileRejected=e.onFileRejected),e.onAttachmentsChange!==void 0&&(this.#t.onAttachmentsChange=e.onAttachmentsChange),`adapter`in e&&(this.#t.adapter=e.adapter),`preview`in e&&(this.#t.preview=e.preview),`widgetConfig`in e&&(this.#t.widgetConfig=e.widgetConfig),`instanceId`in e&&(this.#t.instanceId=e.instanceId),`renderAttachmentPreview`in e&&e.renderAttachmentPreview!==this.#t.renderAttachmentPreview)this.#t.renderAttachmentPreview=e.renderAttachmentPreview,this.remountPreviews(this.#i);else for(let e of this.#e)this.#_(e),this.#b(e)}isReady(){return this.#e.every(e=>e.status===`ready`)}getAttachments(){return[...this.#e]}getContentParts(){return this.#e.map(e=>e.contentPart).filter(e=>e!==null)}hasAttachments(){return this.#e.length>0}count(){return this.#e.length}async handleFileSelect(e){e&&e.length!==0&&await this.handleFiles(Array.from(e))}async handleFiles(e){if(!e.length||this.#s)return;let t=[];for(let n of e){if(this.#e.length>=this.#t.maxFiles){this.#t.onFileRejected?.(n,`count`);continue}let e=zs(n,this.#t.allowedTypes,this.#t.maxFileSize);if(!e.valid){let t=e.error?.includes(`type`)?`type`:`size`;this.#t.onFileRejected?.(n,t);continue}let r={id:Kf(),file:n,previewUrl:Ls(n)?URL.createObjectURL(n):null,contentPart:null,status:this.#l()?`uploading`:`processing`,progress:this.#l()?0:void 0};this.#e.push(r),this.#g(r),t.push(r),this.#b(r)}this.#x(),this.#m(),await Promise.all(t.map(e=>this.#d(e)))}async#d(e){let t=new AbortController;this.#a.set(e.id,t);let n=this.#u(),r=()=>this.#s||t.signal.aborted||this.#a.get(e.id)!==t||!this.#e.includes(e);try{let i=await n.add(e.file,{signal:t.signal,onProgress:t=>{r()||e.status!==`uploading`||(e.progress=Wf(t),this.#_(e),this.#m())}});if(r()){this.#s&&this.#c&&this.#p(i,n);return}this.#o.set(e,n),e.contentPart=i,e.status=`ready`,e.progress=void 0,e.error=void 0}catch(t){if(r())return;e.status=`error`,e.progress=void 0,e.error=t instanceof Error?t.message:String(t??`Upload failed`)}finally{this.#a.get(e.id)===t&&this.#a.delete(e.id)}this.#_(e),this.#m()}retryAttachment(e){let t=this.#e.find(t=>t.id===e);!t||t.status!==`error`||this.#s||(t.status=this.#l()?`uploading`:`processing`,t.progress=this.#l()?0:void 0,t.error=void 0,this.#_(t),this.#m(),this.#d(t))}#f(e){let t=this.#a.get(e);t&&(this.#a.delete(e),t.abort())}removeAttachment(e){let t=this.#e.findIndex(t=>t.id===e);if(t===-1)return;let n=this.#e[t];this.#f(e),n.previewUrl&&URL.revokeObjectURL(n.previewUrl),this.#e.splice(t,1),this.#v(e),this.#n.delete(e);let r=this.#i?.querySelector(`[data-attachment-id="${e}"]`);r&&r.remove(),n.status===`ready`&&n.contentPart&&this.#p(n.contentPart,this.#o.get(n)),this.#x(),this.#m()}async#p(e,t){try{await t?.remove?.(e,{signal:new AbortController().signal})}catch(e){console.error(`[AttachmentManager] adapter.remove failed:`,e)}}clearAttachments(){this.#y(),this.#n.clear();for(let e of this.#e)this.#f(e.id),e.previewUrl&&URL.revokeObjectURL(e.previewUrl);this.#e=[],this.#a.clear(),this.#i&&(this.#i.innerHTML=``),this.#x(),this.#m()}destroy(e){if(!this.#s){this.#s=!0,this.#y(),this.#c=e?.release===!0;for(let e of this.#a.values())e.abort();this.#a.clear();for(let e of this.#e)e.previewUrl&&URL.revokeObjectURL(e.previewUrl),this.#c&&e.status===`ready`&&e.contentPart&&this.#p(e.contentPart,this.#o.get(e));this.#e=[],this.#i=null}}#m(){this.#s||this.#t.onAttachmentsChange?.(this.getAttachments())}#h(e){let t={instanceId:this.#t.instanceId??``,state:Object.freeze({id:e.id,name:e.file.name,mimeType:e.file.type,size:e.file.size,status:e.status,progress:e.progress,error:e.error,lineCount:e.lineCount,kind:Ls(e.file)?`image`:`file`,previewUrl:e.previewUrl}),config:{...this.#t.widgetConfig,attachments:{...this.#t.widgetConfig?.attachments,preview:this.#t.preview}},actions:{remove:()=>this.removeAttachment(e.id),retry:()=>this.retryAttachment(e.id)},defaultRenderer:()=>Hf(t)};return t}#g(e){if(!this.#i)return;let t=this.#h(e),n=null;try{n=this.#t.renderAttachmentPreview?.(t)??null}catch(e){console.error(`[AttachmentManager] preview renderer failed:`,e)}n??=t.defaultRenderer();let r=n instanceof HTMLElement?{element:n}:n;r.element.dataset.attachmentId=e.id,this.#r.set(e.id,r),this.#i.appendChild(r.element)}#_(e){try{this.#r.get(e.id)?.update?.(this.#h(e))}catch(e){console.error(`[AttachmentManager] preview update failed:`,e)}}#v(e){let t=this.#r.get(e);if(t){this.#r.delete(e);try{t.destroy?.()}catch(e){console.error(`[AttachmentManager] preview cleanup failed:`,e)}finally{t.element.remove()}}}#y(){for(let e of this.#r.keys())this.#v(e)}async#b(e){let t=e.file;if(!this.#n.has(e.id)&&!(this.#t.preview?.file?.metadata!==`line-count`||t.size>1048576||![`text/plain`,`text/markdown`,`text/csv`,`application/json`].includes(t.type))){this.#n.add(e.id);try{let n=await new Promise((e,n)=>{let r=new FileReader;r.onload=()=>e(String(r.result??``)),r.onerror=()=>n(r.error),r.readAsText(t)});if(this.#s||!this.#e.includes(e)||n.includes(`\0`))return;e.lineCount=n===``?0:n.split(/\r\n|\r|\n/).length-+!!/\r?\n$|\r$/.test(n),this.#_(e)}catch{}}}#x(){this.#i&&(this.#i.style.display=this.#e.length>0?`flex`:`none`)}static fromConfig(t,n){return new e({allowedTypes:t?.allowedTypes,maxFileSize:t?.maxFileSize,maxFiles:t?.maxFiles,onFileRejected:t?.onFileRejected,onAttachmentsChange:n,preview:t?.preview,adapter:t?.adapter})}};const Jf=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]),Yf=(e,t)=>e.length===t.length&&e.every((e,n)=>{let r=t[n];return e.id===r.id&&e.name===r.name&&e.mimeType===r.mimeType&&e.size===r.size&&e.status===r.status&&e.progress===r.progress&&e.error===r.error});function Xf(){let e={text:``,attachments:[],mentionRefs:[],selectedModelId:void 0,activeModeIds:[],quote:void 0,pendingSubmission:void 0,preparing:!1,streaming:!1,inputDisabled:!1,sendDisabled:!1},t=/* @__PURE__ */ new Set,n=null,r=!1,i=!1,a=()=>e.preparing?`preparing`:e.streaming?`streaming`:`idle`,o=()=>{let t=a();return Object.freeze({text:e.text,attachments:Object.freeze(e.attachments.map(e=>Object.freeze({...e}))),mentionRefs:Object.freeze([...e.mentionRefs]),selectedModelId:e.selectedModelId,activeModeIds:Object.freeze([...e.activeModeIds]),quote:e.quote?Object.freeze({...e.quote}):void 0,pendingSubmission:e.pendingSubmission,phase:t,inputDisabled:e.inputDisabled,sendDisabled:t!==`idle`||e.sendDisabled||e.inputDisabled})},s=()=>(n||=o(),n),c=()=>{if(r=!1,i||t.size===0)return;let e=s();for(let n of[...t])try{n(e)}catch(e){typeof console<`u`&&console.error(`[AgentWidget] composer state listener failed:`,e)}},l=()=>{n=null,!(i||r)&&(r=!0,queueMicrotask(c))};return{getState:s,subscribe:e=>(t.add(e),()=>t.delete(e)),setText:t=>{e.text!==t&&(e.text=t,l())},setAttachments:t=>{Yf(e.attachments,t)||(e.attachments=[...t],l())},setMentionRefs:t=>{Jf(e.mentionRefs,t)||(e.mentionRefs=[...t],l())},setSelectedModelId:t=>{e.selectedModelId!==t&&(e.selectedModelId=t,l())},setActiveModeIds:t=>{Jf(e.activeModeIds,t)||(e.activeModeIds=[...t],l())},setQuote:t=>{let n=e.quote;(n?.text!==t?.text||n?.messageId!==t?.messageId||n?.sourceLabel!==t?.sourceLabel)&&(e.quote=t?{...t}:void 0,l())},setPendingSubmission:t=>{e.pendingSubmission!==t&&(e.pendingSubmission=t,l())},setPreparing:t=>{e.preparing!==t&&(e.preparing=t,l())},setStreaming:t=>{e.streaming!==t&&(e.streaming=t,l())},setInputDisabled:t=>{e.inputDisabled!==t&&(e.inputDisabled=t,l())},setSendDisabled:t=>{e.sendDisabled!==t&&(e.sendDisabled=t,l())},flush:()=>{r&&c()},destroy:()=>{i=!0,r=!1,t.clear()}}}Kr();const $=(e,...t)=>{for(let n of t){let t=e.querySelector(n);if(t)return t}return null},Zf=(e,t)=>{let n=q(`div`,e);return n.setAttribute(t,``),n.setAttribute(`data-persona-composer-synthesized`,``),n.style.display=`contents`,n};function Qf(e,t={}){let n=$(e,`[data-persona-composer-form]`),r=$(e,`[data-persona-composer-input]`);if(!n||!r){let e=`[Persona] composer surface is missing required element(s): ${[!n&&`form`,!r&&`input`].filter(Boolean).join(`, `)}. Mark them with data-persona-composer-form / data-persona-composer-input.`;if(t.debug&&(n||r))throw Error(e);return typeof console<`u`&&console.warn(e),null}let i={header:$(e,`[data-persona-composer-header]`),body:$(e,`[data-persona-composer-body]`),actionsStart:$(e,`[data-persona-composer-actions-start]`,`.persona-widget-composer__left-actions`),actionsEnd:$(e,`[data-persona-composer-actions-end]`,`.persona-widget-composer__right-actions`),actionsRow:$(e,`[data-persona-composer-actions]`,`.persona-widget-composer .persona-flex.persona-items-center.persona-justify-between`),suggestions:$(e,`[data-persona-composer-suggestions]`,`.persona-mb-3.persona-flex.persona-flex-wrap.persona-gap-2`),status:$(e,`[data-persona-composer-status]`)},a=/* @__PURE__ */ new Set,o=i.header;o||(a.add(`header`),o=Zf(`persona-widget-composer__header`,`data-persona-composer-header`),n.parentNode?n.parentNode.insertBefore(o,n):e.appendChild(o));let s=i.body??r.parentElement??n,c=(e,t,n,r,i)=>{if(t)return t;a.add(e);let o=Zf(n,r);return i.appendChild(o),o},l=c(`actionsStart`,i.actionsStart,`persona-widget-composer__left-actions`,`data-persona-composer-actions-start`,n),u=c(`actionsEnd`,i.actionsEnd,`persona-widget-composer__right-actions`,`data-persona-composer-actions-end`,n),d=c(`suggestions`,i.suggestions,`persona-widget-composer__suggestions`,`data-persona-composer-suggestions`,e),f=c(`status`,i.status,`persona-widget-composer__status`,`data-persona-composer-status`,e),p=[],m=(e,t)=>e.target===t.target&&e.type===t.type&&e.handler===t.handler,h=$(e,`[data-persona-composer-attachment-input]`,`input[type="file"]`)??void 0;return{footer:e,form:n,input:r,header:o,body:s,actionsStart:l,actionsEnd:u,suggestions:d,status:f,attachmentInput:h,attachmentPreviews:$(e,`[data-persona-composer-attachment-previews]`,`.persona-attachment-previews`)??void 0,attachmentButton:$(e,`[data-persona-composer-attachment-button]`,`.persona-attachment-button`)??void 0,sendButton:$(e,`[data-persona-composer-submit]`)??void 0,micButton:$(e,`[data-persona-composer-mic]`)??void 0,synthesized:a,found:i,addListener:(e,t,n,r)=>{e.addEventListener(t,n,r),p.push({target:e,type:t,handler:n,options:r})},removeListener:(e,t,n,r)=>{e.removeEventListener(t,n,r),p=p.filter(r=>!m(r,{target:e,type:t,handler:n}))},destroy:()=>{for(let e of p)e.target.removeEventListener(e.type,e.handler,e.options);p=[]}}}function $f(e,t,n,r){return e<=0?r:e>=t+n*2+120+(r?0:16)}const ep=e=>Number.parseFloat(e)||0;function tp(e,t){let n=t.getComputedStyle(e);if(n.display===`none`)return 0;let r=Array.from(e.children).filter(e=>{if(!(e instanceof t.HTMLElement))return!1;let n=t.getComputedStyle(e);return n.display!==`none`&&![`absolute`,`fixed`].includes(n.position)});return r.reduce((e,n)=>{let r=t.getComputedStyle(n);return e+(r.display===`contents`?tp(n,t):Math.max(n.getBoundingClientRect().width,n.scrollWidth))+ep(r.marginLeft)+ep(r.marginRight)},0)+Math.max(0,r.length-1)*ep(n.columnGap)+ep(n.paddingLeft)+ep(n.paddingRight)}function np(e){let t=null,n=null,r=null,i=null,a=0,o=!0,s=!1,c=!1,l=()=>{i!==null&&t?.form.ownerDocument.defaultView?.cancelAnimationFrame(i),i=null,n?.disconnect(),r?.disconnect(),n=null,r=null,t?.form.ownerDocument.defaultView?.removeEventListener(`resize`,u)},u=()=>{if(c||i!==null)return;let n=t?.form.ownerDocument.defaultView;n&&(i=n.requestAnimationFrame(()=>{i=null,c||e.onMeasure()}))};return{measure:()=>{if(c)return o;let i=e.getSurface();if(i?.form!==t?.form||i?.input!==t?.input||i?.start!==t?.start||i?.end!==t?.end){l(),t=i,o=!0,s=!1,a=0;let e=t?.form.ownerDocument.defaultView;if(t&&e){if(e.addEventListener(`resize`,u),e.ResizeObserver!==void 0){n=new e.ResizeObserver(u);let r=[t.form,t.start,t.end,t.input];for(let e of r)n.observe(e)}e.MutationObserver!==void 0&&(r=new e.MutationObserver(e=>{e.some(e=>e.target!==t?.input||e.type!==`attributes`)&&u()}),r.observe(t.form,{subtree:!0,childList:!0,characterData:!0,attributes:!0,attributeFilter:[`class`,`style`,`hidden`]}))}}t&&i&&(t.resizeInput=i.resizeInput);let d=t?.form.ownerDocument.defaultView;if(!t||!d)return!0;if(!t.form.clientWidth)return o;let f=d.getComputedStyle(t.form),p=Math.max(1,t.form.clientWidth-ep(f.paddingLeft)-ep(f.paddingRight)),m=tp(t.start,d)+tp(t.end,d),h=ep(f.columnGap);s=m+h+(s?16:0)>p,o=$f(p,m,h,o);let g=t.input.getBoundingClientRect().width;if(t.resizeInput!==!1&&g>0&&g!==a&&t.input.tagName===`TEXTAREA`){a=g,t.input.style.height=`auto`;let e=ep(d.getComputedStyle(t.input).maxHeight)||1/0,n=Math.min(t.input.scrollHeight,e);t.input.style.height=`${n}px`}return o},toolbarCrowded:()=>s,refresh:u,destroy:()=>{c=!0,l(),t=null}}}const rp={mention:100,attachment:200,mic:800,overflow:900,send:1e3,custom:500};Kr();const ip=`[data-persona-composer-chip-row]`;function ap(e){let t=e.querySelector(ip);if(t)return t;let n=J(`div`,{className:`persona-composer-chip-row`,attrs:{"data-persona-composer-chip-row":``}});n.style.display=`none`;let r=e.querySelector(`[data-persona-composer-quote], [data-persona-composer-pending]`);return r?.parentElement===e?e.insertBefore(n,r):e.appendChild(n),n}Kr(),Pn();function op(e){let t=J(`div`,{className:`persona-composer-quote`,attrs:{"data-persona-composer-quote":``}});t.style.display=`none`;let n=``,r=!1,i=n=>{let r=q(`span`,`persona-composer-quote-bar`),i=q(`div`,`persona-composer-quote-content`);if(n.sourceLabel){let e=q(`div`,`persona-composer-quote-source`);e.textContent=n.sourceLabel,i.appendChild(e)}let a=J(`div`,{className:`persona-composer-quote-text`,attrs:{"data-persona-composer-quote-text":``}});a.textContent=$d(n.text),i.appendChild(a);let o=J(`button`,{className:`persona-composer-quote-dismiss`,attrs:{type:`button`,"aria-label":e.dismissLabel??`Remove quote`,"data-persona-composer-quote-dismiss":``}}),s=G(`x`,12,`currentColor`,2);s?o.appendChild(s):o.textContent=`×`,o.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),e.onDismiss()}),t.replaceChildren(r,i,o)};return{element:t,render:e=>{if(r)return;let a=e?`${e.sourceLabel??``}${e.text}`:``;a!==n&&(n=a,e?(i(e),t.style.display=`flex`):(t.replaceChildren(),t.style.display=`none`))},destroy:()=>{r=!0,t.replaceChildren(),t.remove()}}}Kr(),Pn();function sp(e){let t=J(`div`,{className:`persona-composer-pending`,attrs:{"data-persona-composer-pending":``}});t.style.display=`none`;let n,r=!1,i=(e,t,n,r)=>{let i=J(`button`,{className:`persona-composer-pending-action`,attrs:{type:`button`,"aria-label":t,[n]:``}}),a=G(e,12,`currentColor`,2);return a?i.appendChild(a):i.textContent=t,i.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),r()}),i},a=e=>{let t=$d(e.text??``,90);if(t)return t;let n=e.contentParts?.length??0;return n>0?n===1?`1 attachment`:`${n} attachments`:(e.mentionRefs?.length??0)>0?e.mentionRefs.map(e=>e.label).join(`, `):`Queued message`};return{element:t,render:o=>{if(r||o===n)return;if(n=o,!o){t.replaceChildren(),t.style.display=`none`;return}let s=q(`span`,`persona-composer-pending-badge`);s.textContent=e.label??`Sends next`;let c=J(`div`,{className:`persona-composer-pending-text`,attrs:{"data-persona-composer-pending-text":``}});c.textContent=a(o),t.replaceChildren(s,c,i(`pencil`,e.editLabel??`Edit queued message`,`data-persona-composer-pending-edit`,e.onEdit),i(`x`,e.removeLabel??`Remove queued message`,`data-persona-composer-pending-remove`,e.onRemove)),t.style.display=`flex`},destroy:()=>{r=!0,t.replaceChildren(),t.remove()}}}Kr();function cp(e){let t=J(`div`,{className:`persona-message-edit`,attrs:{"data-persona-message-edit":e.messageId,"data-preserve-runtime":``}}),n=J(`textarea`,{className:`persona-message-edit-input`,attrs:{rows:`1`,dir:`auto`,"aria-label":`Edit message`,"data-persona-message-edit-input":``}});n.value=e.initialText;let r=()=>{n.style.height=`auto`,n.style.height=`${n.scrollHeight}px`};n.addEventListener(`input`,r);let i=q(`div`,`persona-message-edit-actions`),a=(e,t,n,r)=>{let i=J(`button`,{className:`persona-message-edit-button ${t}`,attrs:{type:`button`,[n]:``},text:e});return i.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),r()}),i},o=()=>{let t=n.value.trim();t&&e.onSave(t)};return i.append(a(e.cancelLabel??`Cancel`,`persona-message-edit-cancel`,`data-persona-message-edit-cancel`,e.onCancel),a(e.saveLabel??`Send`,`persona-message-edit-save`,`data-persona-message-edit-save`,o)),n.addEventListener(`keydown`,t=>{t.key===`Escape`?(t.preventDefault(),t.stopPropagation(),e.onCancel()):t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),o())}),t.append(n,i),{element:t,getValue:()=>n.value,focus:()=>{n.focus();let e=n.value.length;n.setSelectionRange(e,e),r()},destroy:()=>{t.replaceChildren(),t.remove()}}}function lp(e){let t=e.text??``;if(t.trim().length>0||(e.mentionRefs?.length??0)>0||(e.activeModeIds?.length??0)>0||e.quote||e.selectedModelId)return{text:t,...e.mentionRefs?.length?{mentionRefs:[...e.mentionRefs]}:{},...e.contentSegments?.length?{contentSegments:[...e.contentSegments]}:{},...e.selectedModelId?{selectedModelId:e.selectedModelId}:{},...e.activeModeIds?.length?{activeModeIds:[...e.activeModeIds]}:{},...e.quote?{quote:{...e.quote}}:{}}}function up(e,t){if(!e||typeof e.text!=`string`)return;let n=new Set(t.mentionSourceIds),r=(e.mentionRefs??[]).filter(e=>n.has(e.sourceId)),i=r.length===(e.mentionRefs?.length??0)&&r.length>0,a=new Set(t.modes.map(e=>e.id)),o=(e.activeModeIds??[]).filter(e=>a.has(e)),s=e.selectedModelId&&t.modelIds.includes(e.selectedModelId)?e.selectedModelId:void 0;return{text:e.text,...i?{mentionRefs:r}:{},...i&&e.contentSegments?.length?{contentSegments:e.contentSegments}:{},...s?{selectedModelId:s}:{},...o.length?{activeModeIds:o}:{},...e.quote?.text?{quote:e.quote}:{}}}function dp(e){let t=e.delay??500,n=null,r=!1,i=()=>{n!==null&&(clearTimeout(n),n=null)};return{schedule:()=>{r||(i(),n=setTimeout(()=>{n=null,e.write()},t))},flush:()=>{r||n===null||(i(),e.write())},cancel:i,destroy:()=>{r=!0,i()}}}const fp=e=>`core:mode:${e}`;function pp(e,t){return e?t?.find(t=>t.id===e)?.presentation===`segmented`:!1}function mp(e,t){return e?t?.find(t=>t.id===e)?.chipVisibility===`hidden`:!1}function hp(e,t,n=!1){return e?.length?e.filter(e=>!pp(e.groupId,t)&&!mp(e.groupId,t)&&(!n||e.presentation===`overflow`||t?.find(t=>t.id===e.groupId)?.chipVisibility===`auto`)):[]}const gp=(e,t)=>e.groupId?t?.find(t=>t.id===e.groupId)?.selection??null:null;function _p(e,t,n,r){let i=n.find(e=>e.id===t);if(!i)return[...e];let a=e.includes(t),o=new Set(e);if(a)o.delete(t);else{if(gp(i,r)===`single`){let e=n.filter(e=>e.groupId===i.groupId).map(e=>e.id);o=new Set([...o].filter(t=>!e.includes(t)))}o.add(t)}return n.filter(e=>o.has(e.id)).map(e=>e.id)}function vp(e,t){return t?.length?t.filter(t=>e.includes(t.id)).map(e=>e.id):[]}function yp(e,t){return t?.length?t.filter(t=>e.includes(t.id)&&(t.persistence??`sticky`)!==`once`).map(e=>e.id):[]}function bp(e,t){if(t?.length&&e.length!==0)return t.find(t=>e.includes(t.id)&&t.placeholder)?.placeholder}function xp(e,t,n){let r=[];for(let i of e)r.includes(i)||(r=_p(r,i,t,n));return r}function Sp(e){return e.wrapped||e.text.includes(`
22
+ `)?!1:!(e.hasAttachments||e.hasChips||e.hasQuote||e.hasPendingSubmission)}function Cp(){let e=!1;return{observe:(t,n)=>n?(t&&(e=!0),e):(e=!1,!1),release:()=>{e=!1}}}function wp(e){if(!e)return!1;let t=e.ownerDocument?.defaultView;if(!t?.getComputedStyle)return!1;let n=t.getComputedStyle(e),r=Number.parseFloat(n.lineHeight),i=Number.parseFloat(n.fontSize),a=Number.isFinite(r)&&r>0?r:Number.isFinite(i)&&i>0?i*1.4:0;if(!a)return!1;let o=(Number.parseFloat(n.paddingTop)||0)+(Number.parseFloat(n.paddingBottom)||0),s=e.style.height,c=e.style.getPropertyPriority(`height`),l=e.tagName===`TEXTAREA`;l&&(e.style.height=`auto`);let u=e.scrollHeight-o;return l&&e.style.setProperty(`height`,s,c),u>a*1.5}function Tp(e){e&&(typeof e.requestSubmit==`function`?e.requestSubmit():e.dispatchEvent(new Event(`submit`,{bubbles:!0,cancelable:!0})))}function Ep(e){return Object.freeze({text:e.text,contentParts:e.contentParts?Object.freeze([...e.contentParts]):void 0,mentionRefs:Object.freeze([...e.mentionRefs]),contentSegments:e.contentSegments?Object.freeze([...e.contentSegments]):void 0,options:Object.freeze({...e.options}),viaVoice:e.viaVoice})}function Dp(e){return e.inputDisabled===!0||e.sendDisabled===!0||e.hasAttachments&&!e.attachmentsReady?!1:!!e.text||e.hasAttachments||e.hasMentions||e.hasServerMentions}const Op=e=>typeof e?.then==`function`;function kp(e,t){return t===!1?{status:`canceled`}:(!t||typeof t!=`object`||(typeof t.text==`string`&&(e.text=t.text),t.options&&(e.options={...e.options,...t.options})),{status:`proceed`})}function Ap(e,t,n){let r;try{r=e(Ep(t),{signal:n})}catch(e){return{status:`error`,error:e}}return Op(r)?Promise.resolve(r).then(e=>n.aborted?{status:`aborted`}:kp(t,e),e=>n.aborted?{status:`aborted`}:{status:`error`,error:e}):kp(t,r)}const jp=e=>e?.launcher?.variant??(e?.future?.v5Defaults===!0?`circle`:`pill`),Mp={background:`semantic.colors.primary`,foreground:`semantic.colors.textInverse`,border:`transparent`,size:`48px`,iconSize:`24px`,borderRadius:`palette.radius.full`,shadow:`0 8px 24px rgba(0,0,0,.16)`,offset:`20px`};Ds();const Np=`16px`,Pp=`transparent`,Fp={colors:{primary:{50:`#ffffff`,100:`#f5f5f5`,200:`#d4d4d4`,300:`#a3a3a3`,400:`#737373`,500:`#171717`,600:`#0f0f0f`,700:`#0a0a0a`,800:`#050505`,900:`#030303`,950:`#000000`},secondary:{50:`#f5f3ff`,100:`#ede9fe`,200:`#ddd6fe`,300:`#c4b5fd`,400:`#a78bfa`,500:`#8b5cf6`,600:`#7c3aed`,700:`#6d28d9`,800:`#5b21b6`,900:`#4c1d95`,950:`#2e1065`},accent:{50:`#ecfeff`,100:`#cffafe`,200:`#a5f3fc`,300:`#67e8f9`,400:`#22d3ee`,500:`#06b6d4`,600:`#0891b2`,700:`#0e7490`,800:`#155e75`,900:`#164e63`,950:`#083344`},gray:{50:`#f9fafb`,100:`#f3f4f6`,200:`#e5e7eb`,300:`#d1d5db`,400:`#9ca3af`,500:`#6b7280`,600:`#4b5563`,700:`#374151`,800:`#1f2937`,900:`#111827`,950:`#030712`},success:{50:`#f0fdf4`,100:`#dcfce7`,200:`#bbf7d0`,300:`#86efac`,400:`#4ade80`,500:`#22c55e`,600:`#16a34a`,700:`#15803d`,800:`#166534`,900:`#14532d`},warning:{50:`#fefce8`,100:`#fef9c3`,200:`#fef08a`,300:`#fde047`,400:`#facc15`,500:`#eab308`,600:`#ca8a04`,700:`#a16207`,800:`#854d0e`,900:`#713f12`},error:{50:`#fef2f2`,100:`#fee2e2`,200:`#fecaca`,300:`#fca5a5`,400:`#f87171`,500:`#ef4444`,600:`#dc2626`,700:`#b91c1c`,800:`#991b1b`,900:`#7f1d1d`},info:{50:`#eff6ff`,100:`#dbeafe`,200:`#bfdbfe`,300:`#93c5fd`,400:`#60a5fa`,500:`#3b82f6`,600:`#2563eb`,700:`#1d4ed8`,800:`#1e40af`,900:`#1e3a8a`,950:`#172554`},purple:{50:`#faf5ff`,100:`#f3e8ff`,200:`#e9d5ff`,300:`#d8b4fe`,400:`#c084fc`,500:`#a855f7`,600:`#9333ea`,700:`#7e22ce`,800:`#6b21a8`,900:`#581c87`,950:`#3b0764`},teal:{50:`#f0fdfa`,100:`#ccfbf1`,200:`#99f6e4`,300:`#5eead4`,400:`#2dd4bf`,500:`#14b8a6`,600:`#0d9488`,700:`#0f766e`,800:`#115e59`,900:`#134e4a`,950:`#042f2e`}},spacing:(()=>{let e={};for(let t of[0,1,2,3,4,5,6,8,10,12,16,20,24,32,40,48,56,64])e[t]=t===0?`0px`:`${t/4}rem`;return e})(),typography:{fontFamily:{sans:`system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif`,serif:`Georgia, Cambria, "Times New Roman", Times, serif`,mono:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace`},fontSize:{xs:`0.75rem`,sm:`0.875rem`,base:`1rem`,lg:`1.125rem`,xl:`1.25rem`,"2xl":`1.5rem`,"3xl":`1.875rem`,"4xl":`2.25rem`},fontWeight:{normal:`400`,medium:`500`,semibold:`600`,bold:`700`},lineHeight:{tight:`1.25`,normal:`1.5`,relaxed:`1.625`}},shadows:{none:`none`,sm:`0 1px 2px 0 rgb(0 0 0 / 0.05)`,md:`0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`,lg:`0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)`,xl:`0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)`,"2xl":`0 25px 50px -12px rgb(0 0 0 / 0.25)`},borders:{none:`none`,sm:`1px solid`,md:`2px solid`,lg:`4px solid`},radius:{none:`0px`,sm:`0.125rem`,md:`0.375rem`,lg:`0.5rem`,xl:`0.75rem`,"2xl":`1rem`,full:`9999px`}},Ip={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`}},Lp={button:{primary:{background:`palette.colors.primary.500`,foreground:`palette.colors.primary.50`,borderRadius:`palette.radius.lg`,padding:`semantic.spacing.md`},secondary:{background:`semantic.colors.surface`,foreground:`semantic.colors.secondary`,borderRadius:`palette.radius.lg`,padding:`semantic.spacing.md`},ghost:{background:`transparent`,foreground:`semantic.colors.text`,borderRadius:`palette.radius.md`,padding:`semantic.spacing.sm`,hoverBackground:`rgba(0, 0, 0, 0.05)`}},input:{background:`semantic.colors.surface`,placeholder:`semantic.colors.textMuted`,borderRadius:`palette.radius.lg`,padding:`semantic.spacing.md`,focus:{border:`palette.colors.gray.400`,ring:`palette.colors.gray.400`}},launcher:{background:`semantic.colors.surface`,foreground:`semantic.colors.primary`,border:`semantic.colors.border`,size:`60px`,iconSize:`28px`,borderRadius:`palette.radius.full`,shadow:`palette.shadows.lg`},panel:{width:_s,maxWidth:`none`,height:`min(640px, max(200px, calc(100vh - 64px)))`,maxHeight:`none`,borderRadius:`palette.radius.xl`,shadow:`palette.shadows.xl`,inset:Np,canvasBackground:Pp,modes:{floating:{border:`1px solid var(--persona-border)`,shadow:`palette.shadows.xl`,borderRadius:`palette.radius.xl`},inline:{border:`1px solid var(--persona-border)`,shadow:`none`,borderRadius:`palette.radius.xl`},docked:{border:`none`,shadow:`none`,borderRadius:`palette.radius.xl`},sidebar:{border:`none`,borderRadius:`0`},mobile:{border:`none`,shadow:`none`,borderRadius:`0`}}},header:{background:`palette.colors.primary.500`,foreground:`palette.colors.primary.50`,borderRadius:`palette.radius.xl palette.radius.xl 0 0`,padding:`20px 24px`,minimalPadding:`16px 24px`,iconBackground:`palette.colors.primary.600`,iconForeground:`palette.colors.primary.50`},message:{gap:`12px`,user:{background:`palette.colors.primary.500`,text:`palette.colors.primary.50`,borderRadius:`palette.radius.lg`,shadow:`palette.shadows.sm`},assistant:{background:`semantic.colors.container`,text:`semantic.colors.text`,borderRadius:`palette.radius.lg`,border:`semantic.colors.border`,shadow:`palette.shadows.sm`},operator:{background:`color-mix(in srgb, var(--persona-primary) 6%, var(--persona-container))`,text:`semantic.colors.text`,borderRadius:`palette.radius.lg`,border:`color-mix(in srgb, var(--persona-primary) 20%, var(--persona-container))`,borderWidth:`1px`,shadow:`palette.shadows.sm`},border:`semantic.colors.border`},introCard:{background:`transparent`,borderRadius:`palette.radius.2xl`,padding:`semantic.spacing.lg`,shadow:`palette.shadows.none`},suggestion:{chip:{background:`semantic.colors.surface`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,borderRadius:`palette.radius.full`,padding:`0.5rem 0.875rem`,gap:`0.5rem`,itemGap:`8px`,minHeight:`36px`,fontSize:`0.8125rem`,lineHeight:`1.25`,iconSize:`16px`,hoverBackground:`palette.colors.gray.100`,hoverBorder:`palette.colors.gray.300`,pressedBackground:`palette.colors.gray.200`,focusRing:`semantic.colors.interactive.focus`,disabledOpacity:`0.5`},card:{background:`semantic.colors.surface`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,borderRadius:`palette.radius.xl`,padding:`1rem`,shadow:`palette.shadows.sm`,gap:`0.625rem`,itemGap:`8px`,minHeight:`72px`,fontSize:`0.875rem`,lineHeight:`1.35`,iconSize:`18px`,hoverBackground:`palette.colors.gray.100`,hoverBorder:`palette.colors.gray.300`,pressedBackground:`palette.colors.gray.200`,focusRing:`semantic.colors.interactive.focus`,disabledOpacity:`0.5`},list:{background:`transparent`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,borderRadius:`palette.radius.md`,padding:`0.75rem`,gap:`0.625rem`,itemGap:`8px`,minHeight:`44px`,fontSize:`0.875rem`,lineHeight:`1.35`,iconSize:`17px`,hoverBackground:`palette.colors.gray.100`,hoverBorder:`palette.colors.gray.300`,pressedBackground:`palette.colors.gray.200`,focusRing:`semantic.colors.interactive.focus`,disabledOpacity:`0.5`}},toolBubble:{shadow:`palette.shadows.sm`},reasoningBubble:{shadow:`palette.shadows.sm`},composer:{shadow:`palette.shadows.none`},scrollbar:{thumb:`semantic.colors.border`,track:`transparent`},markdown:{inlineCode:{background:`palette.colors.gray.50`,foreground:`palette.colors.gray.900`},link:{foreground:`palette.colors.primary.600`},prose:{fontFamily:`inherit`},codeBlock:{background:`semantic.colors.container`,borderColor:`semantic.colors.border`,textColor:`inherit`,borderRadius:`palette.radius.md`},table:{headerBackground:`semantic.colors.container`,borderColor:`semantic.colors.border`},hr:{color:`semantic.colors.divider`},blockquote:{borderColor:`palette.colors.gray.900`,background:`transparent`,textColor:`palette.colors.gray.500`}},collapsibleWidget:{container:`palette.colors.gray.50`,surface:`semantic.colors.surface`,border:`semantic.colors.border`},voice:{recording:{indicator:`palette.colors.error.500`,background:`palette.colors.error.50`,border:`palette.colors.error.200`},processing:{icon:`palette.colors.primary.500`,background:`palette.colors.primary.50`},speaking:{icon:`palette.colors.success.500`}},approval:{requested:{background:`semantic.colors.surface`,border:`semantic.colors.border`,text:`palette.colors.gray.900`,shadow:`0 1px 2px 0 rgba(11, 11, 11, 0.06), 0 2px 8px 0 rgba(11, 11, 11, 0.04)`},approve:{background:`semantic.colors.primary`,foreground:`semantic.colors.textInverse`,borderRadius:`palette.radius.md`,padding:`semantic.spacing.sm`},deny:{background:`semantic.colors.container`,foreground:`semantic.colors.text`,borderRadius:`palette.radius.md`,padding:`semantic.spacing.sm`}},attachment:{image:{background:`palette.colors.gray.100`,border:`palette.colors.gray.200`}},eventStream:{badge:{flow:{background:`palette.colors.success.100`,foreground:`palette.colors.success.700`},step:{background:`palette.colors.primary.100`,foreground:`palette.colors.primary.700`},reasoning:{background:`palette.colors.warning.100`,foreground:`palette.colors.warning.700`},tool:{background:`palette.colors.purple.100`,foreground:`palette.colors.purple.800`},agent:{background:`palette.colors.teal.100`,foreground:`palette.colors.teal.800`},error:{background:`palette.colors.error.100`,foreground:`palette.colors.error.700`},default:{background:`palette.colors.gray.100`,foreground:`palette.colors.gray.600`}}},scrollToBottom:{background:`components.button.primary.background`,foreground:`components.button.primary.foreground`,border:`semantic.colors.primary`,size:`40px`,borderRadius:`palette.radius.full`,shadow:`palette.shadows.sm`,padding:`0.5rem 0.875rem`,gap:`0.5rem`,fontSize:`0.875rem`,iconSize:`14px`},artifact:{pane:{background:`semantic.colors.container`,toolbarBackground:`semantic.colors.container`}}},Rp=Fp.colors.gray,zp={50:`#fafafa`,100:`#f5f5f5`,200:`#e5e5e5`,300:`#d4d4d4`,400:`#a3a3a3`,500:`#737373`,600:`#525252`,700:`#404040`,800:`#262626`,900:`#171717`,950:`#0a0a0a`},Bp={...Fp,colors:{...Fp.colors,gray:Rp}},Vp={...Fp,colors:{...Fp.colors,gray:zp},radius:{none:`0px`,sm:`4px`,md:`8px`,lg:`12px`,xl:`16px`,"2xl":`24px`,full:`9999px`}},Hp=Bp,Up=Ip,Wp={...Ip,colors:{...Ip.colors,surface:`#ffffff`,background:`#ffffff`,container:`semantic.colors.surface`,textInverse:`#ffffff`},typography:{...Ip.typography,fontSize:`14px`,lineHeight:`1.5`}},Gp=Up,Kp=Lp,qp={...Lp,scrollToBottom:{...Lp.scrollToBottom,background:`semantic.colors.surface`,foreground:`semantic.colors.text`,border:`semantic.colors.border`,size:`32px`},messageActions:{background:`transparent`,border:`none`,hoverBackground:`components.button.ghost.hoverBackground`,hoverForeground:`semantic.colors.text`,borderRadius:`palette.radius.md`},launcher:Mp,activity:{labelSize:`13px`,iconSize:`16px`,indent:`0px`,transcriptGap:`0px`,responseGap:`12px`,groupIndent:`16px`,groupGap:`2px`,groupPadding:`2px 0`,bodyPadding:`4px 0`,bodyFontWeight:`400`,sectionGap:`8px`,bodySurface:`transparent`},toolBubble:{shadow:`none`},reasoningBubble:{shadow:`none`},input:{...Lp.input,borderRadius:`palette.radius.full`},introCard:{...Lp.introCard,title:{fontSize:`22px`,fontWeight:`500`}},suggestion:{chip:{...Lp.suggestion.chip,fontWeight:`400`},card:{...Lp.suggestion.card,fontWeight:`400`},list:{...Lp.suggestion.list,fontWeight:`400`}},panel:{...Lp.panel,width:`min(400px, calc(100vw - 24px))`,height:`min(704px, calc(100dvh - 104px))`,borderRadius:`palette.radius.xl`},header:{...Lp.header,background:`semantic.colors.container`,foreground:`semantic.colors.text`,padding:`8px 8px 8px 16px`,minimalPadding:`8px 8px 8px 16px`,minHeight:`48px`,borderBottom:`none`,iconBackground:`transparent`,iconForeground:`semantic.colors.text`,iconScale:`1`,iconPadding:`auto`,controlSize:`28px`,controlIconSize:`16px`,controlStrokeWidth:`1.5`,actionIconForeground:`semantic.colors.textMuted`,controlBorderRadius:`8px`,controlHoverBackground:`color-mix(in srgb, var(--persona-text) 8%, transparent)`,controlHoverForeground:`semantic.colors.text`,controlFocusOutline:`2px solid color-mix(in srgb, var(--persona-text) 50%, transparent)`,title:{fontSize:`14px`,fontWeight:`500`,lineHeight:`1.5`}},message:{...Lp.message,gap:`20px`,fullscreenGap:`28px`,topFadeHeight:`18px`,user:{...Lp.message.user,background:`palette.colors.gray.100`,text:`semantic.colors.text`,borderRadius:`palette.radius.xl`,shadow:`none`,padding:`8px 14px`,fontSize:`14px`,lineHeight:`1.5`},assistant:{...Lp.message.assistant,background:`transparent`,border:`transparent`,borderWidth:`0px`,borderRadius:`0px`,shadow:`none`,padding:`0px`,fontSize:`14px`,lineHeight:`1.55`},operator:{...Lp.message.operator,background:`transparent`,border:`semantic.colors.border`,borderRadius:`palette.radius.xl`,shadow:`none`,padding:`8px 14px`,fontSize:`14px`,lineHeight:`1.5`}},artifact:{...Lp.artifact,card:{background:`semantic.colors.surface`,border:`1px solid var(--persona-border)`,borderRadius:`palette.radius.lg`,hoverBackground:`components.button.ghost.hoverBackground`,hoverBorderColor:`semantic.colors.border`},inline:{background:`semantic.colors.surface`,border:`1px solid var(--persona-border)`,borderRadius:`palette.radius.lg`,chromeBackground:`semantic.colors.surface`,chromeBorder:`semantic.colors.border`,titleColor:`semantic.colors.text`,mutedColor:`semantic.colors.textMuted`}},composer:{...Lp.composer,padding:`8px`,fontSize:`15px`,lineHeight:`1.5`,controlSize:`32px`,controlIconSize:`20px`,expandedPadding:`12px 16px`,expandedBorderRadius:`24px`,sendIconSize:`18px`,sendButtonRadius:`9999px`,footerBorder:`none`,overflowMenu:{borderRadius:`12px`},overlayBand:`linear-gradient(to bottom, transparent, var(--persona-container) 24px)`,focusBorderColor:`color-mix(in srgb, var(--persona-text) 28%, var(--persona-border))`,focusRing:`1px solid color-mix(in srgb, var(--persona-text) 12%, transparent)`}},Jp=Kp,Yp=e=>ps({future:e}),Xp=e=>Yp(e)===`v5`?{palette:Vp,semantic:Wp,components:qp}:{palette:Bp,semantic:Up,components:Kp};function Zp(e,t){if(!t.startsWith(`palette.`)&&!t.startsWith(`semantic.`)&&!t.startsWith(`components.`))return t;let n=t.split(`.`),r=e;for(let e of n){if(r==null)return;r=r[e]}return typeof r==`string`&&(r.startsWith(`palette.`)||r.startsWith(`semantic.`)||r.startsWith(`components.`))?Zp(e,r):r}function Qp(e){let t={};function n(r,i){for(let[a,o]of Object.entries(r)){let r=`${i}.${a}`;if(typeof o==`string`){let n=Zp(e,o);n!==void 0&&(t[r]={path:r,value:n,type:i.includes(`color`)?`color`:i.includes(`spacing`)?`spacing`:i.includes(`typography`)?`typography`:i.includes(`shadow`)?`shadow`:i.includes(`border`)?`border`:`color`})}else typeof o==`object`&&o&&n(o,r)}}return n(e.palette,`palette`),n(e.semantic,`semantic`),n(e.components,`components`),t}function $p(e){let t=[],n=[];return e.palette||t.push({path:`palette`,message:`Theme must include a palette`,severity:`error`}),e.semantic||n.push({path:`semantic`,message:`No semantic tokens defined - defaults will be used`,severity:`warning`}),e.components||n.push({path:`components`,message:`No component tokens defined - defaults will be used`,severity:`warning`}),{valid:t.length===0,errors:t,warnings:n}}function em(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t&&typeof t==`object`&&!Array.isArray(t)&&r&&typeof r==`object`&&!Array.isArray(r)?em(t,r):r}return n}function tm(e,t={}){let n=Xp(t.future),r=e?.components,i={palette:{...n.palette,...e?.palette,colors:{...n.palette.colors,...e?.palette?.colors},spacing:{...n.palette.spacing,...e?.palette?.spacing},typography:{...n.palette.typography,...e?.palette?.typography},shadows:{...n.palette.shadows,...e?.palette?.shadows},borders:{...n.palette.borders,...e?.palette?.borders},radius:{...n.palette.radius,...e?.palette?.radius}},semantic:{...n.semantic,...e?.semantic,colors:{...n.semantic.colors,...e?.semantic?.colors,interactive:{...n.semantic.colors.interactive,...e?.semantic?.colors?.interactive},feedback:{...n.semantic.colors.feedback,...e?.semantic?.colors?.feedback}},spacing:{...n.semantic.spacing,...e?.semantic?.spacing},typography:{...n.semantic.typography,...e?.semantic?.typography}},components:r?em(n.components,r):n.components},a=r?.activity;for(let e of[`toolBubble`,`reasoningBubble`]){let t=i.components[e]={...i.components[e]};for(let n of[`rowHeight`,`labelSize`,`iconSize`,`indent`,`bodySurface`])a?.[n]!==void 0&&(n!==`bodySurface`||r?.[e]?.bodySurface===void 0)&&(t[n]=a[n])}let o=r?.collapsibleWidget?.surface;ps(t)===`v4`&&o!==void 0&&a?.bodySurface===void 0&&(i.components.activity={...i.components.activity,bodySurface:o});let s=r?.header;s?.padding!==void 0&&s.minimalPadding===void 0&&(i.components.header.minimalPadding=i.components.header.padding);let c=r?.composer;i.components.composer={...i.components.composer},c?.padding!==void 0&&c.expandedPadding===void 0&&(i.components.composer.expandedPadding=c.padding),r?.input?.borderRadius!==void 0&&c?.expandedBorderRadius===void 0&&(i.components.composer.expandedBorderRadius=r.input.borderRadius);let l=r?.message;if(l?.gap!==void 0&&l.fullscreenGap===void 0&&(i.components.message.fullscreenGap=i.components.message.gap),t.validate!==!1){let e=$p(i);if(!e.valid)throw Error(`Theme validation failed: ${e.errors.map(e=>e.message).join(`, `)}`)}if(t.plugins)for(let e of t.plugins)i=e.transform(i);return i}const nm=e=>e.trim()===`0`?`0px`:e,rm=`--persona-`,im=e=>{if(!e)return;let t=e.trim().toLowerCase(),n;if(t.charCodeAt(0)===35){let e=t.slice(1);if(!/^[0-9a-f]+$/.test(e))return;e.length===3||e.length===4?n=[0,1,2].map(t=>parseInt(e[t]+e[t],16)):(e.length===6||e.length===8)&&(n=[0,2,4].map(t=>parseInt(e.slice(t,t+2),16)))}else{let e=t.match(/^rgba?\(([^)]+)\)$/);if(e){let t=e[1].split(/[,/\s]+/).filter(Boolean);t.length>=3&&(n=t.slice(0,3).map(e=>{let t=e.endsWith(`%`),n=parseFloat(t?e.slice(0,-1):e);return t?n/100*255:n}))}}if(!n||n.some(e=>!Number.isFinite(e)))return;let[r,i,a]=n.map(e=>{let t=Math.max(0,Math.min(255,e))/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4});return .2126*r+.7152*i+.0722*a},am=(e,t)=>{for(let[n,...r]of t){let t;for(let n of r)if(t=n.charCodeAt(0)===61?n.slice(1):e[rm+n],t!==void 0)break;t!==void 0&&(e[rm+n]=t)}},om=[[`primary`,`semantic-colors-primary`,`palette-colors-primary-500`],[`secondary`,`semantic-colors-secondary`,`palette-colors-secondary-500`],[`accent`,`semantic-colors-accent`,`palette-colors-accent-500`],[`surface`,`semantic-colors-surface`,`palette-colors-gray-50`],[`background`,`semantic-colors-background`,`palette-colors-gray-50`],[`container`,`semantic-colors-container`,`palette-colors-gray-100`],[`text`,`semantic-colors-text`,`palette-colors-gray-900`],[`text-muted`,`semantic-colors-textMuted`,`palette-colors-gray-500`],[`text-inverse`,`semantic-colors-textInverse`,`palette-colors-gray-50`],[`border`,`semantic-colors-border`,`palette-colors-gray-200`],[`divider`,`semantic-colors-divider`,`palette-colors-gray-200`],[`muted`,`text-muted`],[`font-family`,`semantic-typography-fontFamily`,`palette-typography-fontFamily-sans`],[`font-size`,`semantic-typography-fontSize`,`palette-typography-fontSize-base`],[`font-weight`,`semantic-typography-fontWeight`,`palette-typography-fontWeight-normal`],[`line-height`,`semantic-typography-lineHeight`,`palette-typography-lineHeight-normal`],[`input-font-family`,`font-family`],[`input-font-weight`,`font-weight`],[`radius-sm`,`palette-radius-sm`,`=0.125rem`],[`radius-md`,`palette-radius-md`,`=0.375rem`],[`radius-lg`,`palette-radius-lg`,`=0.5rem`],[`radius-xl`,`palette-radius-xl`,`=0.75rem`],[`radius-full`,`palette-radius-full`,`=9999px`],[`launcher-radius`,`components-launcher-borderRadius`,`palette-radius-full`,`=9999px`],[`launcher-bg`,`components-launcher-background`,`surface`],[`launcher-fg`,`components-launcher-foreground`,`primary`]],sm=e=>{let t=Qp(e),n={};for(let[e,r]of Object.entries(t)){let t=e.replace(/\./g,`-`);n[`--persona-${t}`]=r.value}return n},cm=e=>{let t=e[`--persona-components-launcher-foreground`];e[`--persona-launcher-fg-muted`]=t&&t!==e[`--persona-primary`]?`color-mix(in srgb, ${t} 70%, transparent)`:e[`--persona-muted`]},lm=e=>{if(e[`--persona-components-header-iconPadding`]===`auto`){let t=(e[`--persona-components-header-iconBackground`]??e[`--persona-primary`]).trim().toLowerCase(),n=t.match(/^(?:rgba?|hsla?)\(([^)]+)\)$/)?.[1].split(/[,\s/]+/).filter(Boolean);e[`--persona-components-header-iconPadding`]=t===`transparent`||/^#(?:[\da-f]{3}0|[\da-f]{6}00)$/.test(t)||n?.length===4&&parseFloat(n[3])===0?`0px`:`6px`}};function um(e){let t=sm(e);am(t,om),am(t,[[`ask-sheet-bg`,`components-askUserQuestion-sheet-background`],[`ask-sheet-border`,`components-askUserQuestion-sheet-border`],[`ask-sheet-shadow`,`components-askUserQuestion-sheet-shadow`],[`ask-pill-bg`,`components-askUserQuestion-pill-background`],[`ask-pill-fg`,`components-askUserQuestion-pill-foreground`],[`ask-pill-radius`,`components-askUserQuestion-pill-borderRadius`],[`ask-pill-bg-selected`,`components-askUserQuestion-pill-selectedBackground`],[`ask-pill-fg-selected`,`components-askUserQuestion-pill-selectedForeground`],[`ask-input-bg`,`components-askUserQuestion-customInput-background`],[`voice-recording-indicator`,`components-voice-recording-indicator`,`palette-colors-error-500`],[`voice-recording-bg`,`components-voice-recording-background`,`palette-colors-error-50`],[`voice-processing-icon`,`components-voice-processing-icon`,`palette-colors-primary-500`],[`voice-speaking-icon`,`components-voice-speaking-icon`,`palette-colors-success-500`],[`approval-bg`,`components-approval-requested-background`,`surface`],[`approval-border`,`components-approval-requested-border`,`border`],[`approval-text`,`components-approval-requested-text`,`palette-colors-gray-900`],[`approval-shadow`,`components-approval-requested-shadow`,`=0 1px 2px 0 rgba(11, 11, 11, 0.06), 0 2px 8px 0 rgba(11, 11, 11, 0.04)`],[`approval-approve-bg`,`components-approval-approve-background`,`button-primary-bg`],[`approval-deny-bg`,`components-approval-deny-background`,`container`],[`attachment-image-bg`,`components-attachment-image-background`,`palette-colors-gray-100`],[`attachment-image-border`,`components-attachment-image-border`,`palette-colors-gray-200`]]),cm(t),am(t,[[`launcher-border`,`components-launcher-border`,`border`],[`button-primary-bg`,`components-button-primary-background`,`primary`],[`button-primary-fg`,`components-button-primary-foreground`,`text-inverse`],[`button-radius`,`components-button-primary-borderRadius`,`palette-radius-full`,`=9999px`],[`button-stop-bg`,`components-button-stop-background`],[`button-stop-fg`,`components-button-stop-foreground`]]),am(t,[[`button-ghost-bg`,`components-button-ghost-background`,`=transparent`],[`button-ghost-fg`,`components-button-ghost-foreground`,`text`],[`button-ghost-radius`,`components-button-ghost-borderRadius`,`radius-md`,`=0.375rem`],[`button-ghost-hover-bg`,`components-button-ghost-hoverBackground`,`=rgba(0, 0, 0, 0.05)`],[`panel-radius`,`components-panel-borderRadius`,`radius-xl`,`=0.75rem`]]),t[`--persona-panel-border`]=t[`--persona-components-panel-border`]??`1px solid ${t[`--persona-border`]}`,am(t,[[`panel-shadow`,`components-panel-shadow`,`palette-shadows-xl`,`=0 25px 50px -12px rgba(0, 0, 0, 0.25)`]]),t[`--persona-panel-inset`]=t[`--persona-components-panel-inset`]??`16px`,t[`--persona-panel-canvas-bg`]=t[`--persona-components-panel-canvasBackground`]??`transparent`,am(t,[[`launcher-shadow`,`components-launcher-shadow`,`=0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)`],[`input-radius`,`components-input-borderRadius`,`radius-lg`,`=0.5rem`],[`message-user-radius`,`components-message-user-borderRadius`,`radius-lg`,`=0.5rem`],[`message-assistant-radius`,`components-message-assistant-borderRadius`,`radius-lg`,`=0.5rem`]]);let n=(n,r,i,a=``)=>{if(n)for(let[o,s,c]of i){let i=n[a+o];i&&(t[`--persona-${r}${s}`]=c?Zp(e,i)??i:i)}};am(t,[[`header-bg`,`components-header-background`,`surface`]]);let r=t[`--persona-header-bg`],i=t[`--persona-components-header-foreground`],a=i?`color-mix(in srgb, ${i} 72%, ${r})`:void 0;t[`--persona-header-border`]=t[`--persona-components-header-border`]??(i?`color-mix(in srgb, ${i} 14%, ${r})`:void 0)??t[`--persona-divider`],am(t,[[`header-icon-bg`,`components-header-iconBackground`,`primary`],[`header-icon-fg`,`components-header-iconForeground`,`text-inverse`]]),lm(t),t[`--persona-header-title-fg`]=t[`--persona-components-header-title-color`]??t[`--persona-components-header-titleForeground`]??i??t[`--persona-primary`],t[`--persona-header-subtitle-fg`]=t[`--persona-components-header-subtitle-color`]??t[`--persona-components-header-subtitleForeground`]??a??t[`--persona-text-muted`],t[`--persona-header-action-icon-fg`]=t[`--persona-components-header-actionIconForeground`]??a??t[`--persona-muted`],am(t,[[`header-control-size`,`components-header-controlSize`,`=32px`],[`header-control-icon-size`,`components-header-controlIconSize`,`=16px`]]),n(e.components?.header,`header-`,[[`shadow`,`shadow`],[`borderBottom`,`border-bottom`],[`minHeight`,`min-height`]]),n(t,`history-rail-header-`,[[`background`,`bg`],[`border`,`border`],[`minHeight`,`min-height`]],`--persona-components-history-railHeader-`),n(t,`history-overlay-`,[[`margin`,`margin`],[`borderRadius`,`radius`],[`shadow`,`shadow`],[`background`,`bg`]],`--persona-components-history-overlay-`),n(t,`history-menu-`,[[`background`,`bg`],[`borderRadius`,`radius`]],`--persona-components-history-menu-`);let o=e.components?.history?.motion;if(o){let e=e=>{if(e===void 0)return;let t=String(e).trim();return/^\d+(\.\d+)?$/.test(t)?`${t}ms`:t},n=e(o.enterDurationMs);n!==void 0&&(t[`--persona-history-enter-ms`]=n);let r=e(o.exitDurationMs);r!==void 0&&(t[`--persona-history-exit-ms`]=r),o.enterEasing&&(t[`--persona-history-enter-easing`]=o.enterEasing),o.exitEasing&&(t[`--persona-history-exit-easing`]=o.exitEasing)}let s=t[`--persona-components-history-dangerForeground`];s&&(t[`--persona-history-danger-fg`]=s),t[`--persona-danger`]=t[`--persona-components-history-confirm-dangerBackground`]??t[`--persona-palette-colors-error-700`]??`#b42318`,t[`--persona-danger-fg`]=t[`--persona-components-history-confirm-dangerForeground`]??`#ffffff`;for(let e of[`scrim`,`shadow`]){let n=t[`--persona-components-history-confirm-${e}`];n&&(t[`--persona-history-confirm-${e}`]=n)}n(t,`tooltip-`,[[`background`,`background`],[`foreground`,`foreground`],[`hintForeground`,`hint-fg`],[`borderRadius`,`radius`],[`fontSize`,`font-size`],[`padding`,`padding`],[`maxWidth`,`max-width`],[`shadow`,`shadow`]],`--persona-components-tooltip-`),e.components?.tooltip?.arrow===!1&&(t[`--persona-tooltip-arrow-display`]=`none`),n(t,`scroll-to-bottom-count-`,[[`background`,`bg`],[`foreground`,`fg`],[`border`,`border`],[`borderRadius`,`radius`],[`size`,`size`],[`padding`,`padding`],[`fontSize`,`font-size`],[`fontWeight`,`font-weight`]],`--persona-components-scrollToBottom-countBadge-`),n(t,`scroll-to-bottom-approval-`,[[`background`,`bg`],[`foreground`,`fg`],[`border`,`border`],[`fontWeight`,`font-weight`]],`--persona-components-scrollToBottom-approval-`),n(t,`message-action-`,[[`background`,`bg`],[`border`,`border`],[`hoverBackground`,`hover-bg`],[`hoverForeground`,`hover-fg`],[`borderRadius`,`radius`]],`--persona-components-messageActions-`),n(t,`user-collapse-`,[[`fadeHeight`,`fade-height`],[`toggleForeground`,`toggle-fg`],[`toggleFontSize`,`toggle-font-size`],[`toggleFontWeight`,`toggle-font-weight`]],`--persona-components-userMessageCollapse-`),am(t,[[`intro-card-bg`,`components-introCard-background`,`=transparent`],[`intro-card-radius`,`components-introCard-borderRadius`,`=1rem`]]);let c=t[`--persona-components-introCard-background`],l=t[`--persona-components-introCard-shadow`],u=(!c||c===`transparent`||c===`none`)&&(!l||l===`none`),d=t[`--persona-components-introCard-padding`]??`1.5rem`;t[`--persona-intro-card-padding`]=u&&d===`1.5rem`?`1.5rem 0`:d,am(t,[[`intro-card-shadow`,`components-introCard-shadow`,`=none`],[`intro-card-border`,`components-introCard-border`,`=none`],[`input-background`,`components-input-background`,`surface`],[`input-placeholder`,`components-input-placeholder`,`text-muted`],[`input-backdrop-filter`,`components-input-backdropFilter`,`=none`],[`message-user-bg`,`components-message-user-background`,`accent`],[`message-user-text`,`components-message-user-text`,`text-inverse`],[`message-user-shadow`,`components-message-user-shadow`,`=0 5px 15px rgba(15, 23, 42, 0.08)`],[`message-assistant-bg`,`components-message-assistant-background`,`surface`],[`message-assistant-text`,`components-message-assistant-text`,`text`],[`message-assistant-border`,`components-message-assistant-border`,`border`],[`message-assistant-shadow`,`components-message-assistant-shadow`,`=0 1px 2px 0 rgb(0 0 0 / 0.05)`],[`scroll-to-bottom-bg`,`components-scrollToBottom-background`,`button-primary-bg`,`accent`],[`scroll-to-bottom-fg`,`components-scrollToBottom-foreground`,`button-primary-fg`,`text-inverse`],[`scroll-to-bottom-border`,`components-scrollToBottom-border`,`primary`],[`scroll-to-bottom-size`,`components-scrollToBottom-size`,`=40px`],[`scroll-to-bottom-radius`,`components-scrollToBottom-borderRadius`,`button-radius`,`radius-full`,`=9999px`],[`scroll-to-bottom-shadow`,`components-scrollToBottom-shadow`,`palette-shadows-sm`,`=0 1px 2px 0 rgb(0 0 0 / 0.05)`],[`scroll-to-bottom-padding`,`components-scrollToBottom-padding`,`=0.5rem 0.875rem`],[`scroll-to-bottom-gap`,`components-scrollToBottom-gap`,`=0.5rem`],[`scroll-to-bottom-font-size`,`components-scrollToBottom-fontSize`,`palette-typography-fontSize-sm`,`=0.875rem`],[`scroll-to-bottom-icon-size`,`components-scrollToBottom-iconSize`,`=14px`],[`event-badge-flow-bg`,`components-eventStream-badge-flow-background`,`=#dcfce7`],[`event-badge-flow-fg`,`components-eventStream-badge-flow-foreground`,`=#15803d`],[`event-badge-step-bg`,`components-eventStream-badge-step-background`,`=#f5f5f5`],[`event-badge-step-fg`,`components-eventStream-badge-step-foreground`,`=#0a0a0a`],[`event-badge-reasoning-bg`,`components-eventStream-badge-reasoning-background`,`=#fef9c3`],[`event-badge-reasoning-fg`,`components-eventStream-badge-reasoning-foreground`,`=#a16207`],[`event-badge-tool-bg`,`components-eventStream-badge-tool-background`,`=#f3e8ff`],[`event-badge-tool-fg`,`components-eventStream-badge-tool-foreground`,`=#6b21a8`],[`event-badge-agent-bg`,`components-eventStream-badge-agent-background`,`=#ccfbf1`],[`event-badge-agent-fg`,`components-eventStream-badge-agent-foreground`,`=#115e59`],[`event-badge-error-bg`,`components-eventStream-badge-error-background`,`=#fee2e2`],[`event-badge-error-fg`,`components-eventStream-badge-error-foreground`,`=#b91c1c`],[`event-badge-default-bg`,`components-eventStream-badge-default-background`,`=#f3f4f6`],[`event-badge-default-fg`,`components-eventStream-badge-default-foreground`,`=#4b5563`],[`tool-bubble-shadow`,`components-toolBubble-shadow`,`=0 5px 15px rgba(15, 23, 42, 0.08)`],[`reasoning-bubble-shadow`,`components-reasoningBubble-shadow`,`=0 5px 15px rgba(15, 23, 42, 0.08)`],[`composer-shadow`,`components-composer-shadow`,`=none`]]),am(t,[[`panel-background`,`components-panel-background`,`surface`],[`transcript-background`,`components-message-background`,`container`],[`transcript-top-fade-background`,`components-message-topFadeBackground`,`transcript-background`],[`composer-footer-background`,`components-composer-footerBackground`,`surface`],[`composer-footer-padding`,`components-composer-footerPadding`,`=1rem 1.5rem`],[`composer-padding`,`components-composer-padding`,`=0.75rem 1rem`],[`composer-gap`,`components-composer-gap`,`=0.5rem`],[`composer-font-size`,`components-composer-fontSize`,`=0.875rem`],[`composer-line-height`,`components-composer-lineHeight`,`=1.25rem`],[`composer-control-size`,`components-composer-controlSize`,`=40px`],[`composer-control-icon-size`,`components-composer-controlIconSize`,`=24px`],[`motion-duration-fast`,`components-motion-durationFast`,`=120ms`],[`motion-duration-base`,`components-motion-durationBase`,`=200ms`],[`motion-easing`,`components-motion-easing`,`=cubic-bezier(0.2, 0, 0, 1)`],[`composer-border-color`,`components-composer-borderColor`,`border`,`=#e5e7eb`],[`composer-overlay-band`,`components-composer-overlayBand`,`=transparent`],[`scrollbar-thumb`,`components-scrollbar-thumb`,`border`,`=#e5e7eb`],[`scrollbar-track`,`components-scrollbar-track`,`=transparent`],[`md-inline-code-bg`,`components-markdown-inlineCode-background`,`container`],[`md-inline-code-color`,`components-markdown-inlineCode-foreground`,`text`],[`md-link-color`,`components-markdown-link-foreground`,`accent`,`=#0f0f0f`]]),n(t,`md-`,[[`h1-fontSize`,`h1-size`],[`h1-fontWeight`,`h1-weight`],[`h2-fontSize`,`h2-size`],[`h2-fontWeight`,`h2-weight`]],`--persona-components-markdown-heading-`);let f=t[`--persona-components-markdown-prose-fontFamily`];f&&f!==`inherit`&&(t[`--persona-md-prose-font-family`]=f),am(t,[[`md-code-block-bg`,`components-markdown-codeBlock-background`,`container`],[`md-code-block-border-color`,`components-markdown-codeBlock-borderColor`,`border`],[`md-code-block-text-color`,`components-markdown-codeBlock-textColor`,`=inherit`]]),am(t,[[`md-code-block-border-radius`,`components-markdown-codeBlock-borderRadius`,`radius-md`,`=0.375rem`]]),am(t,[[`md-table-header-bg`,`components-markdown-table-headerBackground`,`container`],[`md-table-border-color`,`components-markdown-table-borderColor`,`border`]]),am(t,[[`md-hr-color`,`components-markdown-hr-color`,`divider`]]),am(t,[[`md-blockquote-border-color`,`components-markdown-blockquote-borderColor`,`palette-colors-gray-900`],[`md-blockquote-bg`,`components-markdown-blockquote-background`,`=transparent`],[`md-blockquote-text-color`,`components-markdown-blockquote-textColor`,`palette-colors-gray-500`]]);for(let[e,n]of[[`container`,`surface`],[`surface`,`surface`],[`border`,`border`]]){let r=t[`--persona-components-collapsibleWidget-${e}`]??t[`--persona-${n}`];r!==void 0&&(t[`--persona-cw-${e}`]=r,t[`--cw-${e}`]=r)}am(t,[[`message-border`,`components-message-border`,`border`]]),am(t,[[`message-user-padding`,`components-message-user-padding`],[`message-user-max-width`,`components-message-user-maxWidth`],[`message-user-font-size`,`components-message-user-fontSize`],[`message-user-font-family`,`components-message-user-fontFamily`],[`message-user-line-height`,`components-message-user-lineHeight`],[`message-assistant-padding`,`components-message-assistant-padding`],[`message-assistant-border-width`,`components-message-assistant-borderWidth`],[`message-assistant-max-width`,`components-message-assistant-maxWidth`],[`message-assistant-font-size`,`components-message-assistant-fontSize`],[`message-assistant-font-family`,`components-message-assistant-fontFamily`],[`message-assistant-line-height`,`components-message-assistant-lineHeight`],[`message-operator-padding`,`components-message-operator-padding`],[`message-operator-max-width`,`components-message-operator-maxWidth`],[`message-operator-font-size`,`components-message-operator-fontSize`],[`message-operator-font-family`,`components-message-operator-fontFamily`],[`message-operator-line-height`,`components-message-operator-lineHeight`]]);let p=e.components;n(p?.iconButton,`icon-btn-`,[[`background`,`bg`],[`border`,`border`],[`color`,`color`],[`padding`,`padding`],[`borderRadius`,`radius`],[`hoverBackground`,`hover-bg`],[`hoverColor`,`hover-color`],[`activeBackground`,`active-bg`],[`activeBorder`,`active-border`]]),n(p?.labelButton,`label-btn-`,[[`background`,`bg`],[`border`,`border`],[`color`,`color`],[`padding`,`padding`],[`borderRadius`,`radius`],[`hoverBackground`,`hover-bg`],[`fontSize`,`font-size`],[`gap`,`gap`]]),n(p?.toggleGroup,`toggle-group-`,[[`gap`,`gap`],[`borderRadius`,`radius`]]);let m=p?.artifact;if(m?.toolbar){let r=m.toolbar;n(r,`artifact-toolbar-icon-`,[[`iconHoverColor`,`hover-color`],[`iconHoverBackground`,`hover-bg`],[`iconPadding`,`padding`],[`iconBorderRadius`,`radius`],[`iconBorder`,`border`]]),r.toggleGroupGap&&(t[`--persona-artifact-toolbar-toggle-group-gap`]=nm(r.toggleGroupGap)),r.toggleBorderRadius&&(t[`--persona-artifact-toolbar-toggle-radius`]=r.toggleBorderRadius),r.toggleGroupPadding&&(t[`--persona-artifact-toolbar-toggle-group-padding`]=nm(r.toggleGroupPadding)),n(r,`artifact-toolbar-toggle-group-`,[[`toggleGroupBorder`,`border`],[`toggleGroupBorderRadius`,`radius`]]),r.toggleGroupBackground&&(t[`--persona-artifact-toolbar-toggle-group-bg`]=Zp(e,r.toggleGroupBackground)??r.toggleGroupBackground),n(r,`artifact-toolbar-copy-`,[[`copyBackground`,`bg`],[`copyBorder`,`border`],[`copyColor`,`color`]]),r.copyBorderRadius&&(t[`--persona-artifact-toolbar-copy-radius`]=nm(r.copyBorderRadius)),r.copyPadding&&(t[`--persona-artifact-toolbar-copy-padding`]=r.copyPadding),r.copyMenuBackground&&(t[`--persona-artifact-toolbar-copy-menu-bg`]=r.copyMenuBackground,t[`--persona-dropdown-bg`]=t[`--persona-dropdown-bg`]??r.copyMenuBackground),r.copyMenuBorder&&(t[`--persona-artifact-toolbar-copy-menu-border`]=r.copyMenuBorder,t[`--persona-dropdown-border`]=t[`--persona-dropdown-border`]??r.copyMenuBorder),r.copyMenuShadow&&(t[`--persona-artifact-toolbar-copy-menu-shadow`]=r.copyMenuShadow,t[`--persona-dropdown-shadow`]=t[`--persona-dropdown-shadow`]??r.copyMenuShadow),r.copyMenuBorderRadius&&(t[`--persona-artifact-toolbar-copy-menu-radius`]=r.copyMenuBorderRadius,t[`--persona-dropdown-radius`]=t[`--persona-dropdown-radius`]??r.copyMenuBorderRadius),r.copyMenuItemHoverBackground&&(t[`--persona-artifact-toolbar-copy-menu-item-hover-bg`]=r.copyMenuItemHoverBackground,t[`--persona-dropdown-item-hover-bg`]=t[`--persona-dropdown-item-hover-bg`]??r.copyMenuItemHoverBackground),n(r,`artifact-toolbar-`,[[`iconBackground`,`icon-bg`],[`toolbarBorder`,`border`]])}if(m?.tab){let e=m.tab;n(e,`artifact-tab-`,[[`background`,`bg`],[`activeBackground`,`active-bg`],[`activeBorder`,`active-border`],[`borderRadius`,`radius`],[`textColor`,`color`],[`hoverBackground`,`hover-bg`],[`listBackground`,`list-bg`],[`listBorderColor`,`list-border-color`],[`listPadding`,`list-padding`]])}if(m?.pane){let n=m.pane;n.toolbarBackground&&(t[`--persona-artifact-toolbar-bg`]=Zp(e,n.toolbarBackground)??n.toolbarBackground)}n(m?.card,`artifact-card-`,[[`background`,`bg`,!0],[`border`,`border`],[`borderRadius`,`radius`,!0],[`hoverBackground`,`hover-bg`,!0],[`hoverBorderColor`,`hover-border`,!0]]),n(m?.inline,`artifact-inline-`,[[`background`,`bg`,!0],[`border`,`border`],[`borderRadius`,`radius`,!0],[`chromeBackground`,`chrome-bg`,!0],[`chromeBorder`,`chrome-border`,!0],[`titleColor`,`title-color`,!0],[`mutedColor`,`muted-color`,!0],[`frameHeight`,`frame-height`]]);let h=p?.code;h&&(n(h,`code-`,[[`keywordColor`,`keyword-color`],[`stringColor`,`string-color`],[`commentColor`,`comment-color`],[`numberColor`,`number-color`],[`tagColor`,`tag-color`],[`attrColor`,`attr-color`],[`propertyColor`,`property-color`],[`lineNumberColor`,`line-number-color`],[`gutterBorderColor`,`gutter-border-color`]]),h.background&&(t[`--persona-code-bg`]=Zp(e,h.background)??h.background));let g=t[`--persona-surface`],_=t[`--persona-container`],v=t[`--persona-palette-colors-gray-100`]??`#f3f4f6`,y=t[`--persona-palette-colors-gray-200`]??`#e5e7eb`,b=t[`--persona-palette-colors-gray-300`]??`#d1d5db`,x=!_||_===g,S=im(g??t[`--persona-background`]),C=x&&S!==void 0&&S<.179,ee=C?`rgba(255, 255, 255, 0.08)`:v,w=C?`rgba(255, 255, 255, 0.12)`:y,te=C?`rgba(255, 255, 255, 0.16)`:b,T=x?ee:_,E=x?w:_;return t[`--persona-icon-btn-hover-bg`]=t[`--persona-icon-btn-hover-bg`]??T,t[`--persona-icon-btn-active-bg`]=t[`--persona-icon-btn-active-bg`]??E,x&&(t[`--persona-icon-btn-active-border`]=t[`--persona-icon-btn-active-border`]??te),t[`--persona-label-btn-hover-bg`]=t[`--persona-label-btn-hover-bg`]??T,t[`--persona-artifact-tab-hover-bg`]=t[`--persona-artifact-tab-hover-bg`]??T,t[`--persona-artifact-card-hover-bg`]=t[`--persona-artifact-card-hover-bg`]??T,t}const dm={header:`Widget header bar`,messages:`Message list area`,"user-message":`User message bubble`,"assistant-message":`Assistant message bubble`,"operator-message":`Operator message bubble`,composer:`Footer / composer area`,container:`Main widget container`,"artifact-pane":`Artifact sidebar`,"artifact-toolbar":`Artifact toolbar`,"artifact-inline":`Inline artifact block`,"artifact-inline-chrome":`Inline artifact title bar`};Ds(),fs(),br(),fr(),Gr();const fm=e=>!!e&&`launcher`in e&&(e.launcher?.sidebarMode===!0||e.launcher?.mountMode===`docked`),pm=(e,t)=>{if(!t||!fm(t))return e;let n=t.theme?.components?.panel?.width,r=t.darkTheme?.components?.panel?.width;return(wm(t)===`dark`?r??n:n)==null?{...e,components:{...e.components,panel:{...e.components.panel,width:ps(t)===`v5`?`400px`:`420px`}}}:e},mm={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`}}},hm={components:{button:{ghost:{hoverBackground:`rgba(255, 255, 255, 0.08)`}},markdown:{link:{foreground:`palette.colors.primary.300`}},eventStream:{badge:{flow:{background:`palette.colors.success.900`,foreground:`palette.colors.success.300`},step:{background:`palette.colors.primary.800`,foreground:`palette.colors.primary.200`},reasoning:{background:`palette.colors.warning.900`,foreground:`palette.colors.warning.300`},tool:{background:`palette.colors.purple.900`,foreground:`palette.colors.purple.300`},agent:{background:`palette.colors.teal.900`,foreground:`palette.colors.teal.300`},error:{background:`palette.colors.error.900`,foreground:`palette.colors.error.300`},default:{background:`palette.colors.gray.800`,foreground:`palette.colors.gray.300`}}},history:{dangerForeground:`#f87171`,confirm:{dangerBackground:`palette.colors.error.600`,scrim:`rgba(0, 0, 0, 0.6)`}}}},gm=mm,_m={...gm,colors:{...gm.colors,primary:{50:`#0f0f10`,100:`#27272a`,200:`#3f3f46`,300:`#52525b`,400:`#71717a`,500:`#f4f4f5`,600:`#e4e4e7`,700:`#d4d4d8`,800:`#a1a1aa`,900:`#fafafa`,950:`#ffffff`},gray:{50:`#1a1a1b`,100:`#27272a`,200:`#2a2a2d`,300:`#52525b`,400:`#71717a`,500:`#a1a1aa`,600:`#b4b4bd`,700:`#d4d4d8`,800:`#e4e4e7`,900:`#f4f4f5`,950:`#fafafa`}}},vm=hm,ym={semantic:{colors:{primary:`palette.colors.primary.500`,accent:`palette.colors.primary.600`,background:`#0f0f10`,surface:`palette.colors.gray.50`,container:`#1c1c20`,text:`palette.colors.gray.900`,textMuted:`palette.colors.gray.500`,textInverse:`#0f0f10`,border:`palette.colors.gray.200`,divider:`palette.colors.gray.200`,interactive:{default:`palette.colors.primary.600`,hover:`palette.colors.primary.700`,focus:`palette.colors.primary.600`,active:`palette.colors.primary.600`}}},components:{...hm.components,button:{...hm.components?.button,primary:{background:`semantic.colors.primary`,foreground:`palette.colors.primary.50`}},markdown:{inlineCode:{background:`palette.colors.gray.100`,foreground:`semantic.colors.text`},link:{foreground:`semantic.colors.accent`},codeBlock:{background:`semantic.colors.container`,borderColor:`semantic.colors.border`,textColor:`semantic.colors.text`},table:{headerBackground:`palette.colors.gray.100`,borderColor:`semantic.colors.border`},blockquote:{background:`semantic.colors.container`,borderColor:`palette.colors.gray.300`,textColor:`semantic.colors.textMuted`}},eventStream:{...hm.components?.eventStream,badge:{...hm.components?.eventStream?.badge,step:{background:`palette.colors.gray.100`,foreground:`palette.colors.gray.700`},default:{background:`palette.colors.gray.100`,foreground:`palette.colors.gray.700`}}}}},bm=e=>ps({future:e})===`v5`?{palette:_m,components:ym}:{palette:gm,components:vm},xm=e=>{if(e&&typeof e==`object`&&!Array.isArray(e))return e},Sm=()=>typeof document<`u`&&document.documentElement.classList.contains(`dark`)||typeof window<`u`&&window.matchMedia?.(`(prefers-color-scheme: dark)`).matches?`dark`:`light`,Cm=e=>{let t=e?.colorScheme??vr(e?.brand)??`light`;return t===`light`?`light`:t===`dark`?`dark`:Sm()},wm=e=>Cm(e),Tm=(e,t={})=>tm(e,t),Em=(e,t={})=>{let n=bm(t.future),r=ur(n.components,e??{})??{};return tm({...r,palette:{...r.palette,colors:ps(t)===`v5`?ur(n.palette.colors,r.palette?.colors):{...n.palette.colors,...r.palette?.colors}}},{validate:!1,future:t.future})},Dm=e=>{let t=wm(e),n=ur(yr(e?.brand,t,Xp(e?.future).components,e?.future?.v5Defaults),xm(e?.theme)),r=ur({components:{launcher:jp(e)===`circle`?Mp:{...Kp.launcher,...e?.future?.v5Defaults?{offset:`1.5rem`}:{}},...us(e)?{panel:{background:`transparent`,modes:{inline:{border:`none`,shadow:`none`,borderRadius:`0`}}},header:{background:`transparent`},message:{background:`transparent`},composer:{footerBackground:`transparent`,footerBorder:`none`,overlayBand:`transparent`}}:{}}},n),i=xm(e?.darkTheme),a=pm(t===`dark`?Em(ur(r??{},i??{}),{future:e?.future}):Tm(r,{future:e?.future}),e);return Object.defineProperty(a,Om,{value:[...Nr,`suggestion.chip.padding`,`suggestion.chip.fontWeight`].filter(n=>Wr(e,n,t))}),a},Om=Symbol(`persona.themeConsumerPaths`),km=e=>{let t=um(e);t[`--persona-suggestion-compat-padding`]=`6px 12px`,t[`--persona-suggestion-compat-weight`]=`500`;for(let n of e[Om]??[]){let e=n.split(`.`).join(`-`),r=t[`--persona-components-${e}`];r!==void 0&&(t[n===`suggestion.chip.padding`?`--persona-suggestion-compat-padding`:n===`suggestion.chip.fontWeight`?`--persona-suggestion-compat-weight`:`--persona-consumer-${e}`]=r)}return t},Am=/* @__PURE__ */ new WeakMap,jm=(e,t)=>{Mm(e,km(Dm(t)),t)},Mm=(e,t,n)=>{for(let n of Am.get(e)??[])n in t||e.style.removeProperty(n);Am.set(e,Object.keys(t));for(let[n,r]of Object.entries(t))e.style.setProperty(n,r);e.setAttribute(`data-persona-color-scheme`,wm(n)),e.setAttribute(`data-persona-defaults`,ps(n))},Nm=e=>{let t=[];if(typeof document<`u`&&typeof MutationObserver<`u`){let n=new MutationObserver(()=>{e(Sm())});n.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),t.push(()=>n.disconnect())}if(typeof window<`u`&&window.matchMedia){let n=window.matchMedia(`(prefers-color-scheme: dark)`),r=()=>e(Sm());n.addEventListener?(n.addEventListener(`change`,r),t.push(()=>n.removeEventListener(`change`,r))):n.addListener&&(n.addListener(r),t.push(()=>n.removeListener(r)))}return()=>{t.forEach(e=>e())}},Pm=(e,t)=>e?.layout?.contentMaxWidth??(t?e?.launcher?.composerBar?.contentMaxWidth??`720px`:`768px`),Fm=(e,t)=>t||e?.composer?.placement!==`overlay`?`block`:`overlay`,Im=e=>{if(typeof e!=`string`)return null;let t=/^\s*(\d+(?:\.\d+)?)\s*%\s*$/.exec(e);if(!t)return null;let n=Number(t[1])/100;return n>0&&n<1?n:null},Lm=e=>Math.max(0,Math.round(e.columnHeight*(1-e.fraction))-e.footerHeight),Rm=()=>{if(typeof navigator>`u`)return!1;let e=navigator.userAgentData?.platform??navigator.platform??``;return/mac|iphone|ipad|ipod/i.test(e)},zm=(e,t)=>{console.warn(`[persona] ${e} shortcut: ${t}`)},Bm=e=>{let t=e.toLowerCase().split(`+`).map(e=>e.trim()),n=t.pop(),r={key:n,mod:!1,shift:!1,alt:!1};for(let n of t)if(n===`mod`||n===`cmd`||n===`ctrl`)r.mod=!0;else if(n===`shift`)r.shift=!0;else if(n===`alt`||n===`option`)r.alt=!0;else return zm(`unknown modifier in`,e),null;return!r.mod||r.shift&&r.alt||/^(enter|esc(ape)?)$/.test(n)||!/^([^+\s]|[a-z]{2,12})$/.test(n)?(zm(`unsupported`,e),null):(n===`space`&&(r.key=` `),r)},Vm=e=>`ArrowUp ArrowDown ArrowLeft ArrowRight PageUp PageDown Space`.split(` `).find(t=>t.toLowerCase()===e)??(e===` `?`Space`:e.length===1?e.toUpperCase():e[0].toUpperCase()+e.slice(1)),Hm=(e,t)=>{let n=Bm(e);if(!n)return``;let r=Rm(),i=Vm(n.key);if(!t&&r)return`${n.alt?`⌥`:``}${n.shift?`⇧`:``}⌘${i}`;let a=[t?r?`Meta`:`Control`:`Ctrl`];return n.alt&&a.push(`Alt`),n.shift&&a.push(`Shift`),a.push(i),a.join(`+`)},Um=e=>Hm(e,!1),Wm=e=>Hm(e,!0),Gm=(e,t)=>t.key?.toLowerCase()===e.key&&(Rm()?t.metaKey:t.ctrlKey)===e.mod&&!(Rm()?t.ctrlKey:t.metaKey)&&t.shiftKey===e.shift&&t.altKey===e.alt,Km=e=>{if(!(e instanceof HTMLElement))return!1;let t=e.tagName;return t===`INPUT`||t===`TEXTAREA`||t===`SELECT`||e.isContentEditable},qm=e=>{let t=/* @__PURE__ */ new Map,n=e?.ownerDocument??(typeof document<`u`?document:null),r=(t,n)=>{if((t.scope??`widget`)===`page`)return!0;if(!e)return!1;let r=n.composedPath?.();return r?.length?r.includes(e):e.contains(n.target)},i=e=>{if(e.isComposing||!t.size)return;let n=e.composedPath?.()[0]??e.target;for(let i of t.values())if(Gm(i.parsed,e)&&i.when?.()!==!1&&r(i,e)&&(i.allowInInput||!Km(n))){e.preventDefault();try{i.run(e)}catch(e){zm(`${i.id} threw on`,i.combo),console.warn(e)}return}};return n?.addEventListener(`keydown`,i),{register(e){let n=Bm(e.combo);if(!n)return()=>{};let r=`${n.mod?`m`:``}${n.shift?`s`:``}${n.alt?`a`:``}${n.key}`,i=t.get(r);return i?(zm(`${i.id} already owns`,e.combo),()=>{}):(t.set(r,{...e,parsed:n}),e.element?.setAttribute(`aria-keyshortcuts`,Wm(e.combo)),()=>{t.get(r)?.id===e.id&&t.delete(r),e.element?.removeAttribute(`aria-keyshortcuts`)})},destroy(){t.clear(),n?.removeEventListener(`keydown`,i)}}},Jm=(e,t,n={})=>{let{preserveTypingAnimation:r=!0}=n;zt.morph(e,t.innerHTML,{morphStyle:`innerHTML`,callbacks:{beforeNodeMorphed(e,t){if(e instanceof HTMLElement){if(t instanceof HTMLElement&&t.hasAttribute(`data-persona-reuse`)&&e.id===t.id)return!1;if(r){if(e.classList.contains(`persona-animate-typing`)||e.hasAttribute(`data-preserve-runtime`))return!1;if(e.hasAttribute(`data-tool-elapsed`))return t instanceof HTMLElement&&t.getAttribute(`data-tool-elapsed`)===e.getAttribute(`data-tool-elapsed`)?!1:void 0;if(e.hasAttribute(`data-preserve-animation`))return t instanceof HTMLElement&&(!t.hasAttribute(`data-preserve-animation`)||(e.dataset.personaLoadingLabel?e.dataset.personaLoadingAnimation!==t.dataset.personaLoadingAnimation:e.textContent!==t.textContent))&&void 0}}}}})},Ym=e=>e.replace(/^\n+/,``).replace(/\s+$/,``),Xm={index:-1,draft:``};function Zm(e){let{direction:t,history:n,currentValue:r,atStart:i,state:a}=e,o=a.index!==-1;if(n.length===0)return{handled:!1,state:a};if(t===`up`){if(!o&&!i)return{handled:!1,state:a};if(!o){let e=n.length-1;return{handled:!0,value:n[e],state:{index:e,draft:r}}}if(a.index>0){let e=a.index-1;return{handled:!0,value:n[e],state:{index:e,draft:a.draft}}}return{handled:!0,state:a}}if(!o)return{handled:!1,state:a};if(a.index<n.length-1){let e=a.index+1;return{handled:!0,value:n[e],state:{index:e,draft:a.draft}}}return{handled:!0,value:a.draft,state:{index:-1,draft:a.draft}}}const Qm=/* @__PURE__ */ new WeakMap;function $m(e){if(typeof e==`string`)return e.length;if(!e)return 0;if(typeof e!=`object`)return JSON.stringify(e)?.length??0;let t=Qm.get(e);return t===void 0&&(t=JSON.stringify(e)?.length??0,Qm.set(e,t)),t}function eh(e,t){return[e.id,e.role,e.author?.id??``,e.author?.displayName??``,e.author?.kind??``,e.content?.length??0,e.content?.slice(-32)??``,e.streaming?`1`:`0`,e.voiceProcessing?`1`:`0`,e.variant??``,e.dispatchError?`1`:`0`,e.rawContent?.length??0,e.llmContent?.length??0,e.approval?.status??``,e.toolCall?.status??``,e.toolCall?.name??``,e.toolCall?.chunks?.length??0,e.toolCall?.chunks?.[e.toolCall.chunks.length-1]?.slice(-32)??``,$m(e.toolCall?.args),e.reasoning?.chunks?.length??0,e.reasoning?.chunks?.[e.reasoning.chunks.length-1]?.length??0,e.reasoning?.chunks?.[e.reasoning.chunks.length-1]?.slice(-32)??``,e.contentParts?.length??0,e.stopReason??``,e.toolCall?.actionTitle??``,t].join(`\0`)}function th(){return/* @__PURE__ */ new Map}function nh(e,t,n){let r=e.get(t);return r&&r.fingerprint===n?r.wrapper:null}function rh(e,t,n,r){e.set(t,{fingerprint:n,wrapper:r})}function ih(e,t){for(let n of e.keys())t.has(n)||e.delete(n)}const ah={type:`none`,placeholder:`none`,speed:120,duration:1800,buffer:`none`},oh=[`pre`,`code`,`a`,`script`,`style`],sh=e=>({type:e?.type??ah.type,placeholder:e?.placeholder??ah.placeholder,speed:e?.speed??ah.speed,duration:e?.duration??ah.duration,buffer:e?.buffer??ah.buffer}),ch=[{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`}],lh=/* @__PURE__ */ new Map;for(let e of ch)lh.set(e.name,e);const uh=[`wipe`,`glyph-cycle`],dh=e=>{lh.set(e.name,e)},fh=e=>{ch.some(t=>t.name===e)||lh.delete(e)},ph=()=>Array.from(lh.keys()),mh=(e,t)=>e===`none`?null:t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]??null:lh.get(e)??null,hh=(e,t,n,r,i)=>{if(!i)return e;if(n?.bufferContent)return n.bufferContent(e,r);if(!e)return e;if(t===`word`){let t=e.search(/\s(?=\S*$)/);return t<0?``:e.slice(0,t)}if(t===`line`){let t=e.lastIndexOf(`
23
+ `);return t<0?``:e.slice(0,t)}return e},gh=(e,t,n,r)=>{let i=e.createElement(`span`);return i.className=`persona-stream-char`,i.id=`stream-c-${n}-${r}`,i.style.setProperty(`--char-index`,String(r)),i.textContent=t,i},_h=(e,t,n,r)=>{let i=e.createElement(`span`);return i.className=`persona-stream-word`,i.id=`stream-w-${n}-${r}`,i.style.setProperty(`--word-index`,String(r)),i.textContent=t,i},vh=/\s/,yh=(e,t)=>{let n=e.parentNode;for(;n;){if(n.nodeType===1){let e=n;if(t.has(e.tagName.toLowerCase()))return!0}n=n.parentNode}return!1},bh=(e,t,n)=>{let r=e.ownerDocument,i=e.parentNode;if(!r||!i)return;let a=e.nodeValue??``;if(!a)return;let o=r.createDocumentFragment(),s=0;for(;s<a.length;)if(vh.test(a[s])){let e=s;for(;e<a.length&&vh.test(a[e]);)e+=1;o.appendChild(r.createTextNode(a.slice(s,e))),s=e}else{let e=r.createElement(`span`);e.className=`persona-stream-word-group`;let i=s;for(;i<a.length&&!vh.test(a[i]);)e.appendChild(gh(r,a[i],t,n.value)),n.value+=1,i+=1;o.appendChild(e),s=i}i.replaceChild(o,e)},xh=(e,t,n)=>{let r=e.ownerDocument,i=e.parentNode;if(!r||!i)return;let a=e.nodeValue??``;if(!a)return;let o=r.createDocumentFragment(),s=a.split(/(\s+)/);for(let e of s)e&&(/^\s+$/.test(e)?o.appendChild(r.createTextNode(e)):(o.appendChild(_h(r,e,t,n.value)),n.value+=1));i.replaceChild(o,e)},Sh=(e,t,n,r)=>{if(!e||typeof document>`u`)return e;let i=document.createElement(`div`);i.innerHTML=e;let a=new Set((r?.skipTags??oh).map(e=>e.toLowerCase())),o=document.createTreeWalker(i,NodeFilter.SHOW_TEXT,null),s=[],c=o.nextNode();for(;c;)yh(c,a)||s.push(c),c=o.nextNode();let l={value:r?.startIndex??0},u=t===`char`?bh:xh;for(let e of s)u(e,n,l);return i.innerHTML},Ch=(e=document)=>{let t=e.createElement(`span`);return t.className=`persona-stream-caret`,t.setAttribute(`aria-hidden`,`true`),t.setAttribute(`data-preserve-animation`,`stream-caret`),t},wh=(e=document)=>{let t=e.createElement(`div`);t.className=`persona-stream-skeleton`,t.setAttribute(`data-preserve-animation`,`stream-skeleton`),t.setAttribute(`aria-hidden`,`true`);let n=e.createElement(`div`);return n.className=`persona-stream-skeleton-line`,t.appendChild(n),t},Th=/* @__PURE__ */ new WeakMap,Eh=(e,t)=>{if(!e.styles)return;let n=Th.get(t);if(n||(n=/* @__PURE__ */ new Set,Th.set(t,n)),n.has(e.name)){let r=e.name.replace(/["\\]/g,`\\$&`);if(t.querySelector(`style[data-persona-animation="${r}"]`))return;n.delete(e.name)}n.add(e.name);let r=(t instanceof ShadowRoot?t.ownerDocument:t.ownerDocument??document).createElement(`style`);r.setAttribute(`data-persona-animation`,e.name),r.textContent=e.styles,t.appendChild(r)},Dh=/* @__PURE__ */ new WeakMap,Oh=(e,t)=>{if(!e.onAttach)return;let n=Dh.get(t);if(n||(n=/* @__PURE__ */ new Map,Dh.set(t,n)),n.has(e.name))return;let r=e.onAttach(t);n.set(e.name,r)},kh=e=>{let t=Dh.get(e);if(t){for(let e of t.values())typeof e==`function`&&e();t.clear()}},Ah=(e,t)=>{Eh(e,t),Oh(e,t)};H();const{setLoader:jh,load:Mh}=V({fallbackImport:()=>import(`@runtypelabs/persona/animations-extra`)}),Nh=Mh;fa();function Ph(e,t=ua){let n=e.style.position,r=e.style.zIndex,i=e.style.isolation,a=getComputedStyle(e),o=a.position===`static`||a.position===``;return o&&(e.style.position=`relative`),e.style.zIndex=String(t),e.style.isolation=`isolate`,()=>{o&&(e.style.position=n),e.style.zIndex=r,e.style.isolation=i}}let Fh=0,Ih=null;function Lh(e=document){if(Fh++,Fh===1){let t=e.body,n=(e.defaultView??window).scrollY||e.documentElement.scrollTop;Ih={originalOverflow:t.style.overflow,originalPosition:t.style.position,originalTop:t.style.top,originalWidth:t.style.width,scrollY:n},t.style.overflow=`hidden`,t.style.position=`fixed`,t.style.top=`-${n}px`,t.style.width=`100%`}let t=!1;return()=>{if(!t&&(t=!0,Fh=Math.max(0,Fh-1),Fh===0&&Ih)){let t=e.body,n=e.defaultView??window;t.style.overflow=Ih.originalOverflow,t.style.position=Ih.originalPosition,t.style.top=Ih.originalTop,t.style.width=Ih.originalWidth,n.scrollTo(0,Ih.scrollY),Ih=null}}}fs();const Rh={side:`right`,width:`420px`,animate:!0,reveal:`resize`,maxHeight:`100dvh`},zh=e=>(e?.launcher?.mountMode??`floating`)===`docked`,Bh=e=>(e?.launcher?.mountMode??`floating`)===`composer-bar`,Vh=e=>{let t=e?.launcher?.dock,n=os(e).dockWidth?t?.width:Zp(Dm(e),`components.panel.width`);return{side:t?.side??Rh.side,width:n??Rh.width,animate:t?.animate??Rh.animate,reveal:t?.reveal??Rh.reveal,maxHeight:t?.maxHeight??Rh.maxHeight}};Kr(),Pn(),_n(),Gr();const Hh=e=>e.closest(`[data-persona-instance]`)?.dataset.personaInstance,Uh=e=>e===`followUp`?`follow-up`:e,Wh=(e,t=0)=>{if(typeof e==`string`){let t=e.trim();return t?{id:t,label:t,prompt:t,emphasis:`default`}:null}let n=e.label.trim();if(!n)return null;let r=e.prompt?.trim()||n;return{id:e.id?.trim()||r||`suggestion-${t}`,label:n,prompt:r,description:e.description?.trim()||void 0,icon:e.icon,iconColor:e.iconColor?.trim()||void 0,behavior:e.behavior,emphasis:e.emphasis??`default`}},Gh=/* @__PURE__ */ new WeakSet,Kh=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,qh=e=>{Kh()||e.forEach((e,t)=>{typeof e.animate==`function`&&e.animate([{opacity:`0`,transform:`translateY(4px)`},{opacity:`1`,transform:`none`}],{duration:250,delay:t*60,easing:`ease-out`,fill:`backwards`})})},Jh=e=>{let{item:t,index:n,surface:r,source:i,variant:a,streaming:o,config:c,plugins:l,chipsConfig:u,session:d,getTextarea:f,eventTarget:p,submitPrompt:m}=e,h=r===`followUp`,g=t.behavior,_=()=>{if(d.isStreaming()||p.closest(`[inert]`))return;let e={instanceId:Hh(p),suggestion:{...t},surface:r,source:i,behavior:g},n=p.dispatchEvent(new CustomEvent(`persona:suggestion:selected`,{detail:e,bubbles:!0,composed:!0,cancelable:!0}));if(h&&p.dispatchEvent(new CustomEvent(`persona:suggestReplies:selected`,{detail:{instanceId:Hh(p),suggestion:t.prompt},bubbles:!0,composed:!0})),!n)return;for(let e of l)if(e.onSuggestionSelect?.({suggestion:{...t},surface:r,source:i,variant:a,config:c})===!1)return;let o=f();g===`fill`?(o.value=t.prompt,o.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0})),o.focus()):m?m(t.prompt):(o.value=``,d.sendMessage(t.prompt))},v=()=>{let e=q(`button`,`persona-suggestion persona-suggestion--${a}`);if(e.type=`button`,e.disabled=o,e.dataset.suggestionId=t.id,e.dataset.emphasis=t.emphasis,e.dataset.behavior=g,a===`chip`){let t=c.suggestionChipsConfig===u?c:{suggestionChipsConfig:u},n=e=>Hr(t,`suggestionChipsConfig.${e}`),r=e=>Wr(c,`suggestion.chip.${e}`,`light`)||Wr(c,`suggestion.chip.${e}`,`dark`);u?.fontWeight&&(e.style.fontWeight=!n(`fontWeight`)&&r(`fontWeight`)?`var(--persona-suggestion-compat-weight, 500)`:u.fontWeight);let i=r(`padding`);i&&(e.classList.add(`persona-theme-padding`),e.style.setProperty(`--persona-theme-padding`,`var(--persona-suggestion-compat-padding, 6px 12px)`)),u?.paddingX&&(n(`paddingX`)||!i)&&(e.style.paddingLeft=u.paddingX,e.style.paddingRight=u.paddingX),u?.paddingY&&(n(`paddingY`)||!i)&&(e.style.paddingTop=u.paddingY,e.style.paddingBottom=u.paddingY)}if(t.icon){let n=G(t.icon,`var(--persona-suggestion-icon-size)`,`currentColor`,1.8);n&&(n.classList.add(`persona-suggestion__icon`),t.iconColor&&(n.style.color=t.iconColor),e.appendChild(n))}let n=q(`span`,`persona-suggestion__copy`);if(n.appendChild(J(`span`,{className:`persona-suggestion__label`,text:t.label})),t.description&&a!==`chip`&&n.appendChild(J(`span`,{className:`persona-suggestion__description`,text:t.description})),e.appendChild(n),a!==`chip`){let t=gn(s,16,`currentColor`,1.8);t&&(t.classList.add(`persona-suggestion__arrow`),e.appendChild(t))}return e.addEventListener(`click`,_),e},y=null;for(let e of l)if(e.renderSuggestion&&(y=e.renderSuggestion({suggestion:{...t},index:n,surface:r,source:i,variant:a,streaming:o,config:c,defaultRenderer:v,select:_}),y))break;return y??=v(),y.dataset.suggestionId||=t.id,y.dataset.behavior||=g,y.dataset.emphasis||=t.emphasis,y instanceof HTMLButtonElement||y.setAttribute(`aria-disabled`,o?`true`:`false`),y},Yh=e=>{let t=[],n=[],r=null,i=null,a=()=>{e.removeAttribute(`data-scroll-left`),e.removeAttribute(`data-scroll-right`)},o=()=>{if(i=null,e.toggleAttribute(`data-edge-to-edge`,e.hasAttribute(`data-hide-scrollbar`)&&(e.hasAttribute(`data-persona-composer-suggestions`)||e.dataset.personaSuggestions===`follow-up`)&&e.dataset.variant===`chip`&&e.dataset.overflow===`scroll`),e.hasAttribute(`data-edge-to-edge`)&&e.parentElement){let t=e.parentElement,n=getComputedStyle(t),r=parseFloat(n.paddingLeft)||0,i=parseFloat(n.paddingRight)||0;e.style.setProperty(`--persona-suggestion-bleed-left`,`${r}px`),e.style.setProperty(`--persona-suggestion-bleed-right`,`${i}px`);let a=t.closest(`.persona-widget-container`)?.querySelector(`form`),o=t.getBoundingClientRect(),s=a?.getBoundingClientRect();e.style.setProperty(`--persona-suggestion-inset-left`,`${s?.width?s.left-o.left:r}px`),e.style.setProperty(`--persona-suggestion-inset-right`,`${s?.width?o.right-s.right:i}px`)}if(e.hidden||e.dataset.variant!==`chip`||e.dataset.overflow!==`scroll`){a();return}let t=Math.max(0,e.scrollWidth-e.clientWidth);if(t<=1){a();return}let n=getComputedStyle(e).direction===`rtl`,r=Math.min(t,Math.max(0,Math.abs(e.scrollLeft))),o=r<=4,s=r>=t-4,c=n?!s:!o,l=n?!o:!s;e.toggleAttribute(`data-scroll-left`,c),e.toggleAttribute(`data-scroll-right`,l)},s=()=>{i!==null||typeof requestAnimationFrame!=`function`?typeof requestAnimationFrame!=`function`&&o():i=requestAnimationFrame(o)};e.addEventListener(`scroll`,s,{passive:!0});let c=typeof ResizeObserver==`function`?new ResizeObserver(s):null;return c?.observe(e),{buttons:t,elements:n,destroy:()=>{e.removeEventListener(`scroll`,s),c?.disconnect(),i!==null&&typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(i),i=null},render:(i,c,l,u,d,f)=>{e.replaceChildren(),t.length=0,n.length=0;let p=f?.source??`config`,m=f?.surface??(p===`config`?`starter`:`followUp`),h=m===`followUp`,g=f?.variant??`chip`,_=f?.behavior??`send`,v=f?.overflow??`wrap`,y=f?.config??{},b=f?.plugins??[];e.toggleAttribute(`data-hide-scrollbar`,y.future?.v5Defaults===!0),e.dataset.edgeStyle=y.suggestions?.[h?`followUps`:`starters`]?.edgeStyle??`fade`;let x=typeof f?.maxItems==`number`?Math.max(0,Math.floor(f.maxItems)):void 0,S=h?`followUps`:`starters`;!Gh.has(y)&&y.debug===!0&&g!==`chip`&&y.suggestions?.[S]?.overflow!==void 0&&(Gh.add(y),console.info(`[persona] suggestions.${S}.overflow applies to the "chip" variant only; the "${g}" variant manages its own stacking.`));let C=e=>e.map(Wh).filter(e=>e!==null).map(e=>({...e,behavior:e.behavior??_})),ee=C(i??[]);b.forEach(e=>{e.transformSuggestions&&(ee=C(e.transformSuggestions({suggestions:ee.map(e=>({...e})),surface:m,source:p,config:y})))});let w=x===void 0?ee:ee.slice(0,x);if(!w.length){e.hidden=!0,r=null,a();return}if(!h&&(u??c.getMessages()).some(e=>e.role===`user`)){e.hidden=!0,r=null;return}e.hidden=!1,e.classList.add(`persona-suggestions`),e.dataset.personaSuggestionSurface=Uh(m),e.dataset.variant=g,e.dataset.overflow=v;let te=document.createDocumentFragment(),T=c.isStreaming();w.forEach((r,i)=>{let a=Jh({item:r,index:i,surface:m,source:p,variant:g,streaming:T,config:y,plugins:b,chipsConfig:d,session:c,getTextarea:()=>l,eventTarget:e,submitPrompt:f?.submitPrompt});te.appendChild(a),n.push(a),[...a instanceof HTMLButtonElement?[a]:[],...Array.from(a.querySelectorAll(`button`))].forEach(e=>{t.includes(e)||(e.disabled=T,t.push(e))})}),e.appendChild(te),o(),s();let E=JSON.stringify({normalized:w,surface:m,variant:g,source:p});E!==r&&(r=E,qh(n),e.dispatchEvent(new CustomEvent(`persona:suggestion:shown`,{detail:{instanceId:Hh(e),suggestions:w.map(e=>({...e})),surface:m,source:p,variant:g},bubbles:!0,composed:!0})),h&&e.dispatchEvent(new CustomEvent(`persona:suggestReplies:shown`,{detail:{instanceId:Hh(e),suggestions:w.map(e=>e.prompt)},bubbles:!0,composed:!0})))}}},Xh={"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`};Kr(),Pn(),zo(),Wo();const Zh={x:[1.4,1.05]},Qh=`persona-relative persona-ml-auto persona-inline-flex persona-items-center persona-justify-center`,$h=(e,t,n={})=>{let{iconSize:r,iconText:i}=n,[a,o]=Zh[t]??[1,1.5],s=!r;e.classList.toggle(`persona-header-control--glyph`,s),e.classList.toggle(`persona-header-control--sparse`,s&&a!==1);let c=G(t,`${Math.round((parseFloat(r??``)||16)*a)}px`,`currentColor`,o);c?(c.style.display=`block`,s||(c.style.strokeWidth=`calc(var(--persona-components-header-controlStrokeWidth, 1.5) * ${Number((o/1.5).toFixed(4))})`),e.replaceChildren(c)):i&&(e.textContent=i)},eg=e=>{let{ariaLabel:t,tooltip:n=!0,tooltipHint:r,iconName:i,iconText:a,wrapperClassName:o=Qh,size:s,iconSize:c,color:l,backgroundColor:u,borderWidth:d,borderColor:f,borderRadius:p,paddingX:m,paddingY:h,hidden:g,extraClassName:_,attrs:v}=e,y=q(`div`,o),b=!!(d||f),x=J(`button`,{className:Y(`persona-header-control`,`persona-inline-flex persona-items-center persona-justify-center persona-cursor-pointer`,!u&&`persona-bg-transparent hover:persona-bg-gray-100`,!b&&`persona-border-none`,!p&&`persona-rounded-full`,_),attrs:{type:`button`,"aria-label":t,...v},style:{width:s,height:s,minWidth:s,minHeight:s,display:g?`none`:void 0,color:l||ig.actionIconColor,backgroundColor:u,border:b?`${d||`0px`} solid ${f||`transparent`}`:void 0,borderRadius:p,paddingLeft:m,paddingRight:m,paddingTop:h,paddingBottom:h}});return i?$h(x,i,{iconSize:c,iconText:a}):a&&(x.textContent=a),y.appendChild(x),Co({anchor:x,trigger:y,text:()=>x.getAttribute(`aria-label`)??t,hint:r,enabled:n}),{button:x,wrapper:y}},tg=(e,t,n,r={})=>{let i=t?.launcher,a=i?.clearChat,o=e=>n===`close`?`launcher.closeButton${e[0].toUpperCase()}${e.slice(1)}`:`launcher.clearChat.${e===`color`?`iconColor`:e}`,s=e=>Vo(t,o(e)),c=(e,r)=>Bo(t,`header.${n}`,e,r),l=(e,t,n)=>s(e)||c(t,n),u=r.buttonSize||s(`size`);Uo(e,u||c(`size`,`var(--persona-header-control-size, 32px)`),u),!u&&c(`size`,``)===``&&(e.style.width=e.style.height=``);let d=n===`close`?i?.closeButtonBackgroundColor:a?.backgroundColor;e.style.color=l(`color`,`foreground`,ig.actionIconColor),e.style.backgroundColor=s(`backgroundColor`)||(c(`background`,``)?c(`background`,d||`transparent`):d||``),e.classList.toggle(`hover:persona-bg-gray-100`,!d&&!s(`backgroundColor`)&&c(`background`,``)===``);let f=n===`close`?i?.closeButtonBorderWidth:a?.borderWidth,p=n===`close`?i?.closeButtonBorderColor:a?.borderColor,m=!!(f||p||c(`borderWidth`,``)||c(`borderColor`,``));e.style.border=m?`${l(`borderWidth`,`borderWidth`,f||`0px`)} solid ${l(`borderColor`,`borderColor`,p||`transparent`)}`:``,e.classList.toggle(`persona-border-none`,!m);let h=n===`close`?i?.closeButtonBorderRadius:a?.borderRadius;e.style.borderRadius=s(`borderRadius`)||(c(`borderRadius`,``)?c(`borderRadius`,`var(--persona-components-header-controlBorderRadius, 9999px)`):h||``),e.classList.toggle(`persona-rounded-full`,!e.style.borderRadius);let g=n===`close`?i?.closeButtonPaddingX:a?.paddingX,_=n===`close`?i?.closeButtonPaddingY:a?.paddingY,v=c(`padding`,`0px`);Ho(e,v,s(`paddingX`)||(v===`0px`?g:void 0),s(`paddingY`)||(v===`0px`?_:void 0));let y=n===`close`?i?.closeButtonIconName??`x`:a?.iconName??`refresh-cw`;$h(e,y,{iconSize:r.iconSize,iconText:n===`close`?i?.closeButtonIconText??`×`:void 0});let b=e.querySelector(`svg`);if(b){let e=Zh[y]?.[0]??1,t=c(`iconSize`,``);!r.iconSize&&t&&(b.style.width=b.style.height=`calc(${c(`iconSize`,`var(--persona-header-control-icon-size, 16px)`)} * ${e})`),c(`iconStrokeWidth`,``)&&(b.style.strokeWidth=`calc(${c(`iconStrokeWidth`,`var(--persona-components-header-controlStrokeWidth, 1.5)`)} * ${e===1?1:.7})`)}},ng=(e,t={})=>{let{showClose:n=!0,wrapperClassName:r=Qh,buttonSize:i,iconSize:a}=t,o=e?.launcher??{},s=o.closeButtonTooltipText??`Close chat`,c=o.closeButtonShowTooltip??!0,{button:l,wrapper:u}=eg({ariaLabel:s,tooltip:c,iconName:o.closeButtonIconName??`x`,iconText:o.closeButtonIconText??`×`,wrapperClassName:r,size:i??o.closeButtonSize,iconSize:a,color:o.closeButtonColor,backgroundColor:o.closeButtonBackgroundColor,borderWidth:o.closeButtonBorderWidth,borderColor:o.closeButtonBorderColor,borderRadius:o.closeButtonBorderRadius,paddingX:o.closeButtonPaddingX,paddingY:o.closeButtonPaddingY,hidden:!n});return tg(l,e,`close`,{buttonSize:i,iconSize:a}),{button:l,wrapper:u}},rg=(e,t={})=>{let{wrapperClassName:n=`persona-relative persona-ml-auto persona-clear-chat-button-wrapper`,buttonSize:r,iconSize:i}=t,a=(e?.launcher??{}).clearChat??{},o=a.tooltipText??`Clear chat`,s=a.showTooltip??!0,{button:c,wrapper:l}=eg({ariaLabel:o,tooltip:s,iconName:a.iconName??`refresh-cw`,wrapperClassName:n,size:r??a.size,iconSize:i,color:a.iconColor,backgroundColor:a.backgroundColor,borderWidth:a.borderWidth,borderColor:a.borderColor,borderRadius:a.borderRadius,paddingX:a.paddingX,paddingY:a.paddingY});return tg(c,e,`clear`,{buttonSize:r,iconSize:i}),{button:c,wrapper:l}};Kr(),Pn(),Ds();const ig={titleColor:`var(--persona-header-title-fg, var(--persona-primary, #0f0f0f))`,subtitleColor:`var(--persona-header-subtitle-fg, var(--persona-text-muted, var(--persona-muted, #9ca3af)))`,actionIconColor:`var(--persona-header-control-state-fg, var(--persona-header-action-icon-fg, var(--persona-muted, #9ca3af)))`,minHeight:`var(--persona-header-min-height, auto)`},ag={fontFamily:`var(--persona-components-header-title-fontFamily, inherit)`,fontSize:`var(--persona-components-header-title-fontSize, 1rem)`,fontWeight:`var(--persona-components-header-title-fontWeight, 600)`,lineHeight:`var(--persona-components-header-title-lineHeight, 1.5rem)`,letterSpacing:`var(--persona-components-header-title-letterSpacing, normal)`},og={fontFamily:`var(--persona-components-header-subtitle-fontFamily, inherit)`,fontSize:`var(--persona-components-header-subtitle-fontSize, 0.75rem)`,fontWeight:`var(--persona-components-header-subtitle-fontWeight, inherit)`,lineHeight:`var(--persona-components-header-subtitle-lineHeight, 1rem)`,letterSpacing:`var(--persona-components-header-subtitle-letterSpacing, normal)`},sg=e=>{let{config:t,showClose:n=!0}=e,r=J(`div`,{className:`persona-widget-header persona-flex persona-items-center persona-gap-3`,attrs:{"data-persona-theme-zone":`header`},style:{padding:`var(--persona-components-header-padding, 20px 24px)`,minHeight:ig.minHeight,backgroundColor:`var(--persona-header-bg, var(--persona-surface, #ffffff))`,borderBottomColor:`var(--persona-header-border, var(--persona-divider, #f1f5f9))`,boxShadow:`var(--persona-header-shadow, none)`,borderBottom:`var(--persona-header-border-bottom, 1px solid var(--persona-header-border, var(--persona-divider, #f1f5f9)))`}}),i=t?.launcher??{},a=i.headerIconSize??`40px`,o=i.closeButtonPlacement??`inline`,s=i.headerIconHidden??!1,c=i.headerIconName,l=J(`div`,{className:`persona-flex persona-items-center persona-justify-center persona-rounded-xl persona-text-xl`,style:{height:a,width:a,boxSizing:`content-box`,padding:`var(--persona-components-header-iconPadding, 0px)`,flexShrink:`0`,backgroundColor:`var(--persona-header-icon-bg, var(--persona-primary, #0f0f0f))`,color:`var(--persona-header-icon-fg, var(--persona-text-inverse, #ffffff))`}});if(!s){if(c){let e=parseFloat(a)||24,n=G(c,e*.6,`currentColor`,1);n?(n.style.width=`calc(${e}px * var(--persona-components-header-iconScale, 0.6))`,n.style.height=`calc(${e}px * var(--persona-components-header-iconScale, 0.6))`,l.replaceChildren(n)):l.textContent=t?.launcher?.agentIconText??`💬`}else if(t?.launcher?.iconUrl){let e=q(`img`);e.src=t.launcher.iconUrl,e.alt=``,e.className=`persona-rounded-xl persona-object-cover`,e.style.height=a,e.style.width=a,l.replaceChildren(e)}else l.textContent=t?.launcher?.agentIconText??`💬`}let u=q(`div`,`persona-flex persona-flex-col persona-flex-1 persona-min-w-0`),d=J(`span`,{className:`persona-text-base persona-font-semibold`,text:t?.launcher?.title??`Chat Assistant`,style:{color:ig.titleColor,...ag}}),f=J(`span`,{className:`persona-text-xs`,text:t?.launcher?.subtitle??`Here to help you get answers fast`,style:{color:ig.subtitleColor,...og}});u.append(d,f),s?r.append(u):r.append(l,u);let p=i.clearChat??{},m=p.enabled??!0,h=p.placement??`inline`,g=null,_=null;if(m){let e=rg(t,{wrapperClassName:h===`top-right`?`persona-absolute persona-top-4 persona-z-50`:`persona-relative persona-ml-auto persona-clear-chat-button-wrapper`});g=e.button,_=e.wrapper,h===`top-right`&&(_.style.right=`48px`),h===`inline`&&r.appendChild(_)}let{button:v,wrapper:y}=ng(t,{showClose:n,wrapperClassName:o===`top-right`?`persona-absolute persona-top-4 persona-right-4 persona-z-50`:m&&h===`inline`?`persona-relative persona-inline-flex persona-items-center persona-justify-center`:`persona-relative persona-ml-auto persona-inline-flex persona-items-center persona-justify-center`});return o!==`top-right`&&r.appendChild(y),{header:r,iconHolder:l,headerTitle:d,headerSubtitle:f,closeButton:v,closeButtonWrapper:y,clearChatButton:g,clearChatButtonWrapper:_}},cg=(e,t,n)=>{let r=n?.launcher??{},i=r.closeButtonPlacement??`inline`,a=r.clearChat?.placement??`inline`;e.appendChild(t.header),i===`top-right`&&(e.style.position=`relative`,e.appendChild(t.closeButtonWrapper)),t.clearChatButtonWrapper&&a===`top-right`&&(e.style.position=`relative`,e.appendChild(t.clearChatButtonWrapper))};Kr();const lg=e=>{let t=sg({config:e.config,showClose:e.showClose,onClose:e.onClose,onClearChat:e.onClearChat}),n=e.layoutHeaderConfig?.onTitleClick;if(n){let e=t.headerTitle.parentElement;e&&(e.style.cursor=`pointer`,e.setAttribute(`role`,`button`),e.setAttribute(`tabindex`,`0`),e.addEventListener(`click`,()=>n()),e.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n())}))}return t};function ug(e,t,n){if(t?.length)for(let r of t){let{button:t,wrapper:i}=eg({ariaLabel:r.ariaLabel??r.label??r.id,iconName:r.icon,iconText:r.icon?void 0:r.label,tooltipHint:r.shortcut?Um(r.shortcut):void 0,wrapperClassName:`persona-relative persona-inline-flex persona-items-center persona-justify-center`});if(t.setAttribute(`data-persona-header-action`,r.id),r.shortcut){let e=Wm(r.shortcut);e&&t.setAttribute(`aria-keyshortcuts`,e)}if(r.menuItems?.length){let e=Kl({items:r.menuItems,onSelect:e=>n?.(e),anchor:i,position:`bottom-right`});i.appendChild(e.element),t.addEventListener(`click`,t=>{t.stopPropagation(),e.toggle()})}else t.addEventListener(`click`,()=>n?.(r.id));e.appendChild(i)}}const dg=e=>{let{config:t,showClose:n=!0,onClose:r,layoutHeaderConfig:i,onHeaderAction:a}=e,o=t?.launcher??{},s=q(`div`,`persona-flex persona-items-center persona-justify-between`);s.setAttribute(`data-persona-theme-zone`,`header`),s.style.minHeight=ig.minHeight,s.style.padding=`var(--persona-components-header-minimalPadding, var(--persona-components-header-padding, 16px 24px))`,s.style.backgroundColor=`var(--persona-header-bg, var(--persona-surface, #ffffff))`,s.style.borderBottomColor=`var(--persona-header-border, var(--persona-divider, #f1f5f9))`,s.style.boxShadow=`var(--persona-header-shadow, none)`,s.style.borderBottom=`var(--persona-header-border-bottom, 1px solid var(--persona-header-border, var(--persona-divider, #f1f5f9)))`;let c=i?.titleMenu,l,u;if(c){let e=Zl({label:o.title??`Chat Assistant`,menuItems:c.menuItems,onSelect:t=>{let n=n=>{n===!1&&e.element.dispatchEvent(new CustomEvent(`persona:title-menu-builtin`,{bubbles:!0,composed:!0,detail:{actionId:t,instanceId:e.element.closest(`[data-persona-instance]`)?.dataset.personaInstance}}))},r=c.onSelect(t);r instanceof Promise?r.then(n,()=>{}):n(r)},hover:c.hover,className:``});l=e.element,l.style.color=ig.titleColor,u=l.querySelector(`.persona-combo-btn-label`)??l}else{if(l=q(`div`,`persona-flex persona-min-w-0 persona-flex-1 persona-items-center persona-gap-1`),u=q(`span`,`persona-text-base persona-font-semibold persona-truncate`),u.style.color=ig.titleColor,Object.assign(u.style,ag),u.textContent=o.title??`Chat Assistant`,l.appendChild(u),i?.onTitleClick){l.style.cursor=`pointer`,l.setAttribute(`role`,`button`),l.setAttribute(`tabindex`,`0`);let e=i.onTitleClick;l.addEventListener(`click`,t=>{t.target.closest(`button`)||e()}),l.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e())})}let e=i?.titleRowHover;e&&(l.style.borderRadius=e.borderRadius??`10px`,l.style.padding=e.padding??`6px 4px 6px 12px`,l.style.margin=`-6px 0 -6px -12px`,l.style.border=`1px solid transparent`,l.style.transition=`background-color 0.15s ease, border-color 0.15s ease`,l.style.width=`fit-content`,l.style.flex=`none`,l.addEventListener(`mouseenter`,()=>{l.style.backgroundColor=e.background??``,l.style.borderColor=e.border??``}),l.addEventListener(`mouseleave`,()=>{l.style.backgroundColor=``,l.style.borderColor=`transparent`}))}s.appendChild(l);let d=`persona-relative persona-inline-flex persona-items-center persona-justify-center`,{button:f,wrapper:p}=ng(t,{showClose:n,wrapperClassName:d});r&&f.addEventListener(`click`,r);let m=q(`div`,`persona-flex persona-items-center persona-gap-1`);c||ug(m,i?.trailingActions,i?.onAction??a);let h=o.clearChat??{},g=null,_=null;if(h.enabled??!0){let e=h.placement??`inline`,n=rg(t,{wrapperClassName:e===`top-right`?`persona-absolute persona-top-4 persona-z-50`:d});g=n.button,_=n.wrapper,e===`top-right`?_.style.right=`48px`:m.appendChild(_)}m.appendChild(p),s.appendChild(m);let v=q(`div`);v.style.display=`none`;let y=q(`span`);return y.style.display=`none`,{header:s,iconHolder:v,headerTitle:u,headerSubtitle:y,closeButton:f,closeButtonWrapper:p,clearChatButton:g,clearChatButtonWrapper:_}},fg={default:lg,minimal:dg},pg=e=>fg[e]??fg.default,mg=(e,t,n)=>{if(t?.render){let r=t.render({config:e,onClose:n?.onClose,onClearChat:n?.onClearChat,trailingActions:t.trailingActions,onAction:t.onAction}),i=q(`div`);i.style.display=`none`;let a=q(`span`),o=q(`span`),s=q(`button`);s.style.display=`none`;let c=q(`div`);return c.style.display=`none`,{header:r,iconHolder:i,headerTitle:a,headerSubtitle:o,closeButton:s,closeButtonWrapper:c,clearChatButton:null,clearChatButtonWrapper:null}}let r=t?.layout??`default`,i=pg(r)({config:e,showClose:t?.showCloseButton??n?.showClose??!0,onClose:n?.onClose,onClearChat:n?.onClearChat,layoutHeaderConfig:t,onHeaderAction:t?.onAction});return t&&(t.showIcon===!1&&(i.iconHolder.style.display=`none`),t.showTitle===!1&&(i.headerTitle.style.display=`none`),t.showSubtitle===!1&&(i.headerSubtitle.style.display=`none`),t.showCloseButton===!1&&(i.closeButton.style.display=`none`),t.showClearChat===!1&&i.clearChatButtonWrapper&&(i.clearChatButtonWrapper.style.display=`none`)),i};function hg(e,t){if(!t.defaultPrevented){for(let n of t.composedPath()){if(n===e)break;if(n instanceof Element&&n.matches(`button, input, textarea, select, a[href], label, [contenteditable]:not([contenteditable="false"]), [role="button"], [role="link"], [role="checkbox"], [role="radio"], [role="combobox"], [tabindex]`))return}(e.querySelector(`[data-persona-composer-input][contenteditable="true"]`)??e.querySelector(`textarea[data-persona-composer-input]`))?.focus()}}Kr(),vc();const gg=e=>{let{config:t}=e,n=J(`div`,{className:`persona-widget-footer persona-border-t-persona-divider persona-bg-persona-surface persona-px-6 persona-py-4`,attrs:{"data-persona-theme-zone":`composer`}}),r=_c(),i=J(`form`,{className:`persona-widget-composer persona-flex persona-flex-col persona-gap-2 persona-rounded-2xl persona-border persona-border-persona-border persona-bg-persona-input-background persona-px-4 persona-py-3`,attrs:{"data-persona-composer-form":``}}),{textarea:a,attachAutoResize:o}=sc(t);o();let s=fc(t),c=mc(t),l=hc(t),u=gc(t),d=J(`div`,{className:`persona-widget-composer__header`,attrs:{"data-persona-composer-header":``},style:{display:`contents`}});i.append(d),l&&(d.append(l.previewsContainer),i.append(l.input)),i.append(a);let f=J(`div`,{className:`persona-widget-composer__actions persona-flex persona-items-center persona-justify-between persona-w-full`,attrs:{"data-persona-composer-actions":``}}),p=J(`div`,{className:`persona-widget-composer__left-actions persona-flex persona-items-center persona-gap-2`,attrs:{"data-persona-composer-actions-start":``}}),m=J(`div`,{className:`persona-widget-composer__right-actions persona-flex persona-items-center persona-gap-2`,attrs:{"data-persona-composer-actions-end":``}});return l&&p.append(l.wrapper),c&&m.append(c.wrapper),m.append(s.wrapper),f.append(p,m),i.append(f),i.addEventListener(`click`,e=>{hg(i,e)}),t?.statusIndicator?.mode===`transient`?n.append(r,u,i):n.append(r,i,u),{footer:n,suggestions:r,composerForm:i,header:d,textarea:a,sendButton:s.button,sendButtonWrapper:s.wrapper,micButton:c?.button??null,micButtonWrapper:c?.wrapper??null,statusText:u,attachmentButton:l?.button??null,attachmentButtonWrapper:l?.wrapper??null,attachmentInput:l?.input??null,attachmentPreviewsContainer:l?.previewsContainer??null,actionsRow:f,leftActions:p,rightActions:m,setSendButtonMode:s.setMode}};Kr(),_n(),vc(),rc();const _g=()=>{let e=J(`button`,{className:`persona-pill-peek`,attrs:{type:`button`,"data-persona-pill-peek":``,"aria-label":`Show conversation`,tabindex:`-1`}}),t=q(`span`,`persona-pill-peek__icon`),n=gn(He,16,`currentColor`,1.5);n&&t.appendChild(n);let r=q(`span`,`persona-pill-peek__text`),i=q(`span`,`persona-pill-peek__caret`),a=gn(w,16,`currentColor`,1.5);return a&&i.appendChild(a),e.append(t,r,i),{root:e,textNode:r}},vg=e=>{let{config:t}=e,n=J(`div`,{className:`persona-widget-footer persona-widget-footer--pill`,attrs:{"data-persona-theme-zone":`composer`}}),r=_c(),i=gc(t);i.style.display=`none`;let{textarea:a,attachAutoResize:o}=sc(t,{defaultMaxLines:5});o();let s=fc(t),c=mc(t),l=hc(t);l&&l.previewsContainer.classList.add(`persona-pill-composer__previews`);let u=J(`form`,{className:`persona-widget-composer persona-pill-composer`,attrs:{"data-persona-composer-form":``}}),d=J(`div`,{className:`persona-widget-composer__left-actions persona-pill-composer__left`,attrs:{"data-persona-composer-actions-start":``}});l&&d.append(l.wrapper);let f=J(`div`,{className:`persona-widget-composer__right-actions persona-pill-composer__right`,attrs:{"data-persona-composer-actions-end":``}});c&&f.append(c.wrapper),f.append(s.wrapper),u.addEventListener(`click`,e=>{hg(u,e)}),l&&u.append(l.input),u.append(d,a,f);let p=J(`div`,{className:`persona-pill-composer__header`,attrs:{"data-persona-composer-header":``},style:{display:`contents`}});n.append(p),l&&p.append(l.previewsContainer),n.append(r,u,i);let m=u;return{footer:n,suggestions:r,composerForm:u,header:p,textarea:a,sendButton:s.button,sendButtonWrapper:s.wrapper,micButton:c?.button??null,micButtonWrapper:c?.wrapper??null,statusText:i,attachmentButton:l?.button??null,attachmentButtonWrapper:l?.wrapper??null,attachmentInput:l?.input??null,attachmentPreviewsContainer:l?.previewsContainer??null,actionsRow:m,leftActions:d,rightActions:f,setSendButtonMode:s.setMode}};Kr();const yg=`data-persona-user-collapse`,bg=`data-persona-user-collapse-toggle`,xg=e=>e.features?.userMessageCollapse?.enabled===!0,Sg=e=>{let t=e.features?.userMessageCollapse?.maxHeight;return typeof t==`number`&&Number.isFinite(t)&&t>0?t:240},Cg=e=>({showMoreLabel:e.copy?.showMoreLabel?.trim()||`Show more`,showLessLabel:e.copy?.showLessLabel?.trim()||`Show less`}),wg=(e,t)=>e>t+48,Tg=e=>`persona-user-collapse-${e}`,Eg=(e,t)=>{let n=J(`div`,{className:`persona-user-collapse-region`,attrs:{id:Tg(e),[yg]:`fit`}});return n.style.setProperty(`--persona-user-collapse-max-height`,`${t}px`),n},Dg=(e,t,n,r)=>{let{state:i}=r;t.setAttribute(yg,i),t.style.setProperty(`--persona-user-collapse-max-height`,`${r.maxHeight}px`);let a=e.querySelector(`button[${bg}]`);if(i!==`collapsed`&&i!==`expanded`){a?.remove();return}a||(a=J(`button`,{className:`persona-user-collapse-toggle`,attrs:{type:`button`,id:`persona-user-collapse-toggle-${n}`,[bg]:``,"aria-controls":Tg(n)}}),t.after(a));let o=i===`expanded`;a.setAttribute(`aria-expanded`,o?`true`:`false`),a.textContent=o?r.showLessLabel:r.showMoreLabel};Kr(),Ac(),Pn(),Ks();const Og=e=>{switch(e){case`max_tool_calls`:return`Tool limit reached.`;case`length`:return`Output token limit reached.`;case`content_filter`:return`The provider filtered this response.`;case`error`:return`Something went wrong generating this response.`;default:return null}},kg=(e,t)=>{if(!e)return null;let n=Og(e);if(n===null)return null;let r=t?.[e];return(r===void 0?n:r)||null},Ag=(e,t)=>J(`div`,{className:`persona-message-stop-reason persona-text-xs persona-mt-2 persona-italic`,attrs:{"data-stop-reason":e,role:`note`},style:{opacity:`0.75`},text:t}),jg=e=>{let t=e.toLowerCase();return!t.startsWith(`data:image/svg+xml`)&&!!(/^(?:https?|blob):/i.test(e)||t.startsWith(`data:image/`)||!e.includes(`:`))},Mg=e=>{let t=e.toLowerCase();return t.startsWith(`javascript:`)||t.startsWith(`data:text/html`)||t.startsWith(`data:text/javascript`)||t.startsWith(`data:text/xml`)||t.startsWith(`data:application/xhtml`)||t.startsWith(`data:image/svg+xml`)?!1:!!(/^(?:https?|blob):/i.test(e)||t.startsWith(`data:`)||!e.includes(`:`))},Ng=e=>!e.contentParts||e.contentParts.length===0?[]:e.contentParts.filter(e=>e.type===`image`&&typeof e.image==`string`&&e.image.trim().length>0),Pg=e=>!e.contentParts||e.contentParts.length===0?[]:e.contentParts.filter(e=>e.type===`audio`&&typeof e.audio==`string`&&e.audio.trim().length>0),Fg=e=>!e.contentParts||e.contentParts.length===0?[]:e.contentParts.filter(e=>e.type===`video`&&typeof e.video==`string`&&e.video.trim().length>0),Ig=e=>!e.contentParts||e.contentParts.length===0?[]:e.contentParts.filter(e=>e.type===`file`&&typeof e.data==`string`&&e.data.trim().length>0),Lg=e=>{if(!e||e.length===0)return null;let t=J(`div`,{className:`persona-mention-context-row persona-message-mentions`,attrs:{"data-message-mentions":``}});t.style.display=`flex`;for(let n of e){let e=J(`div`,{className:`persona-mention-chip persona-mention-chip-readonly`,attrs:{"data-status":`ready`,title:n.label}}),r=q(`span`,`persona-mention-chip-icon`),i=G(n.iconName??`at-sign`,13,`currentColor`,2);i&&r.appendChild(i),e.appendChild(r),e.appendChild(J(`span`,{className:`persona-mention-chip-label`,text:n.label})),t.appendChild(e)}return t},Rg=(e,t)=>{let n=document.createDocumentFragment();for(let r of e)r.kind===`text`?n.appendChild(document.createTextNode(r.text)):n.appendChild(kc(r.ref,{readonly:!0,render:t}));return n},zg=(e,t,n,r)=>{let i=Math.random().toString(36).slice(2,8),a=e=>`${i}:${e}`,o=n(t.map((e,t)=>e.kind===`text`?e.text:a(t)).join(``));if(!t.every((e,t)=>e.kind===`text`||o.includes(a(t)))){e.replaceChildren(Rg(t,r));return}e.innerHTML=o;let s=RegExp(`${i}:(\\d+)`),c=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),l=[];for(let e=c.nextNode();e;e=c.nextNode())l.push(e);for(let e of l){let n=e;for(let e=s.exec(n.data);e;e=s.exec(n.data)){let i=t[Number(e[1])],a=n.splitText(e.index);a.data=a.data.slice(e[0].length),i?.kind===`mention`&&a.parentNode?.insertBefore(kc(i.ref,{readonly:!0,render:r}),a),n=a}}},Bg=(e,t,n)=>{if(e.length===0)return null;try{let r=q(`div`,`persona-flex persona-flex-col persona-gap-2`);r.setAttribute(`data-message-attachments`,`images`),t&&(r.style.marginBottom=`8px`);let i=0,a=!1,o=()=>{a||(a=!0,r.remove(),n?.())};return e.forEach((e,t)=>{let n=q(`img`);n.alt=e.alt?.trim()||`Attached image ${t+1}`,n.loading=`lazy`,n.decoding=`async`,n.referrerPolicy=`no-referrer`,n.style.display=`block`,n.style.width=`100%`,n.style.maxWidth=`320px`,n.style.maxHeight=`320px`,n.style.height=`auto`,n.style.objectFit=`contain`,n.style.borderRadius=`10px`,n.style.backgroundColor=`var(--persona-attachment-image-bg, var(--persona-container, #f3f4f6))`,n.style.border=`1px solid var(--persona-attachment-image-border, var(--persona-border, #e5e7eb))`;let a=!1;i+=1,n.addEventListener(`error`,()=>{a||(a=!0,i=Math.max(0,i-1),n.remove(),i===0&&o())}),n.addEventListener(`load`,()=>{a=!0}),jg(e.image)?(n.src=e.image,r.appendChild(n)):(a=!0,i=Math.max(0,i-1),n.remove())}),i===0?(o(),null):r}catch{return n?.(),null}},Vg=e=>{if(e.length===0)return null;try{let t=q(`div`,`persona-flex persona-flex-col persona-gap-2`);t.setAttribute(`data-message-attachments`,`audio`);let n=0;return e.forEach(e=>{if(!Mg(e.audio))return;let r=q(`audio`);r.controls=!0,r.preload=`metadata`,r.src=e.audio,r.style.display=`block`,r.style.width=`100%`,r.style.maxWidth=`320px`,t.appendChild(r),n+=1}),n===0?(t.remove(),null):t}catch{return null}},Hg=e=>{if(e.length===0)return null;try{let t=q(`div`,`persona-flex persona-flex-col persona-gap-2`);t.setAttribute(`data-message-attachments`,`video`);let n=0;return e.forEach(e=>{if(!Mg(e.video))return;let r=q(`video`);r.controls=!0,r.preload=`metadata`,r.src=e.video,r.style.display=`block`,r.style.width=`100%`,r.style.maxWidth=`320px`,r.style.maxHeight=`320px`,r.style.borderRadius=`10px`,r.style.backgroundColor=`var(--persona-attachment-image-bg, var(--persona-container, #f3f4f6))`,t.appendChild(r),n+=1}),n===0?(t.remove(),null):t}catch{return null}},Ug=e=>{if(e.length===0)return null;try{let t=q(`div`,`persona-flex persona-flex-col persona-gap-2`);t.setAttribute(`data-message-attachments`,`files`);let n=0;return e.forEach(e=>{if(!Mg(e.data))return;let r=q(`a`);r.href=e.data,r.download=e.filename,r.target=`_blank`,r.rel=`noopener noreferrer`,r.textContent=e.filename,r.className=`persona-message-file-attachment`,r.style.display=`inline-flex`,r.style.alignItems=`center`,r.style.gap=`6px`,r.style.padding=`6px 10px`,r.style.borderRadius=`8px`,r.style.fontSize=`0.875rem`,r.style.textDecoration=`underline`,r.style.backgroundColor=`var(--persona-attachment-file-bg, var(--persona-container, #f3f4f6))`,r.style.border=`1px solid var(--persona-attachment-file-border, var(--persona-border, #e5e7eb))`,r.style.color=`inherit`,t.appendChild(r),n+=1}),n===0?(t.remove(),null):t}catch{return null}},Wg=(e={})=>{let t=e.loadingIndicator,n=e.future?.v5Defaults;if((t?.variant??(n?`label`:`dots`))===`label`){let r=J(`div`,{className:`persona-loading-label`,attrs:{role:`status`}});n&&t?.showBubble!==!0&&r.classList.add(`persona-activity-row`,`persona-activity-header`);let i=e.features?.toolCallDisplay,a=t?.iconVisibility??(i?.grouped!==!1&&(i?.groupedMode??`collapsible`)===`collapsible`?i?.groupIconVisibility:void 0)??i?.iconVisibility,o=t?.iconName??`loader-circle`;if(a!==`never`&&(n||t?.iconName||t?.iconVisibility)){let e=G(o,16);e&&(e.classList.add(`persona-activity-icon`),e.dataset.loadingIconAnimation=t?.iconAnimation??(o===`loader-circle`?`spin`:`none`),r.appendChild(e))}let s=J(`span`,{text:t?.label??`Thinking…`});return r.appendChild(s),zl()?.applyLoadingLabel(s,e,`waiting`),r}let r=q(`div`,`persona-flex persona-items-center persona-space-x-1 persona-h-5 persona-mt-2`);for(let e=0;e<3;e++){let t=q(`div`,`persona-animate-typing persona-rounded-full persona-h-1.5 persona-w-1.5`);t.style.backgroundColor=`currentColor`,t.style.opacity=`0.4`,t.style.animationDelay=`${e*250}ms`,r.appendChild(t)}let i=q(`span`,`persona-sr-only`);return i.textContent=`Loading`,r.appendChild(i),r},Gg=(e,t,n)=>t?.({config:n??{},streaming:!0,location:e,defaultRenderer:()=>Wg(n)})??Wg(n),Kg=(e,t)=>{let n=q(`div`,`persona-flex-shrink-0 persona-w-8 persona-h-8 persona-rounded-full persona-flex persona-items-center persona-justify-center persona-text-sm`),r=t===`operator`,i=t===`user`?e.userAvatar:r?e.operatorAvatar:e.assistantAvatar,a=()=>{n.classList.add(...r?[`persona-bg-persona-container`,`persona-text-persona-text`,`persona-border`]:[t===`user`?`persona-bg-persona-accent`:`persona-bg-persona-primary`,`persona-text-white`])};if(i){if(i.startsWith(`http`)||i.startsWith(`/`)||i.startsWith(`data:`)){let e=q(`img`);e.src=i,e.alt=t===`user`?`User`:r?`Operator`:`Assistant`,e.className=`persona-w-full persona-h-full persona-rounded-full persona-object-cover`,n.appendChild(e)}else n.textContent=i,a()}else n.textContent=t===`user`?`U`:r?`O`:`A`,a();return n},qg=(e,t,n=`div`)=>{let r=q(n,`persona-text-xs persona-text-persona-muted`),i=new Date(e.createdAt);return r.textContent=t.format?t.format(i):i.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}),r},Jg=/* @__PURE__ */ new Set([`persona-bg-persona-container`,`persona-text-persona-text`,`persona-border-persona-message-border`]),Yg=(e,t=`bubble`)=>{if(e===`operator`){let e=Yg(`assistant`,t).flatMap(e=>e===`persona-message-assistant-bubble`?[`persona-message-operator-bubble`]:Jg.has(e)?[]:[e]);return t===`flat`?[...e,`persona-px-3`]:e}let n=[`persona-message-bubble`];switch(t){case`flat`:e===`user`?n.push(`persona-message-user-bubble`,`persona-ml-auto`,`persona-text-persona-primary`,`persona-py-2`):n.push(`persona-message-assistant-bubble`,`persona-text-persona-text`,`persona-py-2`);break;case`minimal`:n.push(`persona-text-sm`,`persona-leading-relaxed`),e===`user`?n.push(`persona-message-user-bubble`,`persona-ml-auto`,`persona-bg-persona-accent`,`persona-text-white`,`persona-px-3`,`persona-py-2`,`persona-rounded-lg`):n.push(`persona-message-assistant-bubble`,`persona-bg-persona-container`,`persona-text-persona-text`,`persona-px-3`,`persona-py-2`,`persona-rounded-lg`);break;default:n.push(`persona-rounded-2xl`,`persona-text-sm`,`persona-leading-relaxed`,`persona-shadow-sm`),e===`user`?n.push(`persona-message-user-bubble`,`persona-ml-auto`,`persona-bg-persona-accent`,`persona-text-white`,`persona-px-5`,`persona-py-3`):n.push(`persona-message-assistant-bubble`,`persona-bg-persona-container`,`persona-border`,`persona-border-persona-message-border`,`persona-text-persona-text`,`persona-px-5`,`persona-py-3`)}return n},Xg={bubble:{padding:`0.75rem 1.25rem`,fontSize:`0.875rem`,lineHeight:`1.75`},minimal:{padding:`0.5rem 0.75rem`,fontSize:`0.875rem`,lineHeight:`1.75`},flat:{padding:`0.5rem 0`,fontSize:`inherit`,lineHeight:`inherit`}},Zg=(e,t,n=`bubble`,r)=>{if(!r)return;let i=t===`user`||t===`operator`?t:`assistant`,a=Xg[n??`bubble`]??Xg.bubble;r.padding&&(e.style.padding=`var(--persona-message-${i}-padding, ${a.padding})`),r.fontSize&&(e.style.fontSize=`var(--persona-message-${i}-font-size, ${a.fontSize})`),r.lineHeight&&(e.style.lineHeight=`var(--persona-message-${i}-line-height, ${a.lineHeight})`),r.fontFamily&&(e.style.fontFamily=`var(--persona-message-${i}-font-family, inherit)`)},Qg=e=>`custom:${e}`,$g=(e,t)=>t!==`user`&&t!==`assistant`&&t!==`operator`?[]:(e?.custom??[]).filter(e=>(e.roles??[`assistant`]).includes(t)),e_=(e,t,n,r,i=!1)=>{let a=t.showCopy??!0,o=t.showUpvote??!1,s=t.showDownvote??!1,c=t.showReadAloud??!1,l=(t.showRegenerate??!1)&&r?.canRegenerate===!0,u=(t.showEdit??!1)&&r?.canEdit===!0,d=(t.showQuote??!1)&&r?.canQuote!==!1,f=$g(t,e.role);if(!a&&!o&&!s&&!c&&!l&&!u&&!d&&f.length===0){let t=q(`div`);return t.style.display=`none`,t.id=`actions-${e.id}`,t.setAttribute(`data-actions-for`,e.id),t}let p=t.visibility??(i&&r?.isLastAssistant?`always`:`hover`),m=t.align??`right`,h=t.layout??`pill-inside`,g={left:`persona-message-actions-left`,center:`persona-message-actions-center`,right:`persona-message-actions-right`}[m],_={"pill-inside":`persona-message-actions-pill`,"row-inside":`persona-message-actions-row`}[h],v=q(`div`,`persona-message-actions persona-flex persona-items-center persona-gap-1 persona-mt-2 ${g} ${_} ${p===`hover`?`persona-message-actions-hover`:``} ${i?`persona-message-actions-adaptive`:``}`);v.id=`actions-${e.id}`,v.setAttribute(`data-actions-for`,e.id);let y=(e,t,n)=>{let r=ql({icon:e,label:t,size:14,className:`persona-message-action-btn`,chromeless:!0});return r.setAttribute(`data-action`,n),r};a&&v.appendChild(y(`copy`,`Copy message`,`copy`)),c&&v.appendChild(y(`volume-2`,`Read aloud`,`read-aloud`)),o&&v.appendChild(y(`thumbs-up`,`Upvote`,`upvote`)),s&&v.appendChild(y(`thumbs-down`,`Downvote`,`downvote`)),l&&v.appendChild(y(`refresh-cw`,`Regenerate response`,`regenerate`)),u&&v.appendChild(y(`pencil`,`Edit message`,`edit`)),d&&v.appendChild(y(`quote`,`Quote message`,`quote`));for(let e of f)v.appendChild(y(e.iconName??`ellipsis`,e.label,Qg(e.id)));return v},t_=(e,t,n,r,i,a)=>{let o=n??{},s=o.layout??`bubble`,c=o.avatar,l=o.timestamp,u=c?.show??!1,d=l?.show??!1,f=c?.position??`left`,p=l?.position??`below`,m=Yg(e.role,s),h=q(`div`,m.join(` `));h.id=`bubble-${e.id}`,h.setAttribute(`data-message-id`,e.id);let g=e.role===`operator`;g&&a?.widgetConfig?.future?.v5Defaults===!0&&h.classList.add(`persona-border`),h.setAttribute(`data-persona-theme-zone`,e.role===`user`?`user-message`:g?`operator-message`:`assistant-message`);let _=Xp(a?.widgetConfig?.future).components.message,v=a?.widgetConfig?.theme?.components?.message,y=a?.widgetConfig?.darkTheme?.components?.message;if(Zg(h,e.role,s,e.role===`user`?{..._.user,...v?.user,...y?.user}:g?{..._.operator,...v?.operator,...y?.operator}:{..._.assistant,...v?.assistant,...y?.assistant}),s===`flat`&&!g?(h.style.backgroundColor=`transparent`,h.style.color=e.role===`user`?`var(--persona-primary, var(--persona-text))`:`var(--persona-message-assistant-text, var(--persona-text))`):e.role===`user`?(h.style.backgroundColor=`var(--persona-message-user-bg, var(--persona-accent))`,h.style.color=`var(--persona-message-user-text, white)`):e.role===`assistant`?(h.style.backgroundColor=`var(--persona-message-assistant-bg, var(--persona-container))`,h.style.color=`var(--persona-message-assistant-text, var(--persona-text))`):g&&(h.style.backgroundColor=`var(--persona-components-message-operator-background, var(--persona-container))`,h.style.color=`var(--persona-components-message-operator-text, var(--persona-text))`),g){let t=q(`div`,`persona-message-author persona-text-xs persona-font-medium persona-mb-1`),n=a?.widgetConfig?.copy?.operatorLabel,r=typeof n==`string`&&n.trim()?n.trim():`Human operator`,i=typeof e.author?.displayName==`string`?e.author.displayName.trim():``;t.textContent=i?`${i} · ${r}`:r,h.setAttribute(`role`,`group`),h.setAttribute(`aria-label`,t.textContent),h.appendChild(t)}let b=Ng(e),x=e.content?.trim()??``,S=b.length>0&&x===`[Image]`,C=sh(a?.widgetConfig?.features?.streamAnimation),ee=a?.widgetConfig?.features?.streamAnimation?.plugins,w=e.role===`assistant`&&C.type!==`none`?mh(C.type,ee):null,te=e.role===`assistant`&&w?.isAnimating?.(e)===!0,T=e.role===`assistant`&&w!==null&&(!!e.streaming||te);T&&w?.bubbleClass&&h.classList.add(w.bubbleClass);let E=document.createElement(`div`);E.classList.add(`persona-message-content`),e.streaming&&E.classList.add(`persona-content-streaming`),T&&w&&(w.containerClass&&E.classList.add(w.containerClass),E.style.setProperty(`--persona-stream-step`,`${C.speed}ms`),E.style.setProperty(`--persona-stream-duration`,`${C.duration}ms`));let ne=T?hh(e.content??``,C.buffer,w,e,!!e.streaming):e.content??``,re=()=>{let n=t({text:ne,message:e,streaming:!!e.streaming,raw:e.rawContent});return T&&w?.wrap===`char`?Sh(n,`char`,e.id,{skipTags:w.skipTags}):T&&w?.wrap===`word`?Sh(n,`word`,e.id,{skipTags:w.skipTags}):n},D=null;if(S?(D=document.createElement(`div`),D.innerHTML=re(),D.style.display=`none`,E.appendChild(D)):e.contentSegments?.length?zg(E,e.contentSegments,n=>t({text:n,message:e,streaming:!!e.streaming,raw:e.rawContent}),a?.widgetConfig?.contextMentions?.renderMentionToken):E.innerHTML=re(),T&&w?.useCaret&&!S&&x){let e=Ch(),t=E.querySelectorAll(`.persona-stream-char, .persona-stream-word`),n=t[t.length-1];if(n?.parentNode)n.parentNode.insertBefore(e,n.nextSibling);else{let t=E.lastElementChild;t?t.appendChild(e):E.appendChild(e)}}if(d&&p===`inline`&&e.createdAt){let t=qg(e,l,`span`);t.classList.add(`persona-timestamp-inline`);let n=E.lastElementChild;n?n.appendChild(t):E.appendChild(t)}let ie=e.role===`user`?a?.userCollapse:void 0,ae=ie?Eg(e.id,ie.maxHeight):null,oe=ae??h;if(b.length>0){let e=Bg(b,!S&&!!x,()=>{S&&D&&(D.style.display=``)});e?oe.appendChild(e):S&&D&&(D.style.display=``)}let se=Pg(e);if(se.length>0){let e=Vg(se);e&&oe.appendChild(e)}let ce=Fg(e);if(ce.length>0){let e=Hg(ce);e&&oe.appendChild(e)}let le=Ig(e);if(le.length>0){let e=Ug(le);e&&oe.appendChild(e)}let ue=e.contentSegments?.length?null:Lg(e.contextMentions);if(ue&&oe.appendChild(ue),oe.appendChild(E),ae&&ie&&(h.appendChild(ae),Dg(h,ae,e.id,ie)),d&&p===`below`&&e.createdAt){let t=qg(e,l);t.classList.add(`persona-mt-1`),h.appendChild(t)}let O=e.role===`assistant`?kg(e.stopReason,a?.widgetConfig?.copy?.stopReasonNotice):null;if(e.streaming&&e.role===`assistant`){let e=!!(ne&&ne.trim()),t=C.placeholder===`skeleton`,n=t&&C.buffer===`line`&&e;if(e)n&&h.appendChild(wh());else if(t)h.appendChild(wh());else{let e=Gg(`inline`,a?.loadingIndicatorRenderer,a?.widgetConfig);e&&h.appendChild(e)}}O&&e.stopReason&&!e.streaming&&(x||(E.style.display=`none`),h.appendChild(Ag(e.stopReason,O)));let k=(e.role===`assistant`||g)&&!e.streaming&&!e.voiceCaption&&(x.length>0||g&&$g(r,`operator`).length>0)&&r?.enabled!==!1,de=a?.actionEligibility,fe=e.role===`user`&&!e.streaming&&r?.enabled!==!1&&(r?.showEdit===!0&&de?.canEdit===!0||r?.showQuote===!0&&de?.canQuote===!0||$g(r,`user`).length>0);if((k||fe)&&r){let t=e_(e,fe?{...r,showCopy:!1,showUpvote:!1,showDownvote:!1,showReadAloud:!1}:g?{...r,showCopy:x.length>0&&r.showCopy!==!1,showUpvote:!1,showDownvote:!1,showReadAloud:!1,showRegenerate:!1,showEdit:!1,showQuote:!1}:r,i,de,a?.widgetConfig?.future?.v5Defaults===!0&&r.visibility===void 0);h.appendChild(t)}if(!u||e.role===`system`)return h;let pe=q(`div`,`persona-message-with-avatar persona-flex persona-gap-2 ${e.role===`user`?`persona-flex-row-reverse`:``}`),me=Kg(c,e.role);return f===`right`||f===`left`&&e.role===`user`?pe.append(h,me):pe.append(me,h),pe},n_=(e,t,n,r,i,a)=>{let o=n??{};return e.role===`user`&&o.renderUserMessage?o.renderUserMessage({message:e,config:{},streaming:!!e.streaming}):e.role===`assistant`&&o.renderAssistantMessage?o.renderAssistantMessage({message:e,config:{},streaming:!!e.streaming}):t_(e,t,n,r,i,a)};Kr(),Pn();const r_=(e,t)=>{if(e.replaceChildren(),!t)e.hidden=!0;else if(typeof t==`function`){let n=null;try{n=t()}catch(e){console.warn(`[persona] welcome.icon renderer threw`,e)}if(!n){e.hidden=!0;return}e.appendChild(n),e.hidden=!1}else{if(t.type===`lucide`){let n=G(t.name,40);if(!n){e.hidden=!0;return}e.appendChild(n)}else t.type===`image`?e.appendChild(J(`img`,{className:`persona-welcome-icon-image`,attrs:{src:t.url,alt:t.alt}})):e.appendChild(J(`span`,{className:`persona-welcome-icon-text`,text:t.text}));e.hidden=!1}},i_=(e,t,n={})=>{let r=J(`div`,{className:`persona-welcome-icon`,attrs:{"data-persona-welcome-icon":``}});r.hidden=!0;let i=q(`p`,`persona-welcome-kicker`);i.hidden=!0;let a=q(`h2`,`persona-welcome-title`),o=q(`p`,`persona-welcome-subtitle`),s=J(`div`,{className:`persona-welcome-head-text`},i,a),c=J(`div`,{className:`persona-welcome-title-row`},r,s);return{host:J(`div`,{className:`persona-welcome persona-rounded-2xl`,attrs:{"data-persona-welcome":``,"data-persona-intro-card":``,"data-persona-welcome-variant":`card`},style:{background:`var(--persona-intro-card-bg, transparent)`,boxShadow:n.flatShadow?`none`:`var(--persona-intro-card-shadow, none)`,border:`var(--persona-intro-card-border, none)`}},c,o,t),iconHolder:r,kicker:i,title:a,subtitle:o,starterSuggestions:t}},a_=(e,t,n)=>{t.hidden=!n,t.style.display=n?``:`none`,e.classList.toggle(`persona-gap-6`,n),e.classList.toggle(`persona-gap-3`,!n)},o_=(e,t)=>{e.title.textContent=t.title,e.kicker.textContent=t.kicker??``,e.kicker.hidden=!t.kicker,e.subtitle.textContent=t.subtitle,e.subtitle.hidden=t.subtitle===``,r_(e.iconHolder,t.icon),e.host.setAttribute(`data-persona-welcome-variant`,t.variant),e.host.setAttribute(`data-persona-welcome-dismiss`,t.dismiss),e.host.setAttribute(`data-persona-welcome-layout`,t.layout??`top`),e.host.setAttribute(`data-persona-welcome-anchor`,t.anchor??`bottom`),t.iconPlacement===`inline`?e.host.setAttribute(`data-persona-welcome-icon-placement`,`inline`):e.host.removeAttribute(`data-persona-welcome-icon-placement`),t.align?e.host.setAttribute(`data-persona-welcome-align`,t.align):e.host.removeAttribute(`data-persona-welcome-align`)},s_=`data-persona-welcome-overlay`,c_=`persona-welcome-overlay-active`,l_=/* @__PURE__ */ new WeakMap,u_=(e,t,n)=>{n.setAttribute(`data-persona-welcome-plugin`,``),t.appendChild(n),t.setAttribute(`data-persona-welcome-content`,`plugin`),t.setAttribute(s_,``),e.classList.contains(c_)||(l_.set(e,e.scrollTop),e.classList.add(c_),e.scrollTop=0)},d_=(e,t,n)=>{n&&n!==t&&n.remove(),t.removeAttribute(`data-persona-welcome-content`),t.removeAttribute(s_),e.classList.contains(c_)&&(e.classList.remove(c_),e.scrollTop=l_.get(e)??e.scrollTop,l_.delete(e))},f_=()=>{let e=J(`div`,{className:`persona-welcome-greeting persona-flex persona-flex-col`,attrs:{"data-persona-welcome-greeting":``}});return e.hidden=!0,e},p_=(e,t,n)=>{if(e.replaceChildren(),!t){e.hidden=!0;return}let r=n?.layout?.messages?.layout??`bubble`,i=J(`div`,{className:Yg(`assistant`,r).join(` `),attrs:{"data-persona-theme-zone":`assistant-message`},text:t,style:r===`flat`?{backgroundColor:`transparent`,color:`var(--persona-message-assistant-text, var(--persona-text))`}:{backgroundColor:`var(--persona-message-assistant-bg, var(--persona-container))`,color:`var(--persona-message-assistant-text, var(--persona-text))`}});e.appendChild(J(`div`,{className:`persona-flex`},i)),e.hidden=!1},m_=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,h_=(e,t)=>{if(m_()||typeof e.animate!=`function`||!e.isConnected)return t(null),null;let n=e.getBoundingClientRect(),r=e.parentElement,i=0,a=0,o=0;if(r){let t=getComputedStyle(r);i=parseFloat(t.rowGap)||0;let s=e.previousElementSibling,c=e.nextElementSibling,l=r.getBoundingClientRect().top+(parseFloat(t.borderTopWidth)||0)+(parseFloat(t.paddingTop)||0)-r.scrollTop;a=Math.max(0,s?n.top-s.getBoundingClientRect().bottom-i:n.top-l),o=Math.max(0,c?c.getBoundingClientRect().top-n.bottom-i:0)}let s=e.style.overflow;e.style.overflow=`hidden`;let c=getComputedStyle(e),l=parseFloat(c.paddingTop)||0,u=parseFloat(c.paddingBottom)||0,d=e.animate([{opacity:`1`,transform:`none`,height:`${n.height}px`,minHeight:`0px`,paddingTop:`${l}px`,paddingBottom:`${u}px`,marginTop:`${a}px`,marginBottom:`${o}px`},{opacity:`0`,transform:`translateY(-4px)`,height:`0px`,minHeight:`0px`,paddingTop:`0px`,paddingBottom:`0px`,marginTop:`0px`,marginBottom:`${-i}px`}],{duration:180,easing:`ease-out`,fill:`forwards`}),f=!1,p=()=>{f||(f=!0,e.style.overflow=s,t(d))};return d.finished.then(p).catch(p),d},g_=(e,t,n,r=260)=>{if(t<=1||m_()||typeof e.animate!=`function`||!e.isConnected)return null;let i=n===`drop`?-t:t;return e.animate([{transform:`translateY(${i}px)`},{transform:`none`}],{duration:r,easing:`cubic-bezier(0.2, 0, 0, 1)`,fill:`none`})},__=/* @__PURE__ */ new WeakSet,v_=(e,t)=>!!e&&e[t]!==void 0,y_=(e,t)=>{e&&e.debug===!0&&t.length&&!__.has(e)&&(__.add(e),t.forEach(e=>console.warn(`[persona] ${e}`)))},b_=(e,t=e?.launcher?.fullHeight===!0&&!e.launcher.sidebarMode&&e.launcher.mountMode!==`docked`)=>{let n=e?.welcome,r=e?.copy,i=e?.future?.v5Defaults===!0,a=n?.layout??(i?`centered`:`top`),o=v_(n,`variant`)?n.variant:r?.showWelcomeCard===!1?`none`:`card`,s=o===`hero`&&!i&&n?.layout===void 0?`on-first-message`:v_(n,`dismiss`)?n.dismiss:i||o===`hero`?`on-first-message`:`never`,c=[];for(let[e,t]of[[`title`,`welcomeTitle`],[`subtitle`,`welcomeSubtitle`],[`variant`,`showWelcomeCard`]])v_(n,e)&&v_(r,t)&&c.push(`welcome.${e} and copy.${t} are both set; welcome.${e} wins. copy.${t} is deprecated.`);o===`hero`&&v_(n,`message`)&&c.push(`welcome.message is ignored when welcome.variant is "hero": the hero is the greeting.`),!i&&n?.layout===void 0&&o===`hero`&&v_(n,`dismiss`)&&n.dismiss!==`on-first-message`&&c.push(`welcome.dismiss is pinned to "on-first-message" when welcome.variant is "hero".`);let l=n?.anchor??(o!==`none`&&a===`centered`&&t?`center`:`bottom`),u=Im(n?.anchorComposerTop)!==null;return v_(n,`anchorComposerTop`)&&!u&&c.push(`welcome.anchorComposerTop must be a percentage between 0% and 100%; falling back to "44%".`),l!==`center`&&(v_(n,`anchorComposerTop`)||v_(n,`composerGap`))&&c.push(`welcome.anchorComposerTop is ignored unless welcome.anchor is "center".`),y_(e,c),{title:v_(n,`title`)?n.title:r?.welcomeTitle??(i?`What can I help with?`:`Hello 👋`),kicker:n?.kicker??``,subtitle:v_(n,`subtitle`)?n.subtitle:r?.welcomeSubtitle??(i?``:`I can answer questions and help you get things done here.`),icon:n?.icon,align:n?.align===`start`||n?.align===`center`?n.align:a===`centered`?`center`:void 0,iconPlacement:n?.icon&&typeof n.icon!=`function`&&n.icon.placement===`inline`?`inline`:`above`,variant:o,dismiss:s,message:o===`hero`?void 0:n?.message,layout:a,anchor:l,anchorComposerTop:u?n.anchorComposerTop:`44%`,composerGap:n?.composerGap?.trim()||`24px`}},x_=e=>!!(e.content.trim()||e.contentParts?.some(e=>e.type!==`text`||e.text.trim())),S_=(e=[])=>e.some(e=>e.role===`user`||e.role===`operator`&&x_(e)||e.role===`assistant`&&(x_(e)||e.toolCall||e.tools?.length||e.reasoning||e.approval)),C_=e=>S_(e)?`active`:`empty`,w_=(e,t)=>e.variant!==`none`&&(e.dismiss===`never`||!S_(t));Kr(),fa(),fs();const T_=`var(--persona-components-panel-height)`,E_=e=>{let t=os(e),n=t.launcherWidth?e?.launcher?.width:t.legacyLauncherWidth?e?.launcherWidth:void 0,r=e?.launcher?.heightOffset??0,i=r===0?`max(200px, ${T_})`:`max(200px, calc(${T_} - ${r}px))`;return{width:n??`var(--persona-components-panel-width)`,maxWidth:n??`var(--persona-components-panel-maxWidth)`,height:i,maxHeight:`var(--persona-components-panel-maxHeight)`}},D_=e=>{let t=os(e);return t.launcherWidth||t.legacyLauncherWidth||e?.theme?.components?.panel?.width!==void 0?E_(e).width:`100%`},O_=`16px`,k_=`10px`,A_=`14px`,j_=e=>{let t=e?.launcher?.enabled??!0,n=zh(e);if(Bh(e)){let t=e?.launcher?.composerBar??{},n=q(`div`,`persona-widget-wrapper persona-fixed persona-transition`);n.setAttribute(`data-persona-composer-bar`,``),n.dataset.state=`collapsed`,n.dataset.expandedSize=t.expandedSize??`anchored`,n.style.zIndex=String(e?.launcher?.zIndex??1e5);let r=q(`div`,`persona-widget-panel persona-relative persona-flex persona-flex-1 persona-min-h-0 persona-flex-col`);r.style.width=`100%`,n.appendChild(r);let i=q(`div`,`persona-widget-pill-root`);return i.setAttribute(`data-persona-composer-bar`,``),i.dataset.state=`collapsed`,i.dataset.expandedSize=t.expandedSize??`anchored`,i.style.zIndex=String(e?.launcher?.zIndex??1e5),{wrapper:n,panel:r,pillRoot:i}}if(n){let e=q(`div`,`persona-relative persona-h-full persona-w-full persona-flex persona-flex-1 persona-min-h-0 persona-flex-col`),t=q(`div`,`persona-relative persona-h-full persona-w-full persona-flex persona-flex-1 persona-min-h-0 persona-flex-col`);return e.appendChild(t),{wrapper:e,panel:t}}if(!t){let t=q(`div`,`persona-relative persona-h-full persona-flex persona-flex-col persona-flex-1 persona-min-h-0`),n=q(`div`,`persona-relative persona-flex-1 persona-flex persona-flex-col persona-min-h-0`);return t.style.width=D_(e),n.style.width=`100%`,t.appendChild(n),{wrapper:t,panel:n}}let r=e?.launcher??{},i=r.position&&Xh[r.position]?Xh[r.position]:Xh[`bottom-right`],a=q(`div`,`persona-widget-wrapper persona-fixed ${i} persona-transition`);a.style.zIndex=String(e?.launcher?.zIndex??1e5);let o=q(`div`,`persona-widget-panel persona-relative persona-min-h-[320px]`),s=E_(e);return o.style.width=s.width,o.style.maxWidth=s.maxWidth,a.appendChild(o),{wrapper:a,panel:o}},M_=e=>{let t=J(`div`,{className:`persona-suggestions`,attrs:{"data-persona-suggestions":Uh(e)}});return t.hidden=!0,t},N_=(e,t)=>{let n=M_(`starter`),r=i_(e,n,{flatShadow:zh(e)}),i=b_(e);o_(r,i),a_(t,r.host,w_(i,e?.initialMessages));let a=f_();return p_(a,i.message,e),{welcome:r,greetingHost:a}},P_=(e,t)=>{let n=q(`div`,`persona-widget-container persona-relative persona-flex persona-flex-1 persona-min-h-0 persona-flex-col persona-text-persona-primary`);n.setAttribute(`data-persona-theme-zone`,`container`);let{button:r,wrapper:i}=ng(e,{showClose:t,wrapperClassName:`persona-composer-bar-close`,buttonSize:O_,iconSize:k_});i.style.position=`absolute`,i.style.top=`8px`,i.style.right=`8px`,i.style.zIndex=`10`;let a=e?.launcher?.clearChat?.enabled??!0,o=null,s=null;if(a){let t=rg(e,{wrapperClassName:`persona-composer-bar-clear-chat`,buttonSize:O_,iconSize:A_});o=t.button,s=t.wrapper,s.style.position=`absolute`,s.style.top=`8px`,s.style.right=`32px`,s.style.zIndex=`10`}let c=J(`span`,{className:`persona-widget-header`,attrs:{"data-persona-theme-zone":`header`},style:{display:`none`}}),l=J(`div`,{className:`persona-widget-body persona-flex persona-flex-1 persona-min-h-0 persona-flex-col persona-gap-6 persona-overflow-y-auto persona-bg-persona-container persona-px-6 persona-py-6`,attrs:{id:`persona-scroll-container`,"data-persona-theme-zone":`messages`},style:{paddingTop:`48px`}});l.style.setProperty(`scrollbar-gutter`,`stable`);let{welcome:u,greetingHost:d}=N_(e,l),{host:f,title:p,subtitle:m}=u,h=u.starterSuggestions,g=q(`div`,`persona-widget-messages persona-flex persona-flex-col`);g.style.gap=`var(--persona-components-message-gap, 12px)`;let _=M_(`followUp`),v=Pm(e,!0);v&&(g.style.maxWidth=v,g.style.marginLeft=`auto`,g.style.marginRight=`auto`,g.style.width=`100%`),l.append(f,d,g,_);let y=J(`div`,{className:`persona-composer-overlay persona-pointer-events-none`,attrs:{"data-persona-composer-overlay":``},style:{position:`absolute`,left:`0`,right:`0`,bottom:`calc(var(--persona-composer-overlay-height, 0px) + var(--persona-composer-lift, 0px))`,zIndex:`20`}}),b=vg({config:e}),{root:x,textNode:S}=_g();return n.append(c,i,l,y),s&&n.appendChild(s),{container:n,body:l,messagesWrapper:g,starterSuggestions:h,transcriptSuggestions:_,composerOverlay:y,suggestions:b.suggestions,textarea:b.textarea,sendButton:b.sendButton,sendButtonWrapper:b.sendButtonWrapper,micButton:b.micButton,micButtonWrapper:b.micButtonWrapper,composerForm:b.composerForm,statusText:b.statusText,welcomeHost:f,welcomeIconHolder:u.iconHolder,greetingHost:d,introKicker:u.kicker,introTitle:p,introSubtitle:m,closeButton:r,closeButtonWrapper:i,clearChatButton:o,clearChatButtonWrapper:s,iconHolder:q(`span`),headerTitle:q(`span`),headerSubtitle:q(`span`),header:c,footer:b.footer,attachmentButton:b.attachmentButton,attachmentButtonWrapper:b.attachmentButtonWrapper,attachmentInput:b.attachmentInput,attachmentPreviewsContainer:b.attachmentPreviewsContainer,actionsRow:b.actionsRow,leftActions:b.leftActions,rightActions:b.rightActions,setSendButtonMode:b.setSendButtonMode,peekBanner:x,peekTextNode:S}},F_=(e,t=!0)=>{if(Bh(e))return P_(e,t);let n=J(`div`,{className:`persona-widget-container persona-flex persona-h-full persona-w-full persona-flex-1 persona-min-h-0 persona-flex-col persona-text-persona-primary persona-bg-persona-surface persona-rounded-2xl persona-overflow-hidden persona-border persona-border-persona-border`,attrs:{"data-persona-theme-zone":`container`}}),r=e?.layout?.header,i=ds(e),a=r?mg(e,r,{showClose:t}):sg({config:e,showClose:t}),o=J(`div`,{className:`persona-widget-body persona-flex persona-flex-1 persona-min-h-0 persona-flex-col persona-gap-6 persona-overflow-y-auto persona-bg-persona-container persona-px-6 persona-py-6`,attrs:{id:`persona-scroll-container`,"data-persona-theme-zone":`messages`}});o.style.setProperty(`scrollbar-gutter`,`stable`);let{welcome:s,greetingHost:c}=N_(e,o),{host:l,title:u,subtitle:d}=s,f=s.starterSuggestions,p=q(`div`,`persona-widget-messages persona-flex persona-flex-col`);p.style.gap=`var(--persona-components-message-gap, 12px)`;let m=M_(`followUp`),h=Pm(e,!1);h&&(p.style.maxWidth=h,p.style.marginLeft=`auto`,p.style.marginRight=`auto`,p.style.width=`100%`),o.append(l,c,p,m);let g=gg({config:e}),_=e?.layout?.showFooter!==!1;i||(a.header.style.display=`none`),cg(n,a,e),n.append(o);let v=J(`div`,{className:`persona-composer-overlay persona-pointer-events-none`,attrs:{"data-persona-composer-overlay":``},style:{position:`absolute`,left:`0`,right:`0`,bottom:`calc(var(--persona-composer-overlay-height, 0px) + var(--persona-composer-lift, 0px))`,zIndex:`20`}});return _||(g.footer.style.display=`none`),n.append(g.footer),n.append(v),{container:n,body:o,messagesWrapper:p,starterSuggestions:f,transcriptSuggestions:m,composerOverlay:v,suggestions:g.suggestions,textarea:g.textarea,sendButton:g.sendButton,sendButtonWrapper:g.sendButtonWrapper,micButton:g.micButton,micButtonWrapper:g.micButtonWrapper,composerForm:g.composerForm,statusText:g.statusText,welcomeHost:l,welcomeIconHolder:s.iconHolder,greetingHost:c,introKicker:s.kicker,introTitle:u,introSubtitle:d,closeButton:a.closeButton,closeButtonWrapper:a.closeButtonWrapper,clearChatButton:a.clearChatButton,clearChatButtonWrapper:a.clearChatButtonWrapper,iconHolder:a.iconHolder,headerTitle:a.headerTitle,headerSubtitle:a.headerSubtitle,header:a.header,footer:g.footer,attachmentButton:g.attachmentButton,attachmentButtonWrapper:g.attachmentButtonWrapper,attachmentInput:g.attachmentInput,attachmentPreviewsContainer:g.attachmentPreviewsContainer,actionsRow:g.actionsRow,leftActions:g.leftActions,rightActions:g.rightActions,setSendButtonMode:g.setSendButtonMode}};Kr(),Pn(),fa();const I_=(e,t)=>{let n=q(`button`);n.type=`button`,n.innerHTML=`
24
24
  <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>
25
25
  <img data-role="launcher-image" class="persona-rounded-full persona-object-cover" alt="" style="display:none" />
26
26
  <span class="persona-flex persona-min-w-0 persona-flex-1 persona-flex-col persona-items-start persona-text-left">
@@ -28,11 +28,11 @@ import{Marked as e,Marked as t}from"marked";import n,{default as r}from"dompurif
28
28
  <span class="persona-block persona-w-full persona-truncate persona-text-xs persona-text-persona-launcher-muted" data-role="launcher-subtitle"></span>
29
29
  </span>
30
30
  <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>
31
- `,n.addEventListener(`click`,t);let r=e=>{let t=e.launcher??{},r=Rh(e),i=Ap(e)===`circle`;i?(n.dataset.personaLauncherVariant=`circle`,n.setAttribute(`aria-label`,t.title??`Open chat`)):(n.removeAttribute(`data-persona-launcher-variant`),n.removeAttribute(`aria-label`));let a=n.querySelector(`[data-role='launcher-title']`);if(a){let e=t.title??`Chat Assistant`;a.textContent=e,a.setAttribute(`title`,e)}let o=n.querySelector(`[data-role='launcher-subtitle']`);if(o){let e=t.subtitle??`Here to help you get answers fast`;o.textContent=e,o.setAttribute(`title`,e)}let s=n.querySelector(`.persona-flex-col`);s&&(t.textHidden||r||i?s.style.display=`none`:s.style.display=``);let c=n.querySelector(`[data-role='launcher-icon']`);if(c){if(t.agentIconHidden)c.style.display=`none`;else{let e=t.agentIconSize??`40px`;if(c.style.height=e,c.style.width=e,t.agentIconBackgroundColor?(c.style.backgroundColor=t.agentIconBackgroundColor,c.classList.remove(`persona-bg-persona-primary`)):(c.style.backgroundColor=``,c.classList.add(`persona-bg-persona-primary`)),c.innerHTML=``,t.agentIconName){let n=parseFloat(e)||24,r=K(t.agentIconName,n*.6,`var(--persona-text-inverse, #ffffff)`,1.5);r?(c.appendChild(r),c.style.display=``):(c.textContent=t.agentIconText??`💬`,c.style.display=``)}else t.iconUrl?c.style.display=`none`:(c.textContent=t.agentIconText??`💬`,c.style.display=``)}}let l=n.querySelector(`[data-role='launcher-image']`);if(l){let e=t.agentIconSize??`40px`;l.style.height=e,l.style.width=e,t.iconUrl&&!t.agentIconName&&!t.agentIconHidden?(l.src=t.iconUrl,l.style.display=`block`):l.style.display=`none`}let u=n.querySelector(`[data-role='launcher-call-to-action-icon']`);if(u){let e=t.callToActionIconSize??`32px`;u.style.height=e,u.style.width=e,t.callToActionIconBackgroundColor?(u.style.backgroundColor=t.callToActionIconBackgroundColor,u.classList.remove(`persona-bg-persona-primary`)):(u.style.backgroundColor=``,u.classList.add(`persona-bg-persona-primary`)),t.callToActionIconColor?(u.style.color=t.callToActionIconColor,u.classList.remove(`persona-text-persona-call-to-action`)):(u.style.color=``,u.classList.add(`persona-text-persona-call-to-action`));let n=0;if(t.callToActionIconPadding?(u.style.boxSizing=`border-box`,u.style.padding=t.callToActionIconPadding,n=(parseFloat(t.callToActionIconPadding)||0)*2):(u.style.boxSizing=``,u.style.padding=``),t.callToActionIconHidden||i)u.style.display=`none`;else if(u.style.display=r?`none`:``,u.innerHTML=``,t.callToActionIconName){let r=Math.max((parseFloat(e)||24)-n,8),i=K(t.callToActionIconName,r,`currentColor`,1.5);i?u.appendChild(i):u.textContent=t.callToActionIconText??`↗`}else u.textContent=t.callToActionIconText??`↗`}let d=t.position&&Yh[t.position]?Yh[t.position]:Yh[`bottom-right`];n.className=r?`persona-relative persona-mt-4 persona-mb-4 persona-mx-auto persona-flex persona-items-center persona-justify-center persona-rounded-launcher persona-bg-persona-launcher persona-transition hover:persona-translate-y-[-2px] persona-cursor-pointer`:`persona-fixed persona-flex persona-items-center persona-gap-3 persona-rounded-launcher persona-bg-persona-launcher persona-py-2.5 persona-pl-3 persona-pr-3 persona-transition hover:persona-translate-y-[-2px] persona-cursor-pointer ${d}`,r||(n.style.zIndex=String(t.zIndex??1e5)),n.style.border=t.border??`1px solid var(--persona-launcher-border, var(--persona-border, #e5e7eb))`,n.style.boxShadow=t.shadow===void 0?`var(--persona-launcher-shadow, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1))`:t.shadow.trim()===``?`none`:t.shadow,r?(n.style.width=`0`,n.style.minWidth=`0`,n.style.maxWidth=`0`,n.style.padding=`0`,n.style.overflow=`hidden`,n.style.border=`none`,n.style.boxShadow=`none`):(n.style.width=``,n.style.minWidth=``,n.style.maxWidth=t.collapsedMaxWidth??``,n.style.justifyContent=``,n.style.padding=``,n.style.overflow=``)};return e&&r(e),{element:n,update:r,destroy:()=>{n.removeEventListener(`click`,t),n.remove()}}},I_=/* @__PURE__ */ new Set,L_=e=>{let t=e?.persistState;return`${(typeof t==`object`?t?.keyPrefix:void 0)??`persona-`}teaser-dismissed`},R_=(e,t)=>{if(I_.has(e))return!0;if(!t)return!1;try{return window.localStorage.getItem(e)===`1`}catch{return!1}},z_=(e,t)=>{if(I_.add(e),t)try{window.localStorage.setItem(e,`1`)}catch{}},B_=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,V_=e=>{let t=e?.launcher?.teaser;return!t||!t.text||e?.launcher?.enabled===!1||Rh(e??{})?null:t},H_=(e,t)=>{let n=J(`div`,`persona-launcher-surface`);n.setAttribute(`data-persona-launcher-surface`,`true`);let r=e??{},i=null,a=null,o=null,s=null,c=null,l=!1,u=!1,d=!1,f=!1,p=()=>(i?.frequency??`once`)===`once`&&r.persistState!==!1,m=()=>{c!==null&&(clearTimeout(c),c=null)},h=()=>{a&&l&&(l=!1,a.hidden=!0)},g=e=>{m(),d=!0,h(),z_(L_(r),e&&p())},_=e=>{i&&!d&&g(e===`user`&&l)},v=()=>{c=null,!(!a||d||f)&&(u=!0,l=!0,a.hidden=!1,!(B_()||typeof a.animate!=`function`)&&a.animate([{opacity:`0`,transform:`translateY(6px)`},{opacity:`1`,transform:`none`}],{duration:220,easing:`ease-out`,fill:`backwards`}))},y=()=>{i&&a&&(d||u||f||R_(L_(r),p())||(m(),c=setTimeout(v,Math.max(0,i.delayMs??0))))},b=()=>{g(p()),t()},x=e=>{e.stopPropagation(),g(p())},S=F_(e,()=>{_(`user`),t()}),C=()=>{m(),s?.removeEventListener(`click`,b),o?.removeEventListener(`click`,x),a?.remove(),a=null,s=null,o=null,l=!1},ee=()=>{s=Y(`button`,{className:`persona-launcher-teaser-text`,attrs:{type:`button`}}),s.addEventListener(`click`,b),o=Y(`button`,{className:`persona-launcher-teaser-dismiss`,attrs:{type:`button`},text:`×`}),o.addEventListener(`click`,x),a=Y(`div`,{className:`persona-launcher-teaser`,attrs:{"data-persona-launcher-teaser":`true`,role:`status`,"aria-live":`polite`,hidden:``}},s,o),n.insertBefore(a,S.element)},w=()=>{let e=r.launcher?.position??`bottom-right`,t=Yh[e]??Yh[`bottom-right`];a?(n.className=X(`persona-launcher-surface`,t),n.setAttribute(`data-teaser`,e),n.style.zIndex=String(r.launcher?.zIndex??1e5),S.element.style.position=`static`):(n.className=`persona-launcher-surface`,n.removeAttribute(`data-teaser`),n.style.zIndex=``,S.element.style.position=``)},te=e=>{let t=V_(e);i=t,t?(a||ee(),s.textContent=t.text,o.hidden=t.dismissible===!1,o.setAttribute(`aria-label`,t.dismissLabel??`Dismiss message`),y()):C()};return n.appendChild(S.element),e&&(te(e),w()),{element:n,launcher:S,get teaser(){return a?{element:a,show:v,dismiss:g}:null},setPanelOpen:(e,t=`user`)=>{f=e,e&&_(t)},update:e=>{r=e,S.update(e),te(e),w()},destroy:()=>{C(),S.destroy(),n.remove()}}},U_=({config:e,showClose:t})=>{let{wrapper:n,panel:r,pillRoot:i}=A_(e),a=P_(e,t),o={wrapper:n,panel:r,pillRoot:i},s={container:a.container,body:a.body,messagesWrapper:a.messagesWrapper,starterSuggestions:a.starterSuggestions,transcriptSuggestions:a.transcriptSuggestions,composerOverlay:a.composerOverlay,welcomeHost:a.welcomeHost,welcomeIconHolder:a.welcomeIconHolder,greetingHost:a.greetingHost,introTitle:a.introTitle,introSubtitle:a.introSubtitle},c={element:a.header,iconHolder:a.iconHolder,headerTitle:a.headerTitle,headerSubtitle:a.headerSubtitle,closeButton:a.closeButton,closeButtonWrapper:a.closeButtonWrapper,clearChatButton:a.clearChatButton,clearChatButtonWrapper:a.clearChatButtonWrapper},l={footer:a.footer,form:a.composerForm,textarea:a.textarea,sendButton:a.sendButton,sendButtonWrapper:a.sendButtonWrapper,micButton:a.micButton,micButtonWrapper:a.micButtonWrapper,statusText:a.statusText,suggestions:a.suggestions,attachmentButton:a.attachmentButton,attachmentButtonWrapper:a.attachmentButtonWrapper,attachmentInput:a.attachmentInput,attachmentPreviewsContainer:a.attachmentPreviewsContainer,actionsRow:a.actionsRow,leftActions:a.leftActions,rightActions:a.rightActions,setSendButtonMode:a.setSendButtonMode,peekBanner:a.peekBanner,peekTextNode:a.peekTextNode};return{shell:o,panelElements:a,transcript:s,header:c,composer:l,replaceHeader:e=>(c.element.replaceWith(e.header),c.element=e.header,c.iconHolder=e.iconHolder,c.headerTitle=e.headerTitle,c.headerSubtitle=e.headerSubtitle,c.closeButton=e.closeButton,c.closeButtonWrapper=e.closeButtonWrapper,c.clearChatButton=e.clearChatButton,c.clearChatButtonWrapper=e.clearChatButtonWrapper,e),replaceComposer:e=>{l.footer.replaceWith(e),l.footer=e}}},W_=({config:e,plugins:t,onToggle:n})=>{let r=t.find(e=>e.renderLauncher);if(r?.renderLauncher){let t=r.renderLauncher({config:e,defaultRenderer:()=>F_(e,n).element,onToggle:n});if(t)return{instance:null,element:t}}let i=H_(e,n);return{instance:i,element:i.element}},G_=e=>{let t=e?.persistState;return(typeof t==`object`?t?.keyPrefix:void 0)??`persona-`},K_=(e,t,n)=>`${G_(e)}plugin:${t}:${n}`,q_=e=>{let t=/* @__PURE__ */ new Map,n=!1,r=()=>{if(n||e()?.persistState===!1)return null;try{return typeof window>`u`||!window.localStorage?null:window.localStorage}catch{return n=!0,null}};return i=>{let a=t=>K_(e(),i,t);return{get:e=>{let i=a(e),o=r();if(o)try{return o.getItem(i)}catch{n=!0}return t.get(i)??null},set:(e,i)=>{let o=a(e),s=r();if(s)try{s.setItem(o,i);return}catch{n=!0}t.set(o,i)},remove:e=>{let i=a(e);t.delete(i);let o=r();if(o)try{o.removeItem(i)}catch{n=!0}}}}},J_=(...e)=>null,Y_=/* @__PURE__ */ new WeakMap;async function X_(e){let t=e.closest(`[data-persona-tool-detail]`),n=t?.querySelector(`pre`);if(!n)return;let r=`Copy ${t?.getAttribute(`data-persona-tool-detail`)}`;clearTimeout(Y_.get(e));try{await navigator.clipboard.writeText(n.textContent??``),e.dataset.copied=`true`,e.setAttribute(`aria-label`,`Copied`),e.title=`Copied`;let t=J_(`check`,14,`currentColor`,2);t&&e.replaceChildren(t)}catch{e.setAttribute(`aria-label`,`Copy failed — try again`),e.title=`Copy failed — try again`}Y_.set(e,setTimeout(()=>{delete e.dataset.copied,e.setAttribute(`aria-label`,r),e.title=r;let t=J_(`copy`,14,`currentColor`,1.7);t&&e.replaceChildren(t),Y_.delete(e)},1800))}U();const{setLoader:Z_,load:Q_,provide:$_,getSync:ev}=H({fallbackImport:()=>import(`@runtypelabs/persona/approval-ui`)}),tv=Q_,nv=ev;U();const{setLoader:rv,load:iv}=H({fallbackImport:()=>import(`@runtypelabs/persona/event-stream-view`)}),av=iv;Wr();function ov(e,t,n){return t?.trim()||(Ur(e,`artifact.${n}`)?`var(--persona-components-artifact-${n.split(`.`).join(`-`)})`:void 0)}function sv(e){return e?.features?.artifacts?.enabled===!0}function cv(e,t){if(e.classList.remove(`persona-artifact-border-full`,`persona-artifact-border-left`),e.style.removeProperty(`--persona-artifact-pane-border`),e.style.removeProperty(`--persona-artifact-pane-border-left`),!sv(t))return;let n=t.features?.artifacts?.layout,r=ov(t,n?.paneBorder,`pane.border`),i=ov(t,n?.paneBorderLeft,`pane.borderLeft`);r?(e.classList.add(`persona-artifact-border-full`),e.style.setProperty(`--persona-artifact-pane-border`,r)):i&&(e.classList.add(`persona-artifact-border-left`),e.style.setProperty(`--persona-artifact-pane-border-left`,i))}function lv(e){e.style.removeProperty(`--persona-artifact-doc-toolbar-icon-color`),e.style.removeProperty(`--persona-artifact-doc-toggle-active-bg`),e.style.removeProperty(`--persona-artifact-doc-toggle-active-border`),e.style.removeProperty(`--persona-artifact-doc-toggle-active-color`)}const uv=[`panel`,`seamless`,`detached`];function dv(e){let t=e.features?.artifacts?.layout?.paneAppearance;return t&&uv.includes(t)?t:t?`panel`:e.launcher?.detachedPanel?`detached`:`panel`}function fv(e){return!e||!sv(e)?!1:dv(e)===`detached`}function pv(e,t){if(!sv(t)){e.style.removeProperty(`--persona-artifact-split-gap`),e.style.removeProperty(`--persona-artifact-pane-width`),e.style.removeProperty(`--persona-artifact-pane-max-width`),e.style.removeProperty(`--persona-artifact-pane-min-width`),e.style.removeProperty(`--persona-artifact-drawer-width`),e.style.removeProperty(`--persona-artifact-pane-bg`),e.style.removeProperty(`--persona-artifact-pane-padding`),lv(e),cv(e,t);return}let n=t.features?.artifacts?.layout,r=dv(t)===`detached`?`var(--persona-panel-inset)`:`0`;e.style.setProperty(`--persona-artifact-split-gap`,n?.splitGap??r),e.style.setProperty(`--persona-artifact-pane-width`,n?.paneWidth??`40%`),e.style.setProperty(`--persona-artifact-pane-max-width`,n?.paneMaxWidth??`28rem`),n?.drawerWidth?e.style.setProperty(`--persona-artifact-drawer-width`,n.drawerWidth):e.style.removeProperty(`--persona-artifact-drawer-width`),n?.paneMinWidth?e.style.setProperty(`--persona-artifact-pane-min-width`,n.paneMinWidth):e.style.removeProperty(`--persona-artifact-pane-min-width`);let i=ov(t,n?.paneBackground,`pane.background`);i?e.style.setProperty(`--persona-artifact-pane-bg`,i):e.style.removeProperty(`--persona-artifact-pane-bg`);let a=ov(t,n?.panePadding,`pane.padding`);a?e.style.setProperty(`--persona-artifact-pane-padding`,a):e.style.removeProperty(`--persona-artifact-pane-padding`);let o=[[ov(t,n?.documentToolbarIconColor,`toolbar.iconColor`),`--persona-artifact-doc-toolbar-icon-color`],[ov(t,n?.documentToolbarToggleActiveBackground,`toolbar.toggleActiveBackground`),`--persona-artifact-doc-toggle-active-bg`],[ov(t,n?.documentToolbarToggleActiveBorderColor,`toolbar.toggleActiveBorderColor`),`--persona-artifact-doc-toggle-active-border`],[ov(t,n?.documentToolbarToggleActiveColor,`toolbar.toggleActiveColor`),`--persona-artifact-doc-toggle-active-color`]];for(let[t,n]of o){let r=t?.trim();r?e.style.setProperty(n,r):e.style.removeProperty(n)}cv(e,t)}function mv(e,t){for(let t of uv)e.classList.remove(`persona-artifact-appearance-${t}`);if(e.style.removeProperty(`--persona-artifact-pane-radius`),e.style.removeProperty(`--persona-artifact-pane-shadow`),e.style.removeProperty(`--persona-artifact-chat-shadow`),!sv(t))return;let n=t.features?.artifacts?.layout,r=dv(t);e.classList.add(`persona-artifact-appearance-${r}`);let i=ov(t,n?.paneBorderRadius,`pane.borderRadius`);i&&e.style.setProperty(`--persona-artifact-pane-radius`,i);let a=ov(t,n?.paneShadow,`pane.shadow`);a&&e.style.setProperty(`--persona-artifact-pane-shadow`,a);let o=ov(t,n?.chatShadow,`chat.shadow`);o&&e.style.setProperty(`--persona-artifact-chat-shadow`,o)}function hv(e,t){return!t||!sv(e)?!1:e.features?.artifacts?.layout?.expandLauncherPanelWhenOpen!==!1}Qn();const gv=[`__proto__`,`prototype`,`constructor`],_v=[`collapsed`,`card`,`panel`,`inline`],vv=[`markdown`,`component`],yv=/^[a-z0-9][a-z0-9!#$&^_.+-]*\/(\*|[a-z0-9!#$&^_.+-]+)$/,bv=e=>typeof e==`object`&&!!e&&!Array.isArray(e),xv=e=>!gv.includes(e),Sv=e=>_v.includes(e),Cv=e=>Object.keys(e).length>0;function wv(e,t,n,r){e.push({path:t,code:n,message:r})}const Tv=`Ignored an unsupported value.`,Ev={kind:`mode`},Dv={kind:`string`,message:`Expected a CSS length string.`},Ov={kind:`boolean`},kv=(...e)=>({kind:`value`,accepts:t=>e.includes(t)}),Av={paneWidth:Dv,paneMaxWidth:Dv,paneMinWidth:Dv,expandedPanelWidth:Dv,resizableMinWidth:Dv,resizableMaxWidth:Dv,expandLauncherPanelWhenOpen:Ov,resizable:Ov},jv={kind:`object`,message:`Expected a preference object.`,children:{showToolCalls:Ov,showReasoning:Ov,toolCallDisplay:{kind:`object`,children:{layout:kv(`row`,`card`),collapsedMode:kv(`tool-call`,`tool-name`,`tool-preview`),groupedMode:kv(`stack`,`summary`,`collapsible`),groupAppearance:kv(`plain`,`inset`),groupSummary:kv(`current-action`,`aggregate`),groupBoundary:kv(`adjacent`,`iteration`),groupSummaryMaxItems:{kind:`value`,accepts:e=>Number.isInteger(e)&&e>=0},loadingAnimation:kv(`none`,`pulse`,`shimmer`,`shimmer-color`,`rainbow`),expandable:Ov,grouped:Ov}},reasoningDisplay:{kind:`object`,children:{layout:kv(`row`,`card`),appearance:kv(`plain`,`inset`,`panel`),expandable:Ov,activePreview:Ov}},artifacts:{kind:`object`,children:{display:{kind:`object`,bareMode:!0,message:`Expected an artifact display rules object.`,children:{default:Ev,files:{kind:`object`,bareMode:!0,message:`Expected collapsed, panel, inline, or a file display rules object.`,children:{default:Ev,byMediaType:{kind:`modeMap`,keys:`mediaType`}}},byType:{kind:`modeMap`,keys:vv,alias:`byKind`,deprecated:`Use byKind. The legacy selector was normalized automatically.`},byKind:{kind:`modeMap`,keys:vv}}},filePreview:{kind:`object`,children:{enabled:Ov}},layout:{kind:`object`,children:Av}}}}};function Mv(e,t,n,r){if(e!==void 0)switch(t.kind){case`boolean`:return typeof e==`boolean`?e:wv(r,n,`invalid_type`,`Expected a boolean.`);case`string`:return typeof e==`string`?e:wv(r,n,`invalid_type`,t.message);case`value`:return t.accepts(e)?e:wv(r,n,`invalid_value`,Tv);case`mode`:return Sv(e)?Kn(e):wv(r,n,`invalid_value`,Tv);case`modeMap`:{if(!bv(e))return wv(r,n,`invalid_type`,`Expected an object.`);let i=t.keys===`mediaType`?void 0:t.keys,a={};for(let[t,o]of Object.entries(e)){let e=i?t:qn(t);xv(t)&&(i?i.includes(t):yv.test(e))?Sv(o)?a[e]=Kn(o):wv(r,`${n}.${t}`,`invalid_value`,`Expected collapsed, panel, or inline.`):wv(r,`${n}.${t}`,i?`unknown_key`:`invalid_value`,i?`Ignored an unsupported selector.`:`Expected a MIME type such as "text/html" or a wildcard such as "image/*".`)}return Cv(a)?a:void 0}case`object`:{if(t.bareMode&&Sv(e))return Kn(e);if(!bv(e))return wv(r,n,`invalid_type`,t.message??`Expected an object.`);let i=Object.keys(t.children),a=e=>n?`${n}.${e}`:e;for(let t of Object.keys(e))xv(t)&&i.includes(t)||wv(r,a(t),`unknown_key`,`Ignored because this key is not part of the persisted preference schema.`);let o={};for(let n of i){let i=t.children[n],s=Mv(e[n],i,a(n),r);if(i.deprecated&&e[n]!==void 0&&wv(r,a(n),`deprecated_key`,i.deprecated),s===void 0)continue;let c=i.alias??n,l=o[c];o[c]=bv(l)&&bv(s)?{...l,...s}:s}return Cv(o)?o:void 0}}}function Nv(e){let t=[];return{preferences:(e===null?void 0:Mv(e,jv,``,t))??{},issues:t}}function Pv(e){if(Array.isArray(e))return e.map(Pv);if(!bv(e))return e;let t={};for(let[n,r]of Object.entries(e))xv(n)&&r!==void 0&&(t[n]=Pv(r));return t}function Fv(e,t){let n=Pv(e);for(let[e,r]of Object.entries(t)){if(!xv(e)||r===void 0)continue;let t=n[e];n[e]=bv(t)&&bv(r)?Fv(t,r):Pv(r)}return n}function Iv(e){let t={},n;for(let r of e){let e=Nv(r).preferences;n=Rv(n,e.artifacts?.display),t=Fv(t,e)}let r=t;return r.artifacts&&(n===void 0?delete r.artifacts.display:r.artifacts.display=n),r}function Lv(e,t){if(t===void 0)return Pv(e);if(typeof t==`string`)return t;let n=typeof e==`string`?{default:e}:e??{},r=t.default??n.default,i={...n.byMediaType,...t.byMediaType},a={...r?{default:r}:{},...Cv(i)?{byMediaType:i}:{}};return Cv(a)?a:void 0}function Rv(e,t){if(t===void 0)return Pv(e);if(typeof t==`string`)return t;let n=typeof e==`string`?{default:e}:e??{},r=t.default??n.default,i={...n.byType,...n.byKind,...t.byType,...t.byKind},a=Lv(n.files,t.files),o={...r?{default:r}:{},...Cv(i)?{byKind:i}:{},...a===void 0?{}:{files:a}};return Cv(o)?o:void 0}function zv(e={},t){let n=Iv(t),r={...e};for(let e of[`showToolCalls`,`showReasoning`])n[e]!==void 0&&(r[e]=n[e]);for(let t of[`toolCallDisplay`,`reasoningDisplay`])n[t]&&Object.assign(r,{[t]:{...e[t],...n[t]}});if(n.artifacts){let t=e.artifacts??{},i={...t};if(n.artifacts.display!==void 0){let e=Rv(t.display,n.artifacts.display);e!==void 0&&(i.display=e)}for(let e of[`filePreview`,`layout`])n.artifacts[e]&&(i[e]={...t[e],...n.artifacts[e]});r.artifacts=i}return r}function Bv(e){let t=e.preferences;return!t||!Cv(t)?e:{...e,features:zv(e.features??{},[t])}}U();const{setLoader:Vv,load:Hv,provide:Uv,getSync:Wv}=H({fallbackImport:()=>import(`@runtypelabs/persona/forms-ui`)}),Gv=Hv,Kv=Wv,qv=new class{#e=/* @__PURE__ */ new Map;register(e){this.#e.has(e.id)&&console.warn(`Plugin "${e.id}" is already registered. Overwriting.`),this.#e.set(e.id,e),e.onRegister?.()}unregister(e){let t=this.#e.get(e);t&&(t.onUnregister?.(),this.#e.delete(e))}getAll(){return Array.from(this.#e.values()).sort((e,t)=>(t.priority??0)-(e.priority??0))}getForInstance(e){let t=this.getAll();if(!e||e.length===0)return t;let n=new Set(e.map(e=>e.id));return[...t.filter(e=>!n.has(e.id)),...e].sort((e,t)=>(t.priority??0)-(e.priority??0))}clear(){this.#e.forEach(e=>e.onUnregister?.()),this.#e.clear()}};Es(),ds(),Wr(),kr();const Jv=e=>typeof e==`object`&&!!e&&!Array.isArray(e),Yv=/* @__PURE__ */ new Set([`headers`,`agent`,`storageAdapter`,`components`,`targetProviders`,`voiceRecognition.provider.custom`,`features.artifacts.display`,`features.streamAnimation.plugins`,`preferences`,`welcome.icon`]),Xv=(e,t,n)=>{if(!Jv(e)||!Jv(t)||Yv.has(n))return t;let r={...e};for(let i of Object.keys(t)){if(t[i]===void 0){delete r[i];continue}let a=n?`${n}.${i}`:i;r[i]=Xv(e[i],t[i],a)}return r};function Zv(e,t){let n=br(ws),r=Tr(e,t,n),i=Cr(Er(Xv(e,t,``),n,r),r);return Rr(i,Br(e,t)),os(hs(i),cs(e,t))}U();const{setLoader:Qv,load:$v,provide:ey,getSync:ty}=H({fallbackImport:()=>import(`@runtypelabs/persona/config-diagnostics`)}),ny=$v,ry=ty;kr(),Wr();const iy=[...jr,`launcherWidth`,`suggestionChips`,`copy.welcomeTitle`,`copy.welcomeSubtitle`,`copy.showWelcomeCard`,`features.suggestReplies.enabled`,`features.suggestReplies.expose`],ay=e=>{if(!e.debug)return;let t=ry();if(!t)ny().then(()=>ay(e),()=>{});else for(let n of e.current)n in t.LEGACY_MIGRATIONS&&(e.warned.has(n)||(console.warn(`[persona] ${n} is a supported legacy alias. Prefer ${t.LEGACY_MIGRATIONS[n]}. Compatibility behavior remains supported; clear the old field with an own undefined update when migrating.`),e.warned.add(n)))},oy=e=>{let t={warned:/* @__PURE__ */ new Set,current:new Set(iy.filter(t=>Vr(e,t))),debug:e?.debug===!0};return ay(t),t},sy=(e,t)=>{if(Fr(t))e.current=new Set(iy.filter(e=>Vr(t,e)));else for(let n of iy){let r=xr(t,n);r===`clear`&&e.current.delete(n),r===`explicit`&&e.current.add(n)}Object.prototype.hasOwnProperty.call(t,`debug`)&&(e.debug=t.debug===!0),ay(e)},cy=(e={instanceId:``})=>{let t=!1,n=/* @__PURE__ */ new Map,r=(e,r)=>t?()=>{}:(n.has(e)||n.set(e,/* @__PURE__ */ new Set),n.get(e).add(r),()=>i(e,r)),i=(e,t)=>{n.get(e)?.delete(t)};return{on:r,off:i,emit:(t,r)=>{n.get(t)?.forEach(t=>{try{t(r,e)}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Event handler error:`,e)}})},dispose:()=>{t=!0,n.clear()}}},ly=e=>{let t=e.match(/```(?:json)?\s*([\s\S]*?)```/i);return t?t[1]:e},uy=e=>{let t=e.trim(),n=t.indexOf(`{`);if(n===-1)return null;let r=0;for(let e=n;e<t.length;e+=1){let i=t[e];if(i===`{`&&(r+=1),i===`}`&&(--r,r===0))return t.slice(n,e+1)}return null},dy=({text:e})=>{if(!e||!e.includes(`{`))return null;try{let t=ly(e),n=uy(t);if(!n)return null;let r=JSON.parse(n);if(!r||typeof r!=`object`||!r.action)return null;let{action:i,...a}=r;return{type:String(i),payload:a,raw:r}}catch{return null}},fy=e=>typeof e==`string`?e:e==null?``:String(e),py={message:e=>{if(e.type===`message`)return{handled:!0,displayText:fy(e.payload.text)}},messageAndClick:(e,t)=>{if(e.type!==`message_and_click`)return;let n=e.payload,r=fy(n.element);if(r&&t.document?.querySelector){let e=t.document.querySelector(r);e?setTimeout(()=>{e.click()},400):typeof console<`u`&&console.warn(`[AgentWidget] Element not found for selector:`,r)}return{handled:!0,displayText:fy(n.text)}}},my=e=>Array.isArray(e)?e.map(e=>String(e)):[],hy=e=>{let t=new Set(my(e.getSessionMetadata().processedActionMessageIds)),n=()=>{t=new Set(my(e.getSessionMetadata().processedActionMessageIds))},r=()=>{let n=Array.from(t);e.updateSessionMetadata(e=>({...e,processedActionMessageIds:n}))};return{process:n=>{if(n.streaming||n.message.role!==`assistant`||!n.text||t.has(n.message.id))return null;let i=typeof n.raw==`string`&&n.raw||typeof n.message.rawContent==`string`&&n.message.rawContent||typeof n.text==`string`&&n.text||null;!i&&typeof n.text==`string`&&n.text.trim().startsWith(`{`)&&typeof console<`u`&&console.warn(`[AgentWidget] Structured response detected but no raw payload was provided. Ensure your stream parser returns { text, raw }.`);let a=i?e.parsers.reduce((e,t)=>e||t?.({text:i,message:n.message})||null,null):null;if(!a)return null;t.add(n.message.id),r();let o={action:a,message:n.message};e.emit(`action:detected`,o);for(let t of e.handlers)if(t)try{let r=e.captureResubmitGuard?.(),i=t(a,{message:n.message,metadata:e.getSessionMetadata(),updateMetadata:e.updateSessionMetadata,document:e.documentRef,triggerResubmit:()=>{(!r||r())&&e.emit(`action:resubmit`,o)}});if(!i)continue;if(i.handled){let e=i.persistMessage!==!1;return{text:i.displayText===void 0?``:i.displayText,persist:e,resubmit:i.resubmit}}}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Action handler error:`,e)}return{text:``,persist:!0}},syncFromMetadata:n}},gy=e=>{if(!e)return null;try{return JSON.parse(e)}catch(e){return typeof console<`u`&&console.error(`[AgentWidget] Failed to parse stored state:`,e),null}},_y=e=>e.map(e=>({...e,streaming:!1})),vy=e=>e.map(e=>({...e,status:`complete`})),yy=e=>`${e??`persona-`}state`,by=(e=yy())=>{let t=()=>typeof window>`u`||!window.localStorage?null:window.localStorage;return{load:()=>{let n=t();return n?gy(n.getItem(e)):null},save:n=>{let r=t();if(r)try{let t={...n,messages:n.messages?_y(n.messages):void 0,artifacts:n.artifacts?vy(n.artifacts):void 0};r.setItem(e,JSON.stringify(t))}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Failed to persist state:`,e)}},clear:()=>{let n=t();if(n)try{n.removeItem(e)}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Failed to clear stored state:`,e)}}}},xy=e=>{let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619)>>>0;return t.toString(16).padStart(8,`0`)},Sy=async e=>{let t=globalThis.crypto?.subtle;if(t)try{let n=await t.digest(`SHA-256`,new TextEncoder().encode(e));return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}catch{}return xy(e)},Cy=async(e,t)=>{let n=await Sy(e);return{storageKey:`${t}visitor:${n}`,leaseKey:`${t}visitor-init-lock:${n}`,lockName:`persona-visitor-init:${await Sy(`${e}\0${t}`)}`}},wy=(e,t,n)=>{let r=``,i=``,a=``,o=!1,s=!1,c=0,l=null,u=null,d=/* @__PURE__ */ new Set,f=()=>{if(n||o)return null;try{return typeof window>`u`||!window.localStorage?null:window.localStorage}catch{return o=!0,null}},p=()=>{let e=f();if(!e)return l;try{return e.getItem(r)}catch{return o=!0,l}},m=(e,t)=>{if(s||e===l)return;let n=l;l=e,c+=1;let r={previousToken:n,token:e,source:t,revision:c};for(let e of d)e(r)},h=e=>{s||(e.key===null||e.key===r)&&m(e.key===null?null:e.newValue??null,`external`)},g=(async()=>{let o=await Cy(e,t);r=o.storageKey,i=o.leaseKey,a=o.lockName,l=p(),!n&&typeof window<`u`&&window.addEventListener(`storage`,h)})(),_=e=>new Promise(t=>setTimeout(t,e)),v=()=>{let e=f();if(!e)return null;try{let t=e.getItem(i);if(!t)return null;let n=JSON.parse(t);return typeof n?.expiresAt==`number`&&typeof n?.ownerNonce==`string`?n:null}catch{return null}},y=e=>{let t=f();if(t)try{v()?.ownerNonce===e&&t.removeItem(i)}catch{}},b=/* @__PURE__ */ new Set,x=e=>s?Promise.reject(/* @__PURE__ */ Error(`Visitor store destroyed before its first init could start`)):e(),S=e=>new Promise(t=>{let n=setTimeout(r,e);function r(){clearTimeout(n),b.delete(r),window.removeEventListener(`storage`,a),t()}function a(e){(e.key===null||e.key===i)&&r()}b.add(r),window.addEventListener(`storage`,a)}),C=async e=>{let t=`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,n=Date.now()+15e3;for(;!s&&Date.now()<n;){let n=f();if(!n)break;let r=Date.now(),a=v();if(a&&a.expiresAt>r&&a.ownerNonce!==t)await S(Math.min(a.expiresAt-r,500));else{try{n.setItem(i,JSON.stringify({ownerNonce:t,expiresAt:r+1e4}))}catch{o=!0;break}if(await _(20+Math.random()*40),v()?.ownerNonce!==t)await S(500);else{u=t;try{return await x(e)}finally{u=null,y(t)}}}}return x(e)};return{ready:g,async get(){return await g,m(p(),`external`),l},async set(e){await g;let t=f();if(t)try{t.setItem(r,e)}catch{o=!0}m(e,`local`)},async clear(){await g;let e=f();if(e)try{e.removeItem(r)}catch{o=!0}m(null,`local`)},revision(){return c},subscribe(e){return d.add(e),()=>{d.delete(e)}},async withFirstInitLock(e){await g;let t=globalThis.navigator?.locks;return t?.request?t.request(a,()=>x(e)):f()?C(e):x(e)},matches(r,i,a){return r===e&&i===t&&a===n},destroy(){s=!0,d.clear(),typeof window<`u`&&window.removeEventListener(`storage`,h),u&&y(u);for(let e of[...b])e()}}};U();const{setLoader:Ty,load:Ey}=H({fallbackImport:()=>import(`@runtypelabs/persona/history-view`)}),Dy=Ey;U();const{setLoader:Oy,load:ky,provide:Ay,getSync:jy}=H({fallbackImport:()=>import(`@runtypelabs/persona/history-shell`)}),My=ky,Ny=jy;function Py(){return null}const Fy=[`Very dissatisfied`,`Dissatisfied`,`Neutral`,`Satisfied`,`Very satisfied`];function Iy(e,t,n){let{onSubmit:r,onDismiss:i,title:a=t===`csat`?`How satisfied are you?`:`How likely are you to recommend us?`,subtitle:o=t===`csat`?`Please rate your experience`:`On a scale of 0 to 10`,commentPlaceholder:s=t===`csat`?`Share your thoughts (optional)...`:`What could we do better? (optional)...`,submitText:c=`Submit`,skipText:l=`Skip`,showComment:u=!0}=e,d=document.createElement(`div`);d.className=`persona-feedback-container persona-feedback-${t}`,d.setAttribute(`role`,`dialog`),d.setAttribute(`aria-label`,t===`csat`?`Customer satisfaction feedback`:`Net Promoter Score feedback`);let f=null,p=document.createElement(`div`);p.className=`persona-feedback-content`;let m=document.createElement(`div`);m.className=`persona-feedback-header`;let h=document.createElement(`h3`);h.className=`persona-feedback-title`,h.textContent=a,m.appendChild(h);let g=document.createElement(`p`);g.className=`persona-feedback-subtitle`,g.textContent=o,m.appendChild(g),p.appendChild(m);let{element:_,attentionTarget:v}=n(e=>{f=e});p.appendChild(_);let y=null;if(u){let e=document.createElement(`div`);e.className=`persona-feedback-comment-container`,y=document.createElement(`textarea`),y.className=`persona-feedback-comment`,y.placeholder=s,y.rows=3,y.setAttribute(`aria-label`,`Additional comments`),e.appendChild(y),p.appendChild(e)}let b=document.createElement(`div`);b.className=`persona-feedback-actions`;let x=document.createElement(`button`);x.type=`button`,x.className=`persona-feedback-btn persona-feedback-btn-skip`,x.textContent=l,x.addEventListener(`click`,()=>{i?.(),d.remove()});let S=document.createElement(`button`);return S.type=`button`,S.className=`persona-feedback-btn persona-feedback-btn-submit`,S.textContent=c,S.addEventListener(`click`,async()=>{if(f===null)v.classList.add(`persona-feedback-shake`),setTimeout(()=>v.classList.remove(`persona-feedback-shake`),500);else{S.disabled=!0,S.textContent=`Submitting...`;try{let e=y?.value.trim()||void 0;await r(f,e),d.remove()}catch(e){S.disabled=!1,S.textContent=c,console.error(`[${t.toUpperCase()} Feedback] Failed to submit:`,e)}}}),b.appendChild(x),b.appendChild(S),p.appendChild(b),d.appendChild(p),d}function Ly(e){return Iy(e,`csat`,t=>{let{ratingLabels:n=Fy}=e,r=document.createElement(`div`);r.className=`persona-feedback-rating persona-feedback-rating-csat`,r.setAttribute(`role`,`radiogroup`),r.setAttribute(`aria-label`,`Satisfaction rating from 1 to 5`);let i=[];for(let e=1;e<=5;e++){let a=document.createElement(`button`);a.type=`button`,a.className=`persona-feedback-rating-btn persona-feedback-star-btn`,a.setAttribute(`role`,`radio`),a.setAttribute(`aria-checked`,`false`),a.setAttribute(`aria-label`,`${e} star${e>1?`s`:``}: ${n[e-1]}`),a.title=n[e-1],a.dataset.rating=String(e),a.innerHTML=`
31
+ `,n.addEventListener(`click`,t);let r=e=>{let t=e.launcher??{},r=zh(e),i=jp(e)===`circle`;i?(n.dataset.personaLauncherVariant=`circle`,n.setAttribute(`aria-label`,t.title??`Open chat`)):(n.removeAttribute(`data-persona-launcher-variant`),n.removeAttribute(`aria-label`));let a=n.querySelector(`[data-role='launcher-title']`);if(a){let e=t.title??`Chat Assistant`;a.textContent=e,a.setAttribute(`title`,e)}let o=n.querySelector(`[data-role='launcher-subtitle']`);if(o){let e=t.subtitle??`Here to help you get answers fast`;o.textContent=e,o.setAttribute(`title`,e)}let s=n.querySelector(`.persona-flex-col`);s&&(t.textHidden||r||i?s.style.display=`none`:s.style.display=``);let c=n.querySelector(`[data-role='launcher-icon']`);if(c){if(t.agentIconHidden)c.style.display=`none`;else{let e=t.agentIconSize??`40px`;if(c.style.height=e,c.style.width=e,t.agentIconBackgroundColor?(c.style.backgroundColor=t.agentIconBackgroundColor,c.classList.remove(`persona-bg-persona-primary`)):(c.style.backgroundColor=``,c.classList.add(`persona-bg-persona-primary`)),c.innerHTML=``,t.agentIconName){let n=parseFloat(e)||24,r=G(t.agentIconName,n*.6,`var(--persona-text-inverse, #ffffff)`,1.5);r?(c.appendChild(r),c.style.display=``):(c.textContent=t.agentIconText??`💬`,c.style.display=``)}else t.iconUrl?c.style.display=`none`:(c.textContent=t.agentIconText??`💬`,c.style.display=``)}}let l=n.querySelector(`[data-role='launcher-image']`);if(l){let e=t.agentIconSize??`40px`;l.style.height=e,l.style.width=e,t.iconUrl&&!t.agentIconName&&!t.agentIconHidden?(l.src=t.iconUrl,l.style.display=`block`):l.style.display=`none`}let u=n.querySelector(`[data-role='launcher-call-to-action-icon']`);if(u){let e=t.callToActionIconSize??`32px`;u.style.height=e,u.style.width=e,t.callToActionIconBackgroundColor?(u.style.backgroundColor=t.callToActionIconBackgroundColor,u.classList.remove(`persona-bg-persona-primary`)):(u.style.backgroundColor=``,u.classList.add(`persona-bg-persona-primary`)),t.callToActionIconColor?(u.style.color=t.callToActionIconColor,u.classList.remove(`persona-text-persona-call-to-action`)):(u.style.color=``,u.classList.add(`persona-text-persona-call-to-action`));let n=0;if(t.callToActionIconPadding?(u.style.boxSizing=`border-box`,u.style.padding=t.callToActionIconPadding,n=(parseFloat(t.callToActionIconPadding)||0)*2):(u.style.boxSizing=``,u.style.padding=``),t.callToActionIconHidden||i)u.style.display=`none`;else if(u.style.display=r?`none`:``,u.innerHTML=``,t.callToActionIconName){let r=Math.max((parseFloat(e)||24)-n,8),i=G(t.callToActionIconName,r,`currentColor`,1.5);i?u.appendChild(i):u.textContent=t.callToActionIconText??`↗`}else u.textContent=t.callToActionIconText??`↗`}let d=t.position&&Xh[t.position]?Xh[t.position]:Xh[`bottom-right`];n.className=r?`persona-relative persona-mt-4 persona-mb-4 persona-mx-auto persona-flex persona-items-center persona-justify-center persona-rounded-launcher persona-bg-persona-launcher persona-transition hover:persona-translate-y-[-2px] persona-cursor-pointer`:`persona-fixed persona-flex persona-items-center persona-gap-3 persona-rounded-launcher persona-bg-persona-launcher persona-py-2.5 persona-pl-3 persona-pr-3 persona-transition hover:persona-translate-y-[-2px] persona-cursor-pointer ${d}`,r||(n.style.zIndex=String(t.zIndex??1e5)),n.style.border=t.border??`1px solid var(--persona-launcher-border, var(--persona-border, #e5e7eb))`,n.style.boxShadow=t.shadow===void 0?`var(--persona-launcher-shadow, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1))`:t.shadow.trim()===``?`none`:t.shadow,r?(n.style.width=`0`,n.style.minWidth=`0`,n.style.maxWidth=`0`,n.style.padding=`0`,n.style.overflow=`hidden`,n.style.border=`none`,n.style.boxShadow=`none`):(n.style.width=``,n.style.minWidth=``,n.style.maxWidth=t.collapsedMaxWidth??``,n.style.justifyContent=``,n.style.padding=``,n.style.overflow=``)};return e&&r(e),{element:n,update:r,destroy:()=>{n.removeEventListener(`click`,t),n.remove()}}},L_=/* @__PURE__ */ new Set,R_=e=>{let t=e?.persistState;return`${(typeof t==`object`?t?.keyPrefix:void 0)??`persona-`}teaser-dismissed`},z_=(e,t)=>{if(L_.has(e))return!0;if(!t)return!1;try{return window.localStorage.getItem(e)===`1`}catch{return!1}},B_=(e,t)=>{if(L_.add(e),t)try{window.localStorage.setItem(e,`1`)}catch{}},V_=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,H_=e=>{let t=e?.launcher?.teaser;return!t||!t.text||e?.launcher?.enabled===!1||zh(e??{})?null:t},U_=(e,t)=>{let n=q(`div`,`persona-launcher-surface`);n.setAttribute(`data-persona-launcher-surface`,`true`);let r=e??{},i=null,a=null,o=null,s=null,c=null,l=!1,u=!1,d=!1,f=!1,p=()=>(i?.frequency??`once`)===`once`&&r.persistState!==!1,m=()=>{c!==null&&(clearTimeout(c),c=null)},h=()=>{a&&l&&(l=!1,a.hidden=!0)},g=e=>{m(),d=!0,h(),B_(R_(r),e&&p())},_=e=>{i&&!d&&g(e===`user`&&l)},v=()=>{c=null,!(!a||d||f)&&(u=!0,l=!0,a.hidden=!1,!(V_()||typeof a.animate!=`function`)&&a.animate([{opacity:`0`,transform:`translateY(6px)`},{opacity:`1`,transform:`none`}],{duration:220,easing:`ease-out`,fill:`backwards`}))},y=()=>{i&&a&&(d||u||f||z_(R_(r),p())||(m(),c=setTimeout(v,Math.max(0,i.delayMs??0))))},b=()=>{g(p()),t()},x=e=>{e.stopPropagation(),g(p())},S=I_(e,()=>{_(`user`),t()}),C=()=>{m(),s?.removeEventListener(`click`,b),o?.removeEventListener(`click`,x),a?.remove(),a=null,s=null,o=null,l=!1},ee=()=>{s=J(`button`,{className:`persona-launcher-teaser-text`,attrs:{type:`button`}}),s.addEventListener(`click`,b),o=J(`button`,{className:`persona-launcher-teaser-dismiss`,attrs:{type:`button`},text:`×`}),o.addEventListener(`click`,x),a=J(`div`,{className:`persona-launcher-teaser`,attrs:{"data-persona-launcher-teaser":`true`,role:`status`,"aria-live":`polite`,hidden:``}},s,o),n.insertBefore(a,S.element)},w=()=>{let e=r.launcher?.position??`bottom-right`,t=Xh[e]??Xh[`bottom-right`];a?(n.className=Y(`persona-launcher-surface`,t),n.setAttribute(`data-teaser`,e),n.style.zIndex=String(r.launcher?.zIndex??1e5),S.element.style.position=`static`):(n.className=`persona-launcher-surface`,n.removeAttribute(`data-teaser`),n.style.zIndex=``,S.element.style.position=``)},te=e=>{let t=H_(e);i=t,t?(a||ee(),s.textContent=t.text,o.hidden=t.dismissible===!1,o.setAttribute(`aria-label`,t.dismissLabel??`Dismiss message`),y()):C()};return n.appendChild(S.element),e&&(te(e),w()),{element:n,launcher:S,get teaser(){return a?{element:a,show:v,dismiss:g}:null},setPanelOpen:(e,t=`user`)=>{f=e,e&&_(t)},update:e=>{r=e,S.update(e),te(e),w()},destroy:()=>{C(),S.destroy(),n.remove()}}},W_=({config:e,showClose:t})=>{let{wrapper:n,panel:r,pillRoot:i}=j_(e),a=F_(e,t),o={wrapper:n,panel:r,pillRoot:i},s={container:a.container,body:a.body,messagesWrapper:a.messagesWrapper,starterSuggestions:a.starterSuggestions,transcriptSuggestions:a.transcriptSuggestions,composerOverlay:a.composerOverlay,welcomeHost:a.welcomeHost,welcomeIconHolder:a.welcomeIconHolder,greetingHost:a.greetingHost,introTitle:a.introTitle,introSubtitle:a.introSubtitle},c={element:a.header,iconHolder:a.iconHolder,headerTitle:a.headerTitle,headerSubtitle:a.headerSubtitle,closeButton:a.closeButton,closeButtonWrapper:a.closeButtonWrapper,clearChatButton:a.clearChatButton,clearChatButtonWrapper:a.clearChatButtonWrapper},l={footer:a.footer,form:a.composerForm,textarea:a.textarea,sendButton:a.sendButton,sendButtonWrapper:a.sendButtonWrapper,micButton:a.micButton,micButtonWrapper:a.micButtonWrapper,statusText:a.statusText,suggestions:a.suggestions,attachmentButton:a.attachmentButton,attachmentButtonWrapper:a.attachmentButtonWrapper,attachmentInput:a.attachmentInput,attachmentPreviewsContainer:a.attachmentPreviewsContainer,actionsRow:a.actionsRow,leftActions:a.leftActions,rightActions:a.rightActions,setSendButtonMode:a.setSendButtonMode,peekBanner:a.peekBanner,peekTextNode:a.peekTextNode};return{shell:o,panelElements:a,transcript:s,header:c,composer:l,replaceHeader:e=>(c.element.replaceWith(e.header),c.element=e.header,c.iconHolder=e.iconHolder,c.headerTitle=e.headerTitle,c.headerSubtitle=e.headerSubtitle,c.closeButton=e.closeButton,c.closeButtonWrapper=e.closeButtonWrapper,c.clearChatButton=e.clearChatButton,c.clearChatButtonWrapper=e.clearChatButtonWrapper,e),replaceComposer:e=>{l.footer.replaceWith(e),l.footer=e}}},G_=({config:e,plugins:t,onToggle:n})=>{let r=t.find(e=>e.renderLauncher);if(r?.renderLauncher){let t=r.renderLauncher({config:e,defaultRenderer:()=>I_(e,n).element,onToggle:n});if(t)return{instance:null,element:t}}let i=U_(e,n);return{instance:i,element:i.element}},K_=e=>{let t=e?.persistState;return(typeof t==`object`?t?.keyPrefix:void 0)??`persona-`},q_=(e,t,n)=>`${K_(e)}plugin:${t}:${n}`,J_=e=>{let t=/* @__PURE__ */ new Map,n=!1,r=()=>{if(n||e()?.persistState===!1)return null;try{return typeof window>`u`||!window.localStorage?null:window.localStorage}catch{return n=!0,null}};return i=>{let a=t=>q_(e(),i,t);return{get:e=>{let i=a(e),o=r();if(o)try{return o.getItem(i)}catch{n=!0}return t.get(i)??null},set:(e,i)=>{let o=a(e),s=r();if(s)try{s.setItem(o,i);return}catch{n=!0}t.set(o,i)},remove:e=>{let i=a(e);t.delete(i);let o=r();if(o)try{o.removeItem(i)}catch{n=!0}}}}},Y_=(...e)=>null,X_=/* @__PURE__ */ new WeakMap;async function Z_(e){let t=e.closest(`[data-persona-tool-detail]`),n=t?.querySelector(`pre`);if(!n)return;let r=`Copy ${t?.getAttribute(`data-persona-tool-detail`)}`;clearTimeout(X_.get(e));try{await navigator.clipboard.writeText(n.textContent??``),e.dataset.copied=`true`,e.setAttribute(`aria-label`,`Copied`),e.title=`Copied`;let t=Y_(`check`,14,`currentColor`,2);t&&e.replaceChildren(t)}catch{e.setAttribute(`aria-label`,`Copy failed — try again`),e.title=`Copy failed — try again`}X_.set(e,setTimeout(()=>{delete e.dataset.copied,e.setAttribute(`aria-label`,r),e.title=r;let t=Y_(`copy`,14,`currentColor`,1.7);t&&e.replaceChildren(t),X_.delete(e)},1800))}H();const{setLoader:Q_,load:$_,provide:ev,getSync:tv}=V({fallbackImport:()=>import(`@runtypelabs/persona/approval-ui`)}),nv=$_,rv=tv;H();const{setLoader:iv,load:av}=V({fallbackImport:()=>import(`@runtypelabs/persona/event-stream-view`)}),ov=av;Gr();function sv(e,t,n){return t?.trim()||(Wr(e,`artifact.${n}`)?`var(--persona-components-artifact-${n.split(`.`).join(`-`)})`:void 0)}function cv(e){return e?.features?.artifacts?.enabled===!0}function lv(e,t){if(e.classList.remove(`persona-artifact-border-full`,`persona-artifact-border-left`),e.style.removeProperty(`--persona-artifact-pane-border`),e.style.removeProperty(`--persona-artifact-pane-border-left`),!cv(t))return;let n=t.features?.artifacts?.layout,r=sv(t,n?.paneBorder,`pane.border`),i=sv(t,n?.paneBorderLeft,`pane.borderLeft`);r?(e.classList.add(`persona-artifact-border-full`),e.style.setProperty(`--persona-artifact-pane-border`,r)):i&&(e.classList.add(`persona-artifact-border-left`),e.style.setProperty(`--persona-artifact-pane-border-left`,i))}function uv(e){e.style.removeProperty(`--persona-artifact-doc-toolbar-icon-color`),e.style.removeProperty(`--persona-artifact-doc-toggle-active-bg`),e.style.removeProperty(`--persona-artifact-doc-toggle-active-border`),e.style.removeProperty(`--persona-artifact-doc-toggle-active-color`)}const dv=[`panel`,`seamless`,`detached`];function fv(e){let t=e.features?.artifacts?.layout?.paneAppearance;return t&&dv.includes(t)?t:t?`panel`:e.launcher?.detachedPanel?`detached`:`panel`}function pv(e){return!e||!cv(e)?!1:fv(e)===`detached`}function mv(e,t){if(!cv(t)){e.style.removeProperty(`--persona-artifact-split-gap`),e.style.removeProperty(`--persona-artifact-pane-width`),e.style.removeProperty(`--persona-artifact-pane-max-width`),e.style.removeProperty(`--persona-artifact-pane-min-width`),e.style.removeProperty(`--persona-artifact-drawer-width`),e.style.removeProperty(`--persona-artifact-pane-bg`),e.style.removeProperty(`--persona-artifact-pane-padding`),uv(e),lv(e,t);return}let n=t.features?.artifacts?.layout,r=fv(t)===`detached`?`var(--persona-panel-inset)`:`0`;e.style.setProperty(`--persona-artifact-split-gap`,n?.splitGap??r),e.style.setProperty(`--persona-artifact-pane-width`,n?.paneWidth??`40%`),e.style.setProperty(`--persona-artifact-pane-max-width`,n?.paneMaxWidth??`28rem`),n?.drawerWidth?e.style.setProperty(`--persona-artifact-drawer-width`,n.drawerWidth):e.style.removeProperty(`--persona-artifact-drawer-width`),n?.paneMinWidth?e.style.setProperty(`--persona-artifact-pane-min-width`,n.paneMinWidth):e.style.removeProperty(`--persona-artifact-pane-min-width`);let i=sv(t,n?.paneBackground,`pane.background`);i?e.style.setProperty(`--persona-artifact-pane-bg`,i):e.style.removeProperty(`--persona-artifact-pane-bg`);let a=sv(t,n?.panePadding,`pane.padding`);a?e.style.setProperty(`--persona-artifact-pane-padding`,a):e.style.removeProperty(`--persona-artifact-pane-padding`);let o=[[sv(t,n?.documentToolbarIconColor,`toolbar.iconColor`),`--persona-artifact-doc-toolbar-icon-color`],[sv(t,n?.documentToolbarToggleActiveBackground,`toolbar.toggleActiveBackground`),`--persona-artifact-doc-toggle-active-bg`],[sv(t,n?.documentToolbarToggleActiveBorderColor,`toolbar.toggleActiveBorderColor`),`--persona-artifact-doc-toggle-active-border`],[sv(t,n?.documentToolbarToggleActiveColor,`toolbar.toggleActiveColor`),`--persona-artifact-doc-toggle-active-color`]];for(let[t,n]of o){let r=t?.trim();r?e.style.setProperty(n,r):e.style.removeProperty(n)}lv(e,t)}function hv(e,t){for(let t of dv)e.classList.remove(`persona-artifact-appearance-${t}`);if(e.style.removeProperty(`--persona-artifact-pane-radius`),e.style.removeProperty(`--persona-artifact-pane-shadow`),e.style.removeProperty(`--persona-artifact-chat-shadow`),!cv(t))return;let n=t.features?.artifacts?.layout,r=fv(t);e.classList.add(`persona-artifact-appearance-${r}`);let i=sv(t,n?.paneBorderRadius,`pane.borderRadius`);i&&e.style.setProperty(`--persona-artifact-pane-radius`,i);let a=sv(t,n?.paneShadow,`pane.shadow`);a&&e.style.setProperty(`--persona-artifact-pane-shadow`,a);let o=sv(t,n?.chatShadow,`chat.shadow`);o&&e.style.setProperty(`--persona-artifact-chat-shadow`,o)}function gv(e,t){return!t||!cv(e)?!1:e.features?.artifacts?.layout?.expandLauncherPanelWhenOpen!==!1}$n();const _v=[`__proto__`,`prototype`,`constructor`],vv=[`collapsed`,`card`,`panel`,`inline`],yv=[`markdown`,`component`],bv=/^[a-z0-9][a-z0-9!#$&^_.+-]*\/(\*|[a-z0-9!#$&^_.+-]+)$/,xv=e=>typeof e==`object`&&!!e&&!Array.isArray(e),Sv=e=>!_v.includes(e),Cv=e=>vv.includes(e),wv=e=>Object.keys(e).length>0;function Tv(e,t,n,r){e.push({path:t,code:n,message:r})}const Ev=`Ignored an unsupported value.`,Dv={kind:`mode`},Ov={kind:`string`,message:`Expected a CSS length string.`},kv={kind:`boolean`},Av=(...e)=>({kind:`value`,accepts:t=>e.includes(t)}),jv={paneWidth:Ov,paneMaxWidth:Ov,paneMinWidth:Ov,expandedPanelWidth:Ov,resizableMinWidth:Ov,resizableMaxWidth:Ov,expandLauncherPanelWhenOpen:kv,resizable:kv},Mv={kind:`object`,message:`Expected a preference object.`,children:{showToolCalls:kv,showReasoning:kv,toolCallDisplay:{kind:`object`,children:{layout:Av(`row`,`card`),collapsedMode:Av(`tool-call`,`tool-name`,`tool-preview`),groupedMode:Av(`stack`,`summary`,`collapsible`),groupAppearance:Av(`plain`,`inset`),groupSummary:Av(`current-action`,`aggregate`),groupBoundary:Av(`adjacent`,`iteration`),groupSummaryMaxItems:{kind:`value`,accepts:e=>Number.isInteger(e)&&e>=0},loadingAnimation:Av(`none`,`pulse`,`shimmer`,`shimmer-color`,`rainbow`),expandable:kv,grouped:kv}},reasoningDisplay:{kind:`object`,children:{layout:Av(`row`,`card`),appearance:Av(`plain`,`inset`,`panel`),expandable:kv,activePreview:kv}},artifacts:{kind:`object`,children:{display:{kind:`object`,bareMode:!0,message:`Expected an artifact display rules object.`,children:{default:Dv,files:{kind:`object`,bareMode:!0,message:`Expected collapsed, panel, inline, or a file display rules object.`,children:{default:Dv,byMediaType:{kind:`modeMap`,keys:`mediaType`}}},byType:{kind:`modeMap`,keys:yv,alias:`byKind`,deprecated:`Use byKind. The legacy selector was normalized automatically.`},byKind:{kind:`modeMap`,keys:yv}}},filePreview:{kind:`object`,children:{enabled:kv}},layout:{kind:`object`,children:jv}}}}};function Nv(e,t,n,r){if(e!==void 0)switch(t.kind){case`boolean`:return typeof e==`boolean`?e:Tv(r,n,`invalid_type`,`Expected a boolean.`);case`string`:return typeof e==`string`?e:Tv(r,n,`invalid_type`,t.message);case`value`:return t.accepts(e)?e:Tv(r,n,`invalid_value`,Ev);case`mode`:return Cv(e)?qn(e):Tv(r,n,`invalid_value`,Ev);case`modeMap`:{if(!xv(e))return Tv(r,n,`invalid_type`,`Expected an object.`);let i=t.keys===`mediaType`?void 0:t.keys,a={};for(let[t,o]of Object.entries(e)){let e=i?t:Jn(t);Sv(t)&&(i?i.includes(t):bv.test(e))?Cv(o)?a[e]=qn(o):Tv(r,`${n}.${t}`,`invalid_value`,`Expected collapsed, panel, or inline.`):Tv(r,`${n}.${t}`,i?`unknown_key`:`invalid_value`,i?`Ignored an unsupported selector.`:`Expected a MIME type such as "text/html" or a wildcard such as "image/*".`)}return wv(a)?a:void 0}case`object`:{if(t.bareMode&&Cv(e))return qn(e);if(!xv(e))return Tv(r,n,`invalid_type`,t.message??`Expected an object.`);let i=Object.keys(t.children),a=e=>n?`${n}.${e}`:e;for(let t of Object.keys(e))Sv(t)&&i.includes(t)||Tv(r,a(t),`unknown_key`,`Ignored because this key is not part of the persisted preference schema.`);let o={};for(let n of i){let i=t.children[n],s=Nv(e[n],i,a(n),r);if(i.deprecated&&e[n]!==void 0&&Tv(r,a(n),`deprecated_key`,i.deprecated),s===void 0)continue;let c=i.alias??n,l=o[c];o[c]=xv(l)&&xv(s)?{...l,...s}:s}return wv(o)?o:void 0}}}function Pv(e){let t=[];return{preferences:(e===null?void 0:Nv(e,Mv,``,t))??{},issues:t}}function Fv(e){if(Array.isArray(e))return e.map(Fv);if(!xv(e))return e;let t={};for(let[n,r]of Object.entries(e))Sv(n)&&r!==void 0&&(t[n]=Fv(r));return t}function Iv(e,t){let n=Fv(e);for(let[e,r]of Object.entries(t)){if(!Sv(e)||r===void 0)continue;let t=n[e];n[e]=xv(t)&&xv(r)?Iv(t,r):Fv(r)}return n}function Lv(e){let t={},n;for(let r of e){let e=Pv(r).preferences;n=zv(n,e.artifacts?.display),t=Iv(t,e)}let r=t;return r.artifacts&&(n===void 0?delete r.artifacts.display:r.artifacts.display=n),r}function Rv(e,t){if(t===void 0)return Fv(e);if(typeof t==`string`)return t;let n=typeof e==`string`?{default:e}:e??{},r=t.default??n.default,i={...n.byMediaType,...t.byMediaType},a={...r?{default:r}:{},...wv(i)?{byMediaType:i}:{}};return wv(a)?a:void 0}function zv(e,t){if(t===void 0)return Fv(e);if(typeof t==`string`)return t;let n=typeof e==`string`?{default:e}:e??{},r=t.default??n.default,i={...n.byType,...n.byKind,...t.byType,...t.byKind},a=Rv(n.files,t.files),o={...r?{default:r}:{},...wv(i)?{byKind:i}:{},...a===void 0?{}:{files:a}};return wv(o)?o:void 0}function Bv(e={},t){let n=Lv(t),r={...e};for(let e of[`showToolCalls`,`showReasoning`])n[e]!==void 0&&(r[e]=n[e]);for(let t of[`toolCallDisplay`,`reasoningDisplay`])n[t]&&Object.assign(r,{[t]:{...e[t],...n[t]}});if(n.artifacts){let t=e.artifacts??{},i={...t};if(n.artifacts.display!==void 0){let e=zv(t.display,n.artifacts.display);e!==void 0&&(i.display=e)}for(let e of[`filePreview`,`layout`])n.artifacts[e]&&(i[e]={...t[e],...n.artifacts[e]});r.artifacts=i}return r}function Vv(e){let t=e.preferences;return!t||!wv(t)?e:{...e,features:Bv(e.features??{},[t])}}H();const{setLoader:Hv,load:Uv,provide:Wv,getSync:Gv}=V({fallbackImport:()=>import(`@runtypelabs/persona/forms-ui`)}),Kv=Uv,qv=Gv,Jv=new class{#e=/* @__PURE__ */ new Map;register(e){this.#e.has(e.id)&&console.warn(`Plugin "${e.id}" is already registered. Overwriting.`),this.#e.set(e.id,e),e.onRegister?.()}unregister(e){let t=this.#e.get(e);t&&(t.onUnregister?.(),this.#e.delete(e))}getAll(){return Array.from(this.#e.values()).sort((e,t)=>(t.priority??0)-(e.priority??0))}getForInstance(e){let t=this.getAll();if(!e||e.length===0)return t;let n=new Set(e.map(e=>e.id));return[...t.filter(e=>!n.has(e.id)),...e].sort((e,t)=>(t.priority??0)-(e.priority??0))}clear(){this.#e.forEach(e=>e.onUnregister?.()),this.#e.clear()}};Ds(),fs(),Gr(),Ar();const Yv=e=>typeof e==`object`&&!!e&&!Array.isArray(e),Xv=/* @__PURE__ */ new Set([`headers`,`agent`,`storageAdapter`,`components`,`targetProviders`,`voiceRecognition.provider.custom`,`features.artifacts.display`,`features.streamAnimation.plugins`,`preferences`,`welcome.icon`]),Zv=(e,t,n)=>{if(!Yv(e)||!Yv(t)||Xv.has(n))return t;let r={...e};for(let i of Object.keys(t)){if(t[i]===void 0){delete r[i];continue}let a=n?`${n}.${i}`:i;r[i]=Zv(e[i],t[i],a)}return r};function Qv(e,t){let n=xr(Ts),r=Er(e,t,n),i=wr(Dr(Zv(e,t,``),n,r),r);return zr(i,Vr(e,t)),ss(gs(i),ls(e,t))}H();const{setLoader:$v,load:ey,provide:ty,getSync:ny}=V({fallbackImport:()=>import(`@runtypelabs/persona/config-diagnostics`)}),ry=ey,iy=ny;Ar(),Gr();const ay=[...Mr,`launcherWidth`,`suggestionChips`,`copy.welcomeTitle`,`copy.welcomeSubtitle`,`copy.showWelcomeCard`,`features.suggestReplies.enabled`,`features.suggestReplies.expose`],oy=e=>{if(!e.debug)return;let t=iy();if(!t)ry().then(()=>oy(e),()=>{});else for(let n of e.current)n in t.LEGACY_MIGRATIONS&&(e.warned.has(n)||(console.warn(`[persona] ${n} is a supported legacy alias. Prefer ${t.LEGACY_MIGRATIONS[n]}. Compatibility behavior remains supported; clear the old field with an own undefined update when migrating.`),e.warned.add(n)))},sy=e=>{let t={warned:/* @__PURE__ */ new Set,current:new Set(ay.filter(t=>Hr(e,t))),debug:e?.debug===!0};return oy(t),t},cy=(e,t)=>{if(Ir(t))e.current=new Set(ay.filter(e=>Hr(t,e)));else for(let n of ay){let r=Sr(t,n);r===`clear`&&e.current.delete(n),r===`explicit`&&e.current.add(n)}Object.prototype.hasOwnProperty.call(t,`debug`)&&(e.debug=t.debug===!0),oy(e)},ly=(e={instanceId:``})=>{let t=!1,n=/* @__PURE__ */ new Map,r=(e,r)=>t?()=>{}:(n.has(e)||n.set(e,/* @__PURE__ */ new Set),n.get(e).add(r),()=>i(e,r)),i=(e,t)=>{n.get(e)?.delete(t)};return{on:r,off:i,emit:(t,r)=>{n.get(t)?.forEach(t=>{try{t(r,e)}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Event handler error:`,e)}})},dispose:()=>{t=!0,n.clear()}}},uy=e=>{let t=e.match(/```(?:json)?\s*([\s\S]*?)```/i);return t?t[1]:e},dy=e=>{let t=e.trim(),n=t.indexOf(`{`);if(n===-1)return null;let r=0;for(let e=n;e<t.length;e+=1){let i=t[e];if(i===`{`&&(r+=1),i===`}`&&(--r,r===0))return t.slice(n,e+1)}return null},fy=({text:e})=>{if(!e||!e.includes(`{`))return null;try{let t=uy(e),n=dy(t);if(!n)return null;let r=JSON.parse(n);if(!r||typeof r!=`object`||!r.action)return null;let{action:i,...a}=r;return{type:String(i),payload:a,raw:r}}catch{return null}},py=e=>typeof e==`string`?e:e==null?``:String(e),my={message:e=>{if(e.type===`message`)return{handled:!0,displayText:py(e.payload.text)}},messageAndClick:(e,t)=>{if(e.type!==`message_and_click`)return;let n=e.payload,r=py(n.element);if(r&&t.document?.querySelector){let e=t.document.querySelector(r);e?setTimeout(()=>{e.click()},400):typeof console<`u`&&console.warn(`[AgentWidget] Element not found for selector:`,r)}return{handled:!0,displayText:py(n.text)}}},hy=e=>Array.isArray(e)?e.map(e=>String(e)):[],gy=e=>{let t=new Set(hy(e.getSessionMetadata().processedActionMessageIds)),n=()=>{t=new Set(hy(e.getSessionMetadata().processedActionMessageIds))},r=()=>{let n=Array.from(t);e.updateSessionMetadata(e=>({...e,processedActionMessageIds:n}))};return{process:n=>{if(n.streaming||n.message.role!==`assistant`||!n.text||t.has(n.message.id))return null;let i=typeof n.raw==`string`&&n.raw||typeof n.message.rawContent==`string`&&n.message.rawContent||typeof n.text==`string`&&n.text||null;!i&&typeof n.text==`string`&&n.text.trim().startsWith(`{`)&&typeof console<`u`&&console.warn(`[AgentWidget] Structured response detected but no raw payload was provided. Ensure your stream parser returns { text, raw }.`);let a=i?e.parsers.reduce((e,t)=>e||t?.({text:i,message:n.message})||null,null):null;if(!a)return null;t.add(n.message.id),r();let o={action:a,message:n.message};e.emit(`action:detected`,o);for(let t of e.handlers)if(t)try{let r=e.captureResubmitGuard?.(),i=t(a,{message:n.message,metadata:e.getSessionMetadata(),updateMetadata:e.updateSessionMetadata,document:e.documentRef,triggerResubmit:()=>{(!r||r())&&e.emit(`action:resubmit`,o)}});if(!i)continue;if(i.handled){let e=i.persistMessage!==!1;return{text:i.displayText===void 0?``:i.displayText,persist:e,resubmit:i.resubmit}}}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Action handler error:`,e)}return{text:``,persist:!0}},syncFromMetadata:n}},_y=e=>{if(!e)return null;try{return JSON.parse(e)}catch(e){return typeof console<`u`&&console.error(`[AgentWidget] Failed to parse stored state:`,e),null}},vy=e=>e.map(e=>({...e,streaming:!1})),yy=e=>e.map(e=>({...e,status:`complete`})),by=e=>`${e??`persona-`}state`,xy=(e=by())=>{let t=()=>typeof window>`u`||!window.localStorage?null:window.localStorage;return{load:()=>{let n=t();return n?_y(n.getItem(e)):null},save:n=>{let r=t();if(r)try{let t={...n,messages:n.messages?vy(n.messages):void 0,artifacts:n.artifacts?yy(n.artifacts):void 0};r.setItem(e,JSON.stringify(t))}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Failed to persist state:`,e)}},clear:()=>{let n=t();if(n)try{n.removeItem(e)}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Failed to clear stored state:`,e)}}}},Sy=e=>{let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619)>>>0;return t.toString(16).padStart(8,`0`)},Cy=async e=>{let t=globalThis.crypto?.subtle;if(t)try{let n=await t.digest(`SHA-256`,new TextEncoder().encode(e));return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}catch{}return Sy(e)},wy=async(e,t)=>{let n=await Cy(e);return{storageKey:`${t}visitor:${n}`,leaseKey:`${t}visitor-init-lock:${n}`,lockName:`persona-visitor-init:${await Cy(`${e}\0${t}`)}`}},Ty=(e,t,n)=>{let r=``,i=``,a=``,o=!1,s=!1,c=0,l=null,u=null,d=/* @__PURE__ */ new Set,f=()=>{if(n||o)return null;try{return typeof window>`u`||!window.localStorage?null:window.localStorage}catch{return o=!0,null}},p=()=>{let e=f();if(!e)return l;try{return e.getItem(r)}catch{return o=!0,l}},m=(e,t)=>{if(s||e===l)return;let n=l;l=e,c+=1;let r={previousToken:n,token:e,source:t,revision:c};for(let e of d)e(r)},h=e=>{s||(e.key===null||e.key===r)&&m(e.key===null?null:e.newValue??null,`external`)},g=(async()=>{let o=await wy(e,t);r=o.storageKey,i=o.leaseKey,a=o.lockName,l=p(),!n&&typeof window<`u`&&window.addEventListener(`storage`,h)})(),_=e=>new Promise(t=>setTimeout(t,e)),v=()=>{let e=f();if(!e)return null;try{let t=e.getItem(i);if(!t)return null;let n=JSON.parse(t);return typeof n?.expiresAt==`number`&&typeof n?.ownerNonce==`string`?n:null}catch{return null}},y=e=>{let t=f();if(t)try{v()?.ownerNonce===e&&t.removeItem(i)}catch{}},b=/* @__PURE__ */ new Set,x=e=>s?Promise.reject(/* @__PURE__ */ Error(`Visitor store destroyed before its first init could start`)):e(),S=e=>new Promise(t=>{let n=setTimeout(r,e);function r(){clearTimeout(n),b.delete(r),window.removeEventListener(`storage`,a),t()}function a(e){(e.key===null||e.key===i)&&r()}b.add(r),window.addEventListener(`storage`,a)}),C=async e=>{let t=`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,n=Date.now()+15e3;for(;!s&&Date.now()<n;){let n=f();if(!n)break;let r=Date.now(),a=v();if(a&&a.expiresAt>r&&a.ownerNonce!==t)await S(Math.min(a.expiresAt-r,500));else{try{n.setItem(i,JSON.stringify({ownerNonce:t,expiresAt:r+1e4}))}catch{o=!0;break}if(await _(20+Math.random()*40),v()?.ownerNonce!==t)await S(500);else{u=t;try{return await x(e)}finally{u=null,y(t)}}}}return x(e)};return{ready:g,async get(){return await g,m(p(),`external`),l},async set(e){await g;let t=f();if(t)try{t.setItem(r,e)}catch{o=!0}m(e,`local`)},async clear(){await g;let e=f();if(e)try{e.removeItem(r)}catch{o=!0}m(null,`local`)},revision(){return c},subscribe(e){return d.add(e),()=>{d.delete(e)}},async withFirstInitLock(e){await g;let t=globalThis.navigator?.locks;return t?.request?t.request(a,()=>x(e)):f()?C(e):x(e)},matches(r,i,a){return r===e&&i===t&&a===n},destroy(){s=!0,d.clear(),typeof window<`u`&&window.removeEventListener(`storage`,h),u&&y(u);for(let e of[...b])e()}}};H();const{setLoader:Ey,load:Dy}=V({fallbackImport:()=>import(`@runtypelabs/persona/history-view`)}),Oy=Dy;H();const{setLoader:ky,load:Ay,provide:jy,getSync:My}=V({fallbackImport:()=>import(`@runtypelabs/persona/history-shell`)}),Ny=Ay,Py=My;function Fy(){return null}const Iy=[`Very dissatisfied`,`Dissatisfied`,`Neutral`,`Satisfied`,`Very satisfied`];function Ly(e,t,n){let{onSubmit:r,onDismiss:i,title:a=t===`csat`?`How satisfied are you?`:`How likely are you to recommend us?`,subtitle:o=t===`csat`?`Please rate your experience`:`On a scale of 0 to 10`,commentPlaceholder:s=t===`csat`?`Share your thoughts (optional)...`:`What could we do better? (optional)...`,submitText:c=`Submit`,skipText:l=`Skip`,showComment:u=!0}=e,d=document.createElement(`div`);d.className=`persona-feedback-container persona-feedback-${t}`,d.setAttribute(`role`,`dialog`),d.setAttribute(`aria-label`,t===`csat`?`Customer satisfaction feedback`:`Net Promoter Score feedback`);let f=null,p=document.createElement(`div`);p.className=`persona-feedback-content`;let m=document.createElement(`div`);m.className=`persona-feedback-header`;let h=document.createElement(`h3`);h.className=`persona-feedback-title`,h.textContent=a,m.appendChild(h);let g=document.createElement(`p`);g.className=`persona-feedback-subtitle`,g.textContent=o,m.appendChild(g),p.appendChild(m);let{element:_,attentionTarget:v}=n(e=>{f=e});p.appendChild(_);let y=null;if(u){let e=document.createElement(`div`);e.className=`persona-feedback-comment-container`,y=document.createElement(`textarea`),y.className=`persona-feedback-comment`,y.placeholder=s,y.rows=3,y.setAttribute(`aria-label`,`Additional comments`),e.appendChild(y),p.appendChild(e)}let b=document.createElement(`div`);b.className=`persona-feedback-actions`;let x=document.createElement(`button`);x.type=`button`,x.className=`persona-feedback-btn persona-feedback-btn-skip`,x.textContent=l,x.addEventListener(`click`,()=>{i?.(),d.remove()});let S=document.createElement(`button`);return S.type=`button`,S.className=`persona-feedback-btn persona-feedback-btn-submit`,S.textContent=c,S.addEventListener(`click`,async()=>{if(f===null)v.classList.add(`persona-feedback-shake`),setTimeout(()=>v.classList.remove(`persona-feedback-shake`),500);else{S.disabled=!0,S.textContent=`Submitting...`;try{let e=y?.value.trim()||void 0;await r(f,e),d.remove()}catch(e){S.disabled=!1,S.textContent=c,console.error(`[${t.toUpperCase()} Feedback] Failed to submit:`,e)}}}),b.appendChild(x),b.appendChild(S),p.appendChild(b),d.appendChild(p),d}function Ry(e){return Ly(e,`csat`,t=>{let{ratingLabels:n=Iy}=e,r=document.createElement(`div`);r.className=`persona-feedback-rating persona-feedback-rating-csat`,r.setAttribute(`role`,`radiogroup`),r.setAttribute(`aria-label`,`Satisfaction rating from 1 to 5`);let i=[];for(let e=1;e<=5;e++){let a=document.createElement(`button`);a.type=`button`,a.className=`persona-feedback-rating-btn persona-feedback-star-btn`,a.setAttribute(`role`,`radio`),a.setAttribute(`aria-checked`,`false`),a.setAttribute(`aria-label`,`${e} star${e>1?`s`:``}: ${n[e-1]}`),a.title=n[e-1],a.dataset.rating=String(e),a.innerHTML=`
32
32
  <svg class="persona-feedback-star" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
33
33
  <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>
34
34
  </svg>
35
- `,a.addEventListener(`click`,()=>{t(e),i.forEach((t,n)=>{let r=n<e;t.classList.toggle(`selected`,r),t.setAttribute(`aria-checked`,n===e-1?`true`:`false`)})}),i.push(a),r.appendChild(a)}return{element:r,attentionTarget:r}})}function Ry(e){return Iy(e,`nps`,t=>{let{lowLabel:n=`Not likely`,highLabel:r=`Very likely`}=e,i=document.createElement(`div`);i.className=`persona-feedback-rating persona-feedback-rating-nps`,i.setAttribute(`role`,`radiogroup`),i.setAttribute(`aria-label`,`Likelihood rating from 0 to 10`);let a=document.createElement(`div`);a.className=`persona-feedback-labels`;let o=document.createElement(`span`);o.className=`persona-feedback-label-low`,o.textContent=n;let s=document.createElement(`span`);s.className=`persona-feedback-label-high`,s.textContent=r,a.appendChild(o),a.appendChild(s);let c=document.createElement(`div`);c.className=`persona-feedback-numbers`;let l=[];for(let e=0;e<=10;e++){let n=document.createElement(`button`);n.type=`button`,n.className=`persona-feedback-rating-btn persona-feedback-number-btn`,n.setAttribute(`role`,`radio`),n.setAttribute(`aria-checked`,`false`),n.setAttribute(`aria-label`,`Rating ${e} out of 10`),n.textContent=String(e),n.dataset.rating=String(e),e<=6?n.classList.add(`persona-feedback-detractor`):e<=8?n.classList.add(`persona-feedback-passive`):n.classList.add(`persona-feedback-promoter`),n.addEventListener(`click`,()=>{t(e),l.forEach((t,n)=>{t.classList.toggle(`selected`,n===e),t.setAttribute(`aria-checked`,n===e?`true`:`false`)})}),l.push(n),c.appendChild(n)}return i.appendChild(a),i.appendChild(c),{element:i,attentionTarget:c}})}qo(),nc(),Cc(),Dc(),yc(),Gs(),dr(),Nn(),gn(),Gr(),Ro(),vo(),da(),_c(),Q(),ra(),cr(),Gn(),Qn(),Es(),ds(),fd();const zy=`persona-chat-history`,By=`data-persona-composer-reason`,Vy=`data-persona-composer-notice`,Hy={"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 Uy(e){if(!e)return[];let t=[],n=Array.from(e.items??[]);for(let e of n){if(e.kind!==`file`||!e.type.startsWith(`image/`))continue;let n=e.getAsFile();if(!n)continue;if(n.name){t.push(n);continue}let r=Hy[n.type]??`png`;t.push(new File([n],`clipboard-image-${Date.now()}.${r}`,{type:n.type,lastModified:Date.now()}))}if(t.length>0)return t;for(let n of Array.from(e.files??[]))n.type.startsWith(`image/`)&&t.push(n);return t}function Wy(e){if(!e)return!1;let t=e.types;return t?typeof t.contains==`function`?t.contains(`Files`):Array.from(t).includes(`Files`):!1}function Gy(e){if(!e)return null;let t=e===!0?{}:e;return{storage:t.storage??`session`,keyPrefix:t.keyPrefix??`persona-`,persist:{openState:t.persist?.openState??!0,voiceState:t.persist?.voiceState??!0,focusInput:t.persist?.focusInput??!0},clearOnChatClear:t.clearOnChatClear??!0}}function Ky(e){try{let t=e===`local`?localStorage:sessionStorage,n=`__persist_test__`;return t.setItem(n,`1`),t.removeItem(n),t}catch{return null}}const qy=e=>!e||typeof e!=`object`?{}:{...e},Jy=e=>e.filter(e=>!dd(e)).map(e=>({...e,streaming:!1})),Yy=(e,t,n)=>{let r=e?.markdown?zu(e.markdown):null,i=Zu(e?.sanitize);e?.postprocessMessage&&i&&e?.sanitize===void 0&&console.warn(`[Persona] postprocessMessage HTML is sanitized: unsupported tags/attributes are stripped. Provide a custom sanitize function to allow them, or sanitize: false only for trusted HTML.`);let a=!1,o=a=>{let o=a.text??``,s=a.message.rawContent??null;if(t){let e=t.process({text:o,raw:s??o,message:a.message,streaming:a.streaming});e!==null&&(o=e.text,e.persist||(a.message.__skipPersist=!0),e.resubmit&&!a.streaming&&n&&n())}let c=pn()!==null,l;if(e?.postprocessMessage){let t=e.postprocessMessage({...a,text:o,raw:s??a.text??``});l=i?i(t):t}else if(r){let e=Iu(o,a.streaming),t=r(e);l=i&&c?i(t):t}else l=Hu(o);return l};return e=>{try{return o(e)}catch(t){return a||(a=!0,console.error(`[Persona] markdown rendering failed; falling back to plain text:`,t)),Hu(e.text??``)}}};function Xy(e){let t=J(`div`,`persona-attachment-drop-overlay`);e?.background&&t.style.setProperty(`--persona-drop-overlay-bg`,e.background),e?.backdropBlur!==void 0&&t.style.setProperty(`--persona-drop-overlay-blur`,e.backdropBlur),e?.border&&t.style.setProperty(`--persona-drop-overlay-border`,e.border),e?.borderRadius&&t.style.setProperty(`--persona-drop-overlay-radius`,e.borderRadius),e?.inset&&t.style.setProperty(`--persona-drop-overlay-inset`,e.inset),e?.labelSize&&t.style.setProperty(`--persona-drop-overlay-label-size`,e.labelSize),e?.labelColor&&t.style.setProperty(`--persona-drop-overlay-label-color`,e.labelColor);let n=e?.iconName??`upload`,r=e?.iconSize??`48px`,i=e?.iconColor??`rgba(59, 130, 246, 0.6)`,a=e?.iconStrokeWidth??.5,o=K(n,r,i,a);if(o&&t.appendChild(o),e?.label){let n=J(`span`,`persona-drop-overlay-label`);n.textContent=e.label,t.appendChild(n)}return t}const Zy=(e,t)=>{let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t?{...t,...r}:r}return n},Qy=e=>e.reduce((e,t)=>({blocks:[...e.blocks,...t.blocks],contentParts:[...e.contentParts,...t.contentParts],context:Zy(e.context,t.context)}),{blocks:[],contentParts:[],context:{}}),$y=(e,t,n)=>{if(e==null)throw Error(`createAgentExperience: mount must be a non-null HTMLElement (e.g. pass document.getElementById("my-root") after the node exists).`);e.id&&!e.getAttribute(`data-persona-instance`)&&e.setAttribute(`data-persona-instance`,e.id);let r=e.getAttribute(`data-persona-instance`)||`persona-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`;e.setAttribute(`data-persona-instance`,r),e.hasAttribute(`data-persona-root`)||e.setAttribute(`data-persona-root`,`true`);let a=hs(t),o=pl(e),s=n?.diagnostics??oy(t),c=null,l,u,d=()=>{let t=Rl();if(l??=t?.createLoadingLabelLifecycle(e,()=>a),c)return c;let n=bl();return n&&t?(n.initActivityUi(K,t,ml),u=n.createActivityLifecycle(e,()=>a,f,p,pa,os),c=n):null},f=/* @__PURE__ */ new Set,p=/* @__PURE__ */ new Set,m=/* @__PURE__ */ new Map,h=/* @__PURE__ */ new Map,g=/* @__PURE__ */ new Map,_=/* @__PURE__ */ new Set,v=e=>{if(e.role===`user`&&bg(a))return e.voiceProcessing&&_.add(e.id),{state:e.voiceProcessing?`live`:_.has(e.id)?`settling`:h.get(e.id)?g.get(e.id)?`expanded`:`collapsed`:`fit`,maxHeight:xg(a),...Sg(a)}},y=()=>{bo({delayMs:a.tooltip?.delayMs??400,skipDelayMs:a.tooltip?.skipDelayMs??300})};y();let b=a.features;a=Bv(a);let S=qv.getForInstance(a.plugins),C=Km(e),ee=[],w=!1,te=q_(()=>a),T=null,E=null,ne=null,re=!1,D=null,ie=(e,t)=>{T=e,e.initApprovalUi({webMcpToolTitle:Bn,popover:t,icons:{render:K,node:hn}});let n=e.createBuiltInApprovalPlugin(m);E=n.plugin,ne=n.teardown},oe=()=>{if(T)return T;let e=nv(),t=Ml();return e&&t?(ie(e,t),e):(Promise.all([tv(),jl()]).then(([e,t])=>{re||T||(ie(e,t),D?.())}).catch(()=>{}),null)},se=!1,ce=!1,le=null,ue=(e,t,n,r)=>{if(!e.querySelector(`[data-tv-form]`))return;let i=Kv();i?i.enhanceWithForms(e,t,n,r):Gv().then(()=>{se||ce||!le||(ce=!0,le())}).catch(()=>{})},O=cy(Object.freeze({instanceId:r})),k=a.persistState===!1?null:a.storageAdapter??by(yy(typeof a.persistState==`object`?a.persistState.keyPrefix:void 0)),de=!!a.clientToken&&typeof a.reconnectStream!=`function`,fe={},pe=null,me,he=new Promise(e=>{me=e}),ge=()=>{},_e=new Promise(e=>{ge=e}),ve,ye=!1,be=e=>{if(a.onStateLoaded)try{let t=a.onStateLoaded(e);if(t&&typeof t==`object`&&`state`in t){let{state:e,open:n}=t;return n&&(ye=!0),e}return t}catch(e){typeof console<`u`&&console.error(`[AgentWidget] onStateLoaded hook failed:`,e)}return e};if(k?.load)try{let e=k.load();if(e&&typeof e.then==`function`)pe=e.then(e=>be(e??{messages:[],metadata:{}}));else{let t=be(e??{messages:[],metadata:{}});t.metadata&&(fe=qy(t.metadata)),t.messages?.length&&(a={...a,initialMessages:t.messages}),t.artifacts?.length&&(a={...a,initialArtifacts:t.artifacts,initialSelectedArtifactId:t.selectedArtifactId??null}),ve=t.draft}}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Failed to load stored state:`,e)}else if(a.onStateLoaded)try{let e=be({messages:[],metadata:{}});e.messages?.length&&(a={...a,initialMessages:e.messages})}catch(e){typeof console<`u`&&console.error(`[AgentWidget] onStateLoaded hook failed:`,e)}pe||me();let xe=()=>fe,Se=e=>{fe=e({...fe})??{},uo()},Ce=a.actionParsers&&a.actionParsers.length?a.actionParsers:[dy],we=a.actionHandlers&&a.actionHandlers.length?a.actionHandlers:[py.message,py.messageAndClick],Te=hy({parsers:Ce,handlers:we,getSessionMetadata:xe,updateSessionMetadata:Se,emit:O.emit,captureResubmitGuard:()=>{let e=Pe;return()=>Ie(e)},documentRef:typeof document<`u`?document:null});Te.syncFromMetadata();let Ee=a.launcher?.enabled??!0,De=a.launcher?.autoExpand??!1,Oe=a.autoFocusInput??!1,ke=De,Ae=Ee,je=a.layout?.header?.layout,Me=!1,A=()=>zh(a),Ne=()=>Ee||A(),j=A()?!1:!Ee||De,Pe=0,Fe=!1,Ie=e=>!Fe&&!to&&e===Pe,Le=()=>{Pe++,ze=!1,Be!==null&&clearTimeout(Be),Be=null},Re=()=>{let e=Pe;Ie(e)&&setTimeout(()=>{Ie(e)&&!Q.isStreaming()&&Q.continueConversation()},100)},ze=!1,Be=null,Ve=()=>{Ie(Pe)&&(ze=!0,Be&&clearTimeout(Be),Be=setTimeout(()=>{ze&&=(typeof console<`u`&&console.warn(`[AgentWidget] Resubmit requested but no injection occurred within 10s`),!1)},1e4))},He=Yy(a,Te,Ve),Ue=a.features?.showReasoning??!0,We=a.features?.showToolCalls??!0,Ge=a.features?.showEventStreamToggle??!1,Ke=a.features?.scrollBehavior??{},qe=()=>(typeof a.persistState==`object`?a.persistState?.keyPrefix:void 0)??`persona-`,Je=`${qe()}event-stream`,Ye=null,Xe=a.features?.eventStream?.maxEvents??2e3,Ze=null,Qe=null,$e=null,et=!1,tt=null,nt=!1,rt=null,it=0,at=(e,t)=>{Ze?.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:e,timestamp:Date.now(),payload:JSON.stringify(t)})},ot=(e,t)=>{Qe?.processEvent(e,t),Ze?at(e,t):$e&&($e.length>=Xe&&$e.shift(),$e.push({type:e,payload:t}))},st=()=>{!Ze&&Ge&&($e??=[],av().then(e=>{if(et||Ze||!Ge)return;Ye=new e.EventStreamStore(Je),Ze=new e.EventStreamBuffer(Xe,Ye),Qe??=new e.ThroughputTracker,Ye.open().then(()=>Ze?.restore()).catch(e=>{a.debug&&console.warn(`[AgentWidget] IndexedDB not available for event stream:`,e)});let t=$e??[];$e=null;for(let e of t)Qe?.processEvent(e.type,e.payload),at(e.type,e.payload)}).catch(()=>{}))};Ge&&st();let ct=!1,lt=null,ut=()=>{},dt=()=>{},ft=()=>{},pt=()=>{},mt=()=>{},ht=()=>nt||ct&&lt===`panel`,gt={onCopy:e=>{O.emit(`message:copy`,e),Q?.isClientTokenMode()&&e.role!==`operator`&&Q.submitMessageFeedback(e.id,`copy`).catch(e=>{a.debug&&console.error(`[AgentWidget] Failed to submit copy feedback:`,e)}),a.messageActions?.onCopy?.(e)},onFeedback:e=>{O.emit(`message:feedback`,e),Q?.isClientTokenMode()&&Q.submitMessageFeedback(e.messageId,e.type).catch(e=>{a.debug&&console.error(`[AgentWidget] Failed to submit feedback:`,e)}),a.messageActions?.onFeedback?.(e)}};a.statusIndicator;let _t=(e,t=a.statusIndicator??{})=>e===`idle`?t.idleText??ca.idle:e===`connecting`?t.connectingText??ca.connecting:e===`connected`?t.connectedText??ca.connected:e===`error`?t.errorText??ca.error:e===`paused`?t.pausedText??ca.paused:e===`resuming`?t.resumingText??ca.resuming:ca[e];function vt(e,t,n,r){if(!A()&&(n.mode===`transient`||e.classList.contains(`persona-mb-2`))&&(Ko(e,Tt,n),Go(e,n,r)),!(e.hasAttribute(By)||e.hasAttribute(Vy))){if(r===`idle`&&n.idleLink){e.textContent=``;let r=document.createElement(`a`);r.href=n.idleLink,r.target=`_blank`,r.rel=`noopener noreferrer`,r.textContent=t,r.style.color=`inherit`,r.style.textDecoration=`none`,e.appendChild(r)}else e.textContent=t}}let yt=U_({config:a,showClose:Ne()}),{wrapper:M,panel:N,pillRoot:bt}=yt.shell,P=yt.panelElements,{container:F,body:I,messagesWrapper:L,starterSuggestions:xt,transcriptSuggestions:St,suggestions:Ct,textarea:R,sendButton:wt,composerForm:Tt,statusText:z,welcomeHost:Et,welcomeIconHolder:Dt,greetingHost:Ot,introKicker:kt,introTitle:At,introSubtitle:jt,closeButton:Mt,iconHolder:Nt,headerTitle:Pt,headerSubtitle:Ft,header:It,footer:B,actionsRow:Lt}=P,Rt=P.leftActions,zt=P.rightActions,V=P.sendButtonWrapper,Bt=P.setSendButtonMode,H=P.micButton,U=P.micButtonWrapper,Vt=P.attachmentButton,Ht=P.attachmentButtonWrapper,Ut=P.attachmentInput,Wt=P.attachmentPreviewsContainer;F.classList.add(`persona-relative`),I.classList.add(`persona-relative`);let Gt=()=>a.features?.scrollToBottom?.enabled!==!1,Kt=()=>Ke.mode??`anchor-top`,qt=()=>Kt()===`follow`||Kt()===`anchor-top`&&Ba,Jt=()=>Ke.anchorTopOffset??16,Yt=()=>Ke.restorePosition??`bottom`,Xt=()=>Ke.pauseOnInteraction===!0,Zt=()=>Ke.showActivityWhilePinned!==!1,Qt=()=>Ke.announce===!0,$t=()=>Ke.scrollbar??`on-scroll`,en=Mu(K,`transcript`,I),tn=en.element;F.appendChild(tn);let nn=()=>I.parentElement??F,rn=J(`div`,`persona-panel-suggestions`);rn.setAttribute(`data-persona-panel-suggestions`,``),rn.hidden=!0,F.appendChild(rn);let an=J(`div`,`persona-panel-suggestions-fade`);an.setAttribute(`aria-hidden`,`true`),an.hidden=!0,F.appendChild(an);let on=J(`div`,`persona-stream-anchor-spacer`);on.setAttribute(`aria-hidden`,`true`),on.setAttribute(`data-persona-anchor-spacer`,``),on.style.flexShrink=`0`,on.style.pointerEvents=`none`,on.style.height=`0px`,on.style.display=`none`,I.appendChild(on);let sn=J(`div`,`persona-sr-only`);sn.setAttribute(`aria-live`,`polite`),sn.setAttribute(`aria-atomic`,`true`),sn.setAttribute(`role`,`status`),sn.setAttribute(`data-persona-live-region`,``),Object.assign(sn.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`}),F.appendChild(sn);let cn=null,ln=null,un=e=>{Qt()&&e&&(ln=e,cn===null&&(cn=setTimeout(()=>{cn=null,ln&&Qt()&&(sn.textContent=ln),ln=null},400)))},dn=()=>{let t=e.ownerDocument.defaultView??window;return(a.launcher?.mobileFullscreen??!0)&&t.innerWidth<=(a.launcher?.mobileBreakpoint??640)&&(Ee||Rh(a))||a.launcher?.fullHeight===!0&&!a.launcher.sidebarMode&&!Rh(a)},fn=()=>y_(a,dn()),pn=`empty`,mn=0,gn=()=>mn||parseFloat(e.style.getPropertyValue(`--persona-composer-lift`))||0,_n=(e,t=I)=>{let n=0,r=e;for(;r&&r!==t;)n+=r.offsetTop,r=r.offsetParent;return n},vn=()=>{let e=B.style.display===`none`,t=nn();if(A()){let n=e||!B.offsetHeight?0:Math.max(0,t.getBoundingClientRect().bottom-B.getBoundingClientRect().top),r=rn.hidden?0:Math.max(0,t.getBoundingClientRect().bottom-rn.getBoundingClientRect().top);tn.style.bottom=`${Math.max(n,r)+16}px`;return}let n=e?0:B.offsetHeight;if(n>0&&Pm(a,A())===`overlay`){let e=1/0;for(let n of B.querySelectorAll(`:scope > *, [data-persona-composer-header] > *`))!n.hidden&&n.offsetHeight&&getComputedStyle(n).visibility!==`hidden`&&(e=Math.min(e,_n(n,t)));e<1/0&&(n-=e-_n(B,t))}tn.style.bottom=`${n+(e?0:gn())+16}px`};vn();let yn=()=>{if(!A())return;let e=B.style.display===`none`?0:B.offsetHeight;e>0?M.style.setProperty(`--persona-measured-pill-area-height`,`${e+8}px`):M.style.removeProperty(`--persona-measured-pill-area-height`),M.style.setProperty(`--persona-pill-bottom`,a.launcher?.composerBar?.bottomOffset??`16px`)},bn=()=>{er||(B.style.marginBottom=mn>0?`${mn}px`:``)},xn=()=>{let t=Pm(a,A()),n=fn();e.setAttribute(`data-persona-welcome-fullscreen`,String(dn())),e.setAttribute(`data-persona-welcome-layout`,n.layout??`top`),e.setAttribute(`data-persona-welcome-layout-explicit`,a.welcome?.layout??``),e.setAttribute(`data-persona-welcome-anchor`,n.anchor??`bottom`);let r=B.style.display===`none`?0:B.offsetHeight,i=n.anchor===`center`&&pn===`empty`?Fm(n.anchorComposerTop)??Fm(`44%`):null,o=i!==null&&n.layout===`centered`&&a.welcome?.anchor===void 0&&a.welcome?.anchorComposerTop===void 0,s=o?getComputedStyle(I):null,c=parseFloat(e.style.getPropertyValue(`--persona-composer-overlay-height`))||0,l=parseFloat(e.style.getPropertyValue(`--persona-composer-lift`))||0,u=Math.max(0,(parseFloat(s?.paddingBottom??``)||0)-(t===`overlay`?c+l:0)),d=o?I.getBoundingClientRect().top-F.getBoundingClientRect().top:0,f=!o||Et.hidden?0:(Et.querySelector(`[data-persona-welcome-plugin]`)??Et).offsetHeight,p=i===null||A()?0:o?Math.max(0,Math.round((F.clientHeight-d-f-u-r)/2)):Im({columnHeight:F.clientHeight,footerHeight:r,fraction:i});e.style.setProperty(`--persona-composer-overlay-height`,`${r}px`),e.style.setProperty(`--persona-composer-lift`,`${t===`overlay`?p:0}px`),mn=t===`block`?p:0,bn(),yn(),vn(),Oi()};en.update(a,!1);let W=null,Sn=null,G=Jf();G.subscribe(e=>{try{F.dispatchEvent(new CustomEvent(`persona:composer:state`,{detail:{...e,instanceId:r},bubbles:!0,composed:!0}))}catch{}});let Cn=()=>{G.setText(R?.value??``)},wn=()=>{G.setMentionRefs(Sn?.getMentionRefs()??[])},Tn=e=>({id:e.id,name:e.file.name,mimeType:e.file.type,size:e.file.size,status:e.status,progress:e.progress,error:e.error}),En=()=>({allowedTypes:a.attachments?.allowedTypes,maxFileSize:a.attachments?.maxFileSize,maxFiles:a.attachments?.maxFiles,adapter:a.attachments?.adapter,onFileRejected:a.attachments?.onFileRejected,instanceId:r,widgetConfig:a,preview:a.attachments?.preview,renderAttachmentPreview:Dn}),Dn=e=>{for(let t of qv.getForInstance(a.plugins))try{let n=t.renderAttachmentPreview?.(e);if(n)return n}catch(e){console.error(`[AgentWidget] plugin ${t.id} attachment preview failed:`,e)}return null},On=()=>{let e=Gf.fromConfig(a.attachments,t=>{W===e&&kn(t)});return e.updateConfig(En()),e},kn=e=>{let t=Object.freeze(e.map(Tn));G.setAttachments(t);try{a.attachments?.onChange?.(t)}catch(e){console.error(`[AgentWidget] attachments.onChange failed:`,e)}Gs()};G.setSelectedModelId(a.composer?.selectedModelId);let An=()=>a.composer?.modes??[],jn=()=>mp(An(),a.composer?.modeGroups,!!a.future?.v5Defaults);{let e=_p(a.composer?.defaultActiveModeIds??[],An());e.length&&G.setActiveModeIds(e)}function Mn(e){if(G.getState().selectedModelId!==e){G.setSelectedModelId(e),Fn?.repaint();try{a.composer?.onModelChange?.(e)}catch(e){console.error(`[AgentWidget] composer.onModelChange failed:`,e)}}}function Nn(e){G.setActiveModeIds(e),In?.render(e,jn()),Fn?.repaint(),fr?.resolve(),Pc(),Sr()}function Pn(t){let n=e.getRootNode(),r=n instanceof ShadowRoot?n.activeElement:e.ownerDocument.activeElement,i=dp(t),o=fr?.getOverflowMenu(),s=r&&(r.closest(`[data-persona-composer-action]`)?.getAttribute(`data-persona-composer-action`)===i||o?.trigger.contains(r));if(Nn(gp(G.getState().activeModeIds,t,An(),a.composer?.modeGroups)),s&&!r.isConnected){let t=Array.from(e.querySelectorAll(`[data-persona-composer-action]`)).find(e=>e.getAttribute(`data-persona-composer-action`)===i)?.querySelector(`button`)??fr?.getOverflowMenu()?.triggerButton;t?.isConnected&&t.focus()}}let Fn=null,In=null,Ln=null;function Rn(e){G.setQuote(e),Ln?.render(G.getState().quote),Sr(),go()}let zn=!1;function Vn(){let e=a.composer?.streamingSubmitBehavior??`block`;return e===`interrupt`?a.clientToken?`interrupt`:(!zn&&a.debug===!0&&(zn=!0,typeof console<`u`&&console.warn(`[persona] composer.streamingSubmitBehavior "interrupt" requires the client-token transport; falling back to "block".`)),`block`):e}let Hn=null;function Un(e){G.setPendingSubmission(e),Hn?.render(G.getState().pendingSubmission),Sr()}let Wn=()=>(Fn??=Ml().createComposerCoreControls({getConfig:()=>a,getState:()=>G.getState(),getModes:An,getChipModes:jn,hasComposerPlugin:()=>S.some(e=>e.renderComposer),renderIcon:K,onModelChange:Mn,onModeChange:Pn}),Fn.collect()),Gn=null,Kn=S.find(e=>e.renderHeader);if(Kn?.renderHeader){let e=Kn.renderHeader({config:a,defaultRenderer:()=>{let e=og({config:a,showClose:Ne()});return sg(F,e,a),e.header},onClose:()=>Rs(!1,`user`)});if(e){let t=It;t&&(t.replaceWith(e),It=e,yt.header.element=e)}}let qn=()=>{tt&&(I.style.display=`none`,B.parentNode?.insertBefore(tt.element,B),tt.update())},Jn=()=>{if(!Ze){st();return}if(Jo.cancel(),nt=!0,tt?qn():av().then(e=>{!tt&&nt&&Ze&&(tt=e.createEventStreamView({scroll:{createScrollToLatest:ju,createScrollToBottomControl:Mu},buffer:Ze,getFullHistory:()=>Ze.getAllFromStore(),onClose:()=>Yn(),config:a,plugins:S,getThroughput:()=>Qe?.getMetric()??{status:`idle`},renderIconByName:K,getResponseActive:Do,getConfig:()=>a,getViewVisible:()=>nt}),qn())}).catch(()=>{Yn()}),Zn){Zn.style.boxShadow=`inset 0 0 0 1.5px ${rg.actionIconColor}`;let e=a.features?.eventStream?.classNames?.toggleButtonActive;e&&e.split(/\s+/).forEach(e=>e&&Zn.classList.add(e))}let e=()=>{if(!nt)return;let t=Date.now();t-it>=200&&(tt?.update(),it=t),rt=requestAnimationFrame(e)};it=0,rt=requestAnimationFrame(e),Vo(),O.emit(`eventStream:opened`,{timestamp:Date.now()})},Yn=()=>{if(nt){if(nt=!1,tt&&(tt.update(),tt.element.remove()),I.style.display=``,Zn){Zn.style.boxShadow=``;let e=a.features?.eventStream?.classNames?.toggleButtonActive;e&&e.split(/\s+/).forEach(e=>e&&Zn.classList.remove(e))}rt!==null&&(cancelAnimationFrame(rt),rt=null),Vo(),O.emit(`eventStream:closed`,{timestamp:Date.now()})}},Zn=null;if(Ge){let e=a.features?.eventStream?.classNames,t=`persona-inline-flex persona-items-center persona-justify-center persona-rounded-full hover:persona-opacity-80 persona-cursor-pointer persona-border-none persona-bg-transparent persona-p-1`+(e?.toggleButton?` `+e.toggleButton:``);Zn=J(`button`,t),Zn.style.width=`28px`,Zn.style.height=`28px`,Zn.style.color=rg.actionIconColor,Zn.type=`button`,Zn.setAttribute(`aria-label`,`Event Stream`),Zn.title=`Event Stream`;let n=hn(i,`18px`,`currentColor`,1.5);n&&Zn.appendChild(n);let r=P.clearChatButtonWrapper,o=P.closeButtonWrapper,s=r||o;s&&s.parentNode===It?It.insertBefore(Zn,s):It.appendChild(Zn),Zn.addEventListener(`click`,()=>{nt?Yn():Jn()})}let Qn=e=>{let t=a.attachments;if(!t?.enabled)return;let n=e.querySelector(`[data-persona-composer-attachment-previews]`)??e.querySelector(`.persona-attachment-previews`);if(!n){n=J(`div`,`persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2`),n.setAttribute(`data-persona-composer-attachment-previews`,``),n.style.display=`none`;let t=e.querySelector(`[data-persona-composer-form]`);t?.parentNode?t.parentNode.insertBefore(n,t):e.insertBefore(n,e.firstChild)}if(!(e.querySelector(`[data-persona-composer-attachment-input]`)??e.querySelector(`input[type="file"]`))){let n=J(`input`);n.type=`file`,n.setAttribute(`data-persona-composer-attachment-input`,``),n.accept=(t.allowedTypes??Ws).join(`,`),n.multiple=(t.maxFiles??4)>1,n.style.display=`none`,n.setAttribute(`aria-label`,t.buttonTooltipText??`Attach files`),e.appendChild(n)}},er=!1,tr=e=>{let t=S.find(e=>e.renderComposer);if(!t?.renderComposer)return null;let n=a.composer,r=w?Q.isStreaming():!1;return t.renderComposer({config:a,defaultRenderer:e,requestRender:()=>Ef(),storage:te(t.id),onSubmit:e=>{Q&&!Q.isStreaming()&&zu(e.trim(),{consumeDraft:!1})},streaming:r,disabled:r,openAttachmentPicker:()=>{Bs()||Ut?.click()},models:n?.models,selectedModelId:G.getState().selectedModelId??n?.selectedModelId,onModelChange:e=>Mn(e),onVoiceToggle:a.voiceRecognition?.enabled===!0?()=>{Gn?.()}:void 0})},nr=tr(()=>hg({config:a}).footer);nr&&(yt.replaceComposer(nr),B=yt.composer.footer,er=!0);let q=null,rr=e=>{Tt=e.form,R=e.input,V=e.sendButton?e.sendButton.parentElement:null,e.sendButton&&(wt=e.sendButton),e.micButton&&(H=e.micButton,U=e.micButton.parentElement),e.found.status&&(z=e.found.status),e.found.suggestions&&(Ct=e.found.suggestions),e.attachmentButton&&(Vt=e.attachmentButton,Ht=e.attachmentButton.parentElement),Ut=e.attachmentInput??null,Wt=e.attachmentPreviews??null,e.found.actionsRow&&(Lt=e.found.actionsRow),Rt=e.found.actionsStart,zt=e.found.actionsEnd};function ir(){let e=R;if(!e)return;let t=a.composer?.inputAttributes,n=!t?.ariaLabel&&!(e instanceof HTMLTextAreaElement)?e.getAttribute(`aria-label`):null;ec(e,t),n&&e.setAttribute(`aria-label`,n),$s(e,{submitKey:a.composer?.submitKey,insertNewlineOnTouchEnter:a.composer?.insertNewlineOnTouchEnter,coarsePointer:Ys(e)}),Js(e,qs(a.composer?.maxLines,A()?5:3))}let ar=e=>{q=Zf(e,{debug:a.debug===!0}),q&&rr(q),ir()};Qn(B),ar(B),Cn();let or=Nm(a,A());or&&(L.style.maxWidth=or,L.style.marginLeft=`auto`,L.style.marginRight=`auto`,L.style.width=`100%`,Ot.style.maxWidth=or,Ot.style.marginLeft=`auto`,Ot.style.marginRight=`auto`,Ot.style.width=`100%`,xt.style.maxWidth=or,St.style.maxWidth=or,St.style.marginLeft=`auto`,St.style.marginRight=`auto`,St.style.width=`100%`);let sr=()=>{let e=Nm(a,A());if(e&&!A())for(let t of[Tt,Ct,Wt,z])t&&(t.style.maxWidth=e,t.style.marginLeft=`auto`,t.style.marginRight=`auto`,t.style.width=`100%`)};sr();let cr=()=>{a.attachments?.enabled&&Ut&&Wt&&(W?W.remountPreviews(Wt):(W=On(),W.setPreviewsContainer(Wt)),q?.addListener(Ut,`change`,e=>{let t=e.target;W?.handleFileSelect(t.files),t.value=``}),F.querySelector(`.persona-attachment-drop-overlay`)||F.appendChild(Xy(a.attachments.dropOverlay)))};cr();let ur=()=>Sn?.prefetch(),dr=()=>{if(!a.contextMentions?.enabled||!R)return;let e=Vc();if(!e){let e=R;zc().then(()=>{!Sn&&R===e&&e.isConnected&&(dr(),fr?.resolve())},()=>{});return}let t=q?.header??null,n=t?ip(t):void 0;if(Sn=e.createContextMentionOrchestrator({deps:{loadContextMentions:Sc,loadContextMentionsInline:Ec,renderLucideIcon:K,createMentionButton:vc},config:a,textarea:R,anchor:Tt??R,getMessages:()=>Q.getMessages(),liveRegionHost:F,chipRow:n}),Sn&&!n){let e=R;e.parentElement?.insertBefore(Sn.contextRow,e)}};dr();let fr=null,pr={getState:()=>G.getState(),getValue:()=>R?.value??``,setValue:e=>{R&&(R.value=e,R.dispatchEvent(new Event(`input`,{bubbles:!0})),Cn())},submit:()=>{wp(q?.form??null)},openAttachmentPicker:()=>{Bs()||Ut?.click()},toggleVoice:()=>{Gn?.()},requestRender:()=>fr?.resolve()},mr=()=>{let e=[];return(Sn?.affordanceButtons??[]).forEach((t,n)=>{e.push({id:`core:mention-${n}`,placement:`start`,order:np.mention+n,element:t,managed:!0})}),Ht&&e.push({id:`core:attachment`,placement:`start`,order:np.attachment,element:Ht}),U&&e.push({id:`core:mic`,placement:`end`,order:np.mic,element:U}),V&&e.push({id:`core:send`,placement:`end`,order:np.send,element:V}),e},hr=!1,gr=()=>{if(hr)return;let e=Ml();e&&(fr?.destroy(),fr=e.createComposerActionRenderer({deps:{renderLucideIcon:K,attachTooltip:So,hideTooltipFor:xo},getBindings:()=>q,collect:()=>({builtIns:mr(),configActions:[...Wn(),...a.composer?.actions??[]],plugins:S,contributionContext:{config:a,getState:()=>G.getState(),requestRender:()=>fr?.resolve()},debug:a.debug===!0}),actionContext:pr,getState:()=>G.getState(),getOverflow:()=>a.composer?.actionOverflow,reportError:(e,t)=>{typeof console<`u`&&console.error(`[AgentWidget] composer action "${t.actionId}" failed:`,e)}}),fr.resolve())};gr();let _r=()=>{if(In?.destroy(),In=null,!jn().length)return;let e=q?.header;if(!e)return;let t=Ml();t&&(In=t.createComposerModeChipRow({renderIcon:K,row:ip(e),onRemove:e=>Pn(e),initialIds:G.getState().activeModeIds}),In.render(G.getState().activeModeIds,jn()))};_r();let vr=()=>{Ln?.destroy(),Ln=null,Hn?.destroy(),Hn=null;let e=q?.header;e&&(Ln=ap({onDismiss:()=>Rn(void 0)}),e.appendChild(Ln.element),Ln.render(G.getState().quote),Vn()===`defer-one`&&(Hn=op({onEdit:()=>su(),onRemove:()=>Un(void 0)}),e.appendChild(Hn.element),Hn.render(G.getState().pendingSubmission)))};vr();let yr=Sp(),br=tp({getSurface:()=>A()||!q?null:{form:q.form,input:q.input,start:q.actionsStart,end:q.actionsEnd,resizeInput:a.composer?.layout===`single-row`},onMeasure:()=>Sr()}),xr=()=>{let e=q?.header?.querySelector(rp);if(e)return e.childElementCount>0;let t=G.getState();return t.mentionRefs.length>0||_p(t.activeModeIds,jn()).length>0};function Sr(){let e=G.getState(),t=br.measure(),n=a.composer?.layout!==`single-row`&&a.composer?.attachmentLayout!==`single-row`||t,r=br.toolbarCrowded();B.hasAttribute(`data-persona-composer-crowded`)!==r&&B.toggleAttribute(`data-persona-composer-crowded`,r),B.hasAttribute(`data-persona-composer-fit`)!==n&&B.toggleAttribute(`data-persona-composer-fit`,n);let i=yr.observe(n&&Cp(R),e.text);B.toggleAttribute(`data-persona-has-attachments`,e.attachments.length>0),B.toggleAttribute(`data-persona-attachment-row-compact`,xp({text:e.text,wrapped:i,hasAttachments:!1,hasChips:xr(),hasQuote:e.quote!==void 0,hasPendingSubmission:e.pendingSubmission!==void 0}));let o=xp({text:e.text,wrapped:i,hasAttachments:e.attachments.length>0,hasChips:xr(),hasQuote:e.quote!==void 0,hasPendingSubmission:e.pendingSubmission!==void 0});B.hasAttribute(`data-persona-composer-compact`)!==o&&B.toggleAttribute(`data-persona-composer-compact`,o);let s=!o||!n||a.composer?.layout!==`single-row`;B.hasAttribute(`data-persona-composer-expanded`)!==s&&B.toggleAttribute(`data-persona-composer-expanded`,s)}function Cr(){a.composer?.layout===`single-row`&&!A()?B.setAttribute(`data-persona-composer-layout`,`single-row`):B.removeAttribute(`data-persona-composer-layout`),a.composer?.attachmentLayout?B.setAttribute(`data-persona-attachment-layout`,a.composer.attachmentLayout):B.removeAttribute(`data-persona-attachment-layout`),Sr()}Cr(),G.subscribe(()=>{fr?.sync(),Gs(),Ks(),Sr(),go()}),Ks();let wr=!1,Tr=e=>{if(wr||a.debug!==!0)return;let t=[`messages`,`composer`].filter(t=>e[t]);t.length&&(wr=!0,console.warn(`[persona] Ignoring deprecated layout.slots.${t.join(` / layout.slots.`)}. Use message render hooks or the renderComposer plugin hook.`))},Er=/* @__PURE__ */ new Map,Dr=/* @__PURE__ */ new Map,Or=e=>{let t=Er.get(e);if(t)return t.element;let n=null;if(e===`body-top`&&(n=I.querySelector(`[data-persona-intro-card]`)),e===`messages`)return L;if(e===`composer`)return Tt;if(e===`footer-top`&&(n=Ct),e===`footer-bottom`&&(n=z),n?.parentNode){let t=document.createComment(`persona:${e}`);n.before(t),Er.set(e,{anchor:t,element:n})}return n},kr=Nu({config:()=>a,defaultContent:Or,remove(e,t){if(e===`messages`||e===`composer`)return;t?.remove(),Dr.get(e)?.remove(),Dr.delete(e);let n=Er.get(e);n&&(n.anchor.replaceWith(n.element),Er.delete(e))},mount(e,t){if(e!==`messages`&&e!==`composer`&&!(t.parentNode&&M.contains(t))){if(e===`body-top`||e===`footer-top`||e===`footer-bottom`){let n=Or(e),r=Er.get(e);if(n&&r?.anchor.parentNode){r.anchor.after(t),n!==t&&!t.contains(n)&&n.remove();return}}switch(e){case`header-left`:It.prepend(t);break;case`header-right`:It.append(t);break;case`header-center`:{let e=It.querySelector(`.persona-flex-col`);e?e.after(t):It.append(t);break}case`body-top`:I.prepend(t);break;case`body-bottom`:I.append(t);break;case`footer-top`:B.prepend(t);break;case`footer-bottom`:B.append(t);break;case`transcript-top`:{let n=document.createElement(`div`);n.setAttribute(`data-persona-layout-slot`,e),n.style.cssText=`width:100%;min-width:0;max-width:var(--persona-content-max-width, 100%);margin-inline:auto;flex-shrink:0`,n.append(t),L.before(n),Dr.set(e,n);break}case`composer-start`:case`composer-end`:case`composer-before-send`:{let n=e===`composer-start`?Rt:e===`composer-end`?zt:V?.parentElement;if(!n)break;let r=document.createElement(`div`);r.setAttribute(`data-persona-layout-slot`,e),r.style.cssText=`display:flex;align-items:center;min-width:0;max-width:100%`,r.append(t),e===`composer-start`?n.prepend(r):e===`composer-before-send`?V?.before(r):n.append(r),Dr.set(e,r);break}}}}});Tr(a.layout?.slots??{}),kr.update();let Ar=t=>{if(!a.onLinkClick||t.defaultPrevented||t.button!==0||t.ctrlKey||t.metaKey||t.shiftKey||t.altKey)return;let n=t.target;if(!(n instanceof Element))return;let r=n.closest(`a[href]`);if(!r||!e.contains(r)||r.hasAttribute(`download`)||r.closest(`[data-persona-root]`)!==e)return;let i=r.getAttribute(`target`)??r.ownerDocument.querySelector(`base[target]`)?.getAttribute(`target`);if(!(i&&i.toLowerCase()!==`_self`)&&/^(https?:|mailto:|tel:)/i.test(r.href))try{a.onLinkClick({url:r.href,anchor:r,originalEvent:t,preventDefault:()=>t.preventDefault()})}catch(e){console.error(`[AgentWidget] onLinkClick failed:`,e)}};e.addEventListener(`click`,Ar),L.addEventListener(`click`,e=>{let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`button[data-persona-copy-tool-detail]`);n&&(e.preventDefault(),e.stopPropagation(),X_(n))}),L.addEventListener(`click`,e=>{let t=e.target;t instanceof Element&&t.closest(`.persona-approval-head[data-action="toggle-params"]`)&&(Wa(),Ho())},{capture:!0});let jr=(e,t)=>{let n=e.querySelector(`[${vg}]`),r=e.getAttribute(`data-message-id`);n&&r&&(Wa(),Ho(),g.set(r,t),fs(e,n,r,{state:t?`expanded`:`collapsed`,maxHeight:xg(a),...Sg(a)},`toggle`))};L.addEventListener(`click`,e=>{let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`button[${yg}]`),r=n?.closest(`[data-message-id]`);n&&r&&(e.preventDefault(),jr(r,n.getAttribute(`aria-expanded`)!==`true`))}),L.addEventListener(`focusin`,e=>{let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`[${vg}="collapsed"]`)?.closest(`[data-message-id]`);n&&jr(n,!0)});let Mr=e=>{let t=e.target.closest(`button[data-expand-header="true"]`);t&&Nr(t)},Nr=e=>{let t=e.closest(`.persona-reasoning-bubble, .persona-tool-bubble, .persona-approval-bubble`);if(!t)return;let n=t.getAttribute(`data-message-id`);if(!n)return;Wa(),Ho();let r=Fa;r&&To();let i=r&&c?.holdScroll(t,I,r,ts,es,Ka,()=>Fa===r),o=e.getAttribute(`data-bubble-type`);if(t.classList.contains(`persona-activity-row`)){u?.manual(n);let e=t.parentElement?.closest(`[data-persona-tool-group]`);e?.dataset.messageId&&u?.manual(e.dataset.messageId)}if(o===`reasoning`||o===`tool`){let e=o===`reasoning`,r=e?p:f;r.has(n)?r.delete(n):r.add(n),c&&(e?c.updateReasoningBubbleUI:c.updateToolBubbleUI)(n,t,r,a)}else if(o===`approval`&&T){let e=((a.approval===!1?void 0:a.approval)?.detailsDisplay??`collapsed`)===`expanded`,r=m.get(n)??e;m.set(n,!r),T.updateApprovalDetailsUI(n,t,a,m)}i?.(),pa.delete(n)};L.addEventListener(`pointerdown`,e=>{e.target.closest(`button[data-expand-header="true"]`)&&(e.preventDefault(),Mr(e))}),L.addEventListener(`click`,e=>{e.detail===0&&e.target.closest(`.persona-activity-row`)&&Mr(e)}),L.addEventListener(`keydown`,e=>{let t=e.target;(e.key===`Enter`||e.key===` `)&&t.closest(`button[data-expand-header="true"]`)&&(e.preventDefault(),Mr(e))}),L.addEventListener(`copy`,e=>{let{clipboardData:t}=e;if(!t)return;let n=L.getRootNode(),r=typeof n.getSelection==`function`?n.getSelection():window.getSelection();if(!r||r.isCollapsed)return;let i=r.toString(),a=Jm(i);a&&a!==i&&(t.setData(`text/plain`,a),e.preventDefault())});let Pr=/* @__PURE__ */ new Map,Fr=/* @__PURE__ */ new Map,Ir,Lr=0,Rr=()=>{L.querySelectorAll(`.persona-tool-bubble[data-tool-call-id]`).forEach(e=>{e.toggleAttribute(`data-persona-revealed`,Fr.has(e.dataset.messageId))})},zr=()=>{window.clearTimeout(Ir),Ir=void 0,Fr.forEach(e=>window.clearTimeout(e)),Fr.clear(),Rr()},Br=null,Vr=`idle`,Hr={idle:{icon:`volume-2`,label:`Read aloud`},loading:{icon:`loader-circle`,label:`Loading…`},playing:{icon:`pause`,label:`Pause`},paused:{icon:`play`,label:`Resume`}},Ur=(e,t)=>{let{icon:n,label:r}=Hr[t];e.setAttribute(`aria-label`,r),e.title=r,e.setAttribute(`aria-pressed`,t===`idle`?`false`:`true`),e.classList.toggle(`persona-message-action-active`,t!==`idle`),e.classList.toggle(`persona-message-action-loading`,t===`loading`);let i=K(n,14,`currentColor`,2);i&&(e.innerHTML=``,e.appendChild(i))},Wr=()=>{L.querySelectorAll(`[data-action="read-aloud"]`).forEach(e=>{let t=e.closest(`[data-actions-for]`)?.getAttribute(`data-actions-for`)??null;Ur(e,t&&t===Br?Vr:`idle`)})};L.addEventListener(`click`,e=>{let t=e.target.closest(`.persona-message-action-btn[data-action]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.closest(`[data-actions-for]`);if(!n)return;let r=n.getAttribute(`data-actions-for`);if(!r)return;let i=t.getAttribute(`data-action`);if(i===`copy`){let e=Q.getMessages().find(e=>e.id===r);if(e&&gt.onCopy){let n=e.content||``;navigator.clipboard.writeText(n).then(()=>{t.classList.add(`persona-message-action-success`);let e=hn(x,14,`currentColor`,2);e&&(t.innerHTML=``,t.appendChild(e)),setTimeout(()=>{t.classList.remove(`persona-message-action-success`);let e=hn(ae,14,`currentColor`,2);e&&(t.innerHTML=``,t.appendChild(e))},2e3)}).catch(e=>{typeof console<`u`&&console.error(`[AgentWidget] Failed to copy message:`,e)}),gt.onCopy(e)}}else if(i===`read-aloud`)Q.toggleReadAloud(r);else if(i===`upvote`||i===`downvote`){let e=(Pr.get(r)??null)===i,a=i===`upvote`?`thumbs-up`:`thumbs-down`;if(e){Pr.delete(r),t.classList.remove(`persona-message-action-active`);let e=K(a,14,`currentColor`,2);e&&(t.innerHTML=``,t.appendChild(e))}else{let e=i===`upvote`?`downvote`:`upvote`,o=n.querySelector(`[data-action="${e}"]`);if(o){o.classList.remove(`persona-message-action-active`);let t=K(e===`upvote`?`thumbs-up`:`thumbs-down`,14,`currentColor`,2);t&&(o.innerHTML=``,o.appendChild(t))}Pr.set(r,i),t.classList.add(`persona-message-action-active`);let s=K(a,14,`currentColor`,2);s&&(s.setAttribute(`fill`,`currentColor`),t.innerHTML=``,t.appendChild(s)),t.classList.remove(`persona-message-action-pop`),t.offsetWidth,t.classList.add(`persona-message-action-pop`);let c=Q.getMessages().find(e=>e.id===r);c&&gt.onFeedback&&gt.onFeedback({type:i,messageId:c.id,message:c})}}else if(i===`regenerate`)Y?.regenerate(r);else if(i===`edit`)Y?.edit(r);else if(i===`quote`)Y?.quote(r);else if(i?.startsWith(`custom:`)){let e=i.slice(7),t=a.messageActions?.custom?.find(t=>t.id===e),n=Q.getMessages().find(e=>e.id===r);if(!t||!n)return;try{t.onSelect(n)}catch(t){console.error(`[AgentWidget] messageActions.custom "${e}" onSelect failed:`,t)}}});let Y=null;L.addEventListener(`click`,e=>{let t=e.target.closest(`button[data-approval-action]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.closest(`.persona-approval-bubble`);if(!n)return;let r=n.getAttribute(`data-message-id`);if(!r)return;let i=t.getAttribute(`data-approval-action`);if(!i)return;let a=i===`approve`?`approved`:`denied`,o=Q.getMessages().find(e=>e.id===r);if(!o?.approval)return;let s=n.querySelector(`[data-approval-buttons]`);s&&s.querySelectorAll(`button`).forEach(e=>{e.disabled=!0,e.style.opacity=`0.5`,e.style.cursor=`not-allowed`}),Pu(o.approval)?Q.resolveWebMcpApproval(r,a):Q.resolveApproval(o.approval,a)});let X=null,Gr=!1,Kr=null,qr=()=>{},Jr=`none`,Yr=null,Xr={artifacts:[],selectedId:null},Zr=!1,Qr=!1,$r=!1,ei=!1,ti=()=>ei||Xr.artifacts.some(e=>Xn(a.features?.artifacts,e)===`panel`),ni=()=>Xr.artifacts.length>0&&!Zr&&ti(),ri={current:null},ii=(e,t)=>{let n=Q.getArtifactById(t),r=n?.markdown,i=n?.title||`artifact`,a=n?.file,o=n?.artifactType??`markdown`;if(!r){let t=(e.closest(`[data-open-artifact], [data-artifact-inline]`)?.closest(`[data-message-id]`))?.getAttribute(`data-message-id`);if(t){let e=Q.getMessages().find(e=>e.id===t);if(e?.rawContent)try{let t=JSON.parse(e.rawContent);r=t?.props?.markdown,i=t?.props?.title||i,t?.props?.file&&typeof t.props.file==`object`&&(a=t.props.file),!n&&typeof t?.props?.artifactType==`string`&&(o=t.props.artifactType)}catch{}}}return{markdown:r,title:i,file:a,artifactType:o}};L.addEventListener(`click`,e=>{let t=e.target.closest(`[data-download-artifact]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.getAttribute(`data-download-artifact`);if(!n||a.features?.artifacts?.onArtifactAction?.({type:`download`,artifactId:n})===!0)return;let{markdown:r,title:i,file:o}=ii(t,n);if(!r)return;let s=lu();s&&s.triggerArtifactDownload(s.downloadInfoFor({title:i,markdown:r,file:o}))}),L.addEventListener(`click`,e=>{let t=e.target.closest(`[data-artifact-custom-action]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.getAttribute(`data-artifact-custom-action`);if(!n)return;let r=t.closest(`[data-artifact-inline]`),i=r?null:t.closest(`[data-open-artifact]`),o=r?r.getAttribute(`data-artifact-inline`):i?.getAttribute(`data-open-artifact`)??null,s=(r?a.features?.artifacts?.inlineActions:a.features?.artifacts?.cardActions)?.find(e=>e.id===n);if(!s)return;let{markdown:c,title:l,file:u,artifactType:d}=ii(t,o??``),f={artifactId:o,title:l,artifactType:d,markdown:c,file:u};try{Promise.resolve(s.onClick(f)).catch(()=>{})}catch{}}),L.addEventListener(`click`,e=>{let t=e.target.closest(`[data-copy-artifact]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.getAttribute(`data-copy-artifact`);if(!n)return;let r=Q.getArtifactById(n),i=lu();if(!i)return;let a=``;if(r)a=i.artifactCopyText(r);else{let{markdown:e,file:r,artifactType:o}=ii(t,n);o===`markdown`&&(a=i.artifactCopyText({id:n,artifactType:`markdown`,status:`complete`,markdown:e??``,...r?{file:r}:{}}))}a&&navigator.clipboard.writeText(a).then(()=>{let e=hn(x,16,`currentColor`,2);e&&(t.replaceChildren(e),setTimeout(()=>{let e=hn(ae,16,`currentColor`,2);e&&t.replaceChildren(e)},1500))}).catch(()=>{})}),L.addEventListener(`click`,e=>{let t=e.target.closest(`[data-expand-artifact-inline]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.getAttribute(`data-expand-artifact-inline`);n&&a.features?.artifacts?.onArtifactAction?.({type:`open`,artifactId:n})!==!0&&(Zr=!1,ei=!0,Qr=!0,$r=!0,Q.selectArtifact(n),wi())}),L.addEventListener(`click`,e=>{let t=e.target;if(t.closest(`[data-download-artifact]`)||t.closest(`[data-artifact-custom-action]`))return;let n=t.closest(`[data-open-artifact]`);if(!n)return;let r=n.getAttribute(`data-open-artifact`);r&&a.features?.artifacts?.onArtifactAction?.({type:`open`,artifactId:r})!==!0&&(e.preventDefault(),e.stopPropagation(),Zr=!1,ei=!0,Q.selectArtifact(r),wi())}),L.addEventListener(`keydown`,e=>{if(e.key!==`Enter`&&e.key!==` `)return;let t=e.target;(t.hasAttribute(`data-open-artifact`)||t.hasAttribute(`data-expand-artifact-inline`))&&(e.preventDefault(),t.click())});let ai=P.composerOverlay,oi=e=>{zc().catch(()=>{}),Vi(e,a,ai)},si=null,ci={instanceId:r,mount:e,overlay:ai,sessionRef:ri,config:()=>a},li=!1,ui=e=>t=>{let n=t.target,r=n?.closest?.(`[data-persona-ask-sheet-for]`);if(!r||!(e===`click`?n?.closest(`[data-ask-user-action]`):t.key===`Enter`&&n?.matches?.(`[data-ask-free-text-input="true"]`)))return;let i=n=>{si??=n.createAskUserSheetHandlers(ci),si[e](t)},a=Vc();a?i(a):li||(li=!0,zc().then(e=>{li=!1,r.isConnected&&i(e)},()=>{li=!1}))};ai.addEventListener(`click`,ui(`click`)),ai.addEventListener(`keydown`,ui(`keydown`));let di=e=>{if(!/^[1-9]$/.test(e.key)||e.metaKey||e.ctrlKey||e.altKey)return;let t=e.target;if(t?.tagName===`INPUT`||t?.tagName===`TEXTAREA`||t?.isContentEditable)return;let n=ai.querySelector(`[data-persona-ask-sheet-for]`);if(!n||n.getAttribute(`data-ask-layout`)!==`rows`||n.getAttribute(`data-multi-select`)===`true`)return;let r=Number(e.key),i=n.querySelectorAll(`[data-ask-pill-list="true"] [data-ask-user-action="pick"], [data-ask-pill-list="true"] [data-ask-user-action="focus-free-text"]`)[r-1];i&&(e.preventDefault(),i.click())};document.addEventListener(`keydown`,di);let pi=null,hi=null,gi=()=>{},_i=!1,vi=``,yi=``,bi=()=>{let e=cl?.railShell?cl.railHost:null,t=e?.isConnected?e:null,n=t?t.getBoundingClientRect().width:0;return n<=0?200:n+360},xi=()=>{},Si=()=>{let t=e.ownerDocument.defaultView??window,n=a.launcher?.mobileFullscreen??!0,r=a.launcher?.mobileBreakpoint??640;return!n||t.innerWidth>r?!1:Ee||Rh(a)},Ci=()=>!sv(a)||!ni()||e.classList.contains(`persona-artifact-narrow-host`)||Si()||(e.ownerDocument.defaultView??window).innerWidth<641?`none`:fv(a)?`detached`:`welded`,wi=()=>{if(!X||!sv(a))return;pv(e,a),mv(e,a),xi();let t=a.features?.artifacts?.layout?.narrowHostMaxWidth??520,n=N.getBoundingClientRect().width||0;e.classList.toggle(`persona-artifact-narrow-host`,n>0&&n<=t);let r=ni();X.setVisible(r),X.update(Xr),Zr?(X.setMobileOpen(!1),X.element.classList.add(`persona-hidden`),X.backdrop?.classList.add(`persona-hidden`),Qr=!1,$r=!1):Xr.artifacts.length>0&&ti()?(X.element.classList.remove(`persona-hidden`),X.setMobileOpen(!0)):(X.setMobileOpen(!1),X.element.classList.add(`persona-hidden`),X.backdrop?.classList.add(`persona-hidden`),Qr=!1,$r=!1);let i=a.features?.artifacts?.layout?.showExpandToggle===!0;if(X.setExpandToggleVisible(i),X.setCopyButtonVisible(a.features?.artifacts?.layout?.showCopyButton===!0),X.setRefreshButtonVisible(typeof a.features?.artifacts?.layout?.onDocumentToolbarRefresh==`function`),X.setCustomActions(a.features?.artifacts?.toolbarActions??[]),X.setStyleConfig(a),X.setTabFade(a.features?.artifacts?.layout?.tabFade),X.setRenderTabBar(a.features?.artifacts?.renderTabBar),!i&&!$r&&(Qr=!1),Qr!==_i){let e=X.element;Qr?(vi=e.style.width,yi=e.style.maxWidth,e.style.removeProperty(`width`),e.style.removeProperty(`max-width`)):(vi&&(e.style.width=vi),yi&&(e.style.maxWidth=yi),vi=``,yi=``),_i=Qr}e.classList.toggle(`persona-artifact-expanded`,Qr),X.setExpanded(Qr);let o=Ci();o!==Jr&&(Jr=o,qr()),gi()};if(sv(a)){N.style.position=`relative`;let t=J(`div`,`persona-flex persona-flex-1 persona-flex-col persona-min-w-0 persona-min-h-0`),n=J(`div`,`persona-flex persona-h-full persona-w-full persona-min-h-0 persona-artifact-split-root`);t.appendChild(F),pi=n,n.appendChild(t),N.appendChild(n);let r=t=>{Gr||X||(X=t.createArtifactPane(a,{onSelect:e=>ri.current?.selectArtifact(e),onDismiss:()=>{Zr=!0,wi()},onToggleExpand:()=>{let e=!Qr,t=Xr.selectedId??Xr.artifacts[Xr.artifacts.length-1]?.id??null;a.features?.artifacts?.onArtifactAction?.({type:`expand`,artifactId:t,expanded:e})!==!0&&(Qr=e,e||($r=!1),wi())}}),hi=t.createArtifactResizer({mount:e,splitRoot:n,pane:X,getConfig:()=>a,chatMinWidth:bi,isVisible:ni}),X.element.classList.add(`persona-hidden`),n.appendChild(X.element),X.backdrop&&N.appendChild(X.backdrop),gi(),wi())},i=lu();i?r(i):(uu(()=>{let e=lu();e&&r(e)}),cu().catch(()=>{})),gi=()=>hi?.update(),xi=()=>{if(!Ee||!X||(a.launcher?.sidebarMode??!1)||Rh(a)&&Bh(a).reveal===`emerge`)return;let t=e.ownerDocument.defaultView??window,n=a.launcher?.mobileFullscreen??!0,r=a.launcher?.mobileBreakpoint??640;if(n&&t.innerWidth<=r||!hv(a,Ee))return;let i=T_(a).width,o=a.features?.artifacts?.layout?.expandedPanelWidth??`min(720px, calc(100vw - 24px))`;ni()?(N.style.width=o,N.style.maxWidth=o):(N.style.width=i,N.style.maxWidth=i)},typeof ResizeObserver<`u`&&(Kr=new ResizeObserver(()=>{wi()}),Kr.observe(N))}else N.appendChild(F);A()&&bt&&(P.peekBanner&&bt.appendChild(P.peekBanner),bt.appendChild(B)),e.appendChild(M),bt&&e.appendChild(bt);let Ti=()=>{let t=Si()||A()&&a.launcher?.composerBar?.expandedSize===`fullscreen`||a.launcher?.fullHeight===!0&&!a.launcher?.sidebarMode&&!Rh(a);if(L.style.gap=t?`var(--persona-components-message-fullscreenGap, var(--persona-components-message-gap, 12px))`:`var(--persona-components-message-gap, 12px)`,L.style.setProperty(`--persona-transcript-gap`,L.style.gap),A()){N.style.width=`100%`,N.style.maxWidth=`100%`;let e=a.launcher?.composerBar??{},t=M.dataset.state===`expanded`,n=e.expandedSize??`anchored`;if(!(t&&n!==`fullscreen`)){F.style.background=``,F.style.border=``,F.style.borderRadius=``,F.style.overflow=``,F.style.boxShadow=``;return}let r=a.theme?.components?.panel,i=Em(a),o=(e,t)=>e==null||e===``?t:Xp(i,e)??e;F.style.background=`var(--persona-surface, #ffffff)`,F.style.border=o(r?.border,`1px solid var(--persona-border)`),F.style.borderRadius=o(r?.borderRadius,`var(--persona-panel-radius, var(--persona-radius-xl, 0.75rem))`),F.style.boxShadow=o(r?.shadow,`var(--persona-palette-shadows-xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25))`),F.style.overflow=`hidden`;return}let n=Rh(a),r=a.launcher?.sidebarMode??!1,i=ls(a)||n||r||(a.launcher?.fullHeight??!1),o=a.launcher?.enabled===!1,s=a.launcher?.detachedPanel===!0,c=a.theme?.components?.panel,l=a.darkTheme?.components?.panel,u=Cm(a)===`dark`?lr(c??{},l??{}):c,d=Em(a),f=(e,t)=>e==null||e===``?t:Xp(d,e)??e,p=e.ownerDocument.defaultView??window,m=a.launcher?.mobileFullscreen??!0,h=a.launcher?.mobileBreakpoint??640,g=p.innerWidth<=h,_=m&&g&&Ee,v=n&&m&&g,y=a.launcher?.position??`bottom-left`,b=y===`bottom-left`||y===`top-left`,x=a.launcher?.zIndex??1e5,S=(e,t,n)=>`var(--persona-components-panel-modes-${e}-${t}, ${n})`,C=u?.modes?.floating,ee=f(C?.border??u?.border,S(`floating`,`border`,`var(--persona-panel-border, 1px solid var(--persona-border))`)),w=f(C?.shadow??u?.shadow,S(`floating`,`shadow`,`var(--persona-panel-shadow, var(--persona-palette-shadows-xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25)))`)),te=f(C?.borderRadius??u?.borderRadius,S(`floating`,`borderRadius`,`var(--persona-panel-radius, var(--persona-radius-xl, 0.75rem))`)),T=s&&!_&&!v,E=_||v?`mobile`:T?`floating`:n?`docked`:r?`sidebar`:o?`inline`:`floating`,ne=u?.modes?.[E];T?e.setAttribute(`data-persona-panel-detached`,`true`):e.removeAttribute(`data-persona-panel-detached`);let re=T?ee:r||_?`none`:ee,D=T?w:_?`none`:r?b?`2px 0 12px rgba(0, 0, 0, 0.08)`:`-2px 0 12px rgba(0, 0, 0, 0.08)`:o?`none`:w;n&&!_&&!T&&(D=`none`,re=`none`);let ie=T?te:r||_?`0`:te,ae=f(ne?.border??u?.border,S(E,`border`,re)),oe=f(ne?.shadow??u?.shadow,S(E,`shadow`,D)),se=f(ne?.borderRadius??u?.borderRadius,S(E,`borderRadius`,ie)),ce=Ci(),le=ce===`detached`,ue=ce===`welded`;e.classList.toggle(`persona-artifact-detached-split`,le),e.classList.toggle(`persona-artifact-welded-split`,ue);let O=`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)))))`,k=(a.features?.artifacts?.layout?.chatSurface===`flush`?`flush`:`card`)==`flush`&&sv(a)&&fv(a)&&o&&!n;e.classList.toggle(`persona-artifact-chat-flush`,k);let de=le||k?`none`:oe,fe=le?ee:ue?`none`:ae,pe=le?te:se;k&&(fe=`none`,pe=`0`);let me=ne?.borderRadius!=null&&ne.borderRadius!==``||u?.borderRadius!=null&&u.borderRadius!==``,he=k&&!me?`0`:se,ge=I.scrollTop;e.style.cssText=``,M.style.cssText=``,N.style.cssText=``,F.style.cssText=``,I.style.cssText=``,er||(B.style.cssText=``,a.layout?.showFooter===!1&&(B.style.display=`none`)),nt&&(I.style.display=`none`),(i||o)&&(e.style.minWidth=`0`);let _e=()=>{ge<=0||(I.ownerDocument.defaultView??window).requestAnimationFrame(()=>{if(I.scrollTop===ge)return;let e=I.scrollHeight-I.clientHeight;e<=0||(I.scrollTop=Math.min(ge,e))})};if(_){M.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`),M.style.cssText=`
35
+ `,a.addEventListener(`click`,()=>{t(e),i.forEach((t,n)=>{let r=n<e;t.classList.toggle(`selected`,r),t.setAttribute(`aria-checked`,n===e-1?`true`:`false`)})}),i.push(a),r.appendChild(a)}return{element:r,attentionTarget:r}})}function zy(e){return Ly(e,`nps`,t=>{let{lowLabel:n=`Not likely`,highLabel:r=`Very likely`}=e,i=document.createElement(`div`);i.className=`persona-feedback-rating persona-feedback-rating-nps`,i.setAttribute(`role`,`radiogroup`),i.setAttribute(`aria-label`,`Likelihood rating from 0 to 10`);let a=document.createElement(`div`);a.className=`persona-feedback-labels`;let o=document.createElement(`span`);o.className=`persona-feedback-label-low`,o.textContent=n;let s=document.createElement(`span`);s.className=`persona-feedback-label-high`,s.textContent=r,a.appendChild(o),a.appendChild(s);let c=document.createElement(`div`);c.className=`persona-feedback-numbers`;let l=[];for(let e=0;e<=10;e++){let n=document.createElement(`button`);n.type=`button`,n.className=`persona-feedback-rating-btn persona-feedback-number-btn`,n.setAttribute(`role`,`radio`),n.setAttribute(`aria-checked`,`false`),n.setAttribute(`aria-label`,`Rating ${e} out of 10`),n.textContent=String(e),n.dataset.rating=String(e),e<=6?n.classList.add(`persona-feedback-detractor`):e<=8?n.classList.add(`persona-feedback-passive`):n.classList.add(`persona-feedback-promoter`),n.addEventListener(`click`,()=>{t(e),l.forEach((t,n)=>{t.classList.toggle(`selected`,n===e),t.setAttribute(`aria-checked`,n===e?`true`:`false`)})}),l.push(n),c.appendChild(n)}return i.appendChild(a),i.appendChild(c),{element:i,attentionTarget:c}})}Jo(),rc(),wc(),Oc(),bc(),Ks(),fr(),Pn(),_n(),Kr(),zo(),yo(),fa(),vc(),Z(),ia(),lr(),Kn(),$n(),Ds(),fs(),pd();const By=`persona-chat-history`,Vy=`data-persona-composer-reason`,Hy=`data-persona-composer-notice`,Uy={"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 Wy(e){if(!e)return[];let t=[],n=Array.from(e.items??[]);for(let e of n){if(e.kind!==`file`||!e.type.startsWith(`image/`))continue;let n=e.getAsFile();if(!n)continue;if(n.name){t.push(n);continue}let r=Uy[n.type]??`png`;t.push(new File([n],`clipboard-image-${Date.now()}.${r}`,{type:n.type,lastModified:Date.now()}))}if(t.length>0)return t;for(let n of Array.from(e.files??[]))n.type.startsWith(`image/`)&&t.push(n);return t}function Gy(e){if(!e)return!1;let t=e.types;return t?typeof t.contains==`function`?t.contains(`Files`):Array.from(t).includes(`Files`):!1}function Ky(e){if(!e)return null;let t=e===!0?{}:e;return{storage:t.storage??`session`,keyPrefix:t.keyPrefix??`persona-`,persist:{openState:t.persist?.openState??!0,voiceState:t.persist?.voiceState??!0,focusInput:t.persist?.focusInput??!0},clearOnChatClear:t.clearOnChatClear??!0}}function qy(e){try{let t=e===`local`?localStorage:sessionStorage,n=`__persist_test__`;return t.setItem(n,`1`),t.removeItem(n),t}catch{return null}}const Jy=e=>!e||typeof e!=`object`?{}:{...e},Yy=e=>e.filter(e=>!fd(e)).map(e=>({...e,streaming:!1})),Xy=(e,t,n)=>{let r=e?.markdown?Bu(e.markdown):null,i=Qu(e?.sanitize);e?.postprocessMessage&&i&&e?.sanitize===void 0&&console.warn(`[Persona] postprocessMessage HTML is sanitized: unsupported tags/attributes are stripped. Provide a custom sanitize function to allow them, or sanitize: false only for trusted HTML.`);let a=!1,o=a=>{let o=a.text??``,s=a.message.rawContent??null;if(t){let e=t.process({text:o,raw:s??o,message:a.message,streaming:a.streaming});e!==null&&(o=e.text,e.persist||(a.message.__skipPersist=!0),e.resubmit&&!a.streaming&&n&&n())}let c=mn()!==null,l;if(e?.postprocessMessage){let t=e.postprocessMessage({...a,text:o,raw:s??a.text??``});l=i?i(t):t}else if(r){let e=Lu(o,a.streaming),t=r(e);l=i&&c?i(t):t}else l=Uu(o);return l};return e=>{try{return o(e)}catch(t){return a||(a=!0,console.error(`[Persona] markdown rendering failed; falling back to plain text:`,t)),Uu(e.text??``)}}};function Zy(e){let t=q(`div`,`persona-attachment-drop-overlay`);e?.background&&t.style.setProperty(`--persona-drop-overlay-bg`,e.background),e?.backdropBlur!==void 0&&t.style.setProperty(`--persona-drop-overlay-blur`,e.backdropBlur),e?.border&&t.style.setProperty(`--persona-drop-overlay-border`,e.border),e?.borderRadius&&t.style.setProperty(`--persona-drop-overlay-radius`,e.borderRadius),e?.inset&&t.style.setProperty(`--persona-drop-overlay-inset`,e.inset),e?.labelSize&&t.style.setProperty(`--persona-drop-overlay-label-size`,e.labelSize),e?.labelColor&&t.style.setProperty(`--persona-drop-overlay-label-color`,e.labelColor);let n=e?.iconName??`upload`,r=e?.iconSize??`48px`,i=e?.iconColor??`rgba(59, 130, 246, 0.6)`,a=e?.iconStrokeWidth??.5,o=G(n,r,i,a);if(o&&t.appendChild(o),e?.label){let n=q(`span`,`persona-drop-overlay-label`);n.textContent=e.label,t.appendChild(n)}return t}const Qy=(e,t)=>{let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t?{...t,...r}:r}return n},$y=e=>e.reduce((e,t)=>({blocks:[...e.blocks,...t.blocks],contentParts:[...e.contentParts,...t.contentParts],context:Qy(e.context,t.context)}),{blocks:[],contentParts:[],context:{}}),eb=(e,t,n)=>{if(e==null)throw Error(`createAgentExperience: mount must be a non-null HTMLElement (e.g. pass document.getElementById("my-root") after the node exists).`);e.id&&!e.getAttribute(`data-persona-instance`)&&e.setAttribute(`data-persona-instance`,e.id);let r=e.getAttribute(`data-persona-instance`)||`persona-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`;e.setAttribute(`data-persona-instance`,r),e.hasAttribute(`data-persona-root`)||e.setAttribute(`data-persona-root`,`true`);let a=gs(t),o=ml(e),s=n?.diagnostics??sy(t),c=null,l,u,d=()=>{let t=zl();if(l??=t?.createLoadingLabelLifecycle(e,()=>a),c)return c;let n=xl();return n&&t?(n.initActivityUi(G,t,hl),u=n.createActivityLifecycle(e,()=>a,f,p,ma,ss),c=n):null},f=/* @__PURE__ */ new Set,p=/* @__PURE__ */ new Set,m=/* @__PURE__ */ new Map,h=/* @__PURE__ */ new Map,g=/* @__PURE__ */ new Map,_=/* @__PURE__ */ new Set,v=e=>{if(e.role===`user`&&xg(a))return e.voiceProcessing&&_.add(e.id),{state:e.voiceProcessing?`live`:_.has(e.id)?`settling`:h.get(e.id)?g.get(e.id)?`expanded`:`collapsed`:`fit`,maxHeight:Sg(a),...Cg(a)}},y=()=>{xo({delayMs:a.tooltip?.delayMs??400,skipDelayMs:a.tooltip?.skipDelayMs??300})};y();let b=a.features;a=Vv(a);let S=Jv.getForInstance(a.plugins),C=qm(e),ee=[],w=!1,te=J_(()=>a),T=null,E=null,ne=null,re=!1,D=null,ie=(e,t)=>{T=e,e.initApprovalUi({webMcpToolTitle:Vn,popover:t,icons:{render:G,node:gn}});let n=e.createBuiltInApprovalPlugin(m);E=n.plugin,ne=n.teardown},oe=()=>{if(T)return T;let e=rv(),t=Nl();return e&&t?(ie(e,t),e):(Promise.all([nv(),Ml()]).then(([e,t])=>{re||T||(ie(e,t),D?.())}).catch(()=>{}),null)},se=!1,ce=!1,le=null,ue=(e,t,n,r)=>{if(!e.querySelector(`[data-tv-form]`))return;let i=qv();i?i.enhanceWithForms(e,t,n,r):Kv().then(()=>{se||ce||!le||(ce=!0,le())}).catch(()=>{})},O=ly(Object.freeze({instanceId:r})),k=a.persistState===!1?null:a.storageAdapter??xy(by(typeof a.persistState==`object`?a.persistState.keyPrefix:void 0)),de=!!a.clientToken&&typeof a.reconnectStream!=`function`,fe={},pe=null,me,he=new Promise(e=>{me=e}),ge=()=>{},_e=new Promise(e=>{ge=e}),ve,ye=!1,be=e=>{if(a.onStateLoaded)try{let t=a.onStateLoaded(e);if(t&&typeof t==`object`&&`state`in t){let{state:e,open:n}=t;return n&&(ye=!0),e}return t}catch(e){typeof console<`u`&&console.error(`[AgentWidget] onStateLoaded hook failed:`,e)}return e};if(k?.load)try{let e=k.load();if(e&&typeof e.then==`function`)pe=e.then(e=>be(e??{messages:[],metadata:{}}));else{let t=be(e??{messages:[],metadata:{}});t.metadata&&(fe=Jy(t.metadata)),t.messages?.length&&(a={...a,initialMessages:t.messages}),t.artifacts?.length&&(a={...a,initialArtifacts:t.artifacts,initialSelectedArtifactId:t.selectedArtifactId??null}),ve=t.draft}}catch(e){typeof console<`u`&&console.error(`[AgentWidget] Failed to load stored state:`,e)}else if(a.onStateLoaded)try{let e=be({messages:[],metadata:{}});e.messages?.length&&(a={...a,initialMessages:e.messages})}catch(e){typeof console<`u`&&console.error(`[AgentWidget] onStateLoaded hook failed:`,e)}pe||me();let xe=()=>fe,Se=e=>{fe=e({...fe})??{},fo()},Ce=a.actionParsers&&a.actionParsers.length?a.actionParsers:[fy],we=a.actionHandlers&&a.actionHandlers.length?a.actionHandlers:[my.message,my.messageAndClick],Te=gy({parsers:Ce,handlers:we,getSessionMetadata:xe,updateSessionMetadata:Se,emit:O.emit,captureResubmitGuard:()=>{let e=Pe;return()=>Ie(e)},documentRef:typeof document<`u`?document:null});Te.syncFromMetadata();let Ee=a.launcher?.enabled??!0,De=a.launcher?.autoExpand??!1,Oe=a.autoFocusInput??!1,ke=De,Ae=Ee,je=a.layout?.header?.layout,Me=!1,A=()=>Bh(a),Ne=()=>Ee||A(),j=A()?!1:!Ee||De,Pe=0,Fe=!1,Ie=e=>!Fe&&!no&&e===Pe,Le=()=>{Pe++,ze=!1,Be!==null&&clearTimeout(Be),Be=null},Re=()=>{let e=Pe;Ie(e)&&setTimeout(()=>{Ie(e)&&!Z.isStreaming()&&Z.continueConversation()},100)},ze=!1,Be=null,Ve=()=>{Ie(Pe)&&(ze=!0,Be&&clearTimeout(Be),Be=setTimeout(()=>{ze&&=(typeof console<`u`&&console.warn(`[AgentWidget] Resubmit requested but no injection occurred within 10s`),!1)},1e4))},He=Xy(a,Te,Ve),Ue=a.features?.showReasoning??!0,We=a.features?.showToolCalls??!0,Ge=a.features?.showEventStreamToggle??!1,Ke=a.features?.scrollBehavior??{},qe=()=>(typeof a.persistState==`object`?a.persistState?.keyPrefix:void 0)??`persona-`,Je=`${qe()}event-stream`,Ye=null,Xe=a.features?.eventStream?.maxEvents??2e3,Ze=null,Qe=null,$e=null,et=!1,tt=null,nt=!1,rt=null,it=0,at=(e,t)=>{Ze?.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:e,timestamp:Date.now(),payload:JSON.stringify(t)})},ot=(e,t)=>{Qe?.processEvent(e,t),Ze?at(e,t):$e&&($e.length>=Xe&&$e.shift(),$e.push({type:e,payload:t}))},st=()=>{!Ze&&Ge&&($e??=[],ov().then(e=>{if(et||Ze||!Ge)return;Ye=new e.EventStreamStore(Je),Ze=new e.EventStreamBuffer(Xe,Ye),Qe??=new e.ThroughputTracker,Ye.open().then(()=>Ze?.restore()).catch(e=>{a.debug&&console.warn(`[AgentWidget] IndexedDB not available for event stream:`,e)});let t=$e??[];$e=null;for(let e of t)Qe?.processEvent(e.type,e.payload),at(e.type,e.payload)}).catch(()=>{}))};Ge&&st();let ct=!1,lt=null,ut=()=>{},dt=()=>{},ft=()=>{},pt=()=>{},mt=()=>{},ht=()=>nt||ct&&lt===`panel`,gt={onCopy:e=>{O.emit(`message:copy`,e),Z?.isClientTokenMode()&&e.role!==`operator`&&Z.submitMessageFeedback(e.id,`copy`).catch(e=>{a.debug&&console.error(`[AgentWidget] Failed to submit copy feedback:`,e)}),a.messageActions?.onCopy?.(e)},onFeedback:e=>{O.emit(`message:feedback`,e),Z?.isClientTokenMode()&&Z.submitMessageFeedback(e.messageId,e.type).catch(e=>{a.debug&&console.error(`[AgentWidget] Failed to submit feedback:`,e)}),a.messageActions?.onFeedback?.(e)}};a.statusIndicator;let _t=(e,t=a.statusIndicator??{})=>e===`idle`?t.idleText??la.idle:e===`connecting`?t.connectingText??la.connecting:e===`connected`?t.connectedText??la.connected:e===`error`?t.errorText??la.error:e===`paused`?t.pausedText??la.paused:e===`resuming`?t.resumingText??la.resuming:la[e];function vt(e,t,n,r){if(!A()&&(n.mode===`transient`||e.classList.contains(`persona-mb-2`))&&(qo(e,Tt,n),Ko(e,n,r)),!(e.hasAttribute(Vy)||e.hasAttribute(Hy))){if(r===`idle`&&n.idleLink){e.textContent=``;let r=document.createElement(`a`);r.href=n.idleLink,r.target=`_blank`,r.rel=`noopener noreferrer`,r.textContent=t,r.style.color=`inherit`,r.style.textDecoration=`none`,e.appendChild(r)}else e.textContent=t}}let yt=W_({config:a,showClose:Ne()}),{wrapper:M,panel:N,pillRoot:bt}=yt.shell,P=yt.panelElements,{container:F,body:I,messagesWrapper:L,starterSuggestions:xt,transcriptSuggestions:St,suggestions:Ct,textarea:R,sendButton:wt,composerForm:Tt,statusText:Et,welcomeHost:Dt,welcomeIconHolder:Ot,greetingHost:kt,introKicker:At,introTitle:jt,introSubtitle:Mt,closeButton:Nt,iconHolder:Pt,headerTitle:Ft,headerSubtitle:It,header:Lt,footer:z,actionsRow:Rt}=P,zt=P.leftActions,Bt=P.rightActions,B=P.sendButtonWrapper,Vt=P.setSendButtonMode,V=P.micButton,H=P.micButtonWrapper,Ht=P.attachmentButton,Ut=P.attachmentButtonWrapper,Wt=P.attachmentInput,Gt=P.attachmentPreviewsContainer;F.classList.add(`persona-relative`),I.classList.add(`persona-relative`);let Kt=()=>a.features?.scrollToBottom?.enabled!==!1,qt=()=>Ke.mode??`anchor-top`,Jt=()=>qt()===`follow`||qt()===`anchor-top`&&Va,Yt=()=>Ke.anchorTopOffset??16,Xt=()=>Ke.restorePosition??`bottom`,Zt=()=>Ke.pauseOnInteraction===!0,Qt=()=>Ke.showActivityWhilePinned!==!1,$t=()=>Ke.announce===!0,en=()=>Ke.scrollbar??`on-scroll`,tn=Nu(G,`transcript`,I),nn=tn.element;F.appendChild(nn);let rn=()=>I.parentElement??F,an=q(`div`,`persona-panel-suggestions`);an.setAttribute(`data-persona-panel-suggestions`,``),an.hidden=!0,F.appendChild(an);let on=q(`div`,`persona-panel-suggestions-fade`);on.setAttribute(`aria-hidden`,`true`),on.hidden=!0,F.appendChild(on);let sn=q(`div`,`persona-stream-anchor-spacer`);sn.setAttribute(`aria-hidden`,`true`),sn.setAttribute(`data-persona-anchor-spacer`,``),sn.style.flexShrink=`0`,sn.style.pointerEvents=`none`,sn.style.height=`0px`,sn.style.display=`none`,I.appendChild(sn);let cn=q(`div`,`persona-sr-only`);cn.setAttribute(`aria-live`,`polite`),cn.setAttribute(`aria-atomic`,`true`),cn.setAttribute(`role`,`status`),cn.setAttribute(`data-persona-live-region`,``),Object.assign(cn.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`}),F.appendChild(cn);let ln=null,un=null,dn=e=>{$t()&&e&&(un=e,ln===null&&(ln=setTimeout(()=>{ln=null,un&&$t()&&(cn.textContent=un),un=null},400)))},fn=()=>{let t=e.ownerDocument.defaultView??window;return(a.launcher?.mobileFullscreen??!0)&&t.innerWidth<=(a.launcher?.mobileBreakpoint??640)&&(Ee||zh(a))||a.launcher?.fullHeight===!0&&!a.launcher.sidebarMode&&!zh(a)},pn=()=>b_(a,fn()),mn=`empty`,hn=0,_n=()=>hn||parseFloat(e.style.getPropertyValue(`--persona-composer-lift`))||0,vn=(e,t=I)=>{let n=0,r=e;for(;r&&r!==t;)n+=r.offsetTop,r=r.offsetParent;return n},yn=()=>{let e=z.style.display===`none`,t=rn();if(A()){let n=e||!z.offsetHeight?0:Math.max(0,t.getBoundingClientRect().bottom-z.getBoundingClientRect().top),r=an.hidden?0:Math.max(0,t.getBoundingClientRect().bottom-an.getBoundingClientRect().top);nn.style.bottom=`${Math.max(n,r)+16}px`;return}let n=e?0:z.offsetHeight;if(n>0&&Fm(a,A())===`overlay`){let e=1/0;for(let n of z.querySelectorAll(`:scope > *, [data-persona-composer-header] > *`))!n.hidden&&n.offsetHeight&&getComputedStyle(n).visibility!==`hidden`&&(e=Math.min(e,vn(n,t)));e<1/0&&(n-=e-vn(z,t))}nn.style.bottom=`${n+(e?0:_n())+16}px`};yn();let bn=()=>{if(!A())return;let e=z.style.display===`none`?0:z.offsetHeight;e>0?M.style.setProperty(`--persona-measured-pill-area-height`,`${e+8}px`):M.style.removeProperty(`--persona-measured-pill-area-height`),M.style.setProperty(`--persona-pill-bottom`,a.launcher?.composerBar?.bottomOffset??`16px`)},xn=()=>{tr||(z.style.marginBottom=hn>0?`${hn}px`:``)},Sn=()=>{let t=Fm(a,A()),n=pn();e.setAttribute(`data-persona-welcome-fullscreen`,String(fn())),e.setAttribute(`data-persona-welcome-layout`,n.layout??`top`),e.setAttribute(`data-persona-welcome-layout-explicit`,a.welcome?.layout??``),e.setAttribute(`data-persona-welcome-anchor`,n.anchor??`bottom`);let r=z.style.display===`none`?0:z.offsetHeight,i=n.anchor===`center`&&mn===`empty`?Im(n.anchorComposerTop)??Im(`44%`):null,o=i!==null&&n.layout===`centered`&&a.welcome?.anchor===void 0&&a.welcome?.anchorComposerTop===void 0,s=o?getComputedStyle(I):null,c=parseFloat(e.style.getPropertyValue(`--persona-composer-overlay-height`))||0,l=parseFloat(e.style.getPropertyValue(`--persona-composer-lift`))||0,u=Math.max(0,(parseFloat(s?.paddingBottom??``)||0)-(t===`overlay`?c+l:0)),d=o?I.getBoundingClientRect().top-F.getBoundingClientRect().top:0,f=!o||Dt.hidden?0:(Dt.querySelector(`[data-persona-welcome-plugin]`)??Dt).offsetHeight,p=i===null||A()?0:o?Math.max(0,Math.round((F.clientHeight-d-f-u-r)/2)):Lm({columnHeight:F.clientHeight,footerHeight:r,fraction:i});e.style.setProperty(`--persona-composer-overlay-height`,`${r}px`),e.style.setProperty(`--persona-composer-lift`,`${t===`overlay`?p:0}px`),hn=t===`block`?p:0,xn(),bn(),yn(),ki()};tn.update(a,!1);let U=null,Cn=null,W=Xf();W.subscribe(e=>{try{F.dispatchEvent(new CustomEvent(`persona:composer:state`,{detail:{...e,instanceId:r},bubbles:!0,composed:!0}))}catch{}});let wn=()=>{W.setText(R?.value??``)},Tn=()=>{W.setMentionRefs(Cn?.getMentionRefs()??[])},En=e=>({id:e.id,name:e.file.name,mimeType:e.file.type,size:e.file.size,status:e.status,progress:e.progress,error:e.error}),Dn=()=>({allowedTypes:a.attachments?.allowedTypes,maxFileSize:a.attachments?.maxFileSize,maxFiles:a.attachments?.maxFiles,adapter:a.attachments?.adapter,onFileRejected:a.attachments?.onFileRejected,instanceId:r,widgetConfig:a,preview:a.attachments?.preview,renderAttachmentPreview:On}),On=e=>{for(let t of Jv.getForInstance(a.plugins))try{let n=t.renderAttachmentPreview?.(e);if(n)return n}catch(e){console.error(`[AgentWidget] plugin ${t.id} attachment preview failed:`,e)}return null},kn=()=>{let e=qf.fromConfig(a.attachments,t=>{U===e&&An(t)});return e.updateConfig(Dn()),e},An=e=>{let t=Object.freeze(e.map(En));W.setAttachments(t);try{a.attachments?.onChange?.(t)}catch(e){console.error(`[AgentWidget] attachments.onChange failed:`,e)}Ks()};W.setSelectedModelId(a.composer?.selectedModelId);let jn=()=>a.composer?.modes??[],Mn=()=>hp(jn(),a.composer?.modeGroups,!!a.future?.v5Defaults);{let e=vp(a.composer?.defaultActiveModeIds??[],jn());e.length&&W.setActiveModeIds(e)}function Nn(e){if(W.getState().selectedModelId!==e){W.setSelectedModelId(e),In?.repaint();try{a.composer?.onModelChange?.(e)}catch(e){console.error(`[AgentWidget] composer.onModelChange failed:`,e)}}}function Pn(e){W.setActiveModeIds(e),Ln?.render(e,Mn()),In?.repaint(),pr?.resolve(),Fc(),Cr()}function Fn(t){let n=e.getRootNode(),r=n instanceof ShadowRoot?n.activeElement:e.ownerDocument.activeElement,i=fp(t),o=pr?.getOverflowMenu(),s=r&&(r.closest(`[data-persona-composer-action]`)?.getAttribute(`data-persona-composer-action`)===i||o?.trigger.contains(r));if(Pn(_p(W.getState().activeModeIds,t,jn(),a.composer?.modeGroups)),s&&!r.isConnected){let t=Array.from(e.querySelectorAll(`[data-persona-composer-action]`)).find(e=>e.getAttribute(`data-persona-composer-action`)===i)?.querySelector(`button`)??pr?.getOverflowMenu()?.triggerButton;t?.isConnected&&t.focus()}}let In=null,Ln=null,Rn=null;function zn(e){W.setQuote(e),Rn?.render(W.getState().quote),Cr(),_o()}let Bn=!1;function Hn(){let e=a.composer?.streamingSubmitBehavior??`block`;return e===`interrupt`?a.clientToken?`interrupt`:(!Bn&&a.debug===!0&&(Bn=!0,typeof console<`u`&&console.warn(`[persona] composer.streamingSubmitBehavior "interrupt" requires the client-token transport; falling back to "block".`)),`block`):e}let Un=null;function Wn(e){W.setPendingSubmission(e),Un?.render(W.getState().pendingSubmission),Cr()}let Gn=()=>(In??=Nl().createComposerCoreControls({getConfig:()=>a,getState:()=>W.getState(),getModes:jn,getChipModes:Mn,hasComposerPlugin:()=>S.some(e=>e.renderComposer),renderIcon:G,onModelChange:Nn,onModeChange:Fn}),In.collect()),Kn=null,qn=S.find(e=>e.renderHeader);if(qn?.renderHeader){let e=qn.renderHeader({config:a,defaultRenderer:()=>{let e=sg({config:a,showClose:Ne()});return cg(F,e,a),e.header},onClose:()=>zs(!1,`user`)});if(e){let t=Lt;t&&(t.replaceWith(e),Lt=e,yt.header.element=e)}}let Jn=()=>{tt&&(I.style.display=`none`,z.parentNode?.insertBefore(tt.element,z),tt.update())},Yn=()=>{if(!Ze){st();return}if(Yo.cancel(),nt=!0,tt?Jn():ov().then(e=>{!tt&&nt&&Ze&&(tt=e.createEventStreamView({scroll:{createScrollToLatest:Mu,createScrollToBottomControl:Nu},buffer:Ze,getFullHistory:()=>Ze.getAllFromStore(),onClose:()=>Xn(),config:a,plugins:S,getThroughput:()=>Qe?.getMetric()??{status:`idle`},renderIconByName:G,getResponseActive:Oo,getConfig:()=>a,getViewVisible:()=>nt}),Jn())}).catch(()=>{Xn()}),Qn){Qn.style.boxShadow=`inset 0 0 0 1.5px ${ig.actionIconColor}`;let e=a.features?.eventStream?.classNames?.toggleButtonActive;e&&e.split(/\s+/).forEach(e=>e&&Qn.classList.add(e))}let e=()=>{if(!nt)return;let t=Date.now();t-it>=200&&(tt?.update(),it=t),rt=requestAnimationFrame(e)};it=0,rt=requestAnimationFrame(e),Ho(),O.emit(`eventStream:opened`,{timestamp:Date.now()})},Xn=()=>{if(nt){if(nt=!1,tt&&(tt.update(),tt.element.remove()),I.style.display=``,Qn){Qn.style.boxShadow=``;let e=a.features?.eventStream?.classNames?.toggleButtonActive;e&&e.split(/\s+/).forEach(e=>e&&Qn.classList.remove(e))}rt!==null&&(cancelAnimationFrame(rt),rt=null),Ho(),O.emit(`eventStream:closed`,{timestamp:Date.now()})}},Qn=null;if(Ge){let e=a.features?.eventStream?.classNames,t=`persona-inline-flex persona-items-center persona-justify-center persona-rounded-full hover:persona-opacity-80 persona-cursor-pointer persona-border-none persona-bg-transparent persona-p-1`+(e?.toggleButton?` `+e.toggleButton:``);Qn=q(`button`,t),Qn.style.width=`28px`,Qn.style.height=`28px`,Qn.style.color=ig.actionIconColor,Qn.type=`button`,Qn.setAttribute(`aria-label`,`Event Stream`),Qn.title=`Event Stream`;let n=gn(i,`18px`,`currentColor`,1.5);n&&Qn.appendChild(n);let r=P.clearChatButtonWrapper,o=P.closeButtonWrapper,s=r||o;s&&s.parentNode===Lt?Lt.insertBefore(Qn,s):Lt.appendChild(Qn),Qn.addEventListener(`click`,()=>{nt?Xn():Yn()})}let $n=e=>{let t=a.attachments;if(!t?.enabled)return;let n=e.querySelector(`[data-persona-composer-attachment-previews]`)??e.querySelector(`.persona-attachment-previews`);if(!n){n=q(`div`,`persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2`),n.setAttribute(`data-persona-composer-attachment-previews`,``),n.style.display=`none`;let t=e.querySelector(`[data-persona-composer-form]`);t?.parentNode?t.parentNode.insertBefore(n,t):e.insertBefore(n,e.firstChild)}if(!(e.querySelector(`[data-persona-composer-attachment-input]`)??e.querySelector(`input[type="file"]`))){let n=q(`input`);n.type=`file`,n.setAttribute(`data-persona-composer-attachment-input`,``),n.accept=(t.allowedTypes??Gs).join(`,`),n.multiple=(t.maxFiles??4)>1,n.style.display=`none`,n.setAttribute(`aria-label`,t.buttonTooltipText??`Attach files`),e.appendChild(n)}},tr=!1,nr=e=>{let t=S.find(e=>e.renderComposer);if(!t?.renderComposer)return null;let n=a.composer,r=w?Z.isStreaming():!1;return t.renderComposer({config:a,defaultRenderer:e,requestRender:()=>Df(),storage:te(t.id),onSubmit:e=>{Z&&!Z.isStreaming()&&Bu(e.trim(),{consumeDraft:!1})},streaming:r,disabled:r,openAttachmentPicker:()=>{Vs()||Wt?.click()},models:n?.models,selectedModelId:W.getState().selectedModelId??n?.selectedModelId,onModelChange:e=>Nn(e),onVoiceToggle:a.voiceRecognition?.enabled===!0?()=>{Kn?.()}:void 0})},rr=nr(()=>gg({config:a}).footer);rr&&(yt.replaceComposer(rr),z=yt.composer.footer,tr=!0);let K=null,ir=e=>{Tt=e.form,R=e.input,B=e.sendButton?e.sendButton.parentElement:null,e.sendButton&&(wt=e.sendButton),e.micButton&&(V=e.micButton,H=e.micButton.parentElement),e.found.status&&(Et=e.found.status),e.found.suggestions&&(Ct=e.found.suggestions),e.attachmentButton&&(Ht=e.attachmentButton,Ut=e.attachmentButton.parentElement),Wt=e.attachmentInput??null,Gt=e.attachmentPreviews??null,e.found.actionsRow&&(Rt=e.found.actionsRow),zt=e.found.actionsStart,Bt=e.found.actionsEnd};function ar(){let e=R;if(!e)return;let t=a.composer?.inputAttributes,n=!t?.ariaLabel&&!(e instanceof HTMLTextAreaElement)?e.getAttribute(`aria-label`):null;tc(e,t),n&&e.setAttribute(`aria-label`,n),ec(e,{submitKey:a.composer?.submitKey,insertNewlineOnTouchEnter:a.composer?.insertNewlineOnTouchEnter,coarsePointer:Xs(e)}),Ys(e,Js(a.composer?.maxLines,A()?5:3))}let or=e=>{K=Qf(e,{debug:a.debug===!0}),K&&ir(K),ar()};$n(z),or(z),wn();let sr=Pm(a,A());sr&&(L.style.maxWidth=sr,L.style.marginLeft=`auto`,L.style.marginRight=`auto`,L.style.width=`100%`,kt.style.maxWidth=sr,kt.style.marginLeft=`auto`,kt.style.marginRight=`auto`,kt.style.width=`100%`,xt.style.maxWidth=sr,St.style.maxWidth=sr,St.style.marginLeft=`auto`,St.style.marginRight=`auto`,St.style.width=`100%`);let cr=()=>{let e=Pm(a,A());if(e&&!A())for(let t of[Tt,Ct,Gt,Et])t&&(t.style.maxWidth=e,t.style.marginLeft=`auto`,t.style.marginRight=`auto`,t.style.width=`100%`)};cr();let lr=()=>{a.attachments?.enabled&&Wt&&Gt&&(U?U.remountPreviews(Gt):(U=kn(),U.setPreviewsContainer(Gt)),K?.addListener(Wt,`change`,e=>{let t=e.target;U?.handleFileSelect(t.files),t.value=``}),F.querySelector(`.persona-attachment-drop-overlay`)||F.appendChild(Zy(a.attachments.dropOverlay)))};lr();let dr=()=>Cn?.prefetch(),fr=()=>{if(!a.contextMentions?.enabled||!R)return;let e=Hc();if(!e){let e=R;Bc().then(()=>{!Cn&&R===e&&e.isConnected&&(fr(),pr?.resolve())},()=>{});return}let t=K?.header??null,n=t?ap(t):void 0;if(Cn=e.createContextMentionOrchestrator({deps:{loadContextMentions:Cc,loadContextMentionsInline:Dc,renderLucideIcon:G,createMentionButton:yc},config:a,textarea:R,anchor:Tt??R,getMessages:()=>Z.getMessages(),liveRegionHost:F,chipRow:n}),Cn&&!n){let e=R;e.parentElement?.insertBefore(Cn.contextRow,e)}};fr();let pr=null,mr={getState:()=>W.getState(),getValue:()=>R?.value??``,setValue:e=>{R&&(R.value=e,R.dispatchEvent(new Event(`input`,{bubbles:!0})),wn())},submit:()=>{Tp(K?.form??null)},openAttachmentPicker:()=>{Vs()||Wt?.click()},toggleVoice:()=>{Kn?.()},requestRender:()=>pr?.resolve()},hr=()=>{let e=[];return(Cn?.affordanceButtons??[]).forEach((t,n)=>{e.push({id:`core:mention-${n}`,placement:`start`,order:rp.mention+n,element:t,managed:!0})}),Ut&&e.push({id:`core:attachment`,placement:`start`,order:rp.attachment,element:Ut}),H&&e.push({id:`core:mic`,placement:`end`,order:rp.mic,element:H}),B&&e.push({id:`core:send`,placement:`end`,order:rp.send,element:B}),e},gr=!1,_r=()=>{if(gr)return;let e=Nl();e&&(pr?.destroy(),pr=e.createComposerActionRenderer({deps:{renderLucideIcon:G,attachTooltip:Co,hideTooltipFor:So},getBindings:()=>K,collect:()=>({builtIns:hr(),configActions:[...Gn(),...a.composer?.actions??[]],plugins:S,contributionContext:{config:a,getState:()=>W.getState(),requestRender:()=>pr?.resolve()},debug:a.debug===!0}),actionContext:mr,getState:()=>W.getState(),getOverflow:()=>a.composer?.actionOverflow,reportError:(e,t)=>{typeof console<`u`&&console.error(`[AgentWidget] composer action "${t.actionId}" failed:`,e)}}),pr.resolve())};_r();let vr=()=>{if(Ln?.destroy(),Ln=null,!Mn().length)return;let e=K?.header;if(!e)return;let t=Nl();t&&(Ln=t.createComposerModeChipRow({renderIcon:G,row:ap(e),onRemove:e=>Fn(e),initialIds:W.getState().activeModeIds}),Ln.render(W.getState().activeModeIds,Mn()))};vr();let yr=()=>{Rn?.destroy(),Rn=null,Un?.destroy(),Un=null;let e=K?.header;e&&(Rn=op({onDismiss:()=>zn(void 0)}),e.appendChild(Rn.element),Rn.render(W.getState().quote),Hn()===`defer-one`&&(Un=sp({onEdit:()=>cu(),onRemove:()=>Wn(void 0)}),e.appendChild(Un.element),Un.render(W.getState().pendingSubmission)))};yr();let br=Cp(),xr=np({getSurface:()=>A()||!K?null:{form:K.form,input:K.input,start:K.actionsStart,end:K.actionsEnd,resizeInput:a.composer?.layout===`single-row`},onMeasure:()=>Cr()}),Sr=()=>{let e=K?.header?.querySelector(ip);if(e)return e.childElementCount>0;let t=W.getState();return t.mentionRefs.length>0||vp(t.activeModeIds,Mn()).length>0};function Cr(){let e=W.getState(),t=xr.measure(),n=a.composer?.layout!==`single-row`&&a.composer?.attachmentLayout!==`single-row`||t,r=xr.toolbarCrowded();z.hasAttribute(`data-persona-composer-crowded`)!==r&&z.toggleAttribute(`data-persona-composer-crowded`,r),z.hasAttribute(`data-persona-composer-fit`)!==n&&z.toggleAttribute(`data-persona-composer-fit`,n);let i=br.observe(n&&wp(R),e.text);z.toggleAttribute(`data-persona-has-attachments`,e.attachments.length>0),z.toggleAttribute(`data-persona-attachment-row-compact`,Sp({text:e.text,wrapped:i,hasAttachments:!1,hasChips:Sr(),hasQuote:e.quote!==void 0,hasPendingSubmission:e.pendingSubmission!==void 0}));let o=Sp({text:e.text,wrapped:i,hasAttachments:e.attachments.length>0,hasChips:Sr(),hasQuote:e.quote!==void 0,hasPendingSubmission:e.pendingSubmission!==void 0});z.hasAttribute(`data-persona-composer-compact`)!==o&&z.toggleAttribute(`data-persona-composer-compact`,o);let s=!o||!n||a.composer?.layout!==`single-row`;z.hasAttribute(`data-persona-composer-expanded`)!==s&&z.toggleAttribute(`data-persona-composer-expanded`,s)}function wr(){a.composer?.layout===`single-row`&&!A()?z.setAttribute(`data-persona-composer-layout`,`single-row`):z.removeAttribute(`data-persona-composer-layout`),a.composer?.attachmentLayout?z.setAttribute(`data-persona-attachment-layout`,a.composer.attachmentLayout):z.removeAttribute(`data-persona-attachment-layout`),Cr()}wr(),W.subscribe(()=>{pr?.sync(),Ks(),qs(),Cr(),_o()}),qs();let Tr=!1,Er=e=>{if(Tr||a.debug!==!0)return;let t=[`messages`,`composer`].filter(t=>e[t]);t.length&&(Tr=!0,console.warn(`[persona] Ignoring deprecated layout.slots.${t.join(` / layout.slots.`)}. Use message render hooks or the renderComposer plugin hook.`))},Dr=/* @__PURE__ */ new Map,Or=/* @__PURE__ */ new Map,kr=e=>{let t=Dr.get(e);if(t)return t.element;let n=null;if(e===`body-top`&&(n=I.querySelector(`[data-persona-intro-card]`)),e===`messages`)return L;if(e===`composer`)return Tt;if(e===`footer-top`&&(n=Ct),e===`footer-bottom`&&(n=Et),n?.parentNode){let t=document.createComment(`persona:${e}`);n.before(t),Dr.set(e,{anchor:t,element:n})}return n},Ar=Pu({config:()=>a,defaultContent:kr,remove(e,t){if(e===`messages`||e===`composer`)return;t?.remove(),Or.get(e)?.remove(),Or.delete(e);let n=Dr.get(e);n&&(n.anchor.replaceWith(n.element),Dr.delete(e))},mount(e,t){if(e!==`messages`&&e!==`composer`&&!(t.parentNode&&M.contains(t))){if(e===`body-top`||e===`footer-top`||e===`footer-bottom`){let n=kr(e),r=Dr.get(e);if(n&&r?.anchor.parentNode){r.anchor.after(t),n!==t&&!t.contains(n)&&n.remove();return}}switch(e){case`header-left`:Lt.prepend(t);break;case`header-right`:Lt.append(t);break;case`header-center`:{let e=Lt.querySelector(`.persona-flex-col`);e?e.after(t):Lt.append(t);break}case`body-top`:I.prepend(t);break;case`body-bottom`:I.append(t);break;case`footer-top`:z.prepend(t);break;case`footer-bottom`:z.append(t);break;case`transcript-top`:{let n=document.createElement(`div`);n.setAttribute(`data-persona-layout-slot`,e),n.style.cssText=`width:100%;min-width:0;max-width:var(--persona-content-max-width, 100%);margin-inline:auto;flex-shrink:0`,n.append(t),L.before(n),Or.set(e,n);break}case`composer-start`:case`composer-end`:case`composer-before-send`:{let n=e===`composer-start`?zt:e===`composer-end`?Bt:B?.parentElement;if(!n)break;let r=document.createElement(`div`);r.setAttribute(`data-persona-layout-slot`,e),r.style.cssText=`display:flex;align-items:center;min-width:0;max-width:100%`,r.append(t),e===`composer-start`?n.prepend(r):e===`composer-before-send`?B?.before(r):n.append(r),Or.set(e,r);break}}}}});Er(a.layout?.slots??{}),Ar.update();let jr=t=>{if(!a.onLinkClick||t.defaultPrevented||t.button!==0||t.ctrlKey||t.metaKey||t.shiftKey||t.altKey)return;let n=t.target;if(!(n instanceof Element))return;let r=n.closest(`a[href]`);if(!r||!e.contains(r)||r.hasAttribute(`download`)||r.closest(`[data-persona-root]`)!==e)return;let i=r.getAttribute(`target`)??r.ownerDocument.querySelector(`base[target]`)?.getAttribute(`target`);if(!(i&&i.toLowerCase()!==`_self`)&&/^(https?:|mailto:|tel:)/i.test(r.href))try{a.onLinkClick({url:r.href,anchor:r,originalEvent:t,preventDefault:()=>t.preventDefault()})}catch(e){console.error(`[AgentWidget] onLinkClick failed:`,e)}};e.addEventListener(`click`,jr),L.addEventListener(`click`,e=>{let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`button[data-persona-copy-tool-detail]`);n&&(e.preventDefault(),e.stopPropagation(),Z_(n))}),L.addEventListener(`click`,e=>{let t=e.target;t instanceof Element&&t.closest(`.persona-approval-head[data-action="toggle-params"]`)&&(Ga(),Uo())},{capture:!0});let Mr=(e,t)=>{let n=e.querySelector(`[${yg}]`),r=e.getAttribute(`data-message-id`);n&&r&&(Ga(),Uo(),g.set(r,t),ps(e,n,r,{state:t?`expanded`:`collapsed`,maxHeight:Sg(a),...Cg(a)},`toggle`))};L.addEventListener(`click`,e=>{let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`button[${bg}]`),r=n?.closest(`[data-message-id]`);n&&r&&(e.preventDefault(),Mr(r,n.getAttribute(`aria-expanded`)!==`true`))}),L.addEventListener(`focusin`,e=>{let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`[${yg}="collapsed"]`)?.closest(`[data-message-id]`);n&&Mr(n,!0)});let Nr=e=>{let t=e.target.closest(`button[data-expand-header="true"]`);t&&Pr(t)},Pr=e=>{let t=e.closest(`.persona-reasoning-bubble, .persona-tool-bubble, .persona-approval-bubble`);if(!t)return;let n=t.getAttribute(`data-message-id`);if(!n)return;Ga(),Uo();let r=Ia;r&&Eo();let i=r&&c?.holdScroll(t,I,r,ns,ts,qa,()=>Ia===r),o=e.getAttribute(`data-bubble-type`);if(t.classList.contains(`persona-activity-row`)){u?.manual(n);let e=t.parentElement?.closest(`[data-persona-tool-group]`);e?.dataset.messageId&&u?.manual(e.dataset.messageId)}if(o===`reasoning`||o===`tool`){let e=o===`reasoning`,r=e?p:f;r.has(n)?r.delete(n):r.add(n),c&&(e?c.updateReasoningBubbleUI:c.updateToolBubbleUI)(n,t,r,a)}else if(o===`approval`&&T){let e=((a.approval===!1?void 0:a.approval)?.detailsDisplay??`collapsed`)===`expanded`,r=m.get(n)??e;m.set(n,!r),T.updateApprovalDetailsUI(n,t,a,m)}i?.(),ma.delete(n)};L.addEventListener(`pointerdown`,e=>{e.target.closest(`button[data-expand-header="true"]`)&&(e.preventDefault(),Nr(e))}),L.addEventListener(`click`,e=>{e.detail===0&&e.target.closest(`.persona-activity-row`)&&Nr(e)}),L.addEventListener(`keydown`,e=>{let t=e.target;(e.key===`Enter`||e.key===` `)&&t.closest(`button[data-expand-header="true"]`)&&(e.preventDefault(),Nr(e))}),L.addEventListener(`copy`,e=>{let{clipboardData:t}=e;if(!t)return;let n=L.getRootNode(),r=typeof n.getSelection==`function`?n.getSelection():window.getSelection();if(!r||r.isCollapsed)return;let i=r.toString(),a=Ym(i);a&&a!==i&&(t.setData(`text/plain`,a),e.preventDefault())});let Fr=/* @__PURE__ */ new Map,Ir=/* @__PURE__ */ new Map,Lr,Rr=0,zr=()=>{L.querySelectorAll(`.persona-tool-bubble[data-tool-call-id]`).forEach(e=>{e.toggleAttribute(`data-persona-revealed`,Ir.has(e.dataset.messageId))})},Br=()=>{window.clearTimeout(Lr),Lr=void 0,Ir.forEach(e=>window.clearTimeout(e)),Ir.clear(),zr()},Vr=null,Hr=`idle`,Ur={idle:{icon:`volume-2`,label:`Read aloud`},loading:{icon:`loader-circle`,label:`Loading…`},playing:{icon:`pause`,label:`Pause`},paused:{icon:`play`,label:`Resume`}},Wr=(e,t)=>{let{icon:n,label:r}=Ur[t];e.setAttribute(`aria-label`,r),e.title=r,e.setAttribute(`aria-pressed`,t===`idle`?`false`:`true`),e.classList.toggle(`persona-message-action-active`,t!==`idle`),e.classList.toggle(`persona-message-action-loading`,t===`loading`);let i=G(n,14,`currentColor`,2);i&&(e.innerHTML=``,e.appendChild(i))},Gr=()=>{L.querySelectorAll(`[data-action="read-aloud"]`).forEach(e=>{let t=e.closest(`[data-actions-for]`)?.getAttribute(`data-actions-for`)??null;Wr(e,t&&t===Vr?Hr:`idle`)})};L.addEventListener(`click`,e=>{let t=e.target.closest(`.persona-message-action-btn[data-action]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.closest(`[data-actions-for]`);if(!n)return;let r=n.getAttribute(`data-actions-for`);if(!r)return;let i=t.getAttribute(`data-action`);if(i===`copy`){let e=Z.getMessages().find(e=>e.id===r);if(e&&gt.onCopy){let n=e.content||``;navigator.clipboard.writeText(n).then(()=>{t.classList.add(`persona-message-action-success`);let e=gn(x,14,`currentColor`,2);e&&(t.innerHTML=``,t.appendChild(e)),setTimeout(()=>{t.classList.remove(`persona-message-action-success`);let e=gn(ae,14,`currentColor`,2);e&&(t.innerHTML=``,t.appendChild(e))},2e3)}).catch(e=>{typeof console<`u`&&console.error(`[AgentWidget] Failed to copy message:`,e)}),gt.onCopy(e)}}else if(i===`read-aloud`)Z.toggleReadAloud(r);else if(i===`upvote`||i===`downvote`){let e=(Fr.get(r)??null)===i,a=i===`upvote`?`thumbs-up`:`thumbs-down`;if(e){Fr.delete(r),t.classList.remove(`persona-message-action-active`);let e=G(a,14,`currentColor`,2);e&&(t.innerHTML=``,t.appendChild(e))}else{let e=i===`upvote`?`downvote`:`upvote`,o=n.querySelector(`[data-action="${e}"]`);if(o){o.classList.remove(`persona-message-action-active`);let t=G(e===`upvote`?`thumbs-up`:`thumbs-down`,14,`currentColor`,2);t&&(o.innerHTML=``,o.appendChild(t))}Fr.set(r,i),t.classList.add(`persona-message-action-active`);let s=G(a,14,`currentColor`,2);s&&(s.setAttribute(`fill`,`currentColor`),t.innerHTML=``,t.appendChild(s)),t.classList.remove(`persona-message-action-pop`),t.offsetWidth,t.classList.add(`persona-message-action-pop`);let c=Z.getMessages().find(e=>e.id===r);c&&gt.onFeedback&&gt.onFeedback({type:i,messageId:c.id,message:c})}}else if(i===`regenerate`)J?.regenerate(r);else if(i===`edit`)J?.edit(r);else if(i===`quote`)J?.quote(r);else if(i?.startsWith(`custom:`)){let e=i.slice(7),t=a.messageActions?.custom?.find(t=>t.id===e),n=Z.getMessages().find(e=>e.id===r);if(!t||!n)return;try{t.onSelect(n)}catch(t){console.error(`[AgentWidget] messageActions.custom "${e}" onSelect failed:`,t)}}});let J=null;L.addEventListener(`click`,e=>{let t=e.target.closest(`button[data-approval-action]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.closest(`.persona-approval-bubble`);if(!n)return;let r=n.getAttribute(`data-message-id`);if(!r)return;let i=t.getAttribute(`data-approval-action`);if(!i)return;let a=i===`approve`?`approved`:`denied`,o=Z.getMessages().find(e=>e.id===r);if(!o?.approval)return;let s=n.querySelector(`[data-approval-buttons]`);s&&s.querySelectorAll(`button`).forEach(e=>{e.disabled=!0,e.style.opacity=`0.5`,e.style.cursor=`not-allowed`}),Fu(o.approval)?Z.resolveWebMcpApproval(r,a):Z.resolveApproval(o.approval,a)});let Y=null,Kr=!1,qr=null,Jr=()=>{},Yr=`none`,Xr=null,Zr={artifacts:[],selectedId:null},Qr=!1,$r=!1,ei=!1,ti=!1,ni=()=>ti||Zr.artifacts.some(e=>Zn(a.features?.artifacts,e)===`panel`),ri=()=>Zr.artifacts.length>0&&!Qr&&ni(),ii={current:null},ai=(e,t)=>{let n=Z.getArtifactById(t),r=n?.markdown,i=n?.title||`artifact`,a=n?.file,o=n?.artifactType??`markdown`;if(!r){let t=(e.closest(`[data-open-artifact], [data-artifact-inline]`)?.closest(`[data-message-id]`))?.getAttribute(`data-message-id`);if(t){let e=Z.getMessages().find(e=>e.id===t);if(e?.rawContent)try{let t=JSON.parse(e.rawContent);r=t?.props?.markdown,i=t?.props?.title||i,t?.props?.file&&typeof t.props.file==`object`&&(a=t.props.file),!n&&typeof t?.props?.artifactType==`string`&&(o=t.props.artifactType)}catch{}}}return{markdown:r,title:i,file:a,artifactType:o}};L.addEventListener(`click`,e=>{let t=e.target.closest(`[data-download-artifact]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.getAttribute(`data-download-artifact`);if(!n||a.features?.artifacts?.onArtifactAction?.({type:`download`,artifactId:n})===!0)return;let{markdown:r,title:i,file:o}=ai(t,n);if(!r)return;let s=uu();s&&s.triggerArtifactDownload(s.downloadInfoFor({title:i,markdown:r,file:o}))}),L.addEventListener(`click`,e=>{let t=e.target.closest(`[data-artifact-custom-action]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.getAttribute(`data-artifact-custom-action`);if(!n)return;let r=t.closest(`[data-artifact-inline]`),i=r?null:t.closest(`[data-open-artifact]`),o=r?r.getAttribute(`data-artifact-inline`):i?.getAttribute(`data-open-artifact`)??null,s=(r?a.features?.artifacts?.inlineActions:a.features?.artifacts?.cardActions)?.find(e=>e.id===n);if(!s)return;let{markdown:c,title:l,file:u,artifactType:d}=ai(t,o??``),f={artifactId:o,title:l,artifactType:d,markdown:c,file:u};try{Promise.resolve(s.onClick(f)).catch(()=>{})}catch{}}),L.addEventListener(`click`,e=>{let t=e.target.closest(`[data-copy-artifact]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.getAttribute(`data-copy-artifact`);if(!n)return;let r=Z.getArtifactById(n),i=uu();if(!i)return;let a=``;if(r)a=i.artifactCopyText(r);else{let{markdown:e,file:r,artifactType:o}=ai(t,n);o===`markdown`&&(a=i.artifactCopyText({id:n,artifactType:`markdown`,status:`complete`,markdown:e??``,...r?{file:r}:{}}))}a&&navigator.clipboard.writeText(a).then(()=>{let e=gn(x,16,`currentColor`,2);e&&(t.replaceChildren(e),setTimeout(()=>{let e=gn(ae,16,`currentColor`,2);e&&t.replaceChildren(e)},1500))}).catch(()=>{})}),L.addEventListener(`click`,e=>{let t=e.target.closest(`[data-expand-artifact-inline]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.getAttribute(`data-expand-artifact-inline`);n&&a.features?.artifacts?.onArtifactAction?.({type:`open`,artifactId:n})!==!0&&(Qr=!1,ti=!0,$r=!0,ei=!0,Z.selectArtifact(n),Ti())}),L.addEventListener(`click`,e=>{let t=e.target;if(t.closest(`[data-download-artifact]`)||t.closest(`[data-artifact-custom-action]`))return;let n=t.closest(`[data-open-artifact]`);if(!n)return;let r=n.getAttribute(`data-open-artifact`);r&&a.features?.artifacts?.onArtifactAction?.({type:`open`,artifactId:r})!==!0&&(e.preventDefault(),e.stopPropagation(),Qr=!1,ti=!0,Z.selectArtifact(r),Ti())}),L.addEventListener(`keydown`,e=>{if(e.key!==`Enter`&&e.key!==` `)return;let t=e.target;(t.hasAttribute(`data-open-artifact`)||t.hasAttribute(`data-expand-artifact-inline`))&&(e.preventDefault(),t.click())});let oi=P.composerOverlay,si=e=>{Bc().catch(()=>{}),Hi(e,a,oi)},ci=null,li={instanceId:r,mount:e,overlay:oi,sessionRef:ii,config:()=>a},ui=!1,di=e=>t=>{let n=t.target,r=n?.closest?.(`[data-persona-ask-sheet-for]`);if(!r||!(e===`click`?n?.closest(`[data-ask-user-action]`):t.key===`Enter`&&n?.matches?.(`[data-ask-free-text-input="true"]`)))return;let i=n=>{ci??=n.createAskUserSheetHandlers(li),ci[e](t)},a=Hc();a?i(a):ui||(ui=!0,Bc().then(e=>{ui=!1,r.isConnected&&i(e)},()=>{ui=!1}))};oi.addEventListener(`click`,di(`click`)),oi.addEventListener(`keydown`,di(`keydown`));let fi=e=>{if(!/^[1-9]$/.test(e.key)||e.metaKey||e.ctrlKey||e.altKey)return;let t=e.target;if(t?.tagName===`INPUT`||t?.tagName===`TEXTAREA`||t?.isContentEditable)return;let n=oi.querySelector(`[data-persona-ask-sheet-for]`);if(!n||n.getAttribute(`data-ask-layout`)!==`rows`||n.getAttribute(`data-multi-select`)===`true`)return;let r=Number(e.key),i=n.querySelectorAll(`[data-ask-pill-list="true"] [data-ask-user-action="pick"], [data-ask-pill-list="true"] [data-ask-user-action="focus-free-text"]`)[r-1];i&&(e.preventDefault(),i.click())};document.addEventListener(`keydown`,fi);let mi=null,gi=null,_i=()=>{},vi=!1,yi=``,bi=``,xi=()=>{let e=ll?.railShell?ll.railHost:null,t=e?.isConnected?e:null,n=t?t.getBoundingClientRect().width:0;return n<=0?200:n+360},Si=()=>{},Ci=()=>{let t=e.ownerDocument.defaultView??window,n=a.launcher?.mobileFullscreen??!0,r=a.launcher?.mobileBreakpoint??640;return!n||t.innerWidth>r?!1:Ee||zh(a)},wi=()=>!cv(a)||!ri()||e.classList.contains(`persona-artifact-narrow-host`)||Ci()||(e.ownerDocument.defaultView??window).innerWidth<641?`none`:pv(a)?`detached`:`welded`,Ti=()=>{if(!Y||!cv(a))return;mv(e,a),hv(e,a),Si();let t=a.features?.artifacts?.layout?.narrowHostMaxWidth??520,n=N.getBoundingClientRect().width||0;e.classList.toggle(`persona-artifact-narrow-host`,n>0&&n<=t);let r=ri();Y.setVisible(r),Y.update(Zr),Qr?(Y.setMobileOpen(!1),Y.element.classList.add(`persona-hidden`),Y.backdrop?.classList.add(`persona-hidden`),$r=!1,ei=!1):Zr.artifacts.length>0&&ni()?(Y.element.classList.remove(`persona-hidden`),Y.setMobileOpen(!0)):(Y.setMobileOpen(!1),Y.element.classList.add(`persona-hidden`),Y.backdrop?.classList.add(`persona-hidden`),$r=!1,ei=!1);let i=a.features?.artifacts?.layout?.showExpandToggle===!0;if(Y.setExpandToggleVisible(i),Y.setCopyButtonVisible(a.features?.artifacts?.layout?.showCopyButton===!0),Y.setRefreshButtonVisible(typeof a.features?.artifacts?.layout?.onDocumentToolbarRefresh==`function`),Y.setCustomActions(a.features?.artifacts?.toolbarActions??[]),Y.setStyleConfig(a),Y.setTabFade(a.features?.artifacts?.layout?.tabFade),Y.setRenderTabBar(a.features?.artifacts?.renderTabBar),!i&&!ei&&($r=!1),$r!==vi){let e=Y.element;$r?(yi=e.style.width,bi=e.style.maxWidth,e.style.removeProperty(`width`),e.style.removeProperty(`max-width`)):(yi&&(e.style.width=yi),bi&&(e.style.maxWidth=bi),yi=``,bi=``),vi=$r}e.classList.toggle(`persona-artifact-expanded`,$r),Y.setExpanded($r);let o=wi();o!==Yr&&(Yr=o,Jr()),_i()};if(cv(a)){N.style.position=`relative`;let t=q(`div`,`persona-flex persona-flex-1 persona-flex-col persona-min-w-0 persona-min-h-0`),n=q(`div`,`persona-flex persona-h-full persona-w-full persona-min-h-0 persona-artifact-split-root`);t.appendChild(F),mi=n,n.appendChild(t),N.appendChild(n);let r=t=>{Kr||Y||(Y=t.createArtifactPane(a,{onSelect:e=>ii.current?.selectArtifact(e),onDismiss:()=>{Qr=!0,Ti()},onToggleExpand:()=>{let e=!$r,t=Zr.selectedId??Zr.artifacts[Zr.artifacts.length-1]?.id??null;a.features?.artifacts?.onArtifactAction?.({type:`expand`,artifactId:t,expanded:e})!==!0&&($r=e,e||(ei=!1),Ti())}}),gi=t.createArtifactResizer({mount:e,splitRoot:n,pane:Y,getConfig:()=>a,chatMinWidth:xi,isVisible:ri}),Y.element.classList.add(`persona-hidden`),n.appendChild(Y.element),Y.backdrop&&N.appendChild(Y.backdrop),_i(),Ti())},i=uu();i?r(i):(du(()=>{let e=uu();e&&r(e)}),lu().catch(()=>{})),_i=()=>gi?.update(),Si=()=>{if(!Ee||!Y||(a.launcher?.sidebarMode??!1)||zh(a)&&Vh(a).reveal===`emerge`)return;let t=e.ownerDocument.defaultView??window,n=a.launcher?.mobileFullscreen??!0,r=a.launcher?.mobileBreakpoint??640;if(n&&t.innerWidth<=r||!gv(a,Ee))return;let i=E_(a).width,o=a.features?.artifacts?.layout?.expandedPanelWidth??`min(720px, calc(100vw - 24px))`;ri()?(N.style.width=o,N.style.maxWidth=o):(N.style.width=i,N.style.maxWidth=i)},typeof ResizeObserver<`u`&&(qr=new ResizeObserver(()=>{Ti()}),qr.observe(N))}else N.appendChild(F);A()&&bt&&(P.peekBanner&&bt.appendChild(P.peekBanner),bt.appendChild(z)),e.appendChild(M),bt&&e.appendChild(bt);let Ei=()=>{let t=Ci()||A()&&a.launcher?.composerBar?.expandedSize===`fullscreen`||a.launcher?.fullHeight===!0&&!a.launcher?.sidebarMode&&!zh(a);if(L.style.gap=t?`var(--persona-components-message-fullscreenGap, var(--persona-components-message-gap, 12px))`:`var(--persona-components-message-gap, 12px)`,L.style.setProperty(`--persona-transcript-gap`,L.style.gap),A()){N.style.width=`100%`,N.style.maxWidth=`100%`;let e=a.launcher?.composerBar??{},t=M.dataset.state===`expanded`,n=e.expandedSize??`anchored`;if(!(t&&n!==`fullscreen`)){F.style.background=``,F.style.border=``,F.style.borderRadius=``,F.style.overflow=``,F.style.boxShadow=``;return}let r=a.theme?.components?.panel,i=Dm(a),o=(e,t)=>e==null||e===``?t:Zp(i,e)??e;F.style.background=`var(--persona-surface, #ffffff)`,F.style.border=o(r?.border,`1px solid var(--persona-border)`),F.style.borderRadius=o(r?.borderRadius,`var(--persona-panel-radius, var(--persona-radius-xl, 0.75rem))`),F.style.boxShadow=o(r?.shadow,`var(--persona-palette-shadows-xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25))`),F.style.overflow=`hidden`;return}let n=zh(a),r=a.launcher?.sidebarMode??!1,i=us(a)||n||r||(a.launcher?.fullHeight??!1),o=a.launcher?.enabled===!1,s=a.launcher?.detachedPanel===!0,c=a.theme?.components?.panel,l=a.darkTheme?.components?.panel,u=wm(a)===`dark`?ur(c??{},l??{}):c,d=Dm(a),f=(e,t)=>e==null||e===``?t:Zp(d,e)??e,p=e.ownerDocument.defaultView??window,m=a.launcher?.mobileFullscreen??!0,h=a.launcher?.mobileBreakpoint??640,g=p.innerWidth<=h,_=m&&g&&Ee,v=n&&m&&g,y=a.launcher?.position??`bottom-left`,b=y===`bottom-left`||y===`top-left`,x=a.launcher?.zIndex??1e5,S=(e,t,n)=>`var(--persona-components-panel-modes-${e}-${t}, ${n})`,C=u?.modes?.floating,ee=f(C?.border??u?.border,S(`floating`,`border`,`var(--persona-panel-border, 1px solid var(--persona-border))`)),w=f(C?.shadow??u?.shadow,S(`floating`,`shadow`,`var(--persona-panel-shadow, var(--persona-palette-shadows-xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25)))`)),te=f(C?.borderRadius??u?.borderRadius,S(`floating`,`borderRadius`,`var(--persona-panel-radius, var(--persona-radius-xl, 0.75rem))`)),T=s&&!_&&!v,E=_||v?`mobile`:T?`floating`:n?`docked`:r?`sidebar`:o?`inline`:`floating`,ne=u?.modes?.[E];T?e.setAttribute(`data-persona-panel-detached`,`true`):e.removeAttribute(`data-persona-panel-detached`);let re=T?ee:r||_?`none`:ee,D=T?w:_?`none`:r?b?`2px 0 12px rgba(0, 0, 0, 0.08)`:`-2px 0 12px rgba(0, 0, 0, 0.08)`:o?`none`:w;n&&!_&&!T&&(D=`none`,re=`none`);let ie=T?te:r||_?`0`:te,ae=f(ne?.border??u?.border,S(E,`border`,re)),oe=f(ne?.shadow??u?.shadow,S(E,`shadow`,D)),se=f(ne?.borderRadius??u?.borderRadius,S(E,`borderRadius`,ie)),ce=wi(),le=ce===`detached`,ue=ce===`welded`;e.classList.toggle(`persona-artifact-detached-split`,le),e.classList.toggle(`persona-artifact-welded-split`,ue);let O=`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)))))`,k=(a.features?.artifacts?.layout?.chatSurface===`flush`?`flush`:`card`)==`flush`&&cv(a)&&pv(a)&&o&&!n;e.classList.toggle(`persona-artifact-chat-flush`,k);let de=le||k?`none`:oe,fe=le?ee:ue?`none`:ae,pe=le?te:se;k&&(fe=`none`,pe=`0`);let me=ne?.borderRadius!=null&&ne.borderRadius!==``||u?.borderRadius!=null&&u.borderRadius!==``,he=k&&!me?`0`:se,ge=I.scrollTop;e.style.cssText=``,M.style.cssText=``,N.style.cssText=``,F.style.cssText=``,I.style.cssText=``,tr||(z.style.cssText=``,a.layout?.showFooter===!1&&(z.style.display=`none`)),nt&&(I.style.display=`none`),(i||o)&&(e.style.minWidth=`0`);let _e=()=>{ge<=0||(I.ownerDocument.defaultView??window).requestAnimationFrame(()=>{if(I.scrollTop===ge)return;let e=I.scrollHeight-I.clientHeight;e<=0||(I.scrollTop=Math.min(ge,e))})};if(_){M.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`),M.style.cssText=`
36
36
  position: fixed !important;
37
37
  inset: 0 !important;
38
38
  width: 100% !important;
@@ -68,7 +68,7 @@ import{Marked as e,Marked as t}from"marked";import n,{default as r}from"dompurif
68
68
  overflow: hidden !important;
69
69
  border-radius: 0 !important;
70
70
  border: none !important;
71
- `,I.style.flex=`1 1 0%`,I.style.minHeight=`0`,I.style.overflowY=`auto`,B.style.flexShrink=`0`,bn(),Me=!0,_e();return}let ve=T_(a);if(!r&&!n)o?(M.style.width=E_(a),N.style.width=`100%`,N.style.maxWidth=`100%`):(N.style.width=ve.width,N.style.maxWidth=ve.maxWidth);else if(n){if(Bh(a).reveal===`emerge`&&!s){let e=Bh(a).width;N.style.width=e,N.style.maxWidth=e}else N.style.width=`100%`,N.style.maxWidth=`100%`}if(xi(),N.style.boxShadow=de,N.style.borderRadius=he,le?N.style.border=`none`:ue&&(N.style.border=ae),F.style.border=fe,F.style.borderRadius=pe,F.style.boxShadow=le&&!k?O:``,k&&(F.style.background=`transparent`,I.style.background=`transparent`,B.style.background=`transparent`,B.style.borderTop=`none`),ue){let e=a.features?.artifacts?.layout;Yr=e?.unifiedSplitOuterRadius?.trim()||e?.paneBorderRadius?.trim()||ov(a,void 0,`split.outerRadius`)||ov(a,void 0,`pane.borderRadius`)||se}else Yr=null;let ye=ne?.border!=null||u?.border!=null;if(!n||_||T||le||ue||ye||(F.style.border=`none`,Bh(a).side===`right`?F.style.borderLeft=`1px solid var(--persona-border)`:F.style.borderRight=`1px solid var(--persona-border)`),n&&!_&&ue&&!ye&&(Bh(a).side===`right`?N.style.borderLeft=`1px solid var(--persona-border)`:N.style.borderRight=`1px solid var(--persona-border)`),i&&(e.style.display=`flex`,e.style.flexDirection=`column`,e.style.height=`100%`,e.style.minHeight=`0`,ls(a)&&(e.style.flex=`1 1 0%`),o&&(e.style.width=`100%`),M.style.display=`flex`,M.style.flexDirection=`column`,M.style.flex=`1 1 0%`,M.style.minHeight=`0`,M.style.maxHeight=`100%`,M.style.height=`100%`,o&&(M.style.overflow=`hidden`),N.style.display=`flex`,N.style.flexDirection=`column`,N.style.flex=`1 1 0%`,N.style.minHeight=`0`,N.style.maxHeight=`100%`,N.style.height=`100%`,le||(N.style.overflow=`hidden`),F.style.display=`flex`,F.style.flexDirection=`column`,F.style.flex=`1 1 0%`,F.style.minHeight=`0`,F.style.maxHeight=`100%`,F.style.overflow=`hidden`,I.style.flex=`1 1 0%`,I.style.minHeight=`0`,I.style.overflowY=`auto`,B.style.flexShrink=`0`),o&&(T||le||k)&&!n&&(k||(M.style.padding=`var(--persona-panel-inset)`),M.style.background=`var(--persona-panel-canvas-bg)`),M.classList.remove(`persona-bottom-6`,`persona-right-6`,`persona-left-6`,`persona-top-6`,`persona-bottom-4`,`persona-right-4`,`persona-left-4`,`persona-top-4`),r||o||n||(Yh[y]??Yh[`bottom-right`]).split(` `).forEach(e=>M.classList.add(e)),r){let e=as(a).sidebarWidth?a.launcher?.sidebarWidth??`420px`:Xp(Em(a),`components.panel.width`)??`420px`;s?M.style.cssText=`
71
+ `,I.style.flex=`1 1 0%`,I.style.minHeight=`0`,I.style.overflowY=`auto`,z.style.flexShrink=`0`,xn(),Me=!0,_e();return}let ve=E_(a);if(!r&&!n)o?(M.style.width=D_(a),N.style.width=`100%`,N.style.maxWidth=`100%`):(N.style.width=ve.width,N.style.maxWidth=ve.maxWidth);else if(n){if(Vh(a).reveal===`emerge`&&!s){let e=Vh(a).width;N.style.width=e,N.style.maxWidth=e}else N.style.width=`100%`,N.style.maxWidth=`100%`}if(Si(),N.style.boxShadow=de,N.style.borderRadius=he,le?N.style.border=`none`:ue&&(N.style.border=ae),F.style.border=fe,F.style.borderRadius=pe,F.style.boxShadow=le&&!k?O:``,k&&(F.style.background=`transparent`,I.style.background=`transparent`,z.style.background=`transparent`,z.style.borderTop=`none`),ue){let e=a.features?.artifacts?.layout;Xr=e?.unifiedSplitOuterRadius?.trim()||e?.paneBorderRadius?.trim()||sv(a,void 0,`split.outerRadius`)||sv(a,void 0,`pane.borderRadius`)||se}else Xr=null;let ye=ne?.border!=null||u?.border!=null;if(!n||_||T||le||ue||ye||(F.style.border=`none`,Vh(a).side===`right`?F.style.borderLeft=`1px solid var(--persona-border)`:F.style.borderRight=`1px solid var(--persona-border)`),n&&!_&&ue&&!ye&&(Vh(a).side===`right`?N.style.borderLeft=`1px solid var(--persona-border)`:N.style.borderRight=`1px solid var(--persona-border)`),i&&(e.style.display=`flex`,e.style.flexDirection=`column`,e.style.height=`100%`,e.style.minHeight=`0`,us(a)&&(e.style.flex=`1 1 0%`),o&&(e.style.width=`100%`),M.style.display=`flex`,M.style.flexDirection=`column`,M.style.flex=`1 1 0%`,M.style.minHeight=`0`,M.style.maxHeight=`100%`,M.style.height=`100%`,o&&(M.style.overflow=`hidden`),N.style.display=`flex`,N.style.flexDirection=`column`,N.style.flex=`1 1 0%`,N.style.minHeight=`0`,N.style.maxHeight=`100%`,N.style.height=`100%`,le||(N.style.overflow=`hidden`),F.style.display=`flex`,F.style.flexDirection=`column`,F.style.flex=`1 1 0%`,F.style.minHeight=`0`,F.style.maxHeight=`100%`,F.style.overflow=`hidden`,I.style.flex=`1 1 0%`,I.style.minHeight=`0`,I.style.overflowY=`auto`,z.style.flexShrink=`0`),o&&(T||le||k)&&!n&&(k||(M.style.padding=`var(--persona-panel-inset)`),M.style.background=`var(--persona-panel-canvas-bg)`),M.classList.remove(`persona-bottom-6`,`persona-right-6`,`persona-left-6`,`persona-top-6`,`persona-bottom-4`,`persona-right-4`,`persona-left-4`,`persona-top-4`),r||o||n||(Xh[y]??Xh[`bottom-right`]).split(` `).forEach(e=>M.classList.add(e)),r){let e=os(a).sidebarWidth?a.launcher?.sidebarWidth??`420px`:Zp(Dm(a),`components.panel.width`)??`420px`;s?M.style.cssText=`
72
72
  position: fixed !important;
73
73
  top: var(--persona-panel-inset) !important;
74
74
  bottom: var(--persona-panel-inset) !important;
@@ -121,15 +121,15 @@ import{Marked as e,Marked as t}from"marked";import n,{default as r}from"dompurif
121
121
  border: ${fe} !important;
122
122
  ${le&&!k?`box-shadow: ${O} !important;`:``}
123
123
  ${k?`background: transparent !important;`:``}
124
- `,er||(B.style.cssText=`
124
+ `,tr||(z.style.cssText=`
125
125
  flex-shrink: 0 !important;
126
126
  border-top: none !important;
127
127
  padding: 8px 16px 12px 16px !important;
128
128
  ${k?`background: transparent !important;`:``}
129
129
  ${a.layout?.showFooter===!1?`display: none !important;`:``}
130
- `)}if(!o&&!n){let e=r?``:`padding-top: 1.25em !important;`,t=r?``:`z-index: ${a.launcher?.zIndex??1e5} !important;`;M.style.cssText+=`max-height: -moz-available !important; max-height: stretch !important;`+e+t}bn(),_e()},Ei=()=>{e.style.setProperty(`--persona-content-max-width`,Nm(a,A()))},Di=!1;function Oi(){a.layout?.topFade&&I.scrollTop>1?I.setAttribute(`data-persona-top-fade`,`true`):I.removeAttribute(`data-persona-top-fade`),an.hidden=!A()||rn.hidden||I.scrollHeight-I.clientHeight-I.scrollTop<=1,an.hidden||(an.style.bottom=`${F.getBoundingClientRect().bottom-rn.getBoundingClientRect().top-F.clientTop}px`)}let ki=()=>{Oi();let t=Pm(a,A());A()&&a.composer?.placement&&a.debug===!0&&!Di&&(Di=!0,console.warn(`[persona] composer.placement is ignored in composer-bar mount mode.`));let n=fn();e.setAttribute(`data-persona-composer-placement`,t),e.setAttribute(`data-persona-conversation-state`,pn),e.setAttribute(`data-persona-welcome-anchor`,n.anchor??`bottom`),e.style.setProperty(`--persona-composer-anchor-gap`,n.composerGap??`24px`),xn()},Ai=()=>{if(A())return;let t=Rh(a),n=a.launcher?.sidebarMode??!1;if(ls(a)||t||n||(a.launcher?.fullHeight??!1)||!Ee)return;let r=e.ownerDocument.defaultView??window,i=a.launcher?.mobileFullscreen??!0,o=a.launcher?.mobileBreakpoint??640;if(i&&r.innerWidth<=o)return;let s=T_(a);N.style.height=s.height,N.style.maxHeight=s.maxHeight};Ti(),Am(e,a),pv(e,a),mv(e,a),Ei(),ki(),qr=()=>{Ti(),Ai(),Am(e,a),pv(e,a),mv(e,a),Ei(),ki(),Yr?e.style.setProperty(`--persona-artifact-welded-outer-radius`,Yr):e.style.removeProperty(`--persona-artifact-welded-outer-radius`),dt(),ut()};let Z=[];Z.push(()=>br.destroy()),Z.push(()=>{Gr=!0}),Z.push(()=>{ee.forEach(e=>e()),C.destroy()}),Z.push(()=>{document.removeEventListener(`keydown`,di)}),Z.push(()=>{cn!==null&&clearTimeout(cn)});let ji=null,Mi=null;Z.push(()=>{ji?.(),ji=null,Mi?.(),Mi=null}),Kr&&Z.push(()=>{Kr?.disconnect(),Kr=null}),Z.push(()=>{hi?.destroy(),hi=null,X?.element.style.removeProperty(`width`),X?.element.style.removeProperty(`maxWidth`),X?.destroy()}),Ge&&Z.push(()=>{et=!0,$e=null,rt!==null&&(cancelAnimationFrame(rt),rt=null),tt?.destroy(),tt=null,Ze?.destroy(),Ze=null,Ye=null});let Ni=null,Pi=()=>{if(Ni&&=(Ni(),null),a.colorScheme===`auto`){let e=Cm(a);Ni=Mm(t=>{t!==e&&(e=t,qr(),wi(),Q&&(Oa++,ws(L,Q.getMessages(),He)))})}};Pi(),Z.push(()=>{Ni&&=(Ni(),null)}),Z.push(()=>{re=!0,ne?.()}),Z.push(()=>{se=!0});let Fi=!1;Z.push(()=>{Fi=!0});let Ii=(t,n)=>{let r=ph(t,n);return r||!lh.includes(t)?r:(Mh().then(r=>{if(Fi)return;uh(r.wipe),uh(r.glyphCycle);let i=ph(t,n);i&&kh(i,e)}).catch(()=>{}),null)},Li=a.features?.streamAnimation;if(Li?.type&&Li.type!==`none`){let t=Ii(Li.type,Li.plugins);t&&kh(t,e),Z.push(()=>Oh(e))}let Ri=Jh(Ct),zi=Jh(xt),Bi=Jh(St),Ui=Jh(rn),Wi=[Ri,zi,Bi,Ui];Z.push(()=>{Wi.forEach(e=>e.destroy())});let Gi=null,Q,Ki=null,qi=!1,Ji=0,Yi=null,Xi=/* @__PURE__ */ new Set;Z.push(()=>Xi.clear());let Qi=e=>e.reduce((e,t)=>t.role===`user`?e+1:e,0),ea=e=>{for(let t=e.length-1;t>=0;t--)if(Zi(e[t]))return e[t].id??null;return null},ta=!1,ra=()=>{ta||a.debug!==!0||(ta=!0,console.warn(`[persona] Starters are hidden: suggestions.starters.placement is "welcome", but welcome is disabled. Use "auto" or "composer".`))},ia=!1,aa=!1,oa=(e,t)=>{ia||a.debug!==!0||t.enabled&&!t.expose&&(qi||aa&&(Q.isStreaming()||e.some(Zi)||(ia=!0,console.info(`[persona] No suggest_replies call received. Declare the tool server-side or set suggestions.followUps.expose: true, and instruct the model when to use it. See UI-COMPONENTS.md.`))))},sa=e=>{if(!Q)return;let t=e??Q.getMessages();if(Ct.removeAttribute(`data-persona-suggestions-below`),Ct.parentElement===B&&B.insertBefore(Ct,B.firstChild),Xi.size){let e=new Set(t.map(e=>e.id));for(let t of Xi)e.has(t)||Xi.delete(t)}let n=e=>{e.render([],Q,R,t)},r=e=>{Wi.forEach(t=>{t!==e&&n(t)})};Ki&&(Qi(t)>Ji||ea(t)!==Yi)&&(Ki=null);let i=na(a);oa(t,i);let o=ea(t),s=i.enabled&&!(a.future?.v5Defaults&&o&&Xi.has(o))?$i(t,a.suggestions?.followUps?.maxItems??(a.future?.v5Defaults?5:4)):null;if(a.future?.v5Defaults&&Q.isStreaming()){Wi.forEach(n);return}let c=Ki??s,l=Ki?`host`:`agent`;if(c){let e=a.suggestions?.followUps,n=e?.placement??(e?`auto`:`composer`),i=(n===`auto`?A()?`composer`:`after-message`:n)===`after-message`?Bi:A()?Ui:Ri;r(i),i.render(c,Q,R,t,a.suggestionChipsConfig,{source:l,surface:`followUp`,variant:e?.variant??`chip`,behavior:e?.behavior??`send`,overflow:e?.overflow??(a.future?.v5Defaults?`scroll`:`wrap`),maxItems:e?.maxItems??(a.future?.v5Defaults?dn()?5:3:4),config:a,plugins:S,submitPrompt:Ru});return}if(t.some(e=>e.role===`user`)){Wi.forEach(n);return}let u=a.future?.v5Defaults===!0,d=dn(),f=a.suggestions?.starters??(u?{}:void 0);if(f){let e=C_(fn(),t),i=f.placement??`auto`,o=i===`auto`?e?`welcome`:`composer`:i;if(o===`welcome`&&!e){ra(),Wi.forEach(n);return}Ct.toggleAttribute(`data-persona-suggestions-below`,o===`below-composer`),o===`below-composer`?Tt.after(Ct):B.insertBefore(Ct,B.firstChild);let s=o===`welcome`?zi:Ri;r(s),s.render(f.items??a.suggestionChips,Q,R,t,a.suggestionChipsConfig,{surface:`starter`,variant:f.variant??(u&&!d?`chip`:`card`),behavior:f.behavior??`send`,overflow:f.overflow??`wrap`,maxItems:f.maxItems??(u&&!d?3:4),config:a,plugins:S,submitPrompt:Ru})}else r(Ri),Ri.render(a.suggestionChips,Q,R,t,a.suggestionChipsConfig,{surface:`starter`,variant:`chip`,behavior:`send`,overflow:`wrap`,maxItems:4,config:a,plugins:S,submitPrompt:Ru})},la=()=>{if(!a.future?.v5Defaults||!Q)return;Ki=null;let e=ea(Q.getMessages());e&&Xi.add(e),sa()},ua=()=>{Ki&&(Ki=null,sa())},da=e=>{let t=Array.isArray(e)?[...e]:[];if(!t.length){ua();return}let n=Q?Q.getMessages():[];Ki=t,qi=!0,Ji=Qi(n),Yi=ea(n),sa(n)},fa=!1,pa=eh(),ma=/* @__PURE__ */ new Set,ha=/* @__PURE__ */ new Map,ga=/* @__PURE__ */ new Map,_a=/* @__PURE__ */ new Map,va=/* @__PURE__ */ new Map,ya=e=>{let t=va.get(e);if(va.delete(e),_a.delete(e),xs(L,e)?.removeAttribute(`data-preserve-runtime`),t){t.controller.abort();try{t.handle.destroy?.()}catch(e){console.error(`[AgentWidget] Component cleanup failed:`,e)}}};Z.push(()=>{for(let e of va.keys())ya(e)});let ba=/* @__PURE__ */ new Map,xa=/* @__PURE__ */ new Map,Sa=e=>{xa.get(e)?.abort(),xa.delete(e),ba.delete(e)},Ca=()=>{for(let e of xa.keys())Sa(e)};Z.push(Ca);let wa=null,Ta=null;function Ea(){if(!wa)return;let e=wa;wa=null,Ta?.destroy(),Ta=null,pa.delete(e),F.querySelector(`#wrapper-${e}`)?.removeAttribute(`data-preserve-runtime`),Q&&ws(L,Q.getMessages(),He)}let Oa=0,ka=Su(),Aa=0,ja=null,Ma=!1,Na=!1,Pa=0,Fa=null,Ia=null,La=!1,Ra=!1,za=null,Ba=!0,Va=!1,Ha=null,Ua=!1,Wa=()=>{Lr++,Ua=!0,Ya()},Ga=null,Ka=24,qa=null,Ja=()=>{e.setAttribute(`data-persona-scrollbar`,$t()),$t()!==`on-scroll`&&(qa!==null&&clearTimeout(qa),qa=null,I.removeAttribute(`data-persona-scrollbar-visible`))},Ya=()=>{$t()===`on-scroll`&&(I.setAttribute(`data-persona-scrollbar-visible`,``),qa!==null&&clearTimeout(qa),qa=setTimeout(()=>{qa=null,wu(I,24)&&I.removeAttribute(`data-persona-scrollbar-visible`)},1e3))};Ja(),Z.push(()=>{qa!==null&&clearTimeout(qa)});let Xa=/* @__PURE__ */ new Map,Za=!1,Qa=null,$={active:!1,manuallyDeactivated:!1,lastUserMessageWasVoice:!1,lastUserMessageId:null};Sr();let $a=a.voiceRecognition?.autoResume??!1,eo=()=>Q.isVoiceActive()||Q.isBargeInActive(),to=!1,no=e=>{O.emit(`voice:state`,{active:$.active,source:e,timestamp:Date.now()})},ro=()=>{Se(e=>({...e,voiceState:{active:$.active,timestamp:Date.now(),manuallyDeactivated:$.manuallyDeactivated}}))},io=()=>{if(a.voiceRecognition?.enabled===!1||a.voiceRecognition?.dictation||a.voiceRecognition?.provider?.type===`custom`&&a.voiceRecognition.completionBehavior===`review`)return;let e=qy(fe.voiceState),t=!!e.active,n=Number(e.timestamp??0);if($.manuallyDeactivated=!!e.manuallyDeactivated,t&&Date.now()-n<3e4){let e=Pe;setTimeout(()=>{Ie(e)&&($.active||($.manuallyDeactivated=!1,_u(a.voiceRecognition?.provider)?Q.toggleVoice().then(()=>{Ie(e)&&($.active=eo(),no(`restore`),$.active?Dd():(ro(),ou(`Tap the mic to resume your voice call`,1e4)))}):Cd(`restore`)))},_u(a.voiceRecognition?.provider)?0:1e3)}},ao=()=>{to=!0,$.active&&ro()};typeof window<`u`&&(window.addEventListener(`pagehide`,ao),Z.push(()=>window.removeEventListener(`pagehide`,ao)));let oo=()=>Q?Jy(Q.getMessages()).filter(e=>!e.__skipPersist):[],so=null,co=(e,t)=>{typeof console<`u`&&console.error(e,t)},lo=(e,t)=>{let n=()=>{try{let n=e();return!n||typeof n.then!=`function`?null:Promise.resolve(n).catch(e=>{co(t,e)})}catch(e){return co(t,e),null}},r=so,i=r?r.then(()=>n()??void 0):n();if(!i)return;let a=i.finally(()=>{so===a&&(so=null)});so=a};function uo(e){if(po!==null||!k?.save)return;let t=e?Jy(e):Q?oo():[],n=de&&Q?.getResumableHandle();n&&(fe={...fe,durableResume:{executionId:n.executionId,after:n.lastEventId}});let r={messages:t,metadata:fe,artifacts:Xr.artifacts,selectedArtifactId:Xr.selectedId,...fo?{draft:fo}:{}};lo(()=>k.save(r),`[AgentWidget] Failed to persist state:`)}let fo,po=null,mo=()=>!k?.save||a.persistState===!1?!1:typeof a.persistState!=`object`||a.persistState.persist?.draft!==!1,ho=up({write:()=>{if(!mo())return;let e=G.getState(),t=cp({text:e.text,mentionRefs:e.mentionRefs,contentSegments:eu(),selectedModelId:e.selectedModelId,activeModeIds:e.activeModeIds,quote:e.quote});JSON.stringify(t)!==JSON.stringify(fo)&&(fo=t,uo())}});function go(){mo()&&ho.schedule()}function _o(){ho.flush()}function vo(e){if(!mo())return;let t=lp(e,{mentionSourceIds:(a.contextMentions?.sources??[]).map(e=>e.id),modelIds:(a.composer?.models??[]).map(e=>e.id),modes:a.composer?.modes??[]});t&&(fo=e,R&&!R.value&&(R.value=t.text,R.dispatchEvent(new Event(`input`,{bubbles:!0})),Cn()),t.selectedModelId&&(G.setSelectedModelId(t.selectedModelId),Fn?.repaint()),Nn(t.activeModeIds??[]),t.quote&&Rn(t.quote),ho.cancel())}function yo(){ho.cancel(),fo&&(fo=void 0,mo()&&uo())}let Co=Au(),wo=()=>M.querySelector(`#persona-scroll-container`)||I,To=()=>{Co.cancel(),Ma=!1},Eo=()=>{ja!==null&&(cancelAnimationFrame(ja),ja=null),Na=!1,To()},Do=()=>{let e=Q?.getStatus();return fa&&e!==`paused`&&e!==`resuming`&&e!==`error`&&!Q?.getMessages().some(e=>e.agentMetadata?.awaitingLocalTool===!0&&e.agentMetadata.askUserQuestionAnswered!==!0||e.variant===`approval`&&e.approval?.status===`pending`)},Oo=()=>Do()&&zo()&&(Kt()!==`anchor-top`||Zt()),ko=()=>{let e=tn.getAttribute(`data-persona-scroll-to-bottom-visible`)===`true`;en.update(a,e,Oo(),Pa,e&&Fo())},Ao=()=>{Pa!==0&&(Pa=0,ko())},jo=()=>{let e=I.getBoundingClientRect(),t=B.getBoundingClientRect();return t.height>0&&t.bottom>e.top?Math.min(I.clientHeight,Math.max(0,t.top-e.top-I.clientTop)):I.clientHeight},Mo=()=>ts(Fa?.spacerHeight??0,!1)-I.scrollTop-jo()<=24,No=e=>_n(e)>I.scrollTop+jo()-24,Po=()=>(Q?.getMessages()??[]).filter(e=>e.variant===`approval`&&e.approval?.status===`pending`).map(e=>os(e.id)).filter(e=>!!e?.isConnected),Fo=()=>Po().some(No),Io=e=>{let t=_n(e);return t>=I.scrollTop&&t+e.offsetHeight<=I.scrollTop+jo()},Lo=[],Ro=()=>{let e=Lo;Lo=[];for(let t of e){let e=os(t)?.querySelector(`[data-action="allow"]`);if(e&&Io(e)){e.focus({preventScroll:!0});return}}},zo=()=>(!qt()||!ka.isFollowing())&&!Mo(),Bo=()=>!!Q&&Q.getMessages().length>0,Vo=()=>{if(!Gt()||ht()){en.update(a,!1),tn.parentNode&&tn.remove();return}let e=nn();tn.parentNode!==e&&e.insertBefore(tn,e===F?rn:null),vn();let t=Cu(I)>0,n=!Jo.active&&t&&zo()&&Bo();n||(Pa=0),en.update(a,n,Oo(),Pa,n&&Fo())},Ho=()=>{ka.pause()&&(Eo(),Vo())},Uo=()=>{ka.resume(),Ao(),Vo()},Wo=(e=!1)=>{!Jo.active&&qt()&&Bo()&&ka.isFollowing()&&(e||fa)&&(ja!==null&&(cancelAnimationFrame(ja),ja=null),Na=!0,ja=requestAnimationFrame(()=>{ja=null,Na=!1,ka.isFollowing()&&Yo(wo(),e?220:140)}))},qo=(e,t,n,r=()=>!0)=>{To(),Ma=!0,Co.start(e,t,n,()=>{Aa=e.scrollTop},()=>{Ma=!1},r)},Jo=ju(I,F,()=>{Aa=I.scrollTop},()=>{Uo(),Wo(!0),Vo(),Ro()},()=>{Lo=[],ka.pause(),Vo()}),Yo=(e,t=500)=>{let n=Cu(e)-e.scrollTop;Math.abs(n)<1?Aa=e.scrollTop:Math.abs(n)>=80?(To(),Ma=!0,e.scrollTop=Cu(e),Aa=e.scrollTop,Ma=!1):qo(e,()=>Cu(e),t,()=>ka.isFollowing())},Xo=()=>{if(!Bo()){Vo();return}let e=wo();Ma=!0,e.scrollTop=Cu(e),Aa=e.scrollTop,Ma=!1,Vo()},Zo=()=>{let e=I.getRootNode();return(typeof e.getSelection==`function`?e.getSelection():null)??I.ownerDocument.getSelection()},Qo=()=>Du(Zo(),I),$o=()=>{if(Yt()!==`last-user-turn`)return!1;let e=Q?.getMessages()??[];if(e.length<2)return!1;let t=[...e].reverse().find(e=>e.role===`user`);if(!t)return!1;let n=typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(t.id):t.id.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`),r=I.querySelector(`[data-message-id="${n}"]`);if(!r)return!1;let i=Math.min(Math.max(0,_n(r)-Jt()),Cu(I));return Ma=!0,I.scrollTop=i,Aa=I.scrollTop,Ma=!1,Kt()===`follow`&&!wu(I,24)&&ka.pause(),Vo(),!0},es=e=>{let t=Math.max(0,Math.round(e));on.style.height=`${t}px`,on.style.display=t>0?``:`none`,Fa&&(Fa.spacerHeight=Math.max(0,e))},ts=(e,t=!0)=>{let n=parseFloat(getComputedStyle(I).paddingBottom)||0,r=0;for(let e of I.children){let t=e;t!==on&&t.offsetHeight!==0&&(r=Math.max(r,_n(t)+t.offsetHeight))}let i=I.scrollHeight-e,a=r>0?Math.min(r+n,i):i;return t?a:a-n},ns=()=>{if(!Fa||Fa.spacerHeight<=0||Fa.pending)return;let e=ts(Fa.spacerHeight),t=Math.max(0,Math.round(I.scrollTop)+I.clientHeight-e+24);t<Fa.spacerHeight&&(es(t),Vo())},rs=()=>{Ia!==null&&(cancelAnimationFrame(Ia),Ia=null),Jo.cancel(),To(),Fa=null,on.style.height=`0px`,on.style.display=`none`},is=e=>typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(e):e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`),os=e=>I.querySelector(`[data-message-id="${is(e)}"]`),ss=e=>{Ia!==null&&cancelAnimationFrame(Ia),Ia=requestAnimationFrame(()=>{Ia=null;let t=os(e);if(!t)return;let n=_n(t),r=Fa?.spacerHeight??0,i=ts(r),{targetScrollTop:a,spacerHeight:o}=Ou({anchorOffsetTop:n,topOffset:Jt(),viewportHeight:I.clientHeight,contentHeight:i,slack:24});Fa={pending:0,initialSpacerHeight:o,contentHeightAtAnchor:i,spacerHeight:o},es(o),qo(I,()=>t.isConnected?Math.max(0,_n(t)-Jt()):a,220)})},cs=()=>{if(Kt()!==`anchor-top`||!Fa||!Ha)return;let e=os(Ha);if(!e)return;To();let t=Fa.spacerHeight,n=ts(t),{targetScrollTop:r,spacerHeight:i}=Ou({anchorOffsetTop:_n(e),topOffset:Jt(),viewportHeight:I.clientHeight,contentHeight:n,slack:24});Fa={pending:0,initialSpacerHeight:i,contentHeightAtAnchor:n,spacerHeight:i},es(i),Ma=!0,I.scrollTop=r,Aa=I.scrollTop,Ma=!1,Vo()},ds=()=>{if(qt()){if(Vo(),!ka.isFollowing()||wu(I,1))return;Wo(!fa)}else{if(Fa&&Fa.initialSpacerHeight>0&&!Fa.pending){let e=I.scrollHeight-Fa.spacerHeight,t=ku({initialSpacerHeight:Fa.initialSpacerHeight,contentHeightAtAnchor:Fa.contentHeightAtAnchor,currentContentHeight:e});t!==Fa.spacerHeight&&es(t)}Vo()}},fs=(e,t,n,r,i)=>{if(pa.delete(n),i!==`toggle`&&qt()&&ka.isFollowing()){Eg(e,t,n,r);return}let a=I.getBoundingClientRect().top,o=e.getBoundingClientRect(),s=Fa;s&&(To(),es(s.spacerHeight+e.offsetHeight)),Eg(e,t,n,r);let c=e.getBoundingClientRect(),l=o.top-a,u=i===`toggle`?c.top-a-(r.state===`collapsed`&&l<0?Jt():l):l>=0?c.top-o.top:c.bottom-o.bottom,d=Math.max(0,I.scrollTop+u);s&&Fa===s&&(es(d+I.clientHeight+24-ts(s.spacerHeight)),s.initialSpacerHeight=s.spacerHeight,s.contentHeightAtAnchor=I.scrollHeight-s.spacerHeight),Math.abs(d-I.scrollTop)>=1&&(Ma=!0,I.scrollTop=d,Aa=I.scrollTop,Ma=!1),Vo()},ps=()=>{if(!bg(a))return;let e=xg(a);for(let t of Array.from(L.querySelectorAll(`[${vg}]`))){let n=t.closest(`[data-message-id]`),r=n?.getAttribute(`data-message-id`);if(!n||!r)continue;let i=t.scrollHeight;i>0&&h.set(r,Cg(i,e));let o=h.get(r)??!1,s=t.getAttribute(vg);if(s===`live`)continue;s===`settling`&&_.delete(r);let c=o?g.get(r)?`expanded`:`collapsed`:`fit`;c!==s&&fs(n,t,r,{state:c,maxHeight:e,...Sg(a)},`measure`)}},ms=e=>{if(h.size===0&&g.size===0&&_.size===0)return;let t=new Set(e.map(e=>e.id));for(let e of[h,g,_])for(let n of e.keys())t.has(n)||e.delete(n)},gs=e=>{let t=Kt();t===`follow`?(Uo(),Wo(!0)):t===`anchor-top`&&(Ba=!1,Va=!0,Ua=!1,Ha=e,ss(e))},_s=()=>{Kt()===`anchor-top`&&(Va?Ba=!1:(Ba=!0,rs(),Uo(),Wo(!0)))},vs=e=>{let t=/* @__PURE__ */ new Map;e.forEach(e=>{let n=Xa.get(e.id);t.set(e.id,{streaming:e.streaming,role:e.role}),!n&&e.role===`assistant`&&(O.emit(`assistant:message`,e),!Ra&&(Kt()!==`anchor-top`||Zt())&&zo()&&(Pa+=1,ko(),Vo(),un(Pa===1?`1 new message below.`:`${Pa} new messages below.`))),e.role===`assistant`&&(n?.streaming||ma.has(e.id))&&e.streaming===!1&&O.emit(`assistant:complete`,e),e.variant===`approval`&&e.approval&&(n?e.approval.status!==`pending`&&O.emit(`approval:resolved`,{approval:e.approval,decision:e.approval.status}):O.emit(`approval:requested`,{approval:e.approval,message:e}))}),Xa.clear(),t.forEach((e,t)=>{Xa.set(t,e)}),ma.clear()},ys=(e,t)=>{let n=t===`user`?`user`:`assistant`,r=a.layout?.messages?.[n],i=r?.width??`content`,o=t===`operator`?`content`:i,s=t===`operator`?`var(--persona-message-operator-max-width, var(--persona-message-assistant-max-width, 100%))`:`var(--persona-message-${n}-max-width, 100%)`,c=r?.maxWidth??(i===`full`?s:void 0);e.classList.add(`persona-message-row`),e.classList.remove(`persona-message-row-user`,`persona-message-row-assistant`,`persona-message-row-system`,`persona-message-row-operator`,`persona-message-width-content`,`persona-message-width-full`),e.classList.add(`persona-message-row-${t}`,`persona-message-width-${o}`),e.classList.toggle(`persona-justify-end`,t===`user`),e.setAttribute(`data-message-role`,t),e.setAttribute(`data-message-width`,o),c?e.style.setProperty(`--persona-message-row-max-width`,c):e.style.removeProperty(`--persona-message-row-max-width`)},bs=(e,t)=>{let n=document.createElement(`div`);return n.className=`persona-flex`,n.id=`wrapper-${e}`,n.setAttribute(`data-wrapper-id`,e),ys(n,t),n},xs=(e,t)=>Array.from(e.querySelectorAll(`[data-wrapper-id]`)).find(e=>e.getAttribute(`data-wrapper-id`)===t),Ss=(t,n,r)=>{let i=/* @__PURE__ */ new Set;d(),u?.observeMessages(n,i);let o=document.createElement(`div`),s=!a.features?.toolCallDisplay?.grouped,h=/* @__PURE__ */ new Set;if(s)for(let e of Array.from(t.children)){let t=e.getAttribute(`data-wrapper-id`);t&&h.add(t)}let g=/* @__PURE__ */ new Map,_=S.find(e=>e.renderLoadingIndicator)?.renderLoadingIndicator??a.loadingIndicator?.render,y=/* @__PURE__ */ new Set,b=/* @__PURE__ */ new Map,x=/* @__PURE__ */ new Set,C=S.some(e=>e.renderAskUserQuestion),ee=[],te=[],ne=a.enableComponentStreaming!==!1,re=a.approval!==!1,D=[],ie=a.messageActions,ae;if(a.future?.v5Defaults&&ie?.visibility===void 0){for(let e=n.length-1;e>=0;e--)if(n[e].role===`assistant`&&!n[e].variant){ae=n[e].id;break}}let se=(ie?.showRegenerate===!0||a.errorDisplay===`block`)&&ie?.enabled!==!1&&ri.current?.isStreaming()!==!0?tf(n):null,ce=ie?.showEdit===!0&&ie.enabled!==!1,le=-1;n.forEach((e,t)=>{e.role===`operator`&&(le=t)});let O=ie?.showQuote===!0&&ie.enabled!==!1,k=null,de=a.features?.reasoningDisplay?.completedVisibility,fe=e=>de===`removed`||de===`removed-when-short`&&$n(e,a.features?.reasoningDisplay?.shortThinkThreshold),pe=a.features?.toolCallDisplay?.completedVisibility===`removed`,me=e=>e.variant===`reasoning`&&e.reasoning?.status===`complete`?fe(e.reasoning):pe&&e.variant===`tool`&&e.toolCall?.status===`complete`&&!e.toolCall.interrupted;n.forEach((i,l)=>{if(me(i))return;if(y.add(i.id),b.set(i.id,i.role),(i.variant===`tool`&&i.toolCall&&We||i.variant===`reasoning`&&i.reasoning&&Ue)&&!d()){o.appendChild(bs(i.id,i.role));return}if(wa===i.id&&Ta){let e=bs(i.id,i.role);e.setAttribute(`data-persona-message-edit-stub`,`true`),e.setAttribute(`data-preserve-runtime`,`true`),o.appendChild(e),k={messageId:i.id,element:Ta.element};return}let u=C&&fi(i),w=re&&i.variant===`approval`&&!!i.approval,de=!u&&i.role===`assistant`&&!i.variant&&ne&&df(i);!w&&ba.has(i.id)&&(xs(t,i.id)?.removeAttribute(`data-preserve-runtime`),Sa(i.id)),!de&&_a.has(i.id)&&(xs(t,i.id)?.removeAttribute(`data-preserve-runtime`),ya(i.id));let fe=fi(i)?`:${i.agentMetadata?.askUserQuestionAnswered?`a`:`u`}:${i.agentMetadata?.askUserQuestionAnswers?Object.keys(i.agentMetadata.askUserQuestionAnswers).length:0}`:``,pe={isLastAssistant:i.id===ae,canRegenerate:se===i.id&&(ie?.showRegenerate===!0||i.dispatchError===!0),canEdit:ce&&l>le&&nf(i),canQuote:O&&!i.variant&&(i.content?.trim().length??0)>0},he=`${pe.canRegenerate?`r`:``}${pe.canEdit?`e`:``}${pe.canQuote?`q`:``}${pe.isLastAssistant?`l`:``}`,ge=i.approval?.toolCallId?n.filter(e=>e.variant===`tool`&&e.toolCall?.id===i.approval?.toolCallId&&(!e.agentMetadata?.executionId||!i.approval?.executionId||e.agentMetadata.executionId===i.approval.executionId)):[],_e=ge.length===1?ge[0].toolCall:void 0,ve=_e&&_e.status!==`pending`?{toolCallId:_e.id,status:_e.status===`running`?`running`:_e.success===!1||_e.error?`failed`:`completed`}:void 0,ye=v(i),be=$m(i,Oa)+fe+`:${he}`+(ye?`:uc-${ye.state}`:``)+(w?`:${i.approval?.toolCallId??``}:${JSON.stringify(ve)}`:``),xe=u||w||de||i.dispatchError&&a.errorDisplay===`block`&&!T?null:th(pa,i.id,be);if(xe){if(h.has(i.id)&&ha.get(i.id)===be){let e=document.createElement(`div`);e.id=`wrapper-${i.id}`,e.setAttribute(`data-wrapper-id`,i.id),e.setAttribute(`data-persona-reuse`,`true`),o.appendChild(e)}else o.appendChild(xe.cloneNode(!0));s&&g.set(i.id,be),fi(i)&&i.toolCall?.id&&i.agentMetadata?.awaitingLocalTool===!0&&!i.agentMetadata?.askUserQuestionAnswered&&(x.add(i.toolCall.id),oi(i));return}let Se=null,Ce=()=>{if(i.dispatchError&&a.errorDisplay===`block`){let e=oe();if(e)return e.createErrorBlock(i,r,pe.canRegenerate===!0)}let e=e_(i,r,a.layout?.messages,a.messageActions,gt,{loadingIndicatorRenderer:_,widgetConfig:a,actionEligibility:pe,userCollapse:ye});return e.dataset.personaDefaultMessage=`true`,e},we=S.find(e=>!!(i.variant===`reasoning`&&e.renderReasoning||i.variant===`tool`&&e.renderToolCall||!i.variant&&e.renderMessage));if(fi(i)&&i.agentMetadata?.askUserQuestionAnswered===!0){ga.delete(i.id),xs(t,i.id)?.removeAttribute(`data-preserve-runtime`);return}if(Zi(i)&&na(a).enabled)return;if(fi(i)&&a.features?.askUserQuestion?.enabled!==!1){let e=S.find(e=>typeof e.renderAskUserQuestion==`function`);if(e&&ri.current){let t=ga.get(i.id),n=t!==be,r=null;if(n){let{payload:t,complete:n}=mi(i),o=i.id,s=()=>ri.current?.getMessages().find(e=>e.id===o);r=e.renderAskUserQuestion({message:i,payload:t,complete:n,resolve:e=>{let t=s();t&&ri.current?.resolveAskUserQuestion(t,e)},dismiss:()=>{let e=s();e?.agentMetadata?.awaitingLocalTool&&(ri.current?.markAskUserQuestionResolved(e),ri.current?.resolveAskUserQuestion(e,`(dismissed)`))},config:a})}if(n&&r===null&&t==null){i.agentMetadata?.awaitingLocalTool===!0&&!i.agentMetadata?.askUserQuestionAnswered&&(x.add(i.toolCall.id),oi(i));return}let s=bs(i.id,i.role);s.setAttribute(`data-ask-plugin-stub`,`true`),s.setAttribute(`data-preserve-runtime`,`true`),o.appendChild(s),ee.push({messageId:i.id,fingerprint:be,bubble:r});return}i.agentMetadata?.awaitingLocalTool===!0&&!i.agentMetadata?.askUserQuestionAnswered&&(x.add(i.toolCall.id),oi(i));return}if(w){let t=oe();if(!t){o.appendChild(bs(i.id,i.role));return}let n=S.find(e=>typeof e.renderApproval==`function`)??E,r=ba.get(i.id),s=r!==be,c=null,l=!1;if(s&&n?.renderApproval){let o=i.id,s=!1,u=(e,t)=>{let n=ri.current?.getMessages().find(e=>e.id===o);s||n?.approval?.status!==`pending`||(s=!0,Pu(n.approval)?ri.current?.resolveWebMcpApproval(n.id,e):ri.current?.resolveApproval(n.approval,e,t))};Sa(i.id);let d=new AbortController;xa.set(i.id,d);let f={message:i,execution:ve,signal:d.signal,defaultRenderer:()=>g(),config:a,approve:e=>{d.signal.aborted||u(`approved`,e)},deny:e=>{d.signal.aborted||u(`denied`,e)}},p=null,h=new AbortController;d.signal.addEventListener(`abort`,()=>h.abort(),{once:!0});let g=()=>(p??=E?.renderApproval?.({...f,signal:h.signal})??t.createApprovalBubble(i,a,m),p);c=n===E?g():n.renderApproval(f)??g();let _=p!==null&&(c===p||c.contains(p));_||h.abort();let v=e.getRootNode();l=_&&r===void 0&&i.approval?.status===`pending`&&a.approval!==!1&&a.approval?.keyboardShortcuts===`focused`&&e.contains(v.activeElement)}let u=bs(i.id,i.role);u.setAttribute(`data-approval-plugin-stub`,`true`),u.setAttribute(`data-preserve-runtime`,`true`),o.appendChild(u),D.push({messageId:i.id,fingerprint:be,bubble:c,focusDefault:l});return}if(we){if(i.variant===`reasoning`&&i.reasoning&&we.renderReasoning){if(!Ue)return;Se=we.renderReasoning({message:i,defaultRenderer:()=>c.createReasoningBubble(i,a,p),config:a})}else if(i.variant===`tool`&&i.toolCall&&we.renderToolCall){if(!We)return;Se=we.renderToolCall({message:i,defaultRenderer:()=>c.createToolBubble(i,a,f),config:a})}else we.renderMessage&&(Se=we.renderMessage({message:i,defaultRenderer:()=>{let e=Ce();return i.role!==`user`&&ue(e,i,a,Q),e},config:a}))}if(Se&&va.has(i.id)&&ya(i.id),!Se&&de){let e=ff(i);if(e){let n=_a.get(i.id),s=a.wrapComponentDirectiveInBubble!==!1&&$l(a,e.component)?.bubbleChrome!==!1,c=`${$m(i,Oa)}:${s}:${e.raw}`,l=va.get(i.id),u=Ql(a,e.component),d=l?.renderer!==u||l?.component!==e.component,f=n!==c||d;l&&(l.context.message=i,l.context.config=a);let p=null;if(f){let n=null;if(l&&!d&&l.handle.update){l.context.message=i,l.context.config=a;try{l.handle.update(e.props,l.context),n=l.handle.element}catch(e){console.error(`[AgentWidget] Component update failed:`,e),ya(i.id)}}else{ya(i.id);let t=new AbortController,o={config:a,message:i,signal:t.signal,updateProps:e=>{queueMicrotask(()=>{t.signal.aborted||ri.current?.updateComponentProps(i.id,e)})}},s=cf(e,{config:a,message:i,transform:r,signal:t.signal,onPropsUpdate:o.updateProps,context:o});if(s){let r=`element`in s?s:{element:s};n=r.element,va.set(i.id,{renderer:u,component:e.component,controller:t,handle:r,context:o})}else t.abort()}if(n&&e.component===`PersonaArtifactInline`){let e=n.hasAttribute(`data-artifact-inline`)?n:n.querySelector(`[data-artifact-inline]`),r=e?.getAttribute(`data-artifact-inline`)??``,a=typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(r):r,o=r?t.querySelector(`#wrapper-${i.id}`)?.querySelector(`[data-artifact-inline="${a}"]`)??null:null;e&&o&&o!==e&&lu()?.hasLiveInlineArtifactBlock(o)&&(e===n?n=o:e.replaceWith(o))}if(n){if(s){let e=document.createElement(`div`);if(e.className=`persona-message-bubble persona-rounded-2xl persona-bg-persona-surface persona-border persona-border-persona-message-border persona-p-4`,e.id=`bubble-${i.id}`,e.setAttribute(`data-message-id`,i.id),i.content&&i.content.trim()){let t=document.createElement(`div`);t.className=`persona-mb-3 persona-text-sm persona-leading-relaxed`,t.innerHTML=r({text:i.content,message:i,streaming:!!i.streaming,raw:i.rawContent}),e.appendChild(t)}e.appendChild(n),p=e}else{let e=document.createElement(`div`);if(e.className=`persona-flex persona-flex-col persona-w-full persona-max-w-full persona-gap-3 persona-items-stretch`,e.id=`bubble-${i.id}`,e.setAttribute(`data-message-id`,i.id),e.setAttribute(`data-persona-component-directive`,`true`),i.content&&i.content.trim()){let t=document.createElement(`div`);t.className=`persona-text-sm persona-leading-relaxed persona-text-persona-primary persona-w-full`,t.innerHTML=r({text:i.content,message:i,streaming:!!i.streaming,raw:i.rawContent}),e.appendChild(t)}e.appendChild(n),p=e}}}if(p||va.has(i.id)){let e=bs(i.id,i.role);e.setAttribute(`data-component-directive-stub`,`true`),e.setAttribute(`data-preserve-runtime`,`true`),o.appendChild(e),te.push({messageId:i.id,fingerprint:c,bubble:p});return}}}if(!Se){if(i.variant===`reasoning`&&i.reasoning){if(!Ue)return;Se=c.createReasoningBubble(i,a,p)}else if(i.variant===`tool`&&i.toolCall){if(!We)return;Se=c.createToolBubble(i,a,f)}else if(i.variant===`approval`&&i.approval){if(a.approval===!1)return;let e=oe();if(!e)return;Se=e.createApprovalBubble(i,a,m)}else{let e=a.layout?.messages;Se=e?.renderUserMessage&&i.role===`user`?e.renderUserMessage({message:i,config:a,streaming:!!i.streaming}):e?.renderAssistantMessage&&i.role===`assistant`?e.renderAssistantMessage({message:i,config:a,streaming:!!i.streaming}):Ce(),i.role!==`user`&&Se&&ue(Se,i,a,Q)}}let Te=bs(i.id,i.role);Te.appendChild(Se),nh(pa,i.id,be,Te),o.appendChild(Te),s&&g.set(i.id,be)}),P.composerOverlay&&P.composerOverlay.querySelectorAll(`[data-persona-ask-sheet-for]`).forEach(e=>{let t=e.getAttribute(`data-persona-ask-sheet-for`);t&&!x.has(t)&&Hi(P.composerOverlay,t)});let he=d()?.groupToolRows({root:e,config:a,messages:n,tempContainer:o,streaming:w?Q.isStreaming():!1,runActivity:Q?.getRunActivity(),showToolCalls:We,showReasoning:Ue,dropCompletedToolCalls:pe,dropReasoningRow:fe,createMessageRow:bs,activityIds:i,activityLifecycle:u,toolExpansionState:f});u?.prune(i);for(let e of va.keys())y.has(e)||ya(e);for(let e of xa.keys())y.has(e)||Sa(e);rh(pa,y);let ge=e=>!(e.toolCall?.id&&x.has(e.toolCall.id))&&!ee.some(t=>t.messageId===e.id),_e=e=>fi(e)&&e.agentMetadata?.askUserQuestionAnswered!==!0&&a.features?.askUserQuestion?.enabled!==!1?ge(e):e.variant===`tool`&&!We||e.variant===`reasoning`&&!Ue||me(e),ve=n.some(e=>e.role===`assistant`&&e.streaming&&!_e(e)),ye=n.length-1;for(;ye>=0&&_e(n[ye]);)ye--;let be=ye>=0?n[ye]:void 0,xe=ye<n.length-1,Se=be?.role===`assistant`&&!be.streaming&&be.variant!==`approval`&&!xe;if(!he&&fa&&n.some(e=>e.role===`user`)&&!ve&&!Se){let e={config:a,streaming:!0,location:`standalone`,defaultRenderer:()=>Ug(a)},t=S.find(e=>e.renderLoadingIndicator)?.renderLoadingIndicator?.(e)??a.loadingIndicator?.render?.(e)??Ug(a);if(t){let e=document.createElement(`div`),n=a.loadingIndicator?.showBubble!==!1,r=a.layout?.messages?.layout??`bubble`;e.className=n?Jg(`assistant`,r).join(` `):`persona-text-sm persona-leading-relaxed persona-text-persona-text`,e.setAttribute(`data-typing-indicator`,`true`),n&&(e.style.color=`var(--persona-message-assistant-text, var(--persona-text))`,r!==`flat`&&(e.style.backgroundColor=`var(--persona-message-assistant-bg, var(--persona-container))`,e.style.borderColor=`var(--persona-message-assistant-border, var(--persona-border, #e5e7eb))`)),e.appendChild(t);let i=bs(`typing-indicator`,`assistant`);i.appendChild(e),o.appendChild(i)}}if(!fa&&n.length>0){let e=n[n.length-1],t={config:a,lastMessage:e,messageCount:n.length},r=S.find(e=>e.renderIdleIndicator)?.renderIdleIndicator?.(t)??a.loadingIndicator?.renderIdle?.(t);if(r){let e=document.createElement(`div`);e.className=a.loadingIndicator?.showBubble===!1?`persona-text-sm persona-leading-relaxed persona-text-persona-primary`:`persona-rounded-2xl persona-text-sm persona-leading-relaxed persona-shadow-sm persona-bg-persona-surface persona-border persona-border-persona-message-border persona-text-persona-primary persona-px-5 persona-py-3`,e.setAttribute(`data-idle-indicator`,`true`),e.appendChild(r);let t=bs(`idle-indicator`,`assistant`);t.appendChild(e),o.appendChild(t)}}ed(o),l?.prepare(o),u?.prepare(o),qm(t,o),ha=g;for(let e of Array.from(t.querySelectorAll(`:scope > [data-persona-reuse]`))){let t=pa.get(e.getAttribute(`data-wrapper-id`)??``);t?e.replaceWith(t.wrapper.cloneNode(!0)):e.remove()}if(nd(t),k){let{messageId:e,element:n}=k,r=xs(t,e);r&&n.parentElement!==r&&(ys(r,b.get(e)??`user`),r.replaceChildren(n))}if(ee.length>0)for(let{messageId:e,fingerprint:n,bubble:r}of ee){let i=xs(t,e);i&&(ys(i,b.get(e)??`assistant`),r!==null&&(i.replaceChildren(r),i.setAttribute(`data-bubble-fp`,n),ga.set(e,n)))}if(ga.size>0)for(let e of ga.keys())y.has(e)||ga.delete(e);if(te.length>0)for(let{messageId:e,fingerprint:n,bubble:r}of te){let i=xs(t,e);i&&(ys(i,b.get(e)??`assistant`),r!==null&&(i.replaceChildren(r),i.setAttribute(`data-bubble-fp`,n),_a.set(e,n)))}if(_a.size>0)for(let e of _a.keys())y.has(e)||_a.delete(e);if(D.length>0)for(let{messageId:e,fingerprint:n,bubble:r,focusDefault:i}of D){let a=xs(t,e);if(!a||(ys(a,b.get(e)??`assistant`),r===null))continue;a.replaceChildren(r),a.setAttribute(`data-bubble-fp`,n),ba.set(e,n);let o=qt()&&ka.isFollowing();i&&(o||!No(a))&&r.querySelector(`[data-action="allow"]`)?.focus()}if(ba.size>0)for(let e of ba.keys())y.has(e)||ba.delete(e);d(),l?.sync(),u?.sync()},Cs=()=>{Da().catch(()=>{})},ws=(e,t,n)=>{if(t.length>0&&Cs(),Ss(e,t,n),ms(t),ps(),Wr(),Fr.size>0){for(let[e,n]of Fr)t.some(t=>t.id===e)||(window.clearTimeout(n),Fr.delete(e));Rr()}},Ts=null,Es=()=>{if(Ts)return;let t=e=>{let t=e.composedPath();t.includes(M)||bt&&t.includes(bt)||Rs(!1,`user`)};Ts=t,(e.ownerDocument??document).addEventListener(`pointerdown`,t,!0)},Ds=()=>{Ts&&=((e.ownerDocument??document).removeEventListener(`pointerdown`,Ts,!0),null)};Z.push(()=>Ds());let Os=null,ks=()=>{if(Os)return;let t=e=>{e.key===`Escape`&&(e.isComposing||Rs(!1,`user`))};Os=t,(e.ownerDocument??document).addEventListener(`keydown`,t,!0)},As=()=>{Os&&=((e.ownerDocument??document).removeEventListener(`keydown`,Os,!0),null)};Z.push(()=>As());let Ms=!1,Ns=/* @__PURE__ */ new Set,Ps=()=>a.launcher?.composerBar?.peek?.streamAnimation||a.features?.streamAnimation,Fs=()=>{if(!A())return;let t=P.peekBanner,n=P.peekTextNode;if(!t||!n)return;if(j){t.classList.remove(`persona-pill-peek--visible`);return}let r=Q?.getMessages()??[],i;for(let e=r.length-1;e>=0;e--){let t=r[e];if(t.role===`assistant`&&t.content){i=t;break}}if(!i){t.classList.remove(`persona-pill-peek--visible`);return}let a=i.content,o=!!i.streaming,s=Ps(),c=oh(s),l=c.type===`none`?null:Ii(c.type,s?.plugins),u=l?.isAnimating?.(i)===!0,d=l!==null&&(o||u);d&&l&&!Ns.has(l.name)&&(kh(l,e),Ns.add(l.name));let f=d&&l?.containerClass?l.containerClass:null,p=n.dataset.personaPeekStreamClass??null;p&&p!==f&&(n.classList.remove(p),delete n.dataset.personaPeekStreamClass),f&&p!==f&&(n.classList.add(f),n.dataset.personaPeekStreamClass=f),d?(n.style.setProperty(`--persona-stream-step`,`${c.speed}ms`),n.style.setProperty(`--persona-stream-duration`,`${c.duration}ms`)):(n.style.removeProperty(`--persona-stream-step`),n.style.removeProperty(`--persona-stream-duration`));let m=d?mh(a,c.buffer,l,i,o):a;if(d&&c.placeholder===`skeleton`&&o&&(!m||!m.trim())){let e=document.createElement(`div`),t=Ch();t.classList.add(`persona-pill-peek__skeleton`),e.appendChild(t),qm(n,e)}else{let e=Math.max(0,m.length-100),r=m.length>100?m.slice(-100):m,a=Hu(r);if(!d||!l){let e=m.length>100?`…${r}`:r;n.textContent!==e&&(n.textContent=e)}else{let o=a;(l.wrap===`char`||l.wrap===`word`)&&(o=xh(a,l.wrap,`peek-${i.id}`,{skipTags:l.skipTags,startIndex:e}));let s=document.createElement(`div`);if(s.innerHTML=o,l.useCaret&&r.length>0){let e=Sh(),t=s.querySelectorAll(`.persona-stream-char, .persona-stream-word`),n=t[t.length-1];n?.parentNode?n.parentNode.insertBefore(e,n.nextSibling):s.appendChild(e)}qm(n,s),l.onAfterRender?.({container:n,bubble:t,messageId:i.id,message:i,speed:c.speed,duration:c.duration})}}let h=fa||Ms;t.classList.toggle(`persona-pill-peek--visible`,h)};if(A()){let e=P.peekBanner;if(e){let t=e=>{e.preventDefault(),e.stopPropagation(),Rs(!0,`user`)};e.addEventListener(`pointerdown`,t),Z.push(()=>{e.removeEventListener(`pointerdown`,t)})}let t=()=>{Ms||(Ms=!0,Fs())},n=()=>{Ms&&(Ms=!1,Fs())};N.addEventListener(`pointerenter`,t),N.addEventListener(`pointerleave`,n),Z.push(()=>{N.removeEventListener(`pointerenter`,t),N.removeEventListener(`pointerleave`,n)}),bt&&(bt.addEventListener(`pointerenter`,t),bt.addEventListener(`pointerleave`,n),Z.push(()=>{bt.removeEventListener(`pointerenter`,t),bt.removeEventListener(`pointerleave`,n)}))}let Is=e=>{let t=a.launcher?.composerBar??{},n=t.expandedSize??`anchored`,r=t.bottomOffset??`16px`,i=t.collapsedMaxWidth,o=t.expandedMaxWidth??`880px`,s=t.expandedTopOffset??`5vh`,c=t.modalMaxWidth??`880px`,l=t.modalMaxHeight??`min(90vh, 800px)`,u=`calc(100vw - 32px)`;yn();let d=M.style;if(d.left=``,d.right=``,d.top=``,d.bottom=``,d.transform=``,d.width=``,d.maxWidth=``,d.height=``,d.maxHeight=``,bt){let e=bt.style;e.bottom=r,e.width=i??``}e&&n!==`fullscreen`&&(n===`modal`?(d.top=`50%`,d.left=`50%`,d.transform=`translate(-50%, -50%)`,d.bottom=`auto`,d.right=`auto`,d.width=c,d.maxWidth=u,d.maxHeight=l,d.height=l):(d.left=`50%`,d.transform=`translateX(-50%)`,d.bottom=`calc(${r} + var(--persona-pill-area-height, var(--persona-measured-pill-area-height, 80px)))`,d.top=s,d.width=o,d.maxWidth=u))},Ls=()=>{if(j&&Cs(),!Ne())return;if(A()){let e=(a.launcher?.composerBar??{}).expandedSize??`anchored`,t=j?`expanded`:`collapsed`;M.dataset.state=t,M.dataset.expandedSize=e,bt&&(bt.dataset.state=t,bt.dataset.expandedSize=e),M.style.removeProperty(`display`),M.classList.remove(`persona-pointer-events-none`,`persona-opacity-0`),N.classList.remove(`persona-scale-95`,`persona-opacity-0`,`persona-scale-100`,`persona-opacity-100`),Is(j),F.style.display=j?`flex`:`none`,qr(),j?(Es(),ks()):(Ds(),As()),Fs();return}let t=Rh(a),n=e.ownerDocument.defaultView??window,r=a.launcher?.mobileBreakpoint??640,i=a.launcher?.mobileFullscreen??!0,o=n.innerWidth<=r,s=i&&o&&Ee,c=Bh(a).reveal;j?(M.style.removeProperty(`display`),M.style.display=t?`flex`:``,M.classList.remove(`persona-pointer-events-none`,`persona-opacity-0`),N.classList.remove(`persona-scale-95`,`persona-opacity-0`),N.classList.add(`persona-scale-100`,`persona-opacity-100`),Xd?(Xd.setPanelOpen(!0),Xd.element.style.display=`none`):Zd&&(Zd.style.display=`none`)):(t?t&&(c===`overlay`||c===`push`)&&!s?(M.style.removeProperty(`display`),M.style.display=`flex`,M.classList.remove(`persona-pointer-events-none`,`persona-opacity-0`),N.classList.remove(`persona-scale-100`,`persona-opacity-100`,`persona-scale-95`,`persona-opacity-0`)):(M.style.setProperty(`display`,`none`,`important`),M.classList.remove(`persona-pointer-events-none`,`persona-opacity-0`),N.classList.remove(`persona-scale-100`,`persona-opacity-100`,`persona-scale-95`,`persona-opacity-0`)):(M.style.display=``,M.classList.add(`persona-pointer-events-none`,`persona-opacity-0`),N.classList.remove(`persona-scale-100`,`persona-opacity-100`),N.classList.add(`persona-scale-95`,`persona-opacity-0`)),Xd?(Xd.setPanelOpen(!1),Xd.element.style.display=t?`none`:``):Zd&&(Zd.style.display=t?`none`:``))},Rs=(t,n=`user`)=>{if(!Ne()||j===t)return;let r=j;j=t,Ls();let i=(()=>{let t=a.launcher?.sidebarMode??!1,n=e.ownerDocument.defaultView??window,r=a.launcher?.mobileFullscreen??!0,i=a.launcher?.mobileBreakpoint??640,o=n.innerWidth<=i,s=Rh(a)&&r&&o,c=A()&&(a.launcher?.composerBar?.expandedSize??`fullscreen`)===`fullscreen`;return t||r&&o&&Ee||s||c})();if(j&&i){if(!ji){let t=e.getRootNode(),n=t instanceof ShadowRoot?t.host:e.closest(`.persona-host`);n&&(ji=Nh(n,a.launcher?.zIndex??1e5))}Mi||=Ih(e.ownerDocument)}else j||(ji?.(),ji=null,Mi?.(),Mi=null);j&&(of(),$o()||(Kt()===`follow`?Wo(!0):Xo()));let o={open:j,source:n,timestamp:Date.now()};j&&!r?O.emit(`widget:opened`,o):!j&&r&&O.emit(`widget:closed`,o),O.emit(`widget:state`,{open:j,launcherEnabled:Ee,voiceActive:$.active,streaming:Q.isStreaming()})},zs={inputDisabled:!1,sendDisabled:!1},Bs=()=>zs.inputDisabled,Vs=()=>_u(a.voiceRecognition?.provider)&&!!Q&&(Q.isBargeInActive()||[`listening`,`processing`,`speaking`].includes(Q.getVoiceStatus())),Hs=()=>zs.inputDisabled||zs.sendDisabled,Us=()=>(zs.inputDisabled?zs.inputReason:void 0)??(zs.sendDisabled?zs.sendReason:void 0);function Gs(){if(!wt)return;if(G.getState().phase===`streaming`){wt.disabled=!1;return}let e=W?!W.isReady():!1;wt.disabled=Hs()||e}function Ks(){if(!V)return;let e=G.getState(),t=a.sendButton?.visibility===`when-text`&&e.phase!==`streaming`&&e.text.trim().length===0&&e.attachments.length===0;V.toggleAttribute(`data-persona-send-hidden`,t)}function Xs(){let e=Us();if(A()){let t=Tt??B;e?t.setAttribute(`title`,e):t.removeAttribute(`title`),B.toggleAttribute(By,!!e)}else if(e)z.setAttribute(`role`,`status`),z.setAttribute(`aria-live`,`polite`),z.setAttribute(By,``),z.removeAttribute(Vy),z.textContent=e,Go(z,a.statusIndicator??{},`idle`);else if(z.hasAttribute(By)&&(z.removeAttribute(`role`),z.removeAttribute(`aria-live`),z.removeAttribute(By),w)){let e=Q.getStatus();vt(z,_t(e),a.statusIndicator??{},e)}}function Qs(){let e=tc(a.composer?.inputDisabled),t=tc(a.composer?.sendDisabled);zs={inputDisabled:e.disabled,inputReason:e.reason,sendDisabled:t.disabled,sendReason:t.reason},G.setInputDisabled(e.disabled),G.setSendDisabled(t.disabled);let n=G.getState().phase===`streaming`,r=e.disabled,i=n||r;R&&(R instanceof HTMLTextAreaElement?R.disabled=r:R.setAttribute(`contenteditable`,r?`false`:`true`),R.setAttribute(`aria-disabled`,r?`true`:`false`)),Vt&&(Vt.disabled=r),Ut&&(Ut.disabled=r);for(let e of Sn?.affordanceButtons??[])e.querySelectorAll(`button`).forEach(e=>{e.disabled=r});H&&(H.disabled=r||n&&!Vs()),Wi.forEach(e=>{e.elements.forEach(e=>{e.toggleAttribute(`data-disabled`,i),e instanceof HTMLButtonElement||e.setAttribute(`aria-disabled`,i?`true`:`false`)}),e.buttons.forEach(e=>{e.disabled=i})}),Tc.forEach(e=>{e.toggleAttribute(`data-disabled`,i),e instanceof HTMLButtonElement?e.disabled=i:e.setAttribute(`aria-disabled`,i?`true`:`false`),e.querySelectorAll(`button`).forEach(e=>{e.disabled=i})}),B.dataset.personaComposerStreaming=n?`true`:`false`,B.dataset.personaComposerInputDisabled=r?`true`:`false`,B.dataset.personaComposerSendDisabled=Hs()?`true`:`false`,B.querySelectorAll(`[data-persona-composer-disable-when-streaming]`).forEach(e=>{(e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement)&&(e.disabled=n)}),Gs(),Xs()}let nc=e=>{G.setStreaming(e),Bt(e?`stop`:`send`),Qs()},ac=()=>{e.hasAttribute(`data-persona-preparing`)?o.ready.then(ac,()=>{}):$.active||R&&R.focus()};O.on(`widget:opened`,()=>{a.autoFocusInput&&setTimeout(()=>ac(),200)});let oc=null,sc=!1,cc=!Et.hidden,lc=null,dc=!pe,mc=null;Z.push(()=>{mc?.cancel(),mc=null});let hc=t=>{let n=S_(t);if(n===pn)return;pn=n,e.setAttribute(`data-persona-conversation-state`,n);let r=gn();xn(),dc&&(mc?.cancel(),mc=h_(B,n===`active`?r:gn(),n===`active`?`drop`:`rise`,fn().layout===`centered`?320:260)),cs()},gc=null,_c,yc=null,bc=null,xc=!1,Cc=e=>{let t=fn(),n=`${t.variant}|${t.layout}|${t.dismiss}|${t.anchor??`bottom`}|${t.align??``}|${t.iconPlacement}|${t.kicker??``}|${t.title}|${t.subtitle}`;(n!==gc||t.icon!==_c)&&(gc=n,_c=t.icon,a_({host:Et,iconHolder:Dt,kicker:kt,title:At,subtitle:jt,starterSuggestions:xt},t));let r=t.message===void 0?null:`${a.layout?.messages?.layout??`bubble`}|${t.message}`;r!==yc&&(yc=r,f_(Ot,t.message,a));let i=e??(Q?Q.getMessages():a.initialMessages);hc(i);let o=sc,s=!o&&C_(t,i),c=s!==cc;if(cc=s,bc){lc?.cancel(),lc=null,o!==xc&&(xc=o,o?u_(I,Et,null):l_(I,Et,bc)),i_(I,Et,!o);return}if(c&&!s&&!o&&t.dismiss===`on-first-message`&&dc){lc=m_(Et,e=>{lc===e&&(lc=null),!cc&&!bc&&(i_(I,Et,!1),cs()),e?.cancel()});return}if(lc){if(!s&&!o)return;lc.cancel(),lc=null}let l=!Et.hidden;i_(I,Et,s),!s&&l&&cs()},wc=[],Tc=[],Dc=!1,Oc=null,kc,Ac=()=>{Tc.length=0;let e=wc.splice(0,wc.length);for(let t of e)try{t()}catch(e){console.warn(`[persona] renderWelcome cleanup threw`,e)}};Z.push(Ac);let jc=(e,t)=>{let n=Uh(e,t);if(!n)return a.debug===!0&&console.warn(`[persona] renderStarter received a suggestion with no label`),J(`span`);let r=a.suggestions?.starters,i=qh({item:{...n,behavior:n.behavior??r?.behavior??`send`},index:t,surface:`starter`,source:`config`,variant:r?.variant??`card`,streaming:w?Q.isStreaming():!1,config:a,plugins:S,chipsConfig:a.suggestionChipsConfig,session:Q,getTextarea:()=>R,eventTarget:Et,submitPrompt:Ru});return Tc.push(i),i},Mc=()=>{if(Dc)return;Dc=!0;let e=fn();Oc=`${e.variant}|${e.layout}|${e.dismiss}|${e.title}|${e.subtitle}|${e.message??``}`,kc=e.icon;try{Ac(),u_(I,Et,bc),bc=null,xc=!1;let t=Q?Q.getMessages():a.initialMessages,n=C_(e,t),r=0,i=null;for(let t of S)if(t.renderWelcome&&(i=t.renderWelcome({config:e,variant:e.variant,visible:n,defaultRenderer:()=>Et,sendMessage:e=>{if(!Q||Q.isStreaming())return;let t=e.trim();t&&Q.sendMessage(t)},requestRender:()=>Mc(),renderStarter:e=>jc(e,r++),storage:te(t.id),onCleanup:e=>{wc.push(e)}}),i))break;i&&i!==Et&&(bc=i,l_(I,Et,i))}finally{Dc=!1}Cc()},Nc=()=>{let e=fn();(`${e.variant}|${e.layout}|${e.dismiss}|${e.title}|${e.subtitle}|${e.message??``}`!==Oc||e.icon!==kc)&&Mc()},Pc=()=>{Cc(),er||(R.placeholder=yp(G.getState().activeModeIds,a.composer?.modes)??a.copy?.inputPlaceholder??`How can I help...`,!(a.sendButton?.useIcon??!1)&&!Q?.isStreaming()&&(wt.textContent=a.copy?.sendButtonLabel??`Send`)),R.style.fontFamily=`var(--persona-input-font-family, var(--persona-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif))`,R.style.fontWeight=`var(--persona-input-font-weight, var(--persona-font-weight, 400))`},Fc=!!a.setStoredConversationId,Ic=e=>Se(t=>{let n={...t};return delete n[e],n}),Lc=e=>{let t=fe[e];return typeof t==`string`?t:null},Rc=()=>{let e=fe.durableResume;if(!e||typeof e!=`object`)return null;let t=e;return typeof t.executionId==`string`&&t.executionId.length>0&&typeof t.after==`string`&&t.after.length>0?{executionId:t.executionId,after:t.after}:null};a.clientToken&&(a={...a,getStoredSessionId:()=>Lc(`sessionId`),setStoredSessionId:e=>{Se(t=>({...t,sessionId:e}))},clearStoredSessionId:a.clearStoredSessionId??(()=>Ic(`sessionId`)),getStoredConversationId:a.getStoredConversationId??(()=>Lc(`conversationId`)),setStoredConversationId:a.setStoredConversationId??(e=>{Se(t=>({...t,conversationId:e}))}),clearStoredConversationId:a.clearStoredConversationId??(()=>Ic(`conversationId`))});let Bc=()=>a.clientToken??null,Hc=e=>wy(e,qe(),a.persistState===!1),Uc=Bc(),Wc=Uc?Hc(Uc):null,Gc=()=>{let e=fe.pendingDisplayProjections;if(!e||typeof e!=`object`)return null;let t=e;return typeof t.conversationId!=`string`||!Array.isArray(t.messageIds)?null:{conversationId:t.conversationId,messageIds:t.messageIds.filter(e=>typeof e==`string`)}},Kc={...Wc?{visitorStore:Wc}:{},historyBootstrapReady:a.features?.history?.enabled===!0&&!Ny()?Promise.all([he,_e]).then(()=>{}):he,getStoredMessageCursor:()=>Lc(`historyMessageCursor`),setStoredMessageCursor:e=>{e===null?Ic(`historyMessageCursor`):Se(t=>({...t,historyMessageCursor:e}))},getPendingDisplayProjections:Gc,setPendingDisplayProjections:e=>{e?Se(t=>({...t,pendingDisplayProjections:e})):Ic(`pendingDisplayProjections`)},getStoredResumableHandle:Rc,setStoredResumableHandle:e=>{e?Se(t=>({...t,durableResume:e})):Ic(`durableResume`)},shouldResumeDurableConversation:()=>de&&Rc()!==null,...Fc?{}:{getStoredConversationRevision:()=>Lc(`conversationRevision`),setStoredConversationRevision:e=>{e===null?Ic(`conversationRevision`):Se(t=>({...t,conversationRevision:e}))}}};if(de){let t=a.onExecutionState,n=e.ownerDocument.defaultView,r=!1,i=()=>r=!0,o=()=>r=!1;n?.addEventListener(`pagehide`,i),n?.addEventListener(`pageshow`,o),Z.push(()=>{n?.removeEventListener(`pagehide`,i),n?.removeEventListener(`pageshow`,o)}),a={...a,reconnectStream:a.reconnectStream??(e=>Q.getClient().reconnectClientTokenStream(e)),onExecutionState:e=>{(e||!r)&&Kc.setStoredResumableHandle?.(e?{executionId:e.executionId,after:e.lastEventId}:null),t?.(e)}}}let qc=()=>{let e=Bc();if(e&&Wc?.matches(e,qe(),a.persistState===!1)||!e&&!Wc)return;Wc?.destroy(),Wc=e?Hc(e):null;let t={...Kc};Wc?t.visitorStore=Wc:delete t.visitorStore,Kc=t,Q.setHistoryInternals(Kc)},Jc=null,Yc=()=>{Jc??=setInterval(()=>{let e=L.querySelectorAll(`[data-tool-elapsed]`);if(e.length===0){clearInterval(Jc),Jc=null;return}let t=Date.now();e.forEach(e=>{c?.updateActivityElapsed(e,t)})},100)},Xc=e=>e.role===`user`||e.variant===`approval`||e.agentMetadata?.awaitingLocalTool===!0||fi(e),Zc=(e,t)=>{if(t.length<e.length)return!1;for(let n=0;n<t.length;n+=1){let r=t[n];if(r!==e[n]){if(Xc(r))return!1;r.role===`assistant`&&r.streaming&&ma.add(r.id)}}return!0},Qc=null,$c=null,el=null,tl=null,nl=e=>{if(!de)return uo(e);tl=e,queueMicrotask(()=>{tl===e&&(tl=null,uo($c??e))})},rl=e=>{!e.length&&a.future?.v5Defaults&&(Ki=null),Qc=e;let t,n;for(let r=e.length-1;r>=0;--r){let i=e[r];if(!t&&i.role===`user`&&(t=i),!n&&i.role===`assistant`&&(n=i),t&&n)break}ws(L,e,He),lu()?.updateInlineArtifactBlocks(L,Xr.artifacts,{suppressTransition:fa}),Yc(),Cc(e),sa(e),Wo(!fa),vs(e),Vo(),tt?.update(),e.length===0&&(rs(),Ba=!0,Va=!1,Ha=null,Ua=!1),!La||Ra?(La=!0,za=t?.id??null,Ga=n?.id??null):t&&t.id!==za?(za=t.id,gs(t.id)):n&&n.id!==Ga&&_s(),n&&(Ga=n.id);let r=$.lastUserMessageId;t&&t.id!==r&&($.lastUserMessageId=t.id,O.emit(`user:message`,t)),$.lastUserMessageWasVoice=!!t?.viaVoice,nl(e),Fs(),O.emit(`messages:changed`,e)},il=()=>{el!==null&&(cancelAnimationFrame(el),el=null);let e=$c;$c=null,e&&rl(e)},al=()=>{el!==null&&cancelAnimationFrame(el),el=null,$c=null},ol=e=>{if(e.length===0){al(),rl(e);return}let t=$c??Qc;fa&&t&&Zc(t,e)?($c=e,el===null&&(el=requestAnimationFrame(()=>{el=null;let e=$c;$c=null,e&&rl(e)}))):(il(),rl(e))};Q=new zf(a,{onRunStarted:e=>O.emit(`run:started`,e),onRunFinished(e){il(),a.turnActivity?.enabled&&ws(L,Q.getMessages(),He),O.emit(`run:finished`,e)},onMessagesChanged(e){ol(e)},onStatusChanged(e){let t=a.statusIndicator??{};vt(z,(e=>e===`idle`?t.idleText??ca.idle:e===`connecting`?t.connectingText??ca.connecting:e===`connected`?t.connectedText??ca.connected:e===`error`?t.errorText??ca.error:e===`paused`?t.pausedText??ca.paused:e===`resuming`?t.resumingText??ca.resuming:ca[e])(e),t,e),Vo(),tt?.update(),mt()},onStreamingChanged(e){e||(Q?.getMessages().length===0?al():il()),fa=e,e?la():a.future?.v5Defaults&&sa(),nc(e),mt(),Q&&ws(L,Q.getMessages(),He),e||(Wo(!0),ns(),aa=!0,Q&&oa(Q.getMessages(),na(a))),Vo(),tt?.update(),un(e?`Responding…`:`Response complete.`),Fs()},onVoiceStatusChanged(e){if(O.emit(`voice:status`,{status:e,timestamp:Date.now()}),e!==`disconnected`&&!_u(a.voiceRecognition?.provider))return;let t=Q.getVoiceNotice();switch(t&&ou(t,1e4),e){case`listening`:if(!Za){let e=Q.getVoiceDisclosure();e&&(Za=!0,A()?(Qa=R.placeholder,R.placeholder=e,un(e)):ou(e,1e4))}Ad(),Dd();break;case`processing`:Ad(),Od();break;case`speaking`:Ad(),kd();break;default:e===`idle`&&Q.isBargeInActive()?(Ad(),Dd(),H?.setAttribute(`aria-label`,`End voice session`)):($.active=!1,Za=!1,Qa!==null&&(R.placeholder=Qa,Qa=null),Ad(),no(`system`),to||ro())}},onArtifactsState(e){Xr=e,e.artifacts.length===0&&(ei=!1),lu()?.updateInlineArtifactBlocks(L,e.artifacts,{suppressTransition:fa}),wi(),uo()},onHistoryStateChanged(e){ft(e)},onHistoryNotice(e){pt(e)},onHistoryScopeInvalidated(){Nl(),cl?.clearConversationOpenPending()},onConversationExecutionState(e){O.emit(`conversation:executionState`,e)},onReconnect(e){let{executionId:t,lastEventId:n}=e.handle;e.phase===`paused`?O.emit(`stream:paused`,{executionId:t,after:n}):e.phase===`resuming`?O.emit(`stream:resuming`,{executionId:t,after:n,attempt:e.attempt??1}):O.emit(`stream:resumed`,{executionId:t,after:n})}},Kc),ri.current=Q,Z.push(()=>Q.cancel()),Z.push(()=>{Q.destroy(),Wc?.destroy(),Wc=null});let sl=null;if(Q.onReadAloudChange((e,t)=>{Br=e,Vr=t,Wr();let n=e??sl;e&&(sl=e);let r=n?Q.getMessages().find(e=>e.id===n)??null:null;O.emit(`message:read-aloud`,{messageId:n,message:r,state:t,timestamp:Date.now()}),t===`idle`&&(sl=null)}),w=!0,La=!0,a.voiceRecognition?.enabled===!0&&bu(a))try{Q.setupVoice()}catch(e){typeof console<`u`&&console.warn(`[AgentWidget] Runtype voice setup failed:`,e)}let cl=null,ll=null,ul=!1,dl=Q.getHistoryState(),fl=()=>a.features?.history?.enabled===!0,hl=e=>{e&&(sn.textContent=``,sn.textContent=e)},gl=()=>{ee.forEach(e=>e()),ee=[];let t=cl,n=t?.railCollapseShortcut();t&&n&&ee.push(C.register({id:`history-rail-collapse`,combo:n.combo,scope:a.features?.history?.rail?.collapseShortcutScope===`page`?`page`:`widget`,when:()=>ct&&lt===`rail`&&t.railCollapsible()||t.railTriggerApplies(),run:()=>t.railOverlayMode()?t.toggleRailPinned():t.toggleRailCollapsed()}));for(let t of a.layout?.header?.trailingActions??[])t.shortcut&&ee.push(C.register({id:`header-action-${t.id}`,combo:t.shortcut,run:()=>{let n=e.querySelector(`[data-persona-header-action="${t.id}"]`);n?n.click():a.layout?.header?.onAction?.(t.id)}}));for(let e of S)for(let t of e.shortcuts??[])ee.push(C.register({...t,id:`${e.id}:${t.id}`}))};gl();let _l=null,vl=!1,yl=()=>{if(!Pt)return;let e=a.layout?.header?.titleSource===`conversation`,t=e&&_l?.trim()||null;Pt.textContent=t??a.launcher?.title??`Chat Assistant`;let n=Pt.closest(`.persona-combo-btn`);if(!n)return;let r=!e||Q.getActiveConversationId()!==null;n.setAttribute(`data-persona-menu-locked`,r?`false`:`true`),n.setAttribute(`aria-haspopup`,r?`true`:`false`),r||n.setAttribute(`aria-expanded`,`false`),n.style.cursor=r?`pointer`:`default`;let i=n.querySelector(`svg`);i&&(i.style.display=r?``:`none`)},xl=e=>{e!==_l&&(_l=e,yl())},Sl=e=>{vl=e?.starred===!0,xl(e&&e.title.trim()||null),yl()};yl(),F.addEventListener(`persona:title-menu-builtin`,e=>{let t=e.detail?.actionId,n=Q.getActiveConversationId();n&&(t===`delete`?Ll(e=>e.requestDeleteConversation(n)):t===`star`&&Q.canUpdateConversations()&&Ll(e=>e.updateHistoryConversation(n,{starred:!vl})).catch(()=>{}))});let Cl=/* @__PURE__ */ new Map,wl=(e=Q.getActiveConversationId(),t=cl?.historyOperationScope()??a.features?.history?.scope??(a.getIdentityProof?`verified-user`:`browser`))=>JSON.stringify([t,e]),Tl=null,El=0,Dl=()=>{let e=I.getBoundingClientRect().top,t=I.clientHeight>0?Array.from(L.querySelectorAll(`[data-message-id]`)).find(t=>t.getBoundingClientRect().bottom>e):void 0;return{top:I.scrollTop,anchorId:t?.dataset.messageId,anchorOffset:t?t.getBoundingClientRect().top-e:0,following:ka.isFollowing(),followFallback:Ba,anchored:Va,anchoredId:Ha,readerEngaged:Ua,anchor:Fa?{...Fa}:null,unread:Pa}},Ol=()=>{ud(),wd(`system`),bu(a)&&Q.cleanupVoice(),++El,ru?.abort(),ru=null,G.setPreparing(!1),Ea(),_o();let e=G.getState(),t=wl();Cl.set(t,{draft:{text:e.text,mentionRefs:[...e.mentionRefs],contentSegments:eu(),quote:e.quote,selectedModelId:e.selectedModelId,activeModeIds:[...e.activeModeIds]},document:Sn?.getInlineInput()?.getDocument?.(),mentions:Sn?.captureDraft()??[],attachments:W,pending:e.pendingSubmission,reading:Tl?.key===t?Tl.reading:Dl()}),ho.cancel()},kl=e=>{Ba=e.followFallback,Va=e.anchored,Ha=e.anchoredId,Ua=e.readerEngaged,Fa=e.anchor?{...e.anchor,pending:0}:null,es(e.anchor?.spacerHeight??0),e.following?ka.resume():ka.pause(),Pa=e.unread;let t=Array.from(L.querySelectorAll(`[data-message-id]`)).find(t=>t.dataset.messageId===e.anchorId);Ma=!0,e.following&&qt()?I.scrollTop=Cu(I):t?I.scrollTop+=t.getBoundingClientRect().top-I.getBoundingClientRect().top-e.anchorOffset:I.scrollTop=e.top,Ma=!1,Aa=I.scrollTop,lf=Cu(I),ko(),Oi(),Vo()},Al=(e=!1,t=!0)=>{let n=e?void 0:Cl.get(wl());Sn?.clear(),W?.setPreviewsContainer(null),W=n?.attachments??(a.attachments?.enabled?On():null),W?.updateConfig(En()),W?.remountPreviews(Wt),kn(W?.getAttachments()??[]);let r=n?.draft,i=Sn?.getInlineInput();n?.document&&i?.setDocument?i.setDocument(n.document):i?i.setValueWithCaret(r?.text??``,(r?.text??``).length):R.value=r?.text??``,Sn?.restoreDraft(n?.mentions??[]),Cn(),wn(),G.setSelectedModelId(r?a.composer?.models?.some(e=>e.id===r.selectedModelId)?r.selectedModelId:void 0:a.composer?.selectedModelId),Fn?.repaint(),Nn(_p(r?.activeModeIds??a.composer?.defaultActiveModeIds??[],An())),Rn(r?.quote),Un(n?.pending),Gu(),rs(),Eo(),cl?.cancelConversationOpenTakeover(),oc&&(oc.hidden=!0),sc=!1,L.style.removeProperty(`display`),n?kl(n.reading):(Uo(),$o()||Xo()),t&&(fo=mo()?cp({...G.getState(),contentSegments:eu()}):void 0),ho.cancel(),t&&uo(),Tl={key:wl(),reading:n?.reading??Dl()}},Nl=(e,t=!0,n=!0)=>{for(let[t,n]of Cl)(e===void 0||JSON.parse(t)[1]===e)&&(n.attachments?.destroy({release:!0}),W===n.attachments&&(W=null),Cl.delete(t));(e===void 0||e===Q.getActiveConversationId())&&(++El,po=null,ru?.abort(),ru=null,ud(),W?.destroy({release:!0}),W=null,t&&Al(!0,n),Tl=null)};ft=e=>{dl=e,cl?.historySurface?.view.setNewConversationRequired(e.recovery===`new_conversation_required`),nc(e.sendBlocked||fa),cl?.syncEarlierMessagesPill()},pt=e=>{(e.code===`history_continuity_reset`||e.code===`conversation_deleted_recovered`)&&(Nl(),cl?.clearConversationOpenPending(),pa.clear(),rs(),Uo()),hl(e.message),cl?.historySurface?.view.refresh()};let Pl={getBubbleClasses:Jg,parseCombo:zm,formatCombo:Hm,ariaCombo:Um,usesSessionVoiceForConfig:bu,applyBubbleGeometry:Xg,resolveThemeDefaults:Yp,composerStore:G,get attachmentManager(){return W},set attachmentManager(e){W=e},get composerConversationGeneration(){return El},set composerConversationGeneration(e){El=e},get submissionAbort(){return ru},set submissionAbort(e){ru=e},persistState:uo,applyMessageRowLayout:ys,SessionHistoryError:If,instanceId:r,discardConversationContinuity:Nl,clearPersistedDraft:yo,saveConversationContinuity:Ol,restoreConversationContinuity:Al,get pendingConversationReading(){return Tl},set pendingConversationReading(e){Tl=e},conversationStateKey:wl,captureConversationReading:Dl,restoreConversationReading:kl,get conversationPersistenceOwner(){return po},set conversationPersistenceOwner(e){po=e},setComposerDisabled:nc,get actionManager(){return Te},get activeConversationTitle(){return _l},announceHistory:hl,get applyRailChrome(){return dt},set applyRailChrome(e){dt=e},get artifactSplitRoot(){return pi},get body(){return I},get config(){return a},get container(){return F},get conversationOpenPendingEl(){return oc},set conversationOpenPendingEl(e){oc=e},get conversationOpenTakeover(){return sc},set conversationOpenTakeover(e){sc=e},currentKeyPrefix:qe,destroyCallbacks:Z,eventBus:O,get footer(){return B},get header(){return It},get historyChromeSync(){return mt},set historyChromeSync(e){mt=e},historyFeatureEnabled:fl,get historyInternals(){return Kc},set historyInternals(e){Kc=e},get historyPresentation(){return lt},set historyPresentation(e){lt=e},get historySessionState(){return dl},get historyVisible(){return ct},set historyVisible(e){ct=e},get isStreaming(){return fa},jumpToBottomInstant:Xo,get lastAppliedMessages(){return Qc},set lastAppliedMessages(e){Qc=e},get launcherEnabled(){return Ee},get launcherSurfaceInstance(){return Xd},maybeFocusInput:ac,messageCache:pa,get messagesWrapper(){return L},mount:e,get open(){return j},panel:N,panelElements:P,panelSuggestions:rn,panelSuggestionsFade:an,get persistentMetadata(){return fe},set persistentMetadata(e){fe=e},plugins:S,get reapplyHistoryHostChrome(){return ut},set reapplyHistoryHostChrome(e){ut=e},repinAnchoredMessage:cs,resetAnchorState:rs,restoreScrollPosition:$o,resumeAutoScroll:Uo,runStorageMutation:lo,get session(){return Q},setActiveConversationSummary:Sl,storageAdapter:k,get suppressScrollSend(){return Ra},set suppressScrollSend(e){Ra=e},syncScrollToBottomButton:Vo,scrollToBottomButton:tn,updateWelcome:Cc,getHistoryProviderFactory:Py,historyErrors:{HistoryClientError:Fd,HistoryProviderError:zd},isDockedMountMode:Rh,renderLucideIcon:K,loadHistoryView:Dy,createHeaderIconButton:$h,attachTooltip:So},Fl=e=>(!cl&&!ul&&(cl=e.createHistoryShell(Pl),cl.railCollapseShortcut()&&gl()),cl),Il=()=>{if(cl)return Promise.resolve(cl);let e=Ny();return e?Promise.resolve(Fl(e)):(ll??=My().then(Fl,e=>{throw ll=null,e}),ll)},Ll=e=>{let t=Ny(),n=cl??(t?Fl(t):null);return n?e(n):Il().then(t=>{if(!t)throw Error(`[AgentWidget] The widget was destroyed`);return e(t)})},zl=()=>{cl?.syncHistoryPresentation()};Z.push(()=>{ul=!0}),fl()&&Il().catch(()=>{}).finally(ge),a.clientToken&&(a.features?.history?.enabled===!0||a.sessionInit===`mount`)&&Q.initClientSession().then(()=>{let e=cl;if(e?.historyAvailable())return Q.reconcileBootConversation({scope:e.historyScope()})}).then(()=>{cl?.syncEarlierMessagesPill()}).catch(e=>{a.debug&&console.warn(`[AgentWidget] Pre-init client session failed:`,e)});let Bl=()=>Q.warmClientSession(),Vl=e=>{let t=a.sessionInit??`input`,n=q?.input??R,r=e.target;n&&(e.type===`input`?(t===`input`||t===`focus`)&&r===n&&e.inputType&&n.value.trim():t===`focus`&&(e.type===`keyup`?r===n&&e.key===`Tab`:(q?.form??Tt)?.contains(r)))&&Bl()},Hl=[`input`,`pointerdown`,`keyup`];Hl.forEach(t=>e.addEventListener(t,Vl));let Gl,Kl,ql=()=>{let e=Kl;Kl=void 0;try{typeof e==`function`&&e()}catch{}},Jl=()=>{let t=a.clientToken&&typeof a.sessionInit==`function`?a.sessionInit:void 0;if(t!==Gl){ql(),Gl=t;try{Kl=t?.({warm:Bl,mount:e})}catch{}}};Jl(),Z.push(()=>{Hl.forEach(t=>e.removeEventListener(t,Vl)),ql()}),(Ge||a.onSSEEvent)&&Q.setSSEEventCallback((e,t)=>{a.onSSEEvent?.(e,t),ot(e,t)});let Yl=()=>{let e=a.resume??(de?Kc.getStoredResumableHandle?.():null);e&&typeof a.reconnectStream==`function`&&Q.resumeFromHandle(e)};pe?pe.then(e=>{if(e){if(e.metadata&&(fe=qy(e.metadata),Te.syncFromMetadata()),e.messages?.length){Ra=!0;try{Q.hydrateMessages(e.messages)}finally{Ra=!1}Cs()}e.artifacts?.length&&Q.hydrateArtifacts(e.artifacts,e.selectedArtifactId??null),vo(e.draft)}}).catch(e=>{typeof console<`u`&&console.error(`[AgentWidget] Failed to hydrate stored state:`,e)}).finally(()=>{dc=!0,me(),Yl()}):(vo(ve),Yl());let Xl=()=>{A()&&(j||(a.launcher?.composerBar?.expandOnSubmit??!0)&&Rs(!0,`auto`))},Zl=(e,t)=>e?t?{refs:[...e.refs,...t.refs],finalize:async()=>{let[n,r]=await Promise.allSettled([e.finalize(),t.finalize()]),i=[];return n.status===`fulfilled`?i.push(n.value):console.warn(`[Persona] a mention bundle failed to finalize; sending without it`,n.reason),r.status===`fulfilled`?i.push(r.value):console.warn(`[Persona] a mention bundle failed to finalize; sending without it`,r.reason),Qy(i)}}:e:t,eu=()=>{let e=R.getInlineMessageFields?.();if(e)return e.contentSegments.some(e=>e.kind===`mention`)?e.contentSegments:void 0},tu=!1,nu=0,ru=null,iu=()=>{R.value=``,R.style.height=`auto`,Cn(),Gu()},au=null;function ou(e,t=4e3){un(e),!A()&&z&&(z.hasAttribute(By)||(z.setAttribute(Vy,``),z.setAttribute(`role`,`status`),z.setAttribute(`aria-live`,`polite`),z.textContent=e,Go(z,a.statusIndicator??{},`idle`),au&&clearTimeout(au),au=setTimeout(()=>{if(au=null,z?.hasAttribute(Vy)&&(z.removeAttribute(Vy),z.removeAttribute(`role`),z.removeAttribute(`aria-live`),w)){let e=Q.getStatus();vt(z,_t(e),a.statusIndicator??{},e)}},t)))}function su(){let e=G.getState().pendingSubmission;e&&(Un(void 0),R&&(R.value=e.text,R.dispatchEvent(new Event(`input`,{bubbles:!0})),Cn()),e.options.selectedModelId&&(G.setSelectedModelId(e.options.selectedModelId),Fn?.repaint()),e.options.activeModeIds?.length&&Nn(e.options.activeModeIds),e.options.quote&&Rn(e.options.quote),R?.focus())}let du=e=>{typeof console<`u`&&console.error(`[AgentWidget] composer.onBeforeSend failed; the draft was preserved:`,e)},fu=(e={})=>{if(ld()||oc)return;let t=El,n=(e.overrideText??R?.value??``).trim();return e.resolveInlineCommand&&n?(Sn?.takeInlineCommand(n)??Promise.resolve(null)).then(r=>{if(t===El)return pu(e,n,r)}):pu(e,n,null)},pu=(e,t,n)=>{if(n?.kind===`action`){iu(),Sn?.clear(),wn();return}let r=n?.kind===`server`?n.mentions:null,i=n?.kind===`prompt`?n.sendText:t,o=e.pending?.contentParts;if(!Ep({text:i,hasAttachments:(W?.hasAttachments()??!1)||(o?.length??0)>0,attachmentsReady:W?.isReady()??!0,hasMentions:Sn?.hasMentions()??!1,hasServerMentions:!!r,inputDisabled:Bs(),sendDisabled:Hs()}))return;let s=Q.isStreaming()?Vn():`block`;if(s===`defer-one`&&!e.pending){if(G.getState().pendingSubmission){ou(`One message is already queued. Edit or remove it first.`);return}gu({intent:e,sendText:i,serverMentions:r});return}let c={text:i,mentionRefs:[...Sn?.getMentionRefs()??[],...r?.refs??[]],contentSegments:n?.kind===`prompt`?void 0:eu(),options:{...G.getState().selectedModelId&&{selectedModelId:G.getState().selectedModelId},...G.getState().activeModeIds.length>0&&{activeModeIds:[...G.getState().activeModeIds]},...G.getState().quote&&{quote:{...G.getState().quote}}},viaVoice:e.viaVoice};e.pending&&(c.options={...e.pending.options},c.contentSegments=e.pending.contentSegments,c.mentionRefs=[...e.pending.mentionRefs],c.viaVoice=e.pending.viaVoice);let l=()=>{if(o?.length)return[...o];if(!W?.hasAttachments())return;let e=[...W.getContentParts()];return c.text&&e.push(js(c.text)),e};c.contentParts=l();let u=()=>{Ea(),Xl();let t=Sn?.collectForSubmit()??null,n=Zl(t,r),i=l();e.consumeDraft!==!1&&iu();let o={selectedModelId:c.options.selectedModelId,activeModeIds:c.options.activeModeIds},u=s===`interrupt`;u&&Q.cancel(),Q.sendMessage(c.text,{contentParts:i,mentions:n??void 0,contentSegments:c.contentSegments,viaVoice:c.viaVoice,composerOptions:o,...c.options.quote&&{quote:c.options.quote},...u&&{interrupt:!0}}),W?.hasAttachments()&&W.clearAttachments(),t&&Sn?.clear(),wn();let d=G.getState().activeModeIds,f=vp(d,a.composer?.modes);f.length!==d.length&&Nn(f),G.getState().quote&&Rn(void 0),yo(),yr.release(),Sr()},d=a.composer?.onBeforeSend;if(!d){u();return}let f=new AbortController;ru=f;let p=El,m=e=>{f.signal.aborted||p!==El||(ru===f&&(ru=null),e.status===`error`?du(e.error):e.status===`proceed`&&u())},h=kp(d,c,f.signal);if(!(h instanceof Promise))m(h);else return G.setPreparing(!0),h.then(m).finally(()=>{p===El&&G.setPreparing(!1)})};function gu(e){let t=G.getState(),n=W?.hasAttachments()??!1,r=n?[...W.getContentParts()]:[];n&&e.sendText&&r.push(js(e.sendText)),Un(Tp({text:e.sendText,contentParts:r.length?r:void 0,mentionRefs:[...Sn?.getMentionRefs()??[],...e.serverMentions?.refs??[]],contentSegments:eu(),options:{...t.selectedModelId&&{selectedModelId:t.selectedModelId},...t.activeModeIds.length>0&&{activeModeIds:[...t.activeModeIds]},...t.quote&&{quote:{...t.quote}}},viaVoice:e.intent.viaVoice})),e.intent.consumeDraft!==!1&&iu(),n&&W.clearAttachments(),Sn?.clear(),wn(),t.quote&&Rn(void 0),yo(),yr.release(),Sr(),un(`Message queued. It sends when the response finishes.`)}function vu(){let e=G.getState().pendingSubmission;e&&(Un(void 0),zu(e.text,{consumeDraft:!1,pending:e}))}function yu(e){if(a.messageActions?.showEdit!==!0)return;let t=Q.getMessages().find(t=>t.id===e);t&&nf(t)&&$d(Q.getMessages(),e)&&wa!==e&&(Ea(),wa=e,Ta=sp({messageId:e,initialText:t.content,onSave:t=>Fu(e,t),onCancel:()=>Ea()}),pa.delete(e),ws(L,Q.getMessages(),He),Ta.focus())}function Fu(e,t){let n=Ta;wa=null,Ta=null,n?.destroy(),pa.delete(e),Q.resubmitFrom(e,{reason:`edit`,replacement:{text:t,mentionRefs:[],options:{}}})?cs():ws(L,Q.getMessages(),He)}function Iu(e){if(Q.isStreaming())return;let t=ef(Q.getMessages(),e);t&&(Ea(),Q.resubmitFrom(t,{reason:`retry`})&&cs())}Y={regenerate:Iu,edit:yu,quote:e=>{let t=Q.getMessages().find(t=>t.id===e)?.content?.trim();t&&(Rn({text:t,messageId:e}),R?.focus())}};let Lu=async e=>{if(ld()){a.voiceRecognition?.dictation?.showSend&&!Hs()&&dd(!0);return}if(tu)return;tu=!0;let t=++nu;try{await fu({resolveInlineCommand:!0,...e})}finally{t===nu&&(tu=!1)}};function Ru(e){Hs()||(iu(),zu(e,{consumeDraft:!1}))}let zu=(e,t)=>{if(tu)return;tu=!0;let n=++nu,r=()=>{n===nu&&(tu=!1)};try{let n=fu({...t,overrideText:e});n instanceof Promise?n.finally(r):r()}catch(e){throw r(),e}},Bu=e=>{e.preventDefault(),Q.isStreaming()?(Q.cancel(),Qe?.reset(),tt?.update()):tu||Lu()},Vu=()=>a.features?.composerHistory!==!1,Uu={...Ym},Wu=!1,Gu=()=>{Uu={...Ym}},Ku=()=>Q.getMessages().filter(e=>e.role===`user`).map(e=>e.content??``).filter(e=>e.length>0),qu=e=>{if(!R)return;Wu=!0,R.value=e,R.dispatchEvent(new Event(`input`,{bubbles:!0})),Wu=!1;let t=R.value.length;R.setSelectionRange(t,t)},Ju=e=>{Wu||(la(),e.isComposing||Sn?.handleInput(e.inputType??void 0),Gu())},Yu=()=>({submitKey:a.composer?.submitKey,insertNewlineOnTouchEnter:a.composer?.insertNewlineOnTouchEnter,coarsePointer:Ys(R)}),Xu=e=>{if(R&&!Bs()&&(e.isComposing||!Sn?.handleKeydown(e))){if(Vu()&&(e.key===`ArrowUp`||e.key===`ArrowDown`)&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey&&!e.isComposing){let t=R.selectionStart===0&&R.selectionEnd===0,n=Xm({direction:e.key===`ArrowUp`?`up`:`down`,history:Ku(),currentValue:R.value,atStart:t,state:Uu});if(Uu=n.state,n.handled){e.preventDefault(),n.value!==void 0&&qu(n.value);return}}if(Zs(e,Yu())){if(Q.isStreaming()){if(e.preventDefault(),Vn()===`block`||tu||Hs())return;Gu(),Lu()}else tu||Hs()?e.preventDefault():(Gu(),e.preventDefault(),wt.click())}}},Zu=e=>{e.key!==`Escape`||e.isComposing||e.composedPath().includes(F)&&(ru?(ru.abort(),ru=null,e.preventDefault(),e.stopImmediatePropagation()):Q.isStreaming()&&(Q.cancel(),Qe?.reset(),tt?.update(),Gu(),e.preventDefault(),e.stopImmediatePropagation()))},Qu=async e=>{if(a.attachments?.enabled!==!0||!W||Bs())return;let t=Uy(e.clipboardData);t.length!==0&&(e.preventDefault(),await W.handleFiles(t))},$u=null,td=null,rd=!1,id=null,ad=null,od=0,sd=Object.freeze({phase:`idle`,recordingId:0,transcript:``,interimTranscript:``,error:null,audioLevel:null}),cd=()=>!!a.voiceRecognition?.dictation||a.voiceRecognition?.provider?.type===`custom`&&gd(),ld=()=>rd||[`recording`,`processing`].includes($u?.getState().phase??`idle`),ud=()=>{if(++od,rd=!1,ad=null,id){id=null,td?.element.remove(),td=null;let{audioLevel:e,...t}=sd;return O.emit(`dictation:state`,{...t,instanceId:r,timestamp:Date.now()}),!0}return $u?.cancel()??!1},dd=(e=!1)=>rd?(ad=e||ad===!0,!0):$u?.finish(e)||e&&$u?.send()||!1,fd=()=>{if(Bs()||Q.isStreaming()||ld()||Vs())return!1;let e=a.voiceRecognition;if(e?.enabled===!1)return!1;let t=e?.dictation?.provider??(e?.provider?.type===`custom`?{type:`custom`,custom:e.provider.custom}:{type:`browser`,browser:e?.provider?.browser});if(t.type===`browser`&&!Sd()||t.type===`custom`&&!t.custom)return!1;!j&&Ne()&&Rs(!0,`system`),id&&ud();let n={text:R.value,logicalEnd:Sn?.getInlineInput()?.getLogicalText().length??null,readOnly:R.readOnly,contentEditable:R.getAttribute(`contenteditable`)};rd=!0,ad=null;let i=++od;return Ul().then(o=>{i===od&&(rd=!1,$u??=o.createDictationSession({instanceId:r,getTextarea:()=>R,getFooter:()=>B,getConfig:()=>a,plugins:S,getInlineInput:()=>Sn?.getInlineInput(),isInputDisabled:Bs,isSendBlocked:Hs,syncText:Cn,onSend:()=>{Lu({viaVoice:!0})},rendererDeps:{renderLucideIcon:K,attachTooltip:So},onState:(e,t)=>{let{audioLevel:n,...i}=e;O.emit(`dictation:state`,{...i,instanceId:r,timestamp:Date.now()}),$.active=e.phase===`recording`,_d(t?e.phase===`recording`?`recording`:`processing`:`idle`),no(`system`)}}),Q.stopSpeaking(),$u.start(t,{autoSend:!gd(),pauseDuration:e?.pauseDuration},n),ad!==null&&($u.finish(ad),ad=null))}).catch(e=>{if(i!==od)return;rd=!1;let t=e instanceof Error?e.message:`Unable to load dictation.`;id=Object.freeze({...sd,recordingId:i,phase:`error`,error:t});let n=J(`div`,`persona-dictation`);n.setAttribute(`role`,`alert`),n.textContent=t;let a=document.createElement(`button`);a.type=`button`,a.textContent=`Dismiss dictation`,a.addEventListener(`click`,()=>{ud()}),n.append(a),td={element:n},B.append(n);let{audioLevel:o,...s}=id;O.emit(`dictation:state`,{...s,instanceId:r,timestamp:Date.now()})}),!0};Z.push(()=>{++od,$u?.destroy(),td?.destroy?.(),td?.element.remove()}),a.voiceRecognition?.dictation&&Ul().catch(()=>{});let pd=null,md=!1,hd,gd=()=>a.voiceRecognition?.completionBehavior===`review`;function _d(e){H&&fc(H,a,e,Q.getVoiceInterruptionMode()),B?.setAttribute(`data-persona-voice-state`,e),e===`recording`?bd():xd()}let vd,yd=!1;function bd(){yd=!0;let e=e=>{yd&&(vd??=e.createVoiceLevelIndicator({targets:()=>[U??H?.parentElement,B].filter(e=>!!e),sample:()=>{let e=$u?.getState();return e?.phase===`recording`?{level:e.audioLevel,fallback:!1}:{level:w?Q.getVoiceLevel():null,fallback:!0}}}),vd.start())},t=Wl();t?e(t):Ul().then(e,()=>{})}function xd(){yd=!1,vd?.stop()}let Sd=()=>typeof window>`u`?null:window.webkitSpeechRecognition||window.SpeechRecognition||null,Cd=(e=`user`)=>{if(md||Q.isStreaming())return;let t=Sd();if(!t)return;pd=new t;let n=pd,r=a.voiceRecognition??{},i=r.pauseDuration??2e3;pd.continuous=r.provider?.browser?.continuous??!0,pd.interimResults=!0,pd.lang=r.provider?.browser?.language??`en-US`;let o=R.value,s,c=(e,t)=>{let r=r=>{pd===n&&md&&(s??=r.createBrowserRecognitionHandlers({textarea:R,initialText:o,pauseDuration:i,isActive:()=>pd===n&&md,syncText:Cn,stop:wd,review:gd,submit:()=>{Lu({viaVoice:!0})}}),hd=()=>s?.dispose(),s[e](t))},a=Wl();a?r(a):Ul().then(r,()=>{pd===n&&wd(`system`)})};n.onresult=e=>c(`result`,e),n.onerror=e=>c(`error`,e),n.onend=e=>c(`end`,e);try{pd.start(),md=!0,$.active=!0,e!==`system`&&($.manuallyDeactivated=!1),no(e),ro(),Sr(),H&&(H.classList.add(`persona-voice-recording`),_d(`recording`),H.setAttribute(`aria-label`,`Stop voice recognition`))}catch{wd(`system`)}},wd=(e=`user`)=>{if(md){if(md=!1,hd?.(),hd=void 0,pd){try{pd.stop()}catch{}pd=null}$.active=!1,no(e),to||ro(),Sr(),H&&(H.classList.remove(`persona-voice-recording`),_d(`idle`),H.setAttribute(`aria-label`,a.voiceRecognition?.tooltipText??`Start voice recognition`))}},Td=null,Ed=e=>{let t=t=>{Td??=t.createMicStateStyles({mic:()=>H,config:()=>a,session:()=>Q,setMicState:_d}),e(Td)},n=hu();n?t(n):mu().then(t,()=>{})},Dd=()=>Ed(e=>e.recording()),Od=()=>Ed(e=>e.processing()),kd=()=>Ed(e=>e.speaking()),Ad=()=>Ed(e=>e.reset()),jd=()=>{if(!Bs()){if(cd())$u?.getState().phase===`recording`?$u.finish():ld()||fd();else if(_u(a.voiceRecognition?.provider)){let e=Q.getVoiceStatus(),t=Q.getVoiceInterruptionMode();if(t===`none`&&(e===`processing`||e===`speaking`))return;if(t===`cancel`&&(e===`processing`||e===`speaking`)){Q.stopVoicePlayback();return}if(Q.isBargeInActive()){Q.stopVoicePlayback(),Q.deactivateBargeIn().then(()=>{$.active=!1,$.manuallyDeactivated=!0,ro(),no(`user`),Ad()});return}Q.toggleVoice().then(()=>{$.active=eo(),$.manuallyDeactivated=!$.active,ro(),no(`user`),$.active?Dd():Ad()})}else if(md){let e=R.value.trim();$.manuallyDeactivated=!0,ro(),wd(`user`),e&&!gd()&&Lu()}else $.manuallyDeactivated=!1,ro(),Cd(`user`)}};Gn=jd;let Md=()=>Q.prewarmVoice(),Nd=()=>{let e=a.voiceRecognition;return e?.enabled===!0?e.prewarm??(a.clientToken?`hover`:!1):!1},Pd=e=>{Nd()===`hover`&&H?.contains(e.target)&&Md()},Id=[`pointerover`,`pointerdown`,`focusin`];Id.forEach(t=>e.addEventListener(t,Pd));let Ld,Rd=null,Bd,Vd=()=>{let e=Bd;Bd=void 0;try{typeof e==`function`&&e()}catch{}},Hd=()=>{let t=Nd(),n=typeof t==`function`&&H?t:void 0,r=n?H:null;if((n!==Ld||r!==Rd)&&(Vd(),Ld=n,Rd=r,n&&r))try{Bd=n({warm:Md,micButton:r,mount:e})}catch{}};Hd(),Z.push(()=>{Id.forEach(t=>e.removeEventListener(t,Pd)),Vd()}),H&&Z.push(()=>{_u(a.voiceRecognition?.provider)?(Q.isVoiceActive()&&Q.toggleVoice(),Ad()):wd(`system`)});let Ud=O.on(`assistant:complete`,()=>{let e=G.getState().pendingSubmission,t=El,n=Pe;e&&setTimeout(()=>{Ie(n)&&!Q.isStreaming()&&t===El&&G.getState().pendingSubmission===e&&vu()},0)});Z.push(Ud);let Wd=O.on(`assistant:complete`,()=>{if(!$a||$.active||$.manuallyDeactivated||$a===`assistant`&&!$.lastUserMessageWasVoice)return;let e=El,t=Pe;setTimeout(()=>{Ie(t)&&e===El&&!$.active&&!$.manuallyDeactivated&&(_u(a.voiceRecognition?.provider)?Q.toggleVoice().then(()=>{Ie(t)&&e===El&&($.active=Q.isVoiceActive(),no(`auto`),Q.isVoiceActive()&&Dd())}):Cd(`auto`))},600)});Z.push(Wd);let Gd=!1,Kd=e=>{e.persisted&&!Gd&&(Gd=!0,to=!0,Le(),El++,nu++,tu=!1,ru?.abort(),ru=null,G.setPreparing(!1),ud(),wd(`system`),Q.cancel(),Q.stopSpeaking(),Q.cleanupVoice(),Qe?.reset(),tt?.update())},qd=e=>{e.persisted&&Gd&&(Gd=!1,to=!1,a.voiceRecognition?.enabled===!0&&bu(a)&&Q.setupVoice())};window.addEventListener(`pagehide`,Kd),window.addEventListener(`pageshow`,qd),Z.push(()=>{window.removeEventListener(`pagehide`,Kd),window.removeEventListener(`pageshow`,qd)});let Jd=O.on(`action:resubmit`,()=>{Re()});Z.push(Jd);let Yd=()=>{Rs(!j,`user`)},Xd=null,Zd=null;if(Ee&&!A()){let{instance:e,element:t}=W_({config:a,plugins:S,onToggle:Yd});Xd=e,e||(Zd=t)}Xd?e.appendChild(Xd.element):Zd&&e.appendChild(Zd),Ls(),sa(),Pc(),Mc(),nc(Q.isStreaming()),$o()||(Kt()===`follow`?Wo(!0):Xo()),io(),Oe&&(!Ee||A()?setTimeout(()=>ac(),0):j&&setTimeout(()=>ac(),200));let Qd=null,rf=()=>{Qd&&(Qd.disconnect(),Qd.observe(B),Qd.observe(F),Qd.observe(Et),Qd.observe(rn))},af=dn(),of=()=>{if(A()){vn(),Ls();return}let t=Rh(a),n=a.launcher?.sidebarMode??!1,r=e.ownerDocument.defaultView??window,i=a.launcher?.mobileFullscreen??!0,o=a.launcher?.mobileBreakpoint??640,s=r.innerWidth<=o,c=i&&s&&Ee;try{if(c){qr(),Jr=Ci();return}let e=!1;Me&&(Me=!1,qr(),e=!0);let r=Ci();if(!e&&r!==Jr&&(qr(),e=!0),Jr=r,e&&gi(),!Ee&&!t){N.style.height=``,n||(M.style.width=E_(a),N.style.width=`100%`,N.style.maxWidth=`100%`);return}if(!n&&!t){let e=T_(a);N.style.width=e.width,N.style.maxWidth=e.maxWidth}xi(),Ai()}finally{vn(),xn();let t=dn();if(t!==af&&(af=t,Cc(),sa()),Ls(),j&&Ee){let t=(e.ownerDocument.defaultView??window).innerWidth<=(a.launcher?.mobileBreakpoint??640),n=a.launcher?.sidebarMode??!1,r=a.launcher?.mobileFullscreen??!0,i=Rh(a)&&r&&t,o=n||r&&t&&Ee||i;if(o&&!Mi){let t=e.getRootNode(),n=t instanceof ShadowRoot?t.host:e.closest(`.persona-host`);n&&!ji&&(ji=Nh(n,a.launcher?.zIndex??1e5)),Mi=Ih(e.ownerDocument)}else o||(ji?.(),ji=null,Mi?.(),Mi=null)}}};of();let sf=e.ownerDocument.defaultView??window;if(sf.addEventListener(`resize`,of),Z.push(()=>sf.removeEventListener(`resize`,of)),typeof ResizeObserver<`u`){Qd=new ResizeObserver(()=>{xn(),Vo()}),rf(),Z.push(()=>{Qd?.disconnect(),Qd=null});let e=new ResizeObserver(()=>{zl()});e.observe(F),Z.push(()=>e.disconnect())}sf.addEventListener(`resize`,zl),Z.push(()=>sf.removeEventListener(`resize`,zl)),Aa=I.scrollTop;let lf=Cu(I),uf=()=>{Oi();let e=I.scrollTop,t=Cu(I),n=t<lf;if(lf=t,Jo.interrupted||!qt()){Aa=e,Vo();return}let{action:r,nextLastScrollTop:i}=Tu({following:ka.isFollowing(),currentScrollTop:e,lastScrollTop:Aa,nearBottom:wu(I,24),userScrollThreshold:4,isAutoScrolling:Jo.active||Ma||Na||n,pauseOnUpwardScroll:!0,pauseWhenAwayFromBottom:!1,resumeRequiresDownwardScroll:!0});Aa=i,r===`resume`&&!Qo()?Uo():r===`pause`?Ho():Vo()};if(I.addEventListener(`scroll`,uf,{passive:!0}),Z.push(()=>I.removeEventListener(`scroll`,uf)),typeof ResizeObserver<`u`){let e=new ResizeObserver(()=>{ps(),ds(),Oi(),nd(L)});e.observe(L),e.observe(I),Z.push(()=>e.disconnect())}let pf=()=>{qt()&&ka.isFollowing()&&Qo()&&Ho()},mf=I.ownerDocument;mf.addEventListener(`selectionchange`,pf),Z.push(()=>{mf.removeEventListener(`selectionchange`,pf)});let hf=/* @__PURE__ */ new Set([`PageUp`,`PageDown`,`Home`,`End`,`ArrowUp`,`ArrowDown`]),gf=e=>{hf.has(e.key)&&(Wa(),Xt()&&qt()&&ka.isFollowing()&&Ho())},_f=e=>{e.target?.closest(`a, button, [tabindex], input, textarea, select`)&&(Wa(),Xt()&&qt()&&ka.isFollowing()&&Ho())};I.addEventListener(`keydown`,gf),I.addEventListener(`focusin`,_f),Z.push(()=>{I.removeEventListener(`keydown`,gf),I.removeEventListener(`focusin`,_f)});let vf=e=>{if(Jo.interruptedBy(e)){Wa();return}if(e.deltaY!==0&&Wa(),!qt())return;let t=Eu({following:ka.isFollowing(),deltaY:e.deltaY,nearBottom:wu(I,24),resumeWhenNearBottom:!0});t===`pause`?Ho():t===`resume`&&!Qo()&&Uo()};I.addEventListener(`wheel`,vf,{passive:!0}),I.addEventListener(`touchmove`,Wa,{passive:!0}),I.addEventListener(`pointerdown`,Wa,{passive:!0}),Z.push(()=>{I.removeEventListener(`touchmove`,Wa),I.removeEventListener(`pointerdown`,Wa)}),Z.push(()=>I.removeEventListener(`wheel`,vf)),tn.addEventListener(`click`,()=>{let e=Po().filter(No).map(e=>e.getAttribute(`data-message-id`));rs(),Lo=e,Eo(),ka.pause(),Jo.start(a),Vo()}),Z.push(()=>Jo.destroy()),Z.push(()=>en.destroy()),Z.push(()=>{Eo(),rs()});let yf=()=>{Mt&&(Gi&&=(Mt.removeEventListener(`click`,Gi),null),Ne()?(Mt.style.display=``,Gi=()=>{Rs(!1,`user`)},Mt.addEventListener(`click`,Gi)):Mt.style.display=`none`)};yf(),(()=>{let{clearChatButton:e}=P;e&&e.addEventListener(`click`,()=>{let e=cl;if(e?.historyAvailable()){e.startNewConversation({focusComposer:!0}).catch(e=>{a.debug&&console.warn(`[AgentWidget] New conversation failed:`,e)});return}Q.clearMessages(),a.layout?.topFade&&(I.scrollTop=0),I.removeAttribute(`data-persona-top-fade`),pa.clear(),Uo(),Hi(P.composerOverlay);try{localStorage.removeItem(zy),a.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${zy}`)}catch(e){console.error(`[AgentWidget] Failed to clear default localStorage:`,e)}if(a.clearChatHistoryStorageKey&&a.clearChatHistoryStorageKey!==zy)try{localStorage.removeItem(a.clearChatHistoryStorageKey),a.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${a.clearChatHistoryStorageKey}`)}catch(e){console.error(`[AgentWidget] Failed to clear custom localStorage:`,e)}let t=new CustomEvent(`persona:clear-chat`,{detail:{instanceId:r,timestamp:(/* @__PURE__ */ new Date()).toISOString()}});window.dispatchEvent(t),yo(),k?.clear&&lo(()=>k.clear(),`[AgentWidget] Failed to clear storage adapter:`),fe={},Te.syncFromMetadata(),Nl(Q.getActiveConversationId(),!0,!1),iu(),yo(),Un(void 0),Rn(void 0),Ea(),Ze?.clear(),Qe?.reset(),tt?.update()})})();let bf=[[`keydown`,Xu],[`input`,Ju],[`input`,Cn],[`input`,wn],[`keyup`,wn],[`paste`,Qu],[`focus`,ur]],xf=e=>{if(e)for(let[t,n]of bf)q?.addListener(e,t,n)},Sf=e=>{if(e)for(let[t,n]of bf)q?.removeListener(e,t,n)},Cf=()=>{q&&(q.addListener(q.form,`submit`,Bu),q.addListener(q.footer,`click`,wn),xf(R),H&&q.addListener(H,`click`,jd),Hd())};Cf();let wf=()=>{Sn?.onComposerSwap((e,t)=>{Sf(t),R=e,q&&(q.input=e),xf(e),ir(),Qs(),Cn(),$u?.refresh()})};wf();let Tf=!1;function Ef(){if(!Tf){Tf=!0;try{kr.detach([`footer-top`,`footer-bottom`,`composer-start`,`composer-end`,`composer-before-send`]);let e=R?.value??``,t=B.ownerDocument??document,n=R?t.activeElement===R:!1;xd(),q?.destroy(),q=null,Sn?.destroy(),Sn=null;let r=null,i=()=>(r=A()?_g({config:a}):hg({config:a}),r.footer),o=tr(i)??i();yt.replaceComposer(o),B=yt.composer.footer,a.layout?.showFooter===!1&&(B.style.display=`none`);let s=r!==null&&o===r.footer;er=!s,Bt=s?r.setSendButtonMode:()=>{},Qn(B),ar(B),sr(),cr(),dr(),wf(),gr(),_r(),vr(),Cf();let c=Wi.indexOf(Ri);if(Ri.destroy(),Ri=Jh(Ct),c>=0&&(Wi[c]=Ri),kr.remount(),R&&(R.value=e),Cn(),wn(),Pc(),sa(),nc(Q.isStreaming()),a.statusIndicator?.mode===`transient`&&!A()){let e=Q.getStatus();vt(z,_t(e),a.statusIndicator,e)}$.active&&_d(`recording`),$u?.refresh(),qr(),rf(),vn(),Sr(),Ks(),n&&R?.focus()}finally{Tf=!1}}}let Df=e.ownerDocument??document;Df.addEventListener(`keydown`,Zu,!0);let Of=()=>{_o()},kf=()=>{Df.visibilityState===`hidden`&&_o()};typeof window<`u`&&(window.addEventListener(`pagehide`,Of),Df.addEventListener(`visibilitychange`,kf),Z.push(()=>{window.removeEventListener(`pagehide`,Of),Df.removeEventListener(`visibilitychange`,kf)}));let Af=`persona-attachment-drop-active`,jf=0,Mf=()=>{jf=0,F.classList.remove(Af)},Nf=()=>a.attachments?.enabled===!0&&W!==null&&!Bs(),Pf=e=>{Wy(e.dataTransfer)&&Nf()&&(jf++,jf===1&&F.classList.add(Af))},Ff=e=>{Wy(e.dataTransfer)&&Nf()&&(jf--,jf<=0&&Mf())},Lf=e=>{Wy(e.dataTransfer)&&Nf()&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)},Rf=e=>{if(!Wy(e.dataTransfer)||!Nf())return;e.preventDefault(),e.stopPropagation(),Mf();let t=Array.from(e.dataTransfer.files??[]);t.length!==0&&W.handleFiles(t)};F.addEventListener(`dragenter`,Pf,!0),F.addEventListener(`dragleave`,Ff,!0),e.addEventListener(`dragover`,Lf,!0),e.addEventListener(`drop`,Rf,!0);let Bf=e.ownerDocument,Vf=e=>{Nf()&&e.preventDefault()},Hf=e=>{Nf()&&e.preventDefault()};Bf.addEventListener(`dragover`,Vf),Bf.addEventListener(`drop`,Hf),Z.push(()=>{q?.destroy(),q=null,xd(),hr=!0,fr?.destroy(),fr=null,In?.destroy(),In=null,Ln?.destroy(),Ln=null,Hn?.destroy(),Hn=null,Fn=null,_o(),ho.destroy(),au&&clearTimeout(au),Ea(),ru?.abort(),ru=null,cl?.clearConversationOpenPending(),Nl(void 0,!1),W?.destroy(),W=null,G.destroy(),Df.removeEventListener(`keydown`,Zu,!0),Sn?.destroy()}),Z.push(()=>{F.removeEventListener(`dragenter`,Pf,!0),F.removeEventListener(`dragleave`,Ff,!0),e.removeEventListener(`dragover`,Lf,!0),e.removeEventListener(`drop`,Rf,!0),Bf.removeEventListener(`dragover`,Vf),Bf.removeEventListener(`drop`,Hf),Mf()}),Z.push(()=>{Q.cancel()}),Xd?Z.push(()=>{Xd?.destroy()}):Zd&&Z.push(()=>{Zd?.remove()}),n?.registerHostMove?.(t=>{let n=I.scrollTop,r=qt()&&ka.isFollowing(),i=I.getBoundingClientRect().top,a=!r&&I.clientHeight>0?Array.from(L.querySelectorAll(`[data-message-id]`)).find(e=>e.getBoundingClientRect().bottom>i):void 0,o=a?a.getBoundingClientRect().top-i:0;Eo(),t(),Ml()?.ensureComposerActionStyles(e),lu()?.ensureArtifactStyles(e),of(),dt(),r?I.scrollTop=Cu(I):a?I.scrollTop+=a.getBoundingClientRect().top-I.getBoundingClientRect().top-o:I.scrollTop=n,!r&&!Ua&&cs(),Aa=I.scrollTop,lf=Cu(I),Oi(),Vo(),e.dispatchEvent(new Event(`persona:internal:host-moved`))});let Uf=e=>{!j&&Ne()&&Rs(!0,`system`),L.querySelector(`.persona-feedback-container`)?.remove();let t=e();L.appendChild(t),t.scrollIntoView({behavior:`smooth`,block:`end`})},Wf=!1,Kf=[],qf=!1,Yf=()=>{let e=Kf;Kf=[],qf=!0;try{for(let t of e)Xf.update(t)}finally{qf=!1}},Xf={get ready(){return o.ready},get instanceId(){return r},update(t){if(!qf){Kf.push(t);let e=Kf.reduce(Zv,{...a,features:b}),n=xu(Bv(e));if(n.length){o.prepare(n,Yf,Wf);return}if(Kf.length>1){o.prepare([],Yf,Wf);return}Kf=[]}n?.diagnostics||sy(s,t);let r=t.voiceRecognition;r&&(r.enabled===!1||r.dictation?.provider&&r.dictation.provider!==a.voiceRecognition?.dictation?.provider||r.provider?.custom&&r.provider.custom!==a.voiceRecognition?.provider?.custom)&&ud();let c=a.future?.v5Defaults===!0,l=a.messageActions,u=a.layout?.messages,d=a.colorScheme,f=a.iterationDisplay,p=a.features?.showReasoning,m=a.features?.showToolCalls,h=a.features?.toolCallDisplay,g=a.features?.reasoningDisplay,_=()=>JSON.stringify([a.features?.userMessageCollapse,a.copy?.showMoreLabel,a.copy?.showLessLabel]),v=_(),x=a.features?.streamAnimation?.type,C=a.features?.history?.enabled===!0,ee=a.features?.history?.provider,w=a.getIdentityProof,te=a.clientToken,T=a.contextMentions;a=Zv({...a,features:b},t),b=a.features,a=Bv(a),y(),qr(),wi(),a.colorScheme!==d&&Pi();let E=qv.getForInstance(a.plugins);S.length=0,S.push(...E),gl(),Ee=a.launcher?.enabled??!0,De=a.launcher?.autoExpand??!1,Ue=a.features?.showReasoning??!0,We=a.features?.showToolCalls??!0,Jo.cancel();let ne=Kt();Ke=a.features?.scrollBehavior??{},ne!==Kt()&&(rs(),Uo()),Ja(),Vo();let re=Ge;if(Ge=a.features?.showEventStreamToggle??!1,Ge&&!re){if(Ze||(st(),Q.setSSEEventCallback((e,t)=>{a.onSSEEvent?.(e,t),ot(e,t)})),!Zn&&It){let e=a.features?.eventStream?.classNames,t=`persona-inline-flex persona-items-center persona-justify-center persona-rounded-full hover:persona-opacity-80 persona-cursor-pointer persona-border-none persona-bg-transparent persona-p-1`+(e?.toggleButton?` `+e.toggleButton:``);Zn=J(`button`,t),Zn.style.width=`28px`,Zn.style.height=`28px`,Zn.style.color=rg.actionIconColor,Zn.type=`button`,Zn.setAttribute(`aria-label`,`Event Stream`),Zn.title=`Event Stream`;let n=hn(i,`18px`,`currentColor`,1.5);n&&Zn.appendChild(n);let r=P.clearChatButtonWrapper,o=P.closeButtonWrapper,s=r||o;s&&s.parentNode===It?It.insertBefore(Zn,s):It.appendChild(Zn),Zn.addEventListener(`click`,()=>{nt?Yn():Jn()})}}else!Ge&&re&&(Yn(),tt?.destroy(),tt=null,Zn&&=(Zn.remove(),null),Ze?.clear(),Ye?.destroy(),Ze=null,Ye=null,Qe?.reset(),Qe=null,$e=null);if(a.launcher?.enabled===!1&&Xd&&(Xd.destroy(),Xd=null),a.launcher?.enabled===!1&&Zd&&(Zd.remove(),Zd=null),a.launcher?.enabled!==!1&&!Xd&&!Zd){let{instance:t,element:n}=W_({config:a,plugins:S,onToggle:Yd});Xd=t,t||(Zd=n),e.appendChild(n)}Xd&&Xd.update(a),yl(),Ft&&a.launcher?.subtitle!==void 0&&(Ft.textContent=a.launcher.subtitle);let D=a.layout?.header;if(D?.layout!==je&&It){let e=D?pg(a,D,{showClose:Ne(),onClose:()=>Rs(!1,`user`)}):og({config:a,showClose:Ne(),onClose:()=>Rs(!1,`user`)});yt.replaceHeader(e),It=yt.header.element,Nt=yt.header.iconHolder,Pt=yt.header.headerTitle,Ft=yt.header.headerSubtitle,Mt=yt.header.closeButton,je=D?.layout,yl()}else if(D){if(Nt&&(Nt.style.display=D.showIcon===!1?`none`:``),Pt&&(Pt.style.display=D.showTitle===!1?`none`:``),Ft&&(Ft.style.display=D.showSubtitle===!1?`none`:``),Mt){let e=Ne()&&D.showCloseButton!==!1;Mt.style.display=e?``:`none`}if(P.clearChatButtonWrapper){let e=D.showClearChat;if(e!==void 0){P.clearChatButtonWrapper.style.display=e?``:`none`;let{closeButtonWrapper:t}=P;t&&!t.classList.contains(`persona-absolute`)&&(e?t.classList.remove(`persona-ml-auto`):t.classList.add(`persona-ml-auto`))}}}let ie=us(a);It&&(It.style.display=ie?``:`none`);let ae=a.layout?.showFooter!==!1;B&&(B.style.display=ae?``:`none`),vn(),Vo(),Ee===Ae?De!==ke&&Rs(De,`auto`):Ee?Rs(De,`auto`):(j=!0,Ls()),ke=De,Ae=Ee,of(),yf();let oe=JSON.stringify(a.messageActions)!==JSON.stringify(l),se=JSON.stringify(a.layout?.messages)!==JSON.stringify(u)||a.layout?.messages?.renderAssistantMessage!==u?.renderAssistantMessage||a.layout?.messages?.renderUserMessage!==u?.renderUserMessage,ce=a.iterationDisplay!==f,le=(a.features?.showReasoning??!0)!==(p??!0)||(a.features?.showToolCalls??!0)!==(m??!0)||JSON.stringify(a.features?.toolCallDisplay)!==JSON.stringify(h)||JSON.stringify(a.features?.reasoningDisplay)!==JSON.stringify(g)||_()!==v;(a.future?.v5Defaults===!0!==c||`toolCall`in t||oe||se||`loadingIndicator`in t||ce||le||`turnActivity`in t||`loadingLabel`in t||`expansion`in t||`errorDisplay`in t||`theme`in t||`darkTheme`in t||`approval`in t||a.colorScheme!==d||`askUserQuestion`in(t.features??{})||`features`in t&&t.features===void 0)&&Q&&(Oa++,ws(L,Q.getMessages(),He));let ue=a.features?.streamAnimation?.type;if(ue!==x&&ue&&ue!==`none`){let t=Ii(ue,a.features?.streamAnimation?.plugins);t&&kh(t,e)}let k=a.launcher??{},de=k.headerIconHidden??!1,fe=a.layout?.header?.showIcon,pe=de||fe===!1,me=k.headerIconName,he=k.headerIconSize??`40px`;if(Nt){let e=It,t=e?.querySelector(`.persona-flex-col`);if(pe)Nt.style.display=`none`,e&&t&&!e.contains(t)&&e.insertBefore(t,e.firstChild);else{if(Nt.style.display=``,Nt.style.height=he,Nt.style.width=he,e&&t&&(e.contains(Nt)?Nt.nextSibling!==t&&(Nt.remove(),e.insertBefore(Nt,t)):e.insertBefore(Nt,t)),me){let e=parseFloat(he)||24,t=K(me,e*.6,`currentColor`,1);t?(t.style.width=`calc(${e}px * var(--persona-components-header-iconScale, 0.6))`,t.style.height=`calc(${e}px * var(--persona-components-header-iconScale, 0.6))`,Nt.replaceChildren(t)):Nt.textContent=k.agentIconText??`💬`}else if(k.iconUrl){let e=Nt.querySelector(`img`);if(e)e.src=k.iconUrl,e.style.height=he,e.style.width=he;else{let e=document.createElement(`img`);e.src=k.iconUrl,e.alt=``,e.className=`persona-rounded-xl persona-object-cover`,e.style.height=he,e.style.width=he,Nt.replaceChildren(e)}}else{let e=Nt.querySelector(`svg`),t=Nt.querySelector(`img`);(e||t)&&Nt.replaceChildren(),Nt.textContent=k.agentIconText??`💬`}let n=Nt.querySelector(`img`);n&&(n.style.height=he,n.style.width=he)}}let ge=a.layout?.header?.showTitle,_e=a.layout?.header?.showSubtitle;if(Pt&&(Pt.style.display=ge===!1?`none`:``),Ft&&(Ft.style.display=_e===!1?`none`:``),Mt){let e=Ne()&&a.layout?.header?.showCloseButton!==!1;Mt.style.display=e?``:`none`;let t=k.closeButtonPlacement??`inline`,{closeButtonWrapper:n}=P,r=t===`top-right`,i=n?.classList.contains(`persona-absolute`);if(n&&r!==i){if(n.remove(),r){n.className=`persona-absolute persona-top-4 persona-right-4 persona-z-50`;let e=cl?.railColumn??F;e.style.position=`relative`,e.appendChild(n)}else{let e=k.clearChat?.placement??`inline`;n.className=(k.clearChat?.enabled??!0)&&e===`inline`?``:`persona-ml-auto`,It&&It.appendChild(n)}}eg(Mt,a,`close`,{buttonSize:A()?Mt.style.width:void 0,iconSize:A()?O_:void 0});let o=k.closeButtonTooltipText??`Close chat`,s=k.closeButtonShowTooltip??!0;Mt.setAttribute(`aria-label`,o),n&&So({anchor:Mt,trigger:n,text:()=>Mt?.getAttribute(`aria-label`)??o,enabled:s})}let{clearChatButton:ve,clearChatButtonWrapper:ye}=P;if(ve){let e=k.clearChat??{},t=e.enabled??!0,n=a.layout?.header?.showClearChat,r=n===void 0?t:n,i=e.placement??`inline`;if(ye){ye.style.display=r?``:`none`;let{closeButtonWrapper:e}=P;!A()&&e&&!e.classList.contains(`persona-absolute`)&&(r?e.classList.remove(`persona-ml-auto`):e.classList.add(`persona-ml-auto`));let t=i===`top-right`,n=ye.classList.contains(`persona-absolute`);if(!A()&&t!==n&&r){if(ye.remove(),t){ye.className=`persona-absolute persona-top-4 persona-z-50`,ye.style.right=`48px`;let e=cl?.railColumn??F;e.style.position=`relative`,e.appendChild(ye)}else{ye.className=`persona-relative persona-ml-auto persona-clear-chat-button-wrapper`,ye.style.right=``;let e=P.closeButtonWrapper;It&&e&&e.parentElement===It?It.insertBefore(ye,e):It&&It.appendChild(ye)}let e=P.closeButtonWrapper;e&&!e.classList.contains(`persona-absolute`)&&(t?e.classList.add(`persona-ml-auto`):e.classList.remove(`persona-ml-auto`))}}if(r){eg(ve,a,`clear`,{buttonSize:A()?ve.style.width:void 0,iconSize:A()?k_:void 0});let t=e.tooltipText??`Clear chat`,n=e.showTooltip??!0;ve.setAttribute(`aria-label`,t),ye&&So({anchor:ve,trigger:ye,text:()=>ve?.getAttribute(`aria-label`)??t,enabled:n})}}let be=a.actionParsers&&a.actionParsers.length?a.actionParsers:[dy],Ce=a.actionHandlers&&a.actionHandlers.length?a.actionHandlers:[py.message,py.messageAndClick];Te=hy({parsers:be,handlers:Ce,getSessionMetadata:xe,updateSessionMetadata:Se,emit:O.emit,captureResubmitGuard:()=>{let e=Pe;return()=>Ie(e)},documentRef:typeof document<`u`?document:null}),He=Yy(a,Te,Ve),qc(),Q.updateConfig(a),Jl(),(a.features?.history?.enabled===!0!==C||a.features?.history?.provider!==ee||a.getIdentityProof!==w||a.clientToken!==te)&&(cl?.closeHistory({restoreFocus:!1}),(a.getIdentityProof!==w||a.clientToken!==te)&&cl?.discardConversationContinuity(),cl?.installHistoryProvider()),cl?.syncHistoryChromeImpl(),zl(),fl()&&!cl&&Il().catch(()=>{}),ws(L,Q.getMessages(),He),sa(),Pc(),Nc(),nc(Q.isStreaming()),T!==a.contextMentions&&Ef();let we=a.voiceRecognition?.enabled===!0&&a.voiceRecognition.showButton!==!1,Oe=typeof window<`u`&&(window.webkitSpeechRecognition!==void 0||window.SpeechRecognition!==void 0),Me=_u(a.voiceRecognition?.provider),Fe=Oe||Me||a.voiceRecognition?.dictation?.provider?.type===`custom`;if(we&&Fe){if(!H||!U){let e=pc(a);if(e){H=e.button,U=e.wrapper;let t=V&&V.parentElement===zt?V:null;zt?zt.insertBefore(U,t):Tt?.appendChild(U),q&&(q.micButton=H),q?.addListener(H,`click`,jd),H.disabled=Bs()||Q.isStreaming()&&!Vs()}}else{let e=a.voiceRecognition??{},t=H.getAttribute(`data-state`);fc(H,a,t===`recording`||t===`processing`||t===`speaking`?t:`idle`,Q.getVoiceInterruptionMode());let n=e.tooltipText??`Start voice recognition`,r=e.showTooltip??!1;t===`idle`&&H.setAttribute(`aria-label`,n),U&&So({anchor:H,trigger:U,text:()=>H?.getAttribute(`aria-label`)??n,enabled:r}),U.style.display=``,H.disabled=Bs()||Q.isStreaming()&&!Vs()}}else H&&U&&(U.style.display=`none`,a.voiceRecognition?.enabled===!0&&Fe||(_u(a.voiceRecognition?.provider)?Q.isVoiceActive()&&Q.toggleVoice():md&&wd()));if(Hd(),a.attachments?.enabled===!0){if(!Ht||!Vt){let e=a.attachments??{};Wt||(Wt=J(`div`,`persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2`),Wt.style.display=`none`,(R.parentElement??Tt).insertBefore(Wt,R)),Ut||(Ut=document.createElement(`input`),Ut.type=`file`,Ut.accept=(e.allowedTypes??Ws).join(`,`),Ut.multiple=(e.maxFiles??4)>1,Ut.style.display=`none`,Ut.setAttribute(`aria-label`,`Attach files`),(R.parentElement??Tt).insertBefore(Ut,R)),Ht=J(`div`,`persona-send-button-wrapper`),Vt=J(`button`,`persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-attachment-button ${rc} ${ic}`),Vt.type=`button`,Vt.setAttribute(`aria-label`,e.buttonTooltipText??`Attach file`);let t=e.buttonIconName??`paperclip`;Vt.style.fontSize=`18px`,Vt.style.lineHeight=`1`;let n=K(t,24,`currentColor`,1.5);n?Vt.appendChild(n):Vt.textContent=`📎`,Vt.addEventListener(`click`,e=>{e.preventDefault(),Ut?.click()}),Ht.appendChild(Vt);let r=e.buttonTooltipText??`Attach file`;So({anchor:Vt,trigger:Ht,text:()=>Vt?.getAttribute(`aria-label`)??r}),Rt?Rt.append(Ht):Tt.appendChild(Ht),q&&(q.attachmentButton=Vt,q.attachmentInput=Ut??void 0,q.attachmentPreviews=Wt??void 0),!W&&Ut&&Wt&&(W=On(),W.setPreviewsContainer(Wt),q?.addListener(Ut,`change`,async()=>{W&&Ut?.files&&(await W.handleFileSelect(Ut.files),Ut.value=``)}))}else{Ht.style.display=``;let e=a.attachments??{};Ut&&(Ut.accept=(e.allowedTypes??Ws).join(`,`),Ut.multiple=(e.maxFiles??4)>1)}if(F.querySelector(`.persona-attachment-drop-overlay`)?.remove(),F.appendChild(Xy(a.attachments?.dropOverlay)),Vt){let e=a.attachments??{},t=e.buttonTooltipText??`Attach file`;Vt.setAttribute(`aria-label`,t),Vt.textContent=``;let n=K(e.buttonIconName??`paperclip`,24,`currentColor`,1.5);n?Vt.appendChild(n):Vt.textContent=`📎`,Ht&&So({anchor:Vt,trigger:Ht,text:()=>Vt?.getAttribute(`aria-label`)??t})}}else Ht&&(Ht.style.display=`none`),W&&W.clearAttachments(),F.querySelector(`.persona-attachment-drop-overlay`)?.remove();let Le=a.sendButton?.tooltipText??`Send message`,Re=a.sendButton?.showTooltip??!1;uc(wt,a),Q.isStreaming()||wt.setAttribute(`aria-label`,Le),Ks(),V&&So({anchor:wt,trigger:V,text:()=>wt.getAttribute(`aria-label`)??Le,enabled:Re});let ze=/* @__PURE__ */ new Set([W,...Array.from(Cl.values(),e=>e.attachments)]);for(let e of ze)e?.updateConfig(En());`plugins`in t&&W?.remountPreviews(Wt),Cr(),ki();let Be=_p(G.getState().activeModeIds,a.composer?.modes);G.setActiveModeIds(Be),jn().length>0!=!!In&&_r(),In?.render(Be,jn()),Fn?.repaint(),fr?fr.resolve():gr();let qe=Nm(a,A());if(Ei(),qe){L.style.maxWidth=qe,L.style.marginLeft=`auto`,L.style.marginRight=`auto`,L.style.width=`100%`,Ot.style.maxWidth=qe,Ot.style.marginLeft=`auto`,Ot.style.marginRight=`auto`,Ot.style.width=`100%`;for(let e of[Tt,Ct,Wt,z])e&&(e.style.maxWidth=qe,e.style.marginLeft=`auto`,e.style.marginRight=`auto`,e.style.width=`100%`)}else{L.style.maxWidth=``,L.style.marginLeft=``,L.style.marginRight=``,L.style.width=``,Ot.style.maxWidth=``,Ot.style.marginLeft=``,Ot.style.marginRight=``,Ot.style.width=``;for(let e of[Tt,Ct,Wt,z])e&&(e.style.maxWidth=``,e.style.marginLeft=``,e.style.marginRight=``,e.style.width=``)}let Je=a.statusIndicator??{};if(Ko(z,Tt,Je),Go(z,Je,Q?.getStatus()??`idle`),Q){let e=Q.getStatus();vt(z,(e=>e===`idle`?Je.idleText??ca.idle:e===`connecting`?Je.connectingText??ca.connecting:e===`connected`?Je.connectedText??ca.connected:e===`error`?Je.errorText??ca.error:e===`paused`?Je.pausedText??ca.paused:e===`resuming`?Je.resumingText??ca.resuming:ca[e])(e),Je,e)}z.classList.remove(`persona-text-left`,`persona-text-center`,`persona-text-right`);let Xe=Je.align===`left`?`persona-text-left`:Je.align===`center`?`persona-text-center`:`persona-text-right`;z.classList.add(Xe),ir(),Qs(),Sr(),ut(),Tr(a.layout?.slots??{}),ld()&&Bs()&&ud(),$u?.refresh(),kr.update(),ep()},open(){Ne()&&Rs(!0,`api`)},close(){Ne()&&Rs(!1,`api`)},toggle(){Ne()&&Rs(!j,`api`)},reconnect(){Q.reconnectNow()},clearChat(){ud(),Ca(),Zr=!1,u?.clear(),zr(),f.clear(),p.clear(),m.clear(),Q.clearMessages(),a.layout?.topFade&&(I.scrollTop=0),I.removeAttribute(`data-persona-top-fade`),pa.clear(),Uo();try{localStorage.removeItem(zy),a.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${zy}`)}catch(e){console.error(`[AgentWidget] Failed to clear default localStorage:`,e)}if(a.clearChatHistoryStorageKey&&a.clearChatHistoryStorageKey!==zy)try{localStorage.removeItem(a.clearChatHistoryStorageKey),a.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${a.clearChatHistoryStorageKey}`)}catch(e){console.error(`[AgentWidget] Failed to clear custom localStorage:`,e)}let e=new CustomEvent(`persona:clear-chat`,{detail:{instanceId:r,timestamp:(/* @__PURE__ */ new Date()).toISOString()}});window.dispatchEvent(e),yo(),k?.clear&&lo(()=>k.clear(),`[AgentWidget] Failed to clear storage adapter:`),fe={},Te.syncFromMetadata(),Nl(Q.getActiveConversationId(),!0,!1),iu(),yo(),Un(void 0),Rn(void 0),Ea(),Ze?.clear(),Qe?.reset(),tt?.update()},setMessage(e){return!R||ld()||Q.isStreaming()||Bs()?!1:(!j&&Ne()&&Rs(!0,`system`),R.value=e,R.dispatchEvent(new Event(`input`,{bubbles:!0})),!0)},submitMessage(e){if(Q.isStreaming()||ld()||Hs())return!1;let t=e?.trim()||R.value.trim();return t?(!j&&Ne()&&Rs(!0,`system`),R.value=``,R.style.height=`auto`,Cn(),zu(t,{consumeDraft:!1}),!0):!1},getComposerState(){return G.getState()},setComposerModes(e){Nn(bp(e,An(),a.composer?.modeGroups))},setQuote(e){let t=e?.text?.trim();t&&Rn({...e,text:t})},clearQuote(){Rn(void 0)},startDictation:fd,finishDictation:()=>dd(),cancelDictation:()=>{let e=rd;return ud()||e},sendDictation:()=>!a.voiceRecognition?.dictation?.showSend||Hs()?!1:dd(!0),getDictationState:()=>id??$u?.getState()??sd,startVoiceRecognition(){return Q.isStreaming()||ld()?!1:cd()&&!a.voiceRecognition?.dictation?.provider&&a.voiceRecognition?.provider?.type!==`runtype`?fd():_u(a.voiceRecognition?.provider)?(Q.isVoiceActive()||Q.isBargeInActive()||(!j&&Ne()&&Rs(!0,`system`),$.manuallyDeactivated=!1,ro(),Q.toggleVoice().then(()=>{$.active=eo(),ro(),no(`user`),$.active&&Dd()})),!0):md?!0:Sd()?(!j&&Ne()&&Rs(!0,`system`),$.manuallyDeactivated=!1,ro(),Cd(`user`),!0):!1},stopVoiceRecognition(){return ld()?dd():_u(a.voiceRecognition?.provider)?!Q.isVoiceActive()&&!Q.isBargeInActive()?!1:((Q.isBargeInActive()?Q.deactivateBargeIn():Q.toggleVoice()).then(()=>{$.active=!1,$.manuallyDeactivated=!0,ro(),no(`user`),Ad()}),!0):md?($.manuallyDeactivated=!0,ro(),wd(`user`),!0):!1},injectMessage(e){return!j&&Ne()&&Rs(!0,`system`),Q.injectMessage(e)},injectAssistantMessage(e){!j&&Ne()&&Rs(!0,`system`);let t=Q.injectAssistantMessage(e);return ze&&(ze=!1,Be&&=(clearTimeout(Be),null),Re()),t},injectUserMessage(e){return!j&&Ne()&&Rs(!0,`system`),Q.injectUserMessage(e)},injectSystemMessage(e){return!j&&Ne()&&Rs(!0,`system`),Q.injectSystemMessage(e)},injectMessageBatch(e){return!j&&Ne()&&Rs(!0,`system`),Q.injectMessageBatch(e)},injectComponentDirective(e){return!j&&Ne()&&Rs(!0,`system`),Q.injectComponentDirective(e)},updateComponentProps(e,t){return Q.updateComponentProps(e,t)},removeComponentMessage(e){return Q.removeComponentMessage(e)},injectTestMessage(e){!j&&Ne()&&Rs(!0,`system`),Q.injectTestEvent(e)},async connectStream(e,t){return Q.connectStream(e,t)},__pushEventStreamEvent(e){Ge&&(st(),ot(e.type,e.payload))},showEventStream(){Ge&&Jn()},hideEventStream(){nt&&Yn()},isEventStreamVisible(){return nt},listConversations(e){return Q.listConversations(e)},getActiveConversationId(){return Q.getActiveConversationId()},openConversation(e,t){return Ll(n=>n.openHistoryConversation(e,{focusComposer:t?.focus===!0,busy:t?.busy}))},startNewConversation(e){return Ll(t=>t.startNewConversation({focusComposer:e?.focus===!0}))},warmSession(){Bl()},deleteConversation(e){return Ll(t=>t.deleteHistoryConversation(e))},renameConversation(e,t){return Ll(n=>n.updateHistoryConversation(e,{title:t}))},setConversationStarred(e,t){return Ll(n=>n.updateHistoryConversation(e,{starred:t}))},clearConversationHistory(e){return Ll(t=>t.clearConversationHistory(e))},resetHistoryIdentity(){return Ll(e=>e.resetHistoryIdentity())},async getVisitorToken(){let e=Wc;if(!e)return null;let t=await e.get();return e===Wc?t:null},getHistoryIdentityStatus(){let e=cl?.historyProvider;return e?e.getIdentityStatus():fl()?{state:`unavailable`,reason:`ineligible_mode`}:{state:`unavailable`,reason:`history_disabled`}},showHistory(e){return fl()?Ll(t=>t.openHistory({...e?.returnSurface?{returnSurface:e.returnSurface}:{},...e?.focus===void 0?{}:{focus:e.focus}})):Promise.resolve()},hideHistory(e){cl?.closeHistory(e?.restoreFocus===void 0?void 0:{restoreFocus:e.restoreFocus})},isHistoryVisible(){return ct},showArtifacts(){sv(a)&&(Zr=!1,ei=!0,wi(),X?.setMobileOpen(!0))},hideArtifacts(){sv(a)&&(Zr=!0,wi())},upsertArtifact(e){return sv(a)?(Xn(a.features?.artifacts,{artifactType:e.artifactType,...e.artifactType===`markdown`&&e.file?{file:e.file}:{},...e.presentation?{presentation:e.presentation}:{}})===`panel`&&(Zr=!1,ei=!0),Q.upsertArtifact(e)):null},selectArtifact(e){sv(a)&&Q.selectArtifact(e)},clearArtifacts(){sv(a)&&Q.clearArtifacts()},getArtifacts(){return Q?.getArtifacts()??[]},getSelectedArtifactId(){return Q?.getSelectedArtifactId()??null},focusInput(){return Ee&&!j&&!A()||!R?!1:(R.focus(),!0)},revealToolCall(e,t={}){let n=Array.from(I.querySelectorAll(`.persona-tool-bubble[data-tool-call-id]`)).find(t=>t.dataset.toolCallId===e);if(!n)return!1;let r=e=>Array.from(e.querySelectorAll(`button[data-expand-header="true"]`)).find(t=>t.closest(`.persona-tool-bubble`)===e),i=e=>{e?.getAttribute(`aria-expanded`)===`false`&&Nr(e)},a=[];for(let e=n.parentElement?.closest(`.persona-tool-bubble`);e;e=e.parentElement?.closest(`.persona-tool-bubble`))a.unshift(e);a.forEach(e=>i(r(e)));let o=r(n);t.expand!==!1&&i(o),Wa(),Jo.cancel(),Ho();let s=Lr,c=o??n,l=()=>!Fe&&s===Lr&&I.contains(c),u=typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,d=()=>{let e=_n(c)-(I.clientHeight-c.offsetHeight)/2;return Math.max(0,Math.min(e,Cu(I)))},f=()=>{l()&&(u?(To(),Ma=!0,I.scrollTop=d(),Aa=I.scrollTop,Ma=!1):qo(I,d,200,l))};window.clearTimeout(Ir),f(),Ir=window.setTimeout(()=>{Ir=void 0,f()},200);let p=t.highlightMs??2e3;if(p>0){let e=n.dataset.messageId;window.clearTimeout(Fr.get(e)),Fr.set(e,window.setTimeout(()=>{Fr.delete(e),Rr()},p)),n.setAttribute(`data-persona-revealed`,``)}return!0},async resolveApproval(e,t,n){let r=Q.getMessages().find(t=>t.variant===`approval`&&t.approval?.id===e);if(!r?.approval)throw Error(`Approval not found: ${e}`);if(Pu(r.approval))Q.resolveWebMcpApproval(r.id,t);else return Q.resolveApproval(r.approval,t,n)},setFollowUpSuggestions(e){da(e)},clearFollowUpSuggestions(){ua()},getMessages(){return Q.getMessages()},getStatus(){return Q.getStatus()},getPersistentMetadata(){return{...fe}},updatePersistentMetadata(e){Se(e)},on(e,t){return O.on(e,t)},off(e,t){O.off(e,t)},isOpen(){return Ne()&&j},isVoiceActive(){return $.active},toggleReadAloud(e){Q.toggleReadAloud(e)},stopReadAloud(){Q.stopSpeaking()},getReadAloudState(e){return Q.getReadAloudState(e)},onReadAloudChange(e){return Q.onReadAloudChange(e)},getState(){return{open:Ne()&&j,launcherEnabled:Ee,voiceActive:$.active,streaming:Q.isStreaming()}},showCSATFeedback(e){Uf(()=>Ly({onSubmit:async(t,n)=>{Q.isClientTokenMode()&&await Q.submitCSATFeedback(t,n),e?.onSubmit?.(t,n)},onDismiss:e?.onDismiss,...e}))},showNPSFeedback(e){Uf(()=>Ry({onSubmit:async(t,n)=>{Q.isClientTokenMode()&&await Q.submitNPSFeedback(t,n),e?.onSubmit?.(t,n)},onDismiss:e?.onDismiss,...e}))},async submitCSATFeedback(e,t){return Q.submitCSATFeedback(e,t)},async submitNPSFeedback(e,t){return Q.submitNPSFeedback(e,t)},destroy(){Fe=!0,Le(),o.destroy(),kr.destroy(),e.removeEventListener(`click`,Ar),il(),Z.forEach(e=>e()),Jc!=null&&(clearInterval(Jc),Jc=null),u?.destroy(),l?.destroy(),zr(),f.clear(),p.clear(),m.clear(),O.dispose(),M.remove(),bt?.remove(),Xd?.destroy(),Zd?.remove(),Gi&&Mt.removeEventListener(`click`,Gi)}};if(((n?.debugTools??!1)||a.debug)&&typeof window<`u`){let e=window.AgentWidgetBrowser,t={controller:Xf,getMessages:Xf.getMessages,getStatus:Xf.getStatus,getMetadata:Xf.getPersistentMetadata,updateMetadata:Xf.updatePersistentMetadata,clearHistory:()=>Xf.clearChat(),setVoiceActive:e=>e?Xf.startVoiceRecognition():Xf.stopVoiceRecognition()};window.AgentWidgetBrowser=t,Z.push(()=>{window.AgentWidgetBrowser===t&&(window.AgentWidgetBrowser=e)})}if(typeof window<`u`){let e=(e,t)=>{let n=e=>{let n=e.detail;n?.instanceId&&n.instanceId!==r||t(n)};window.addEventListener(e,n),Z.push(()=>window.removeEventListener(e,n))};e(`persona:focusInput`,()=>Xf.focusInput()),Ge&&(e(`persona:showEventStream`,()=>Xf.showEventStream()),e(`persona:hideEventStream`,()=>Xf.hideEventStream())),e(`persona:showHistory`,()=>Xf.showHistory()),e(`persona:hideHistory`,()=>Xf.hideHistory()),e(`persona:showArtifacts`,()=>Xf.showArtifacts()),e(`persona:hideArtifacts`,()=>Xf.hideArtifacts()),e(`persona:upsertArtifact`,e=>{e?.artifact&&Xf.upsertArtifact(e.artifact)}),e(`persona:selectArtifact`,e=>{typeof e?.id==`string`&&Xf.selectArtifact(e.id)}),e(`persona:clearArtifacts`,()=>Xf.clearArtifacts())}let Qf=Gy(a.persistState);if(Qf&&Ne()){let t=Ky(Qf.storage),n=`${Qf.keyPrefix}widget-open`,i=`${Qf.keyPrefix}widget-voice`,a=`${Qf.keyPrefix}widget-voice-mode`;if(t){let o=Qf.persist?.openState&&t.getItem(n)===`true`,s=Qf.persist?.voiceState&&t.getItem(i)===`true`,c=Qf.persist?.voiceState&&t.getItem(a)===`true`;if(o&&(Xd?.setPanelOpen(!0,`auto`),setTimeout(()=>{Xf.open(),setTimeout(()=>{if(s||c)Xf.startVoiceRecognition();else if(Qf.persist?.focusInput){let t=e.querySelector(`textarea`);t&&t.focus()}},100)},0)),Qf.persist?.openState&&(O.on(`widget:opened`,()=>{t.setItem(n,`true`)}),O.on(`widget:closed`,()=>{t.setItem(n,`false`)})),Qf.persist?.voiceState&&(O.on(`voice:state`,e=>{t.setItem(i,e.active?`true`:`false`)}),O.on(`user:message`,e=>{t.setItem(a,e.viaVoice?`true`:`false`)})),Qf.clearOnChatClear){let e=()=>{t.removeItem(n),t.removeItem(i),t.removeItem(a)},o=t=>{t.detail?.instanceId===r&&e()};window.addEventListener(`persona:clear-chat`,o),Z.push(()=>{window.removeEventListener(`persona:clear-chat`,o)})}}}ye&&Ne()&&(Xd?.setPanelOpen(!0,`auto`),setTimeout(()=>{Xf.open()},0)),Fs(),D=()=>{Q&&(Oa++,pa.clear(),ws(L,Q.getMessages(),He))},Q.getMessages().length>0&&Cs(),le=D;let $f=uu(()=>{D?.(),lu()?.updateInlineArtifactBlocks(L,Xr.artifacts,{suppressTransition:!0}),wi()});Z.push($f);let ep=()=>{let t=xu(a);Wf||t.push(...n?.preparation??[]),fl()&&!cl&&t.push(Il()),!t.length&&!e.hasAttribute(`data-persona-preparing`)?Wf=!0:o.prepare(t,()=>{fr||gr(),In||_r(),d(),Ml()?.ensureComposerActionStyles(e),lu()?.ensureArtifactStyles(e),D?.(),Wf=!0})};return ep(),Xf};da();const eb=(e,t)=>{let n=e.trim(),r=/^(\d+(?:\.\d+)?)px$/i.exec(n);if(r)return Math.max(0,parseFloat(r[1]));let i=/^(\d+(?:\.\d+)?)%$/i.exec(n);return i?Math.max(0,t*parseFloat(i[1])/100):420},tb=(e,t)=>{t===!1?e.style.maxHeight=``:(e.style.maxHeight=`100vh`,e.style.maxHeight=t)},nb=(e,t)=>{t===!1?(e.style.position=`relative`,e.style.top=``):(e.style.position=`sticky`,e.style.top=`0`)},rb=(e,t)=>{let n=e.parentElement;if(!n)return;let r=e.ownerDocument.createElement(`div`);r.style.cssText=`width:0;height:1px;margin:0;padding:0;border:0;visibility:hidden;`,n.appendChild(r);let i=r.offsetHeight>0;r.style.height=`100%`;let a=r.offsetHeight>0;r.remove(),i&&!a&&console.warn(`[AgentWidget] Docked mode: no ancestor of the dock target provides a definite height, so the dock panel cannot size to your layout.`+(t.maxHeight===!1?` The viewport guard is disabled (dock.maxHeight: false), so the panel will grow with the conversation and overflow the viewport.`:` Falling back to clamping the panel to ${t.maxHeight} (configurable via launcher.dock.maxHeight).`)+" To size the panel from your layout instead, give the height chain a definite height (e.g. `html, body { height: 100% }`) down to the dock target's parent.")},ib=(e,t)=>{let n=t?.launcher?.enabled??!0;e.className=`persona-host`,e.style.height=n?``:`100%`,e.style.display=n?``:`flex`,e.style.flexDirection=n?``:`column`,e.style.flex=n?``:`1 1 auto`,e.style.minHeight=n?``:`0`,e.style.minWidth=n?``:`0`},ab=e=>{e.style.position=``,e.style.top=``,e.style.bottom=``,e.style.left=``,e.style.right=``,e.style.zIndex=``,e.style.transform=``,e.style.pointerEvents=``},ob=e=>{e.style.inset=``,e.style.width=``,e.style.height=``,e.style.maxWidth=``,e.style.maxHeight=``,e.style.minWidth=``,ab(e)},sb=e=>{e.style.transition=``},cb=e=>{e.style.display=``,e.style.flexDirection=``,e.style.flex=``,e.style.minHeight=``,e.style.minWidth=``,e.style.width=``,e.style.height=``,e.style.alignItems=``,e.style.transition=``,e.style.transform=``,e.style.marginLeft=``},lb=e=>{e.style.width=``,e.style.maxWidth=``,e.style.minWidth=``,e.style.flex=`1 1 auto`},ub=(e,t)=>{e.style.width=``,e.style.minWidth=`0`,e.style.maxWidth=``,e.style.boxSizing=``,t.style.alignItems=``},db=(e,t,n,r,i)=>{i?n.parentElement!==t&&(e.replaceChildren(),t.replaceChildren(n,r),e.appendChild(t)):n.parentElement===t&&(t.replaceChildren(),e.appendChild(n),e.appendChild(r))},fb=(e,t,n,r,i,a)=>{let o=a?t:e;i===`left`?o.firstElementChild!==r&&o.replaceChildren(r,n):o.lastElementChild!==r&&o.replaceChildren(n,r)},pb=e=>{let t=Em(e),n=t.components?.panel,r=(e,n)=>e==null||e===``?n:Xp(t,e)??e;return{inset:r(n?.inset,Mp),canvasBackground:r(n?.canvasBackground,Np)}},mb=(e,t,n,r)=>{t?(e.style.boxSizing=`border-box`,e.style.padding=n,e.style.background=r):(e.style.padding=``,e.style.background=``,e.style.boxSizing=``)},hb=(e,t,n,r,i,a,o,s)=>{let c=Bh(a),l=c.reveal===`push`,u=s!=null,d=s?.inset??``,f=s?.canvasBackground??``;db(e,t,n,r,l),fb(e,t,n,r,c.side,l),e.dataset.personaHostLayout=`docked`,e.dataset.personaDockSide=c.side,e.dataset.personaDockOpen=o?`true`:`false`,e.style.width=`100%`,e.style.maxWidth=`100%`,e.style.minWidth=`0`,e.style.height=`100%`,e.style.minHeight=`0`,e.style.position=`relative`,n.style.display=`flex`,n.style.flexDirection=`column`,n.style.minHeight=`0`,n.style.position=`relative`,i.className=`persona-host`,i.style.height=`100%`,i.style.minHeight=`0`,i.style.minWidth=`0`,i.style.display=`flex`,i.style.flexDirection=`column`,i.style.flex=`1 1 auto`;let p=e.ownerDocument.defaultView,m=a?.launcher?.mobileFullscreen??!0,h=a?.launcher?.mobileBreakpoint??640,g=p!=null&&p.innerWidth<=h;if(m&&g&&o)e.dataset.personaDockMobileFullscreen=`true`,e.removeAttribute(`data-persona-dock-reveal`),cb(t),sb(r),ob(r),lb(n),ub(i,r),mb(r,!1,``,``),e.style.display=`flex`,e.style.flexDirection=`column`,e.style.alignItems=`stretch`,e.style.overflow=`hidden`,n.style.flex=`1 1 auto`,n.style.width=`100%`,n.style.minWidth=`0`,r.style.display=`flex`,r.style.flexDirection=`column`,r.style.position=`fixed`,r.style.inset=`0`,r.style.width=`100%`,r.style.height=`100%`,r.style.maxWidth=`100%`,r.style.minWidth=`0`,r.style.minHeight=`0`,r.style.overflow=`hidden`,r.style.zIndex=String(a?.launcher?.zIndex??1e5),r.style.transform=`none`,r.style.transition=`none`,r.style.pointerEvents=`auto`,r.style.flex=`none`,l&&(t.style.display=`flex`,t.style.flexDirection=`column`,t.style.width=`100%`,t.style.height=`100%`,t.style.minHeight=`0`,t.style.minWidth=`0`,t.style.flex=`1 1 auto`,t.style.alignItems=`stretch`,t.style.transform=`none`,t.style.marginLeft=`0`,t.style.transition=`none`,n.style.flex=`1 1 auto`,n.style.width=`100%`,n.style.maxWidth=`100%`,n.style.minWidth=`0`);else if(e.removeAttribute(`data-persona-dock-mobile-fullscreen`),ob(r),tb(r,c.maxHeight),mb(r,u&&o,d,f),c.reveal===`overlay`){e.style.display=`flex`,e.style.flexDirection=`row`,e.style.alignItems=`stretch`,e.style.overflow=`hidden`,e.dataset.personaDockReveal=`overlay`,cb(t),sb(r),lb(n),ub(i,r);let a=c.animate?`transform 180ms ease`:`none`,s=c.side===`right`?`translateX(100%)`:`translateX(-100%)`,l=o?`translateX(0)`:s;r.style.display=`flex`,r.style.flexDirection=`column`,r.style.flex=`none`,r.style.position=`absolute`,r.style.top=`0`,r.style.bottom=`0`,r.style.width=c.width,r.style.maxWidth=c.width,r.style.minWidth=c.width,r.style.minHeight=`0`,r.style.overflow=`hidden`,r.style.transition=a,r.style.transform=l,r.style.pointerEvents=o?`auto`:`none`,r.style.zIndex=`2`,c.side===`right`?(r.style.right=`0`,r.style.left=``):(r.style.left=`0`,r.style.right=``)}else if(c.reveal===`push`){e.style.display=`flex`,e.style.flexDirection=`row`,e.style.alignItems=`stretch`,e.style.overflow=`hidden`,e.dataset.personaDockReveal=`push`,sb(r),ab(r),ub(i,r);let a=eb(c.width,e.clientWidth),s=Math.max(0,e.clientWidth),l=c.animate?`margin-left 180ms ease`:`none`,u=c.side===`right`?o?-a:0:o?0:-a;t.style.display=`flex`,t.style.flexDirection=`row`,t.style.flex=`0 0 auto`,t.style.minHeight=`0`,t.style.minWidth=`0`,t.style.alignItems=`stretch`,t.style.height=`100%`,t.style.width=`${s+a}px`,t.style.transition=l,t.style.marginLeft=`${u}px`,t.style.transform=``,n.style.flex=`0 0 auto`,n.style.flexGrow=`0`,n.style.flexShrink=`0`,n.style.width=`${s}px`,n.style.maxWidth=`${s}px`,n.style.minWidth=`${s}px`,r.style.display=`flex`,r.style.flexDirection=`column`,r.style.flex=`0 0 auto`,r.style.flexShrink=`0`,r.style.width=c.width,r.style.minWidth=c.width,r.style.maxWidth=c.width,r.style.position=`relative`,r.style.top=``,r.style.overflow=`hidden`,r.style.transition=`none`,r.style.pointerEvents=o?`auto`:`none`}else{e.style.display=`flex`,e.style.flexDirection=`row`,e.style.alignItems=`stretch`,e.style.overflow=``,cb(t),ab(r),lb(n),ub(i,r);let a=c.reveal===`emerge`;a?e.dataset.personaDockReveal=`emerge`:e.removeAttribute(`data-persona-dock-reveal`);let s=o?c.width:`0px`,l=c.animate?`width 180ms ease, min-width 180ms ease, max-width 180ms ease, flex-basis 180ms ease${u?`, padding 180ms ease`:``}`:`none`,f=!o;if(r.style.display=`flex`,r.style.flexDirection=`column`,r.style.flex=`0 0 ${s}`,r.style.width=s,r.style.maxWidth=s,r.style.minWidth=s,r.style.minHeight=`0`,nb(r,c.maxHeight),r.style.overflow=a||f?`hidden`:`visible`,r.style.transition=l,a){r.style.alignItems=c.side===`right`?`flex-start`:`flex-end`;let t=u?`calc(${eb(c.width,e.clientWidth)}px - (2 * ${d}))`:c.width;i.style.width=t,i.style.minWidth=t,i.style.maxWidth=t,i.style.boxSizing=`border-box`}}},gb=(e,t)=>{let n=e.ownerDocument.createElement(`div`);return ib(n,t),e.appendChild(n),{mode:`direct`,host:n,shell:null,syncWidgetState:()=>{},updateConfig(e){ib(n,e)},destroy(){n.remove()}}},_b=(e,t)=>{let{ownerDocument:n}=e,r=e.parentElement;if(!r)throw Error(`Docked widget target must be attached to the DOM`);let i=e.tagName.toUpperCase();if(i===`BODY`||i===`HTML`)throw Error(`Docked widget target must be a concrete container element, not "body" or "html"`);let a=e.nextSibling,o=n.createElement(`div`),s=n.createElement(`div`),c=n.createElement(`div`),l=n.createElement(`aside`),u=n.createElement(`div`),d=t?.launcher?.enabled??!0?t?.launcher?.autoExpand??!1:!0;s.dataset.personaDockRole=`push-track`,c.dataset.personaDockRole=`content`,l.dataset.personaDockRole=`panel`,u.dataset.personaDockRole=`host`,l.appendChild(u),r.insertBefore(o,e),c.appendChild(e);let f=null,p=()=>{f?.disconnect(),f=null},m=null,h=()=>{m=t?.launcher?.detachedPanel===!0?pb(t):null};h();let g=()=>{hb(o,s,c,l,u,t,d,m)},_=null,v=()=>{_?.(),_=null,t?.launcher?.detachedPanel===!0&&t?.colorScheme===`auto`&&(_=Mm(()=>{h(),g()}))},y=()=>{p(),Bh(t).reveal===`push`&&typeof ResizeObserver<`u`&&(f=new ResizeObserver(()=>{g()}),f.observe(o))},b=!1,x=()=>{g(),y(),d&&!b&&o.dataset.personaDockMobileFullscreen!==`true`&&(b=!0,rb(o,Bh(t)))},S=o.ownerDocument.defaultView,C=()=>{x()};return S?.addEventListener(`resize`,C),Bh(t).reveal===`push`?(s.appendChild(c),s.appendChild(l),o.appendChild(s)):(o.appendChild(c),o.appendChild(l)),x(),v(),{mode:`docked`,host:u,shell:o,syncWidgetState(e){let t=!e.launcherEnabled||e.open;d!==t&&(d=t,x())},updateConfig(e){t=e,(t?.launcher?.enabled??!0)===!1&&(d=!0),h(),x(),v()},destroy(){S?.removeEventListener(`resize`,C),_?.(),_=null,p(),r.isConnected&&(a&&a.parentNode===r?r.insertBefore(e,a):r.appendChild(e)),o.remove()}}},vb=(e,t)=>Rh(t)?_b(e,t):gb(e,t);function yb(e,t,n){let r=e.ownerDocument,i=r.activeElement;for(;i?.shadowRoot?.activeElement;)i=i.shadowRoot.activeElement;let a=t=>{for(;t;){if(e.contains(t))return!0;let n=t.getRootNode();t=n instanceof ShadowRoot?n.host:null}return!1},o=n&&a(i)?i:null,s=o,c=s?.selectionStart,l=s?.selectionEnd,u=s?.selectionDirection,d=(o?.getRootNode())?.getSelection?.()??r.getSelection(),f=d?.anchorNode,p=d?.focusNode,m=n&&a(f??null)&&a(p??null)?[d.anchorOffset,d.focusOffset]:null,h=t;typeof h.moveBefore==`function`?h.moveBefore(e,null):t.appendChild(e),o?.focus({preventScroll:!0}),s&&c!=null&&l!=null&&s.setSelectionRange(c,l,u??void 0),m&&f&&p&&d.setBaseAndExtent(f,m[0],p,m[1])}const bb=e=>{if(typeof window>`u`||typeof document>`u`)throw Error(`Chat widget can only be mounted in a browser environment`);if(typeof e==`string`){let t=document.querySelector(e);if(!t)throw Error(`Chat widget target "${e}" was not found`);return t}return e},xb=(e,t)=>{if(!(e instanceof ShadowRoot)||e.querySelector(`link[data-persona]`))return;let n=t.head.querySelector(`link[data-persona]`);if(!n)return;let r=n.cloneNode(!0),i=new Promise((e,t)=>{r.onload=()=>e(),r.onerror=()=>t(/* @__PURE__ */ Error(`Unable to load the widget stylesheet`))});return e.insertBefore(r,e.firstChild),i},Sb=[],Cb=()=>[...Sb],wb=e=>{let t=bb(e.target),n=e.useShadowDom===!0,r=t.ownerDocument,i=t.id||`persona-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`,a=e.config,o=oy(a),s=vb(t,a),c,l=[],u=!1,d=!1,f=()=>{let t=c;t.ready.then(()=>{u||d||t!==c||(d=!0,e.onChatReady?.())},()=>{})},p=e=>e(),m=/* @__PURE__ */ new Set,h=(e,t)=>{let a=!(t?.launcher?.enabled??!0)||Rh(t),o=r.createElement(`div`);o.setAttribute(`data-persona-root`,`true`),a&&(o.style.height=`100%`,o.style.display=`flex`,o.style.flexDirection=`column`,o.style.flex=`1`,o.style.minHeight=`0`,o.style.minWidth=`0`);let s;if(n){let t=e.attachShadow({mode:`open`});t.appendChild(o),s=xb(t,r)}else e.appendChild(o),xb(e,r);return o.setAttribute(`data-persona-instance`,i),{mount:o,stylesReady:s}},g=()=>{s.syncWidgetState(c.getState())},_=()=>{l.forEach(e=>e()),l=[c.on(`widget:opened`,g),c.on(`widget:closed`,g)],g()},v=()=>{let{mount:t,stylesReady:n}=h(s.host,a);c=$y(t,a,{debugTools:e.debugTools,registerHostMove:e=>{p=e},diagnostics:o,preparation:n?[n]:[]}),m.forEach(e=>e.bind()),_(),f()},y=()=>{l.forEach(e=>e()),l=[],c.destroy()};v();let b=e=>{y(),s.destroy(),s=vb(t,e),a=e,v()},x=new Proxy({moveTo(e,n){if(u)throw Error(`Cannot move a destroyed widget`);if(s.mode!==`direct`)throw Error(`Docked widgets cannot be moved`);let i=typeof e==`string`?r.querySelector(e):e;if(!(i instanceof HTMLElement)||i.ownerDocument!==r||i.getRootNode()!==r||s.host.getRootNode()!==r||s.host.contains(i))throw Error(`Invalid widget move target: expected a connected light-DOM container in the same document`);i!==t&&(p(()=>yb(s.host,i,n?.preserveFocus!==!1)),t=i)},on(e,t){if(u)return()=>{};let n=[...m].find(n=>n.event===e&&n.handler===t);if(n)return n.unsubscribe;let r=()=>{},i={event:e,handler:t,bind:()=>{r=c.on(e,t)},unsubscribe:()=>{r(),m.delete(i)}};return m.add(i),i.bind(),i.unsubscribe},off(e,t){for(let n of m)n.event===e&&n.handler===t&&n.unsubscribe()},update(e){sy(o,e);let t=Zv(a??{},e),n=Rh(a),r=Rh(t),i=zh(a),l=zh(t);n!==r||i!==l?b(t):(a=t,s.updateConfig(a),c.update(e),f(),g())},destroy(){if(u)return;u=!0,y(),m.forEach(e=>e.unsubscribe()),s.destroy();let t=Sb.indexOf(x);t!==-1&&Sb.splice(t,1),e.windowKey&&typeof window<`u`&&delete window[e.windowKey]}},{get(e,t,n){if(t===`host`)return s.host;if(t in e)return Reflect.get(e,t,n);let r=c[t];return typeof r==`function`?r.bind(c):r}});return Sb.push(x),e.windowKey&&typeof window<`u`&&(window[e.windowKey]=x),x},Tb=/* @__PURE__ */ new Set([`script`,`style`,`noscript`,`svg`,`path`,`meta`,`link`,`br`,`hr`]),Eb=/* @__PURE__ */ new Set([`button`,`a`,`input`,`select`,`textarea`,`details`,`summary`]),Db=/* @__PURE__ */ new Set([`button`,`link`,`menuitem`,`tab`,`option`,`switch`,`checkbox`,`radio`,`combobox`,`listbox`,`slider`,`spinbutton`,`textbox`]),Ob=/\b(product|card|item|listing|result)\b/i,kb=/\$[\d,]+(?:\.\d{2})?|€[\d,]+(?:\.\d{2})?|£[\d,]+(?:\.\d{2})?|USD\s*[\d,]+(?:\.\d{2})?/i;function Ab(e){let t=typeof e.className==`string`?e.className:``;if(Ob.test(t)||e.id&&Ob.test(e.id))return!0;for(let t=0;t<e.attributes.length;t++){let n=e.attributes[t];if(n.name.startsWith(`data-`)&&Ob.test(n.value))return!0}return!1}function jb(e){return kb.test((e.textContent??``).trim())}function Mb(e){let t=e.querySelectorAll(`a[href]`);for(let e=0;e<t.length;e++){let n=t[e].getAttribute(`href`)??``;if(n&&n!==`#`&&!n.toLowerCase().startsWith(`javascript:`))return!0}return!1}function Nb(e){return!!e.querySelector(`button, [role="button"], input[type="submit"], input[type="button"]`)}function Pb(e){let t=e.match(kb);return t?t[0]:null}function Fb(e){let t=e.querySelector(`.product-title a, h1 a, h2 a, h3 a, h4 a, .title a, a[href]`)??e.querySelector(`a[href]`);if(t&&t.textContent?.trim()){let e=t.getAttribute(`href`);return{title:t.textContent.trim(),href:e&&e!==`#`?e:null}}let n=e.querySelector(`h1, h2, h3, h4, h5, h6`);return n?.textContent?.trim()?{title:n.textContent.trim(),href:null}:{title:``,href:null}}function Ib(e){let t=[],n=e=>{let n=e.trim();n&&!t.includes(n)&&t.push(n)};return e.querySelectorAll(`button`).forEach(e=>n(e.textContent??``)),e.querySelectorAll(`[role="button"]`).forEach(e=>n(e.textContent??``)),e.querySelectorAll(`input[type="submit"], input[type="button"]`).forEach(e=>{n(e.value??``)}),t.slice(0,6)}function Lb(e){return!Ab(e)||!jb(e)||!Mb(e)&&!Nb(e)?0:5200}function Rb(e){return!Ab(e)||jb(e)||!Mb(e)||(e.textContent??``).trim().length<20||!(e.querySelector(`h1, h2, h3, h4, h5, h6, .title`)||e.querySelector(`.snippet, .description, p`))?0:2800}const zb=[{id:`commerce-card`,scoreElement(e){return Lb(e)},shouldSuppressDescendant(e,t,n){if(t===e||!e.contains(t))return!1;if(n.interactivity===`static`){let e=n.text.trim();return!!(e.length===0||kb.test(e)&&e.length<32)}return!0},formatSummary(e,t){if(Lb(e)===0)return null;let{title:n,href:r}=Fb(e),i=Pb((e.textContent??``).trim())??Pb(t.text)??``,a=Ib(e);return[r&&n?`[${n}](${r})${i?`: ${i}`:``}`:n?`${n}${i?`: ${i}`:``}`:i||t.text.trim().slice(0,120),`selector: ${t.selector}`,a.length?`actions: ${a.join(`, `)}`:``].filter(Boolean).join(`
131
- `)}},{id:`result-card`,scoreElement(e){return Rb(e)},formatSummary(e,t){if(Rb(e)===0)return null;let{title:n,href:r}=Fb(e);return[r&&n?`[${n}](${r})`:n||t.text.trim().slice(0,120),`selector: ${t.selector}`].filter(Boolean).join(`
132
- `)}}];function Bb(){typeof console<`u`&&typeof console.warn==`function`&&console.warn('[persona] collectEnrichedPageContext: options.mode is "simple" but `rules` were provided; rules are ignored.')}function Vb(e){let t=e.options??{},n=t.maxElements??e.maxElements??80,r=t.excludeSelector??e.excludeSelector??`.persona-host`,i=t.maxTextLength??e.maxTextLength??200,a=t.visibleOnly??e.visibleOnly??!0,o=t.root??e.root,s=t.mode??`structured`,c=t.maxCandidates??Math.max(500,n*10),l=e.rules??zb;return s===`simple`&&e.rules&&e.rules.length>0?(Bb(),l=[]):s===`simple`&&(l=[]),{mode:s,maxElements:n,maxCandidates:c,excludeSelector:r,maxTextLength:i,visibleOnly:a,root:o,rules:l}}function Hb(e){return typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(e):e.replace(/([^\w-])/g,`\\$1`)}const Ub=[`data-testid`,`data-product`,`data-action`,`data-id`,`data-name`,`data-type`];function Wb(e){let t=e.tagName.toLowerCase(),n=e.getAttribute(`role`);return t===`a`&&e.hasAttribute(`href`)?`navigable`:t===`input`||t===`select`||t===`textarea`||n===`textbox`||n===`combobox`||n===`listbox`||n===`spinbutton`?`input`:t===`button`||n===`button`||Eb.has(t)||n&&Db.has(n)||e.hasAttribute(`tabindex`)||e.hasAttribute(`onclick`)||e.getAttribute(`contenteditable`)===`true`?`clickable`:`static`}function Gb(e){if(e.hidden)return!1;try{let t=getComputedStyle(e);if(t.display===`none`||t.visibility===`hidden`)return!1}catch{}return e.style.display!==`none`&&e.style.visibility!==`hidden`}function Kb(e){let t={},n=e.id;n&&(t.id=n);let r=e.getAttribute(`href`);r&&(t.href=r);let i=e.getAttribute(`aria-label`);i&&(t[`aria-label`]=i);let a=e.getAttribute(`type`);a&&(t.type=a);let o=e.getAttribute(`value`);o&&(t.value=o);let s=e.getAttribute(`name`);s&&(t.name=s);let c=e.getAttribute(`role`);c&&(t.role=c);for(let n=0;n<e.attributes.length;n++){let r=e.attributes[n];r.name.startsWith(`data-`)&&(t[r.name]=r.value)}return t}function qb(e){let t=e.tagName.toLowerCase();if(e.id){let t=`#${Hb(e.id)}`;try{if(e.ownerDocument.querySelectorAll(t).length===1)return t}catch{}}for(let n of Ub){let r=e.getAttribute(n);if(r){let i=`${t}[${n}="${Hb(r)}"]`;try{if(e.ownerDocument.querySelectorAll(i).length===1)return i}catch{}}}let n=Array.from(e.classList).filter(e=>e&&!e.startsWith(`persona-`)).slice(0,3);if(n.length>0){let r=`${t}.${n.map(e=>Hb(e)).join(`.`)}`;try{if(e.ownerDocument.querySelectorAll(r).length===1)return r}catch{}let i=e.parentElement;if(i){let n=Array.from(i.querySelectorAll(`:scope > ${t}`)).indexOf(e);if(n>=0){let t=`${r}:nth-of-type(${n+1})`;try{if(e.ownerDocument.querySelectorAll(t).length===1)return t}catch{}}}}let r=e.parentElement;if(r){let n=Array.from(r.querySelectorAll(`:scope > ${t}`)).indexOf(e);if(n>=0)return`${t}:nth-of-type(${n+1})`}return t}function Jb(e){return e===`static`?100:3e3}function Yb(e,t){let n=e.tagName.toLowerCase(),r=(e.textContent??``).trim().substring(0,t);return{selector:qb(e),tagName:n,text:r,role:e.getAttribute(`role`),interactivity:Wb(e),attributes:Kb(e)}}function Xb(e,t,n,r){let i=Jb(t.interactivity),a=null;for(let o of n){let n=o.scoreElement(e,t,r);n>0&&(i+=n,o.formatSummary&&!a&&(a=o))}return{score:i,formattingRule:a}}function Zb(e,t){for(let n of e)if(t.el!==n.el&&n.formattingRule?.shouldSuppressDescendant&&n.el.contains(t.el)&&n.formattingRule.shouldSuppressDescendant(n.el,t.el,t.enriched))return!0;return!1}function Qb(e,t){let n={doc:t.ownerDocument,maxTextLength:e.maxTextLength},r=/* @__PURE__ */ new Set,i=[],a=0,o=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,null),s=o.currentNode;for(;s&&i.length<e.maxCandidates;){if(s.nodeType===Node.ELEMENT_NODE){let t=s,c=t.tagName.toLowerCase();if(Tb.has(c)){s=o.nextNode();continue}if(e.excludeSelector)try{if(t.closest(e.excludeSelector)){s=o.nextNode();continue}}catch{}if(e.visibleOnly&&!Gb(t)){s=o.nextNode();continue}let l=Yb(t,e.maxTextLength),u=l.text.length>0,d=Object.keys(l.attributes).length>0&&!Object.keys(l.attributes).every(e=>e===`role`);if(!u&&!d||r.has(l.selector)){s=o.nextNode();continue}r.add(l.selector);let{score:f,formattingRule:p}=Xb(t,l,e.rules,n);i.push({el:t,domIndex:a,enriched:l,score:f,formattingRule:p}),a+=1}s=o.nextNode()}i.sort((e,t)=>{let n=+(e.enriched.interactivity===`static`),r=+(t.enriched.interactivity===`static`);return n===r?t.score===e.score?e.domIndex-t.domIndex:t.score-e.score:n-r});let c=[];for(let t of i){if(c.length>=e.maxElements)break;Zb(c,t)||c.push(t)}return c.sort((e,t)=>{let n=+(e.enriched.interactivity===`static`),r=+(t.enriched.interactivity===`static`);return n===r?n===1&&t.score!==e.score?t.score-e.score:e.domIndex-t.domIndex:n-r}),c.map(e=>{let t;if(e.formattingRule?.formatSummary){let r=e.formattingRule.formatSummary(e.el,e.enriched,n);r&&(t=r)}let r={...e.enriched};return t&&(r.formattedSummary=t),r})}function $b(e,t){let n=[],r=/* @__PURE__ */ new Set,i=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,null),a=i.currentNode;for(;a&&n.length<e.maxElements;){if(a.nodeType===Node.ELEMENT_NODE){let t=a,o=t.tagName.toLowerCase();if(Tb.has(o)){a=i.nextNode();continue}if(e.excludeSelector)try{if(t.closest(e.excludeSelector)){a=i.nextNode();continue}}catch{}if(e.visibleOnly&&!Gb(t)){a=i.nextNode();continue}let s=Yb(t,e.maxTextLength),c=s.text.length>0,l=Object.keys(s.attributes).length>0&&!Object.keys(s.attributes).every(e=>e===`role`);if(!c&&!l){a=i.nextNode();continue}r.has(s.selector)||(r.add(s.selector),n.push(s))}a=i.nextNode()}let o=[],s=[];for(let e of n)e.interactivity===`static`?s.push(e):o.push(e);return[...o,...s].slice(0,e.maxElements)}function ex(e={}){let t=Vb(e),n=t.root??document.body;return n?t.mode===`simple`?$b(t,n):Qb(t,n):[]}function tx(e,t={}){if(e.length===0)return`No page elements found.`;let n=t.mode??`structured`,r=[];if(n===`structured`){let t=e.map(e=>e.formattedSummary).filter(e=>!!e&&e.length>0);t.length>0&&r.push(`Structured summaries:\n${t.map(e=>`- ${e.split(`
130
+ `)}if(!o&&!n){let e=r?``:`padding-top: 1.25em !important;`,t=r?``:`z-index: ${a.launcher?.zIndex??1e5} !important;`;M.style.cssText+=`max-height: -moz-available !important; max-height: stretch !important;`+e+t}xn(),_e()},Di=()=>{e.style.setProperty(`--persona-content-max-width`,Pm(a,A()))},Oi=!1;function ki(){a.layout?.topFade&&I.scrollTop>1?I.setAttribute(`data-persona-top-fade`,`true`):I.removeAttribute(`data-persona-top-fade`),on.hidden=!A()||an.hidden||I.scrollHeight-I.clientHeight-I.scrollTop<=1,on.hidden||(on.style.bottom=`${F.getBoundingClientRect().bottom-an.getBoundingClientRect().top-F.clientTop}px`)}let Ai=()=>{ki();let t=Fm(a,A());A()&&a.composer?.placement&&a.debug===!0&&!Oi&&(Oi=!0,console.warn(`[persona] composer.placement is ignored in composer-bar mount mode.`));let n=pn();e.setAttribute(`data-persona-composer-placement`,t),e.setAttribute(`data-persona-conversation-state`,mn),e.setAttribute(`data-persona-welcome-anchor`,n.anchor??`bottom`),e.style.setProperty(`--persona-composer-anchor-gap`,n.composerGap??`24px`),Sn()},ji=()=>{if(A())return;let t=zh(a),n=a.launcher?.sidebarMode??!1;if(us(a)||t||n||(a.launcher?.fullHeight??!1)||!Ee)return;let r=e.ownerDocument.defaultView??window,i=a.launcher?.mobileFullscreen??!0,o=a.launcher?.mobileBreakpoint??640;if(i&&r.innerWidth<=o)return;let s=E_(a);N.style.height=s.height,N.style.maxHeight=s.maxHeight};Ei(),jm(e,a),mv(e,a),hv(e,a),Di(),Ai(),Jr=()=>{Ei(),ji(),jm(e,a),mv(e,a),hv(e,a),Di(),Ai(),Xr?e.style.setProperty(`--persona-artifact-welded-outer-radius`,Xr):e.style.removeProperty(`--persona-artifact-welded-outer-radius`),dt(),ut()};let X=[];X.push(()=>xr.destroy()),X.push(()=>{Kr=!0}),X.push(()=>{ee.forEach(e=>e()),C.destroy()}),X.push(()=>{document.removeEventListener(`keydown`,fi)}),X.push(()=>{ln!==null&&clearTimeout(ln)});let Mi=null,Ni=null;X.push(()=>{Mi?.(),Mi=null,Ni?.(),Ni=null}),qr&&X.push(()=>{qr?.disconnect(),qr=null}),X.push(()=>{gi?.destroy(),gi=null,Y?.element.style.removeProperty(`width`),Y?.element.style.removeProperty(`maxWidth`),Y?.destroy()}),Ge&&X.push(()=>{et=!0,$e=null,rt!==null&&(cancelAnimationFrame(rt),rt=null),tt?.destroy(),tt=null,Ze?.destroy(),Ze=null,Ye=null});let Pi=null,Fi=()=>{if(Pi&&=(Pi(),null),a.colorScheme===`auto`){let e=wm(a);Pi=Nm(t=>{t!==e&&(e=t,Jr(),Ti(),Z&&(ka++,Ts(L,Z.getMessages(),He)))})}};Fi(),X.push(()=>{Pi&&=(Pi(),null)}),X.push(()=>{re=!0,ne?.()}),X.push(()=>{se=!0});let Ii=!1;X.push(()=>{Ii=!0});let Li=(t,n)=>{let r=mh(t,n);return r||!uh.includes(t)?r:(Nh().then(r=>{if(Ii)return;dh(r.wipe),dh(r.glyphCycle);let i=mh(t,n);i&&Ah(i,e)}).catch(()=>{}),null)},Ri=a.features?.streamAnimation;if(Ri?.type&&Ri.type!==`none`){let t=Li(Ri.type,Ri.plugins);t&&Ah(t,e),X.push(()=>kh(e))}let zi=Yh(Ct),Bi=Yh(xt),Vi=Yh(St),Wi=Yh(an),Gi=[zi,Bi,Vi,Wi];X.push(()=>{Gi.forEach(e=>e.destroy())});let Ki=null,Z,qi=null,Ji=!1,Yi=0,Xi=null,Zi=/* @__PURE__ */ new Set;X.push(()=>Zi.clear());let $i=e=>e.reduce((e,t)=>t.role===`user`?e+1:e,0),ta=e=>{for(let t=e.length-1;t>=0;t--)if(Qi(e[t]))return e[t].id??null;return null},na=!1,ia=()=>{na||a.debug!==!0||(na=!0,console.warn(`[persona] Starters are hidden: suggestions.starters.placement is "welcome", but welcome is disabled. Use "auto" or "composer".`))},aa=!1,oa=!1,sa=(e,t)=>{aa||a.debug!==!0||t.enabled&&!t.expose&&(Ji||oa&&(Z.isStreaming()||e.some(Qi)||(aa=!0,console.info(`[persona] No suggest_replies call received. Declare the tool server-side or set suggestions.followUps.expose: true, and instruct the model when to use it. See UI-COMPONENTS.md.`))))},ca=e=>{if(!Z)return;let t=e??Z.getMessages();if(Ct.removeAttribute(`data-persona-suggestions-below`),Ct.parentElement===z&&z.insertBefore(Ct,z.firstChild),Zi.size){let e=new Set(t.map(e=>e.id));for(let t of Zi)e.has(t)||Zi.delete(t)}let n=e=>{e.render([],Z,R,t)},r=e=>{Gi.forEach(t=>{t!==e&&n(t)})};qi&&($i(t)>Yi||ta(t)!==Xi)&&(qi=null);let i=ra(a);sa(t,i);let o=ta(t),s=i.enabled&&!(a.future?.v5Defaults&&o&&Zi.has(o))?ea(t,a.suggestions?.followUps?.maxItems??(a.future?.v5Defaults?5:4)):null;if(a.future?.v5Defaults&&Z.isStreaming()){Gi.forEach(n);return}let c=qi??s,l=qi?`host`:`agent`;if(c){let e=a.suggestions?.followUps,n=e?.placement??(e?`auto`:`composer`),i=(n===`auto`?A()?`composer`:`after-message`:n)===`after-message`?Vi:A()?Wi:zi;r(i),i.render(c,Z,R,t,a.suggestionChipsConfig,{source:l,surface:`followUp`,variant:e?.variant??`chip`,behavior:e?.behavior??`send`,overflow:e?.overflow??(a.future?.v5Defaults?`scroll`:`wrap`),maxItems:e?.maxItems??(a.future?.v5Defaults?fn()?5:3:4),config:a,plugins:S,submitPrompt:zu});return}if(t.some(e=>e.role===`user`)){Gi.forEach(n);return}let u=a.future?.v5Defaults===!0,d=fn(),f=a.suggestions?.starters??(u?{}:void 0);if(f){let e=w_(pn(),t),i=f.placement??`auto`,o=i===`auto`?e?`welcome`:`composer`:i;if(o===`welcome`&&!e){ia(),Gi.forEach(n);return}Ct.toggleAttribute(`data-persona-suggestions-below`,o===`below-composer`),o===`below-composer`?Tt.after(Ct):z.insertBefore(Ct,z.firstChild);let s=o===`welcome`?Bi:zi;r(s),s.render(f.items??a.suggestionChips,Z,R,t,a.suggestionChipsConfig,{surface:`starter`,variant:f.variant??(u&&!d?`chip`:`card`),behavior:f.behavior??`send`,overflow:f.overflow??`wrap`,maxItems:f.maxItems??(u&&!d?3:4),config:a,plugins:S,submitPrompt:zu})}else r(zi),zi.render(a.suggestionChips,Z,R,t,a.suggestionChipsConfig,{surface:`starter`,variant:`chip`,behavior:`send`,overflow:`wrap`,maxItems:4,config:a,plugins:S,submitPrompt:zu})},ua=()=>{if(!a.future?.v5Defaults||!Z)return;qi=null;let e=ta(Z.getMessages());e&&Zi.add(e),ca()},da=()=>{qi&&(qi=null,ca())},fa=e=>{let t=Array.isArray(e)?[...e]:[];if(!t.length){da();return}let n=Z?Z.getMessages():[];qi=t,Ji=!0,Yi=$i(n),Xi=ta(n),ca(n)},pa=!1,ma=th(),ha=/* @__PURE__ */ new Set,ga=/* @__PURE__ */ new Map,_a=/* @__PURE__ */ new Map,va=/* @__PURE__ */ new Map,ya=/* @__PURE__ */ new Map,ba=e=>{let t=ya.get(e);if(ya.delete(e),va.delete(e),Ss(L,e)?.removeAttribute(`data-preserve-runtime`),t){t.controller.abort();try{t.handle.destroy?.()}catch(e){console.error(`[AgentWidget] Component cleanup failed:`,e)}}};X.push(()=>{for(let e of ya.keys())ba(e)});let xa=/* @__PURE__ */ new Map,Sa=/* @__PURE__ */ new Map,Ca=e=>{Sa.get(e)?.abort(),Sa.delete(e),xa.delete(e)},wa=()=>{for(let e of Sa.keys())Ca(e)};X.push(wa);let Ta=null,Ea=null;function Da(){if(!Ta)return;let e=Ta;Ta=null,Ea?.destroy(),Ea=null,ma.delete(e),F.querySelector(`#wrapper-${e}`)?.removeAttribute(`data-preserve-runtime`),Z&&Ts(L,Z.getMessages(),He)}let ka=0,Aa=Cu(),ja=0,Ma=null,Na=!1,Pa=!1,Fa=0,Ia=null,La=null,Ra=!1,za=!1,Ba=null,Va=!0,Ha=!1,Ua=null,Wa=!1,Ga=()=>{Rr++,Wa=!0,Xa()},Ka=null,qa=24,Ja=null,Ya=()=>{e.setAttribute(`data-persona-scrollbar`,en()),en()!==`on-scroll`&&(Ja!==null&&clearTimeout(Ja),Ja=null,I.removeAttribute(`data-persona-scrollbar-visible`))},Xa=()=>{en()===`on-scroll`&&(I.setAttribute(`data-persona-scrollbar-visible`,``),Ja!==null&&clearTimeout(Ja),Ja=setTimeout(()=>{Ja=null,Tu(I,24)&&I.removeAttribute(`data-persona-scrollbar-visible`)},1e3))};Ya(),X.push(()=>{Ja!==null&&clearTimeout(Ja)});let Za=/* @__PURE__ */ new Map,Qa=!1,$a=null,Q={active:!1,manuallyDeactivated:!1,lastUserMessageWasVoice:!1,lastUserMessageId:null};Cr();let eo=a.voiceRecognition?.autoResume??!1,to=()=>Z.isVoiceActive()||Z.isBargeInActive(),no=!1,ro=e=>{O.emit(`voice:state`,{active:Q.active,source:e,timestamp:Date.now()})},io=()=>{Se(e=>({...e,voiceState:{active:Q.active,timestamp:Date.now(),manuallyDeactivated:Q.manuallyDeactivated}}))},ao=()=>{if(a.voiceRecognition?.enabled===!1||a.voiceRecognition?.dictation||a.voiceRecognition?.provider?.type===`custom`&&a.voiceRecognition.completionBehavior===`review`)return;let e=Jy(fe.voiceState),t=!!e.active,n=Number(e.timestamp??0);if(Q.manuallyDeactivated=!!e.manuallyDeactivated,t&&Date.now()-n<3e4){let e=Pe;setTimeout(()=>{Ie(e)&&(Q.active||(Q.manuallyDeactivated=!1,vu(a.voiceRecognition?.provider)?Z.toggleVoice().then(()=>{Ie(e)&&(Q.active=to(),ro(`restore`),Q.active?Od():(io(),su(`Tap the mic to resume your voice call`,1e4)))}):wd(`restore`)))},vu(a.voiceRecognition?.provider)?0:1e3)}},oo=()=>{no=!0,Q.active&&io()};typeof window<`u`&&(window.addEventListener(`pagehide`,oo),X.push(()=>window.removeEventListener(`pagehide`,oo)));let so=()=>Z?Yy(Z.getMessages()).filter(e=>!e.__skipPersist):[],co=null,lo=(e,t)=>{typeof console<`u`&&console.error(e,t)},uo=(e,t)=>{let n=()=>{try{let n=e();return!n||typeof n.then!=`function`?null:Promise.resolve(n).catch(e=>{lo(t,e)})}catch(e){return lo(t,e),null}},r=co,i=r?r.then(()=>n()??void 0):n();if(!i)return;let a=i.finally(()=>{co===a&&(co=null)});co=a};function fo(e){if(mo!==null||!k?.save)return;let t=e?Yy(e):Z?so():[],n=de&&Z?.getResumableHandle();n&&(fe={...fe,durableResume:{executionId:n.executionId,after:n.lastEventId}});let r={messages:t,metadata:fe,artifacts:Zr.artifacts,selectedArtifactId:Zr.selectedId,...po?{draft:po}:{}};uo(()=>k.save(r),`[AgentWidget] Failed to persist state:`)}let po,mo=null,ho=()=>!k?.save||a.persistState===!1?!1:typeof a.persistState!=`object`||a.persistState.persist?.draft!==!1,go=dp({write:()=>{if(!ho())return;let e=W.getState(),t=lp({text:e.text,mentionRefs:e.mentionRefs,contentSegments:tu(),selectedModelId:e.selectedModelId,activeModeIds:e.activeModeIds,quote:e.quote});JSON.stringify(t)!==JSON.stringify(po)&&(po=t,fo())}});function _o(){ho()&&go.schedule()}function vo(){go.flush()}function yo(e){if(!ho())return;let t=up(e,{mentionSourceIds:(a.contextMentions?.sources??[]).map(e=>e.id),modelIds:(a.composer?.models??[]).map(e=>e.id),modes:a.composer?.modes??[]});t&&(po=e,R&&!R.value&&(R.value=t.text,R.dispatchEvent(new Event(`input`,{bubbles:!0})),wn()),t.selectedModelId&&(W.setSelectedModelId(t.selectedModelId),In?.repaint()),Pn(t.activeModeIds??[]),t.quote&&zn(t.quote),go.cancel())}function bo(){go.cancel(),po&&(po=void 0,ho()&&fo())}let wo=ju(),To=()=>M.querySelector(`#persona-scroll-container`)||I,Eo=()=>{wo.cancel(),Na=!1},Do=()=>{Ma!==null&&(cancelAnimationFrame(Ma),Ma=null),Pa=!1,Eo()},Oo=()=>{let e=Z?.getStatus();return pa&&e!==`paused`&&e!==`resuming`&&e!==`error`&&!Z?.getMessages().some(e=>e.agentMetadata?.awaitingLocalTool===!0&&e.agentMetadata.askUserQuestionAnswered!==!0||e.variant===`approval`&&e.approval?.status===`pending`)},ko=()=>Oo()&&Bo()&&(qt()!==`anchor-top`||Qt()),Ao=()=>{let e=nn.getAttribute(`data-persona-scroll-to-bottom-visible`)===`true`;tn.update(a,e,ko(),Fa,e&&Io())},jo=()=>{Fa!==0&&(Fa=0,Ao())},Mo=()=>{let e=I.getBoundingClientRect(),t=z.getBoundingClientRect();return t.height>0&&t.bottom>e.top?Math.min(I.clientHeight,Math.max(0,t.top-e.top-I.clientTop)):I.clientHeight},No=()=>ns(Ia?.spacerHeight??0,!1)-I.scrollTop-Mo()<=24,Po=e=>vn(e)>I.scrollTop+Mo()-24,Fo=()=>(Z?.getMessages()??[]).filter(e=>e.variant===`approval`&&e.approval?.status===`pending`).map(e=>ss(e.id)).filter(e=>!!e?.isConnected),Io=()=>Fo().some(Po),Lo=e=>{let t=vn(e);return t>=I.scrollTop&&t+e.offsetHeight<=I.scrollTop+Mo()},Ro=[],zo=()=>{let e=Ro;Ro=[];for(let t of e){let e=ss(t)?.querySelector(`[data-action="allow"]`);if(e&&Lo(e)){e.focus({preventScroll:!0});return}}},Bo=()=>(!Jt()||!Aa.isFollowing())&&!No(),Vo=()=>!!Z&&Z.getMessages().length>0,Ho=()=>{if(!Kt()||ht()){tn.update(a,!1),nn.parentNode&&nn.remove();return}let e=rn();nn.parentNode!==e&&e.insertBefore(nn,e===F?an:null),yn();let t=wu(I)>0,n=!Yo.active&&t&&Bo()&&Vo();n||(Fa=0),tn.update(a,n,ko(),Fa,n&&Io())},Uo=()=>{Aa.pause()&&(Do(),Ho())},Wo=()=>{Aa.resume(),jo(),Ho()},Go=(e=!1)=>{!Yo.active&&Jt()&&Vo()&&Aa.isFollowing()&&(e||pa)&&(Ma!==null&&(cancelAnimationFrame(Ma),Ma=null),Pa=!0,Ma=requestAnimationFrame(()=>{Ma=null,Pa=!1,Aa.isFollowing()&&Xo(To(),e?220:140)}))},Jo=(e,t,n,r=()=>!0)=>{Eo(),Na=!0,wo.start(e,t,n,()=>{ja=e.scrollTop},()=>{Na=!1},r)},Yo=Mu(I,F,()=>{ja=I.scrollTop},()=>{Wo(),Go(!0),Ho(),zo()},()=>{Ro=[],Aa.pause(),Ho()}),Xo=(e,t=500)=>{let n=wu(e)-e.scrollTop;Math.abs(n)<1?ja=e.scrollTop:Math.abs(n)>=80?(Eo(),Na=!0,e.scrollTop=wu(e),ja=e.scrollTop,Na=!1):Jo(e,()=>wu(e),t,()=>Aa.isFollowing())},Zo=()=>{if(!Vo()){Ho();return}let e=To();Na=!0,e.scrollTop=wu(e),ja=e.scrollTop,Na=!1,Ho()},Qo=()=>{let e=I.getRootNode();return(typeof e.getSelection==`function`?e.getSelection():null)??I.ownerDocument.getSelection()},$o=()=>Ou(Qo(),I),es=()=>{if(Xt()!==`last-user-turn`)return!1;let e=Z?.getMessages()??[];if(e.length<2)return!1;let t=[...e].reverse().find(e=>e.role===`user`);if(!t)return!1;let n=typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(t.id):t.id.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`),r=I.querySelector(`[data-message-id="${n}"]`);if(!r)return!1;let i=Math.min(Math.max(0,vn(r)-Yt()),wu(I));return Na=!0,I.scrollTop=i,ja=I.scrollTop,Na=!1,qt()===`follow`&&!Tu(I,24)&&Aa.pause(),Ho(),!0},ts=e=>{let t=Math.max(0,Math.round(e));sn.style.height=`${t}px`,sn.style.display=t>0?``:`none`,Ia&&(Ia.spacerHeight=Math.max(0,e))},ns=(e,t=!0)=>{let n=parseFloat(getComputedStyle(I).paddingBottom)||0,r=0;for(let e of I.children){let t=e;t!==sn&&t.offsetHeight!==0&&(r=Math.max(r,vn(t)+t.offsetHeight))}let i=I.scrollHeight-e,a=r>0?Math.min(r+n,i):i;return t?a:a-n},rs=()=>{if(!Ia||Ia.spacerHeight<=0||Ia.pending)return;let e=ns(Ia.spacerHeight),t=Math.max(0,Math.round(I.scrollTop)+I.clientHeight-e+24);t<Ia.spacerHeight&&(ts(t),Ho())},is=()=>{La!==null&&(cancelAnimationFrame(La),La=null),Yo.cancel(),Eo(),Ia=null,sn.style.height=`0px`,sn.style.display=`none`},as=e=>typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(e):e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`),ss=e=>I.querySelector(`[data-message-id="${as(e)}"]`),cs=e=>{La!==null&&cancelAnimationFrame(La),La=requestAnimationFrame(()=>{La=null;let t=ss(e);if(!t)return;let n=vn(t),r=Ia?.spacerHeight??0,i=ns(r),{targetScrollTop:a,spacerHeight:o}=ku({anchorOffsetTop:n,topOffset:Yt(),viewportHeight:I.clientHeight,contentHeight:i,slack:24});Ia={pending:0,initialSpacerHeight:o,contentHeightAtAnchor:i,spacerHeight:o},ts(o),Jo(I,()=>t.isConnected?Math.max(0,vn(t)-Yt()):a,220)})},ls=()=>{if(qt()!==`anchor-top`||!Ia||!Ua)return;let e=ss(Ua);if(!e)return;Eo();let t=Ia.spacerHeight,n=ns(t),{targetScrollTop:r,spacerHeight:i}=ku({anchorOffsetTop:vn(e),topOffset:Yt(),viewportHeight:I.clientHeight,contentHeight:n,slack:24});Ia={pending:0,initialSpacerHeight:i,contentHeightAtAnchor:n,spacerHeight:i},ts(i),Na=!0,I.scrollTop=r,ja=I.scrollTop,Na=!1,Ho()},fs=()=>{if(Jt()){if(Ho(),!Aa.isFollowing()||Tu(I,1))return;Go(!pa)}else{if(Ia&&Ia.initialSpacerHeight>0&&!Ia.pending){let e=I.scrollHeight-Ia.spacerHeight,t=Au({initialSpacerHeight:Ia.initialSpacerHeight,contentHeightAtAnchor:Ia.contentHeightAtAnchor,currentContentHeight:e});t!==Ia.spacerHeight&&ts(t)}Ho()}},ps=(e,t,n,r,i)=>{if(ma.delete(n),i!==`toggle`&&Jt()&&Aa.isFollowing()){Dg(e,t,n,r);return}let a=I.getBoundingClientRect().top,o=e.getBoundingClientRect(),s=Ia;s&&(Eo(),ts(s.spacerHeight+e.offsetHeight)),Dg(e,t,n,r);let c=e.getBoundingClientRect(),l=o.top-a,u=i===`toggle`?c.top-a-(r.state===`collapsed`&&l<0?Yt():l):l>=0?c.top-o.top:c.bottom-o.bottom,d=Math.max(0,I.scrollTop+u);s&&Ia===s&&(ts(d+I.clientHeight+24-ns(s.spacerHeight)),s.initialSpacerHeight=s.spacerHeight,s.contentHeightAtAnchor=I.scrollHeight-s.spacerHeight),Math.abs(d-I.scrollTop)>=1&&(Na=!0,I.scrollTop=d,ja=I.scrollTop,Na=!1),Ho()},ms=()=>{if(!xg(a))return;let e=Sg(a);for(let t of Array.from(L.querySelectorAll(`[${yg}]`))){let n=t.closest(`[data-message-id]`),r=n?.getAttribute(`data-message-id`);if(!n||!r)continue;let i=t.scrollHeight;i>0&&h.set(r,wg(i,e));let o=h.get(r)??!1,s=t.getAttribute(yg);if(s===`live`)continue;s===`settling`&&_.delete(r);let c=o?g.get(r)?`expanded`:`collapsed`:`fit`;c!==s&&ps(n,t,r,{state:c,maxHeight:e,...Cg(a)},`measure`)}},hs=e=>{if(h.size===0&&g.size===0&&_.size===0)return;let t=new Set(e.map(e=>e.id));for(let e of[h,g,_])for(let n of e.keys())t.has(n)||e.delete(n)},_s=e=>{let t=qt();t===`follow`?(Wo(),Go(!0)):t===`anchor-top`&&(Va=!1,Ha=!0,Wa=!1,Ua=e,cs(e))},vs=()=>{qt()===`anchor-top`&&(Ha?Va=!1:(Va=!0,is(),Wo(),Go(!0)))},ys=e=>{let t=/* @__PURE__ */ new Map;e.forEach(e=>{let n=Za.get(e.id);t.set(e.id,{streaming:e.streaming,role:e.role}),!n&&e.role===`assistant`&&(O.emit(`assistant:message`,e),!za&&(qt()!==`anchor-top`||Qt())&&Bo()&&(Fa+=1,Ao(),Ho(),dn(Fa===1?`1 new message below.`:`${Fa} new messages below.`))),e.role===`assistant`&&(n?.streaming||ha.has(e.id))&&e.streaming===!1&&O.emit(`assistant:complete`,e),e.variant===`approval`&&e.approval&&(n?e.approval.status!==`pending`&&O.emit(`approval:resolved`,{approval:e.approval,decision:e.approval.status}):O.emit(`approval:requested`,{approval:e.approval,message:e}))}),Za.clear(),t.forEach((e,t)=>{Za.set(t,e)}),ha.clear()},bs=(e,t)=>{let n=t===`user`?`user`:`assistant`,r=a.layout?.messages?.[n],i=r?.width??`content`,o=t===`operator`?`content`:i,s=t===`operator`?`var(--persona-message-operator-max-width, var(--persona-message-assistant-max-width, 100%))`:`var(--persona-message-${n}-max-width, 100%)`,c=r?.maxWidth??(i===`full`?s:void 0);e.classList.add(`persona-message-row`),e.classList.remove(`persona-message-row-user`,`persona-message-row-assistant`,`persona-message-row-system`,`persona-message-row-operator`,`persona-message-width-content`,`persona-message-width-full`),e.classList.add(`persona-message-row-${t}`,`persona-message-width-${o}`),e.classList.toggle(`persona-justify-end`,t===`user`),e.setAttribute(`data-message-role`,t),e.setAttribute(`data-message-width`,o),c?e.style.setProperty(`--persona-message-row-max-width`,c):e.style.removeProperty(`--persona-message-row-max-width`)},xs=(e,t)=>{let n=document.createElement(`div`);return n.className=`persona-flex`,n.id=`wrapper-${e}`,n.setAttribute(`data-wrapper-id`,e),bs(n,t),n},Ss=(e,t)=>Array.from(e.querySelectorAll(`[data-wrapper-id]`)).find(e=>e.getAttribute(`data-wrapper-id`)===t),Cs=(t,n,r)=>{let i=/* @__PURE__ */ new Set;d(),u?.observeMessages(n,i);let o=document.createElement(`div`),s=!a.features?.toolCallDisplay?.grouped,h=/* @__PURE__ */ new Set;if(s)for(let e of Array.from(t.children)){let t=e.getAttribute(`data-wrapper-id`);t&&h.add(t)}let g=/* @__PURE__ */ new Map,_=S.find(e=>e.renderLoadingIndicator)?.renderLoadingIndicator??a.loadingIndicator?.render,y=/* @__PURE__ */ new Set,b=/* @__PURE__ */ new Map,x=/* @__PURE__ */ new Set,C=S.some(e=>e.renderAskUserQuestion),ee=[],te=[],ne=a.enableComponentStreaming!==!1,re=a.approval!==!1,D=[],ie=a.messageActions,ae;if(a.future?.v5Defaults&&ie?.visibility===void 0){for(let e=n.length-1;e>=0;e--)if(n[e].role===`assistant`&&!n[e].variant){ae=n[e].id;break}}let se=(ie?.showRegenerate===!0||a.errorDisplay===`block`)&&ie?.enabled!==!1&&ii.current?.isStreaming()!==!0?rf(n):null,ce=ie?.showEdit===!0&&ie.enabled!==!1,le=-1;n.forEach((e,t)=>{e.role===`operator`&&(le=t)});let O=ie?.showQuote===!0&&ie.enabled!==!1,k=null,de=a.features?.reasoningDisplay?.completedVisibility,fe=e=>de===`removed`||de===`removed-when-short`&&er(e,a.features?.reasoningDisplay?.shortThinkThreshold),pe=a.features?.toolCallDisplay?.completedVisibility===`removed`,me=e=>e.variant===`reasoning`&&e.reasoning?.status===`complete`?fe(e.reasoning):pe&&e.variant===`tool`&&e.toolCall?.status===`complete`&&!e.toolCall.interrupted;n.forEach((i,l)=>{if(me(i))return;if(y.add(i.id),b.set(i.id,i.role),(i.variant===`tool`&&i.toolCall&&We||i.variant===`reasoning`&&i.reasoning&&Ue)&&!d()){o.appendChild(xs(i.id,i.role));return}if(Ta===i.id&&Ea){let e=xs(i.id,i.role);e.setAttribute(`data-persona-message-edit-stub`,`true`),e.setAttribute(`data-preserve-runtime`,`true`),o.appendChild(e),k={messageId:i.id,element:Ea.element};return}let u=C&&pi(i),w=re&&i.variant===`approval`&&!!i.approval,de=!u&&i.role===`assistant`&&!i.variant&&ne&&pf(i);!w&&xa.has(i.id)&&(Ss(t,i.id)?.removeAttribute(`data-preserve-runtime`),Ca(i.id)),!de&&va.has(i.id)&&(Ss(t,i.id)?.removeAttribute(`data-preserve-runtime`),ba(i.id));let fe=pi(i)?`:${i.agentMetadata?.askUserQuestionAnswered?`a`:`u`}:${i.agentMetadata?.askUserQuestionAnswers?Object.keys(i.agentMetadata.askUserQuestionAnswers).length:0}`:``,pe={isLastAssistant:i.id===ae,canRegenerate:se===i.id&&(ie?.showRegenerate===!0||i.dispatchError===!0),canEdit:ce&&l>le&&af(i),canQuote:O&&!i.variant&&(i.content?.trim().length??0)>0},he=`${pe.canRegenerate?`r`:``}${pe.canEdit?`e`:``}${pe.canQuote?`q`:``}${pe.isLastAssistant?`l`:``}`,ge=i.approval?.toolCallId?n.filter(e=>e.variant===`tool`&&e.toolCall?.id===i.approval?.toolCallId&&(!e.agentMetadata?.executionId||!i.approval?.executionId||e.agentMetadata.executionId===i.approval.executionId)):[],_e=ge.length===1?ge[0].toolCall:void 0,ve=_e&&_e.status!==`pending`?{toolCallId:_e.id,status:_e.status===`running`?`running`:_e.success===!1||_e.error?`failed`:`completed`}:void 0,ye=v(i),be=eh(i,ka)+fe+`:${he}`+(ye?`:uc-${ye.state}`:``)+(w?`:${i.approval?.toolCallId??``}:${JSON.stringify(ve)}`:``),xe=u||w||de||i.dispatchError&&a.errorDisplay===`block`&&!T?null:nh(ma,i.id,be);if(xe){if(h.has(i.id)&&ga.get(i.id)===be){let e=document.createElement(`div`);e.id=`wrapper-${i.id}`,e.setAttribute(`data-wrapper-id`,i.id),e.setAttribute(`data-persona-reuse`,`true`),o.appendChild(e)}else o.appendChild(xe.cloneNode(!0));s&&g.set(i.id,be),pi(i)&&i.toolCall?.id&&i.agentMetadata?.awaitingLocalTool===!0&&!i.agentMetadata?.askUserQuestionAnswered&&(x.add(i.toolCall.id),si(i));return}let Se=null,Ce=()=>{if(i.dispatchError&&a.errorDisplay===`block`){let e=oe();if(e)return e.createErrorBlock(i,r,pe.canRegenerate===!0)}let e=t_(i,r,a.layout?.messages,a.messageActions,gt,{loadingIndicatorRenderer:_,widgetConfig:a,actionEligibility:pe,userCollapse:ye});return e.dataset.personaDefaultMessage=`true`,e},we=S.find(e=>!!(i.variant===`reasoning`&&e.renderReasoning||i.variant===`tool`&&e.renderToolCall||!i.variant&&e.renderMessage));if(pi(i)&&i.agentMetadata?.askUserQuestionAnswered===!0){_a.delete(i.id),Ss(t,i.id)?.removeAttribute(`data-preserve-runtime`);return}if(Qi(i)&&ra(a).enabled)return;if(pi(i)&&a.features?.askUserQuestion?.enabled!==!1){let e=S.find(e=>typeof e.renderAskUserQuestion==`function`);if(e&&ii.current){let t=_a.get(i.id),n=t!==be,r=null;if(n){let{payload:t,complete:n}=hi(i),o=i.id,s=()=>ii.current?.getMessages().find(e=>e.id===o);r=e.renderAskUserQuestion({message:i,payload:t,complete:n,resolve:e=>{let t=s();t&&ii.current?.resolveAskUserQuestion(t,e)},dismiss:()=>{let e=s();e?.agentMetadata?.awaitingLocalTool&&(ii.current?.markAskUserQuestionResolved(e),ii.current?.resolveAskUserQuestion(e,`(dismissed)`))},config:a})}if(n&&r===null&&t==null){i.agentMetadata?.awaitingLocalTool===!0&&!i.agentMetadata?.askUserQuestionAnswered&&(x.add(i.toolCall.id),si(i));return}let s=xs(i.id,i.role);s.setAttribute(`data-ask-plugin-stub`,`true`),s.setAttribute(`data-preserve-runtime`,`true`),o.appendChild(s),ee.push({messageId:i.id,fingerprint:be,bubble:r});return}i.agentMetadata?.awaitingLocalTool===!0&&!i.agentMetadata?.askUserQuestionAnswered&&(x.add(i.toolCall.id),si(i));return}if(w){let t=oe();if(!t){o.appendChild(xs(i.id,i.role));return}let n=S.find(e=>typeof e.renderApproval==`function`)??E,r=xa.get(i.id),s=r!==be,c=null,l=!1;if(s&&n?.renderApproval){let o=i.id,s=!1,u=(e,t)=>{let n=ii.current?.getMessages().find(e=>e.id===o);s||n?.approval?.status!==`pending`||(s=!0,Fu(n.approval)?ii.current?.resolveWebMcpApproval(n.id,e):ii.current?.resolveApproval(n.approval,e,t))};Ca(i.id);let d=new AbortController;Sa.set(i.id,d);let f={message:i,execution:ve,signal:d.signal,defaultRenderer:()=>g(),config:a,approve:e=>{d.signal.aborted||u(`approved`,e)},deny:e=>{d.signal.aborted||u(`denied`,e)}},p=null,h=new AbortController;d.signal.addEventListener(`abort`,()=>h.abort(),{once:!0});let g=()=>(p??=E?.renderApproval?.({...f,signal:h.signal})??t.createApprovalBubble(i,a,m),p);c=n===E?g():n.renderApproval(f)??g();let _=p!==null&&(c===p||c.contains(p));_||h.abort();let v=e.getRootNode();l=_&&r===void 0&&i.approval?.status===`pending`&&a.approval!==!1&&a.approval?.keyboardShortcuts===`focused`&&e.contains(v.activeElement)}let u=xs(i.id,i.role);u.setAttribute(`data-approval-plugin-stub`,`true`),u.setAttribute(`data-preserve-runtime`,`true`),o.appendChild(u),D.push({messageId:i.id,fingerprint:be,bubble:c,focusDefault:l});return}if(we){if(i.variant===`reasoning`&&i.reasoning&&we.renderReasoning){if(!Ue)return;Se=we.renderReasoning({message:i,defaultRenderer:()=>c.createReasoningBubble(i,a,p),config:a})}else if(i.variant===`tool`&&i.toolCall&&we.renderToolCall){if(!We)return;Se=we.renderToolCall({message:i,defaultRenderer:()=>c.createToolBubble(i,a,f),config:a})}else we.renderMessage&&(Se=we.renderMessage({message:i,defaultRenderer:()=>{let e=Ce();return i.role!==`user`&&ue(e,i,a,Z),e},config:a}))}if(Se&&ya.has(i.id)&&ba(i.id),!Se&&de){let e=mf(i);if(e){let n=va.get(i.id),s=a.wrapComponentDirectiveInBubble!==!1&&eu(a,e.component)?.bubbleChrome!==!1,c=`${eh(i,ka)}:${s}:${e.raw}`,l=ya.get(i.id),u=$l(a,e.component),d=l?.renderer!==u||l?.component!==e.component,f=n!==c||d;l&&(l.context.message=i,l.context.config=a);let p=null;if(f){let n=null;if(l&&!d&&l.handle.update){l.context.message=i,l.context.config=a;try{l.handle.update(e.props,l.context),n=l.handle.element}catch(e){console.error(`[AgentWidget] Component update failed:`,e),ba(i.id)}}else{ba(i.id);let t=new AbortController,o={config:a,message:i,signal:t.signal,updateProps:e=>{queueMicrotask(()=>{t.signal.aborted||ii.current?.updateComponentProps(i.id,e)})}},s=uf(e,{config:a,message:i,transform:r,signal:t.signal,onPropsUpdate:o.updateProps,context:o});if(s){let r=`element`in s?s:{element:s};n=r.element,ya.set(i.id,{renderer:u,component:e.component,controller:t,handle:r,context:o})}else t.abort()}if(n&&e.component===`PersonaArtifactInline`){let e=n.hasAttribute(`data-artifact-inline`)?n:n.querySelector(`[data-artifact-inline]`),r=e?.getAttribute(`data-artifact-inline`)??``,a=typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(r):r,o=r?t.querySelector(`#wrapper-${i.id}`)?.querySelector(`[data-artifact-inline="${a}"]`)??null:null;e&&o&&o!==e&&uu()?.hasLiveInlineArtifactBlock(o)&&(e===n?n=o:e.replaceWith(o))}if(n){if(s){let e=document.createElement(`div`);if(e.className=`persona-message-bubble persona-rounded-2xl persona-bg-persona-surface persona-border persona-border-persona-message-border persona-p-4`,e.id=`bubble-${i.id}`,e.setAttribute(`data-message-id`,i.id),i.content&&i.content.trim()){let t=document.createElement(`div`);t.className=`persona-mb-3 persona-text-sm persona-leading-relaxed`,t.innerHTML=r({text:i.content,message:i,streaming:!!i.streaming,raw:i.rawContent}),e.appendChild(t)}e.appendChild(n),p=e}else{let e=document.createElement(`div`);if(e.className=`persona-flex persona-flex-col persona-w-full persona-max-w-full persona-gap-3 persona-items-stretch`,e.id=`bubble-${i.id}`,e.setAttribute(`data-message-id`,i.id),e.setAttribute(`data-persona-component-directive`,`true`),i.content&&i.content.trim()){let t=document.createElement(`div`);t.className=`persona-text-sm persona-leading-relaxed persona-text-persona-primary persona-w-full`,t.innerHTML=r({text:i.content,message:i,streaming:!!i.streaming,raw:i.rawContent}),e.appendChild(t)}e.appendChild(n),p=e}}}if(p||ya.has(i.id)){let e=xs(i.id,i.role);e.setAttribute(`data-component-directive-stub`,`true`),e.setAttribute(`data-preserve-runtime`,`true`),o.appendChild(e),te.push({messageId:i.id,fingerprint:c,bubble:p});return}}}if(!Se){if(i.variant===`reasoning`&&i.reasoning){if(!Ue)return;Se=c.createReasoningBubble(i,a,p)}else if(i.variant===`tool`&&i.toolCall){if(!We)return;Se=c.createToolBubble(i,a,f)}else if(i.variant===`approval`&&i.approval){if(a.approval===!1)return;let e=oe();if(!e)return;Se=e.createApprovalBubble(i,a,m)}else{let e=a.layout?.messages;Se=e?.renderUserMessage&&i.role===`user`?e.renderUserMessage({message:i,config:a,streaming:!!i.streaming}):e?.renderAssistantMessage&&i.role===`assistant`?e.renderAssistantMessage({message:i,config:a,streaming:!!i.streaming}):Ce(),i.role!==`user`&&Se&&ue(Se,i,a,Z)}}let Te=xs(i.id,i.role);Te.appendChild(Se),rh(ma,i.id,be,Te),o.appendChild(Te),s&&g.set(i.id,be)}),P.composerOverlay&&P.composerOverlay.querySelectorAll(`[data-persona-ask-sheet-for]`).forEach(e=>{let t=e.getAttribute(`data-persona-ask-sheet-for`);t&&!x.has(t)&&Ui(P.composerOverlay,t)});let he=d()?.groupToolRows({root:e,config:a,messages:n,tempContainer:o,streaming:w?Z.isStreaming():!1,runActivity:Z?.getRunActivity(),showToolCalls:We,showReasoning:Ue,dropCompletedToolCalls:pe,dropReasoningRow:fe,createMessageRow:xs,activityIds:i,activityLifecycle:u,toolExpansionState:f});u?.prune(i);for(let e of ya.keys())y.has(e)||ba(e);for(let e of Sa.keys())y.has(e)||Ca(e);ih(ma,y);let ge=e=>!(e.toolCall?.id&&x.has(e.toolCall.id))&&!ee.some(t=>t.messageId===e.id),_e=e=>pi(e)&&e.agentMetadata?.askUserQuestionAnswered!==!0&&a.features?.askUserQuestion?.enabled!==!1?ge(e):e.variant===`tool`&&!We||e.variant===`reasoning`&&!Ue||me(e),ve=n.some(e=>e.role===`assistant`&&e.streaming&&!_e(e)),ye=n.length-1;for(;ye>=0&&_e(n[ye]);)ye--;let be=ye>=0?n[ye]:void 0,xe=ye<n.length-1,Se=be?.role===`assistant`&&!be.streaming&&be.variant!==`approval`&&!xe;if(!he&&pa&&n.some(e=>e.role===`user`)&&!ve&&!Se){let e={config:a,streaming:!0,location:`standalone`,defaultRenderer:()=>Wg(a)},t=S.find(e=>e.renderLoadingIndicator)?.renderLoadingIndicator?.(e)??a.loadingIndicator?.render?.(e)??Wg(a);if(t){let e=document.createElement(`div`),n=a.loadingIndicator?.showBubble!==!1,r=a.layout?.messages?.layout??`bubble`;e.className=n?Yg(`assistant`,r).join(` `):`persona-text-sm persona-leading-relaxed persona-text-persona-text`,e.setAttribute(`data-typing-indicator`,`true`),n&&(e.style.color=`var(--persona-message-assistant-text, var(--persona-text))`,r!==`flat`&&(e.style.backgroundColor=`var(--persona-message-assistant-bg, var(--persona-container))`,e.style.borderColor=`var(--persona-message-assistant-border, var(--persona-border, #e5e7eb))`)),e.appendChild(t);let i=xs(`typing-indicator`,`assistant`);i.appendChild(e),o.appendChild(i)}}if(!pa&&n.length>0){let e=n[n.length-1],t={config:a,lastMessage:e,messageCount:n.length},r=S.find(e=>e.renderIdleIndicator)?.renderIdleIndicator?.(t)??a.loadingIndicator?.renderIdle?.(t);if(r){let e=document.createElement(`div`);e.className=a.loadingIndicator?.showBubble===!1?`persona-text-sm persona-leading-relaxed persona-text-persona-primary`:`persona-rounded-2xl persona-text-sm persona-leading-relaxed persona-shadow-sm persona-bg-persona-surface persona-border persona-border-persona-message-border persona-text-persona-primary persona-px-5 persona-py-3`,e.setAttribute(`data-idle-indicator`,`true`),e.appendChild(r);let t=xs(`idle-indicator`,`assistant`);t.appendChild(e),o.appendChild(t)}}td(o),l?.prepare(o),u?.prepare(o),Jm(t,o),ga=g;for(let e of Array.from(t.querySelectorAll(`:scope > [data-persona-reuse]`))){let t=ma.get(e.getAttribute(`data-wrapper-id`)??``);t?e.replaceWith(t.wrapper.cloneNode(!0)):e.remove()}if(rd(t),k){let{messageId:e,element:n}=k,r=Ss(t,e);r&&n.parentElement!==r&&(bs(r,b.get(e)??`user`),r.replaceChildren(n))}if(ee.length>0)for(let{messageId:e,fingerprint:n,bubble:r}of ee){let i=Ss(t,e);i&&(bs(i,b.get(e)??`assistant`),r!==null&&(i.replaceChildren(r),i.setAttribute(`data-bubble-fp`,n),_a.set(e,n)))}if(_a.size>0)for(let e of _a.keys())y.has(e)||_a.delete(e);if(te.length>0)for(let{messageId:e,fingerprint:n,bubble:r}of te){let i=Ss(t,e);i&&(bs(i,b.get(e)??`assistant`),r!==null&&(i.replaceChildren(r),i.setAttribute(`data-bubble-fp`,n),va.set(e,n)))}if(va.size>0)for(let e of va.keys())y.has(e)||va.delete(e);if(D.length>0)for(let{messageId:e,fingerprint:n,bubble:r,focusDefault:i}of D){let a=Ss(t,e);if(!a||(bs(a,b.get(e)??`assistant`),r===null))continue;a.replaceChildren(r),a.setAttribute(`data-bubble-fp`,n),xa.set(e,n);let o=Jt()&&Aa.isFollowing();i&&(o||!Po(a))&&r.querySelector(`[data-action="allow"]`)?.focus()}if(xa.size>0)for(let e of xa.keys())y.has(e)||xa.delete(e);d(),l?.sync(),u?.sync()},ws=()=>{Oa().catch(()=>{})},Ts=(e,t,n)=>{if(t.length>0&&ws(),Cs(e,t,n),hs(t),ms(),Gr(),Ir.size>0){for(let[e,n]of Ir)t.some(t=>t.id===e)||(window.clearTimeout(n),Ir.delete(e));zr()}},Es=null,Ds=()=>{if(Es)return;let t=e=>{let t=e.composedPath();t.includes(M)||bt&&t.includes(bt)||zs(!1,`user`)};Es=t,(e.ownerDocument??document).addEventListener(`pointerdown`,t,!0)},Os=()=>{Es&&=((e.ownerDocument??document).removeEventListener(`pointerdown`,Es,!0),null)};X.push(()=>Os());let ks=null,As=()=>{if(ks)return;let t=e=>{e.key===`Escape`&&(e.isComposing||zs(!1,`user`))};ks=t,(e.ownerDocument??document).addEventListener(`keydown`,t,!0)},js=()=>{ks&&=((e.ownerDocument??document).removeEventListener(`keydown`,ks,!0),null)};X.push(()=>js());let Ns=!1,Ps=/* @__PURE__ */ new Set,Fs=()=>a.launcher?.composerBar?.peek?.streamAnimation||a.features?.streamAnimation,Is=()=>{if(!A())return;let t=P.peekBanner,n=P.peekTextNode;if(!t||!n)return;if(j){t.classList.remove(`persona-pill-peek--visible`);return}let r=Z?.getMessages()??[],i;for(let e=r.length-1;e>=0;e--){let t=r[e];if(t.role===`assistant`&&t.content){i=t;break}}if(!i){t.classList.remove(`persona-pill-peek--visible`);return}let a=i.content,o=!!i.streaming,s=Fs(),c=sh(s),l=c.type===`none`?null:Li(c.type,s?.plugins),u=l?.isAnimating?.(i)===!0,d=l!==null&&(o||u);d&&l&&!Ps.has(l.name)&&(Ah(l,e),Ps.add(l.name));let f=d&&l?.containerClass?l.containerClass:null,p=n.dataset.personaPeekStreamClass??null;p&&p!==f&&(n.classList.remove(p),delete n.dataset.personaPeekStreamClass),f&&p!==f&&(n.classList.add(f),n.dataset.personaPeekStreamClass=f),d?(n.style.setProperty(`--persona-stream-step`,`${c.speed}ms`),n.style.setProperty(`--persona-stream-duration`,`${c.duration}ms`)):(n.style.removeProperty(`--persona-stream-step`),n.style.removeProperty(`--persona-stream-duration`));let m=d?hh(a,c.buffer,l,i,o):a;if(d&&c.placeholder===`skeleton`&&o&&(!m||!m.trim())){let e=document.createElement(`div`),t=wh();t.classList.add(`persona-pill-peek__skeleton`),e.appendChild(t),Jm(n,e)}else{let e=Math.max(0,m.length-100),r=m.length>100?m.slice(-100):m,a=Uu(r);if(!d||!l){let e=m.length>100?`…${r}`:r;n.textContent!==e&&(n.textContent=e)}else{let o=a;(l.wrap===`char`||l.wrap===`word`)&&(o=Sh(a,l.wrap,`peek-${i.id}`,{skipTags:l.skipTags,startIndex:e}));let s=document.createElement(`div`);if(s.innerHTML=o,l.useCaret&&r.length>0){let e=Ch(),t=s.querySelectorAll(`.persona-stream-char, .persona-stream-word`),n=t[t.length-1];n?.parentNode?n.parentNode.insertBefore(e,n.nextSibling):s.appendChild(e)}Jm(n,s),l.onAfterRender?.({container:n,bubble:t,messageId:i.id,message:i,speed:c.speed,duration:c.duration})}}let h=pa||Ns;t.classList.toggle(`persona-pill-peek--visible`,h)};if(A()){let e=P.peekBanner;if(e){let t=e=>{e.preventDefault(),e.stopPropagation(),zs(!0,`user`)};e.addEventListener(`pointerdown`,t),X.push(()=>{e.removeEventListener(`pointerdown`,t)})}let t=()=>{Ns||(Ns=!0,Is())},n=()=>{Ns&&(Ns=!1,Is())};N.addEventListener(`pointerenter`,t),N.addEventListener(`pointerleave`,n),X.push(()=>{N.removeEventListener(`pointerenter`,t),N.removeEventListener(`pointerleave`,n)}),bt&&(bt.addEventListener(`pointerenter`,t),bt.addEventListener(`pointerleave`,n),X.push(()=>{bt.removeEventListener(`pointerenter`,t),bt.removeEventListener(`pointerleave`,n)}))}let Ls=e=>{let t=a.launcher?.composerBar??{},n=t.expandedSize??`anchored`,r=t.bottomOffset??`16px`,i=t.collapsedMaxWidth,o=t.expandedMaxWidth??`880px`,s=t.expandedTopOffset??`5vh`,c=t.modalMaxWidth??`880px`,l=t.modalMaxHeight??`min(90vh, 800px)`,u=`calc(100vw - 32px)`;bn();let d=M.style;if(d.left=``,d.right=``,d.top=``,d.bottom=``,d.transform=``,d.width=``,d.maxWidth=``,d.height=``,d.maxHeight=``,bt){let e=bt.style;e.bottom=r,e.width=i??``}e&&n!==`fullscreen`&&(n===`modal`?(d.top=`50%`,d.left=`50%`,d.transform=`translate(-50%, -50%)`,d.bottom=`auto`,d.right=`auto`,d.width=c,d.maxWidth=u,d.maxHeight=l,d.height=l):(d.left=`50%`,d.transform=`translateX(-50%)`,d.bottom=`calc(${r} + var(--persona-pill-area-height, var(--persona-measured-pill-area-height, 80px)))`,d.top=s,d.width=o,d.maxWidth=u))},Rs=()=>{if(j&&ws(),!Ne())return;if(A()){let e=(a.launcher?.composerBar??{}).expandedSize??`anchored`,t=j?`expanded`:`collapsed`;M.dataset.state=t,M.dataset.expandedSize=e,bt&&(bt.dataset.state=t,bt.dataset.expandedSize=e),M.style.removeProperty(`display`),M.classList.remove(`persona-pointer-events-none`,`persona-opacity-0`),N.classList.remove(`persona-scale-95`,`persona-opacity-0`,`persona-scale-100`,`persona-opacity-100`),Ls(j),F.style.display=j?`flex`:`none`,Jr(),j?(Ds(),As()):(Os(),js()),Is();return}let t=zh(a),n=e.ownerDocument.defaultView??window,r=a.launcher?.mobileBreakpoint??640,i=a.launcher?.mobileFullscreen??!0,o=n.innerWidth<=r,s=i&&o&&Ee,c=Vh(a).reveal;j?(M.style.removeProperty(`display`),M.style.display=t?`flex`:``,M.classList.remove(`persona-pointer-events-none`,`persona-opacity-0`),N.classList.remove(`persona-scale-95`,`persona-opacity-0`),N.classList.add(`persona-scale-100`,`persona-opacity-100`),Zd?(Zd.setPanelOpen(!0),Zd.element.style.display=`none`):Qd&&(Qd.style.display=`none`)):(t?t&&(c===`overlay`||c===`push`)&&!s?(M.style.removeProperty(`display`),M.style.display=`flex`,M.classList.remove(`persona-pointer-events-none`,`persona-opacity-0`),N.classList.remove(`persona-scale-100`,`persona-opacity-100`,`persona-scale-95`,`persona-opacity-0`)):(M.style.setProperty(`display`,`none`,`important`),M.classList.remove(`persona-pointer-events-none`,`persona-opacity-0`),N.classList.remove(`persona-scale-100`,`persona-opacity-100`,`persona-scale-95`,`persona-opacity-0`)):(M.style.display=``,M.classList.add(`persona-pointer-events-none`,`persona-opacity-0`),N.classList.remove(`persona-scale-100`,`persona-opacity-100`),N.classList.add(`persona-scale-95`,`persona-opacity-0`)),Zd?(Zd.setPanelOpen(!1),Zd.element.style.display=t?`none`:``):Qd&&(Qd.style.display=t?`none`:``))},zs=(t,n=`user`)=>{if(!Ne()||j===t)return;let r=j;j=t,Rs();let i=(()=>{let t=a.launcher?.sidebarMode??!1,n=e.ownerDocument.defaultView??window,r=a.launcher?.mobileFullscreen??!0,i=a.launcher?.mobileBreakpoint??640,o=n.innerWidth<=i,s=zh(a)&&r&&o,c=A()&&(a.launcher?.composerBar?.expandedSize??`fullscreen`)===`fullscreen`;return t||r&&o&&Ee||s||c})();if(j&&i){if(!Mi){let t=e.getRootNode(),n=t instanceof ShadowRoot?t.host:e.closest(`.persona-host`);n&&(Mi=Ph(n,a.launcher?.zIndex??1e5))}Ni||=Lh(e.ownerDocument)}else j||(Mi?.(),Mi=null,Ni?.(),Ni=null);j&&(sf(),es()||(qt()===`follow`?Go(!0):Zo()));let o={open:j,source:n,timestamp:Date.now()};j&&!r?O.emit(`widget:opened`,o):!j&&r&&O.emit(`widget:closed`,o),O.emit(`widget:state`,{open:j,launcherEnabled:Ee,voiceActive:Q.active,streaming:Z.isStreaming()})},Bs={inputDisabled:!1,sendDisabled:!1},Vs=()=>Bs.inputDisabled,Hs=()=>vu(a.voiceRecognition?.provider)&&!!Z&&(Z.isBargeInActive()||[`listening`,`processing`,`speaking`].includes(Z.getVoiceStatus())),Us=()=>Bs.inputDisabled||Bs.sendDisabled,Ws=()=>(Bs.inputDisabled?Bs.inputReason:void 0)??(Bs.sendDisabled?Bs.sendReason:void 0);function Ks(){if(!wt)return;if(W.getState().phase===`streaming`){wt.disabled=!1;return}let e=U?!U.isReady():!1;wt.disabled=Us()||e}function qs(){if(!B)return;let e=W.getState(),t=a.sendButton?.visibility===`when-text`&&e.phase!==`streaming`&&e.text.trim().length===0&&e.attachments.length===0;B.toggleAttribute(`data-persona-send-hidden`,t)}function Zs(){let e=Ws();if(A()){let t=Tt??z;e?t.setAttribute(`title`,e):t.removeAttribute(`title`),z.toggleAttribute(Vy,!!e)}else if(e)Et.setAttribute(`role`,`status`),Et.setAttribute(`aria-live`,`polite`),Et.setAttribute(Vy,``),Et.removeAttribute(Hy),Et.textContent=e,Ko(Et,a.statusIndicator??{},`idle`);else if(Et.hasAttribute(Vy)&&(Et.removeAttribute(`role`),Et.removeAttribute(`aria-live`),Et.removeAttribute(Vy),w)){let e=Z.getStatus();vt(Et,_t(e),a.statusIndicator??{},e)}}function $s(){let e=nc(a.composer?.inputDisabled),t=nc(a.composer?.sendDisabled);Bs={inputDisabled:e.disabled,inputReason:e.reason,sendDisabled:t.disabled,sendReason:t.reason},W.setInputDisabled(e.disabled),W.setSendDisabled(t.disabled);let n=W.getState().phase===`streaming`,r=e.disabled,i=n||r;R&&(R instanceof HTMLTextAreaElement?R.disabled=r:R.setAttribute(`contenteditable`,r?`false`:`true`),R.setAttribute(`aria-disabled`,r?`true`:`false`)),Ht&&(Ht.disabled=r),Wt&&(Wt.disabled=r);for(let e of Cn?.affordanceButtons??[])e.querySelectorAll(`button`).forEach(e=>{e.disabled=r});V&&(V.disabled=r||n&&!Hs()),Gi.forEach(e=>{e.elements.forEach(e=>{e.toggleAttribute(`data-disabled`,i),e instanceof HTMLButtonElement||e.setAttribute(`aria-disabled`,i?`true`:`false`)}),e.buttons.forEach(e=>{e.disabled=i})}),Ec.forEach(e=>{e.toggleAttribute(`data-disabled`,i),e instanceof HTMLButtonElement?e.disabled=i:e.setAttribute(`aria-disabled`,i?`true`:`false`),e.querySelectorAll(`button`).forEach(e=>{e.disabled=i})}),z.dataset.personaComposerStreaming=n?`true`:`false`,z.dataset.personaComposerInputDisabled=r?`true`:`false`,z.dataset.personaComposerSendDisabled=Us()?`true`:`false`,z.querySelectorAll(`[data-persona-composer-disable-when-streaming]`).forEach(e=>{(e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement)&&(e.disabled=n)}),Ks(),Zs()}let rc=e=>{W.setStreaming(e),Vt(e?`stop`:`send`),$s()},oc=()=>{e.hasAttribute(`data-persona-preparing`)?o.ready.then(oc,()=>{}):Q.active||R&&R.focus()};O.on(`widget:opened`,()=>{a.autoFocusInput&&setTimeout(()=>oc(),200)});let sc=null,cc=!1,lc=!Dt.hidden,uc=null,fc=!pe,hc=null;X.push(()=>{hc?.cancel(),hc=null});let gc=t=>{let n=C_(t);if(n===mn)return;mn=n,e.setAttribute(`data-persona-conversation-state`,n);let r=_n();Sn(),fc&&(hc?.cancel(),hc=g_(z,n===`active`?r:_n(),n===`active`?`drop`:`rise`,pn().layout===`centered`?320:260)),ls()},_c=null,vc,bc=null,xc=null,Sc=!1,wc=e=>{let t=pn(),n=`${t.variant}|${t.layout}|${t.dismiss}|${t.anchor??`bottom`}|${t.align??``}|${t.iconPlacement}|${t.kicker??``}|${t.title}|${t.subtitle}`;(n!==_c||t.icon!==vc)&&(_c=n,vc=t.icon,o_({host:Dt,iconHolder:Ot,kicker:At,title:jt,subtitle:Mt,starterSuggestions:xt},t));let r=t.message===void 0?null:`${a.layout?.messages?.layout??`bubble`}|${t.message}`;r!==bc&&(bc=r,p_(kt,t.message,a));let i=e??(Z?Z.getMessages():a.initialMessages);gc(i);let o=cc,s=!o&&w_(t,i),c=s!==lc;if(lc=s,xc){uc?.cancel(),uc=null,o!==Sc&&(Sc=o,o?d_(I,Dt,null):u_(I,Dt,xc)),a_(I,Dt,!o);return}if(c&&!s&&!o&&t.dismiss===`on-first-message`&&fc){uc=h_(Dt,e=>{uc===e&&(uc=null),!lc&&!xc&&(a_(I,Dt,!1),ls()),e?.cancel()});return}if(uc){if(!s&&!o)return;uc.cancel(),uc=null}let l=!Dt.hidden;a_(I,Dt,s),!s&&l&&ls()},Tc=[],Ec=[],Oc=!1,kc=null,Ac,jc=()=>{Ec.length=0;let e=Tc.splice(0,Tc.length);for(let t of e)try{t()}catch(e){console.warn(`[persona] renderWelcome cleanup threw`,e)}};X.push(jc);let Mc=(e,t)=>{let n=Wh(e,t);if(!n)return a.debug===!0&&console.warn(`[persona] renderStarter received a suggestion with no label`),q(`span`);let r=a.suggestions?.starters,i=Jh({item:{...n,behavior:n.behavior??r?.behavior??`send`},index:t,surface:`starter`,source:`config`,variant:r?.variant??`card`,streaming:w?Z.isStreaming():!1,config:a,plugins:S,chipsConfig:a.suggestionChipsConfig,session:Z,getTextarea:()=>R,eventTarget:Dt,submitPrompt:zu});return Ec.push(i),i},Nc=()=>{if(Oc)return;Oc=!0;let e=pn();kc=`${e.variant}|${e.layout}|${e.dismiss}|${e.title}|${e.subtitle}|${e.message??``}`,Ac=e.icon;try{jc(),d_(I,Dt,xc),xc=null,Sc=!1;let t=Z?Z.getMessages():a.initialMessages,n=w_(e,t),r=0,i=null;for(let t of S)if(t.renderWelcome&&(i=t.renderWelcome({config:e,variant:e.variant,visible:n,defaultRenderer:()=>Dt,sendMessage:e=>{if(!Z||Z.isStreaming())return;let t=e.trim();t&&Z.sendMessage(t)},requestRender:()=>Nc(),renderStarter:e=>Mc(e,r++),storage:te(t.id),onCleanup:e=>{Tc.push(e)}}),i))break;i&&i!==Dt&&(xc=i,u_(I,Dt,i))}finally{Oc=!1}wc()},Pc=()=>{let e=pn();(`${e.variant}|${e.layout}|${e.dismiss}|${e.title}|${e.subtitle}|${e.message??``}`!==kc||e.icon!==Ac)&&Nc()},Fc=()=>{wc(),tr||(R.placeholder=bp(W.getState().activeModeIds,a.composer?.modes)??a.copy?.inputPlaceholder??`How can I help...`,!(a.sendButton?.useIcon??!1)&&!Z?.isStreaming()&&(wt.textContent=a.copy?.sendButtonLabel??`Send`)),R.style.fontFamily=`var(--persona-input-font-family, var(--persona-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif))`,R.style.fontWeight=`var(--persona-input-font-weight, var(--persona-font-weight, 400))`},Ic=!!a.setStoredConversationId,Lc=e=>Se(t=>{let n={...t};return delete n[e],n}),Rc=e=>{let t=fe[e];return typeof t==`string`?t:null},zc=()=>{let e=fe.durableResume;if(!e||typeof e!=`object`)return null;let t=e;return typeof t.executionId==`string`&&t.executionId.length>0&&typeof t.after==`string`&&t.after.length>0?{executionId:t.executionId,after:t.after}:null};a.clientToken&&(a={...a,getStoredSessionId:()=>Rc(`sessionId`),setStoredSessionId:e=>{Se(t=>({...t,sessionId:e}))},clearStoredSessionId:a.clearStoredSessionId??(()=>Lc(`sessionId`)),getStoredConversationId:a.getStoredConversationId??(()=>Rc(`conversationId`)),setStoredConversationId:a.setStoredConversationId??(e=>{Se(t=>({...t,conversationId:e}))}),clearStoredConversationId:a.clearStoredConversationId??(()=>Lc(`conversationId`))});let Vc=()=>a.clientToken??null,Uc=e=>Ty(e,qe(),a.persistState===!1),Wc=Vc(),Gc=Wc?Uc(Wc):null,Kc=()=>{let e=fe.pendingDisplayProjections;if(!e||typeof e!=`object`)return null;let t=e;return typeof t.conversationId!=`string`||!Array.isArray(t.messageIds)?null:{conversationId:t.conversationId,messageIds:t.messageIds.filter(e=>typeof e==`string`)}},qc={...Gc?{visitorStore:Gc}:{},historyBootstrapReady:a.features?.history?.enabled===!0&&!Py()?Promise.all([he,_e]).then(()=>{}):he,getStoredMessageCursor:()=>Rc(`historyMessageCursor`),setStoredMessageCursor:e=>{e===null?Lc(`historyMessageCursor`):Se(t=>({...t,historyMessageCursor:e}))},getPendingDisplayProjections:Kc,setPendingDisplayProjections:e=>{e?Se(t=>({...t,pendingDisplayProjections:e})):Lc(`pendingDisplayProjections`)},getStoredResumableHandle:zc,setStoredResumableHandle:e=>{e?Se(t=>({...t,durableResume:e})):Lc(`durableResume`)},shouldResumeDurableConversation:()=>de&&zc()!==null,...Ic?{}:{getStoredConversationRevision:()=>Rc(`conversationRevision`),setStoredConversationRevision:e=>{e===null?Lc(`conversationRevision`):Se(t=>({...t,conversationRevision:e}))}}};if(de){let t=a.onExecutionState,n=e.ownerDocument.defaultView,r=!1,i=()=>r=!0,o=()=>r=!1;n?.addEventListener(`pagehide`,i),n?.addEventListener(`pageshow`,o),X.push(()=>{n?.removeEventListener(`pagehide`,i),n?.removeEventListener(`pageshow`,o)}),a={...a,reconnectStream:a.reconnectStream??(e=>Z.getClient().reconnectClientTokenStream(e)),onExecutionState:e=>{(e||!r)&&qc.setStoredResumableHandle?.(e?{executionId:e.executionId,after:e.lastEventId}:null),t?.(e)}}}let Jc=()=>{let e=Vc();if(e&&Gc?.matches(e,qe(),a.persistState===!1)||!e&&!Gc)return;Gc?.destroy(),Gc=e?Uc(e):null;let t={...qc};Gc?t.visitorStore=Gc:delete t.visitorStore,qc=t,Z.setHistoryInternals(qc)},Yc=null,Xc=()=>{Yc??=setInterval(()=>{let e=L.querySelectorAll(`[data-tool-elapsed]`);if(e.length===0){clearInterval(Yc),Yc=null;return}let t=Date.now();e.forEach(e=>{c?.updateActivityElapsed(e,t)})},100)},Zc=e=>e.role===`user`||e.variant===`approval`||e.agentMetadata?.awaitingLocalTool===!0||pi(e),Qc=(e,t)=>{if(t.length<e.length)return!1;for(let n=0;n<t.length;n+=1){let r=t[n];if(r!==e[n]){if(Zc(r))return!1;r.role===`assistant`&&r.streaming&&ha.add(r.id)}}return!0},$c=null,el=null,tl=null,nl=null,rl=e=>{if(!de)return fo(e);nl=e,queueMicrotask(()=>{nl===e&&(nl=null,fo(el??e))})},il=e=>{!e.length&&a.future?.v5Defaults&&(qi=null),$c=e;let t,n;for(let r=e.length-1;r>=0;--r){let i=e[r];if(!t&&i.role===`user`&&(t=i),!n&&i.role===`assistant`&&(n=i),t&&n)break}Ts(L,e,He),uu()?.updateInlineArtifactBlocks(L,Zr.artifacts,{suppressTransition:pa}),Xc(),wc(e),ca(e),Go(!pa),ys(e),Ho(),tt?.update(),e.length===0&&(is(),Va=!0,Ha=!1,Ua=null,Wa=!1),!Ra||za?(Ra=!0,Ba=t?.id??null,Ka=n?.id??null):t&&t.id!==Ba?(Ba=t.id,_s(t.id)):n&&n.id!==Ka&&vs(),n&&(Ka=n.id);let r=Q.lastUserMessageId;t&&t.id!==r&&(Q.lastUserMessageId=t.id,O.emit(`user:message`,t)),Q.lastUserMessageWasVoice=!!t?.viaVoice,rl(e),Is(),O.emit(`messages:changed`,e)},al=()=>{tl!==null&&(cancelAnimationFrame(tl),tl=null);let e=el;el=null,e&&il(e)},ol=()=>{tl!==null&&cancelAnimationFrame(tl),tl=null,el=null},sl=e=>{if(e.length===0){ol(),il(e);return}let t=el??$c;pa&&t&&Qc(t,e)?(el=e,tl===null&&(tl=requestAnimationFrame(()=>{tl=null;let e=el;el=null,e&&il(e)}))):(al(),il(e))};Z=new Vf(a,{onRunStarted:e=>O.emit(`run:started`,e),onRunFinished(e){al(),a.turnActivity?.enabled&&Ts(L,Z.getMessages(),He),O.emit(`run:finished`,e)},onMessagesChanged(e){sl(e)},onStatusChanged(e){let t=a.statusIndicator??{};vt(Et,(e=>e===`idle`?t.idleText??la.idle:e===`connecting`?t.connectingText??la.connecting:e===`connected`?t.connectedText??la.connected:e===`error`?t.errorText??la.error:e===`paused`?t.pausedText??la.paused:e===`resuming`?t.resumingText??la.resuming:la[e])(e),t,e),Ho(),tt?.update(),mt()},onStreamingChanged(e){e||(Z?.getMessages().length===0?ol():al()),pa=e,e?ua():a.future?.v5Defaults&&ca(),rc(e),mt(),Z&&Ts(L,Z.getMessages(),He),e||(Go(!0),rs(),oa=!0,Z&&sa(Z.getMessages(),ra(a))),Ho(),tt?.update(),dn(e?`Responding…`:`Response complete.`),Is()},onVoiceStatusChanged(e){if(O.emit(`voice:status`,{status:e,timestamp:Date.now()}),e!==`disconnected`&&!vu(a.voiceRecognition?.provider))return;let t=Z.getVoiceNotice();switch(t&&su(t,1e4),e){case`listening`:if(!Qa){let e=Z.getVoiceDisclosure();e&&(Qa=!0,A()?($a=R.placeholder,R.placeholder=e,dn(e)):su(e,1e4))}jd(),Od();break;case`processing`:jd(),kd();break;case`speaking`:jd(),Ad();break;default:e===`idle`&&Z.isBargeInActive()?(jd(),Od(),V?.setAttribute(`aria-label`,`End voice session`)):(Q.active=!1,Qa=!1,$a!==null&&(R.placeholder=$a,$a=null),jd(),ro(`system`),no||io())}},onArtifactsState(e){Zr=e,e.artifacts.length===0&&(ti=!1),uu()?.updateInlineArtifactBlocks(L,e.artifacts,{suppressTransition:pa}),Ti(),fo()},onHistoryStateChanged(e){ft(e)},onHistoryNotice(e){pt(e)},onHistoryScopeInvalidated(){Pl(),ll?.clearConversationOpenPending()},onConversationExecutionState(e){O.emit(`conversation:executionState`,e)},onReconnect(e){let{executionId:t,lastEventId:n}=e.handle;e.phase===`paused`?O.emit(`stream:paused`,{executionId:t,after:n}):e.phase===`resuming`?O.emit(`stream:resuming`,{executionId:t,after:n,attempt:e.attempt??1}):O.emit(`stream:resumed`,{executionId:t,after:n})}},qc),ii.current=Z,X.push(()=>Z.cancel()),X.push(()=>{Z.destroy(),Gc?.destroy(),Gc=null});let cl=null;if(Z.onReadAloudChange((e,t)=>{Vr=e,Hr=t,Gr();let n=e??cl;e&&(cl=e);let r=n?Z.getMessages().find(e=>e.id===n)??null:null;O.emit(`message:read-aloud`,{messageId:n,message:r,state:t,timestamp:Date.now()}),t===`idle`&&(cl=null)}),w=!0,Ra=!0,a.voiceRecognition?.enabled===!0&&xu(a))try{Z.setupVoice()}catch(e){typeof console<`u`&&console.warn(`[AgentWidget] Runtype voice setup failed:`,e)}let ll=null,ul=null,dl=!1,fl=Z.getHistoryState(),pl=()=>a.features?.history?.enabled===!0,gl=e=>{e&&(cn.textContent=``,cn.textContent=e)},_l=()=>{ee.forEach(e=>e()),ee=[];let t=ll,n=t?.railCollapseShortcut();t&&n&&ee.push(C.register({id:`history-rail-collapse`,combo:n.combo,scope:a.features?.history?.rail?.collapseShortcutScope===`page`?`page`:`widget`,when:()=>ct&&lt===`rail`&&t.railCollapsible()||t.railTriggerApplies(),run:()=>t.railOverlayMode()?t.toggleRailPinned():t.toggleRailCollapsed()}));for(let t of a.layout?.header?.trailingActions??[])t.shortcut&&ee.push(C.register({id:`header-action-${t.id}`,combo:t.shortcut,run:()=>{let n=e.querySelector(`[data-persona-header-action="${t.id}"]`);n?n.click():a.layout?.header?.onAction?.(t.id)}}));for(let e of S)for(let t of e.shortcuts??[])ee.push(C.register({...t,id:`${e.id}:${t.id}`}))};_l();let vl=null,yl=!1,bl=()=>{if(!Ft)return;let e=a.layout?.header?.titleSource===`conversation`,t=e&&vl?.trim()||null;Ft.textContent=t??a.launcher?.title??`Chat Assistant`;let n=Ft.closest(`.persona-combo-btn`);if(!n)return;let r=!e||Z.getActiveConversationId()!==null;n.setAttribute(`data-persona-menu-locked`,r?`false`:`true`),n.setAttribute(`aria-haspopup`,r?`true`:`false`),r||n.setAttribute(`aria-expanded`,`false`),n.style.cursor=r?`pointer`:`default`;let i=n.querySelector(`svg`);i&&(i.style.display=r?``:`none`)},Sl=e=>{e!==vl&&(vl=e,bl())},Cl=e=>{yl=e?.starred===!0,Sl(e&&e.title.trim()||null),bl()};bl(),F.addEventListener(`persona:title-menu-builtin`,e=>{let t=e.detail?.actionId,n=Z.getActiveConversationId();n&&(t===`delete`?Rl(e=>e.requestDeleteConversation(n)):t===`star`&&Z.canUpdateConversations()&&Rl(e=>e.updateHistoryConversation(n,{starred:!yl})).catch(()=>{}))});let wl=/* @__PURE__ */ new Map,Tl=(e=Z.getActiveConversationId(),t=ll?.historyOperationScope()??a.features?.history?.scope??(a.getIdentityProof?`verified-user`:`browser`))=>JSON.stringify([t,e]),El=null,Dl=0,Ol=()=>{let e=I.getBoundingClientRect().top,t=I.clientHeight>0?Array.from(L.querySelectorAll(`[data-message-id]`)).find(t=>t.getBoundingClientRect().bottom>e):void 0;return{top:I.scrollTop,anchorId:t?.dataset.messageId,anchorOffset:t?t.getBoundingClientRect().top-e:0,following:Aa.isFollowing(),followFallback:Va,anchored:Ha,anchoredId:Ua,readerEngaged:Wa,anchor:Ia?{...Ia}:null,unread:Fa}},kl=()=>{dd(),Td(`system`),xu(a)&&Z.cleanupVoice(),++Dl,iu?.abort(),iu=null,W.setPreparing(!1),Da(),vo();let e=W.getState(),t=Tl();wl.set(t,{draft:{text:e.text,mentionRefs:[...e.mentionRefs],contentSegments:tu(),quote:e.quote,selectedModelId:e.selectedModelId,activeModeIds:[...e.activeModeIds]},document:Cn?.getInlineInput()?.getDocument?.(),mentions:Cn?.captureDraft()??[],attachments:U,pending:e.pendingSubmission,reading:El?.key===t?El.reading:Ol()}),go.cancel()},Al=e=>{Va=e.followFallback,Ha=e.anchored,Ua=e.anchoredId,Wa=e.readerEngaged,Ia=e.anchor?{...e.anchor,pending:0}:null,ts(e.anchor?.spacerHeight??0),e.following?Aa.resume():Aa.pause(),Fa=e.unread;let t=Array.from(L.querySelectorAll(`[data-message-id]`)).find(t=>t.dataset.messageId===e.anchorId);Na=!0,e.following&&Jt()?I.scrollTop=wu(I):t?I.scrollTop+=t.getBoundingClientRect().top-I.getBoundingClientRect().top-e.anchorOffset:I.scrollTop=e.top,Na=!1,ja=I.scrollTop,lf=wu(I),Ao(),ki(),Ho()},jl=(e=!1,t=!0)=>{let n=e?void 0:wl.get(Tl());Cn?.clear(),U?.setPreviewsContainer(null),U=n?.attachments??(a.attachments?.enabled?kn():null),U?.updateConfig(Dn()),U?.remountPreviews(Gt),An(U?.getAttachments()??[]);let r=n?.draft,i=Cn?.getInlineInput();n?.document&&i?.setDocument?i.setDocument(n.document):i?i.setValueWithCaret(r?.text??``,(r?.text??``).length):R.value=r?.text??``,Cn?.restoreDraft(n?.mentions??[]),wn(),Tn(),W.setSelectedModelId(r?a.composer?.models?.some(e=>e.id===r.selectedModelId)?r.selectedModelId:void 0:a.composer?.selectedModelId),In?.repaint(),Pn(vp(r?.activeModeIds??a.composer?.defaultActiveModeIds??[],jn())),zn(r?.quote),Wn(n?.pending),Ku(),is(),Do(),ll?.cancelConversationOpenTakeover(),sc&&(sc.hidden=!0),cc=!1,L.style.removeProperty(`display`),n?Al(n.reading):(Wo(),es()||Zo()),t&&(po=ho()?lp({...W.getState(),contentSegments:tu()}):void 0),go.cancel(),t&&fo(),El={key:Tl(),reading:n?.reading??Ol()}},Pl=(e,t=!0,n=!0)=>{for(let[t,n]of wl)(e===void 0||JSON.parse(t)[1]===e)&&(n.attachments?.destroy({release:!0}),U===n.attachments&&(U=null),wl.delete(t));(e===void 0||e===Z.getActiveConversationId())&&(++Dl,mo=null,iu?.abort(),iu=null,dd(),U?.destroy({release:!0}),U=null,t&&jl(!0,n),El=null)};ft=e=>{fl=e,ll?.historySurface?.view.setNewConversationRequired(e.recovery===`new_conversation_required`),rc(e.sendBlocked||pa),ll?.syncEarlierMessagesPill()},pt=e=>{(e.code===`history_continuity_reset`||e.code===`conversation_deleted_recovered`)&&(Pl(),ll?.clearConversationOpenPending(),ma.clear(),is(),Wo()),gl(e.message),ll?.historySurface?.view.refresh()};let Fl={getBubbleClasses:Yg,parseCombo:Bm,formatCombo:Um,ariaCombo:Wm,usesSessionVoiceForConfig:xu,applyBubbleGeometry:Zg,resolveThemeDefaults:Xp,composerStore:W,get attachmentManager(){return U},set attachmentManager(e){U=e},get composerConversationGeneration(){return Dl},set composerConversationGeneration(e){Dl=e},get submissionAbort(){return iu},set submissionAbort(e){iu=e},persistState:fo,applyMessageRowLayout:bs,SessionHistoryError:Rf,instanceId:r,discardConversationContinuity:Pl,clearPersistedDraft:bo,saveConversationContinuity:kl,restoreConversationContinuity:jl,get pendingConversationReading(){return El},set pendingConversationReading(e){El=e},conversationStateKey:Tl,captureConversationReading:Ol,restoreConversationReading:Al,get conversationPersistenceOwner(){return mo},set conversationPersistenceOwner(e){mo=e},setComposerDisabled:rc,get actionManager(){return Te},get activeConversationTitle(){return vl},announceHistory:gl,get applyRailChrome(){return dt},set applyRailChrome(e){dt=e},get artifactSplitRoot(){return mi},get body(){return I},get config(){return a},get container(){return F},get conversationOpenPendingEl(){return sc},set conversationOpenPendingEl(e){sc=e},get conversationOpenTakeover(){return cc},set conversationOpenTakeover(e){cc=e},currentKeyPrefix:qe,destroyCallbacks:X,eventBus:O,get footer(){return z},get header(){return Lt},get historyChromeSync(){return mt},set historyChromeSync(e){mt=e},historyFeatureEnabled:pl,get historyInternals(){return qc},set historyInternals(e){qc=e},get historyPresentation(){return lt},set historyPresentation(e){lt=e},get historySessionState(){return fl},get historyVisible(){return ct},set historyVisible(e){ct=e},get isStreaming(){return pa},jumpToBottomInstant:Zo,get lastAppliedMessages(){return $c},set lastAppliedMessages(e){$c=e},get launcherEnabled(){return Ee},get launcherSurfaceInstance(){return Zd},maybeFocusInput:oc,messageCache:ma,get messagesWrapper(){return L},mount:e,get open(){return j},panel:N,panelElements:P,panelSuggestions:an,panelSuggestionsFade:on,get persistentMetadata(){return fe},set persistentMetadata(e){fe=e},plugins:S,get reapplyHistoryHostChrome(){return ut},set reapplyHistoryHostChrome(e){ut=e},repinAnchoredMessage:ls,resetAnchorState:is,restoreScrollPosition:es,resumeAutoScroll:Wo,runStorageMutation:uo,get session(){return Z},setActiveConversationSummary:Cl,storageAdapter:k,get suppressScrollSend(){return za},set suppressScrollSend(e){za=e},syncScrollToBottomButton:Ho,scrollToBottomButton:nn,updateWelcome:wc,getHistoryProviderFactory:Fy,historyErrors:{HistoryClientError:Ld,HistoryProviderError:Vd},isDockedMountMode:zh,renderLucideIcon:G,loadHistoryView:Oy,createHeaderIconButton:eg,attachTooltip:Co},Il=e=>(!ll&&!dl&&(ll=e.createHistoryShell(Fl),ll.railCollapseShortcut()&&_l()),ll),Ll=()=>{if(ll)return Promise.resolve(ll);let e=Py();return e?Promise.resolve(Il(e)):(ul??=Ny().then(Il,e=>{throw ul=null,e}),ul)},Rl=e=>{let t=Py(),n=ll??(t?Il(t):null);return n?e(n):Ll().then(t=>{if(!t)throw Error(`[AgentWidget] The widget was destroyed`);return e(t)})},Bl=()=>{ll?.syncHistoryPresentation()};X.push(()=>{dl=!0}),pl()&&Ll().catch(()=>{}).finally(ge),a.clientToken&&(a.features?.history?.enabled===!0||a.sessionInit===`mount`)&&Z.initClientSession().then(()=>{let e=ll;if(e?.historyAvailable())return Z.reconcileBootConversation({scope:e.historyScope()})}).then(()=>{ll?.syncEarlierMessagesPill()}).catch(e=>{a.debug&&console.warn(`[AgentWidget] Pre-init client session failed:`,e)});let Vl=()=>Z.warmClientSession(),Hl=e=>{let t=a.sessionInit??`input`,n=K?.input??R,r=e.target;n&&(e.type===`input`?(t===`input`||t===`focus`)&&r===n&&e.inputType&&n.value.trim():t===`focus`&&(e.type===`keyup`?r===n&&e.key===`Tab`:(K?.form??Tt)?.contains(r)))&&Vl()},Ul=[`input`,`pointerdown`,`keyup`];Ul.forEach(t=>e.addEventListener(t,Hl));let Kl,ql,Jl=()=>{let e=ql;ql=void 0;try{typeof e==`function`&&e()}catch{}},Yl=()=>{let t=a.clientToken&&typeof a.sessionInit==`function`?a.sessionInit:void 0;if(t!==Kl){Jl(),Kl=t;try{ql=t?.({warm:Vl,mount:e})}catch{}}};Yl(),X.push(()=>{Ul.forEach(t=>e.removeEventListener(t,Hl)),Jl()}),(Ge||a.onSSEEvent)&&Z.setSSEEventCallback((e,t)=>{a.onSSEEvent?.(e,t),ot(e,t)});let Xl=()=>{let e=a.resume??(de?qc.getStoredResumableHandle?.():null);e&&typeof a.reconnectStream==`function`&&Z.resumeFromHandle(e)};pe?pe.then(e=>{if(e){if(e.metadata&&(fe=Jy(e.metadata),Te.syncFromMetadata()),e.messages?.length){za=!0;try{Z.hydrateMessages(e.messages)}finally{za=!1}ws()}e.artifacts?.length&&Z.hydrateArtifacts(e.artifacts,e.selectedArtifactId??null),yo(e.draft)}}).catch(e=>{typeof console<`u`&&console.error(`[AgentWidget] Failed to hydrate stored state:`,e)}).finally(()=>{fc=!0,me(),Xl()}):(yo(ve),Xl());let Zl=()=>{A()&&(j||(a.launcher?.composerBar?.expandOnSubmit??!0)&&zs(!0,`auto`))},Ql=(e,t)=>e?t?{refs:[...e.refs,...t.refs],finalize:async()=>{let[n,r]=await Promise.allSettled([e.finalize(),t.finalize()]),i=[];return n.status===`fulfilled`?i.push(n.value):console.warn(`[Persona] a mention bundle failed to finalize; sending without it`,n.reason),r.status===`fulfilled`?i.push(r.value):console.warn(`[Persona] a mention bundle failed to finalize; sending without it`,r.reason),$y(i)}}:e:t,tu=()=>{let e=R.getInlineMessageFields?.();if(e)return e.contentSegments.some(e=>e.kind===`mention`)?e.contentSegments:void 0},nu=!1,ru=0,iu=null,au=()=>{R.value=``,R.style.height=`auto`,wn(),Ku()},ou=null;function su(e,t=4e3){dn(e),!A()&&Et&&(Et.hasAttribute(Vy)||(Et.setAttribute(Hy,``),Et.setAttribute(`role`,`status`),Et.setAttribute(`aria-live`,`polite`),Et.textContent=e,Ko(Et,a.statusIndicator??{},`idle`),ou&&clearTimeout(ou),ou=setTimeout(()=>{if(ou=null,Et?.hasAttribute(Hy)&&(Et.removeAttribute(Hy),Et.removeAttribute(`role`),Et.removeAttribute(`aria-live`),w)){let e=Z.getStatus();vt(Et,_t(e),a.statusIndicator??{},e)}},t)))}function cu(){let e=W.getState().pendingSubmission;e&&(Wn(void 0),R&&(R.value=e.text,R.dispatchEvent(new Event(`input`,{bubbles:!0})),wn()),e.options.selectedModelId&&(W.setSelectedModelId(e.options.selectedModelId),In?.repaint()),e.options.activeModeIds?.length&&Pn(e.options.activeModeIds),e.options.quote&&zn(e.options.quote),R?.focus())}let fu=e=>{typeof console<`u`&&console.error(`[AgentWidget] composer.onBeforeSend failed; the draft was preserved:`,e)},pu=(e={})=>{if(ud()||sc)return;let t=Dl,n=(e.overrideText??R?.value??``).trim();return e.resolveInlineCommand&&n?(Cn?.takeInlineCommand(n)??Promise.resolve(null)).then(r=>{if(t===Dl)return mu(e,n,r)}):mu(e,n,null)},mu=(e,t,n)=>{if(n?.kind===`action`){au(),Cn?.clear(),Tn();return}let r=n?.kind===`server`?n.mentions:null,i=n?.kind===`prompt`?n.sendText:t,o=e.pending?.contentParts;if(!Dp({text:i,hasAttachments:(U?.hasAttachments()??!1)||(o?.length??0)>0,attachmentsReady:U?.isReady()??!0,hasMentions:Cn?.hasMentions()??!1,hasServerMentions:!!r,inputDisabled:Vs(),sendDisabled:Us()}))return;let s=Z.isStreaming()?Hn():`block`;if(s===`defer-one`&&!e.pending){if(W.getState().pendingSubmission){su(`One message is already queued. Edit or remove it first.`);return}_u({intent:e,sendText:i,serverMentions:r});return}let c={text:i,mentionRefs:[...Cn?.getMentionRefs()??[],...r?.refs??[]],contentSegments:n?.kind===`prompt`?void 0:tu(),options:{...W.getState().selectedModelId&&{selectedModelId:W.getState().selectedModelId},...W.getState().activeModeIds.length>0&&{activeModeIds:[...W.getState().activeModeIds]},...W.getState().quote&&{quote:{...W.getState().quote}}},viaVoice:e.viaVoice};e.pending&&(c.options={...e.pending.options},c.contentSegments=e.pending.contentSegments,c.mentionRefs=[...e.pending.mentionRefs],c.viaVoice=e.pending.viaVoice);let l=()=>{if(o?.length)return[...o];if(!U?.hasAttachments())return;let e=[...U.getContentParts()];return c.text&&e.push(Ms(c.text)),e};c.contentParts=l();let u=()=>{Da(),Zl();let t=Cn?.collectForSubmit()??null,n=Ql(t,r),i=l();e.consumeDraft!==!1&&au();let o={selectedModelId:c.options.selectedModelId,activeModeIds:c.options.activeModeIds},u=s===`interrupt`;u&&Z.cancel(),Z.sendMessage(c.text,{contentParts:i,mentions:n??void 0,contentSegments:c.contentSegments,viaVoice:c.viaVoice,composerOptions:o,...c.options.quote&&{quote:c.options.quote},...u&&{interrupt:!0}}),U?.hasAttachments()&&U.clearAttachments(),t&&Cn?.clear(),Tn();let d=W.getState().activeModeIds,f=yp(d,a.composer?.modes);f.length!==d.length&&Pn(f),W.getState().quote&&zn(void 0),bo(),br.release(),Cr()},d=a.composer?.onBeforeSend;if(!d){u();return}let f=new AbortController;iu=f;let p=Dl,m=e=>{f.signal.aborted||p!==Dl||(iu===f&&(iu=null),e.status===`error`?fu(e.error):e.status===`proceed`&&u())},h=Ap(d,c,f.signal);if(!(h instanceof Promise))m(h);else return W.setPreparing(!0),h.then(m).finally(()=>{p===Dl&&W.setPreparing(!1)})};function _u(e){let t=W.getState(),n=U?.hasAttachments()??!1,r=n?[...U.getContentParts()]:[];n&&e.sendText&&r.push(Ms(e.sendText)),Wn(Ep({text:e.sendText,contentParts:r.length?r:void 0,mentionRefs:[...Cn?.getMentionRefs()??[],...e.serverMentions?.refs??[]],contentSegments:tu(),options:{...t.selectedModelId&&{selectedModelId:t.selectedModelId},...t.activeModeIds.length>0&&{activeModeIds:[...t.activeModeIds]},...t.quote&&{quote:{...t.quote}}},viaVoice:e.intent.viaVoice})),e.intent.consumeDraft!==!1&&au(),n&&U.clearAttachments(),Cn?.clear(),Tn(),t.quote&&zn(void 0),bo(),br.release(),Cr(),dn(`Message queued. It sends when the response finishes.`)}function yu(){let e=W.getState().pendingSubmission;e&&(Wn(void 0),Bu(e.text,{consumeDraft:!1,pending:e}))}function bu(e){if(a.messageActions?.showEdit!==!0)return;let t=Z.getMessages().find(t=>t.id===e);t&&af(t)&&tf(Z.getMessages(),e)&&Ta!==e&&(Da(),Ta=e,Ea=cp({messageId:e,initialText:t.content,onSave:t=>Iu(e,t),onCancel:()=>Da()}),ma.delete(e),Ts(L,Z.getMessages(),He),Ea.focus())}function Iu(e,t){let n=Ea;Ta=null,Ea=null,n?.destroy(),ma.delete(e),Z.resubmitFrom(e,{reason:`edit`,replacement:{text:t,mentionRefs:[],options:{}}})?ls():Ts(L,Z.getMessages(),He)}function Lu(e){if(Z.isStreaming())return;let t=nf(Z.getMessages(),e);t&&(Da(),Z.resubmitFrom(t,{reason:`retry`})&&ls())}J={regenerate:Lu,edit:bu,quote:e=>{let t=Z.getMessages().find(t=>t.id===e)?.content?.trim();t&&(zn({text:t,messageId:e}),R?.focus())}};let Ru=async e=>{if(ud()){a.voiceRecognition?.dictation?.showSend&&!Us()&&fd(!0);return}if(nu)return;nu=!0;let t=++ru;try{await pu({resolveInlineCommand:!0,...e})}finally{t===ru&&(nu=!1)}};function zu(e){Us()||(au(),Bu(e,{consumeDraft:!1}))}let Bu=(e,t)=>{if(nu)return;nu=!0;let n=++ru,r=()=>{n===ru&&(nu=!1)};try{let n=pu({...t,overrideText:e});n instanceof Promise?n.finally(r):r()}catch(e){throw r(),e}},Vu=e=>{e.preventDefault(),Z.isStreaming()?(Z.cancel(),Qe?.reset(),tt?.update()):nu||Ru()},Hu=()=>a.features?.composerHistory!==!1,Wu={...Xm},Gu=!1,Ku=()=>{Wu={...Xm}},qu=()=>Z.getMessages().filter(e=>e.role===`user`).map(e=>e.content??``).filter(e=>e.length>0),Ju=e=>{if(!R)return;Gu=!0,R.value=e,R.dispatchEvent(new Event(`input`,{bubbles:!0})),Gu=!1;let t=R.value.length;R.setSelectionRange(t,t)},Yu=e=>{Gu||(ua(),e.isComposing||Cn?.handleInput(e.inputType??void 0),Ku())},Xu=()=>({submitKey:a.composer?.submitKey,insertNewlineOnTouchEnter:a.composer?.insertNewlineOnTouchEnter,coarsePointer:Xs(R)}),Zu=e=>{if(R&&!Vs()&&(e.isComposing||!Cn?.handleKeydown(e))){if(Hu()&&(e.key===`ArrowUp`||e.key===`ArrowDown`)&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey&&!e.altKey&&!e.isComposing){let t=R.selectionStart===0&&R.selectionEnd===0,n=Zm({direction:e.key===`ArrowUp`?`up`:`down`,history:qu(),currentValue:R.value,atStart:t,state:Wu});if(Wu=n.state,n.handled){e.preventDefault(),n.value!==void 0&&Ju(n.value);return}}if(Qs(e,Xu())){if(Z.isStreaming()){if(e.preventDefault(),Hn()===`block`||nu||Us())return;Ku(),Ru()}else nu||Us()?e.preventDefault():(Ku(),e.preventDefault(),wt.click())}}},Qu=e=>{e.key!==`Escape`||e.isComposing||e.composedPath().includes(F)&&(iu?(iu.abort(),iu=null,e.preventDefault(),e.stopImmediatePropagation()):Z.isStreaming()&&(Z.cancel(),Qe?.reset(),tt?.update(),Ku(),e.preventDefault(),e.stopImmediatePropagation()))},$u=async e=>{if(a.attachments?.enabled!==!0||!U||Vs())return;let t=Wy(e.clipboardData);t.length!==0&&(e.preventDefault(),await U.handleFiles(t))},ed=null,nd=null,id=!1,ad=null,od=null,sd=0,cd=Object.freeze({phase:`idle`,recordingId:0,transcript:``,interimTranscript:``,error:null,audioLevel:null}),ld=()=>!!a.voiceRecognition?.dictation||a.voiceRecognition?.provider?.type===`custom`&&_d(),ud=()=>id||[`recording`,`processing`].includes(ed?.getState().phase??`idle`),dd=()=>{if(++sd,id=!1,od=null,ad){ad=null,nd?.element.remove(),nd=null;let{audioLevel:e,...t}=cd;return O.emit(`dictation:state`,{...t,instanceId:r,timestamp:Date.now()}),!0}return ed?.cancel()??!1},fd=(e=!1)=>id?(od=e||od===!0,!0):ed?.finish(e)||e&&ed?.send()||!1,pd=()=>{if(Vs()||Z.isStreaming()||ud()||Hs())return!1;let e=a.voiceRecognition;if(e?.enabled===!1)return!1;let t=e?.dictation?.provider??(e?.provider?.type===`custom`?{type:`custom`,custom:e.provider.custom}:{type:`browser`,browser:e?.provider?.browser});if(t.type===`browser`&&!Cd()||t.type===`custom`&&!t.custom)return!1;!j&&Ne()&&zs(!0,`system`),ad&&dd();let n={text:R.value,logicalEnd:Cn?.getInlineInput()?.getLogicalText().length??null,readOnly:R.readOnly,contentEditable:R.getAttribute(`contenteditable`)};id=!0,od=null;let i=++sd;return Wl().then(o=>{i===sd&&(id=!1,ed??=o.createDictationSession({instanceId:r,getTextarea:()=>R,getFooter:()=>z,getConfig:()=>a,plugins:S,getInlineInput:()=>Cn?.getInlineInput(),isInputDisabled:Vs,isSendBlocked:Us,syncText:wn,onSend:()=>{Ru({viaVoice:!0})},rendererDeps:{renderLucideIcon:G,attachTooltip:Co},onState:(e,t)=>{let{audioLevel:n,...i}=e;O.emit(`dictation:state`,{...i,instanceId:r,timestamp:Date.now()}),Q.active=e.phase===`recording`,vd(t?e.phase===`recording`?`recording`:`processing`:`idle`),ro(`system`)}}),Z.stopSpeaking(),ed.start(t,{autoSend:!_d(),pauseDuration:e?.pauseDuration},n),od!==null&&(ed.finish(od),od=null))}).catch(e=>{if(i!==sd)return;id=!1;let t=e instanceof Error?e.message:`Unable to load dictation.`;ad=Object.freeze({...cd,recordingId:i,phase:`error`,error:t});let n=q(`div`,`persona-dictation`);n.setAttribute(`role`,`alert`),n.textContent=t;let a=document.createElement(`button`);a.type=`button`,a.textContent=`Dismiss dictation`,a.addEventListener(`click`,()=>{dd()}),n.append(a),nd={element:n},z.append(n);let{audioLevel:o,...s}=ad;O.emit(`dictation:state`,{...s,instanceId:r,timestamp:Date.now()})}),!0};X.push(()=>{++sd,ed?.destroy(),nd?.destroy?.(),nd?.element.remove()}),a.voiceRecognition?.dictation&&Wl().catch(()=>{});let md=null,hd=!1,gd,_d=()=>a.voiceRecognition?.completionBehavior===`review`;function vd(e){V&&pc(V,a,e,Z.getVoiceInterruptionMode()),z?.setAttribute(`data-persona-voice-state`,e),e===`recording`?xd():Sd()}let yd,bd=!1;function xd(){bd=!0;let e=e=>{bd&&(yd??=e.createVoiceLevelIndicator({targets:()=>[H??V?.parentElement,z].filter(e=>!!e),sample:()=>{let e=ed?.getState();return e?.phase===`recording`?{level:e.audioLevel,fallback:!1}:{level:w?Z.getVoiceLevel():null,fallback:!0}}}),yd.start())},t=Gl();t?e(t):Wl().then(e,()=>{})}function Sd(){bd=!1,yd?.stop()}let Cd=()=>typeof window>`u`?null:window.webkitSpeechRecognition||window.SpeechRecognition||null,wd=(e=`user`)=>{if(hd||Z.isStreaming())return;let t=Cd();if(!t)return;md=new t;let n=md,r=a.voiceRecognition??{},i=r.pauseDuration??2e3;md.continuous=r.provider?.browser?.continuous??!0,md.interimResults=!0,md.lang=r.provider?.browser?.language??`en-US`;let o=R.value,s,c=(e,t)=>{let r=r=>{md===n&&hd&&(s??=r.createBrowserRecognitionHandlers({textarea:R,initialText:o,pauseDuration:i,isActive:()=>md===n&&hd,syncText:wn,stop:Td,review:_d,submit:()=>{Ru({viaVoice:!0})}}),gd=()=>s?.dispose(),s[e](t))},a=Gl();a?r(a):Wl().then(r,()=>{md===n&&Td(`system`)})};n.onresult=e=>c(`result`,e),n.onerror=e=>c(`error`,e),n.onend=e=>c(`end`,e);try{md.start(),hd=!0,Q.active=!0,e!==`system`&&(Q.manuallyDeactivated=!1),ro(e),io(),Cr(),V&&(V.classList.add(`persona-voice-recording`),vd(`recording`),V.setAttribute(`aria-label`,`Stop voice recognition`))}catch{Td(`system`)}},Td=(e=`user`)=>{if(hd){if(hd=!1,gd?.(),gd=void 0,md){try{md.stop()}catch{}md=null}Q.active=!1,ro(e),no||io(),Cr(),V&&(V.classList.remove(`persona-voice-recording`),vd(`idle`),V.setAttribute(`aria-label`,a.voiceRecognition?.tooltipText??`Start voice recognition`))}},Ed=null,Dd=e=>{let t=t=>{Ed??=t.createMicStateStyles({mic:()=>V,config:()=>a,session:()=>Z,setMicState:vd}),e(Ed)},n=gu();n?t(n):hu().then(t,()=>{})},Od=()=>Dd(e=>e.recording()),kd=()=>Dd(e=>e.processing()),Ad=()=>Dd(e=>e.speaking()),jd=()=>Dd(e=>e.reset()),Md=()=>{if(!Vs()){if(ld())ed?.getState().phase===`recording`?ed.finish():ud()||pd();else if(vu(a.voiceRecognition?.provider)){let e=Z.getVoiceStatus(),t=Z.getVoiceInterruptionMode();if(t===`none`&&(e===`processing`||e===`speaking`))return;if(t===`cancel`&&(e===`processing`||e===`speaking`)){Z.stopVoicePlayback();return}if(Z.isBargeInActive()){Z.stopVoicePlayback(),Z.deactivateBargeIn().then(()=>{Q.active=!1,Q.manuallyDeactivated=!0,io(),ro(`user`),jd()});return}Z.toggleVoice().then(()=>{Q.active=to(),Q.manuallyDeactivated=!Q.active,io(),ro(`user`),Q.active?Od():jd()})}else if(hd){let e=R.value.trim();Q.manuallyDeactivated=!0,io(),Td(`user`),e&&!_d()&&Ru()}else Q.manuallyDeactivated=!1,io(),wd(`user`)}};Kn=Md;let Nd=()=>Z.prewarmVoice(),Pd=()=>{let e=a.voiceRecognition;return e?.enabled===!0?e.prewarm??(a.clientToken?`hover`:!1):!1},Fd=e=>{Pd()===`hover`&&V?.contains(e.target)&&Nd()},Id=[`pointerover`,`pointerdown`,`focusin`];Id.forEach(t=>e.addEventListener(t,Fd));let Rd,zd=null,Bd,Hd=()=>{let e=Bd;Bd=void 0;try{typeof e==`function`&&e()}catch{}},Ud=()=>{let t=Pd(),n=typeof t==`function`&&V?t:void 0,r=n?V:null;if((n!==Rd||r!==zd)&&(Hd(),Rd=n,zd=r,n&&r))try{Bd=n({warm:Nd,micButton:r,mount:e})}catch{}};Ud(),X.push(()=>{Id.forEach(t=>e.removeEventListener(t,Fd)),Hd()}),V&&X.push(()=>{vu(a.voiceRecognition?.provider)?(Z.isVoiceActive()&&Z.toggleVoice(),jd()):Td(`system`)});let Wd=O.on(`assistant:complete`,()=>{let e=W.getState().pendingSubmission,t=Dl,n=Pe;e&&setTimeout(()=>{Ie(n)&&!Z.isStreaming()&&t===Dl&&W.getState().pendingSubmission===e&&yu()},0)});X.push(Wd);let Gd=O.on(`assistant:complete`,()=>{if(!eo||Q.active||Q.manuallyDeactivated||eo===`assistant`&&!Q.lastUserMessageWasVoice)return;let e=Dl,t=Pe;setTimeout(()=>{Ie(t)&&e===Dl&&!Q.active&&!Q.manuallyDeactivated&&(vu(a.voiceRecognition?.provider)?Z.toggleVoice().then(()=>{Ie(t)&&e===Dl&&(Q.active=Z.isVoiceActive(),ro(`auto`),Z.isVoiceActive()&&Od())}):wd(`auto`))},600)});X.push(Gd);let Kd=!1,qd=e=>{e.persisted&&!Kd&&(Kd=!0,no=!0,Le(),Dl++,ru++,nu=!1,iu?.abort(),iu=null,W.setPreparing(!1),dd(),Td(`system`),Z.cancel(),Z.stopSpeaking(),Z.cleanupVoice(),Qe?.reset(),tt?.update())},Jd=e=>{e.persisted&&Kd&&(Kd=!1,no=!1,a.voiceRecognition?.enabled===!0&&xu(a)&&Z.setupVoice())};window.addEventListener(`pagehide`,qd),window.addEventListener(`pageshow`,Jd),X.push(()=>{window.removeEventListener(`pagehide`,qd),window.removeEventListener(`pageshow`,Jd)});let Yd=O.on(`action:resubmit`,()=>{Re()});X.push(Yd);let Xd=()=>{zs(!j,`user`)},Zd=null,Qd=null;if(Ee&&!A()){let{instance:e,element:t}=G_({config:a,plugins:S,onToggle:Xd});Zd=e,e||(Qd=t)}Zd?e.appendChild(Zd.element):Qd&&e.appendChild(Qd),Rs(),ca(),Fc(),Nc(),rc(Z.isStreaming()),es()||(qt()===`follow`?Go(!0):Zo()),ao(),Oe&&(!Ee||A()?setTimeout(()=>oc(),0):j&&setTimeout(()=>oc(),200));let $d=null,ef=()=>{$d&&($d.disconnect(),$d.observe(z),$d.observe(F),$d.observe(Dt),$d.observe(an))},of=fn(),sf=()=>{if(A()){yn(),Rs();return}let t=zh(a),n=a.launcher?.sidebarMode??!1,r=e.ownerDocument.defaultView??window,i=a.launcher?.mobileFullscreen??!0,o=a.launcher?.mobileBreakpoint??640,s=r.innerWidth<=o,c=i&&s&&Ee;try{if(c){Jr(),Yr=wi();return}let e=!1;Me&&(Me=!1,Jr(),e=!0);let r=wi();if(!e&&r!==Yr&&(Jr(),e=!0),Yr=r,e&&_i(),!Ee&&!t){N.style.height=``,n||(M.style.width=D_(a),N.style.width=`100%`,N.style.maxWidth=`100%`);return}if(!n&&!t){let e=E_(a);N.style.width=e.width,N.style.maxWidth=e.maxWidth}Si(),ji()}finally{yn(),Sn();let t=fn();if(t!==of&&(of=t,wc(),ca()),Rs(),j&&Ee){let t=(e.ownerDocument.defaultView??window).innerWidth<=(a.launcher?.mobileBreakpoint??640),n=a.launcher?.sidebarMode??!1,r=a.launcher?.mobileFullscreen??!0,i=zh(a)&&r&&t,o=n||r&&t&&Ee||i;if(o&&!Ni){let t=e.getRootNode(),n=t instanceof ShadowRoot?t.host:e.closest(`.persona-host`);n&&!Mi&&(Mi=Ph(n,a.launcher?.zIndex??1e5)),Ni=Lh(e.ownerDocument)}else o||(Mi?.(),Mi=null,Ni?.(),Ni=null)}}};sf();let cf=e.ownerDocument.defaultView??window;if(cf.addEventListener(`resize`,sf),X.push(()=>cf.removeEventListener(`resize`,sf)),typeof ResizeObserver<`u`){$d=new ResizeObserver(()=>{Sn(),Ho()}),ef(),X.push(()=>{$d?.disconnect(),$d=null});let e=new ResizeObserver(()=>{Bl()});e.observe(F),X.push(()=>e.disconnect())}cf.addEventListener(`resize`,Bl),X.push(()=>cf.removeEventListener(`resize`,Bl)),ja=I.scrollTop;let lf=wu(I),df=()=>{ki();let e=I.scrollTop,t=wu(I),n=t<lf;if(lf=t,Yo.interrupted||!Jt()){ja=e,Ho();return}let{action:r,nextLastScrollTop:i}=Eu({following:Aa.isFollowing(),currentScrollTop:e,lastScrollTop:ja,nearBottom:Tu(I,24),userScrollThreshold:4,isAutoScrolling:Yo.active||Na||Pa||n,pauseOnUpwardScroll:!0,pauseWhenAwayFromBottom:!1,resumeRequiresDownwardScroll:!0});ja=i,r===`resume`&&!$o()?Wo():r===`pause`?Uo():Ho()};if(I.addEventListener(`scroll`,df,{passive:!0}),X.push(()=>I.removeEventListener(`scroll`,df)),typeof ResizeObserver<`u`){let e=new ResizeObserver(()=>{ms(),fs(),ki(),rd(L)});e.observe(L),e.observe(I),X.push(()=>e.disconnect())}let ff=()=>{Jt()&&Aa.isFollowing()&&$o()&&Uo()},hf=I.ownerDocument;hf.addEventListener(`selectionchange`,ff),X.push(()=>{hf.removeEventListener(`selectionchange`,ff)});let gf=/* @__PURE__ */ new Set([`PageUp`,`PageDown`,`Home`,`End`,`ArrowUp`,`ArrowDown`]),_f=e=>{gf.has(e.key)&&(Ga(),Zt()&&Jt()&&Aa.isFollowing()&&Uo())},vf=e=>{e.target?.closest(`a, button, [tabindex], input, textarea, select`)&&(Ga(),Zt()&&Jt()&&Aa.isFollowing()&&Uo())};I.addEventListener(`keydown`,_f),I.addEventListener(`focusin`,vf),X.push(()=>{I.removeEventListener(`keydown`,_f),I.removeEventListener(`focusin`,vf)});let yf=e=>{if(Yo.interruptedBy(e)){Ga();return}if(e.deltaY!==0&&Ga(),!Jt())return;let t=Du({following:Aa.isFollowing(),deltaY:e.deltaY,nearBottom:Tu(I,24),resumeWhenNearBottom:!0});t===`pause`?Uo():t===`resume`&&!$o()&&Wo()};I.addEventListener(`wheel`,yf,{passive:!0}),I.addEventListener(`touchmove`,Ga,{passive:!0}),I.addEventListener(`pointerdown`,Ga,{passive:!0}),X.push(()=>{I.removeEventListener(`touchmove`,Ga),I.removeEventListener(`pointerdown`,Ga)}),X.push(()=>I.removeEventListener(`wheel`,yf)),nn.addEventListener(`click`,()=>{let e=Fo().filter(Po).map(e=>e.getAttribute(`data-message-id`));is(),Ro=e,Do(),Aa.pause(),Yo.start(a),Ho()}),X.push(()=>Yo.destroy()),X.push(()=>tn.destroy()),X.push(()=>{Do(),is()});let bf=()=>{Nt&&(Ki&&=(Nt.removeEventListener(`click`,Ki),null),Ne()?(Nt.style.display=``,Ki=()=>{zs(!1,`user`)},Nt.addEventListener(`click`,Ki)):Nt.style.display=`none`)};bf(),(()=>{let{clearChatButton:e}=P;e&&e.addEventListener(`click`,()=>{let e=ll;if(e?.historyAvailable()){e.startNewConversation({focusComposer:!0}).catch(e=>{a.debug&&console.warn(`[AgentWidget] New conversation failed:`,e)});return}Z.clearMessages(),a.layout?.topFade&&(I.scrollTop=0),I.removeAttribute(`data-persona-top-fade`),ma.clear(),Wo(),Ui(P.composerOverlay);try{localStorage.removeItem(By),a.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${By}`)}catch(e){console.error(`[AgentWidget] Failed to clear default localStorage:`,e)}if(a.clearChatHistoryStorageKey&&a.clearChatHistoryStorageKey!==By)try{localStorage.removeItem(a.clearChatHistoryStorageKey),a.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${a.clearChatHistoryStorageKey}`)}catch(e){console.error(`[AgentWidget] Failed to clear custom localStorage:`,e)}let t=new CustomEvent(`persona:clear-chat`,{detail:{instanceId:r,timestamp:(/* @__PURE__ */ new Date()).toISOString()}});window.dispatchEvent(t),bo(),k?.clear&&uo(()=>k.clear(),`[AgentWidget] Failed to clear storage adapter:`),fe={},Te.syncFromMetadata(),Pl(Z.getActiveConversationId(),!0,!1),au(),bo(),Wn(void 0),zn(void 0),Da(),Ze?.clear(),Qe?.reset(),tt?.update()})})();let xf=[[`keydown`,Zu],[`input`,Yu],[`input`,wn],[`input`,Tn],[`keyup`,Tn],[`paste`,$u],[`focus`,dr]],Sf=e=>{if(e)for(let[t,n]of xf)K?.addListener(e,t,n)},Cf=e=>{if(e)for(let[t,n]of xf)K?.removeListener(e,t,n)},wf=()=>{K&&(K.addListener(K.form,`submit`,Vu),K.addListener(K.footer,`click`,Tn),Sf(R),V&&K.addListener(V,`click`,Md),Ud())};wf();let Tf=()=>{Cn?.onComposerSwap((e,t)=>{Cf(t),R=e,K&&(K.input=e),Sf(e),ar(),$s(),wn(),ed?.refresh()})};Tf();let Ef=!1;function Df(){if(!Ef){Ef=!0;try{Ar.detach([`footer-top`,`footer-bottom`,`composer-start`,`composer-end`,`composer-before-send`]);let e=R?.value??``,t=z.ownerDocument??document,n=R?t.activeElement===R:!1;Sd(),K?.destroy(),K=null,Cn?.destroy(),Cn=null;let r=null,i=()=>(r=A()?vg({config:a}):gg({config:a}),r.footer),o=nr(i)??i();yt.replaceComposer(o),z=yt.composer.footer,a.layout?.showFooter===!1&&(z.style.display=`none`);let s=r!==null&&o===r.footer;tr=!s,Vt=s?r.setSendButtonMode:()=>{},$n(z),or(z),cr(),lr(),fr(),Tf(),_r(),vr(),yr(),wf();let c=Gi.indexOf(zi);if(zi.destroy(),zi=Yh(Ct),c>=0&&(Gi[c]=zi),Ar.remount(),R&&(R.value=e),wn(),Tn(),Fc(),ca(),rc(Z.isStreaming()),a.statusIndicator?.mode===`transient`&&!A()){let e=Z.getStatus();vt(Et,_t(e),a.statusIndicator,e)}Q.active&&vd(`recording`),ed?.refresh(),Jr(),ef(),yn(),Cr(),qs(),n&&R?.focus()}finally{Ef=!1}}}let Of=e.ownerDocument??document;Of.addEventListener(`keydown`,Qu,!0);let kf=()=>{vo()},Af=()=>{Of.visibilityState===`hidden`&&vo()};typeof window<`u`&&(window.addEventListener(`pagehide`,kf),Of.addEventListener(`visibilitychange`,Af),X.push(()=>{window.removeEventListener(`pagehide`,kf),Of.removeEventListener(`visibilitychange`,Af)}));let jf=`persona-attachment-drop-active`,Mf=0,Nf=()=>{Mf=0,F.classList.remove(jf)},Pf=()=>a.attachments?.enabled===!0&&U!==null&&!Vs(),Ff=e=>{Gy(e.dataTransfer)&&Pf()&&(Mf++,Mf===1&&F.classList.add(jf))},If=e=>{Gy(e.dataTransfer)&&Pf()&&(Mf--,Mf<=0&&Nf())},Lf=e=>{Gy(e.dataTransfer)&&Pf()&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)},zf=e=>{if(!Gy(e.dataTransfer)||!Pf())return;e.preventDefault(),e.stopPropagation(),Nf();let t=Array.from(e.dataTransfer.files??[]);t.length!==0&&U.handleFiles(t)};F.addEventListener(`dragenter`,Ff,!0),F.addEventListener(`dragleave`,If,!0),e.addEventListener(`dragover`,Lf,!0),e.addEventListener(`drop`,zf,!0);let Bf=e.ownerDocument,Hf=e=>{Pf()&&e.preventDefault()},Uf=e=>{Pf()&&e.preventDefault()};Bf.addEventListener(`dragover`,Hf),Bf.addEventListener(`drop`,Uf),X.push(()=>{K?.destroy(),K=null,Sd(),gr=!0,pr?.destroy(),pr=null,Ln?.destroy(),Ln=null,Rn?.destroy(),Rn=null,Un?.destroy(),Un=null,In=null,vo(),go.destroy(),ou&&clearTimeout(ou),Da(),iu?.abort(),iu=null,ll?.clearConversationOpenPending(),Pl(void 0,!1),U?.destroy(),U=null,W.destroy(),Of.removeEventListener(`keydown`,Qu,!0),Cn?.destroy()}),X.push(()=>{F.removeEventListener(`dragenter`,Ff,!0),F.removeEventListener(`dragleave`,If,!0),e.removeEventListener(`dragover`,Lf,!0),e.removeEventListener(`drop`,zf,!0),Bf.removeEventListener(`dragover`,Hf),Bf.removeEventListener(`drop`,Uf),Nf()}),X.push(()=>{Z.cancel()}),Zd?X.push(()=>{Zd?.destroy()}):Qd&&X.push(()=>{Qd?.remove()}),n?.registerHostMove?.(t=>{let n=I.scrollTop,r=Jt()&&Aa.isFollowing(),i=I.getBoundingClientRect().top,a=!r&&I.clientHeight>0?Array.from(L.querySelectorAll(`[data-message-id]`)).find(e=>e.getBoundingClientRect().bottom>i):void 0,o=a?a.getBoundingClientRect().top-i:0;Do(),t(),Nl()?.ensureComposerActionStyles(e),uu()?.ensureArtifactStyles(e),sf(),dt(),r?I.scrollTop=wu(I):a?I.scrollTop+=a.getBoundingClientRect().top-I.getBoundingClientRect().top-o:I.scrollTop=n,!r&&!Wa&&ls(),ja=I.scrollTop,lf=wu(I),ki(),Ho(),e.dispatchEvent(new Event(`persona:internal:host-moved`))});let Wf=e=>{!j&&Ne()&&zs(!0,`system`),L.querySelector(`.persona-feedback-container`)?.remove();let t=e();L.appendChild(t),t.scrollIntoView({behavior:`smooth`,block:`end`})},Gf=!1,Kf=[],Jf=!1,Yf=()=>{let e=Kf;Kf=[],Jf=!0;try{for(let t of e)$.update(t)}finally{Jf=!1}},$={get ready(){return o.ready},get instanceId(){return r},update(t){if(!Jf){Kf.push(t);let e=Kf.reduce(Qv,{...a,features:b}),n=Su(Vv(e));if(n.length){o.prepare(n,Yf,Gf);return}if(Kf.length>1){o.prepare([],Yf,Gf);return}Kf=[]}n?.diagnostics||cy(s,t);let r=t.voiceRecognition;r&&(r.enabled===!1||r.dictation?.provider&&r.dictation.provider!==a.voiceRecognition?.dictation?.provider||r.provider?.custom&&r.provider.custom!==a.voiceRecognition?.provider?.custom)&&dd();let c=a.future?.v5Defaults===!0,l=a.messageActions,u=a.layout?.messages,d=a.colorScheme,f=a.iterationDisplay,p=a.features?.showReasoning,m=a.features?.showToolCalls,h=a.features?.toolCallDisplay,g=a.features?.reasoningDisplay,_=()=>JSON.stringify([a.features?.userMessageCollapse,a.copy?.showMoreLabel,a.copy?.showLessLabel]),v=_(),x=a.features?.streamAnimation?.type,C=a.features?.history?.enabled===!0,ee=a.features?.history?.provider,w=a.getIdentityProof,te=a.clientToken,T=a.contextMentions;a=Qv({...a,features:b},t),b=a.features,a=Vv(a),y(),Jr(),Ti(),a.colorScheme!==d&&Fi();let E=Jv.getForInstance(a.plugins);S.length=0,S.push(...E),_l(),Ee=a.launcher?.enabled??!0,De=a.launcher?.autoExpand??!1,Ue=a.features?.showReasoning??!0,We=a.features?.showToolCalls??!0,Yo.cancel();let ne=qt();Ke=a.features?.scrollBehavior??{},ne!==qt()&&(is(),Wo()),Ya(),Ho();let re=Ge;if(Ge=a.features?.showEventStreamToggle??!1,Ge&&!re){if(Ze||(st(),Z.setSSEEventCallback((e,t)=>{a.onSSEEvent?.(e,t),ot(e,t)})),!Qn&&Lt){let e=a.features?.eventStream?.classNames,t=`persona-inline-flex persona-items-center persona-justify-center persona-rounded-full hover:persona-opacity-80 persona-cursor-pointer persona-border-none persona-bg-transparent persona-p-1`+(e?.toggleButton?` `+e.toggleButton:``);Qn=q(`button`,t),Qn.style.width=`28px`,Qn.style.height=`28px`,Qn.style.color=ig.actionIconColor,Qn.type=`button`,Qn.setAttribute(`aria-label`,`Event Stream`),Qn.title=`Event Stream`;let n=gn(i,`18px`,`currentColor`,1.5);n&&Qn.appendChild(n);let r=P.clearChatButtonWrapper,o=P.closeButtonWrapper,s=r||o;s&&s.parentNode===Lt?Lt.insertBefore(Qn,s):Lt.appendChild(Qn),Qn.addEventListener(`click`,()=>{nt?Xn():Yn()})}}else!Ge&&re&&(Xn(),tt?.destroy(),tt=null,Qn&&=(Qn.remove(),null),Ze?.clear(),Ye?.destroy(),Ze=null,Ye=null,Qe?.reset(),Qe=null,$e=null);if(a.launcher?.enabled===!1&&Zd&&(Zd.destroy(),Zd=null),a.launcher?.enabled===!1&&Qd&&(Qd.remove(),Qd=null),a.launcher?.enabled!==!1&&!Zd&&!Qd){let{instance:t,element:n}=G_({config:a,plugins:S,onToggle:Xd});Zd=t,t||(Qd=n),e.appendChild(n)}Zd&&Zd.update(a),bl(),It&&a.launcher?.subtitle!==void 0&&(It.textContent=a.launcher.subtitle);let D=a.layout?.header;if(D?.layout!==je&&Lt){let e=D?mg(a,D,{showClose:Ne(),onClose:()=>zs(!1,`user`)}):sg({config:a,showClose:Ne(),onClose:()=>zs(!1,`user`)});yt.replaceHeader(e),Lt=yt.header.element,Pt=yt.header.iconHolder,Ft=yt.header.headerTitle,It=yt.header.headerSubtitle,Nt=yt.header.closeButton,je=D?.layout,bl()}else if(D){if(Pt&&(Pt.style.display=D.showIcon===!1?`none`:``),Ft&&(Ft.style.display=D.showTitle===!1?`none`:``),It&&(It.style.display=D.showSubtitle===!1?`none`:``),Nt){let e=Ne()&&D.showCloseButton!==!1;Nt.style.display=e?``:`none`}if(P.clearChatButtonWrapper){let e=D.showClearChat;if(e!==void 0){P.clearChatButtonWrapper.style.display=e?``:`none`;let{closeButtonWrapper:t}=P;t&&!t.classList.contains(`persona-absolute`)&&(e?t.classList.remove(`persona-ml-auto`):t.classList.add(`persona-ml-auto`))}}}let ie=ds(a);Lt&&(Lt.style.display=ie?``:`none`);let ae=a.layout?.showFooter!==!1;z&&(z.style.display=ae?``:`none`),yn(),Ho(),Ee===Ae?De!==ke&&zs(De,`auto`):Ee?zs(De,`auto`):(j=!0,Rs()),ke=De,Ae=Ee,sf(),bf();let oe=JSON.stringify(a.messageActions)!==JSON.stringify(l),se=JSON.stringify(a.layout?.messages)!==JSON.stringify(u)||a.layout?.messages?.renderAssistantMessage!==u?.renderAssistantMessage||a.layout?.messages?.renderUserMessage!==u?.renderUserMessage,ce=a.iterationDisplay!==f,le=(a.features?.showReasoning??!0)!==(p??!0)||(a.features?.showToolCalls??!0)!==(m??!0)||JSON.stringify(a.features?.toolCallDisplay)!==JSON.stringify(h)||JSON.stringify(a.features?.reasoningDisplay)!==JSON.stringify(g)||_()!==v;(a.future?.v5Defaults===!0!==c||`toolCall`in t||oe||se||`loadingIndicator`in t||ce||le||`turnActivity`in t||`loadingLabel`in t||`expansion`in t||`errorDisplay`in t||`theme`in t||`darkTheme`in t||`approval`in t||a.colorScheme!==d||`askUserQuestion`in(t.features??{})||`features`in t&&t.features===void 0)&&Z&&(ka++,Ts(L,Z.getMessages(),He));let ue=a.features?.streamAnimation?.type;if(ue!==x&&ue&&ue!==`none`){let t=Li(ue,a.features?.streamAnimation?.plugins);t&&Ah(t,e)}let k=a.launcher??{},de=k.headerIconHidden??!1,fe=a.layout?.header?.showIcon,pe=de||fe===!1,me=k.headerIconName,he=k.headerIconSize??`40px`;if(Pt){let e=Lt,t=e?.querySelector(`.persona-flex-col`);if(pe)Pt.style.display=`none`,e&&t&&!e.contains(t)&&e.insertBefore(t,e.firstChild);else{if(Pt.style.display=``,Pt.style.height=he,Pt.style.width=he,e&&t&&(e.contains(Pt)?Pt.nextSibling!==t&&(Pt.remove(),e.insertBefore(Pt,t)):e.insertBefore(Pt,t)),me){let e=parseFloat(he)||24,t=G(me,e*.6,`currentColor`,1);t?(t.style.width=`calc(${e}px * var(--persona-components-header-iconScale, 0.6))`,t.style.height=`calc(${e}px * var(--persona-components-header-iconScale, 0.6))`,Pt.replaceChildren(t)):Pt.textContent=k.agentIconText??`💬`}else if(k.iconUrl){let e=Pt.querySelector(`img`);if(e)e.src=k.iconUrl,e.style.height=he,e.style.width=he;else{let e=document.createElement(`img`);e.src=k.iconUrl,e.alt=``,e.className=`persona-rounded-xl persona-object-cover`,e.style.height=he,e.style.width=he,Pt.replaceChildren(e)}}else{let e=Pt.querySelector(`svg`),t=Pt.querySelector(`img`);(e||t)&&Pt.replaceChildren(),Pt.textContent=k.agentIconText??`💬`}let n=Pt.querySelector(`img`);n&&(n.style.height=he,n.style.width=he)}}let ge=a.layout?.header?.showTitle,_e=a.layout?.header?.showSubtitle;if(Ft&&(Ft.style.display=ge===!1?`none`:``),It&&(It.style.display=_e===!1?`none`:``),Nt){let e=Ne()&&a.layout?.header?.showCloseButton!==!1;Nt.style.display=e?``:`none`;let t=k.closeButtonPlacement??`inline`,{closeButtonWrapper:n}=P,r=t===`top-right`,i=n?.classList.contains(`persona-absolute`);if(n&&r!==i){if(n.remove(),r){n.className=`persona-absolute persona-top-4 persona-right-4 persona-z-50`;let e=ll?.railColumn??F;e.style.position=`relative`,e.appendChild(n)}else{let e=k.clearChat?.placement??`inline`;n.className=(k.clearChat?.enabled??!0)&&e===`inline`?``:`persona-ml-auto`,Lt&&Lt.appendChild(n)}}tg(Nt,a,`close`,{buttonSize:A()?Nt.style.width:void 0,iconSize:A()?k_:void 0});let o=k.closeButtonTooltipText??`Close chat`,s=k.closeButtonShowTooltip??!0;Nt.setAttribute(`aria-label`,o),n&&Co({anchor:Nt,trigger:n,text:()=>Nt?.getAttribute(`aria-label`)??o,enabled:s})}let{clearChatButton:ve,clearChatButtonWrapper:ye}=P;if(ve){let e=k.clearChat??{},t=e.enabled??!0,n=a.layout?.header?.showClearChat,r=n===void 0?t:n,i=e.placement??`inline`;if(ye){ye.style.display=r?``:`none`;let{closeButtonWrapper:e}=P;!A()&&e&&!e.classList.contains(`persona-absolute`)&&(r?e.classList.remove(`persona-ml-auto`):e.classList.add(`persona-ml-auto`));let t=i===`top-right`,n=ye.classList.contains(`persona-absolute`);if(!A()&&t!==n&&r){if(ye.remove(),t){ye.className=`persona-absolute persona-top-4 persona-z-50`,ye.style.right=`48px`;let e=ll?.railColumn??F;e.style.position=`relative`,e.appendChild(ye)}else{ye.className=`persona-relative persona-ml-auto persona-clear-chat-button-wrapper`,ye.style.right=``;let e=P.closeButtonWrapper;Lt&&e&&e.parentElement===Lt?Lt.insertBefore(ye,e):Lt&&Lt.appendChild(ye)}let e=P.closeButtonWrapper;e&&!e.classList.contains(`persona-absolute`)&&(t?e.classList.add(`persona-ml-auto`):e.classList.remove(`persona-ml-auto`))}}if(r){tg(ve,a,`clear`,{buttonSize:A()?ve.style.width:void 0,iconSize:A()?A_:void 0});let t=e.tooltipText??`Clear chat`,n=e.showTooltip??!0;ve.setAttribute(`aria-label`,t),ye&&Co({anchor:ve,trigger:ye,text:()=>ve?.getAttribute(`aria-label`)??t,enabled:n})}}let be=a.actionParsers&&a.actionParsers.length?a.actionParsers:[fy],Ce=a.actionHandlers&&a.actionHandlers.length?a.actionHandlers:[my.message,my.messageAndClick];Te=gy({parsers:be,handlers:Ce,getSessionMetadata:xe,updateSessionMetadata:Se,emit:O.emit,captureResubmitGuard:()=>{let e=Pe;return()=>Ie(e)},documentRef:typeof document<`u`?document:null}),He=Xy(a,Te,Ve),Jc(),Z.updateConfig(a),Yl(),(a.features?.history?.enabled===!0!==C||a.features?.history?.provider!==ee||a.getIdentityProof!==w||a.clientToken!==te)&&(ll?.closeHistory({restoreFocus:!1}),(a.getIdentityProof!==w||a.clientToken!==te)&&ll?.discardConversationContinuity(),ll?.installHistoryProvider()),ll?.syncHistoryChromeImpl(),Bl(),pl()&&!ll&&Ll().catch(()=>{}),Ts(L,Z.getMessages(),He),ca(),Fc(),Pc(),rc(Z.isStreaming()),T!==a.contextMentions&&Df();let we=a.voiceRecognition?.enabled===!0&&a.voiceRecognition.showButton!==!1,Oe=typeof window<`u`&&(window.webkitSpeechRecognition!==void 0||window.SpeechRecognition!==void 0),Me=vu(a.voiceRecognition?.provider),Fe=Oe||Me||a.voiceRecognition?.dictation?.provider?.type===`custom`;if(we&&Fe){if(!V||!H){let e=mc(a);if(e){V=e.button,H=e.wrapper;let t=B&&B.parentElement===Bt?B:null;Bt?Bt.insertBefore(H,t):Tt?.appendChild(H),K&&(K.micButton=V),K?.addListener(V,`click`,Md),V.disabled=Vs()||Z.isStreaming()&&!Hs()}}else{let e=a.voiceRecognition??{},t=V.getAttribute(`data-state`);pc(V,a,t===`recording`||t===`processing`||t===`speaking`?t:`idle`,Z.getVoiceInterruptionMode());let n=e.tooltipText??`Start voice recognition`,r=e.showTooltip??!1;t===`idle`&&V.setAttribute(`aria-label`,n),H&&Co({anchor:V,trigger:H,text:()=>V?.getAttribute(`aria-label`)??n,enabled:r}),H.style.display=``,V.disabled=Vs()||Z.isStreaming()&&!Hs()}}else V&&H&&(H.style.display=`none`,a.voiceRecognition?.enabled===!0&&Fe||(vu(a.voiceRecognition?.provider)?Z.isVoiceActive()&&Z.toggleVoice():hd&&Td()));if(Ud(),a.attachments?.enabled===!0){if(!Ut||!Ht){let e=a.attachments??{};Gt||(Gt=q(`div`,`persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2`),Gt.style.display=`none`,(R.parentElement??Tt).insertBefore(Gt,R)),Wt||(Wt=document.createElement(`input`),Wt.type=`file`,Wt.accept=(e.allowedTypes??Gs).join(`,`),Wt.multiple=(e.maxFiles??4)>1,Wt.style.display=`none`,Wt.setAttribute(`aria-label`,`Attach files`),(R.parentElement??Tt).insertBefore(Wt,R)),Ut=q(`div`,`persona-send-button-wrapper`),Ht=q(`button`,`persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-attachment-button ${ic} ${ac}`),Ht.type=`button`,Ht.setAttribute(`aria-label`,e.buttonTooltipText??`Attach file`);let t=e.buttonIconName??`paperclip`;Ht.style.fontSize=`18px`,Ht.style.lineHeight=`1`;let n=G(t,24,`currentColor`,1.5);n?Ht.appendChild(n):Ht.textContent=`📎`,Ht.addEventListener(`click`,e=>{e.preventDefault(),Wt?.click()}),Ut.appendChild(Ht);let r=e.buttonTooltipText??`Attach file`;Co({anchor:Ht,trigger:Ut,text:()=>Ht?.getAttribute(`aria-label`)??r}),zt?zt.append(Ut):Tt.appendChild(Ut),K&&(K.attachmentButton=Ht,K.attachmentInput=Wt??void 0,K.attachmentPreviews=Gt??void 0),!U&&Wt&&Gt&&(U=kn(),U.setPreviewsContainer(Gt),K?.addListener(Wt,`change`,async()=>{U&&Wt?.files&&(await U.handleFileSelect(Wt.files),Wt.value=``)}))}else{Ut.style.display=``;let e=a.attachments??{};Wt&&(Wt.accept=(e.allowedTypes??Gs).join(`,`),Wt.multiple=(e.maxFiles??4)>1)}if(F.querySelector(`.persona-attachment-drop-overlay`)?.remove(),F.appendChild(Zy(a.attachments?.dropOverlay)),Ht){let e=a.attachments??{},t=e.buttonTooltipText??`Attach file`;Ht.setAttribute(`aria-label`,t),Ht.textContent=``;let n=G(e.buttonIconName??`paperclip`,24,`currentColor`,1.5);n?Ht.appendChild(n):Ht.textContent=`📎`,Ut&&Co({anchor:Ht,trigger:Ut,text:()=>Ht?.getAttribute(`aria-label`)??t})}}else Ut&&(Ut.style.display=`none`),U&&U.clearAttachments(),F.querySelector(`.persona-attachment-drop-overlay`)?.remove();let Le=a.sendButton?.tooltipText??`Send message`,Re=a.sendButton?.showTooltip??!1;dc(wt,a),Z.isStreaming()||wt.setAttribute(`aria-label`,Le),qs(),B&&Co({anchor:wt,trigger:B,text:()=>wt.getAttribute(`aria-label`)??Le,enabled:Re});let ze=/* @__PURE__ */ new Set([U,...Array.from(wl.values(),e=>e.attachments)]);for(let e of ze)e?.updateConfig(Dn());`plugins`in t&&U?.remountPreviews(Gt),wr(),Ai();let Be=vp(W.getState().activeModeIds,a.composer?.modes);W.setActiveModeIds(Be),Mn().length>0!=!!Ln&&vr(),Ln?.render(Be,Mn()),In?.repaint(),pr?pr.resolve():_r();let qe=Pm(a,A());if(Di(),qe){L.style.maxWidth=qe,L.style.marginLeft=`auto`,L.style.marginRight=`auto`,L.style.width=`100%`,kt.style.maxWidth=qe,kt.style.marginLeft=`auto`,kt.style.marginRight=`auto`,kt.style.width=`100%`;for(let e of[Tt,Ct,Gt,Et])e&&(e.style.maxWidth=qe,e.style.marginLeft=`auto`,e.style.marginRight=`auto`,e.style.width=`100%`)}else{L.style.maxWidth=``,L.style.marginLeft=``,L.style.marginRight=``,L.style.width=``,kt.style.maxWidth=``,kt.style.marginLeft=``,kt.style.marginRight=``,kt.style.width=``;for(let e of[Tt,Ct,Gt,Et])e&&(e.style.maxWidth=``,e.style.marginLeft=``,e.style.marginRight=``,e.style.width=``)}let Je=a.statusIndicator??{};if(qo(Et,Tt,Je),Ko(Et,Je,Z?.getStatus()??`idle`),Z){let e=Z.getStatus();vt(Et,(e=>e===`idle`?Je.idleText??la.idle:e===`connecting`?Je.connectingText??la.connecting:e===`connected`?Je.connectedText??la.connected:e===`error`?Je.errorText??la.error:e===`paused`?Je.pausedText??la.paused:e===`resuming`?Je.resumingText??la.resuming:la[e])(e),Je,e)}Et.classList.remove(`persona-text-left`,`persona-text-center`,`persona-text-right`);let Xe=Je.align===`left`?`persona-text-left`:Je.align===`center`?`persona-text-center`:`persona-text-right`;Et.classList.add(Xe),ar(),$s(),Cr(),ut(),Er(a.layout?.slots??{}),ud()&&Vs()&&dd(),ed?.refresh(),Ar.update(),ep()},open(){Ne()&&zs(!0,`api`)},close(){Ne()&&zs(!1,`api`)},toggle(){Ne()&&zs(!j,`api`)},reconnect(){Z.reconnectNow()},clearChat(){dd(),wa(),Qr=!1,u?.clear(),Br(),f.clear(),p.clear(),m.clear(),Z.clearMessages(),a.layout?.topFade&&(I.scrollTop=0),I.removeAttribute(`data-persona-top-fade`),ma.clear(),Wo();try{localStorage.removeItem(By),a.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${By}`)}catch(e){console.error(`[AgentWidget] Failed to clear default localStorage:`,e)}if(a.clearChatHistoryStorageKey&&a.clearChatHistoryStorageKey!==By)try{localStorage.removeItem(a.clearChatHistoryStorageKey),a.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${a.clearChatHistoryStorageKey}`)}catch(e){console.error(`[AgentWidget] Failed to clear custom localStorage:`,e)}let e=new CustomEvent(`persona:clear-chat`,{detail:{instanceId:r,timestamp:(/* @__PURE__ */ new Date()).toISOString()}});window.dispatchEvent(e),bo(),k?.clear&&uo(()=>k.clear(),`[AgentWidget] Failed to clear storage adapter:`),fe={},Te.syncFromMetadata(),Pl(Z.getActiveConversationId(),!0,!1),au(),bo(),Wn(void 0),zn(void 0),Da(),Ze?.clear(),Qe?.reset(),tt?.update()},setMessage(e){return!R||ud()||Z.isStreaming()||Vs()?!1:(!j&&Ne()&&zs(!0,`system`),R.value=e,R.dispatchEvent(new Event(`input`,{bubbles:!0})),!0)},submitMessage(e){if(Z.isStreaming()||ud()||Us())return!1;let t=e?.trim()||R.value.trim();return t?(!j&&Ne()&&zs(!0,`system`),R.value=``,R.style.height=`auto`,wn(),Bu(t,{consumeDraft:!1}),!0):!1},getComposerState(){return W.getState()},setComposerModes(e){Pn(xp(e,jn(),a.composer?.modeGroups))},setQuote(e){let t=e?.text?.trim();t&&zn({...e,text:t})},clearQuote(){zn(void 0)},startDictation:pd,finishDictation:()=>fd(),cancelDictation:()=>{let e=id;return dd()||e},sendDictation:()=>!a.voiceRecognition?.dictation?.showSend||Us()?!1:fd(!0),getDictationState:()=>ad??ed?.getState()??cd,startVoiceRecognition(){return Z.isStreaming()||ud()?!1:ld()&&!a.voiceRecognition?.dictation?.provider&&a.voiceRecognition?.provider?.type!==`runtype`?pd():vu(a.voiceRecognition?.provider)?(Z.isVoiceActive()||Z.isBargeInActive()||(!j&&Ne()&&zs(!0,`system`),Q.manuallyDeactivated=!1,io(),Z.toggleVoice().then(()=>{Q.active=to(),io(),ro(`user`),Q.active&&Od()})),!0):hd?!0:Cd()?(!j&&Ne()&&zs(!0,`system`),Q.manuallyDeactivated=!1,io(),wd(`user`),!0):!1},stopVoiceRecognition(){return ud()?fd():vu(a.voiceRecognition?.provider)?!Z.isVoiceActive()&&!Z.isBargeInActive()?!1:((Z.isBargeInActive()?Z.deactivateBargeIn():Z.toggleVoice()).then(()=>{Q.active=!1,Q.manuallyDeactivated=!0,io(),ro(`user`),jd()}),!0):hd?(Q.manuallyDeactivated=!0,io(),Td(`user`),!0):!1},injectMessage(e){return!j&&Ne()&&zs(!0,`system`),Z.injectMessage(e)},injectAssistantMessage(e){!j&&Ne()&&zs(!0,`system`);let t=Z.injectAssistantMessage(e);return ze&&(ze=!1,Be&&=(clearTimeout(Be),null),Re()),t},injectUserMessage(e){return!j&&Ne()&&zs(!0,`system`),Z.injectUserMessage(e)},injectSystemMessage(e){return!j&&Ne()&&zs(!0,`system`),Z.injectSystemMessage(e)},injectMessageBatch(e){return!j&&Ne()&&zs(!0,`system`),Z.injectMessageBatch(e)},injectComponentDirective(e){return!j&&Ne()&&zs(!0,`system`),Z.injectComponentDirective(e)},updateComponentProps(e,t){return Z.updateComponentProps(e,t)},removeComponentMessage(e){return Z.removeComponentMessage(e)},injectTestMessage(e){!j&&Ne()&&zs(!0,`system`),Z.injectTestEvent(e)},async connectStream(e,t){return Z.connectStream(e,t)},__pushEventStreamEvent(e){Ge&&(st(),ot(e.type,e.payload))},showEventStream(){Ge&&Yn()},hideEventStream(){nt&&Xn()},isEventStreamVisible(){return nt},listConversations(e){return Z.listConversations(e)},getActiveConversationId(){return Z.getActiveConversationId()},openConversation(e,t){return Rl(n=>n.openHistoryConversation(e,{focusComposer:t?.focus===!0,busy:t?.busy}))},startNewConversation(e){return Rl(t=>t.startNewConversation({focusComposer:e?.focus===!0}))},warmSession(){Vl()},deleteConversation(e){return Rl(t=>t.deleteHistoryConversation(e))},renameConversation(e,t){return Rl(n=>n.updateHistoryConversation(e,{title:t}))},setConversationStarred(e,t){return Rl(n=>n.updateHistoryConversation(e,{starred:t}))},clearConversationHistory(e){return Rl(t=>t.clearConversationHistory(e))},resetHistoryIdentity(){return Rl(e=>e.resetHistoryIdentity())},async getVisitorToken(){let e=Gc;if(!e)return null;let t=await e.get();return e===Gc?t:null},getHistoryIdentityStatus(){let e=ll?.historyProvider;return e?e.getIdentityStatus():pl()?{state:`unavailable`,reason:`ineligible_mode`}:{state:`unavailable`,reason:`history_disabled`}},showHistory(e){return pl()?Rl(t=>t.openHistory({...e?.returnSurface?{returnSurface:e.returnSurface}:{},...e?.focus===void 0?{}:{focus:e.focus}})):Promise.resolve()},hideHistory(e){ll?.closeHistory(e?.restoreFocus===void 0?void 0:{restoreFocus:e.restoreFocus})},isHistoryVisible(){return ct},showArtifacts(){cv(a)&&(Qr=!1,ti=!0,Ti(),Y?.setMobileOpen(!0))},hideArtifacts(){cv(a)&&(Qr=!0,Ti())},upsertArtifact(e){return cv(a)?(Zn(a.features?.artifacts,{artifactType:e.artifactType,...e.artifactType===`markdown`&&e.file?{file:e.file}:{},...e.presentation?{presentation:e.presentation}:{}})===`panel`&&(Qr=!1,ti=!0),Z.upsertArtifact(e)):null},selectArtifact(e){cv(a)&&Z.selectArtifact(e)},clearArtifacts(){cv(a)&&Z.clearArtifacts()},getArtifacts(){return Z?.getArtifacts()??[]},getSelectedArtifactId(){return Z?.getSelectedArtifactId()??null},focusInput(){return Ee&&!j&&!A()||!R?!1:(R.focus(),!0)},revealToolCall(e,t={}){let n=Array.from(I.querySelectorAll(`.persona-tool-bubble[data-tool-call-id]`)).find(t=>t.dataset.toolCallId===e);if(!n)return!1;let r=e=>Array.from(e.querySelectorAll(`button[data-expand-header="true"]`)).find(t=>t.closest(`.persona-tool-bubble`)===e),i=e=>{e?.getAttribute(`aria-expanded`)===`false`&&Pr(e)},a=[];for(let e=n.parentElement?.closest(`.persona-tool-bubble`);e;e=e.parentElement?.closest(`.persona-tool-bubble`))a.unshift(e);a.forEach(e=>i(r(e)));let o=r(n);t.expand!==!1&&i(o),Ga(),Yo.cancel(),Uo();let s=Rr,c=o??n,l=()=>!Fe&&s===Rr&&I.contains(c),u=typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,d=()=>{let e=vn(c)-(I.clientHeight-c.offsetHeight)/2;return Math.max(0,Math.min(e,wu(I)))},f=()=>{l()&&(u?(Eo(),Na=!0,I.scrollTop=d(),ja=I.scrollTop,Na=!1):Jo(I,d,200,l))};window.clearTimeout(Lr),f(),Lr=window.setTimeout(()=>{Lr=void 0,f()},200);let p=t.highlightMs??2e3;if(p>0){let e=n.dataset.messageId;window.clearTimeout(Ir.get(e)),Ir.set(e,window.setTimeout(()=>{Ir.delete(e),zr()},p)),n.setAttribute(`data-persona-revealed`,``)}return!0},async resolveApproval(e,t,n){let r=Z.getMessages().find(t=>t.variant===`approval`&&t.approval?.id===e);if(!r?.approval)throw Error(`Approval not found: ${e}`);if(Fu(r.approval))Z.resolveWebMcpApproval(r.id,t);else return Z.resolveApproval(r.approval,t,n)},setFollowUpSuggestions(e){fa(e)},clearFollowUpSuggestions(){da()},getMessages(){return Z.getMessages()},getStatus(){return Z.getStatus()},getPersistentMetadata(){return{...fe}},updatePersistentMetadata(e){Se(e)},on(e,t){return O.on(e,t)},off(e,t){O.off(e,t)},isOpen(){return Ne()&&j},isVoiceActive(){return Q.active},toggleReadAloud(e){Z.toggleReadAloud(e)},stopReadAloud(){Z.stopSpeaking()},getReadAloudState(e){return Z.getReadAloudState(e)},onReadAloudChange(e){return Z.onReadAloudChange(e)},getState(){return{open:Ne()&&j,launcherEnabled:Ee,voiceActive:Q.active,streaming:Z.isStreaming()}},showCSATFeedback(e){Wf(()=>Ry({onSubmit:async(t,n)=>{Z.isClientTokenMode()&&await Z.submitCSATFeedback(t,n),e?.onSubmit?.(t,n)},onDismiss:e?.onDismiss,...e}))},showNPSFeedback(e){Wf(()=>zy({onSubmit:async(t,n)=>{Z.isClientTokenMode()&&await Z.submitNPSFeedback(t,n),e?.onSubmit?.(t,n)},onDismiss:e?.onDismiss,...e}))},async submitCSATFeedback(e,t){return Z.submitCSATFeedback(e,t)},async submitNPSFeedback(e,t){return Z.submitNPSFeedback(e,t)},destroy(){Fe=!0,Le(),o.destroy(),Ar.destroy(),e.removeEventListener(`click`,jr),al(),X.forEach(e=>e()),Yc!=null&&(clearInterval(Yc),Yc=null),u?.destroy(),l?.destroy(),Br(),f.clear(),p.clear(),m.clear(),O.dispose(),M.remove(),bt?.remove(),Zd?.destroy(),Qd?.remove(),Ki&&Nt.removeEventListener(`click`,Ki)}};if(((n?.debugTools??!1)||a.debug)&&typeof window<`u`){let e=window.AgentWidgetBrowser,t={controller:$,getMessages:$.getMessages,getStatus:$.getStatus,getMetadata:$.getPersistentMetadata,updateMetadata:$.updatePersistentMetadata,clearHistory:()=>$.clearChat(),setVoiceActive:e=>e?$.startVoiceRecognition():$.stopVoiceRecognition()};window.AgentWidgetBrowser=t,X.push(()=>{window.AgentWidgetBrowser===t&&(window.AgentWidgetBrowser=e)})}if(typeof window<`u`){let e=(e,t)=>{let n=e=>{let n=e.detail;n?.instanceId&&n.instanceId!==r||t(n)};window.addEventListener(e,n),X.push(()=>window.removeEventListener(e,n))};e(`persona:focusInput`,()=>$.focusInput()),Ge&&(e(`persona:showEventStream`,()=>$.showEventStream()),e(`persona:hideEventStream`,()=>$.hideEventStream())),e(`persona:showHistory`,()=>$.showHistory()),e(`persona:hideHistory`,()=>$.hideHistory()),e(`persona:showArtifacts`,()=>$.showArtifacts()),e(`persona:hideArtifacts`,()=>$.hideArtifacts()),e(`persona:upsertArtifact`,e=>{e?.artifact&&$.upsertArtifact(e.artifact)}),e(`persona:selectArtifact`,e=>{typeof e?.id==`string`&&$.selectArtifact(e.id)}),e(`persona:clearArtifacts`,()=>$.clearArtifacts())}let Zf=Ky(a.persistState);if(Zf&&Ne()){let t=qy(Zf.storage),n=`${Zf.keyPrefix}widget-open`,i=`${Zf.keyPrefix}widget-voice`,a=`${Zf.keyPrefix}widget-voice-mode`;if(t){let o=Zf.persist?.openState&&t.getItem(n)===`true`,s=Zf.persist?.voiceState&&t.getItem(i)===`true`,c=Zf.persist?.voiceState&&t.getItem(a)===`true`;if(o&&(Zd?.setPanelOpen(!0,`auto`),setTimeout(()=>{$.open(),setTimeout(()=>{if(s||c)$.startVoiceRecognition();else if(Zf.persist?.focusInput){let t=e.querySelector(`textarea`);t&&t.focus()}},100)},0)),Zf.persist?.openState&&(O.on(`widget:opened`,()=>{t.setItem(n,`true`)}),O.on(`widget:closed`,()=>{t.setItem(n,`false`)})),Zf.persist?.voiceState&&(O.on(`voice:state`,e=>{t.setItem(i,e.active?`true`:`false`)}),O.on(`user:message`,e=>{t.setItem(a,e.viaVoice?`true`:`false`)})),Zf.clearOnChatClear){let e=()=>{t.removeItem(n),t.removeItem(i),t.removeItem(a)},o=t=>{t.detail?.instanceId===r&&e()};window.addEventListener(`persona:clear-chat`,o),X.push(()=>{window.removeEventListener(`persona:clear-chat`,o)})}}}ye&&Ne()&&(Zd?.setPanelOpen(!0,`auto`),setTimeout(()=>{$.open()},0)),Is(),D=()=>{Z&&(ka++,ma.clear(),Ts(L,Z.getMessages(),He))},Z.getMessages().length>0&&ws(),le=D;let $f=du(()=>{D?.(),uu()?.updateInlineArtifactBlocks(L,Zr.artifacts,{suppressTransition:!0}),Ti()});X.push($f);let ep=()=>{let t=Su(a);Gf||t.push(...n?.preparation??[]),pl()&&!ll&&t.push(Ll()),!t.length&&!e.hasAttribute(`data-persona-preparing`)?Gf=!0:o.prepare(t,()=>{pr||_r(),Ln||vr(),d(),Nl()?.ensureComposerActionStyles(e),uu()?.ensureArtifactStyles(e),D?.(),Gf=!0})};return ep(),$};fa();const tb=(e,t)=>{let n=e.trim(),r=/^(\d+(?:\.\d+)?)px$/i.exec(n);if(r)return Math.max(0,parseFloat(r[1]));let i=/^(\d+(?:\.\d+)?)%$/i.exec(n);return i?Math.max(0,t*parseFloat(i[1])/100):420},nb=(e,t)=>{t===!1?e.style.maxHeight=``:(e.style.maxHeight=`100vh`,e.style.maxHeight=t)},rb=(e,t)=>{t===!1?(e.style.position=`relative`,e.style.top=``):(e.style.position=`sticky`,e.style.top=`0`)},ib=(e,t)=>{let n=e.parentElement;if(!n)return;let r=e.ownerDocument.createElement(`div`);r.style.cssText=`width:0;height:1px;margin:0;padding:0;border:0;visibility:hidden;`,n.appendChild(r);let i=r.offsetHeight>0;r.style.height=`100%`;let a=r.offsetHeight>0;r.remove(),i&&!a&&console.warn(`[AgentWidget] Docked mode: no ancestor of the dock target provides a definite height, so the dock panel cannot size to your layout.`+(t.maxHeight===!1?` The viewport guard is disabled (dock.maxHeight: false), so the panel will grow with the conversation and overflow the viewport.`:` Falling back to clamping the panel to ${t.maxHeight} (configurable via launcher.dock.maxHeight).`)+" To size the panel from your layout instead, give the height chain a definite height (e.g. `html, body { height: 100% }`) down to the dock target's parent.")},ab=(e,t)=>{let n=t?.launcher?.enabled??!0;e.className=`persona-host`,e.style.height=n?``:`100%`,e.style.display=n?``:`flex`,e.style.flexDirection=n?``:`column`,e.style.flex=n?``:`1 1 auto`,e.style.minHeight=n?``:`0`,e.style.minWidth=n?``:`0`},ob=e=>{e.style.position=``,e.style.top=``,e.style.bottom=``,e.style.left=``,e.style.right=``,e.style.zIndex=``,e.style.transform=``,e.style.pointerEvents=``},sb=e=>{e.style.inset=``,e.style.width=``,e.style.height=``,e.style.maxWidth=``,e.style.maxHeight=``,e.style.minWidth=``,ob(e)},cb=e=>{e.style.transition=``},lb=e=>{e.style.display=``,e.style.flexDirection=``,e.style.flex=``,e.style.minHeight=``,e.style.minWidth=``,e.style.width=``,e.style.height=``,e.style.alignItems=``,e.style.transition=``,e.style.transform=``,e.style.marginLeft=``},ub=e=>{e.style.width=``,e.style.maxWidth=``,e.style.minWidth=``,e.style.flex=`1 1 auto`},db=(e,t)=>{e.style.width=``,e.style.minWidth=`0`,e.style.maxWidth=``,e.style.boxSizing=``,t.style.alignItems=``},fb=(e,t,n,r,i)=>{i?n.parentElement!==t&&(e.replaceChildren(),t.replaceChildren(n,r),e.appendChild(t)):n.parentElement===t&&(t.replaceChildren(),e.appendChild(n),e.appendChild(r))},pb=(e,t,n,r,i,a)=>{let o=a?t:e;i===`left`?o.firstElementChild!==r&&o.replaceChildren(r,n):o.lastElementChild!==r&&o.replaceChildren(n,r)},mb=e=>{let t=Dm(e),n=t.components?.panel,r=(e,n)=>e==null||e===``?n:Zp(t,e)??e;return{inset:r(n?.inset,Np),canvasBackground:r(n?.canvasBackground,Pp)}},hb=(e,t,n,r)=>{t?(e.style.boxSizing=`border-box`,e.style.padding=n,e.style.background=r):(e.style.padding=``,e.style.background=``,e.style.boxSizing=``)},gb=(e,t,n,r,i,a,o,s)=>{let c=Vh(a),l=c.reveal===`push`,u=s!=null,d=s?.inset??``,f=s?.canvasBackground??``;fb(e,t,n,r,l),pb(e,t,n,r,c.side,l),e.dataset.personaHostLayout=`docked`,e.dataset.personaDockSide=c.side,e.dataset.personaDockOpen=o?`true`:`false`,e.style.width=`100%`,e.style.maxWidth=`100%`,e.style.minWidth=`0`,e.style.height=`100%`,e.style.minHeight=`0`,e.style.position=`relative`,n.style.display=`flex`,n.style.flexDirection=`column`,n.style.minHeight=`0`,n.style.position=`relative`,i.className=`persona-host`,i.style.height=`100%`,i.style.minHeight=`0`,i.style.minWidth=`0`,i.style.display=`flex`,i.style.flexDirection=`column`,i.style.flex=`1 1 auto`;let p=e.ownerDocument.defaultView,m=a?.launcher?.mobileFullscreen??!0,h=a?.launcher?.mobileBreakpoint??640,g=p!=null&&p.innerWidth<=h;if(m&&g&&o)e.dataset.personaDockMobileFullscreen=`true`,e.removeAttribute(`data-persona-dock-reveal`),lb(t),cb(r),sb(r),ub(n),db(i,r),hb(r,!1,``,``),e.style.display=`flex`,e.style.flexDirection=`column`,e.style.alignItems=`stretch`,e.style.overflow=`hidden`,n.style.flex=`1 1 auto`,n.style.width=`100%`,n.style.minWidth=`0`,r.style.display=`flex`,r.style.flexDirection=`column`,r.style.position=`fixed`,r.style.inset=`0`,r.style.width=`100%`,r.style.height=`100%`,r.style.maxWidth=`100%`,r.style.minWidth=`0`,r.style.minHeight=`0`,r.style.overflow=`hidden`,r.style.zIndex=String(a?.launcher?.zIndex??1e5),r.style.transform=`none`,r.style.transition=`none`,r.style.pointerEvents=`auto`,r.style.flex=`none`,l&&(t.style.display=`flex`,t.style.flexDirection=`column`,t.style.width=`100%`,t.style.height=`100%`,t.style.minHeight=`0`,t.style.minWidth=`0`,t.style.flex=`1 1 auto`,t.style.alignItems=`stretch`,t.style.transform=`none`,t.style.marginLeft=`0`,t.style.transition=`none`,n.style.flex=`1 1 auto`,n.style.width=`100%`,n.style.maxWidth=`100%`,n.style.minWidth=`0`);else if(e.removeAttribute(`data-persona-dock-mobile-fullscreen`),sb(r),nb(r,c.maxHeight),hb(r,u&&o,d,f),c.reveal===`overlay`){e.style.display=`flex`,e.style.flexDirection=`row`,e.style.alignItems=`stretch`,e.style.overflow=`hidden`,e.dataset.personaDockReveal=`overlay`,lb(t),cb(r),ub(n),db(i,r);let a=c.animate?`transform 180ms ease`:`none`,s=c.side===`right`?`translateX(100%)`:`translateX(-100%)`,l=o?`translateX(0)`:s;r.style.display=`flex`,r.style.flexDirection=`column`,r.style.flex=`none`,r.style.position=`absolute`,r.style.top=`0`,r.style.bottom=`0`,r.style.width=c.width,r.style.maxWidth=c.width,r.style.minWidth=c.width,r.style.minHeight=`0`,r.style.overflow=`hidden`,r.style.transition=a,r.style.transform=l,r.style.pointerEvents=o?`auto`:`none`,r.style.zIndex=`2`,c.side===`right`?(r.style.right=`0`,r.style.left=``):(r.style.left=`0`,r.style.right=``)}else if(c.reveal===`push`){e.style.display=`flex`,e.style.flexDirection=`row`,e.style.alignItems=`stretch`,e.style.overflow=`hidden`,e.dataset.personaDockReveal=`push`,cb(r),ob(r),db(i,r);let a=tb(c.width,e.clientWidth),s=Math.max(0,e.clientWidth),l=c.animate?`margin-left 180ms ease`:`none`,u=c.side===`right`?o?-a:0:o?0:-a;t.style.display=`flex`,t.style.flexDirection=`row`,t.style.flex=`0 0 auto`,t.style.minHeight=`0`,t.style.minWidth=`0`,t.style.alignItems=`stretch`,t.style.height=`100%`,t.style.width=`${s+a}px`,t.style.transition=l,t.style.marginLeft=`${u}px`,t.style.transform=``,n.style.flex=`0 0 auto`,n.style.flexGrow=`0`,n.style.flexShrink=`0`,n.style.width=`${s}px`,n.style.maxWidth=`${s}px`,n.style.minWidth=`${s}px`,r.style.display=`flex`,r.style.flexDirection=`column`,r.style.flex=`0 0 auto`,r.style.flexShrink=`0`,r.style.width=c.width,r.style.minWidth=c.width,r.style.maxWidth=c.width,r.style.position=`relative`,r.style.top=``,r.style.overflow=`hidden`,r.style.transition=`none`,r.style.pointerEvents=o?`auto`:`none`}else{e.style.display=`flex`,e.style.flexDirection=`row`,e.style.alignItems=`stretch`,e.style.overflow=``,lb(t),ob(r),ub(n),db(i,r);let a=c.reveal===`emerge`;a?e.dataset.personaDockReveal=`emerge`:e.removeAttribute(`data-persona-dock-reveal`);let s=o?c.width:`0px`,l=c.animate?`width 180ms ease, min-width 180ms ease, max-width 180ms ease, flex-basis 180ms ease${u?`, padding 180ms ease`:``}`:`none`,f=!o;if(r.style.display=`flex`,r.style.flexDirection=`column`,r.style.flex=`0 0 ${s}`,r.style.width=s,r.style.maxWidth=s,r.style.minWidth=s,r.style.minHeight=`0`,rb(r,c.maxHeight),r.style.overflow=a||f?`hidden`:`visible`,r.style.transition=l,a){r.style.alignItems=c.side===`right`?`flex-start`:`flex-end`;let t=u?`calc(${tb(c.width,e.clientWidth)}px - (2 * ${d}))`:c.width;i.style.width=t,i.style.minWidth=t,i.style.maxWidth=t,i.style.boxSizing=`border-box`}}},_b=(e,t)=>{let n=e.ownerDocument.createElement(`div`);return ab(n,t),e.appendChild(n),{mode:`direct`,host:n,shell:null,syncWidgetState:()=>{},updateConfig(e){ab(n,e)},destroy(){n.remove()}}},vb=(e,t)=>{let{ownerDocument:n}=e,r=e.parentElement;if(!r)throw Error(`Docked widget target must be attached to the DOM`);let i=e.tagName.toUpperCase();if(i===`BODY`||i===`HTML`)throw Error(`Docked widget target must be a concrete container element, not "body" or "html"`);let a=e.nextSibling,o=n.createElement(`div`),s=n.createElement(`div`),c=n.createElement(`div`),l=n.createElement(`aside`),u=n.createElement(`div`),d=t?.launcher?.enabled??!0?t?.launcher?.autoExpand??!1:!0;s.dataset.personaDockRole=`push-track`,c.dataset.personaDockRole=`content`,l.dataset.personaDockRole=`panel`,u.dataset.personaDockRole=`host`,l.appendChild(u),r.insertBefore(o,e),c.appendChild(e);let f=null,p=()=>{f?.disconnect(),f=null},m=null,h=()=>{m=t?.launcher?.detachedPanel===!0?mb(t):null};h();let g=()=>{gb(o,s,c,l,u,t,d,m)},_=null,v=()=>{_?.(),_=null,t?.launcher?.detachedPanel===!0&&t?.colorScheme===`auto`&&(_=Nm(()=>{h(),g()}))},y=()=>{p(),Vh(t).reveal===`push`&&typeof ResizeObserver<`u`&&(f=new ResizeObserver(()=>{g()}),f.observe(o))},b=!1,x=()=>{g(),y(),d&&!b&&o.dataset.personaDockMobileFullscreen!==`true`&&(b=!0,ib(o,Vh(t)))},S=o.ownerDocument.defaultView,C=()=>{x()};return S?.addEventListener(`resize`,C),Vh(t).reveal===`push`?(s.appendChild(c),s.appendChild(l),o.appendChild(s)):(o.appendChild(c),o.appendChild(l)),x(),v(),{mode:`docked`,host:u,shell:o,syncWidgetState(e){let t=!e.launcherEnabled||e.open;d!==t&&(d=t,x())},updateConfig(e){t=e,(t?.launcher?.enabled??!0)===!1&&(d=!0),h(),x(),v()},destroy(){S?.removeEventListener(`resize`,C),_?.(),_=null,p(),r.isConnected&&(a&&a.parentNode===r?r.insertBefore(e,a):r.appendChild(e)),o.remove()}}},yb=(e,t)=>zh(t)?vb(e,t):_b(e,t);function bb(e,t,n){let r=e.ownerDocument,i=r.activeElement;for(;i?.shadowRoot?.activeElement;)i=i.shadowRoot.activeElement;let a=t=>{for(;t;){if(e.contains(t))return!0;let n=t.getRootNode();t=n instanceof ShadowRoot?n.host:null}return!1},o=n&&a(i)?i:null,s=o,c=s?.selectionStart,l=s?.selectionEnd,u=s?.selectionDirection,d=(o?.getRootNode())?.getSelection?.()??r.getSelection(),f=d?.anchorNode,p=d?.focusNode,m=n&&a(f??null)&&a(p??null)?[d.anchorOffset,d.focusOffset]:null,h=t;typeof h.moveBefore==`function`?h.moveBefore(e,null):t.appendChild(e),o?.focus({preventScroll:!0}),s&&c!=null&&l!=null&&s.setSelectionRange(c,l,u??void 0),m&&f&&p&&d.setBaseAndExtent(f,m[0],p,m[1])}const xb=e=>{if(typeof window>`u`||typeof document>`u`)throw Error(`Chat widget can only be mounted in a browser environment`);if(typeof e==`string`){let t=document.querySelector(e);if(!t)throw Error(`Chat widget target "${e}" was not found`);return t}return e},Sb=(e,t)=>{if(!(e instanceof ShadowRoot)||e.querySelector(`link[data-persona]`))return;let n=t.head.querySelector(`link[data-persona]`);if(!n)return;let r=n.cloneNode(!0),i=new Promise((e,t)=>{r.onload=()=>e(),r.onerror=()=>t(/* @__PURE__ */ Error(`Unable to load the widget stylesheet`))});return e.insertBefore(r,e.firstChild),i},Cb=[],wb=()=>[...Cb],Tb=e=>{let t=xb(e.target),n=e.useShadowDom===!0,r=t.ownerDocument,i=t.id||`persona-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`,a=e.config,o=sy(a),s=yb(t,a),c,l=[],u=!1,d=!1,f=()=>{let t=c;t.ready.then(()=>{u||d||t!==c||(d=!0,e.onChatReady?.())},()=>{})},p=e=>e(),m=/* @__PURE__ */ new Set,h=(e,t)=>{let a=!(t?.launcher?.enabled??!0)||zh(t),o=r.createElement(`div`);o.setAttribute(`data-persona-root`,`true`),a&&(o.style.height=`100%`,o.style.display=`flex`,o.style.flexDirection=`column`,o.style.flex=`1`,o.style.minHeight=`0`,o.style.minWidth=`0`);let s;if(n){let t=e.attachShadow({mode:`open`});t.appendChild(o),s=Sb(t,r)}else e.appendChild(o),Sb(e,r);return o.setAttribute(`data-persona-instance`,i),{mount:o,stylesReady:s}},g=()=>{s.syncWidgetState(c.getState())},_=()=>{l.forEach(e=>e()),l=[c.on(`widget:opened`,g),c.on(`widget:closed`,g)],g()},v=()=>{let{mount:t,stylesReady:n}=h(s.host,a);c=eb(t,a,{debugTools:e.debugTools,registerHostMove:e=>{p=e},diagnostics:o,preparation:n?[n]:[]}),m.forEach(e=>e.bind()),_(),f()},y=()=>{l.forEach(e=>e()),l=[],c.destroy()};v();let b=e=>{y(),s.destroy(),s=yb(t,e),a=e,v()},x=new Proxy({moveTo(e,n){if(u)throw Error(`Cannot move a destroyed widget`);if(s.mode!==`direct`)throw Error(`Docked widgets cannot be moved`);let i=typeof e==`string`?r.querySelector(e):e;if(!(i instanceof HTMLElement)||i.ownerDocument!==r||i.getRootNode()!==r||s.host.getRootNode()!==r||s.host.contains(i))throw Error(`Invalid widget move target: expected a connected light-DOM container in the same document`);i!==t&&(p(()=>bb(s.host,i,n?.preserveFocus!==!1)),t=i)},on(e,t){if(u)return()=>{};let n=[...m].find(n=>n.event===e&&n.handler===t);if(n)return n.unsubscribe;let r=()=>{},i={event:e,handler:t,bind:()=>{r=c.on(e,t)},unsubscribe:()=>{r(),m.delete(i)}};return m.add(i),i.bind(),i.unsubscribe},off(e,t){for(let n of m)n.event===e&&n.handler===t&&n.unsubscribe()},update(e){cy(o,e);let t=Qv(a??{},e),n=zh(a),r=zh(t),i=Bh(a),l=Bh(t);n!==r||i!==l?b(t):(a=t,s.updateConfig(a),c.update(e),f(),g())},destroy(){if(u)return;u=!0,y(),m.forEach(e=>e.unsubscribe()),s.destroy();let t=Cb.indexOf(x);t!==-1&&Cb.splice(t,1),e.windowKey&&typeof window<`u`&&delete window[e.windowKey]}},{get(e,t,n){if(t===`host`)return s.host;if(t in e)return Reflect.get(e,t,n);let r=c[t];return typeof r==`function`?r.bind(c):r}});return Cb.push(x),e.windowKey&&typeof window<`u`&&(window[e.windowKey]=x),x},Eb=/* @__PURE__ */ new Set([`script`,`style`,`noscript`,`svg`,`path`,`meta`,`link`,`br`,`hr`]),Db=/* @__PURE__ */ new Set([`button`,`a`,`input`,`select`,`textarea`,`details`,`summary`]),Ob=/* @__PURE__ */ new Set([`button`,`link`,`menuitem`,`tab`,`option`,`switch`,`checkbox`,`radio`,`combobox`,`listbox`,`slider`,`spinbutton`,`textbox`]),kb=/\b(product|card|item|listing|result)\b/i,Ab=/\$[\d,]+(?:\.\d{2})?|€[\d,]+(?:\.\d{2})?|£[\d,]+(?:\.\d{2})?|USD\s*[\d,]+(?:\.\d{2})?/i;function jb(e){let t=typeof e.className==`string`?e.className:``;if(kb.test(t)||e.id&&kb.test(e.id))return!0;for(let t=0;t<e.attributes.length;t++){let n=e.attributes[t];if(n.name.startsWith(`data-`)&&kb.test(n.value))return!0}return!1}function Mb(e){return Ab.test((e.textContent??``).trim())}function Nb(e){let t=e.querySelectorAll(`a[href]`);for(let e=0;e<t.length;e++){let n=t[e].getAttribute(`href`)??``;if(n&&n!==`#`&&!n.toLowerCase().startsWith(`javascript:`))return!0}return!1}function Pb(e){return!!e.querySelector(`button, [role="button"], input[type="submit"], input[type="button"]`)}function Fb(e){let t=e.match(Ab);return t?t[0]:null}function Ib(e){let t=e.querySelector(`.product-title a, h1 a, h2 a, h3 a, h4 a, .title a, a[href]`)??e.querySelector(`a[href]`);if(t&&t.textContent?.trim()){let e=t.getAttribute(`href`);return{title:t.textContent.trim(),href:e&&e!==`#`?e:null}}let n=e.querySelector(`h1, h2, h3, h4, h5, h6`);return n?.textContent?.trim()?{title:n.textContent.trim(),href:null}:{title:``,href:null}}function Lb(e){let t=[],n=e=>{let n=e.trim();n&&!t.includes(n)&&t.push(n)};return e.querySelectorAll(`button`).forEach(e=>n(e.textContent??``)),e.querySelectorAll(`[role="button"]`).forEach(e=>n(e.textContent??``)),e.querySelectorAll(`input[type="submit"], input[type="button"]`).forEach(e=>{n(e.value??``)}),t.slice(0,6)}function Rb(e){return!jb(e)||!Mb(e)||!Nb(e)&&!Pb(e)?0:5200}function zb(e){return!jb(e)||Mb(e)||!Nb(e)||(e.textContent??``).trim().length<20||!(e.querySelector(`h1, h2, h3, h4, h5, h6, .title`)||e.querySelector(`.snippet, .description, p`))?0:2800}const Bb=[{id:`commerce-card`,scoreElement(e){return Rb(e)},shouldSuppressDescendant(e,t,n){if(t===e||!e.contains(t))return!1;if(n.interactivity===`static`){let e=n.text.trim();return!!(e.length===0||Ab.test(e)&&e.length<32)}return!0},formatSummary(e,t){if(Rb(e)===0)return null;let{title:n,href:r}=Ib(e),i=Fb((e.textContent??``).trim())??Fb(t.text)??``,a=Lb(e);return[r&&n?`[${n}](${r})${i?`: ${i}`:``}`:n?`${n}${i?`: ${i}`:``}`:i||t.text.trim().slice(0,120),`selector: ${t.selector}`,a.length?`actions: ${a.join(`, `)}`:``].filter(Boolean).join(`
131
+ `)}},{id:`result-card`,scoreElement(e){return zb(e)},formatSummary(e,t){if(zb(e)===0)return null;let{title:n,href:r}=Ib(e);return[r&&n?`[${n}](${r})`:n||t.text.trim().slice(0,120),`selector: ${t.selector}`].filter(Boolean).join(`
132
+ `)}}];function Vb(){typeof console<`u`&&typeof console.warn==`function`&&console.warn('[persona] collectEnrichedPageContext: options.mode is "simple" but `rules` were provided; rules are ignored.')}function Hb(e){let t=e.options??{},n=t.maxElements??e.maxElements??80,r=t.excludeSelector??e.excludeSelector??`.persona-host`,i=t.maxTextLength??e.maxTextLength??200,a=t.visibleOnly??e.visibleOnly??!0,o=t.root??e.root,s=t.mode??`structured`,c=t.maxCandidates??Math.max(500,n*10),l=e.rules??Bb;return s===`simple`&&e.rules&&e.rules.length>0?(Vb(),l=[]):s===`simple`&&(l=[]),{mode:s,maxElements:n,maxCandidates:c,excludeSelector:r,maxTextLength:i,visibleOnly:a,root:o,rules:l}}function Ub(e){return typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(e):e.replace(/([^\w-])/g,`\\$1`)}const Wb=[`data-testid`,`data-product`,`data-action`,`data-id`,`data-name`,`data-type`];function Gb(e){let t=e.tagName.toLowerCase(),n=e.getAttribute(`role`);return t===`a`&&e.hasAttribute(`href`)?`navigable`:t===`input`||t===`select`||t===`textarea`||n===`textbox`||n===`combobox`||n===`listbox`||n===`spinbutton`?`input`:t===`button`||n===`button`||Db.has(t)||n&&Ob.has(n)||e.hasAttribute(`tabindex`)||e.hasAttribute(`onclick`)||e.getAttribute(`contenteditable`)===`true`?`clickable`:`static`}function Kb(e){if(e.hidden)return!1;try{let t=getComputedStyle(e);if(t.display===`none`||t.visibility===`hidden`)return!1}catch{}return e.style.display!==`none`&&e.style.visibility!==`hidden`}function qb(e){let t={},n=e.id;n&&(t.id=n);let r=e.getAttribute(`href`);r&&(t.href=r);let i=e.getAttribute(`aria-label`);i&&(t[`aria-label`]=i);let a=e.getAttribute(`type`);a&&(t.type=a);let o=e.getAttribute(`value`);o&&(t.value=o);let s=e.getAttribute(`name`);s&&(t.name=s);let c=e.getAttribute(`role`);c&&(t.role=c);for(let n=0;n<e.attributes.length;n++){let r=e.attributes[n];r.name.startsWith(`data-`)&&(t[r.name]=r.value)}return t}function Jb(e){let t=e.tagName.toLowerCase();if(e.id){let t=`#${Ub(e.id)}`;try{if(e.ownerDocument.querySelectorAll(t).length===1)return t}catch{}}for(let n of Wb){let r=e.getAttribute(n);if(r){let i=`${t}[${n}="${Ub(r)}"]`;try{if(e.ownerDocument.querySelectorAll(i).length===1)return i}catch{}}}let n=Array.from(e.classList).filter(e=>e&&!e.startsWith(`persona-`)).slice(0,3);if(n.length>0){let r=`${t}.${n.map(e=>Ub(e)).join(`.`)}`;try{if(e.ownerDocument.querySelectorAll(r).length===1)return r}catch{}let i=e.parentElement;if(i){let n=Array.from(i.querySelectorAll(`:scope > ${t}`)).indexOf(e);if(n>=0){let t=`${r}:nth-of-type(${n+1})`;try{if(e.ownerDocument.querySelectorAll(t).length===1)return t}catch{}}}}let r=e.parentElement;if(r){let n=Array.from(r.querySelectorAll(`:scope > ${t}`)).indexOf(e);if(n>=0)return`${t}:nth-of-type(${n+1})`}return t}function Yb(e){return e===`static`?100:3e3}function Xb(e,t){let n=e.tagName.toLowerCase(),r=(e.textContent??``).trim().substring(0,t);return{selector:Jb(e),tagName:n,text:r,role:e.getAttribute(`role`),interactivity:Gb(e),attributes:qb(e)}}function Zb(e,t,n,r){let i=Yb(t.interactivity),a=null;for(let o of n){let n=o.scoreElement(e,t,r);n>0&&(i+=n,o.formatSummary&&!a&&(a=o))}return{score:i,formattingRule:a}}function Qb(e,t){for(let n of e)if(t.el!==n.el&&n.formattingRule?.shouldSuppressDescendant&&n.el.contains(t.el)&&n.formattingRule.shouldSuppressDescendant(n.el,t.el,t.enriched))return!0;return!1}function $b(e,t){let n={doc:t.ownerDocument,maxTextLength:e.maxTextLength},r=/* @__PURE__ */ new Set,i=[],a=0,o=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,null),s=o.currentNode;for(;s&&i.length<e.maxCandidates;){if(s.nodeType===Node.ELEMENT_NODE){let t=s,c=t.tagName.toLowerCase();if(Eb.has(c)){s=o.nextNode();continue}if(e.excludeSelector)try{if(t.closest(e.excludeSelector)){s=o.nextNode();continue}}catch{}if(e.visibleOnly&&!Kb(t)){s=o.nextNode();continue}let l=Xb(t,e.maxTextLength),u=l.text.length>0,d=Object.keys(l.attributes).length>0&&!Object.keys(l.attributes).every(e=>e===`role`);if(!u&&!d||r.has(l.selector)){s=o.nextNode();continue}r.add(l.selector);let{score:f,formattingRule:p}=Zb(t,l,e.rules,n);i.push({el:t,domIndex:a,enriched:l,score:f,formattingRule:p}),a+=1}s=o.nextNode()}i.sort((e,t)=>{let n=+(e.enriched.interactivity===`static`),r=+(t.enriched.interactivity===`static`);return n===r?t.score===e.score?e.domIndex-t.domIndex:t.score-e.score:n-r});let c=[];for(let t of i){if(c.length>=e.maxElements)break;Qb(c,t)||c.push(t)}return c.sort((e,t)=>{let n=+(e.enriched.interactivity===`static`),r=+(t.enriched.interactivity===`static`);return n===r?n===1&&t.score!==e.score?t.score-e.score:e.domIndex-t.domIndex:n-r}),c.map(e=>{let t;if(e.formattingRule?.formatSummary){let r=e.formattingRule.formatSummary(e.el,e.enriched,n);r&&(t=r)}let r={...e.enriched};return t&&(r.formattedSummary=t),r})}function ex(e,t){let n=[],r=/* @__PURE__ */ new Set,i=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,null),a=i.currentNode;for(;a&&n.length<e.maxElements;){if(a.nodeType===Node.ELEMENT_NODE){let t=a,o=t.tagName.toLowerCase();if(Eb.has(o)){a=i.nextNode();continue}if(e.excludeSelector)try{if(t.closest(e.excludeSelector)){a=i.nextNode();continue}}catch{}if(e.visibleOnly&&!Kb(t)){a=i.nextNode();continue}let s=Xb(t,e.maxTextLength),c=s.text.length>0,l=Object.keys(s.attributes).length>0&&!Object.keys(s.attributes).every(e=>e===`role`);if(!c&&!l){a=i.nextNode();continue}r.has(s.selector)||(r.add(s.selector),n.push(s))}a=i.nextNode()}let o=[],s=[];for(let e of n)e.interactivity===`static`?s.push(e):o.push(e);return[...o,...s].slice(0,e.maxElements)}function tx(e={}){let t=Hb(e),n=t.root??document.body;return n?t.mode===`simple`?ex(t,n):$b(t,n):[]}function nx(e,t={}){if(e.length===0)return`No page elements found.`;let n=t.mode??`structured`,r=[];if(n===`structured`){let t=e.map(e=>e.formattedSummary).filter(e=>!!e&&e.length>0);t.length>0&&r.push(`Structured summaries:\n${t.map(e=>`- ${e.split(`
133
133
  `).join(`
134
134
  `)}`).join(`
135
135
  `)}`)}let i={clickable:[],navigable:[],input:[],static:[]};for(let t of e)n===`structured`&&t.formattedSummary||i[t.interactivity].push(t);if(i.clickable.length>0){let e=i.clickable.map(e=>`- ${e.selector}: "${e.text.substring(0,100)}" (clickable)`);r.push(`Interactive elements:\n${e.join(`
@@ -138,7 +138,7 @@ import{Marked as e,Marked as t}from"marked";import n,{default as r}from"dompurif
138
138
  `)}`)}if(i.static.length>0){let e=i.static.map(e=>`- ${e.selector}: "${e.text.substring(0,100)}"`);r.push(`Content:\n${e.join(`
139
139
  `)}`)}return r.join(`
140
140
 
141
- `)}Es();const nx={palette:{colors:{primary:{500:`#111827`},accent:{600:`#1d4ed8`},gray:{50:`#ffffff`,100:`#f8fafc`,200:`#f1f5f9`,500:`#6b7280`,900:`#000000`}},radius:{sm:`0.75rem`,md:`1rem`,lg:`1.5rem`,launcher:`9999px`,button:`9999px`}},semantic:{colors:{primary:`palette.colors.primary.500`,textInverse:`palette.colors.gray.50`}}},rx={components:{panel:{borderRadius:`0`,shadow:`none`}}},ix={id:`shop`,label:`Shopping Assistant`,config:{theme:nx,launcher:{title:`Shopping Assistant`,subtitle:`Here to help you find what you need`,agentIconText:`🛍️`,position:`bottom-right`,width:gs},welcome:{title:`Welcome to our shop!`,subtitle:`I can help you find products and answer questions`},copy:{inputPlaceholder:`Ask me anything...`,sendButtonLabel:`Send`},suggestions:{starters:{items:[`Show me what you can help with`,`Walk me through getting started`,`Answer a question about this page`],variant:`chip`,placement:`composer`,overflow:`wrap`,maxItems:4}}}},ax={id:`minimal`,label:`Minimal`,config:{launcher:{enabled:!1,fullHeight:!0},layout:{header:{layout:`minimal`,showCloseButton:!1},messages:{layout:`minimal`}},theme:rx}},ox={id:`fullscreen`,label:`Fullscreen Assistant`,config:{launcher:{enabled:!1,fullHeight:!0},layout:{header:{layout:`minimal`,showCloseButton:!1},contentMaxWidth:`72ch`},theme:rx}},sx={shop:ix,minimal:ax,fullscreen:ox};function cx(e){return sx[e]}Qn(),Q(),sa(),ra(),Gn(),cr(),Gs(),Kc(),Ma(),Nn(),Es();var lx=wb;function ux(){return{name:`@persona/accessibility`,version:`1.0.0`,transform(e){return{...e,semantic:{...e.semantic,colors:{...e.semantic.colors,interactive:{...e.semantic.colors.interactive,focus:`palette.colors.primary.700`,disabled:`palette.colors.gray.300`}}}}},cssVariables:{"--persona-accessibility-focus-ring":`0 0 0 2px var(--persona-semantic-colors-surface, #fff), 0 0 0 4px var(--persona-semantic-colors-interactive-focus, #0f0f0f)`}}}function dx(){return{name:`@persona/animations`,version:`1.0.0`,transform(e){return{...e,palette:{...e.palette,transitions:{fast:`150ms`,normal:`200ms`,slow:`300ms`,bounce:`500ms cubic-bezier(0.68, -0.55, 0.265, 1.55)`},easings:{easeIn:`cubic-bezier(0.4, 0, 1, 1)`,easeOut:`cubic-bezier(0, 0, 0.2, 1)`,easeInOut:`cubic-bezier(0.4, 0, 0.2, 1)`}}}},cssVariables:{"--persona-transition-fast":`150ms ease`,"--persona-transition-normal":`200ms ease`,"--persona-transition-slow":`300ms ease`}}}function fx(e){return{name:`@persona/brand`,version:`1.0.0`,transform(t){let n={...t.palette};return e.colors?.primary&&(n.colors={...n.colors,primary:{50:hx(e.colors.primary,.95),100:hx(e.colors.primary,.9),200:hx(e.colors.primary,.8),300:hx(e.colors.primary,.7),400:hx(e.colors.primary,.6),500:e.colors.primary,600:hx(e.colors.primary,.8),700:hx(e.colors.primary,.7),800:hx(e.colors.primary,.6),900:hx(e.colors.primary,.5),950:hx(e.colors.primary,.45)}}),{...t,palette:n}}}}function px(){return{name:`@persona/reduced-motion`,version:`1.0.0`,transform(e){return{...e,palette:{...e.palette,transitions:{fast:`0ms`,normal:`0ms`,slow:`0ms`,bounce:`0ms`}}}},afterResolve(e){return{...e,"--persona-transition-fast":`0ms`,"--persona-transition-normal":`0ms`,"--persona-transition-slow":`0ms`}}}}function mx(){return{name:`@persona/high-contrast`,version:`1.0.0`,transform(e){return{...e,semantic:{...e.semantic,colors:{...e.semantic.colors,text:`palette.colors.gray.950`,textMuted:`palette.colors.gray.700`,border:`palette.colors.gray.900`,divider:`palette.colors.gray.900`}}}}}}function hx(e,t){let n=parseInt(e.slice(1,3),16),r=parseInt(e.slice(3,5),16),i=parseInt(e.slice(5,7),16),a=Math.round(n+(255-n)*(1-t)),o=Math.round(r+(255-r)*(1-t)),s=Math.round(i+(255-i)*(1-t));return`#${a.toString(16).padStart(2,`0`)}${o.toString(16).padStart(2,`0`)}${s.toString(16).padStart(2,`0`)}`}function gx(e){return{name:e.name,version:e.version,transform:e.transform||(e=>e),cssVariables:e.cssVariables,afterResolve:e.afterResolve}}Ma();function _x(e){return e?.cdnBase?.trim().replace(/\/+$/,``).replace(/[\\'"<>`]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase().padStart(2,`0`)}`)||`https://cdn.jsdelivr.net/npm/@runtypelabs/persona@${ja}/dist`}function vx(e){if(e!==void 0)return typeof e==`string`?e:Array.isArray(e)?`[${e.map(e=>e.toString()).join(`, `)}]`:e.toString()}function yx(e){if(e)return{getHeaders:vx(e.getHeaders),onFeedback:vx(e.onFeedback),onCopy:vx(e.onCopy),requestMiddleware:vx(e.requestMiddleware),actionHandlers:vx(e.actionHandlers),actionParsers:vx(e.actionParsers),postprocessMessage:vx(e.postprocessMessage),contextProviders:vx(e.contextProviders),streamParser:vx(e.streamParser)}}const bx=`({ text, message }: any) => {
141
+ `)}Ds();const rx={palette:{colors:{primary:{500:`#111827`},accent:{600:`#1d4ed8`},gray:{50:`#ffffff`,100:`#f8fafc`,200:`#f1f5f9`,500:`#6b7280`,900:`#000000`}},radius:{sm:`0.75rem`,md:`1rem`,lg:`1.5rem`,launcher:`9999px`,button:`9999px`}},semantic:{colors:{primary:`palette.colors.primary.500`,textInverse:`palette.colors.gray.50`}}},ix={components:{panel:{borderRadius:`0`,shadow:`none`}}},ax={id:`shop`,label:`Shopping Assistant`,config:{theme:rx,launcher:{title:`Shopping Assistant`,subtitle:`Here to help you find what you need`,agentIconText:`🛍️`,position:`bottom-right`,width:_s},welcome:{title:`Welcome to our shop!`,subtitle:`I can help you find products and answer questions`},copy:{inputPlaceholder:`Ask me anything...`,sendButtonLabel:`Send`},suggestions:{starters:{items:[`Show me what you can help with`,`Walk me through getting started`,`Answer a question about this page`],variant:`chip`,placement:`composer`,overflow:`wrap`,maxItems:4}}}},ox={id:`minimal`,label:`Minimal`,config:{launcher:{enabled:!1,fullHeight:!0},layout:{header:{layout:`minimal`,showCloseButton:!1},messages:{layout:`minimal`}},theme:ix}},sx={id:`fullscreen`,label:`Fullscreen Assistant`,config:{launcher:{enabled:!1,fullHeight:!0},layout:{header:{layout:`minimal`,showCloseButton:!1},contentMaxWidth:`72ch`},theme:ix}},cx={shop:ax,minimal:ox,fullscreen:sx};function lx(e){return cx[e]}$n(),Z(),ca(),ia(),Kn(),lr(),Ks(),qc(),Na(),Pn(),Ds();var ux=Tb;function dx(){return{name:`@persona/accessibility`,version:`1.0.0`,transform(e){return{...e,semantic:{...e.semantic,colors:{...e.semantic.colors,interactive:{...e.semantic.colors.interactive,focus:`palette.colors.primary.700`,disabled:`palette.colors.gray.300`}}}}},cssVariables:{"--persona-accessibility-focus-ring":`0 0 0 2px var(--persona-semantic-colors-surface, #fff), 0 0 0 4px var(--persona-semantic-colors-interactive-focus, #0f0f0f)`}}}function fx(){return{name:`@persona/animations`,version:`1.0.0`,transform(e){return{...e,palette:{...e.palette,transitions:{fast:`150ms`,normal:`200ms`,slow:`300ms`,bounce:`500ms cubic-bezier(0.68, -0.55, 0.265, 1.55)`},easings:{easeIn:`cubic-bezier(0.4, 0, 1, 1)`,easeOut:`cubic-bezier(0, 0, 0.2, 1)`,easeInOut:`cubic-bezier(0.4, 0, 0.2, 1)`}}}},cssVariables:{"--persona-transition-fast":`150ms ease`,"--persona-transition-normal":`200ms ease`,"--persona-transition-slow":`300ms ease`}}}function px(e){return{name:`@persona/brand`,version:`1.0.0`,transform(t){let n={...t.palette};return e.colors?.primary&&(n.colors={...n.colors,primary:{50:gx(e.colors.primary,.95),100:gx(e.colors.primary,.9),200:gx(e.colors.primary,.8),300:gx(e.colors.primary,.7),400:gx(e.colors.primary,.6),500:e.colors.primary,600:gx(e.colors.primary,.8),700:gx(e.colors.primary,.7),800:gx(e.colors.primary,.6),900:gx(e.colors.primary,.5),950:gx(e.colors.primary,.45)}}),{...t,palette:n}}}}function mx(){return{name:`@persona/reduced-motion`,version:`1.0.0`,transform(e){return{...e,palette:{...e.palette,transitions:{fast:`0ms`,normal:`0ms`,slow:`0ms`,bounce:`0ms`}}}},afterResolve(e){return{...e,"--persona-transition-fast":`0ms`,"--persona-transition-normal":`0ms`,"--persona-transition-slow":`0ms`}}}}function hx(){return{name:`@persona/high-contrast`,version:`1.0.0`,transform(e){return{...e,semantic:{...e.semantic,colors:{...e.semantic.colors,text:`palette.colors.gray.950`,textMuted:`palette.colors.gray.700`,border:`palette.colors.gray.900`,divider:`palette.colors.gray.900`}}}}}}function gx(e,t){let n=parseInt(e.slice(1,3),16),r=parseInt(e.slice(3,5),16),i=parseInt(e.slice(5,7),16),a=Math.round(n+(255-n)*(1-t)),o=Math.round(r+(255-r)*(1-t)),s=Math.round(i+(255-i)*(1-t));return`#${a.toString(16).padStart(2,`0`)}${o.toString(16).padStart(2,`0`)}${s.toString(16).padStart(2,`0`)}`}function _x(e){return{name:e.name,version:e.version,transform:e.transform||(e=>e),cssVariables:e.cssVariables,afterResolve:e.afterResolve}}Na();function vx(e){return e?.cdnBase?.trim().replace(/\/+$/,``).replace(/[\\'"<>`]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase().padStart(2,`0`)}`)||`https://cdn.jsdelivr.net/npm/@runtypelabs/persona@${Ma}/dist`}function yx(e){if(e!==void 0)return typeof e==`string`?e:Array.isArray(e)?`[${e.map(e=>e.toString()).join(`, `)}]`:e.toString()}function bx(e){if(e)return{getHeaders:yx(e.getHeaders),onFeedback:yx(e.onFeedback),onCopy:yx(e.onCopy),requestMiddleware:yx(e.requestMiddleware),actionHandlers:yx(e.actionHandlers),actionParsers:yx(e.actionParsers),postprocessMessage:yx(e.postprocessMessage),contextProviders:yx(e.contextProviders),streamParser:yx(e.streamParser)}}const xx=`({ text, message }: any) => {
142
142
  const jsonSource = (message as any).rawContent || text || message.content;
143
143
  if (!jsonSource || typeof jsonSource !== 'string') return null;
144
144
  let cleanJson = jsonSource
@@ -151,7 +151,7 @@ import{Marked as e,Marked as t}from"marked";import n,{default as r}from"dompurif
151
151
  if (parsed.action) return { type: parsed.action, payload: parsed };
152
152
  } catch (e) { return null; }
153
153
  return null;
154
- }`,xx=`function(ctx) {
154
+ }`,Sx=`function(ctx) {
155
155
  var jsonSource = ctx.message.rawContent || ctx.text || ctx.message.content;
156
156
  if (!jsonSource || typeof jsonSource !== 'string') return null;
157
157
  var cleanJson = jsonSource
@@ -164,7 +164,7 @@ import{Marked as e,Marked as t}from"marked";import n,{default as r}from"dompurif
164
164
  if (parsed.action) return { type: parsed.action, payload: parsed };
165
165
  } catch (e) { return null; }
166
166
  return null;
167
- }`,Sx=`(action: any, context: any) => {
167
+ }`,Cx=`(action: any, context: any) => {
168
168
  if (action.type !== 'nav_then_click') return;
169
169
  const payload = action.payload || action.raw || {};
170
170
  const url = payload?.page;
@@ -181,7 +181,7 @@ import{Marked as e,Marked as t}from"marked";import n,{default as r}from"dompurif
181
181
  const targetUrl = url.startsWith('http') ? url : new URL(url, window.location.origin).toString();
182
182
  window.location.href = targetUrl;
183
183
  return { handled: true, displayText: text };
184
- }`,Cx=`function(action, context) {
184
+ }`,wx=`function(action, context) {
185
185
  if (action.type !== 'nav_then_click') return;
186
186
  var payload = action.payload || action.raw || {};
187
187
  var url = payload.page;
@@ -198,28 +198,28 @@ import{Marked as e,Marked as t}from"marked";import n,{default as r}from"dompurif
198
198
  var targetUrl = url.startsWith('http') ? url : new URL(url, window.location.origin).toString();
199
199
  window.location.href = targetUrl;
200
200
  return { handled: true, displayText: text };
201
- }`;function wx(e){if(!e)return null;let t=e.toString();return t.includes(`createJsonStreamParser`)||t.includes(`partial-json`)?`json`:t.includes(`createRegexJsonParser`)||t.includes(`regex`)?`regex-json`:t.includes(`createXmlParser`)||t.includes(`<text>`)?`xml`:null}function Tx(e){return e.parserType??wx(e.streamParser)??`plain`}function Ex(e,t){let n=[];return e.toolCall&&(n.push(`${t}toolCall: {`),Object.entries(e.toolCall).forEach(([e,r])=>{typeof r==`string`&&n.push(`${t} ${e}: "${r}",`)}),n.push(`${t}},`)),n}function Dx(e,t,n){let r=[],i=e.messageActions&&Object.entries(e.messageActions).some(([e,t])=>e!==`onFeedback`&&e!==`onCopy`&&t!==void 0),a=n?.onFeedback||n?.onCopy;return(i||a)&&(r.push(`${t}messageActions: {`),e.messageActions&&Object.entries(e.messageActions).forEach(([e,n])=>{e!==`onFeedback`&&e!==`onCopy`&&(typeof n==`string`?r.push(`${t} ${e}: "${n}",`):typeof n==`boolean`&&r.push(`${t} ${e}: ${n},`))}),n?.onFeedback&&r.push(`${t} onFeedback: ${n.onFeedback},`),n?.onCopy&&r.push(`${t} onCopy: ${n.onCopy},`),r.push(`${t}},`)),r}function Ox(e,t){let n=[];if(e.markdown){let r=e.markdown.options&&Object.keys(e.markdown.options).length>0,i=e.markdown.disableDefaultStyles!==void 0;(r||i)&&(n.push(`${t}markdown: {`),r&&(n.push(`${t} options: {`),Object.entries(e.markdown.options).forEach(([e,r])=>{typeof r==`string`?n.push(`${t} ${e}: "${r}",`):typeof r==`boolean`&&n.push(`${t} ${e}: ${r},`)}),n.push(`${t} },`)),i&&n.push(`${t} disableDefaultStyles: ${e.markdown.disableDefaultStyles},`),n.push(`${t}},`))}return n}function kx(e,t){if(!e.suggestions)return[];let n=JSON.stringify(e.suggestions,null,2).split(`
202
- `);return n.map((e,r)=>`${r===0?`${t}suggestions: `:t}${e}${r===n.length-1?`,`:``}`)}function Ax(e,t){let n=[];if(e.layout){let r=e.layout.header&&Object.keys(e.layout.header).some(e=>e!==`render`),i=e.layout.messages&&Object.keys(e.layout.messages).some(e=>e!==`renderUserMessage`&&e!==`renderAssistantMessage`);(r||i)&&(n.push(`${t}layout: {`),r&&(n.push(`${t} header: {`),Object.entries(e.layout.header).forEach(([e,r])=>{e!==`render`&&(typeof r==`string`?n.push(`${t} ${e}: "${r}",`):typeof r==`boolean`&&n.push(`${t} ${e}: ${r},`))}),n.push(`${t} },`)),i&&(n.push(`${t} messages: {`),Object.entries(e.layout.messages).forEach(([e,r])=>{e!==`renderUserMessage`&&e!==`renderAssistantMessage`&&(e===`avatar`&&typeof r==`object`&&r?(n.push(`${t} avatar: {`),Object.entries(r).forEach(([e,r])=>{typeof r==`string`?n.push(`${t} ${e}: "${r}",`):typeof r==`boolean`&&n.push(`${t} ${e}: ${r},`)}),n.push(`${t} },`)):e===`timestamp`&&typeof r==`object`&&r?Object.entries(r).some(([e])=>e!==`format`)&&(n.push(`${t} timestamp: {`),Object.entries(r).forEach(([e,r])=>{e!==`format`&&(typeof r==`string`?n.push(`${t} ${e}: "${r}",`):typeof r==`boolean`&&n.push(`${t} ${e}: ${r},`))}),n.push(`${t} },`)):typeof r==`string`?n.push(`${t} ${e}: "${r}",`):typeof r==`boolean`&&n.push(`${t} ${e}: ${r},`))}),n.push(`${t} },`)),n.push(`${t}},`))}return n}function jx(e,t){let n=[];return e&&(e.getHeaders&&n.push(`${t}getHeaders: ${e.getHeaders},`),e.requestMiddleware&&n.push(`${t}requestMiddleware: ${e.requestMiddleware},`),e.actionParsers&&n.push(`${t}actionParsers: ${e.actionParsers},`),e.actionHandlers&&n.push(`${t}actionHandlers: ${e.actionHandlers},`),e.contextProviders&&n.push(`${t}contextProviders: ${e.contextProviders},`),e.streamParser&&n.push(`${t}streamParser: ${e.streamParser},`)),n}function Mx(e,t){return JSON.stringify(e,null,t).replace(/</g,`\\u003c`).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}function Nx(e,t,n){Object.entries(t).forEach(([t,r])=>{if(r===void 0||typeof r==`function`)return;let i=/^[a-zA-Z_$][\w$]*$/.test(t)?t:Mx(t);Array.isArray(r)?e.push(`${n}${i}: ${Mx(r)},`):r&&typeof r==`object`?(e.push(`${n}${i}: {`),Nx(e,r,`${n} `),e.push(`${n}},`)):e.push(`${n}${i}: ${Mx(r)},`)})}function Px(e,t,n,r){n&&(e.push(`${r}${t}: {`),Nx(e,n,`${r} `),e.push(`${r}},`))}function Fx(e,t,n){Px(e,`copy`,t.copy,n),Px(e,`welcome`,t.welcome,n),t.approval===!1?e.push(`${n}approval: false,`):Px(e,`approval`,t.approval,n)}function Ix(e,t,n){t.future?.v5Defaults!==void 0&&e.push(`${n}future: { v5Defaults: ${t.future.v5Defaults===!0} },`),Px(e,`brand`,t.brand,n),Px(e,`darkTheme`,t.darkTheme,n),t.colorScheme!==void 0&&e.push(`${n}colorScheme: ${JSON.stringify(t.colorScheme)},`)}function Lx(e){return(e?.target??`body`).replace(/\\/g,`\\\\`).replace(/'/g,`\\'`)}function Rx(e,t=`esm`,n){if(n?.authoredOverrides)return zx(e,t,n);let r={...e};delete r.postprocessMessage,delete r.initialMessages;let i=n?{...n,hooks:yx(n.hooks)}:void 0,a;a=t===`esm`?Bx(r,i):t===`script-installer`?Wx(r,i):t===`script-advanced`?Kx(r,i):t===`react-component`?Vx(r,i):t===`react-advanced`?Hx(r,i):Gx(r,i);let o=[[`welcome.icon`,e.welcome?.icon],[`approval.formatDescription`,e.approval?.formatDescription],[`approval.onDecision`,e.approval?.onDecision]].filter(([,e])=>typeof e==`function`).map(([e])=>e);if(o.length===0)return a;let s=`Function-valued ${o.join(`, `)} omitted; reattach in host JavaScript.`;return t.startsWith(`script-`)?`<!-- ${s} -->\n${a}`:`// ${s}\n${a}`}function zx(e,t,n){let r=[],i=Symbol(`omit`),a=/* @__PURE__ */ new Set([`storageAdapter`,`targetProviders`,`components`,`voiceRecognition.provider`,`voiceRecognition.provider.custom`]),o=e=>typeof e==`function`||!!e&&typeof e==`object`&&Object.values(e).some(o),s=(e,t)=>{if(typeof e==`function`||typeof e==`symbol`||e===void 0)return r.push(t),i;if(!e||typeof e!=`object`)return e;if(a.has(t)&&o(e)||!Array.isArray(e)&&Object.getPrototypeOf(e)!==Object.prototype)return r.push(t),i;if(Array.isArray(e)){let n=e.map((e,n)=>s(e,`${t}.${n}`));return n.includes(i)?(r.push(t),i):n}return Object.fromEntries(Object.entries(e).flatMap(([e,n])=>{let r=s(n,t?`${t}.${e}`:e);return r===i?[]:[[e,r]]}))},c=s(e,``),l=yx(n.hooks),u=t===`script-installer`,d=Mx(c,2);if(l){let e=jx(l,` `);l.postprocessMessage&&e.push(` postprocessMessage: ${l.postprocessMessage},`);let t=[`onFeedback`,`onCopy`];if(t.some(e=>l[e])){if(!u){let e={...c};delete e.messageActions,d=Mx(e,2)}e.push(` messageActions: {`),e.push(...Object.entries(c.messageActions??{}).map(([e,t])=>` ${Mx(e)}: ${Mx(t)},`));for(let n of t)l[n]&&e.push(` ${n}: ${l[n]},`);e.push(` },`)}if(u)r.push(...Object.keys(l).map(e=>`hooks.${e}`));else if(e.length){let t=d.slice(1,-1).trim();d=`{\n${t}${t?`,`:``}\n${e.join(`
203
- `)}\n}`}}t.startsWith(`script-`)&&(d=d.replace(/<\/script/gi,`<\\/script`));let f,p=Mx(n.target??`body`),m=n.windowKey?`, windowKey: ${Mx(n.windowKey)}`:``,h=_x(n);if(f=u?`<script src="${h}/install.global.js" data-config='${Mx(n.target||n.windowKey?{config:c,...n.target?{target:n.target}:{},...n.windowKey?{windowKey:n.windowKey}:{}}:c).replace(/&/g,`&amp;`).replace(/'/g,`&#39;`).replace(/"/g,`&quot;`)}'><\/script>`:t.startsWith(`script-`)?`<link rel="stylesheet" href="${h}/widget.css" />\n<script src="${h}/index.global.js"><\/script>\n<script>\nvar config = ${d};\nvar handle = window.AgentWidget.initAgentWidget({ target: ${p}${m}, config });\n<\/script>`:t.startsWith(`react-`)?`'use client';\nimport { useEffect } from 'react';\nimport '@runtypelabs/persona/widget.css';\nimport { initAgentWidget } from '@runtypelabs/persona';\n\nexport function ChatWidget() {\n useEffect(() => {\n const handle = initAgentWidget({ target: ${p}${m}, config: ${d} });\n return () => handle.destroy();\n }, []);\n return null;\n}`:`import '@runtypelabs/persona/widget.css';\nimport { initAgentWidget } from '@runtypelabs/persona';\n\ninitAgentWidget({ target: ${p}${m}, config: ${d} });`,!r.length)return f;let g=`Omitted non-serializable inputs: ${[...new Set(r)].join(`, `)}. Reattach functions/custom implementations in host JavaScript; closures cannot be reconstructed.`;return t.startsWith(`script-`)?`<!-- ${g.replace(/--/g,`—`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)} -->\n${f}`:`// ${g.replace(/[\r\n\u2028\u2029]/g,` `)}\n${f}`}function Bx(e,t){let n=t?.hooks,r=Tx(e),i=r!==`plain`,a=[`import '@runtypelabs/persona/widget.css';`,`import { initAgentWidget, markdownPostprocessor } from '@runtypelabs/persona';`,``,`initAgentWidget({`,` target: '${Lx(t)}',`,` config: {`];return e.apiUrl&&a.push(` apiUrl: "${e.apiUrl}",`),e.clientToken&&a.push(` clientToken: "${e.clientToken}",`),e.agentId&&a.push(` agentId: "${e.agentId}",`),e.target&&a.push(` target: "${e.target}",`),e.flowId&&a.push(` flowId: "${e.flowId}",`),i&&a.push(` parserType: "${r}",`),Ix(a,e,` `),e.theme&&typeof e.theme==`object`&&Object.keys(e.theme).length>0&&Px(a,`theme`,e.theme,` `),e.launcher&&Px(a,`launcher`,e.launcher,` `),Fx(a,e,` `),e.sendButton&&(a.push(` sendButton: {`),Object.entries(e.sendButton).forEach(([e,t])=>{typeof t==`string`?a.push(` ${e}: "${t}",`):typeof t==`boolean`&&a.push(` ${e}: ${t},`)}),a.push(` },`)),e.voiceRecognition&&(a.push(` voiceRecognition: {`),Object.entries(e.voiceRecognition).forEach(([e,t])=>{typeof t==`string`?a.push(` ${e}: "${t}",`):(typeof t==`boolean`||typeof t==`number`)&&a.push(` ${e}: ${t},`)}),a.push(` },`)),e.statusIndicator&&(a.push(` statusIndicator: {`),Object.entries(e.statusIndicator).forEach(([e,t])=>{typeof t==`string`?a.push(` ${e}: "${t}",`):typeof t==`boolean`&&a.push(` ${e}: ${t},`)}),a.push(` },`)),e.features&&(a.push(` features: {`),Object.entries(e.features).forEach(([e,t])=>{a.push(` ${e}: ${t},`)}),a.push(` },`)),a.push(...kx(e,` `)),e.suggestionChips&&e.suggestionChips.length>0&&(a.push(` suggestionChips: [`),e.suggestionChips.forEach(e=>{a.push(` "${e}",`)}),a.push(` ],`)),e.suggestionChipsConfig&&(a.push(` suggestionChipsConfig: {`),e.suggestionChipsConfig.fontFamily&&a.push(` fontFamily: "${e.suggestionChipsConfig.fontFamily}",`),e.suggestionChipsConfig.fontWeight&&a.push(` fontWeight: "${e.suggestionChipsConfig.fontWeight}",`),e.suggestionChipsConfig.paddingX&&a.push(` paddingX: "${e.suggestionChipsConfig.paddingX}",`),e.suggestionChipsConfig.paddingY&&a.push(` paddingY: "${e.suggestionChipsConfig.paddingY}",`),a.push(` },`)),a.push(...Ex(e,` `)),a.push(...Dx(e,` `,n)),a.push(...Ox(e,` `)),a.push(...Ax(e,` `)),a.push(...jx(n,` `)),e.debug&&a.push(` debug: ${e.debug},`),n?.postprocessMessage?a.push(` postprocessMessage: ${n.postprocessMessage}`):a.push(` postprocessMessage: ({ text }) => markdownPostprocessor(text)`),a.push(` }`),a.push(`});`),a.join(`
204
- `)}function Vx(e,t){let n=t?.hooks,r=Tx(e),i=r!==`plain`,a=[`// ChatWidget.tsx`,`'use client'; // Required for Next.js - remove for Vite/CRA`,``,`import { useEffect } from 'react';`,`import '@runtypelabs/persona/widget.css';`,`import { initAgentWidget, markdownPostprocessor } from '@runtypelabs/persona';`,`import type { AgentWidgetInitHandle } from '@runtypelabs/persona';`,``,`export function ChatWidget() {`,` useEffect(() => {`,` let handle: AgentWidgetInitHandle | null = null;`,``,` handle = initAgentWidget({`,` target: '${Lx(t)}',`,` config: {`];return e.apiUrl&&a.push(` apiUrl: "${e.apiUrl}",`),e.clientToken&&a.push(` clientToken: "${e.clientToken}",`),e.agentId&&a.push(` agentId: "${e.agentId}",`),e.target&&a.push(` target: "${e.target}",`),e.flowId&&a.push(` flowId: "${e.flowId}",`),i&&a.push(` parserType: "${r}",`),Ix(a,e,` `),e.theme&&typeof e.theme==`object`&&Object.keys(e.theme).length>0&&Px(a,`theme`,e.theme,` `),e.launcher&&Px(a,`launcher`,e.launcher,` `),Fx(a,e,` `),e.sendButton&&(a.push(` sendButton: {`),Object.entries(e.sendButton).forEach(([e,t])=>{typeof t==`string`?a.push(` ${e}: "${t}",`):typeof t==`boolean`&&a.push(` ${e}: ${t},`)}),a.push(` },`)),e.voiceRecognition&&(a.push(` voiceRecognition: {`),Object.entries(e.voiceRecognition).forEach(([e,t])=>{typeof t==`string`?a.push(` ${e}: "${t}",`):(typeof t==`boolean`||typeof t==`number`)&&a.push(` ${e}: ${t},`)}),a.push(` },`)),e.statusIndicator&&(a.push(` statusIndicator: {`),Object.entries(e.statusIndicator).forEach(([e,t])=>{typeof t==`string`?a.push(` ${e}: "${t}",`):typeof t==`boolean`&&a.push(` ${e}: ${t},`)}),a.push(` },`)),e.features&&(a.push(` features: {`),Object.entries(e.features).forEach(([e,t])=>{a.push(` ${e}: ${t},`)}),a.push(` },`)),a.push(...kx(e,` `)),e.suggestionChips&&e.suggestionChips.length>0&&(a.push(` suggestionChips: [`),e.suggestionChips.forEach(e=>{a.push(` "${e}",`)}),a.push(` ],`)),e.suggestionChipsConfig&&(a.push(` suggestionChipsConfig: {`),e.suggestionChipsConfig.fontFamily&&a.push(` fontFamily: "${e.suggestionChipsConfig.fontFamily}",`),e.suggestionChipsConfig.fontWeight&&a.push(` fontWeight: "${e.suggestionChipsConfig.fontWeight}",`),e.suggestionChipsConfig.paddingX&&a.push(` paddingX: "${e.suggestionChipsConfig.paddingX}",`),e.suggestionChipsConfig.paddingY&&a.push(` paddingY: "${e.suggestionChipsConfig.paddingY}",`),a.push(` },`)),a.push(...Ex(e,` `)),a.push(...Dx(e,` `,n)),a.push(...Ox(e,` `)),a.push(...Ax(e,` `)),a.push(...jx(n,` `)),e.debug&&a.push(` debug: ${e.debug},`),n?.postprocessMessage?a.push(` postprocessMessage: ${n.postprocessMessage}`):a.push(` postprocessMessage: ({ text }) => markdownPostprocessor(text)`),a.push(` }`),a.push(` });`),a.push(``),a.push(` // Cleanup on unmount`),a.push(` return () => {`),a.push(` if (handle) {`),a.push(` handle.destroy();`),a.push(` }`),a.push(` };`),a.push(` }, []);`),a.push(``),a.push(` return null; // Widget injects itself into the DOM`),a.push(`}`),a.push(``),a.push(`// Usage in your app:`),a.push(`// import { ChatWidget } from './components/ChatWidget';`),a.push(`//`),a.push(`// export default function App() {`),a.push(`// return (`),a.push(`// <div>`),a.push(`// {/* Your app content */}`),a.push(`// <ChatWidget />`),a.push(`// </div>`),a.push(`// );`),a.push(`// }`),a.join(`
205
- `)}function Hx(e,t){let n=t?.hooks,r=[`// ChatWidgetAdvanced.tsx`,`'use client'; // Required for Next.js - remove for Vite/CRA`,``,`import { useEffect } from 'react';`,`import '@runtypelabs/persona/widget.css';`,`import {`,` initAgentWidget,`,` createFlexibleJsonStreamParser,`,` defaultJsonActionParser,`,` defaultActionHandlers,`,` markdownPostprocessor`,`} from '@runtypelabs/persona';`,`import type { AgentWidgetInitHandle } from '@runtypelabs/persona';`,``,`const STORAGE_KEY = 'chat-widget-state';`,`const PROCESSED_ACTIONS_KEY = 'chat-widget-processed-actions';`,``,`// Types for DOM elements`,`interface PageElement {`,` type: string;`,` tagName: string;`,` selector: string;`,` innerText: string;`,` href?: string;`,`}`,``,`interface DOMContext {`,` page_elements: PageElement[];`,` page_element_count: number;`,` element_types: Record<string, number>;`,` page_url: string;`,` page_title: string;`,` timestamp: string;`,`}`,``,`// DOM context provider - extracts page elements for AI context`,`const collectDOMContext = (): DOMContext => {`,` const selectors = {`,` products: '[data-product-id], .product-card, .product-item, [role="article"]',`,` buttons: 'button, [role="button"], .btn',`,` links: 'a[href]',`,` inputs: 'input, textarea, select'`,` };`,``,` const elements: PageElement[] = [];`,` Object.entries(selectors).forEach(([type, selector]) => {`,` document.querySelectorAll(selector).forEach((element) => {`,` if (!(element instanceof HTMLElement)) return;`,` `,` // Exclude elements within the widget`,` const widgetHost = element.closest('.persona-host');`,` if (widgetHost) return;`,` `,` const text = element.innerText?.trim();`,` if (!text) return;`,``,` const selectorString =`," element.id ? `#${element.id}` :"," element.getAttribute('data-testid') ? `[data-testid=\"${element.getAttribute('data-testid')}\"]` :"," element.getAttribute('data-product-id') ? `[data-product-id=\"${element.getAttribute('data-product-id')}\"]` :",` element.tagName.toLowerCase();`,``,` const elementData: PageElement = {`,` type,`,` tagName: element.tagName.toLowerCase(),`,` selector: selectorString,`,` innerText: text.substring(0, 200)`,` };`,``,` if (type === 'links' && element instanceof HTMLAnchorElement && element.href) {`,` elementData.href = element.href;`,` }`,``,` elements.push(elementData);`,` });`,` });`,``,` const counts = elements.reduce((acc, el) => {`,` acc[el.type] = (acc[el.type] || 0) + 1;`,` return acc;`,` }, {} as Record<string, number>);`,``,` return {`,` page_elements: elements.slice(0, 50),`,` page_element_count: elements.length,`,` element_types: counts,`,` page_url: window.location.href,`,` page_title: document.title,`,` timestamp: new Date().toISOString()`,` };`,`};`,``,`export function ChatWidgetAdvanced() {`,` useEffect(() => {`,` let handle: AgentWidgetInitHandle | null = null;`,``,` // Load saved state`,` const loadSavedMessages = () => {`,` const savedState = localStorage.getItem(STORAGE_KEY);`,` if (savedState) {`,` try {`,` const { messages } = JSON.parse(savedState);`,` return messages || [];`,` } catch (e) {`,` console.error('Failed to load saved state:', e);`,` }`,` }`,` return [];`,` };`,``,` handle = initAgentWidget({`,` target: '${Lx(t)}',`,` config: {`];return e.apiUrl&&r.push(` apiUrl: "${e.apiUrl}",`),e.clientToken&&r.push(` clientToken: "${e.clientToken}",`),e.agentId&&r.push(` agentId: "${e.agentId}",`),e.target&&r.push(` target: "${e.target}",`),e.flowId&&r.push(` flowId: "${e.flowId}",`),Ix(r,e,` `),e.theme&&typeof e.theme==`object`&&Object.keys(e.theme).length>0&&Px(r,`theme`,e.theme,` `),e.launcher&&Px(r,`launcher`,e.launcher,` `),Fx(r,e,` `),e.sendButton&&(r.push(` sendButton: {`),Object.entries(e.sendButton).forEach(([e,t])=>{typeof t==`string`?r.push(` ${e}: "${t}",`):typeof t==`boolean`&&r.push(` ${e}: ${t},`)}),r.push(` },`)),e.voiceRecognition&&(r.push(` voiceRecognition: {`),Object.entries(e.voiceRecognition).forEach(([e,t])=>{typeof t==`string`?r.push(` ${e}: "${t}",`):(typeof t==`boolean`||typeof t==`number`)&&r.push(` ${e}: ${t},`)}),r.push(` },`)),e.statusIndicator&&(r.push(` statusIndicator: {`),Object.entries(e.statusIndicator).forEach(([e,t])=>{typeof t==`string`?r.push(` ${e}: "${t}",`):typeof t==`boolean`&&r.push(` ${e}: ${t},`)}),r.push(` },`)),e.features&&(r.push(` features: {`),Object.entries(e.features).forEach(([e,t])=>{r.push(` ${e}: ${t},`)}),r.push(` },`)),r.push(...kx(e,` `)),e.suggestionChips&&e.suggestionChips.length>0&&(r.push(` suggestionChips: [`),e.suggestionChips.forEach(e=>{r.push(` "${e}",`)}),r.push(` ],`)),e.suggestionChipsConfig&&(r.push(` suggestionChipsConfig: {`),e.suggestionChipsConfig.fontFamily&&r.push(` fontFamily: "${e.suggestionChipsConfig.fontFamily}",`),e.suggestionChipsConfig.fontWeight&&r.push(` fontWeight: "${e.suggestionChipsConfig.fontWeight}",`),e.suggestionChipsConfig.paddingX&&r.push(` paddingX: "${e.suggestionChipsConfig.paddingX}",`),e.suggestionChipsConfig.paddingY&&r.push(` paddingY: "${e.suggestionChipsConfig.paddingY}",`),r.push(` },`)),r.push(...Ex(e,` `)),r.push(...Dx(e,` `,n)),r.push(...Ox(e,` `)),r.push(...Ax(e,` `)),n?.getHeaders&&r.push(` getHeaders: ${n.getHeaders},`),n?.contextProviders&&r.push(` contextProviders: ${n.contextProviders},`),e.debug&&r.push(` debug: ${e.debug},`),r.push(` initialMessages: loadSavedMessages(),`),n?.streamParser?r.push(` streamParser: ${n.streamParser},`):(r.push(` // Flexible JSON stream parser for handling structured actions`),r.push(` streamParser: () => createFlexibleJsonStreamParser((parsed: any) => {
201
+ }`;function Tx(e){if(!e)return null;let t=e.toString();return t.includes(`createJsonStreamParser`)||t.includes(`partial-json`)?`json`:t.includes(`createRegexJsonParser`)||t.includes(`regex`)?`regex-json`:t.includes(`createXmlParser`)||t.includes(`<text>`)?`xml`:null}function Ex(e){return e.parserType??Tx(e.streamParser)??`plain`}function Dx(e,t){let n=[];return e.toolCall&&(n.push(`${t}toolCall: {`),Object.entries(e.toolCall).forEach(([e,r])=>{typeof r==`string`&&n.push(`${t} ${e}: "${r}",`)}),n.push(`${t}},`)),n}function Ox(e,t,n){let r=[],i=e.messageActions&&Object.entries(e.messageActions).some(([e,t])=>e!==`onFeedback`&&e!==`onCopy`&&t!==void 0),a=n?.onFeedback||n?.onCopy;return(i||a)&&(r.push(`${t}messageActions: {`),e.messageActions&&Object.entries(e.messageActions).forEach(([e,n])=>{e!==`onFeedback`&&e!==`onCopy`&&(typeof n==`string`?r.push(`${t} ${e}: "${n}",`):typeof n==`boolean`&&r.push(`${t} ${e}: ${n},`))}),n?.onFeedback&&r.push(`${t} onFeedback: ${n.onFeedback},`),n?.onCopy&&r.push(`${t} onCopy: ${n.onCopy},`),r.push(`${t}},`)),r}function kx(e,t){let n=[];if(e.markdown){let r=e.markdown.options&&Object.keys(e.markdown.options).length>0,i=e.markdown.disableDefaultStyles!==void 0;(r||i)&&(n.push(`${t}markdown: {`),r&&(n.push(`${t} options: {`),Object.entries(e.markdown.options).forEach(([e,r])=>{typeof r==`string`?n.push(`${t} ${e}: "${r}",`):typeof r==`boolean`&&n.push(`${t} ${e}: ${r},`)}),n.push(`${t} },`)),i&&n.push(`${t} disableDefaultStyles: ${e.markdown.disableDefaultStyles},`),n.push(`${t}},`))}return n}function Ax(e,t){if(!e.suggestions)return[];let n=JSON.stringify(e.suggestions,null,2).split(`
202
+ `);return n.map((e,r)=>`${r===0?`${t}suggestions: `:t}${e}${r===n.length-1?`,`:``}`)}function jx(e,t){let n=[];if(e.layout){let r=e.layout.header&&Object.keys(e.layout.header).some(e=>e!==`render`),i=e.layout.messages&&Object.keys(e.layout.messages).some(e=>e!==`renderUserMessage`&&e!==`renderAssistantMessage`);(r||i)&&(n.push(`${t}layout: {`),r&&(n.push(`${t} header: {`),Object.entries(e.layout.header).forEach(([e,r])=>{e!==`render`&&(typeof r==`string`?n.push(`${t} ${e}: "${r}",`):typeof r==`boolean`&&n.push(`${t} ${e}: ${r},`))}),n.push(`${t} },`)),i&&(n.push(`${t} messages: {`),Object.entries(e.layout.messages).forEach(([e,r])=>{e!==`renderUserMessage`&&e!==`renderAssistantMessage`&&(e===`avatar`&&typeof r==`object`&&r?(n.push(`${t} avatar: {`),Object.entries(r).forEach(([e,r])=>{typeof r==`string`?n.push(`${t} ${e}: "${r}",`):typeof r==`boolean`&&n.push(`${t} ${e}: ${r},`)}),n.push(`${t} },`)):e===`timestamp`&&typeof r==`object`&&r?Object.entries(r).some(([e])=>e!==`format`)&&(n.push(`${t} timestamp: {`),Object.entries(r).forEach(([e,r])=>{e!==`format`&&(typeof r==`string`?n.push(`${t} ${e}: "${r}",`):typeof r==`boolean`&&n.push(`${t} ${e}: ${r},`))}),n.push(`${t} },`)):typeof r==`string`?n.push(`${t} ${e}: "${r}",`):typeof r==`boolean`&&n.push(`${t} ${e}: ${r},`))}),n.push(`${t} },`)),n.push(`${t}},`))}return n}function Mx(e,t){let n=[];return e&&(e.getHeaders&&n.push(`${t}getHeaders: ${e.getHeaders},`),e.requestMiddleware&&n.push(`${t}requestMiddleware: ${e.requestMiddleware},`),e.actionParsers&&n.push(`${t}actionParsers: ${e.actionParsers},`),e.actionHandlers&&n.push(`${t}actionHandlers: ${e.actionHandlers},`),e.contextProviders&&n.push(`${t}contextProviders: ${e.contextProviders},`),e.streamParser&&n.push(`${t}streamParser: ${e.streamParser},`)),n}function Nx(e,t){return JSON.stringify(e,null,t).replace(/</g,`\\u003c`).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}function Px(e,t,n){Object.entries(t).forEach(([t,r])=>{if(r===void 0||typeof r==`function`)return;let i=/^[a-zA-Z_$][\w$]*$/.test(t)?t:Nx(t);Array.isArray(r)?e.push(`${n}${i}: ${Nx(r)},`):r&&typeof r==`object`?(e.push(`${n}${i}: {`),Px(e,r,`${n} `),e.push(`${n}},`)):e.push(`${n}${i}: ${Nx(r)},`)})}function Fx(e,t,n,r){n&&(e.push(`${r}${t}: {`),Px(e,n,`${r} `),e.push(`${r}},`))}function Ix(e,t,n){Fx(e,`copy`,t.copy,n),Fx(e,`welcome`,t.welcome,n),t.approval===!1?e.push(`${n}approval: false,`):Fx(e,`approval`,t.approval,n)}function Lx(e,t,n){t.future?.v5Defaults!==void 0&&e.push(`${n}future: { v5Defaults: ${t.future.v5Defaults===!0} },`),Fx(e,`brand`,t.brand,n),Fx(e,`darkTheme`,t.darkTheme,n),t.colorScheme!==void 0&&e.push(`${n}colorScheme: ${JSON.stringify(t.colorScheme)},`)}function Rx(e){return(e?.target??`body`).replace(/\\/g,`\\\\`).replace(/'/g,`\\'`)}function zx(e,t=`esm`,n){if(n?.authoredOverrides)return Bx(e,t,n);let r={...e};delete r.postprocessMessage,delete r.initialMessages;let i=n?{...n,hooks:bx(n.hooks)}:void 0,a;a=t===`esm`?Vx(r,i):t===`script-installer`?Gx(r,i):t===`script-advanced`?qx(r,i):t===`react-component`?Hx(r,i):t===`react-advanced`?Ux(r,i):Kx(r,i);let o=[[`welcome.icon`,e.welcome?.icon],[`approval.formatDescription`,e.approval?.formatDescription],[`approval.onDecision`,e.approval?.onDecision]].filter(([,e])=>typeof e==`function`).map(([e])=>e);if(o.length===0)return a;let s=`Function-valued ${o.join(`, `)} omitted; reattach in host JavaScript.`;return t.startsWith(`script-`)?`<!-- ${s} -->\n${a}`:`// ${s}\n${a}`}function Bx(e,t,n){let r=[],i=Symbol(`omit`),a=/* @__PURE__ */ new Set([`storageAdapter`,`targetProviders`,`components`,`voiceRecognition.provider`,`voiceRecognition.provider.custom`]),o=e=>typeof e==`function`||!!e&&typeof e==`object`&&Object.values(e).some(o),s=(e,t)=>{if(typeof e==`function`||typeof e==`symbol`||e===void 0)return r.push(t),i;if(!e||typeof e!=`object`)return e;if(a.has(t)&&o(e)||!Array.isArray(e)&&Object.getPrototypeOf(e)!==Object.prototype)return r.push(t),i;if(Array.isArray(e)){let n=e.map((e,n)=>s(e,`${t}.${n}`));return n.includes(i)?(r.push(t),i):n}return Object.fromEntries(Object.entries(e).flatMap(([e,n])=>{let r=s(n,t?`${t}.${e}`:e);return r===i?[]:[[e,r]]}))},c=s(e,``),l=bx(n.hooks),u=t===`script-installer`,d=Nx(c,2);if(l){let e=Mx(l,` `);l.postprocessMessage&&e.push(` postprocessMessage: ${l.postprocessMessage},`);let t=[`onFeedback`,`onCopy`];if(t.some(e=>l[e])){if(!u){let e={...c};delete e.messageActions,d=Nx(e,2)}e.push(` messageActions: {`),e.push(...Object.entries(c.messageActions??{}).map(([e,t])=>` ${Nx(e)}: ${Nx(t)},`));for(let n of t)l[n]&&e.push(` ${n}: ${l[n]},`);e.push(` },`)}if(u)r.push(...Object.keys(l).map(e=>`hooks.${e}`));else if(e.length){let t=d.slice(1,-1).trim();d=`{\n${t}${t?`,`:``}\n${e.join(`
203
+ `)}\n}`}}t.startsWith(`script-`)&&(d=d.replace(/<\/script/gi,`<\\/script`));let f,p=Nx(n.target??`body`),m=n.windowKey?`, windowKey: ${Nx(n.windowKey)}`:``,h=vx(n);if(f=u?`<script src="${h}/install.global.js" data-config='${Nx(n.target||n.windowKey?{config:c,...n.target?{target:n.target}:{},...n.windowKey?{windowKey:n.windowKey}:{}}:c).replace(/&/g,`&amp;`).replace(/'/g,`&#39;`).replace(/"/g,`&quot;`)}'><\/script>`:t.startsWith(`script-`)?`<link rel="stylesheet" href="${h}/widget.css" />\n<script src="${h}/index.global.js"><\/script>\n<script>\nvar config = ${d};\nvar handle = window.AgentWidget.initAgentWidget({ target: ${p}${m}, config });\n<\/script>`:t.startsWith(`react-`)?`'use client';\nimport { useEffect } from 'react';\nimport '@runtypelabs/persona/widget.css';\nimport { initAgentWidget } from '@runtypelabs/persona';\n\nexport function ChatWidget() {\n useEffect(() => {\n const handle = initAgentWidget({ target: ${p}${m}, config: ${d} });\n return () => handle.destroy();\n }, []);\n return null;\n}`:`import '@runtypelabs/persona/widget.css';\nimport { initAgentWidget } from '@runtypelabs/persona';\n\ninitAgentWidget({ target: ${p}${m}, config: ${d} });`,!r.length)return f;let g=`Omitted non-serializable inputs: ${[...new Set(r)].join(`, `)}. Reattach functions/custom implementations in host JavaScript; closures cannot be reconstructed.`;return t.startsWith(`script-`)?`<!-- ${g.replace(/--/g,`—`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)} -->\n${f}`:`// ${g.replace(/[\r\n\u2028\u2029]/g,` `)}\n${f}`}function Vx(e,t){let n=t?.hooks,r=Ex(e),i=r!==`plain`,a=[`import '@runtypelabs/persona/widget.css';`,`import { initAgentWidget, markdownPostprocessor } from '@runtypelabs/persona';`,``,`initAgentWidget({`,` target: '${Rx(t)}',`,` config: {`];return e.apiUrl&&a.push(` apiUrl: "${e.apiUrl}",`),e.clientToken&&a.push(` clientToken: "${e.clientToken}",`),e.agentId&&a.push(` agentId: "${e.agentId}",`),e.target&&a.push(` target: "${e.target}",`),e.flowId&&a.push(` flowId: "${e.flowId}",`),i&&a.push(` parserType: "${r}",`),Lx(a,e,` `),e.theme&&typeof e.theme==`object`&&Object.keys(e.theme).length>0&&Fx(a,`theme`,e.theme,` `),e.launcher&&Fx(a,`launcher`,e.launcher,` `),Ix(a,e,` `),e.sendButton&&(a.push(` sendButton: {`),Object.entries(e.sendButton).forEach(([e,t])=>{typeof t==`string`?a.push(` ${e}: "${t}",`):typeof t==`boolean`&&a.push(` ${e}: ${t},`)}),a.push(` },`)),e.voiceRecognition&&(a.push(` voiceRecognition: {`),Object.entries(e.voiceRecognition).forEach(([e,t])=>{typeof t==`string`?a.push(` ${e}: "${t}",`):(typeof t==`boolean`||typeof t==`number`)&&a.push(` ${e}: ${t},`)}),a.push(` },`)),e.statusIndicator&&(a.push(` statusIndicator: {`),Object.entries(e.statusIndicator).forEach(([e,t])=>{typeof t==`string`?a.push(` ${e}: "${t}",`):typeof t==`boolean`&&a.push(` ${e}: ${t},`)}),a.push(` },`)),e.features&&(a.push(` features: {`),Object.entries(e.features).forEach(([e,t])=>{a.push(` ${e}: ${t},`)}),a.push(` },`)),a.push(...Ax(e,` `)),e.suggestionChips&&e.suggestionChips.length>0&&(a.push(` suggestionChips: [`),e.suggestionChips.forEach(e=>{a.push(` "${e}",`)}),a.push(` ],`)),e.suggestionChipsConfig&&(a.push(` suggestionChipsConfig: {`),e.suggestionChipsConfig.fontFamily&&a.push(` fontFamily: "${e.suggestionChipsConfig.fontFamily}",`),e.suggestionChipsConfig.fontWeight&&a.push(` fontWeight: "${e.suggestionChipsConfig.fontWeight}",`),e.suggestionChipsConfig.paddingX&&a.push(` paddingX: "${e.suggestionChipsConfig.paddingX}",`),e.suggestionChipsConfig.paddingY&&a.push(` paddingY: "${e.suggestionChipsConfig.paddingY}",`),a.push(` },`)),a.push(...Dx(e,` `)),a.push(...Ox(e,` `,n)),a.push(...kx(e,` `)),a.push(...jx(e,` `)),a.push(...Mx(n,` `)),e.debug&&a.push(` debug: ${e.debug},`),n?.postprocessMessage?a.push(` postprocessMessage: ${n.postprocessMessage}`):a.push(` postprocessMessage: ({ text }) => markdownPostprocessor(text)`),a.push(` }`),a.push(`});`),a.join(`
204
+ `)}function Hx(e,t){let n=t?.hooks,r=Ex(e),i=r!==`plain`,a=[`// ChatWidget.tsx`,`'use client'; // Required for Next.js - remove for Vite/CRA`,``,`import { useEffect } from 'react';`,`import '@runtypelabs/persona/widget.css';`,`import { initAgentWidget, markdownPostprocessor } from '@runtypelabs/persona';`,`import type { AgentWidgetInitHandle } from '@runtypelabs/persona';`,``,`export function ChatWidget() {`,` useEffect(() => {`,` let handle: AgentWidgetInitHandle | null = null;`,``,` handle = initAgentWidget({`,` target: '${Rx(t)}',`,` config: {`];return e.apiUrl&&a.push(` apiUrl: "${e.apiUrl}",`),e.clientToken&&a.push(` clientToken: "${e.clientToken}",`),e.agentId&&a.push(` agentId: "${e.agentId}",`),e.target&&a.push(` target: "${e.target}",`),e.flowId&&a.push(` flowId: "${e.flowId}",`),i&&a.push(` parserType: "${r}",`),Lx(a,e,` `),e.theme&&typeof e.theme==`object`&&Object.keys(e.theme).length>0&&Fx(a,`theme`,e.theme,` `),e.launcher&&Fx(a,`launcher`,e.launcher,` `),Ix(a,e,` `),e.sendButton&&(a.push(` sendButton: {`),Object.entries(e.sendButton).forEach(([e,t])=>{typeof t==`string`?a.push(` ${e}: "${t}",`):typeof t==`boolean`&&a.push(` ${e}: ${t},`)}),a.push(` },`)),e.voiceRecognition&&(a.push(` voiceRecognition: {`),Object.entries(e.voiceRecognition).forEach(([e,t])=>{typeof t==`string`?a.push(` ${e}: "${t}",`):(typeof t==`boolean`||typeof t==`number`)&&a.push(` ${e}: ${t},`)}),a.push(` },`)),e.statusIndicator&&(a.push(` statusIndicator: {`),Object.entries(e.statusIndicator).forEach(([e,t])=>{typeof t==`string`?a.push(` ${e}: "${t}",`):typeof t==`boolean`&&a.push(` ${e}: ${t},`)}),a.push(` },`)),e.features&&(a.push(` features: {`),Object.entries(e.features).forEach(([e,t])=>{a.push(` ${e}: ${t},`)}),a.push(` },`)),a.push(...Ax(e,` `)),e.suggestionChips&&e.suggestionChips.length>0&&(a.push(` suggestionChips: [`),e.suggestionChips.forEach(e=>{a.push(` "${e}",`)}),a.push(` ],`)),e.suggestionChipsConfig&&(a.push(` suggestionChipsConfig: {`),e.suggestionChipsConfig.fontFamily&&a.push(` fontFamily: "${e.suggestionChipsConfig.fontFamily}",`),e.suggestionChipsConfig.fontWeight&&a.push(` fontWeight: "${e.suggestionChipsConfig.fontWeight}",`),e.suggestionChipsConfig.paddingX&&a.push(` paddingX: "${e.suggestionChipsConfig.paddingX}",`),e.suggestionChipsConfig.paddingY&&a.push(` paddingY: "${e.suggestionChipsConfig.paddingY}",`),a.push(` },`)),a.push(...Dx(e,` `)),a.push(...Ox(e,` `,n)),a.push(...kx(e,` `)),a.push(...jx(e,` `)),a.push(...Mx(n,` `)),e.debug&&a.push(` debug: ${e.debug},`),n?.postprocessMessage?a.push(` postprocessMessage: ${n.postprocessMessage}`):a.push(` postprocessMessage: ({ text }) => markdownPostprocessor(text)`),a.push(` }`),a.push(` });`),a.push(``),a.push(` // Cleanup on unmount`),a.push(` return () => {`),a.push(` if (handle) {`),a.push(` handle.destroy();`),a.push(` }`),a.push(` };`),a.push(` }, []);`),a.push(``),a.push(` return null; // Widget injects itself into the DOM`),a.push(`}`),a.push(``),a.push(`// Usage in your app:`),a.push(`// import { ChatWidget } from './components/ChatWidget';`),a.push(`//`),a.push(`// export default function App() {`),a.push(`// return (`),a.push(`// <div>`),a.push(`// {/* Your app content */}`),a.push(`// <ChatWidget />`),a.push(`// </div>`),a.push(`// );`),a.push(`// }`),a.join(`
205
+ `)}function Ux(e,t){let n=t?.hooks,r=[`// ChatWidgetAdvanced.tsx`,`'use client'; // Required for Next.js - remove for Vite/CRA`,``,`import { useEffect } from 'react';`,`import '@runtypelabs/persona/widget.css';`,`import {`,` initAgentWidget,`,` createFlexibleJsonStreamParser,`,` defaultJsonActionParser,`,` defaultActionHandlers,`,` markdownPostprocessor`,`} from '@runtypelabs/persona';`,`import type { AgentWidgetInitHandle } from '@runtypelabs/persona';`,``,`const STORAGE_KEY = 'chat-widget-state';`,`const PROCESSED_ACTIONS_KEY = 'chat-widget-processed-actions';`,``,`// Types for DOM elements`,`interface PageElement {`,` type: string;`,` tagName: string;`,` selector: string;`,` innerText: string;`,` href?: string;`,`}`,``,`interface DOMContext {`,` page_elements: PageElement[];`,` page_element_count: number;`,` element_types: Record<string, number>;`,` page_url: string;`,` page_title: string;`,` timestamp: string;`,`}`,``,`// DOM context provider - extracts page elements for AI context`,`const collectDOMContext = (): DOMContext => {`,` const selectors = {`,` products: '[data-product-id], .product-card, .product-item, [role="article"]',`,` buttons: 'button, [role="button"], .btn',`,` links: 'a[href]',`,` inputs: 'input, textarea, select'`,` };`,``,` const elements: PageElement[] = [];`,` Object.entries(selectors).forEach(([type, selector]) => {`,` document.querySelectorAll(selector).forEach((element) => {`,` if (!(element instanceof HTMLElement)) return;`,` `,` // Exclude elements within the widget`,` const widgetHost = element.closest('.persona-host');`,` if (widgetHost) return;`,` `,` const text = element.innerText?.trim();`,` if (!text) return;`,``,` const selectorString =`," element.id ? `#${element.id}` :"," element.getAttribute('data-testid') ? `[data-testid=\"${element.getAttribute('data-testid')}\"]` :"," element.getAttribute('data-product-id') ? `[data-product-id=\"${element.getAttribute('data-product-id')}\"]` :",` element.tagName.toLowerCase();`,``,` const elementData: PageElement = {`,` type,`,` tagName: element.tagName.toLowerCase(),`,` selector: selectorString,`,` innerText: text.substring(0, 200)`,` };`,``,` if (type === 'links' && element instanceof HTMLAnchorElement && element.href) {`,` elementData.href = element.href;`,` }`,``,` elements.push(elementData);`,` });`,` });`,``,` const counts = elements.reduce((acc, el) => {`,` acc[el.type] = (acc[el.type] || 0) + 1;`,` return acc;`,` }, {} as Record<string, number>);`,``,` return {`,` page_elements: elements.slice(0, 50),`,` page_element_count: elements.length,`,` element_types: counts,`,` page_url: window.location.href,`,` page_title: document.title,`,` timestamp: new Date().toISOString()`,` };`,`};`,``,`export function ChatWidgetAdvanced() {`,` useEffect(() => {`,` let handle: AgentWidgetInitHandle | null = null;`,``,` // Load saved state`,` const loadSavedMessages = () => {`,` const savedState = localStorage.getItem(STORAGE_KEY);`,` if (savedState) {`,` try {`,` const { messages } = JSON.parse(savedState);`,` return messages || [];`,` } catch (e) {`,` console.error('Failed to load saved state:', e);`,` }`,` }`,` return [];`,` };`,``,` handle = initAgentWidget({`,` target: '${Rx(t)}',`,` config: {`];return e.apiUrl&&r.push(` apiUrl: "${e.apiUrl}",`),e.clientToken&&r.push(` clientToken: "${e.clientToken}",`),e.agentId&&r.push(` agentId: "${e.agentId}",`),e.target&&r.push(` target: "${e.target}",`),e.flowId&&r.push(` flowId: "${e.flowId}",`),Lx(r,e,` `),e.theme&&typeof e.theme==`object`&&Object.keys(e.theme).length>0&&Fx(r,`theme`,e.theme,` `),e.launcher&&Fx(r,`launcher`,e.launcher,` `),Ix(r,e,` `),e.sendButton&&(r.push(` sendButton: {`),Object.entries(e.sendButton).forEach(([e,t])=>{typeof t==`string`?r.push(` ${e}: "${t}",`):typeof t==`boolean`&&r.push(` ${e}: ${t},`)}),r.push(` },`)),e.voiceRecognition&&(r.push(` voiceRecognition: {`),Object.entries(e.voiceRecognition).forEach(([e,t])=>{typeof t==`string`?r.push(` ${e}: "${t}",`):(typeof t==`boolean`||typeof t==`number`)&&r.push(` ${e}: ${t},`)}),r.push(` },`)),e.statusIndicator&&(r.push(` statusIndicator: {`),Object.entries(e.statusIndicator).forEach(([e,t])=>{typeof t==`string`?r.push(` ${e}: "${t}",`):typeof t==`boolean`&&r.push(` ${e}: ${t},`)}),r.push(` },`)),e.features&&(r.push(` features: {`),Object.entries(e.features).forEach(([e,t])=>{r.push(` ${e}: ${t},`)}),r.push(` },`)),r.push(...Ax(e,` `)),e.suggestionChips&&e.suggestionChips.length>0&&(r.push(` suggestionChips: [`),e.suggestionChips.forEach(e=>{r.push(` "${e}",`)}),r.push(` ],`)),e.suggestionChipsConfig&&(r.push(` suggestionChipsConfig: {`),e.suggestionChipsConfig.fontFamily&&r.push(` fontFamily: "${e.suggestionChipsConfig.fontFamily}",`),e.suggestionChipsConfig.fontWeight&&r.push(` fontWeight: "${e.suggestionChipsConfig.fontWeight}",`),e.suggestionChipsConfig.paddingX&&r.push(` paddingX: "${e.suggestionChipsConfig.paddingX}",`),e.suggestionChipsConfig.paddingY&&r.push(` paddingY: "${e.suggestionChipsConfig.paddingY}",`),r.push(` },`)),r.push(...Dx(e,` `)),r.push(...Ox(e,` `,n)),r.push(...kx(e,` `)),r.push(...jx(e,` `)),n?.getHeaders&&r.push(` getHeaders: ${n.getHeaders},`),n?.contextProviders&&r.push(` contextProviders: ${n.contextProviders},`),e.debug&&r.push(` debug: ${e.debug},`),r.push(` initialMessages: loadSavedMessages(),`),n?.streamParser?r.push(` streamParser: ${n.streamParser},`):(r.push(` // Flexible JSON stream parser for handling structured actions`),r.push(` streamParser: () => createFlexibleJsonStreamParser((parsed: any) => {
206
206
  if (!parsed || typeof parsed !== 'object') return null;
207
207
  if (parsed.action === 'nav_then_click') return 'Navigating...';
208
208
  if (parsed.action === 'message') return parsed.text || '';
209
209
  if (parsed.action === 'message_and_click') return parsed.text || 'Processing...';
210
210
  return parsed.text || null;
211
- }),`)),n?.actionParsers?(r.push(` // Action parsers (custom merged with defaults)`),r.push(` actionParsers: [...(${n.actionParsers}), defaultJsonActionParser,`),r.push(` // Built-in parser for markdown-wrapped JSON`),r.push(` ${bx}`),r.push(` ],`)):(r.push(` // Action parsers to detect JSON actions in responses`),r.push(` actionParsers: [`),r.push(` defaultJsonActionParser,`),r.push(` // Parser for markdown-wrapped JSON`),r.push(` ${bx}`),r.push(` ],`)),n?.actionHandlers?(r.push(` // Action handlers (custom merged with defaults)`),r.push(` actionHandlers: [...(${n.actionHandlers}),`),r.push(` defaultActionHandlers.message,`),r.push(` defaultActionHandlers.messageAndClick,`),r.push(` // Built-in handler for nav_then_click action`),r.push(` ${Sx}`),r.push(` ],`)):(r.push(` // Action handlers for navigation and other actions`),r.push(` actionHandlers: [`),r.push(` defaultActionHandlers.message,`),r.push(` defaultActionHandlers.messageAndClick,`),r.push(` // Handler for nav_then_click action`),r.push(` ${Sx}`),r.push(` ],`)),n?.postprocessMessage?r.push(` postprocessMessage: ${n.postprocessMessage},`):r.push(` postprocessMessage: ({ text }) => markdownPostprocessor(text),`),n?.requestMiddleware?(r.push(` // Request middleware (custom merged with DOM context)`),r.push(` requestMiddleware: ({ payload, config }) => {`),r.push(` const customResult = (${n.requestMiddleware})({ payload, config });`),r.push(` const merged = customResult || payload;`),r.push(` return {`),r.push(` ...merged,`),r.push(` metadata: { ...merged.metadata, ...collectDOMContext() }`),r.push(` };`),r.push(` }`)):(r.push(` requestMiddleware: ({ payload }) => {`),r.push(` return {`),r.push(` ...payload,`),r.push(` metadata: collectDOMContext()`),r.push(` };`),r.push(` }`)),r.push(` }`),r.push(` });`),r.push(``),r.push(` // Save state on message events`),r.push(` const handleMessage = () => {`),r.push(` const session = handle?.getSession?.();`),r.push(` if (session) {`),r.push(` localStorage.setItem(STORAGE_KEY, JSON.stringify({`),r.push(` messages: session.messages,`),r.push(` timestamp: new Date().toISOString()`),r.push(` }));`),r.push(` }`),r.push(` };`),r.push(``),r.push(` // Clear state on clear chat`),r.push(` const handleClearChat = () => {`),r.push(` localStorage.removeItem(STORAGE_KEY);`),r.push(` localStorage.removeItem(PROCESSED_ACTIONS_KEY);`),r.push(` };`),r.push(``),r.push(` window.addEventListener('persona:message', handleMessage);`),r.push(` window.addEventListener('persona:clear-chat', handleClearChat);`),r.push(``),r.push(` // Cleanup on unmount`),r.push(` return () => {`),r.push(` window.removeEventListener('persona:message', handleMessage);`),r.push(` window.removeEventListener('persona:clear-chat', handleClearChat);`),r.push(` if (handle) {`),r.push(` handle.destroy();`),r.push(` }`),r.push(` };`),r.push(` }, []);`),r.push(``),r.push(` return null; // Widget injects itself into the DOM`),r.push(`}`),r.push(``),r.push(`// Usage: Collects DOM context for AI-powered navigation`),r.push(`// Features:`),r.push(`// - Extracts page elements (products, buttons, links)`),r.push(`// - Persists chat history across page loads`),r.push(`// - Handles navigation actions (nav_then_click)`),r.push(`// - Processes structured JSON actions from AI`),r.push(`//`),r.push(`// Example usage in Next.js:`),r.push(`// import { ChatWidgetAdvanced } from './components/ChatWidgetAdvanced';`),r.push(`//`),r.push(`// export default function RootLayout({ children }) {`),r.push(`// return (`),r.push(`// <html lang="en">`),r.push(`// <body>`),r.push(`// {children}`),r.push(`// <ChatWidgetAdvanced />`),r.push(`// </body>`),r.push(`// </html>`),r.push(`// );`),r.push(`// }`),r.join(`
212
- `)}function Ux(e){let t=Tx(e),n=t!==`plain`,r={};if(e.apiUrl&&(r.apiUrl=e.apiUrl),e.clientToken&&(r.clientToken=e.clientToken),e.agentId&&(r.agentId=e.agentId),e.target&&(r.target=e.target),e.flowId&&(r.flowId=e.flowId),n&&(r.parserType=t),e.future?.v5Defaults!==void 0&&(r.future={v5Defaults:e.future.v5Defaults===!0}),e.theme&&(r.theme=e.theme),e.brand&&(r.brand=e.brand),e.darkTheme&&(r.darkTheme=e.darkTheme),e.colorScheme!==void 0&&(r.colorScheme=e.colorScheme),e.launcher&&(r.launcher=e.launcher),e.copy&&(r.copy=e.copy),e.welcome!==void 0&&(r.welcome=e.welcome),e.approval!==void 0&&(r.approval=e.approval),e.sendButton&&(r.sendButton=e.sendButton),e.voiceRecognition&&(r.voiceRecognition=e.voiceRecognition),e.statusIndicator&&(r.statusIndicator=e.statusIndicator),e.features&&(r.features=e.features),e.suggestions&&(r.suggestions=e.suggestions),e.suggestionChips?.length>0&&(r.suggestionChips=e.suggestionChips),e.suggestionChipsConfig&&(r.suggestionChipsConfig=e.suggestionChipsConfig),e.debug&&(r.debug=e.debug),e.toolCall){let t={};Object.entries(e.toolCall).forEach(([e,n])=>{typeof n==`string`&&(t[e]=n)}),Object.keys(t).length>0&&(r.toolCall=t)}if(e.messageActions){let t={};Object.entries(e.messageActions).forEach(([e,n])=>{e!==`onFeedback`&&e!==`onCopy`&&n!==void 0&&(typeof n==`string`||typeof n==`boolean`)&&(t[e]=n)}),Object.keys(t).length>0&&(r.messageActions=t)}if(e.markdown){let t={};e.markdown.options&&(t.options=e.markdown.options),e.markdown.disableDefaultStyles!==void 0&&(t.disableDefaultStyles=e.markdown.disableDefaultStyles),Object.keys(t).length>0&&(r.markdown=t)}if(e.layout){let t={};if(e.layout.header){let n={};Object.entries(e.layout.header).forEach(([e,t])=>{e!==`render`&&(typeof t==`string`||typeof t==`boolean`)&&(n[e]=t)}),Object.keys(n).length>0&&(t.header=n)}if(e.layout.messages){let n={};Object.entries(e.layout.messages).forEach(([e,t])=>{if(e!==`renderUserMessage`&&e!==`renderAssistantMessage`){if(e===`avatar`&&typeof t==`object`&&t)n.avatar=t;else if(e===`timestamp`&&typeof t==`object`&&t){let e={};Object.entries(t).forEach(([t,n])=>{t!==`format`&&(typeof n==`string`||typeof n==`boolean`)&&(e[t]=n)}),Object.keys(e).length>0&&(n.timestamp=e)}else(typeof t==`string`||typeof t==`boolean`)&&(n[e]=t)}}),Object.keys(n).length>0&&(t.messages=n)}Object.keys(t).length>0&&(r.layout=t)}return r}function Wx(e,t){let n=Ux(e),r=t?.windowKey||t?.target?{config:n,...t?.windowKey?{windowKey:t.windowKey}:{},...t?.target?{target:t.target}:{}}:n,i=JSON.stringify(r).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/'/g,`&#39;`);return`<script src="${_x(t)}/install.global.js" data-config='${i}'><\/script>`}function Gx(e,t){let n=t?.hooks,r=Tx(e),i=r!==`plain`,a=_x(t),o=[`<!-- Load CSS -->`,`<link rel="stylesheet" href="${a}/widget.css" />`,``,`<!-- Load JavaScript -->`,`<script src="${a}/index.global.js"><\/script>`,``,`<!-- Initialize widget -->`,`<script>`,` var handle = window.AgentWidget.initAgentWidget({`,` target: '${Lx(t)}',`,...t?.windowKey?[` windowKey: '${t.windowKey}',`]:[],` config: {`];return e.apiUrl&&o.push(` apiUrl: "${e.apiUrl}",`),e.clientToken&&o.push(` clientToken: "${e.clientToken}",`),e.agentId&&o.push(` agentId: "${e.agentId}",`),e.target&&o.push(` target: "${e.target}",`),e.flowId&&o.push(` flowId: "${e.flowId}",`),i&&o.push(` parserType: "${r}",`),Ix(o,e,` `),e.theme&&typeof e.theme==`object`&&Object.keys(e.theme).length>0&&Px(o,`theme`,e.theme,` `),e.launcher&&Px(o,`launcher`,e.launcher,` `),Fx(o,e,` `),e.sendButton&&(o.push(` sendButton: {`),Object.entries(e.sendButton).forEach(([e,t])=>{typeof t==`string`?o.push(` ${e}: "${t}",`):typeof t==`boolean`&&o.push(` ${e}: ${t},`)}),o.push(` },`)),e.voiceRecognition&&(o.push(` voiceRecognition: {`),Object.entries(e.voiceRecognition).forEach(([e,t])=>{typeof t==`string`?o.push(` ${e}: "${t}",`):(typeof t==`boolean`||typeof t==`number`)&&o.push(` ${e}: ${t},`)}),o.push(` },`)),e.statusIndicator&&(o.push(` statusIndicator: {`),Object.entries(e.statusIndicator).forEach(([e,t])=>{typeof t==`string`?o.push(` ${e}: "${t}",`):typeof t==`boolean`&&o.push(` ${e}: ${t},`)}),o.push(` },`)),e.features&&(o.push(` features: {`),Object.entries(e.features).forEach(([e,t])=>{o.push(` ${e}: ${t},`)}),o.push(` },`)),o.push(...kx(e,` `)),e.suggestionChips&&e.suggestionChips.length>0&&(o.push(` suggestionChips: [`),e.suggestionChips.forEach(e=>{o.push(` "${e}",`)}),o.push(` ],`)),e.suggestionChipsConfig&&(o.push(` suggestionChipsConfig: {`),e.suggestionChipsConfig.fontFamily&&o.push(` fontFamily: "${e.suggestionChipsConfig.fontFamily}",`),e.suggestionChipsConfig.fontWeight&&o.push(` fontWeight: "${e.suggestionChipsConfig.fontWeight}",`),e.suggestionChipsConfig.paddingX&&o.push(` paddingX: "${e.suggestionChipsConfig.paddingX}",`),e.suggestionChipsConfig.paddingY&&o.push(` paddingY: "${e.suggestionChipsConfig.paddingY}",`),o.push(` },`)),o.push(...Ex(e,` `)),o.push(...Dx(e,` `,n)),o.push(...Ox(e,` `)),o.push(...Ax(e,` `)),o.push(...jx(n,` `)),e.debug&&o.push(` debug: ${e.debug},`),n?.postprocessMessage?o.push(` postprocessMessage: ${n.postprocessMessage}`):o.push(` postprocessMessage: ({ text }) => window.AgentWidget.markdownPostprocessor(text)`),o.push(` }`),o.push(` });`),o.push(`<\/script>`),o.join(`
213
- `)}function Kx(e,t){let n=t?.hooks,r=[`<script>`,`(function() {`,` 'use strict';`,``,` // Configuration`,` var CONFIG = ${Mx(Ux(e),2).split(`
211
+ }),`)),n?.actionParsers?(r.push(` // Action parsers (custom merged with defaults)`),r.push(` actionParsers: [...(${n.actionParsers}), defaultJsonActionParser,`),r.push(` // Built-in parser for markdown-wrapped JSON`),r.push(` ${xx}`),r.push(` ],`)):(r.push(` // Action parsers to detect JSON actions in responses`),r.push(` actionParsers: [`),r.push(` defaultJsonActionParser,`),r.push(` // Parser for markdown-wrapped JSON`),r.push(` ${xx}`),r.push(` ],`)),n?.actionHandlers?(r.push(` // Action handlers (custom merged with defaults)`),r.push(` actionHandlers: [...(${n.actionHandlers}),`),r.push(` defaultActionHandlers.message,`),r.push(` defaultActionHandlers.messageAndClick,`),r.push(` // Built-in handler for nav_then_click action`),r.push(` ${Cx}`),r.push(` ],`)):(r.push(` // Action handlers for navigation and other actions`),r.push(` actionHandlers: [`),r.push(` defaultActionHandlers.message,`),r.push(` defaultActionHandlers.messageAndClick,`),r.push(` // Handler for nav_then_click action`),r.push(` ${Cx}`),r.push(` ],`)),n?.postprocessMessage?r.push(` postprocessMessage: ${n.postprocessMessage},`):r.push(` postprocessMessage: ({ text }) => markdownPostprocessor(text),`),n?.requestMiddleware?(r.push(` // Request middleware (custom merged with DOM context)`),r.push(` requestMiddleware: ({ payload, config }) => {`),r.push(` const customResult = (${n.requestMiddleware})({ payload, config });`),r.push(` const merged = customResult || payload;`),r.push(` return {`),r.push(` ...merged,`),r.push(` metadata: { ...merged.metadata, ...collectDOMContext() }`),r.push(` };`),r.push(` }`)):(r.push(` requestMiddleware: ({ payload }) => {`),r.push(` return {`),r.push(` ...payload,`),r.push(` metadata: collectDOMContext()`),r.push(` };`),r.push(` }`)),r.push(` }`),r.push(` });`),r.push(``),r.push(` // Save state on message events`),r.push(` const handleMessage = () => {`),r.push(` const session = handle?.getSession?.();`),r.push(` if (session) {`),r.push(` localStorage.setItem(STORAGE_KEY, JSON.stringify({`),r.push(` messages: session.messages,`),r.push(` timestamp: new Date().toISOString()`),r.push(` }));`),r.push(` }`),r.push(` };`),r.push(``),r.push(` // Clear state on clear chat`),r.push(` const handleClearChat = () => {`),r.push(` localStorage.removeItem(STORAGE_KEY);`),r.push(` localStorage.removeItem(PROCESSED_ACTIONS_KEY);`),r.push(` };`),r.push(``),r.push(` window.addEventListener('persona:message', handleMessage);`),r.push(` window.addEventListener('persona:clear-chat', handleClearChat);`),r.push(``),r.push(` // Cleanup on unmount`),r.push(` return () => {`),r.push(` window.removeEventListener('persona:message', handleMessage);`),r.push(` window.removeEventListener('persona:clear-chat', handleClearChat);`),r.push(` if (handle) {`),r.push(` handle.destroy();`),r.push(` }`),r.push(` };`),r.push(` }, []);`),r.push(``),r.push(` return null; // Widget injects itself into the DOM`),r.push(`}`),r.push(``),r.push(`// Usage: Collects DOM context for AI-powered navigation`),r.push(`// Features:`),r.push(`// - Extracts page elements (products, buttons, links)`),r.push(`// - Persists chat history across page loads`),r.push(`// - Handles navigation actions (nav_then_click)`),r.push(`// - Processes structured JSON actions from AI`),r.push(`//`),r.push(`// Example usage in Next.js:`),r.push(`// import { ChatWidgetAdvanced } from './components/ChatWidgetAdvanced';`),r.push(`//`),r.push(`// export default function RootLayout({ children }) {`),r.push(`// return (`),r.push(`// <html lang="en">`),r.push(`// <body>`),r.push(`// {children}`),r.push(`// <ChatWidgetAdvanced />`),r.push(`// </body>`),r.push(`// </html>`),r.push(`// );`),r.push(`// }`),r.join(`
212
+ `)}function Wx(e){let t=Ex(e),n=t!==`plain`,r={};if(e.apiUrl&&(r.apiUrl=e.apiUrl),e.clientToken&&(r.clientToken=e.clientToken),e.agentId&&(r.agentId=e.agentId),e.target&&(r.target=e.target),e.flowId&&(r.flowId=e.flowId),n&&(r.parserType=t),e.future?.v5Defaults!==void 0&&(r.future={v5Defaults:e.future.v5Defaults===!0}),e.theme&&(r.theme=e.theme),e.brand&&(r.brand=e.brand),e.darkTheme&&(r.darkTheme=e.darkTheme),e.colorScheme!==void 0&&(r.colorScheme=e.colorScheme),e.launcher&&(r.launcher=e.launcher),e.copy&&(r.copy=e.copy),e.welcome!==void 0&&(r.welcome=e.welcome),e.approval!==void 0&&(r.approval=e.approval),e.sendButton&&(r.sendButton=e.sendButton),e.voiceRecognition&&(r.voiceRecognition=e.voiceRecognition),e.statusIndicator&&(r.statusIndicator=e.statusIndicator),e.features&&(r.features=e.features),e.suggestions&&(r.suggestions=e.suggestions),e.suggestionChips?.length>0&&(r.suggestionChips=e.suggestionChips),e.suggestionChipsConfig&&(r.suggestionChipsConfig=e.suggestionChipsConfig),e.debug&&(r.debug=e.debug),e.toolCall){let t={};Object.entries(e.toolCall).forEach(([e,n])=>{typeof n==`string`&&(t[e]=n)}),Object.keys(t).length>0&&(r.toolCall=t)}if(e.messageActions){let t={};Object.entries(e.messageActions).forEach(([e,n])=>{e!==`onFeedback`&&e!==`onCopy`&&n!==void 0&&(typeof n==`string`||typeof n==`boolean`)&&(t[e]=n)}),Object.keys(t).length>0&&(r.messageActions=t)}if(e.markdown){let t={};e.markdown.options&&(t.options=e.markdown.options),e.markdown.disableDefaultStyles!==void 0&&(t.disableDefaultStyles=e.markdown.disableDefaultStyles),Object.keys(t).length>0&&(r.markdown=t)}if(e.layout){let t={};if(e.layout.header){let n={};Object.entries(e.layout.header).forEach(([e,t])=>{e!==`render`&&(typeof t==`string`||typeof t==`boolean`)&&(n[e]=t)}),Object.keys(n).length>0&&(t.header=n)}if(e.layout.messages){let n={};Object.entries(e.layout.messages).forEach(([e,t])=>{if(e!==`renderUserMessage`&&e!==`renderAssistantMessage`){if(e===`avatar`&&typeof t==`object`&&t)n.avatar=t;else if(e===`timestamp`&&typeof t==`object`&&t){let e={};Object.entries(t).forEach(([t,n])=>{t!==`format`&&(typeof n==`string`||typeof n==`boolean`)&&(e[t]=n)}),Object.keys(e).length>0&&(n.timestamp=e)}else(typeof t==`string`||typeof t==`boolean`)&&(n[e]=t)}}),Object.keys(n).length>0&&(t.messages=n)}Object.keys(t).length>0&&(r.layout=t)}return r}function Gx(e,t){let n=Wx(e),r=t?.windowKey||t?.target?{config:n,...t?.windowKey?{windowKey:t.windowKey}:{},...t?.target?{target:t.target}:{}}:n,i=JSON.stringify(r).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/'/g,`&#39;`);return`<script src="${vx(t)}/install.global.js" data-config='${i}'><\/script>`}function Kx(e,t){let n=t?.hooks,r=Ex(e),i=r!==`plain`,a=vx(t),o=[`<!-- Load CSS -->`,`<link rel="stylesheet" href="${a}/widget.css" />`,``,`<!-- Load JavaScript -->`,`<script src="${a}/index.global.js"><\/script>`,``,`<!-- Initialize widget -->`,`<script>`,` var handle = window.AgentWidget.initAgentWidget({`,` target: '${Rx(t)}',`,...t?.windowKey?[` windowKey: '${t.windowKey}',`]:[],` config: {`];return e.apiUrl&&o.push(` apiUrl: "${e.apiUrl}",`),e.clientToken&&o.push(` clientToken: "${e.clientToken}",`),e.agentId&&o.push(` agentId: "${e.agentId}",`),e.target&&o.push(` target: "${e.target}",`),e.flowId&&o.push(` flowId: "${e.flowId}",`),i&&o.push(` parserType: "${r}",`),Lx(o,e,` `),e.theme&&typeof e.theme==`object`&&Object.keys(e.theme).length>0&&Fx(o,`theme`,e.theme,` `),e.launcher&&Fx(o,`launcher`,e.launcher,` `),Ix(o,e,` `),e.sendButton&&(o.push(` sendButton: {`),Object.entries(e.sendButton).forEach(([e,t])=>{typeof t==`string`?o.push(` ${e}: "${t}",`):typeof t==`boolean`&&o.push(` ${e}: ${t},`)}),o.push(` },`)),e.voiceRecognition&&(o.push(` voiceRecognition: {`),Object.entries(e.voiceRecognition).forEach(([e,t])=>{typeof t==`string`?o.push(` ${e}: "${t}",`):(typeof t==`boolean`||typeof t==`number`)&&o.push(` ${e}: ${t},`)}),o.push(` },`)),e.statusIndicator&&(o.push(` statusIndicator: {`),Object.entries(e.statusIndicator).forEach(([e,t])=>{typeof t==`string`?o.push(` ${e}: "${t}",`):typeof t==`boolean`&&o.push(` ${e}: ${t},`)}),o.push(` },`)),e.features&&(o.push(` features: {`),Object.entries(e.features).forEach(([e,t])=>{o.push(` ${e}: ${t},`)}),o.push(` },`)),o.push(...Ax(e,` `)),e.suggestionChips&&e.suggestionChips.length>0&&(o.push(` suggestionChips: [`),e.suggestionChips.forEach(e=>{o.push(` "${e}",`)}),o.push(` ],`)),e.suggestionChipsConfig&&(o.push(` suggestionChipsConfig: {`),e.suggestionChipsConfig.fontFamily&&o.push(` fontFamily: "${e.suggestionChipsConfig.fontFamily}",`),e.suggestionChipsConfig.fontWeight&&o.push(` fontWeight: "${e.suggestionChipsConfig.fontWeight}",`),e.suggestionChipsConfig.paddingX&&o.push(` paddingX: "${e.suggestionChipsConfig.paddingX}",`),e.suggestionChipsConfig.paddingY&&o.push(` paddingY: "${e.suggestionChipsConfig.paddingY}",`),o.push(` },`)),o.push(...Dx(e,` `)),o.push(...Ox(e,` `,n)),o.push(...kx(e,` `)),o.push(...jx(e,` `)),o.push(...Mx(n,` `)),e.debug&&o.push(` debug: ${e.debug},`),n?.postprocessMessage?o.push(` postprocessMessage: ${n.postprocessMessage}`):o.push(` postprocessMessage: ({ text }) => window.AgentWidget.markdownPostprocessor(text)`),o.push(` }`),o.push(` });`),o.push(`<\/script>`),o.join(`
213
+ `)}function qx(e,t){let n=t?.hooks,r=[`<script>`,`(function() {`,` 'use strict';`,``,` // Configuration`,` var CONFIG = ${Nx(Wx(e),2).split(`
214
214
  `).map((e,t)=>t===0?e:` `+e).join(`
215
- `)};`,``,` // Constants`,` var CDN_BASE = '${_x(t)}';`,` var STORAGE_KEY = 'chat-widget-state';`,` var PROCESSED_ACTIONS_KEY = 'chat-widget-processed-actions';`,``,` // DOM context provider - extracts page elements for AI context`,` var domContextProvider = function() {`,` var selectors = {`,` products: '[data-product-id], .product-card, .product-item, [role="article"]',`,` buttons: 'button, [role="button"], .btn',`,` links: 'a[href]',`,` inputs: 'input, textarea, select'`,` };`,``,` var elements = [];`,` Object.entries(selectors).forEach(function(entry) {`,` var type = entry[0], selector = entry[1];`,` document.querySelectorAll(selector).forEach(function(element) {`,` if (!(element instanceof HTMLElement)) return;`,` var widgetHost = element.closest('.persona-host');`,` if (widgetHost) return;`,` var text = element.innerText ? element.innerText.trim() : '';`,` if (!text) return;`,``,` var selectorString = element.id ? '#' + element.id :`,` element.getAttribute('data-testid') ? '[data-testid="' + element.getAttribute('data-testid') + '"]' :`,` element.getAttribute('data-product-id') ? '[data-product-id="' + element.getAttribute('data-product-id') + '"]' :`,` element.tagName.toLowerCase();`,``,` var elementData = {`,` type: type,`,` tagName: element.tagName.toLowerCase(),`,` selector: selectorString,`,` innerText: text.substring(0, 200)`,` };`,``,` if (type === 'links' && element instanceof HTMLAnchorElement && element.href) {`,` elementData.href = element.href;`,` }`,` elements.push(elementData);`,` });`,` });`,``,` var counts = elements.reduce(function(acc, el) {`,` acc[el.type] = (acc[el.type] || 0) + 1;`,` return acc;`,` }, {});`,``,` return {`,` page_elements: elements.slice(0, 50),`,` page_element_count: elements.length,`,` element_types: counts,`,` page_url: window.location.href,`,` page_title: document.title,`,` timestamp: new Date().toISOString()`,` };`,` };`,``,` // Load CSS dynamically`,` var loadCSS = function() {`,` if (document.querySelector('link[data-persona]')) return;`,` var link = document.createElement('link');`,` link.rel = 'stylesheet';`,` link.href = CDN_BASE + '/widget.css';`,` link.setAttribute('data-persona', 'true');`,` document.head.appendChild(link);`,` };`,``,` // Load JS dynamically`,` var loadJS = function(callback) {`,` if (window.AgentWidget) { callback(); return; }`,` var script = document.createElement('script');`,` script.src = CDN_BASE + '/index.global.js';`,` script.onload = callback;`,` script.onerror = function() { console.error('Failed to load AgentWidget'); };`,` document.head.appendChild(script);`,` };`,``,` // Create widget config with advanced features`,` var createWidgetConfig = function(agentWidget) {`,` var widgetConfig = Object.assign({}, CONFIG);`,``];return n?.getHeaders&&(r.push(` widgetConfig.getHeaders = ${n.getHeaders};`),r.push(``)),n?.contextProviders&&(r.push(` widgetConfig.contextProviders = ${n.contextProviders};`),r.push(``)),n?.streamParser?r.push(` widgetConfig.streamParser = ${n.streamParser};`):(r.push(` // Flexible JSON stream parser for handling structured actions`),r.push(` widgetConfig.streamParser = function() {`),r.push(` return agentWidget.createFlexibleJsonStreamParser(function(parsed) {
215
+ `)};`,``,` // Constants`,` var CDN_BASE = '${vx(t)}';`,` var STORAGE_KEY = 'chat-widget-state';`,` var PROCESSED_ACTIONS_KEY = 'chat-widget-processed-actions';`,``,` // DOM context provider - extracts page elements for AI context`,` var domContextProvider = function() {`,` var selectors = {`,` products: '[data-product-id], .product-card, .product-item, [role="article"]',`,` buttons: 'button, [role="button"], .btn',`,` links: 'a[href]',`,` inputs: 'input, textarea, select'`,` };`,``,` var elements = [];`,` Object.entries(selectors).forEach(function(entry) {`,` var type = entry[0], selector = entry[1];`,` document.querySelectorAll(selector).forEach(function(element) {`,` if (!(element instanceof HTMLElement)) return;`,` var widgetHost = element.closest('.persona-host');`,` if (widgetHost) return;`,` var text = element.innerText ? element.innerText.trim() : '';`,` if (!text) return;`,``,` var selectorString = element.id ? '#' + element.id :`,` element.getAttribute('data-testid') ? '[data-testid="' + element.getAttribute('data-testid') + '"]' :`,` element.getAttribute('data-product-id') ? '[data-product-id="' + element.getAttribute('data-product-id') + '"]' :`,` element.tagName.toLowerCase();`,``,` var elementData = {`,` type: type,`,` tagName: element.tagName.toLowerCase(),`,` selector: selectorString,`,` innerText: text.substring(0, 200)`,` };`,``,` if (type === 'links' && element instanceof HTMLAnchorElement && element.href) {`,` elementData.href = element.href;`,` }`,` elements.push(elementData);`,` });`,` });`,``,` var counts = elements.reduce(function(acc, el) {`,` acc[el.type] = (acc[el.type] || 0) + 1;`,` return acc;`,` }, {});`,``,` return {`,` page_elements: elements.slice(0, 50),`,` page_element_count: elements.length,`,` element_types: counts,`,` page_url: window.location.href,`,` page_title: document.title,`,` timestamp: new Date().toISOString()`,` };`,` };`,``,` // Load CSS dynamically`,` var loadCSS = function() {`,` if (document.querySelector('link[data-persona]')) return;`,` var link = document.createElement('link');`,` link.rel = 'stylesheet';`,` link.href = CDN_BASE + '/widget.css';`,` link.setAttribute('data-persona', 'true');`,` document.head.appendChild(link);`,` };`,``,` // Load JS dynamically`,` var loadJS = function(callback) {`,` if (window.AgentWidget) { callback(); return; }`,` var script = document.createElement('script');`,` script.src = CDN_BASE + '/index.global.js';`,` script.onload = callback;`,` script.onerror = function() { console.error('Failed to load AgentWidget'); };`,` document.head.appendChild(script);`,` };`,``,` // Create widget config with advanced features`,` var createWidgetConfig = function(agentWidget) {`,` var widgetConfig = Object.assign({}, CONFIG);`,``];return n?.getHeaders&&(r.push(` widgetConfig.getHeaders = ${n.getHeaders};`),r.push(``)),n?.contextProviders&&(r.push(` widgetConfig.contextProviders = ${n.contextProviders};`),r.push(``)),n?.streamParser?r.push(` widgetConfig.streamParser = ${n.streamParser};`):(r.push(` // Flexible JSON stream parser for handling structured actions`),r.push(` widgetConfig.streamParser = function() {`),r.push(` return agentWidget.createFlexibleJsonStreamParser(function(parsed) {
216
216
  if (!parsed || typeof parsed !== 'object') return null;
217
217
  if (parsed.action === 'nav_then_click') return 'Navigating...';
218
218
  if (parsed.action === 'message') return parsed.text || '';
219
219
  if (parsed.action === 'message_and_click') return parsed.text || 'Processing...';
220
220
  return parsed.text || null;
221
- });`),r.push(` };`)),r.push(``),n?.actionParsers?(r.push(` // Action parsers (custom merged with defaults)`),r.push(` var customParsers = ${n.actionParsers};`),r.push(` widgetConfig.actionParsers = customParsers.concat([`),r.push(` agentWidget.defaultJsonActionParser,`),r.push(` ${xx}`),r.push(` ]);`)):(r.push(` // Action parsers to detect JSON actions in responses`),r.push(` widgetConfig.actionParsers = [`),r.push(` agentWidget.defaultJsonActionParser,`),r.push(` ${xx}`),r.push(` ];`)),r.push(``),n?.actionHandlers?(r.push(` // Action handlers (custom merged with defaults)`),r.push(` var customHandlers = ${n.actionHandlers};`),r.push(` widgetConfig.actionHandlers = customHandlers.concat([`),r.push(` agentWidget.defaultActionHandlers.message,`),r.push(` agentWidget.defaultActionHandlers.messageAndClick,`),r.push(` ${Cx}`),r.push(` ]);`)):(r.push(` // Action handlers for navigation and other actions`),r.push(` widgetConfig.actionHandlers = [`),r.push(` agentWidget.defaultActionHandlers.message,`),r.push(` agentWidget.defaultActionHandlers.messageAndClick,`),r.push(` ${Cx}`),r.push(` ];`)),r.push(``),n?.requestMiddleware?(r.push(` // Request middleware (custom merged with DOM context)`),r.push(` widgetConfig.requestMiddleware = function(ctx) {`),r.push(` var customResult = (${n.requestMiddleware})(ctx);`),r.push(` var merged = customResult || ctx.payload;`),r.push(` return Object.assign({}, merged, { metadata: Object.assign({}, merged.metadata, domContextProvider()) });`),r.push(` };`)):(r.push(` // Send DOM context with each request`),r.push(` widgetConfig.requestMiddleware = function(ctx) {`),r.push(` return Object.assign({}, ctx.payload, { metadata: domContextProvider() });`),r.push(` };`)),r.push(``),n?.postprocessMessage?r.push(` widgetConfig.postprocessMessage = ${n.postprocessMessage};`):(r.push(` // Markdown postprocessor`),r.push(` widgetConfig.postprocessMessage = function(ctx) {`),r.push(` return agentWidget.markdownPostprocessor(ctx.text);`),r.push(` };`)),r.push(``),(n?.onFeedback||n?.onCopy)&&(r.push(` // Message action callbacks`),r.push(` widgetConfig.messageActions = widgetConfig.messageActions || {};`),n?.onFeedback&&r.push(` widgetConfig.messageActions.onFeedback = ${n.onFeedback};`),n?.onCopy&&r.push(` widgetConfig.messageActions.onCopy = ${n.onCopy};`),r.push(``)),r.push(` return widgetConfig;`,` };`,``,` // Initialize widget`,` var init = function() {`,` var agentWidget = window.AgentWidget;`,` if (!agentWidget) {`,` console.error('AgentWidget not loaded');`,` return;`,` }`,``,` var widgetConfig = createWidgetConfig(agentWidget);`,``,` // Load saved state`,` var savedState = localStorage.getItem(STORAGE_KEY);`,` if (savedState) {`,` try {`,` var parsed = JSON.parse(savedState);`,` widgetConfig.initialMessages = parsed.messages || [];`,` } catch (e) {`,` console.error('Failed to load saved state:', e);`,` }`,` }`,``,` // Initialize widget`,` var handle = agentWidget.initAgentWidget({`,` target: '${Lx(t)}',`,` useShadowDom: false,`,...t?.windowKey?[` windowKey: '${t.windowKey}',`]:[],` config: widgetConfig`,` });`,``,` // Save state on message events`,` window.addEventListener('persona:message', function() {`,` var session = handle.getSession ? handle.getSession() : null;`,` if (session) {`,` localStorage.setItem(STORAGE_KEY, JSON.stringify({`,` messages: session.messages,`,` timestamp: new Date().toISOString()`,` }));`,` }`,` });`,``,` // Clear state on clear chat`,` window.addEventListener('persona:clear-chat', function() {`,` localStorage.removeItem(STORAGE_KEY);`,` localStorage.removeItem(PROCESSED_ACTIONS_KEY);`,` });`,` };`,``,` // Wait for framework hydration to complete (Next.js, Nuxt, etc.)`,` // This prevents the framework from removing dynamically added CSS during reconciliation`,` var waitForHydration = function(callback) {`,` var executed = false;`,` `,` var execute = function() {`,` if (executed) return;`,` executed = true;`,` callback();`,` };`,``,` var afterDom = function() {`,` // Strategy 1: Use requestIdleCallback if available (best for detecting idle after hydration)`,` if (typeof requestIdleCallback !== 'undefined') {`,` requestIdleCallback(function() {`,` // Double requestAnimationFrame ensures at least one full paint cycle completed`,` requestAnimationFrame(function() {`,` requestAnimationFrame(execute);`,` });`,` }, { timeout: 3000 }); // Max wait 3 seconds, then proceed anyway`,` } else {`,` // Strategy 2: Fallback for Safari (no requestIdleCallback)`,` // 300ms is typically enough for hydration on most pages`,` setTimeout(execute, 300);`,` }`,` };`,``,` if (document.readyState === 'loading') {`,` document.addEventListener('DOMContentLoaded', afterDom);`,` } else {`,` // DOM already ready, but still wait for potential hydration`,` afterDom();`,` }`,` };`,``,` // Boot sequence: wait for hydration, then load CSS and JS, then initialize`,` // This prevents Next.js/Nuxt/etc. from removing dynamically added CSS during reconciliation`,` waitForHydration(function() {`,` loadCSS();`,` loadJS(function() {`,` init();`,` });`,` });`,`})();`,`<\/script>`),r.join(`
222
- `)}Gr(),gn();const qx={desktop:{w:1280,h:800},mobile:{w:390,h:844}},Jx=.1,Yx=.15,Xx=1.5;function Zx(){if(document.querySelector(`style[data-persona-dc-styles]`))return;let e=document.createElement(`style`);e.setAttribute(`data-persona-dc-styles`,``),e.textContent=`
221
+ });`),r.push(` };`)),r.push(``),n?.actionParsers?(r.push(` // Action parsers (custom merged with defaults)`),r.push(` var customParsers = ${n.actionParsers};`),r.push(` widgetConfig.actionParsers = customParsers.concat([`),r.push(` agentWidget.defaultJsonActionParser,`),r.push(` ${Sx}`),r.push(` ]);`)):(r.push(` // Action parsers to detect JSON actions in responses`),r.push(` widgetConfig.actionParsers = [`),r.push(` agentWidget.defaultJsonActionParser,`),r.push(` ${Sx}`),r.push(` ];`)),r.push(``),n?.actionHandlers?(r.push(` // Action handlers (custom merged with defaults)`),r.push(` var customHandlers = ${n.actionHandlers};`),r.push(` widgetConfig.actionHandlers = customHandlers.concat([`),r.push(` agentWidget.defaultActionHandlers.message,`),r.push(` agentWidget.defaultActionHandlers.messageAndClick,`),r.push(` ${wx}`),r.push(` ]);`)):(r.push(` // Action handlers for navigation and other actions`),r.push(` widgetConfig.actionHandlers = [`),r.push(` agentWidget.defaultActionHandlers.message,`),r.push(` agentWidget.defaultActionHandlers.messageAndClick,`),r.push(` ${wx}`),r.push(` ];`)),r.push(``),n?.requestMiddleware?(r.push(` // Request middleware (custom merged with DOM context)`),r.push(` widgetConfig.requestMiddleware = function(ctx) {`),r.push(` var customResult = (${n.requestMiddleware})(ctx);`),r.push(` var merged = customResult || ctx.payload;`),r.push(` return Object.assign({}, merged, { metadata: Object.assign({}, merged.metadata, domContextProvider()) });`),r.push(` };`)):(r.push(` // Send DOM context with each request`),r.push(` widgetConfig.requestMiddleware = function(ctx) {`),r.push(` return Object.assign({}, ctx.payload, { metadata: domContextProvider() });`),r.push(` };`)),r.push(``),n?.postprocessMessage?r.push(` widgetConfig.postprocessMessage = ${n.postprocessMessage};`):(r.push(` // Markdown postprocessor`),r.push(` widgetConfig.postprocessMessage = function(ctx) {`),r.push(` return agentWidget.markdownPostprocessor(ctx.text);`),r.push(` };`)),r.push(``),(n?.onFeedback||n?.onCopy)&&(r.push(` // Message action callbacks`),r.push(` widgetConfig.messageActions = widgetConfig.messageActions || {};`),n?.onFeedback&&r.push(` widgetConfig.messageActions.onFeedback = ${n.onFeedback};`),n?.onCopy&&r.push(` widgetConfig.messageActions.onCopy = ${n.onCopy};`),r.push(``)),r.push(` return widgetConfig;`,` };`,``,` // Initialize widget`,` var init = function() {`,` var agentWidget = window.AgentWidget;`,` if (!agentWidget) {`,` console.error('AgentWidget not loaded');`,` return;`,` }`,``,` var widgetConfig = createWidgetConfig(agentWidget);`,``,` // Load saved state`,` var savedState = localStorage.getItem(STORAGE_KEY);`,` if (savedState) {`,` try {`,` var parsed = JSON.parse(savedState);`,` widgetConfig.initialMessages = parsed.messages || [];`,` } catch (e) {`,` console.error('Failed to load saved state:', e);`,` }`,` }`,``,` // Initialize widget`,` var handle = agentWidget.initAgentWidget({`,` target: '${Rx(t)}',`,` useShadowDom: false,`,...t?.windowKey?[` windowKey: '${t.windowKey}',`]:[],` config: widgetConfig`,` });`,``,` // Save state on message events`,` window.addEventListener('persona:message', function() {`,` var session = handle.getSession ? handle.getSession() : null;`,` if (session) {`,` localStorage.setItem(STORAGE_KEY, JSON.stringify({`,` messages: session.messages,`,` timestamp: new Date().toISOString()`,` }));`,` }`,` });`,``,` // Clear state on clear chat`,` window.addEventListener('persona:clear-chat', function() {`,` localStorage.removeItem(STORAGE_KEY);`,` localStorage.removeItem(PROCESSED_ACTIONS_KEY);`,` });`,` };`,``,` // Wait for framework hydration to complete (Next.js, Nuxt, etc.)`,` // This prevents the framework from removing dynamically added CSS during reconciliation`,` var waitForHydration = function(callback) {`,` var executed = false;`,` `,` var execute = function() {`,` if (executed) return;`,` executed = true;`,` callback();`,` };`,``,` var afterDom = function() {`,` // Strategy 1: Use requestIdleCallback if available (best for detecting idle after hydration)`,` if (typeof requestIdleCallback !== 'undefined') {`,` requestIdleCallback(function() {`,` // Double requestAnimationFrame ensures at least one full paint cycle completed`,` requestAnimationFrame(function() {`,` requestAnimationFrame(execute);`,` });`,` }, { timeout: 3000 }); // Max wait 3 seconds, then proceed anyway`,` } else {`,` // Strategy 2: Fallback for Safari (no requestIdleCallback)`,` // 300ms is typically enough for hydration on most pages`,` setTimeout(execute, 300);`,` }`,` };`,``,` if (document.readyState === 'loading') {`,` document.addEventListener('DOMContentLoaded', afterDom);`,` } else {`,` // DOM already ready, but still wait for potential hydration`,` afterDom();`,` }`,` };`,``,` // Boot sequence: wait for hydration, then load CSS and JS, then initialize`,` // This prevents Next.js/Nuxt/etc. from removing dynamically added CSS during reconciliation`,` waitForHydration(function() {`,` loadCSS();`,` loadJS(function() {`,` init();`,` });`,` });`,`})();`,`<\/script>`),r.join(`
222
+ `)}Kr(),_n();const Jx={desktop:{w:1280,h:800},mobile:{w:390,h:844}},Yx=.1,Xx=.15,Zx=1.5;function Qx(){if(document.querySelector(`style[data-persona-dc-styles]`))return;let e=document.createElement(`style`);e.setAttribute(`data-persona-dc-styles`,``),e.textContent=`
223
223
  /* ── Root ── */
224
224
  .persona-dc-root {
225
225
  display: flex;
@@ -460,9 +460,9 @@ import{Marked as e,Marked as t}from"marked";import n,{default as r}from"dompurif
460
460
  min-height: 300px;
461
461
  }
462
462
  }
463
- `,document.head.appendChild(e)}function Qx(e,t){let n=e.clientWidth-48-40,r=e.clientHeight-48-40;return n<=0||r<=0?1:Math.min(n/t.w,r/t.h,1)}function $x(e,t,n,r,i){e.style.width=`${n.w*r}px`,e.style.height=`${n.h*r}px`,e.style.borderRadius=i===`mobile`?`${32*r}px`:`10px`,t.style.width=`${n.w}px`,t.style.height=`${n.h}px`,t.style.transformOrigin=`top left`,t.style.transform=`scale(${r})`}function eS(e,t){let{items:n,initialIndex:r=0,initialDevice:i=`desktop`,initialColorScheme:a=`light`,showZoomControls:o=!0,showDeviceToggle:s=!0,showColorSchemeToggle:c=!0,onChange:l}=t;if(n.length===0)throw Error(`createDemoCarousel: items array must not be empty`);Zx();let u=Math.max(0,Math.min(r,n.length-1)),d=i,f=a,p=null,m=1,h=!1,g=J(`div`,`persona-dc-root`),_=J(`div`,`persona-dc-toolbar`),v=J(`div`,`persona-dc-toolbar-lead`),y=J(`div`,`persona-dc-toolbar-trail`),b=Kl({icon:`chevron-left`,label:`Previous demo`,size:14,onClick:()=>me(-1)}),x=J(`div`);x.style.position=`relative`;let C=J(`button`,`persona-dc-title-btn`);C.type=`button`,C.setAttribute(`aria-expanded`,`false`),C.setAttribute(`aria-haspopup`,`listbox`);let ee=J(`span`,`persona-dc-title-text`),w=J(`span`,`persona-dc-title-chevron`),te=hn(S,12,`currentColor`,2);te&&w.appendChild(te),C.append(ee,w);let T=J(`div`,`persona-dc-dropdown`);T.setAttribute(`role`,`listbox`),T.style.display=`none`;let E=!1;function ne(){T.innerHTML=``;for(let e=0;e<n.length;e++){let t=n[e],r=J(`button`,`persona-dc-dropdown-item`);r.type=`button`,r.setAttribute(`role`,`option`),r.setAttribute(`aria-current`,e===u?`true`:`false`);let i=J(`span`);if(i.textContent=t.title,r.appendChild(i),t.description){let e=J(`span`,`persona-dc-dropdown-desc`);e.textContent=t.description,r.appendChild(e)}r.addEventListener(`click`,()=>{D(),he(e)}),T.appendChild(r)}}function re(){E=!E,T.style.display=E?``:`none`,C.setAttribute(`aria-expanded`,E?`true`:`false`),E&&ne()}function D(){E&&(E=!1,T.style.display=`none`,C.setAttribute(`aria-expanded`,`false`))}C.addEventListener(`click`,e=>{e.stopPropagation(),re()});let ie=()=>D();document.addEventListener(`click`,ie),x.append(C,T);let ae=Kl({icon:`chevron-right`,label:`Next demo`,size:14,onClick:()=>me(1)}),oe=J(`span`,`persona-dc-counter`);v.append(b,x,ae,oe);let se=null;s&&(se=Jl({items:[{id:`desktop`,icon:`monitor`,label:`Desktop`},{id:`mobile`,icon:`smartphone`,label:`Mobile`}],selectedId:d,onSelect:e=>{d=e,k.dataset.device=d,p=null,ge()}}),y.appendChild(se.element));let ce=null;if(o){let e=J(`div`,`persona-dc-zoom-controls`),t=Kl({icon:`minus`,label:`Zoom out`,size:14,onClick:()=>{p=Math.max(Yx,(p??m)-Jx),ge()}});ce=J(`span`,`persona-dc-zoom-level`),ce.title=`Reset to 100%`,ce.style.cursor=`pointer`,ce.addEventListener(`click`,()=>{p=1,ge()});let n=Kl({icon:`plus`,label:`Zoom in`,size:14,onClick:()=>{p=Math.min(Xx,(p??m)+Jx),ge()}}),r=Kl({icon:`maximize`,label:`Fit to view`,size:14,onClick:()=>{p=null,ge()}});e.append(t,ce,n,r),y.appendChild(e)}if(c){let e=J(`div`,`persona-dc-separator`);y.appendChild(e);let t=Jl({items:[{id:`light`,icon:`sun`,label:`Light`},{id:`dark`,icon:`moon`,label:`Dark`}],selectedId:f,onSelect:e=>{f=e,k.dataset.colorScheme=f,fe()}});y.appendChild(t.element)}let le=J(`div`,`persona-dc-separator`);y.appendChild(le);let ue=Kl({icon:`external-link`,label:`Open in new tab`,size:14,onClick:()=>{window.open(n[u].url,`_blank`)}});y.appendChild(ue),_.append(v,y);let O=J(`div`,`persona-dc-stage`),k=J(`div`,`persona-dc-iframe-wrapper`);k.dataset.device=d,k.dataset.colorScheme=f;let de=J(`iframe`,`persona-dc-iframe`);de.setAttribute(`sandbox`,`allow-scripts allow-same-origin allow-forms`),de.setAttribute(`loading`,`lazy`),de.title=n[u].title,k.appendChild(de),O.appendChild(k),g.append(_,O),e.appendChild(g);function fe(){try{let e=de.contentDocument?.body;if(!e)return;f===`dark`?e.classList.add(`theme-dark`):e.classList.remove(`theme-dark`)}catch{}}de.addEventListener(`load`,()=>fe());function pe(){let e=n[u];ee.textContent=e.title,oe.textContent=`${u+1} / ${n.length}`,de.title=e.title}function me(e){he(((u+e)%n.length+n.length)%n.length)}function he(e){e<0||e>=n.length||(u=e,de.src=n[u].url,pe(),l?.(u,n[u]))}function ge(){if(h)return;let e=qx[d]??qx.desktop;m=Qx(O,e);let t=Math.max(Yx,Math.min(Xx,p??m));$x(k,de,e,t,d),ce&&(ce.textContent=`${Math.round(t*100)}%`)}let _e=new ResizeObserver(()=>ge());_e.observe(O),pe(),de.src=n[u].url,requestAnimationFrame(()=>ge());function ve(){h||(h=!0,_e.disconnect(),document.removeEventListener(`click`,ie),g.remove())}return{element:g,goTo:he,next:()=>me(1),prev:()=>me(-1),getIndex:()=>u,setDevice(e){d=e,k.dataset.device=e,se?.setSelected(e),p=null,ge()},setColorScheme(e){f=e,k.dataset.colorScheme=e},setZoom(e){p=e,ge()},destroy:ve}}xf(),Ma();const tS=16e3,nS=/* @__PURE__ */ new Map([[`idle_timeout`,`Voice call ended after a quiet period.`],[`max_duration`,`This voice call reached its time limit.`],[`provider_ended`,`The voice session ended.`],[`quota`,`Voice is unavailable right now.`],[`auth_expired`,`Voice session expired. Tap the mic to reconnect.`]]),rS=[`provider_error`,`server_restart`],iS=`Voice connection lost.`;function aS(e,t){let n=t.slice(0,4e3).trim(),r=8e3-(n?n.length+2:0)-20,i=[];for(let t of e.slice(-12).reverse()){let e=t.content.replace(/\s+/g,` `).trim();if(!e)continue;e.length>2e3&&(e=`${e.slice(0,1999)}…`);let n=`${t.role===`user`?`User`:`Assistant`}: ${e}`;if(n.length+1>r)break;r-=n.length+1,i.unshift(n)}let a=i.length>0?[`Conversation so far:\n${i.join(`
463
+ `,document.head.appendChild(e)}function $x(e,t){let n=e.clientWidth-48-40,r=e.clientHeight-48-40;return n<=0||r<=0?1:Math.min(n/t.w,r/t.h,1)}function eS(e,t,n,r,i){e.style.width=`${n.w*r}px`,e.style.height=`${n.h*r}px`,e.style.borderRadius=i===`mobile`?`${32*r}px`:`10px`,t.style.width=`${n.w}px`,t.style.height=`${n.h}px`,t.style.transformOrigin=`top left`,t.style.transform=`scale(${r})`}function tS(e,t){let{items:n,initialIndex:r=0,initialDevice:i=`desktop`,initialColorScheme:a=`light`,showZoomControls:o=!0,showDeviceToggle:s=!0,showColorSchemeToggle:c=!0,onChange:l}=t;if(n.length===0)throw Error(`createDemoCarousel: items array must not be empty`);Qx();let u=Math.max(0,Math.min(r,n.length-1)),d=i,f=a,p=null,m=1,h=!1,g=q(`div`,`persona-dc-root`),_=q(`div`,`persona-dc-toolbar`),v=q(`div`,`persona-dc-toolbar-lead`),y=q(`div`,`persona-dc-toolbar-trail`),b=ql({icon:`chevron-left`,label:`Previous demo`,size:14,onClick:()=>me(-1)}),x=q(`div`);x.style.position=`relative`;let C=q(`button`,`persona-dc-title-btn`);C.type=`button`,C.setAttribute(`aria-expanded`,`false`),C.setAttribute(`aria-haspopup`,`listbox`);let ee=q(`span`,`persona-dc-title-text`),w=q(`span`,`persona-dc-title-chevron`),te=gn(S,12,`currentColor`,2);te&&w.appendChild(te),C.append(ee,w);let T=q(`div`,`persona-dc-dropdown`);T.setAttribute(`role`,`listbox`),T.style.display=`none`;let E=!1;function ne(){T.innerHTML=``;for(let e=0;e<n.length;e++){let t=n[e],r=q(`button`,`persona-dc-dropdown-item`);r.type=`button`,r.setAttribute(`role`,`option`),r.setAttribute(`aria-current`,e===u?`true`:`false`);let i=q(`span`);if(i.textContent=t.title,r.appendChild(i),t.description){let e=q(`span`,`persona-dc-dropdown-desc`);e.textContent=t.description,r.appendChild(e)}r.addEventListener(`click`,()=>{D(),he(e)}),T.appendChild(r)}}function re(){E=!E,T.style.display=E?``:`none`,C.setAttribute(`aria-expanded`,E?`true`:`false`),E&&ne()}function D(){E&&(E=!1,T.style.display=`none`,C.setAttribute(`aria-expanded`,`false`))}C.addEventListener(`click`,e=>{e.stopPropagation(),re()});let ie=()=>D();document.addEventListener(`click`,ie),x.append(C,T);let ae=ql({icon:`chevron-right`,label:`Next demo`,size:14,onClick:()=>me(1)}),oe=q(`span`,`persona-dc-counter`);v.append(b,x,ae,oe);let se=null;s&&(se=Yl({items:[{id:`desktop`,icon:`monitor`,label:`Desktop`},{id:`mobile`,icon:`smartphone`,label:`Mobile`}],selectedId:d,onSelect:e=>{d=e,k.dataset.device=d,p=null,ge()}}),y.appendChild(se.element));let ce=null;if(o){let e=q(`div`,`persona-dc-zoom-controls`),t=ql({icon:`minus`,label:`Zoom out`,size:14,onClick:()=>{p=Math.max(Xx,(p??m)-Yx),ge()}});ce=q(`span`,`persona-dc-zoom-level`),ce.title=`Reset to 100%`,ce.style.cursor=`pointer`,ce.addEventListener(`click`,()=>{p=1,ge()});let n=ql({icon:`plus`,label:`Zoom in`,size:14,onClick:()=>{p=Math.min(Zx,(p??m)+Yx),ge()}}),r=ql({icon:`maximize`,label:`Fit to view`,size:14,onClick:()=>{p=null,ge()}});e.append(t,ce,n,r),y.appendChild(e)}if(c){let e=q(`div`,`persona-dc-separator`);y.appendChild(e);let t=Yl({items:[{id:`light`,icon:`sun`,label:`Light`},{id:`dark`,icon:`moon`,label:`Dark`}],selectedId:f,onSelect:e=>{f=e,k.dataset.colorScheme=f,fe()}});y.appendChild(t.element)}let le=q(`div`,`persona-dc-separator`);y.appendChild(le);let ue=ql({icon:`external-link`,label:`Open in new tab`,size:14,onClick:()=>{window.open(n[u].url,`_blank`)}});y.appendChild(ue),_.append(v,y);let O=q(`div`,`persona-dc-stage`),k=q(`div`,`persona-dc-iframe-wrapper`);k.dataset.device=d,k.dataset.colorScheme=f;let de=q(`iframe`,`persona-dc-iframe`);de.setAttribute(`sandbox`,`allow-scripts allow-same-origin allow-forms`),de.setAttribute(`loading`,`lazy`),de.title=n[u].title,k.appendChild(de),O.appendChild(k),g.append(_,O),e.appendChild(g);function fe(){try{let e=de.contentDocument?.body;if(!e)return;f===`dark`?e.classList.add(`theme-dark`):e.classList.remove(`theme-dark`)}catch{}}de.addEventListener(`load`,()=>fe());function pe(){let e=n[u];ee.textContent=e.title,oe.textContent=`${u+1} / ${n.length}`,de.title=e.title}function me(e){he(((u+e)%n.length+n.length)%n.length)}function he(e){e<0||e>=n.length||(u=e,de.src=n[u].url,pe(),l?.(u,n[u]))}function ge(){if(h)return;let e=Jx[d]??Jx.desktop;m=$x(O,e);let t=Math.max(Xx,Math.min(Zx,p??m));eS(k,de,e,t,d),ce&&(ce.textContent=`${Math.round(t*100)}%`)}let _e=new ResizeObserver(()=>ge());_e.observe(O),pe(),de.src=n[u].url,requestAnimationFrame(()=>ge());function ve(){h||(h=!0,_e.disconnect(),document.removeEventListener(`click`,ie),g.remove())}return{element:g,goTo:he,next:()=>me(1),prev:()=>me(-1),getIndex:()=>u,setDevice(e){d=e,k.dataset.device=e,se?.setSelected(e),p=null,ge()},setColorScheme(e){f=e,k.dataset.colorScheme=e},setZoom(e){p=e,ge()},destroy:ve}}Cf(),Na();const nS=16e3,rS=/* @__PURE__ */ new Map([[`idle_timeout`,`Voice call ended after a quiet period.`],[`max_duration`,`This voice call reached its time limit.`],[`provider_ended`,`The voice session ended.`],[`quota`,`Voice is unavailable right now.`],[`auth_expired`,`Voice session expired. Tap the mic to reconnect.`]]),iS=[`provider_error`,`server_restart`],aS=`Voice connection lost.`;function oS(e,t){let n=t.slice(0,4e3).trim(),r=8e3-(n?n.length+2:0)-20,i=[];for(let t of e.slice(-12).reverse()){let e=t.content.replace(/\s+/g,` `).trim();if(!e)continue;e.length>2e3&&(e=`${e.slice(0,1999)}…`);let n=`${t.role===`user`?`User`:`Assistant`}: ${e}`;if(n.length+1>r)break;r-=n.length+1,i.unshift(n)}let a=i.length>0?[`Conversation so far:\n${i.join(`
464
464
  `)}`]:[];return n&&a.push(n),a.join(`
465
465
 
466
- `)}function oS(e){return e.byteLength>=44&&new DataView(e).getUint32(0,!1)===1380533830?new Uint8Array(e,44):new Uint8Array(e)}function sS(e){let t=e.replace(/\/+$/,``);return/^wss?:\/\//i.test(t)?t:/^https?:\/\//i.test(t)?t.replace(/^http/i,`ws`):`${typeof window<`u`&&window.location?.protocol===`https:`?`wss:`:`ws:`}//${t}`}function cS(e){return sS(e).replace(/^ws/i,`http`)}function lS(e){return typeof e!=`number`||!Number.isFinite(e)?3e4:Math.min(6e5,Math.max(3e4,Math.round(e)))}var uS=class{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;#C;#w;#T;#E;#D;#O;#k;#A;#j;#M;#N;#P;#F;#I;#L;#R;#z;#B;#V;#H;#U;#W;#G;#K;#q;#J;#Y;constructor(e){this.config=e,this.type=`runtype`,this.#e=null,this.#t=null,this.#n=[],this.#r=null,this.#i=null,this.#a=null,this.#o=[],this.#s=0,this.#c=null,this.#l=!1,this.#u=!1,this.#d=0,this.#f=!1,this.#p=-1/0,this.#m=null,this.#h=!1,this.#g=!1,this.#_=0,this.#v=0,this.#b=!1,this.bridge=null,this.#x=!1,this.#S=/* @__PURE__ */ new Set,this.#C=/* @__PURE__ */ new Map,this.#w=/* @__PURE__ */ new Set,this.#E=null,this.#D=null,this.#k=!1,this.#A=!1,this.#j=!1,this.#M=null,this.#N=null,this.#P=Promise.resolve(),this.#F=/* @__PURE__ */ new Set,this.#I=/* @__PURE__ */ new Set,this.#L=null,this.#R=!1,this.#z=/* @__PURE__ */ new Set,this.#B=/* @__PURE__ */ new Set,this.#V=null,this.#H=/* @__PURE__ */ new Set,this.#U=null,this.#W=/* @__PURE__ */ new Map,this.#G=[],this.#K=[],this.#q=[],this.#J=[],this.#Y=[]}async connect(){}setSessionBridge(e){this.bridge=e}prewarm(){if(this.#l||this.#m)return;let e=this.config?.agentId,t=this.config?.clientToken,n=this.config?.host;if(!e||!t||!n)return;let r=Date.now();if(!(r-this.#p<3e4)){this.#p=r;try{this.config?.prewarmMode===`attach`?this.#Z(n,e,t):this.#X(n,e,t)}catch{}}}#X(e,t,n){if(typeof fetch!=`function`)return;let r=`${cS(e)}/v1/client/agents/${encodeURIComponent(t)}/voice/prewarm`;fetch(r,{method:`POST`,headers:{Authorization:`Bearer ${n}`},keepalive:!0}).catch(()=>{})}#Z(e,t,n){let r=new URLSearchParams,i=this.config?.attachIdleMs,a=lS(i);i!==void 0&&r.set(`attachIdleMs`,String(a));let o=new WebSocket(this.#te(e,t,r),[`runtype.bearer`,`runtype.attach`,n]);o.binaryType=`arraybuffer`;let s=()=>{},c={ws:o,state:`connecting`,ready:new Promise(e=>{s=e}),settle:s,openedAt:0,idleTimer:void 0};this.#m=c,o.onopen=()=>{this.#m===c&&(c.state=o.protocol===`runtype.attach`?`attached`:`live`,c.openedAt=Date.now(),this.#Q(c,a),c.state===`attached`&&o.send(`{"type":"ping"}`),c.settle())},o.onmessage=e=>{if(this.#m!==c||typeof e.data!=`string`)return;let t;try{t=JSON.parse(e.data)}catch{return}t.type===`attached`&&typeof t.idleMs==`number`&&this.#Q(c,t.idleMs-(Date.now()-c.openedAt))},o.onerror=()=>{},o.onclose=()=>{this.#m===c&&this.#$()}}#Q(e,t){clearTimeout(e.idleTimer),e.idleTimer=setTimeout(()=>{this.#m===e&&this.#$()},Math.max(0,t))}#$(){let e=this.#m;if(!e)return;this.#m=null,clearTimeout(e.idleTimer);let{ws:t}=e;if(t.onopen=null,t.onmessage=null,t.onerror=null,t.onclose=null,e.settle(),t.readyState===WebSocket.CONNECTING||t.readyState===WebSocket.OPEN)try{t.close(1e3,`prewarm released`)}catch{}}async#ee(){let e=this.#m;if(!e)return null;if(e.state===`connecting`){let t;await Promise.race([e.ready,new Promise(e=>{t=setTimeout(e,5e3)})]),clearTimeout(t)}return this.#m===e?e.state===`connecting`||e.ws.readyState!==WebSocket.OPEN?(this.#$(),null):(this.#m=null,clearTimeout(e.idleTimer),{ws:e.ws,live:e.state===`live`}):null}#te(e,t,n){let r=`partial_transcript,context`;this.bridge&&this.config?.clientDelegation!==!1&&(r+=`,client_delegation,delegation_update,delegation_read_back,delegation_stream`,this.bridge.clientTools?.()&&(r+=`,client_tools,prior_tool_results`)),n&&(r=`attach,${r}`);let i=new URLSearchParams({voiceProtocol:`runtype-browser-v1`,clientVersion:`persona/${ja}`,voiceCapabilities:`full-duplex-v1`,clientCapabilities:r});return n?.forEach((e,t)=>i.set(t,e)),`${sS(e)}/ws/agents/${encodeURIComponent(t)}/voice?${i}`}async startListening(){if(this.#l)return;let e=this.#A;e||(this.#k=!1,this.#D=null),this.#A=!1;let t=this.config?.agentId,n=this.config?.clientToken,r=this.config?.host;if(!t)throw Error(`Runtype voice requires an agentId`);if(!n)throw Error(`Runtype voice requires a clientToken`);if(!r)throw Error(`Runtype voice requires a host (or widget apiUrl)`);let i=++this.#d;this.#f=!1,this.#l=!0;try{let a=await navigator.mediaDevices.getUserMedia({audio:{sampleRate:tS,channelCount:1,echoCancellation:!0}});if(i!==this.#d){a.getTracks().forEach(e=>e.stop());return}this.#r=a;let o=new(window.AudioContext||window.webkitAudioContext)({sampleRate:tS});if(this.#t=o,o.state===`suspended`){if(await Promise.race([o.resume().catch(()=>{}),new Promise(t=>setTimeout(t,e?500:1e3))]),i!==this.#d)return;if(o.state!==`running`)throw Error(e?this.#D=`${iS} Tap the mic to reconnect.`:`Audio blocked until a tap`)}let s=this.config?.createPlaybackEngine?await this.config.createPlaybackEngine():new bf(24e3);if(i!==this.#d){s.destroy(),a.getTracks().forEach(e=>e.stop()),o.close().catch(()=>{});return}this.#c=s,this.#he(),this.#ie(o,a,i);let c=await this.#ee();if(i!==this.#d){c?.ws.close(1e3,`client ended call`);return}if(c){let{ws:e}=c;this.#e=e,this.#ne(e,i),c.live||e.send(`{"type":"start"}`),this.#ae(e),this.#be(`listening`);return}let l=new WebSocket(this.#te(r,t),[`runtype.bearer`,n]);l.binaryType=`arraybuffer`,this.#e=l,l.onopen=()=>{i===this.#d&&(this.#ae(l),this.#be(`listening`))},this.#ne(l,i)}catch(e){throw this.#ye(),this.#xe(e),this.#be(`error`),e}}#ne(e,t){e.onmessage=e=>this.#oe(e,t),e.onerror=()=>{t!==this.#d||this.#E||(this.#xe(/* @__PURE__ */ Error(`Voice connection failed`)),this.#be(`error`),this.#ye())},e.onclose=e=>{if(this.#f){this.#f=!1;return}if(t!==this.#d)return;let n=this.#E??(e.code===4408?{reason:`idle_timeout`}:null);if(n)this.#re(n.reason,n.message);else{if(e.code!==1e3){let t=e.code?` (code ${e.code})`:``;this.#xe(/* @__PURE__ */ Error(`Voice connection closed${t}`)),this.#be(`error`)}else this.#be(`idle`);this.#ye()}}}#re(e,t){let n=rS.includes(e)&&!this.#k;if(this.#ye(),n)this.#k=!0,this.#l=!0,this.#D=e===`provider_error`?`${iS} Reconnecting…`:`Reconnecting…`,this.#O=setTimeout(()=>{this.#l=!1,this.#A=!0,this.startListening().catch(()=>{})},1e3+Math.random()*1e3),this.#be(`idle`);else{if(rS.includes(e))return this.#D=iS,this.#xe(/* @__PURE__ */ Error(iS)),this.#be(`error`);if(e===`error`)return this.#be(`error`);this.#D=e===`quota`&&t||nS.get(e)||null,this.#be(`idle`)}}takeNotice(){let e=this.#D;return this.#D=null,e}getDisclosure(){let e=this.config?.disclosureText;return this.#l&&this.#h&&e!==!1?e||`You're talking to an AI assistant. Voice is processed by OpenAI.`:null}async stopListening(){this.#ye(),this.#be(`idle`)}async disconnect(){this.#ye(),this.#be(`disconnected`),this.#G=[],this.#K=[],this.#q=[],this.#J=[],this.#Y=[]}stopPlayback(){this.#ve();let e=this.#e;e&&e.readyState===WebSocket.OPEN&&(this.#h&&(this.#_=Date.now()+2e3,e.send(`{"type":"cancel"}`)),this.#be(`listening`))}getInterruptionMode(){return`barge-in`}isBargeInActive(){return this.#l}onLevel(e){this.#n.push(e)}async deactivateBargeIn(){this.#ye(),this.#be(`idle`)}#ie(e,t,n){let r=e.createMediaStreamSource(t);this.#i=r;let i=e.createScriptProcessor(4096,1,1);this.#a=i,i.onaudioprocess=e=>{if(n!==this.#d)return;let t=this.#e,r=t?.readyState===WebSocket.OPEN;if(t&&!r&&t.readyState!==WebSocket.CONNECTING)return;let i=e.inputBuffer.getChannelData(0),a=new Int16Array(i.length),o=0;for(let e=0;e<i.length;e++){let t=Math.max(-1,Math.min(1,i[e]));o+=t*t,a[e]=t<0?t*32768:t*32767}if(t&&r)this.#ae(t),t.send(a.buffer);else for(this.#o.push(a.buffer),this.#s+=a.byteLength;this.#s>256e3;)this.#s-=this.#o.shift().byteLength;if(this.#n.length>0){let e=Math.sqrt(o/i.length),t=Math.max(0,Math.min(1,e*4));for(let e of this.#n)e(t)}},r.connect(i),i.connect(e.destination)}#ae(e){for(let t of this.#o)e.send(t);this.#o=[],this.#s=0}#oe(e,t){if(t!==this.#d)return;if(e.data instanceof ArrayBuffer){this.#pe(e.data,t);return}let n;try{n=JSON.parse(e.data)}catch{return}switch(n.type){case`session_config`:n.speechMode&&(this.#h=n.speechMode===`speech_to_speech`,this.#c?.setContinuousMode?.(this.#h)),Array.isArray(n.capabilities)&&(this.#S=new Set(n.capabilities)),typeof n.callId==`string`&&(this.#T=n.callId),this.#x=this.#h&&this.#S.has(`client_delegation`)&&!!this.bridge,this.#h&&!this.#u&&this.#be(`listening`),this.#S.has(`context`)&&!this.#j&&(this.#j=!0,this.#M=this.#se()),this.#x&&this.#S.has(`client_tools`)&&!this.#V&&(this.#V=this.bridge.clientTools?.()?.open({send:e=>{let n=this.#e;return t!==this.#d||n?.readyState!==WebSocket.OPEN?!1:(n.send(JSON.stringify(e)),!0)},cancelled:e=>this.#w.has(e)}).catch(()=>null)??null);break;case`client_tool_call`:{let e=String(n.delegationId);this.#V&&!this.#W.has(e)&&(this.#W.set(e,this.#U),this.#F.add(e)),this.#V?.then(e=>e?.call(n));break}case`transcript_update`:{let e=n.role===`assistant`?`assistant`:`user`,r=n.utteranceId??n.turnId;if(!r||e===`assistant`&&this.#me())break;let i=String(r);if(e===`user`)n.final===!0&&(this.#ce(t),this.#U={id:i,text:String(n.text??``)}),this.#R=!1;else{if(this.#S.has(`delegation_read_back`)){let e=n.delegationId;(typeof e==`string`&&this.#F.has(e)&&!this.#z.has(i)||this.#R&&!this.#z.has(i))&&(this.#B.add(i),this.#R=!1)}else this.#R&&!this.#z.has(i)&&(this.#B.add(i),this.#R=!1);if(this.#z.add(i),this.#B.has(i))break}this.#Se(e,n.text??``,n.final===!0,{turnId:i,...typeof n.startMs==`number`&&{startMs:n.startMs},...typeof n.endMs==`number`&&{endMs:n.endMs},...this.#x&&{caption:!0}});break}case`delegation_started`:case`delegation_completed`:{let e=String(n.delegationId??n.turnId);if(n.type===`delegation_started`){this.#ce(t),this.#H.add(e),this.#F.delete(e),this.#W.delete(e)&&this.#V?.then(t=>t?.abort(e));let r=n.input;this.#x&&r&&this.#fe(e,{delegationId:e,userText:String(r.text??``),userUtteranceIds:Array.isArray(r.userUtteranceIds)?r.userUtteranceIds.filter(e=>typeof e==`string`):[],messages:Array.isArray(r.messages)?r.messages:[],priorToolResults:r.priorToolResults},t)}else if(n.route===`direct`&&this.#V&&!this.#H.has(e)){let t=this.#W.get(e)??this.#U;this.#W.delete(e),this.#H.add(e),this.#F.add(e),this.bridge?.recordDirectTurn?.({delegationId:e,userText:t?.text??``,userUtteranceIds:t?[t.id]:[],assistantText:typeof n.text==`string`?n.text:``})}n.type===`delegation_completed`&&n.speak!==!1&&this.#F.has(e)&&!this.#I.delete(e)&&!this.#S.has(`delegation_read_back`)&&this.#ue(e),this.#g=n.type===`delegation_started`,!this.#u&&!this.#me()&&this.#be(this.#g?`processing`:`listening`);break}case`delegation_progress`:{let e=String(n.delegationId);this.#F.has(e)&&!this.#I.has(e)&&!this.#w.has(e)&&(this.#I.add(e),this.#ue(e));break}case`delegation_cancelled`:this.#de(String(n.delegationId),n.reason!==`session_ending`&&n.reason!==`provider_cancelled`);break;case`warning`:console.warn(`[Persona voice] ${n.code}: ${n.message??``}`,this.#T??``),n.delegationId&&(n.code===`UNKNOWN_DELEGATION`||n.code===`LATE_RESULT_LIMIT`)&&this.#de(String(n.delegationId));break;case`audio_clear`:this.#ve(),this.#_=0,this.#be(`listening`);break;case`transcript_interim`:this.#be(`listening`),this.#Se(`user`,n.text??``,!1);break;case`transcript_final`:{let e=n.role===`assistant`?`assistant`:`user`;this.#be(e===`user`?`processing`:`speaking`),this.#Se(e,n.text??``,!0);break}case`audio_end`:this.#c?this.#c.markStreamEnd():(this.#u=!1,this.#be(`listening`));break;case`metrics`:this.#Ce({llmMs:n.llm_ms,ttsMs:n.tts_ms,firstAudioMs:n.first_audio_ms,totalMs:n.total_ms});break;case`error`:this.#xe(Error(n.error||`Voice error`)),this.#be(`error`);break;case`session_end`:this.#E={reason:String(n.reason),...typeof n.message==`string`&&{message:n.message}}}}async#se(){let e=this.bridge?.getHistory()??[],t=``;try{let e=this.config?.callContext;t=String((typeof e==`function`?await e():e)??``)}catch{}return aS(e,t)}#ce(e){let t=this.#M;if(!t)return;this.#M=null;let n=!1,r=t.then(t=>{let r=this.#e;!n&&t&&e===this.#d&&r?.readyState===WebSocket.OPEN&&r.send(JSON.stringify({type:`context`,text:t}))});this.#N={done:r,drop:()=>n=!0}}async#le(){let e=this.#N;if(!e)return;let t,n=await Promise.race([e.done.then(()=>!1),new Promise(e=>{t=setTimeout(()=>e(!0),2e3)})]);clearTimeout(t),n&&e.drop()}#ue(e){this.#R=!0,this.#L=e}#de(e,t=!1){this.#w.add(e),this.#L===e&&(this.#R=!1),this.#I.delete(e),this.#H.has(e)||this.#F.delete(e),this.#V?.then(t=>t?.abort(e)),this.bridge?.dropDelegation?.(e,t),this.#C.get(e)?.abort()}#fe(e,t,n){let r=this.bridge,i=({type:t,...r})=>{let i=this.#e;return n!==this.#d||i?.readyState!==WebSocket.OPEN||this.#w.has(e)?!1:(i.send(JSON.stringify({type:t,delegationId:e,...r})),!0)},a=(e,t,n,r=0)=>i({type:e,status:t,text:n,...r>0&&{streamedChars:r}});this.#P=this.#P.then(async()=>{if(n!==this.#d||this.#w.has(e))return;let o=null,s=this.#S.has(`delegation_stream`)&&this.#S.has(`delegation_read_back`),c=t=>{o=(o??this.#le()).then(()=>{i({type:`delegation_delta`,text:t})&&this.#F.add(e)})},l=await r.runDelegatedTurn(s?{...t,stream:c}:t).catch(()=>({status:`failed`,text:``}));await this.#le(),await o;let u=s?l.streamedChars??0:0,d=!!l.followUp,f=d&&this.#S.has(`delegation_update`);if(!a(f?`delegation_update`:`delegation_result`,d&&!f?`completed`:l.status,l.text,u)||(l.status!==`failed`&&l.inChat!==!1&&this.#F.add(e),!l.followUp))return;let p=new AbortController;this.#C.set(e,p),l.followUp({signal:p.signal,approvalTimeoutMs:this.config?.approvalTimeoutMs&&Math.min(this.config.approvalTimeoutMs,54e4),readBack:f,onUpdate:e=>a(`delegation_update`,`pending_approval`,e)}).then(t=>{this.#C.delete(e),f&&t&&!p.signal.aborted&&a(`delegation_result`,t.status,t.text)})})}#pe(e,t){if(t!==this.#d||!this.#c||this.#me())return;let n=oS(e);n.length!==0&&(this.#u||(this.#u=!0,this.#be(`speaking`)),this.#he(),this.#c.enqueue(n),this.#h&&this.#ge(n.length))}#me(){return Date.now()<this.#_}#he(){if(this.#b||!this.#c)return;this.#b=!0;let e=this.#d;this.#c.onFinished(()=>{e===this.#d&&(this.#b=!1,this.#_e())})}#ge(e){let t=Date.now();this.#v=Math.max(t,this.#v)+e/48,clearTimeout(this.#y),this.#y=setTimeout(()=>this.#_e(),this.#v-t+300)}#_e(){this.#u=!1,this.#v=0,this.#e&&this.#e.readyState===WebSocket.OPEN&&this.#be(this.#g?`processing`:`listening`)}#ve(){this.#c?.flush(),this.#b=!1,this.#he(),this.#u=!1,this.#v=0,clearTimeout(this.#y)}#ye(){this.#d+=1,this.#l=!1,this.#u=!1,this.#$(),this.#h=!1,this.#g=!1,this.#x=!1,this.#S=/* @__PURE__ */ new Set;for(let e of this.#C.values())e.abort();if(this.#C.clear(),this.#w.clear(),this.#T=void 0,this.#E=null,clearTimeout(this.#O),this.#j=!1,this.#M=null,this.#N=null,this.#P=Promise.resolve(),this.#F.clear(),this.#I.clear(),this.#L=null,this.#R=!1,this.#z.clear(),this.#B.clear(),this.#V?.then(e=>e?.close()),this.#V=null,this.#H.clear(),this.#W.clear(),this.#U=null,this.#b=!1,this.#_=0,this.#v=0,clearTimeout(this.#y),this.#o=[],this.#s=0,this.#a&&=(this.#a.onaudioprocess=null,this.#a.disconnect(),null),this.#i&&=(this.#i.disconnect(),null),this.#r&&=(this.#r.getTracks().forEach(e=>e.stop()),null),this.#t&&=(this.#t.close().catch(()=>{}),null),this.#c&&=(this.#c.destroy(),null),this.#e){this.#f=!0;try{this.#e.close(1e3,`client ended call`)}catch{}this.#e=null}}onResult(e){this.#G.push(e)}onError(e){this.#K.push(e)}onStatusChange(e){this.#q.push(e)}onTranscript(e){this.#J.push(e)}onMetrics(e){this.#Y.push(e)}#be(e){this.#q.forEach(t=>t(e))}#xe(e){this.#K.forEach(t=>t(e))}#Se(e,t,n,r){this.#J.forEach(i=>i(e,t,n,r))}#Ce(e){this.#Y.forEach(t=>t(e))}},dS=class{#e;#t;#n;#r;#i;#a;constructor(e={}){this.config=e,this.type=`browser`,this.#e=null,this.#t=[],this.#n=[],this.#r=[],this.#i=!1,this.#a=typeof window<`u`?window:void 0}async connect(){this.#r.forEach(e=>e(`connected`))}async startListening(){try{if(this.#i)throw Error(`Already listening`);if(!this.#a)throw Error(`Window object not available`);let e=this.#a.SpeechRecognition||this.#a.webkitSpeechRecognition;if(!e)throw Error(`Browser speech recognition not supported`);this.#e=new e,this.#e.lang=this.config?.language||`en-US`,this.#e.continuous=this.config?.continuous||!1,this.#e.interimResults=!0,this.#e.onresult=e=>{let t=Array.from(e.results).map(e=>e[0]).map(e=>e.transcript).join(``),n=e.results[e.results.length-1].isFinal;this.#t.forEach(e=>e({text:t,confidence:n?.8:.5,provider:`browser`})),n&&!this.config?.continuous&&this.stopListening()},this.#e.onerror=e=>{this.#n.forEach(t=>t(Error(e.error))),this.#r.forEach(e=>e(`error`))},this.#e.onstart=()=>{this.#i=!0,this.#r.forEach(e=>e(`listening`))},this.#e.onend=()=>{this.#i=!1,this.#r.forEach(e=>e(`idle`))},this.#e.start()}catch(e){throw this.#n.forEach(t=>t(e)),this.#r.forEach(e=>e(`error`)),e}}async stopListening(){this.#e&&=(this.#e.stop(),null),this.#i=!1,this.#r.forEach(e=>e(`idle`))}onResult(e){this.#t.push(e)}onError(e){this.#n.push(e)}onStatusChange(e){this.#r.push(e)}async disconnect(){await this.stopListening(),this.#r.forEach(e=>e(`disconnected`))}static isSupported(){return`SpeechRecognition`in window||`webkitSpeechRecognition`in window}};function fS(e){switch(e.type){case`runtype`:if(!e.runtype)throw Error(`Runtype voice provider requires configuration`);return new uS(e.runtype);case`browser`:if(!dS.isSupported())throw Error(`Browser speech recognition not supported`);return new dS(e.browser||{});case`custom`:{let t=e.custom;if(!t)throw Error("Custom voice provider requires a `custom` provider instance or factory");let n=typeof t==`function`?t():t;if(!n||typeof n.startListening!=`function`)throw Error("Custom voice provider `custom` must be a VoiceProvider (or a factory returning one)");return n}default:throw Error(`Unknown voice provider type: ${e.type}`)}}function pS(e){if(e?.type===`custom`&&e.custom)return fS({type:`custom`,custom:e.custom});if(e?.type===`runtype`&&e.runtype)return fS({type:`runtype`,runtype:e.runtype});if(dS.isSupported())return fS({type:`browser`,browser:e?.browser||{language:`en-US`}});throw Error(`No supported voice providers available`)}function mS(e){try{return pS(e),!0}catch{return!1}}const hS=(e,t)=>({ok:!1,reason:e,message:t}),gS=e=>e.startsWith(`webmcp:`)?e.slice(7):e,_S={warn(e,...t){typeof console<`u`&&typeof console.warn==`function`&&console.warn(`[Persona/WebMCP] ${e}`,...t)}};var vS=class{#e;#t;#n=!1;#r=null;#i=!1;#a;constructor(e,t){this.config=e,this.#a=t,this.#e=e.onConfirm??null,this.#t=3e4}setConfirmHandler(e){this.#e=e}isOperational(){return this.config.enabled!==!0||!this.#n?!1:this.#l()!==null}async snapshotForDispatch(){if(await this.#s(),this.config.enabled!==!0)return[];let e=this.#l();if(!e)return[];let t;try{t=(await e.getTools()).filter(AS)}catch(e){return _S.warn(`getTools() threw: shipping an empty WebMCP snapshot.`,e),[]}this.#a.recordToolDisplayTitles(t);let n=typeof location<`u`?location.origin:``;return t.filter(e=>this.#d(e.name)).map(e=>{let t=xS(e.annotations);return{name:e.name,description:e.description,parametersSchema:SS(e.inputSchema),origin:`webmcp`,...n?{pageOrigin:n}:{},...t?{annotations:t}:{},...t?.untrustedContentHint===!0?{untrustedContentHint:!0}:{}}})}async executeToolCall(e,t,n,r){let i=await this.#o(e,t,n,!1,r);return i.ok?CS(i.raw):TS(i.message)}async executeVoiceToolCall(e,t,n={}){let r=await this.#o(e,t,n.signal,n.autoConfirmReadOnly===!0);return r.ok?DS(r.raw):{status:r.reason===`aborted`?`failed`:r.reason,error:{message:r.message}}}watchToolChanges(e){let t=!1,n=null;return this.#s().then(()=>{if(t||this.config.enabled!==!0)return;let r=this.#l();r&&typeof r.addEventListener==`function`&&(n=r,n.addEventListener(`toolchange`,e))}),()=>{t=!0,n?.removeEventListener(`toolchange`,e),n=null}}async#o(e,t,n,r,i){if(await this.#s(),this.config.enabled!==!0)return hS(`failed`,`WebMCP is not enabled on this widget.`);let a=this.#l();if(!a){let e=typeof document<`u`&&!!document.modelContext;return hS(`failed`,e?`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 o=gS(e),s;try{s=(await a.getTools()).filter(AS)}catch(e){let t=e instanceof Error?e.message:String(e);return hS(`failed`,`Failed to read WebMCP registry: ${t}`)}this.#a.recordToolDisplayTitles(s);let c=s.find(e=>e.name===o);if(!c)return hS(`stale`,`WebMCP tool not registered on this page: ${o}`);if(!this.#d(o))return hS(`stale`,`WebMCP tool not allowed by client allowlist: ${o}`);if(n?.aborted)return hS(`aborted`,`Aborted by cancel()`);let l=this.#a.getToolDisplayTitle(o),u=xS(c.annotations),d={toolName:o,...i?{toolCallId:i}:{},args:t,description:c.description,...u?{annotations:u}:{},...l?{title:l}:{},...n?{signal:n}:{},reason:`gate`};if(!(r&&u?.readOnlyHint===!0)&&!await this.#u(d))return hS(`denied`,`User declined the tool call.`);if(n?.aborted)return hS(`aborted`,`Aborted by cancel()`);let f=new AbortController,p=!1,m=setTimeout(()=>{p=!0,f.abort()},this.#t),h=()=>f.abort();n&&(n.aborted?f.abort():n.addEventListener(`abort`,h,{once:!0}));try{return{ok:!0,raw:await a.executeTool(c,wS(t),{signal:f.signal})}}catch(e){if(p)return hS(`timeout`,`WebMCP tool '${o}' timed out after ${this.#t}ms`);if(n?.aborted)return hS(`aborted`,`Aborted by cancel()`);let t=e instanceof Error?e.message:String(e);return hS(`failed`,t)}finally{clearTimeout(m),n&&n.removeEventListener(`abort`,h)}}#s(){return this.config.enabled===!0?(this.#r||=this.#c(),this.#r):Promise.resolve()}async#c(){try{if(this.#l()){this.#n=!0;return}let e=await this.#a.loadPolyfill();`initializeWebMCPPolyfill`in e?e.initializeWebMCPPolyfill():e.installWebMCP(),this.#n=!0}catch(e){_S.warn(`Failed to load @mcp-b/webmcp-polyfill: WebMCP consumption disabled.`,e),this.#n=!1}}#l(){if(typeof document>`u`)return null;let e=document.modelContext;if(!e||typeof e!=`object`)return null;let t=e;return typeof t.getTools!=`function`||typeof t.executeTool!=`function`?(this.#i||(this.#i=!0,_S.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#u(e){let t=this.#e??OS;try{return await t(e)}catch(t){return _S.warn(`Confirm handler threw for WebMCP tool '${e.toolName}'; declining.`,t),!1}}#d(e){let t=this.config.allowlist;return!t||t.length===0||t.some(t=>yS(e,t))}};const yS=(e,t)=>{if(t===`*`)return!0;let n=t.replace(/[.+?^${}()|[\]\\]/g,`\\$&`);return RegExp(`^`+n.replace(/\*/g,`.*`)+`$`).test(e)},bS={type:`object`,properties:{}},xS=e=>{if(!e||typeof e!=`object`)return;let t={};for(let n of[`readOnlyHint`,`destructiveHint`,`consequentialHint`,`untrustedContentHint`,`idempotentHint`,`openWorldHint`,`debugging`]){let r=e[n];typeof r==`boolean`&&(t[n]=r)}return Object.keys(t).length>0?t:void 0},SS=e=>{if(e===void 0||e===``)return{...bS};if(typeof e==`object`)return e!==null&&!Array.isArray(e)?e:{...bS};try{let t=JSON.parse(e);return typeof t==`object`&&t&&!Array.isArray(t)?t:{...bS}}catch{return{...bS}}},CS=e=>{if(e==null)return{content:[{type:`text`,text:``}]};let t;try{t=JSON.parse(e)}catch{return{content:[{type:`text`,text:e}]}}return typeof t==`object`&&t&&Array.isArray(t.content)?t:{content:[{type:`text`,text:typeof t==`string`?t:jS(t)}]}},wS=e=>{let t;try{t=JSON.stringify(e)??`{}`}catch{t=`{}`}let n=JSON.parse(t);if(typeof n!=`object`||!n)throw TypeError(`WebMCP tool arguments must be an object or array.`);return Object.defineProperty(n,Symbol.toPrimitive,{value:()=>t}),n},TS=e=>({isError:!0,content:[{type:`text`,text:e}]}),ES=e=>Array.isArray(e)?e.map(e=>e&&typeof e==`object`&&typeof e.text==`string`?e.text:``).filter(Boolean).join(`
467
- `):``,DS=e=>{if(e==null)return{status:`completed`};let t;try{t=JSON.parse(e)}catch{return{status:`completed`,result:e}}return typeof t==`object`&&t&&t.isError===!0?{status:`failed`,error:{message:ES(t.content)||`The page tool reported an error.`}}:t===void 0?{status:`completed`}:{status:`completed`,result:t}},OS=async e=>{if(typeof window>`u`||typeof window.confirm!=`function`)return!1;let t=kS(e.args),n=`Allow the AI to call ${e.toolName}`+(t?`\n\nArguments:\n${t}`:``)+(e.description?`\n\n${e.description}`:``);return window.confirm(n)},kS=e=>{if(e==null)return``;try{let t=JSON.stringify(e,null,2);return t.length>500?t.slice(0,500)+`…`:t}catch{return String(e)}},AS=e=>(e.window===void 0||typeof window<`u`&&e.window===window)&&(e.origin===void 0||typeof location<`u`&&e.origin===location.origin),jS=e=>{if(e===void 0)return``;try{return JSON.stringify(e)}catch{return String(e)}};Gn();var MS=class extends vS{constructor(e){super(e,{recordToolDisplayTitles:zn,getToolDisplayTitle:Bn,loadPolyfill:Wn})}};function NS(e,t){if(!e)return!0;let n=0;for(let r=0;r<t.length&&n<e.length;r++)t[r]===e[n]&&n++;return n===e.length}function PS(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n.startsWith(r)?0:e.replace(/([a-z])([A-Z])/g,`$1 $2`).split(/[\s\-_/.]+/).some(e=>e.toLowerCase().startsWith(r))?1:NS(r,n)?2:3}function FS(e,t){let n=e.recencyScore??0,r=t.recencyScore??0;return r===n?e.label.localeCompare(t.label):r-n}function IS(e,t){let n=t.trim();if(!n)return[...e].sort(FS);let r=[];for(let t of e){let e=PS(t.label,n);e!==3&&r.push({item:t,tier:e})}return r.sort((e,t)=>e.tier===t.tier?FS(e.item,t.item):e.tier-t.tier),r.map(e=>e.item)}function LS(e){let t=e.replace(/^\s+/,``),n=t.search(/\s/);return n===-1?{name:t,args:``}:{name:t.slice(0,n),args:t.slice(n+1).trim()}}function RS(e){return{id:e.id,label:e.label,resolveOn:e.resolveOn,search:t=>IS(e.items,t),resolve:e.resolve}}function zS(e){let t=e.commands.map(e=>({id:e.name,label:e.name,description:e.description,iconName:e.iconName,command:e.kind??`prompt`,insertMode:e.insertMode,submitOnSelect:e.submitOnSelect,action:e.action,commandArgsPlaceholder:e.argsPlaceholder})),n=new Map(e.commands.map(e=>[e.name,e])),r=new Map(t.map(e=>[e.id,e]));return{id:e.id,label:e.label,matchCommand:e=>r.get(e),resolveOn:`submit`,search:e=>IS(t,LS(e).name),resolve:(e,t)=>{let r=n.get(e.id);return r?r.kind===`server`?{context:(typeof r.data==`function`?r.data(t.args):r.data)??{}}:{insertText:typeof r.prompt==`function`?r.prompt(t.args):r.prompt??``}:{}}}}function BS(e,t){let n=t.orientation??`horizontal`,r=n===`vertical`?`ArrowUp`:`ArrowLeft`,i=n===`vertical`?`ArrowDown`:`ArrowRight`;e.setAttribute(`role`,`tablist`);let a=[],o=!1,s=e=>{typeof e.scrollIntoView==`function`&&e.scrollIntoView({block:`nearest`,inline:`nearest`})},c=e=>{let t=e;return a.findIndex(e=>e===t||e.contains(t))},l=e=>{let n=c(e.target);if(n<0)return;let o=n;if(e.key===i)o=Math.min(n+1,a.length-1);else if(e.key===r)o=Math.max(n-1,0);else if(e.key===`Home`)o=0;else if(e.key===`End`)o=a.length-1;else return;e.preventDefault(),o!==n&&t.onSelect(o)},u=e=>{let t=c(e.target);t>=0&&s(a[t])};return e.addEventListener(`keydown`,l),e.addEventListener(`focusin`,u),{beforeRender(){o=typeof document<`u`&&e.contains(document.activeElement)},render(e,t){if(a=e,e.forEach((e,n)=>{e.setAttribute(`role`,`tab`);let r=n===t;e.setAttribute(`aria-selected`,r?`true`:`false`),e.tabIndex=r||t<0&&n===0?0:-1}),o){let n=(t>=0?e[t]:void 0)??e[0];n&&typeof n.focus==`function`&&(s(n),n.focus())}},destroy(){e.removeEventListener(`keydown`,l),e.removeEventListener(`focusin`,u)}}}Nn(),Gn(),cr(),Q(),ra(),sa(),Ma(),Es(),Gs();export{aa as ASK_USER_QUESTION_CLIENT_TOOL,ia as ASK_USER_QUESTION_PARAMETERS_SCHEMA,Kr as ASK_USER_QUESTION_TOOL_NAME,Rd as AgentWidgetClient,zf as AgentWidgetSession,Gf as AttachmentManager,mf as BrowserSpeechEngine,qp as DEFAULT_COMPONENTS,_s as DEFAULT_FLOATING_LAUNCHER_MAX_WIDTH,gs as DEFAULT_FLOATING_LAUNCHER_WIDTH,Vp as DEFAULT_PALETTE,Wp as DEFAULT_SEMANTIC,Ts as DEFAULT_WIDGET_CONFIG,zd as HistoryProviderError,sx as PRESETS,ox as PRESET_FULLSCREEN,ax as PRESET_MINIMAL,ix as PRESET_SHOP,hf as ReadAloudController,Ji as SUGGEST_REPLIES_CLIENT_TOOL,qi as SUGGEST_REPLIES_PARAMETERS_SCHEMA,Ki as SUGGEST_REPLIES_TOOL_NAME,um as THEME_ZONES,ja as VERSION,Ln as WEBMCP_TOOL_PREFIX,MS as WebMcpBridge,ux as accessibilityPlugin,dx as animationsPlugin,zv as applyFeaturePreferences,Am as applyThemeVariables,sg as attachHeaderToContainer,fx as brandPlugin,hg as buildComposer,cg as buildDefaultHeader,og as buildHeader,pg as buildHeaderWithLayout,ug as buildMinimalHeader,oa as builtInClientToolsForDispatch,Kn as canonicalArtifactDisplayMode,ex as collectEnrichedPageContext,Zl as componentRegistry,hy as createActionManager,$y as createAgentExperience,Bi as createAskUserQuestionBubble,pS as createBestAvailableVoiceProvider,t_ as createBubbleWithLayout,Ly as createCSATFeedback,Xl as createComboButton,lf as createComponentMiddleware,of as createComponentStreamParser,Xu as createDefaultSanitizer,eS as createDemoCarousel,Ku as createDirectivePostprocessor,Gl as createDropdownMenu,or as createFlexibleJsonStreamParser,Kl as createIconButton,Ms as createImagePart,ar as createJsonStreamParser,ql as createLabelButton,by as createLocalStorageAdapter,Ru as createMarkdownProcessor,zu as createMarkdownProcessorFromConfig,$g as createMessageActions,Ry as createNPSFeedback,rr as createPlainTextParser,gx as createPlugin,ir as createRegexJsonParser,BS as createRovingTablist,zS as createSlashCommandsSource,Yl as createSplitButton,e_ as createStandardBubble,RS as createStaticMentionSource,js as createTextPart,em as createTheme,Mm as createThemeObserver,Jl as createToggleGroup,Ug as createTypingIndicator,fS as createVoiceProvider,vb as createWidgetHostLayout,sr as createXmlParser,lx as default,py as defaultActionHandlers,dy as defaultJsonActionParser,IS as defaultMentionFilter,zb as defaultParseRules,xm as detectColorScheme,qu as directivePostprocessor,Vi as ensureAskUserQuestionSheet,Hu as escapeHtml,ff as extractComponentDirectiveFromMessage,Ns as fileToImagePart,tx as formatEnrichedContext,Wc as generateAssistantMessageId,Rx as generateCodeSnippet,Hc as generateMessageId,qb as generateStableSelector,Uc as generateUserMessageId,Em as getActiveTheme,Cb as getAgentWidgetHandles,Cm as getColorScheme,Os as getDisplayText,fg as getHeaderLayout,As as getImageParts,cx as getPreset,df as hasComponentDirective,ks as hasImages,dg as headerLayouts,mx as highContrastPlugin,wb as initAgentWidget,fi as isAskUserQuestionMessage,sf as isComponentDirectiveType,Rh as isDockedMountMode,Bd as isHistoryProviderError,Zi as isSuggestRepliesMessage,mS as isVoiceSupported,Un as isWebMcpToolName,C_ as isWelcomeVisible,$i as latestAgentSuggestions,fh as listRegisteredStreamAnimations,un as loadMarkdownParsers,Vu as markdownPostprocessor,hs as mergeWithDefaults,Ds as normalizeContent,qn as normalizeMediaType,dn as onMarkdownParsersReady,mi as parseAskUserQuestionPayload,Qi as parseSuggestRepliesPayload,Nv as parseWidgetPreferenceSlice,pf as pickBestVoice,qv as pluginRegistry,Iu as preprocessStreamingMarkdown,px as reducedMotionPlugin,On as registerIcons,uh as registerStreamAnimationPlugin,Hi as removeAskUserQuestionSheet,cf as renderComponentDirective,Wg as renderLoadingIndicatorWithFallback,K as renderLucideIcon,Yn as resolveArtifactDisplay,Xn as resolveArtifactDisplayMode,Bv as resolveConfigPreferences,Bh as resolveDockConfig,Zu as resolveSanitizer,Zp as resolveTokens,y_ as resolveWelcomeConfig,Hn as stripWebMcpPrefix,lm as themeToCssVariables,dh as unregisterStreamAnimationPlugin,Ps as validateImageFile,Qp as validateTheme};
466
+ `)}function sS(e){return e.byteLength>=44&&new DataView(e).getUint32(0,!1)===1380533830?new Uint8Array(e,44):new Uint8Array(e)}function cS(e){let t=e.replace(/\/+$/,``);return/^wss?:\/\//i.test(t)?t:/^https?:\/\//i.test(t)?t.replace(/^http/i,`ws`):`${typeof window<`u`&&window.location?.protocol===`https:`?`wss:`:`ws:`}//${t}`}function lS(e){return cS(e).replace(/^ws/i,`http`)}function uS(e){return typeof e!=`number`||!Number.isFinite(e)?3e4:Math.min(6e5,Math.max(3e4,Math.round(e)))}var dS=class{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;#C;#w;#T;#E;#D;#O;#k;#A;#j;#M;#N;#P;#F;#I;#L;#R;#z;#B;#V;#H;#U;#W;#G;#K;#q;#J;#Y;constructor(e){this.config=e,this.type=`runtype`,this.#e=null,this.#t=null,this.#n=[],this.#r=null,this.#i=null,this.#a=null,this.#o=[],this.#s=0,this.#c=null,this.#l=!1,this.#u=!1,this.#d=0,this.#f=!1,this.#p=-1/0,this.#m=null,this.#h=!1,this.#g=!1,this.#_=0,this.#v=0,this.#b=!1,this.bridge=null,this.#x=!1,this.#S=/* @__PURE__ */ new Set,this.#C=/* @__PURE__ */ new Map,this.#w=/* @__PURE__ */ new Set,this.#E=null,this.#D=null,this.#k=!1,this.#A=!1,this.#j=!1,this.#M=null,this.#N=null,this.#P=Promise.resolve(),this.#F=/* @__PURE__ */ new Set,this.#I=/* @__PURE__ */ new Set,this.#L=null,this.#R=!1,this.#z=/* @__PURE__ */ new Set,this.#B=/* @__PURE__ */ new Set,this.#V=null,this.#H=/* @__PURE__ */ new Set,this.#U=null,this.#W=/* @__PURE__ */ new Map,this.#G=[],this.#K=[],this.#q=[],this.#J=[],this.#Y=[]}async connect(){}setSessionBridge(e){this.bridge=e}prewarm(){if(this.#l||this.#m)return;let e=this.config?.agentId,t=this.config?.clientToken,n=this.config?.host;if(!e||!t||!n)return;let r=Date.now();if(!(r-this.#p<3e4)){this.#p=r;try{this.config?.prewarmMode===`attach`?this.#Z(n,e,t):this.#X(n,e,t)}catch{}}}#X(e,t,n){if(typeof fetch!=`function`)return;let r=`${lS(e)}/v1/client/agents/${encodeURIComponent(t)}/voice/prewarm`;fetch(r,{method:`POST`,headers:{Authorization:`Bearer ${n}`},keepalive:!0}).catch(()=>{})}#Z(e,t,n){let r=new URLSearchParams,i=this.config?.attachIdleMs,a=uS(i);i!==void 0&&r.set(`attachIdleMs`,String(a));let o=new WebSocket(this.#te(e,t,r),[`runtype.bearer`,`runtype.attach`,n]);o.binaryType=`arraybuffer`;let s=()=>{},c={ws:o,state:`connecting`,ready:new Promise(e=>{s=e}),settle:s,openedAt:0,idleTimer:void 0};this.#m=c,o.onopen=()=>{this.#m===c&&(c.state=o.protocol===`runtype.attach`?`attached`:`live`,c.openedAt=Date.now(),this.#Q(c,a),c.state===`attached`&&o.send(`{"type":"ping"}`),c.settle())},o.onmessage=e=>{if(this.#m!==c||typeof e.data!=`string`)return;let t;try{t=JSON.parse(e.data)}catch{return}t.type===`attached`&&typeof t.idleMs==`number`&&this.#Q(c,t.idleMs-(Date.now()-c.openedAt))},o.onerror=()=>{},o.onclose=()=>{this.#m===c&&this.#$()}}#Q(e,t){clearTimeout(e.idleTimer),e.idleTimer=setTimeout(()=>{this.#m===e&&this.#$()},Math.max(0,t))}#$(){let e=this.#m;if(!e)return;this.#m=null,clearTimeout(e.idleTimer);let{ws:t}=e;if(t.onopen=null,t.onmessage=null,t.onerror=null,t.onclose=null,e.settle(),t.readyState===WebSocket.CONNECTING||t.readyState===WebSocket.OPEN)try{t.close(1e3,`prewarm released`)}catch{}}async#ee(){let e=this.#m;if(!e)return null;if(e.state===`connecting`){let t;await Promise.race([e.ready,new Promise(e=>{t=setTimeout(e,5e3)})]),clearTimeout(t)}return this.#m===e?e.state===`connecting`||e.ws.readyState!==WebSocket.OPEN?(this.#$(),null):(this.#m=null,clearTimeout(e.idleTimer),{ws:e.ws,live:e.state===`live`}):null}#te(e,t,n){let r=`partial_transcript,context`;this.bridge&&this.config?.clientDelegation!==!1&&(r+=`,client_delegation,delegation_update,delegation_read_back,delegation_stream`,this.bridge.clientTools?.()&&(r+=`,client_tools,prior_tool_results`)),n&&(r=`attach,${r}`);let i=new URLSearchParams({voiceProtocol:`runtype-browser-v1`,clientVersion:`persona/${Ma}`,voiceCapabilities:`full-duplex-v1`,clientCapabilities:r});return n?.forEach((e,t)=>i.set(t,e)),`${cS(e)}/ws/agents/${encodeURIComponent(t)}/voice?${i}`}async startListening(){if(this.#l)return;let e=this.#A;e||(this.#k=!1,this.#D=null),this.#A=!1;let t=this.config?.agentId,n=this.config?.clientToken,r=this.config?.host;if(!t)throw Error(`Runtype voice requires an agentId`);if(!n)throw Error(`Runtype voice requires a clientToken`);if(!r)throw Error(`Runtype voice requires a host (or widget apiUrl)`);let i=++this.#d;this.#f=!1,this.#l=!0;try{let a=await navigator.mediaDevices.getUserMedia({audio:{sampleRate:nS,channelCount:1,echoCancellation:!0}});if(i!==this.#d){a.getTracks().forEach(e=>e.stop());return}this.#r=a;let o=new(window.AudioContext||window.webkitAudioContext)({sampleRate:nS});if(this.#t=o,o.state===`suspended`){if(await Promise.race([o.resume().catch(()=>{}),new Promise(t=>setTimeout(t,e?500:1e3))]),i!==this.#d)return;if(o.state!==`running`)throw Error(e?this.#D=`${aS} Tap the mic to reconnect.`:`Audio blocked until a tap`)}let s=this.config?.createPlaybackEngine?await this.config.createPlaybackEngine():new Sf(24e3);if(i!==this.#d){s.destroy(),a.getTracks().forEach(e=>e.stop()),o.close().catch(()=>{});return}this.#c=s,this.#he(),this.#ie(o,a,i);let c=await this.#ee();if(i!==this.#d){c?.ws.close(1e3,`client ended call`);return}if(c){let{ws:e}=c;this.#e=e,this.#ne(e,i),c.live||e.send(`{"type":"start"}`),this.#ae(e),this.#be(`listening`);return}let l=new WebSocket(this.#te(r,t),[`runtype.bearer`,n]);l.binaryType=`arraybuffer`,this.#e=l,l.onopen=()=>{i===this.#d&&(this.#ae(l),this.#be(`listening`))},this.#ne(l,i)}catch(e){throw this.#ye(),this.#xe(e),this.#be(`error`),e}}#ne(e,t){e.onmessage=e=>this.#oe(e,t),e.onerror=()=>{t!==this.#d||this.#E||(this.#xe(/* @__PURE__ */ Error(`Voice connection failed`)),this.#be(`error`),this.#ye())},e.onclose=e=>{if(this.#f){this.#f=!1;return}if(t!==this.#d)return;let n=this.#E??(e.code===4408?{reason:`idle_timeout`}:null);if(n)this.#re(n.reason,n.message);else{if(e.code!==1e3){let t=e.code?` (code ${e.code})`:``;this.#xe(/* @__PURE__ */ Error(`Voice connection closed${t}`)),this.#be(`error`)}else this.#be(`idle`);this.#ye()}}}#re(e,t){let n=iS.includes(e)&&!this.#k;if(this.#ye(),n)this.#k=!0,this.#l=!0,this.#D=e===`provider_error`?`${aS} Reconnecting…`:`Reconnecting…`,this.#O=setTimeout(()=>{this.#l=!1,this.#A=!0,this.startListening().catch(()=>{})},1e3+Math.random()*1e3),this.#be(`idle`);else{if(iS.includes(e))return this.#D=aS,this.#xe(/* @__PURE__ */ Error(aS)),this.#be(`error`);if(e===`error`)return this.#be(`error`);this.#D=e===`quota`&&t||rS.get(e)||null,this.#be(`idle`)}}takeNotice(){let e=this.#D;return this.#D=null,e}getDisclosure(){let e=this.config?.disclosureText;return this.#l&&this.#h&&e!==!1?e||`You're talking to an AI assistant. Voice is processed by OpenAI.`:null}async stopListening(){this.#ye(),this.#be(`idle`)}async disconnect(){this.#ye(),this.#be(`disconnected`),this.#G=[],this.#K=[],this.#q=[],this.#J=[],this.#Y=[]}stopPlayback(){this.#ve();let e=this.#e;e&&e.readyState===WebSocket.OPEN&&(this.#h&&(this.#_=Date.now()+2e3,e.send(`{"type":"cancel"}`)),this.#be(`listening`))}getInterruptionMode(){return`barge-in`}isBargeInActive(){return this.#l}onLevel(e){this.#n.push(e)}async deactivateBargeIn(){this.#ye(),this.#be(`idle`)}#ie(e,t,n){let r=e.createMediaStreamSource(t);this.#i=r;let i=e.createScriptProcessor(4096,1,1);this.#a=i,i.onaudioprocess=e=>{if(n!==this.#d)return;let t=this.#e,r=t?.readyState===WebSocket.OPEN;if(t&&!r&&t.readyState!==WebSocket.CONNECTING)return;let i=e.inputBuffer.getChannelData(0),a=new Int16Array(i.length),o=0;for(let e=0;e<i.length;e++){let t=Math.max(-1,Math.min(1,i[e]));o+=t*t,a[e]=t<0?t*32768:t*32767}if(t&&r)this.#ae(t),t.send(a.buffer);else for(this.#o.push(a.buffer),this.#s+=a.byteLength;this.#s>256e3;)this.#s-=this.#o.shift().byteLength;if(this.#n.length>0){let e=Math.sqrt(o/i.length),t=Math.max(0,Math.min(1,e*4));for(let e of this.#n)e(t)}},r.connect(i),i.connect(e.destination)}#ae(e){for(let t of this.#o)e.send(t);this.#o=[],this.#s=0}#oe(e,t){if(t!==this.#d)return;if(e.data instanceof ArrayBuffer){this.#pe(e.data,t);return}let n;try{n=JSON.parse(e.data)}catch{return}switch(n.type){case`session_config`:n.speechMode&&(this.#h=n.speechMode===`speech_to_speech`,this.#c?.setContinuousMode?.(this.#h)),Array.isArray(n.capabilities)&&(this.#S=new Set(n.capabilities)),typeof n.callId==`string`&&(this.#T=n.callId),this.#x=this.#h&&this.#S.has(`client_delegation`)&&!!this.bridge,this.#h&&!this.#u&&this.#be(`listening`),this.#S.has(`context`)&&!this.#j&&(this.#j=!0,this.#M=this.#se()),this.#x&&this.#S.has(`client_tools`)&&!this.#V&&(this.#V=this.bridge.clientTools?.()?.open({send:e=>{let n=this.#e;return t!==this.#d||n?.readyState!==WebSocket.OPEN?!1:(n.send(JSON.stringify(e)),!0)},cancelled:e=>this.#w.has(e)}).catch(()=>null)??null);break;case`client_tool_call`:{let e=String(n.delegationId);this.#V&&!this.#W.has(e)&&(this.#W.set(e,this.#U),this.#F.add(e)),this.#V?.then(e=>e?.call(n));break}case`transcript_update`:{let e=n.role===`assistant`?`assistant`:`user`,r=n.utteranceId??n.turnId;if(!r||e===`assistant`&&this.#me())break;let i=String(r);if(e===`user`)n.final===!0&&(this.#ce(t),this.#U={id:i,text:String(n.text??``)}),this.#R=!1;else{if(this.#S.has(`delegation_read_back`)){let e=n.delegationId;(typeof e==`string`&&this.#F.has(e)&&!this.#z.has(i)||this.#R&&!this.#z.has(i))&&(this.#B.add(i),this.#R=!1)}else this.#R&&!this.#z.has(i)&&(this.#B.add(i),this.#R=!1);if(this.#z.add(i),this.#B.has(i))break}this.#Se(e,n.text??``,n.final===!0,{turnId:i,...typeof n.startMs==`number`&&{startMs:n.startMs},...typeof n.endMs==`number`&&{endMs:n.endMs},...this.#x&&{caption:!0}});break}case`delegation_started`:case`delegation_completed`:{let e=String(n.delegationId??n.turnId);if(n.type===`delegation_started`){this.#ce(t),this.#H.add(e),this.#F.delete(e),this.#W.delete(e)&&this.#V?.then(t=>t?.abort(e));let r=n.input;this.#x&&r&&this.#fe(e,{delegationId:e,userText:String(r.text??``),userUtteranceIds:Array.isArray(r.userUtteranceIds)?r.userUtteranceIds.filter(e=>typeof e==`string`):[],messages:Array.isArray(r.messages)?r.messages:[],priorToolResults:r.priorToolResults},t)}else if(n.route===`direct`&&this.#V&&!this.#H.has(e)){let t=this.#W.get(e)??this.#U;this.#W.delete(e),this.#H.add(e),this.#F.add(e),this.bridge?.recordDirectTurn?.({delegationId:e,userText:t?.text??``,userUtteranceIds:t?[t.id]:[],assistantText:typeof n.text==`string`?n.text:``})}n.type===`delegation_completed`&&n.speak!==!1&&this.#F.has(e)&&!this.#I.delete(e)&&!this.#S.has(`delegation_read_back`)&&this.#ue(e),this.#g=n.type===`delegation_started`,!this.#u&&!this.#me()&&this.#be(this.#g?`processing`:`listening`);break}case`delegation_progress`:{let e=String(n.delegationId);this.#F.has(e)&&!this.#I.has(e)&&!this.#w.has(e)&&(this.#I.add(e),this.#ue(e));break}case`delegation_cancelled`:this.#de(String(n.delegationId),n.reason!==`session_ending`&&n.reason!==`provider_cancelled`);break;case`warning`:console.warn(`[Persona voice] ${n.code}: ${n.message??``}`,this.#T??``),n.delegationId&&(n.code===`UNKNOWN_DELEGATION`||n.code===`LATE_RESULT_LIMIT`)&&this.#de(String(n.delegationId));break;case`audio_clear`:this.#ve(),this.#_=0,this.#be(`listening`);break;case`transcript_interim`:this.#be(`listening`),this.#Se(`user`,n.text??``,!1);break;case`transcript_final`:{let e=n.role===`assistant`?`assistant`:`user`;this.#be(e===`user`?`processing`:`speaking`),this.#Se(e,n.text??``,!0);break}case`audio_end`:this.#c?this.#c.markStreamEnd():(this.#u=!1,this.#be(`listening`));break;case`metrics`:this.#Ce({llmMs:n.llm_ms,ttsMs:n.tts_ms,firstAudioMs:n.first_audio_ms,totalMs:n.total_ms});break;case`error`:this.#xe(Error(n.error||`Voice error`)),this.#be(`error`);break;case`session_end`:this.#E={reason:String(n.reason),...typeof n.message==`string`&&{message:n.message}}}}async#se(){let e=this.bridge?.getHistory()??[],t=``;try{let e=this.config?.callContext;t=String((typeof e==`function`?await e():e)??``)}catch{}return oS(e,t)}#ce(e){let t=this.#M;if(!t)return;this.#M=null;let n=!1,r=t.then(t=>{let r=this.#e;!n&&t&&e===this.#d&&r?.readyState===WebSocket.OPEN&&r.send(JSON.stringify({type:`context`,text:t}))});this.#N={done:r,drop:()=>n=!0}}async#le(){let e=this.#N;if(!e)return;let t,n=await Promise.race([e.done.then(()=>!1),new Promise(e=>{t=setTimeout(()=>e(!0),2e3)})]);clearTimeout(t),n&&e.drop()}#ue(e){this.#R=!0,this.#L=e}#de(e,t=!1){this.#w.add(e),this.#L===e&&(this.#R=!1),this.#I.delete(e),this.#H.has(e)||this.#F.delete(e),this.#V?.then(t=>t?.abort(e)),this.bridge?.dropDelegation?.(e,t),this.#C.get(e)?.abort()}#fe(e,t,n){let r=this.bridge,i=({type:t,...r})=>{let i=this.#e;return n!==this.#d||i?.readyState!==WebSocket.OPEN||this.#w.has(e)?!1:(i.send(JSON.stringify({type:t,delegationId:e,...r})),!0)},a=(e,t,n,r=0)=>i({type:e,status:t,text:n,...r>0&&{streamedChars:r}});this.#P=this.#P.then(async()=>{if(n!==this.#d||this.#w.has(e))return;let o=null,s=this.#S.has(`delegation_stream`)&&this.#S.has(`delegation_read_back`),c=t=>{o=(o??this.#le()).then(()=>{i({type:`delegation_delta`,text:t})&&this.#F.add(e)})},l=await r.runDelegatedTurn(s?{...t,stream:c}:t).catch(()=>({status:`failed`,text:``}));await this.#le(),await o;let u=s?l.streamedChars??0:0,d=!!l.followUp,f=d&&this.#S.has(`delegation_update`);if(!a(f?`delegation_update`:`delegation_result`,d&&!f?`completed`:l.status,l.text,u)||(l.status!==`failed`&&l.inChat!==!1&&this.#F.add(e),!l.followUp))return;let p=new AbortController;this.#C.set(e,p),l.followUp({signal:p.signal,approvalTimeoutMs:this.config?.approvalTimeoutMs&&Math.min(this.config.approvalTimeoutMs,54e4),readBack:f,onUpdate:e=>a(`delegation_update`,`pending_approval`,e)}).then(t=>{this.#C.delete(e),f&&t&&!p.signal.aborted&&a(`delegation_result`,t.status,t.text)})})}#pe(e,t){if(t!==this.#d||!this.#c||this.#me())return;let n=sS(e);n.length!==0&&(this.#u||(this.#u=!0,this.#be(`speaking`)),this.#he(),this.#c.enqueue(n),this.#h&&this.#ge(n.length))}#me(){return Date.now()<this.#_}#he(){if(this.#b||!this.#c)return;this.#b=!0;let e=this.#d;this.#c.onFinished(()=>{e===this.#d&&(this.#b=!1,this.#_e())})}#ge(e){let t=Date.now();this.#v=Math.max(t,this.#v)+e/48,clearTimeout(this.#y),this.#y=setTimeout(()=>this.#_e(),this.#v-t+300)}#_e(){this.#u=!1,this.#v=0,this.#e&&this.#e.readyState===WebSocket.OPEN&&this.#be(this.#g?`processing`:`listening`)}#ve(){this.#c?.flush(),this.#b=!1,this.#he(),this.#u=!1,this.#v=0,clearTimeout(this.#y)}#ye(){this.#d+=1,this.#l=!1,this.#u=!1,this.#$(),this.#h=!1,this.#g=!1,this.#x=!1,this.#S=/* @__PURE__ */ new Set;for(let e of this.#C.values())e.abort();if(this.#C.clear(),this.#w.clear(),this.#T=void 0,this.#E=null,clearTimeout(this.#O),this.#j=!1,this.#M=null,this.#N=null,this.#P=Promise.resolve(),this.#F.clear(),this.#I.clear(),this.#L=null,this.#R=!1,this.#z.clear(),this.#B.clear(),this.#V?.then(e=>e?.close()),this.#V=null,this.#H.clear(),this.#W.clear(),this.#U=null,this.#b=!1,this.#_=0,this.#v=0,clearTimeout(this.#y),this.#o=[],this.#s=0,this.#a&&=(this.#a.onaudioprocess=null,this.#a.disconnect(),null),this.#i&&=(this.#i.disconnect(),null),this.#r&&=(this.#r.getTracks().forEach(e=>e.stop()),null),this.#t&&=(this.#t.close().catch(()=>{}),null),this.#c&&=(this.#c.destroy(),null),this.#e){this.#f=!0;try{this.#e.close(1e3,`client ended call`)}catch{}this.#e=null}}onResult(e){this.#G.push(e)}onError(e){this.#K.push(e)}onStatusChange(e){this.#q.push(e)}onTranscript(e){this.#J.push(e)}onMetrics(e){this.#Y.push(e)}#be(e){this.#q.forEach(t=>t(e))}#xe(e){this.#K.forEach(t=>t(e))}#Se(e,t,n,r){this.#J.forEach(i=>i(e,t,n,r))}#Ce(e){this.#Y.forEach(t=>t(e))}},fS=class{#e;#t;#n;#r;#i;#a;constructor(e={}){this.config=e,this.type=`browser`,this.#e=null,this.#t=[],this.#n=[],this.#r=[],this.#i=!1,this.#a=typeof window<`u`?window:void 0}async connect(){this.#r.forEach(e=>e(`connected`))}async startListening(){try{if(this.#i)throw Error(`Already listening`);if(!this.#a)throw Error(`Window object not available`);let e=this.#a.SpeechRecognition||this.#a.webkitSpeechRecognition;if(!e)throw Error(`Browser speech recognition not supported`);this.#e=new e,this.#e.lang=this.config?.language||`en-US`,this.#e.continuous=this.config?.continuous||!1,this.#e.interimResults=!0,this.#e.onresult=e=>{let t=Array.from(e.results).map(e=>e[0]).map(e=>e.transcript).join(``),n=e.results[e.results.length-1].isFinal;this.#t.forEach(e=>e({text:t,confidence:n?.8:.5,provider:`browser`})),n&&!this.config?.continuous&&this.stopListening()},this.#e.onerror=e=>{this.#n.forEach(t=>t(Error(e.error))),this.#r.forEach(e=>e(`error`))},this.#e.onstart=()=>{this.#i=!0,this.#r.forEach(e=>e(`listening`))},this.#e.onend=()=>{this.#i=!1,this.#r.forEach(e=>e(`idle`))},this.#e.start()}catch(e){throw this.#n.forEach(t=>t(e)),this.#r.forEach(e=>e(`error`)),e}}async stopListening(){this.#e&&=(this.#e.stop(),null),this.#i=!1,this.#r.forEach(e=>e(`idle`))}onResult(e){this.#t.push(e)}onError(e){this.#n.push(e)}onStatusChange(e){this.#r.push(e)}async disconnect(){await this.stopListening(),this.#r.forEach(e=>e(`disconnected`))}static isSupported(){return`SpeechRecognition`in window||`webkitSpeechRecognition`in window}};function pS(e){switch(e.type){case`runtype`:if(!e.runtype)throw Error(`Runtype voice provider requires configuration`);return new dS(e.runtype);case`browser`:if(!fS.isSupported())throw Error(`Browser speech recognition not supported`);return new fS(e.browser||{});case`custom`:{let t=e.custom;if(!t)throw Error("Custom voice provider requires a `custom` provider instance or factory");let n=typeof t==`function`?t():t;if(!n||typeof n.startListening!=`function`)throw Error("Custom voice provider `custom` must be a VoiceProvider (or a factory returning one)");return n}default:throw Error(`Unknown voice provider type: ${e.type}`)}}function mS(e){if(e?.type===`custom`&&e.custom)return pS({type:`custom`,custom:e.custom});if(e?.type===`runtype`&&e.runtype)return pS({type:`runtype`,runtype:e.runtype});if(fS.isSupported())return pS({type:`browser`,browser:e?.browser||{language:`en-US`}});throw Error(`No supported voice providers available`)}function hS(e){try{return mS(e),!0}catch{return!1}}const gS=(e,t)=>({ok:!1,reason:e,message:t}),_S=e=>e.startsWith(`webmcp:`)?e.slice(7):e,vS={warn(e,...t){typeof console<`u`&&typeof console.warn==`function`&&console.warn(`[Persona/WebMCP] ${e}`,...t)}};var yS=class{#e;#t;#n=!1;#r=null;#i=!1;#a;constructor(e,t){this.config=e,this.#a=t,this.#e=e.onConfirm??null,this.#t=3e4}setConfirmHandler(e){this.#e=e}isOperational(){return this.config.enabled!==!0||!this.#n?!1:this.#l()!==null}async snapshotForDispatch(){if(await this.#s(),this.config.enabled!==!0)return[];let e=this.#l();if(!e)return[];let t;try{t=(await e.getTools()).filter(jS)}catch(e){return vS.warn(`getTools() threw: shipping an empty WebMCP snapshot.`,e),[]}this.#a.recordToolDisplayTitles(t);let n=typeof location<`u`?location.origin:``;return t.filter(e=>this.#f(e.name)).map(e=>{let t=SS(e.annotations);return{name:e.name,description:e.description,parametersSchema:CS(e.inputSchema),origin:`webmcp`,...n?{pageOrigin:n}:{},...t?{annotations:t}:{},...t?.untrustedContentHint===!0?{untrustedContentHint:!0}:{}}})}async executeToolCall(e,t,n,r){let i=await this.#o(e,t,n,!1,r);return i.ok?wS(i.raw):ES(i.message)}async executeVoiceToolCall(e,t,n={}){let r=await this.#o(e,t,n.signal,n.autoConfirmReadOnly===!0);return r.ok?OS(r.raw):{status:r.reason===`aborted`?`failed`:r.reason,error:{message:r.message}}}watchToolChanges(e){let t=!1,n=null;return this.#s().then(()=>{if(t||this.config.enabled!==!0)return;let r=this.#l();r&&typeof r.addEventListener==`function`&&(n=r,n.addEventListener(`toolchange`,e))}),()=>{t=!0,n?.removeEventListener(`toolchange`,e),n=null}}async#o(e,t,n,r,i){if(await this.#s(),this.config.enabled!==!0)return gS(`failed`,`WebMCP is not enabled on this widget.`);let a=this.#l();if(!a){let e=typeof document<`u`&&!!document.modelContext;return gS(`failed`,e?`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 o=_S(e),s;try{s=(await a.getTools()).filter(jS)}catch(e){let t=e instanceof Error?e.message:String(e);return gS(`failed`,`Failed to read WebMCP registry: ${t}`)}this.#a.recordToolDisplayTitles(s);let c=s.find(e=>e.name===o);if(!c)return gS(`stale`,`WebMCP tool not registered on this page: ${o}`);if(!this.#f(o))return gS(`stale`,`WebMCP tool not allowed by client allowlist: ${o}`);if(n?.aborted)return gS(`aborted`,`Aborted by cancel()`);let l=this.#a.getToolDisplayTitle(o),u=SS(c.annotations),d={toolName:o,...i?{toolCallId:i}:{},args:t,description:c.description,...u?{annotations:u}:{},...l?{title:l}:{},...n?{signal:n}:{},reason:`gate`},f=this.#d(o);if(f&&(d.confirmRequired=!0),(f||!r||u?.readOnlyHint!==!0)&&!await this.#u(d))return gS(`denied`,`User declined the tool call.`);if(n?.aborted)return gS(`aborted`,`Aborted by cancel()`);let p=new AbortController,m=!1,h=setTimeout(()=>{m=!0,p.abort()},this.#t),g=()=>p.abort();n&&(n.aborted?p.abort():n.addEventListener(`abort`,g,{once:!0}));try{return{ok:!0,raw:await a.executeTool(c,TS(t),{signal:p.signal})}}catch(e){if(m)return gS(`timeout`,`WebMCP tool '${o}' timed out after ${this.#t}ms`);if(n?.aborted)return gS(`aborted`,`Aborted by cancel()`);let t=e instanceof Error?e.message:String(e);return gS(`failed`,t)}finally{clearTimeout(h),n&&n.removeEventListener(`abort`,g)}}#s(){return this.config.enabled===!0?(this.#r||=this.#c(),this.#r):Promise.resolve()}async#c(){try{if(this.#l()){this.#n=!0;return}let e=await this.#a.loadPolyfill();`initializeWebMCPPolyfill`in e?e.initializeWebMCPPolyfill():e.installWebMCP(),this.#n=!0}catch(e){vS.warn(`Failed to load @mcp-b/webmcp-polyfill: WebMCP consumption disabled.`,e),this.#n=!1}}#l(){if(typeof document>`u`)return null;let e=document.modelContext;if(!e||typeof e!=`object`)return null;let t=e;return typeof t.getTools!=`function`||typeof t.executeTool!=`function`?(this.#i||(this.#i=!0,vS.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#u(e){let t=this.#e??kS;try{return await t(e)}catch(t){return vS.warn(`Confirm handler threw for WebMCP tool '${e.toolName}'; declining.`,t),!1}}#d(e){let t;try{t=this.#a.getRequireConfirmFor?.()}catch{t=null}if(t===null)return!0;let n=t=>Array.isArray(t)&&t.some(t=>typeof t==`string`&&bS(e,t));return n(this.config.requireConfirmFor)||n(t)}#f(e){let t=this.config.allowlist;return!t||t.length===0||t.some(t=>bS(e,t))}};const bS=(e,t)=>{if(t===`*`)return!0;let n=t.replace(/[.+?^${}()|[\]\\]/g,`\\$&`);return RegExp(`^`+n.replace(/\*/g,`.*`)+`$`).test(e)},xS={type:`object`,properties:{}},SS=e=>{if(!e||typeof e!=`object`)return;let t={};for(let n of[`readOnlyHint`,`destructiveHint`,`consequentialHint`,`untrustedContentHint`,`idempotentHint`,`openWorldHint`,`debugging`]){let r=e[n];typeof r==`boolean`&&(t[n]=r)}return Object.keys(t).length>0?t:void 0},CS=e=>{if(e===void 0||e===``)return{...xS};if(typeof e==`object`)return e!==null&&!Array.isArray(e)?e:{...xS};try{let t=JSON.parse(e);return typeof t==`object`&&t&&!Array.isArray(t)?t:{...xS}}catch{return{...xS}}},wS=e=>{if(e==null)return{content:[{type:`text`,text:``}]};let t;try{t=JSON.parse(e)}catch{return{content:[{type:`text`,text:e}]}}return typeof t==`object`&&t&&Array.isArray(t.content)?t:{content:[{type:`text`,text:typeof t==`string`?t:MS(t)}]}},TS=e=>{let t;try{t=JSON.stringify(e)??`{}`}catch{t=`{}`}let n=JSON.parse(t);if(typeof n!=`object`||!n)throw TypeError(`WebMCP tool arguments must be an object or array.`);return Object.defineProperty(n,Symbol.toPrimitive,{value:()=>t}),n},ES=e=>({isError:!0,content:[{type:`text`,text:e}]}),DS=e=>Array.isArray(e)?e.map(e=>e&&typeof e==`object`&&typeof e.text==`string`?e.text:``).filter(Boolean).join(`
467
+ `):``,OS=e=>{if(e==null)return{status:`completed`};let t;try{t=JSON.parse(e)}catch{return{status:`completed`,result:e}}return typeof t==`object`&&t&&t.isError===!0?{status:`failed`,error:{message:DS(t.content)||`The page tool reported an error.`}}:t===void 0?{status:`completed`}:{status:`completed`,result:t}},kS=async e=>{if(typeof window>`u`||typeof window.confirm!=`function`)return!1;let t=AS(e.args),n=`Allow the AI to call ${e.toolName}`+(t?`\n\nArguments:\n${t}`:``)+(e.description?`\n\n${e.description}`:``);return window.confirm(n)},AS=e=>{if(e==null)return``;try{let t=JSON.stringify(e,null,2);return t.length>500?t.slice(0,500)+`…`:t}catch{return String(e)}},jS=e=>(e.window===void 0||typeof window<`u`&&e.window===window)&&(e.origin===void 0||typeof location<`u`&&e.origin===location.origin),MS=e=>{if(e===void 0)return``;try{return JSON.stringify(e)}catch{return String(e)}};Kn();var NS=class extends yS{constructor(e){super(e,{recordToolDisplayTitles:Bn,getToolDisplayTitle:Vn,loadPolyfill:Gn})}};function PS(e,t){if(!e)return!0;let n=0;for(let r=0;r<t.length&&n<e.length;r++)t[r]===e[n]&&n++;return n===e.length}function FS(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n.startsWith(r)?0:e.replace(/([a-z])([A-Z])/g,`$1 $2`).split(/[\s\-_/.]+/).some(e=>e.toLowerCase().startsWith(r))?1:PS(r,n)?2:3}function IS(e,t){let n=e.recencyScore??0,r=t.recencyScore??0;return r===n?e.label.localeCompare(t.label):r-n}function LS(e,t){let n=t.trim();if(!n)return[...e].sort(IS);let r=[];for(let t of e){let e=FS(t.label,n);e!==3&&r.push({item:t,tier:e})}return r.sort((e,t)=>e.tier===t.tier?IS(e.item,t.item):e.tier-t.tier),r.map(e=>e.item)}function RS(e){let t=e.replace(/^\s+/,``),n=t.search(/\s/);return n===-1?{name:t,args:``}:{name:t.slice(0,n),args:t.slice(n+1).trim()}}function zS(e){return{id:e.id,label:e.label,resolveOn:e.resolveOn,search:t=>LS(e.items,t),resolve:e.resolve}}function BS(e){let t=e.commands.map(e=>({id:e.name,label:e.name,description:e.description,iconName:e.iconName,command:e.kind??`prompt`,insertMode:e.insertMode,submitOnSelect:e.submitOnSelect,action:e.action,commandArgsPlaceholder:e.argsPlaceholder})),n=new Map(e.commands.map(e=>[e.name,e])),r=new Map(t.map(e=>[e.id,e]));return{id:e.id,label:e.label,matchCommand:e=>r.get(e),resolveOn:`submit`,search:e=>LS(t,RS(e).name),resolve:(e,t)=>{let r=n.get(e.id);return r?r.kind===`server`?{context:(typeof r.data==`function`?r.data(t.args):r.data)??{}}:{insertText:typeof r.prompt==`function`?r.prompt(t.args):r.prompt??``}:{}}}}function VS(e,t){let n=t.orientation??`horizontal`,r=n===`vertical`?`ArrowUp`:`ArrowLeft`,i=n===`vertical`?`ArrowDown`:`ArrowRight`;e.setAttribute(`role`,`tablist`);let a=[],o=!1,s=e=>{typeof e.scrollIntoView==`function`&&e.scrollIntoView({block:`nearest`,inline:`nearest`})},c=e=>{let t=e;return a.findIndex(e=>e===t||e.contains(t))},l=e=>{let n=c(e.target);if(n<0)return;let o=n;if(e.key===i)o=Math.min(n+1,a.length-1);else if(e.key===r)o=Math.max(n-1,0);else if(e.key===`Home`)o=0;else if(e.key===`End`)o=a.length-1;else return;e.preventDefault(),o!==n&&t.onSelect(o)},u=e=>{let t=c(e.target);t>=0&&s(a[t])};return e.addEventListener(`keydown`,l),e.addEventListener(`focusin`,u),{beforeRender(){o=typeof document<`u`&&e.contains(document.activeElement)},render(e,t){if(a=e,e.forEach((e,n)=>{e.setAttribute(`role`,`tab`);let r=n===t;e.setAttribute(`aria-selected`,r?`true`:`false`),e.tabIndex=r||t<0&&n===0?0:-1}),o){let n=(t>=0?e[t]:void 0)??e[0];n&&typeof n.focus==`function`&&(s(n),n.focus())}},destroy(){e.removeEventListener(`keydown`,l),e.removeEventListener(`focusin`,u)}}}Pn(),Kn(),lr(),Z(),ia(),ca(),Na(),Ds(),Ks();export{oa as ASK_USER_QUESTION_CLIENT_TOOL,aa as ASK_USER_QUESTION_PARAMETERS_SCHEMA,qr as ASK_USER_QUESTION_TOOL_NAME,Bd as AgentWidgetClient,Vf as AgentWidgetSession,qf as AttachmentManager,gf as BrowserSpeechEngine,Jp as DEFAULT_COMPONENTS,vs as DEFAULT_FLOATING_LAUNCHER_MAX_WIDTH,_s as DEFAULT_FLOATING_LAUNCHER_WIDTH,Hp as DEFAULT_PALETTE,Gp as DEFAULT_SEMANTIC,Es as DEFAULT_WIDGET_CONFIG,Vd as HistoryProviderError,cx as PRESETS,sx as PRESET_FULLSCREEN,ox as PRESET_MINIMAL,ax as PRESET_SHOP,_f as ReadAloudController,Yi as SUGGEST_REPLIES_CLIENT_TOOL,Ji as SUGGEST_REPLIES_PARAMETERS_SCHEMA,qi as SUGGEST_REPLIES_TOOL_NAME,dm as THEME_ZONES,Ma as VERSION,Rn as WEBMCP_TOOL_PREFIX,NS as WebMcpBridge,dx as accessibilityPlugin,fx as animationsPlugin,Bv as applyFeaturePreferences,jm as applyThemeVariables,cg as attachHeaderToContainer,px as brandPlugin,gg as buildComposer,lg as buildDefaultHeader,sg as buildHeader,mg as buildHeaderWithLayout,dg as buildMinimalHeader,sa as builtInClientToolsForDispatch,qn as canonicalArtifactDisplayMode,tx as collectEnrichedPageContext,Ql as componentRegistry,gy as createActionManager,eb as createAgentExperience,Vi as createAskUserQuestionBubble,mS as createBestAvailableVoiceProvider,n_ as createBubbleWithLayout,Ry as createCSATFeedback,Zl as createComboButton,df as createComponentMiddleware,cf as createComponentStreamParser,Zu as createDefaultSanitizer,tS as createDemoCarousel,qu as createDirectivePostprocessor,Kl as createDropdownMenu,sr as createFlexibleJsonStreamParser,ql as createIconButton,Ns as createImagePart,or as createJsonStreamParser,Jl as createLabelButton,xy as createLocalStorageAdapter,zu as createMarkdownProcessor,Bu as createMarkdownProcessorFromConfig,e_ as createMessageActions,zy as createNPSFeedback,ir as createPlainTextParser,_x as createPlugin,ar as createRegexJsonParser,VS as createRovingTablist,BS as createSlashCommandsSource,Xl as createSplitButton,t_ as createStandardBubble,zS as createStaticMentionSource,Ms as createTextPart,tm as createTheme,Nm as createThemeObserver,Yl as createToggleGroup,Wg as createTypingIndicator,pS as createVoiceProvider,yb as createWidgetHostLayout,cr as createXmlParser,ux as default,my as defaultActionHandlers,fy as defaultJsonActionParser,LS as defaultMentionFilter,Bb as defaultParseRules,Sm as detectColorScheme,Ju as directivePostprocessor,Hi as ensureAskUserQuestionSheet,Uu as escapeHtml,mf as extractComponentDirectiveFromMessage,Ps as fileToImagePart,nx as formatEnrichedContext,Gc as generateAssistantMessageId,zx as generateCodeSnippet,Uc as generateMessageId,Jb as generateStableSelector,Wc as generateUserMessageId,Dm as getActiveTheme,wb as getAgentWidgetHandles,wm as getColorScheme,ks as getDisplayText,pg as getHeaderLayout,js as getImageParts,lx as getPreset,pf as hasComponentDirective,As as hasImages,fg as headerLayouts,hx as highContrastPlugin,Tb as initAgentWidget,pi as isAskUserQuestionMessage,lf as isComponentDirectiveType,zh as isDockedMountMode,Hd as isHistoryProviderError,Qi as isSuggestRepliesMessage,hS as isVoiceSupported,Wn as isWebMcpToolName,w_ as isWelcomeVisible,ea as latestAgentSuggestions,ph as listRegisteredStreamAnimations,dn as loadMarkdownParsers,Hu as markdownPostprocessor,gs as mergeWithDefaults,Os as normalizeContent,Jn as normalizeMediaType,fn as onMarkdownParsersReady,hi as parseAskUserQuestionPayload,$i as parseSuggestRepliesPayload,Pv as parseWidgetPreferenceSlice,hf as pickBestVoice,Jv as pluginRegistry,Lu as preprocessStreamingMarkdown,mx as reducedMotionPlugin,kn as registerIcons,dh as registerStreamAnimationPlugin,Ui as removeAskUserQuestionSheet,uf as renderComponentDirective,Gg as renderLoadingIndicatorWithFallback,G as renderLucideIcon,Xn as resolveArtifactDisplay,Zn as resolveArtifactDisplayMode,Vv as resolveConfigPreferences,Vh as resolveDockConfig,Qu as resolveSanitizer,Qp as resolveTokens,b_ as resolveWelcomeConfig,Un as stripWebMcpPrefix,um as themeToCssVariables,fh as unregisterStreamAnimationPlugin,Fs as validateImageFile,$p as validateTheme};
468
468
  //# sourceMappingURL=index.js.map