@runtypelabs/persona 4.11.0 → 4.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/codegen.cjs +13 -13
- package/dist/codegen.d.cts +9 -0
- package/dist/codegen.d.ts +9 -0
- package/dist/codegen.js +13 -13
- package/dist/context-mentions.d.cts +2 -0
- package/dist/context-mentions.d.ts +2 -0
- package/dist/index.cjs +52 -52
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +11 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.global.js +26 -26
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +53 -53
- package/dist/index.js.map +1 -1
- package/dist/install.global.js +1 -1
- package/dist/install.global.js.map +1 -1
- package/dist/smart-dom-reader.d.cts +2 -0
- package/dist/smart-dom-reader.d.ts +2 -0
- package/dist/theme-editor-preview.cjs +37 -37
- package/dist/theme-editor-preview.d.cts +2 -0
- package/dist/theme-editor-preview.d.ts +2 -0
- package/dist/theme-editor-preview.js +26 -26
- package/dist/theme-editor.d.cts +2 -0
- package/dist/theme-editor.d.ts +2 -0
- package/package.json +1 -1
- package/src/codegen.test.ts +43 -0
- package/src/install.test.ts +83 -0
- package/src/install.ts +48 -2
- package/src/types.ts +2 -0
- package/src/ui.tool-display.test.ts +177 -8
- package/src/ui.ts +15 -7
- package/src/utils/code-generators.ts +30 -4
|
@@ -8,10 +8,10 @@ ${e}`:"")+(t.description?`
|
|
|
8
8
|
${t.description}`:"");return window.confirm(n)},qf=t=>{if(t==null)return"";try{let e=JSON.stringify(t,null,2);return e.length>500?e.slice(0,500)+"\u2026":e}catch{return String(t)}},Vf=t=>{if(t===void 0)return"{}";try{let e=JSON.stringify(t);return e===void 0?"{}":e}catch{return"{}"}},Kf=t=>{if(t===void 0)return"";try{return JSON.stringify(t)}catch{return String(t)}};function So(t,e){let n=t?.display;return n?typeof n=="string"?n:n.byType?.[e]??n.default??"panel":"panel"}function Js(t,e){return JSON.stringify({component:t==="inline"?"PersonaArtifactInline":"PersonaArtifactCard",props:{artifactId:e.artifactId,title:e.title,artifactType:e.artifactType,status:e.status,...e.file?{file:e.file}:{},...t==="inline"&&e.component?{component:e.component}:{},...t==="inline"&&e.componentProps?{componentProps:e.componentProps}:{},...e.markdown!==void 0?{markdown:e.markdown}:{}}})}var Gf="agent_",Qf="flow_";function dd(t){return t.startsWith(Gf)?{kind:"agentId",agentId:t}:t.startsWith(Qf)?{kind:"flowId",flowId:t}:null}function pd(t,e){let n=t.trim();if(!n)throw new Error("[Persona] `target` is empty.");let o=n.indexOf(":");if(o>0){let a=n.slice(0,o),l=n.slice(o+1);if(a==="runtype"){let d=dd(l);if(d)return d;throw new Error(`[Persona] target "runtype:${l}" is not a valid Runtype agent_/flow_ id.`)}let p=e?.[a];if(!p)throw new Error(`[Persona] No target provider registered for "${a}". Add a \`targetProviders.${a}\` resolver, or use a Runtype agent_/flow_ id.`);return{kind:"payload",payload:p(l).payload}}let r=dd(n);if(r)return r;let s=e?.default;if(s)return{kind:"payload",payload:s(n).payload};throw new Error(`[Persona] target "${n}" has no provider prefix and is not a Runtype agent_/flow_ id. Use "<provider>:${n}", a Runtype TypeID, or register a \`targetProviders.default\` resolver.`)}import{parse as Xf,ARR as Jf,OBJ as Yf,STR as Zf}from"partial-json";var Pi="ask_user_question",Or=8,Go="data-persona-ask-sheet-for",eg="Other",tg="Other\u2026",fd="Type your own answer here",gd="Send",ng="Next",og="Back",rg="Submit all",sg="Skip",ag=3,Ii="data-ask-current-index",Ri="data-ask-question-count",md="data-ask-answers",Wi="data-ask-grouped",hd="data-ask-layout",ig=t=>t.layout==="pills"?"pills":"rows",lg=t=>t.getAttribute(hd)==="pills"?"pills":"rows",ud=!1,yd=t=>t.replace(/["\\]/g,"\\$&"),To=t=>t.variant==="tool"&&!!t.toolCall&&t.toolCall.name===Pi,Hi=t=>t?.features?.askUserQuestion??{},Qo=t=>{let e=t.toolCall;if(!e)return{payload:null,complete:!1};let n=e.status==="complete";if(e.args&&typeof e.args=="object")return{payload:e.args,complete:n};let o=e.chunks;if(!o||o.length===0)return{payload:null,complete:n};try{let r=o.join(""),s=Xf(r,Zf|Yf|Jf);if(s&&typeof s=="object")return{payload:s,complete:n}}catch{}return{payload:null,complete:n}},_r=t=>{let e=Array.isArray(t?.questions)?t.questions:[];return e.length>Or&&!ud&&(ud=!0,typeof console<"u"&&console.warn(`[AgentWidget] ask_user_question received ${e.length} questions; truncating to ${Or}.`)),e.slice(0,Or)},cg=t=>_r(t)[0]??null,dg=(t,e)=>_r(t)[e]??null,pg=(t,e)=>{let n=e.styles;n&&(n.sheetBackground&&t.style.setProperty("--persona-ask-sheet-bg",n.sheetBackground),n.sheetBorder&&t.style.setProperty("--persona-ask-sheet-border",n.sheetBorder),n.sheetShadow&&t.style.setProperty("--persona-ask-sheet-shadow",n.sheetShadow),n.pillBackground&&t.style.setProperty("--persona-ask-pill-bg",n.pillBackground),n.pillBackgroundSelected&&t.style.setProperty("--persona-ask-pill-bg-selected",n.pillBackgroundSelected),n.pillTextColor&&t.style.setProperty("--persona-ask-pill-fg",n.pillTextColor),n.pillTextColorSelected&&t.style.setProperty("--persona-ask-pill-fg-selected",n.pillTextColorSelected),n.pillBorderRadius&&t.style.setProperty("--persona-ask-pill-radius",n.pillBorderRadius),n.customInputBackground&&t.style.setProperty("--persona-ask-input-bg",n.customInputBackground))},bd=(t,e,n)=>{if(t!=="rows")return null;let o=h("span","persona-ask-row-affordance");if(o.setAttribute("aria-hidden","true"),e){let r=h("span","persona-ask-row-check");o.appendChild(r)}else{let r=h("span","persona-ask-row-badge");r.textContent=String(n+1),o.appendChild(r)}return o},ug=(t,e,n,o)=>{let s=h("button",n==="rows"?"persona-ask-pill persona-ask-row persona-pointer-events-auto":"persona-ask-pill persona-pointer-events-auto");if(s.type="button",s.setAttribute("role",o?"checkbox":"button"),s.setAttribute("aria-pressed","false"),s.setAttribute("data-ask-user-action","pick"),s.setAttribute("data-option-index",String(e)),s.setAttribute("data-option-label",t.label),n==="rows"){let a=h("span","persona-ask-row-content"),l=h("span","persona-ask-row-label");if(l.textContent=t.label,a.appendChild(l),t.description){let d=h("span","persona-ask-row-description");d.textContent=t.description,a.appendChild(d)}s.appendChild(a);let p=bd(n,o,e);p&&s.appendChild(p)}else s.textContent=t.label,t.description&&(s.title=t.description);return s},fg=t=>{let n=h("span",t==="rows"?"persona-ask-pill persona-ask-row persona-ask-pill-skeleton persona-pointer-events-none":"persona-ask-pill persona-ask-pill-skeleton persona-pointer-events-none");return n.setAttribute("aria-hidden","true"),n},gg=(t,e,n,o)=>{let s=h("div",o==="rows"?"persona-ask-pills persona-ask-pills--rows persona-flex persona-flex-col persona-gap-2":"persona-ask-pills persona-flex persona-flex-wrap persona-gap-2");s.setAttribute("role","group"),s.setAttribute("data-ask-pill-list","true");let a=!!t?.multiSelect,p=(Array.isArray(t?.options)?t.options:[]).filter(c=>c&&typeof c.label=="string"&&c.label.length>0);if(p.length===0&&!n){for(let c=0;c<ag;c++)s.appendChild(fg(o));return s}if(p.forEach((c,u)=>{s.appendChild(ug(c,u,o,a))}),t?.allowFreeText!==!1){let c=o==="rows"?eg:tg;if(o==="rows"){let u=h("div","persona-ask-pill persona-ask-row persona-ask-row--other persona-ask-pill-custom persona-pointer-events-auto");u.setAttribute("data-ask-user-action","focus-free-text"),u.setAttribute("data-option-index",String(p.length)),u.setAttribute("data-ask-other-row","true");let w=h("span","persona-ask-row-content"),f=document.createElement("input");f.type="text",f.className="persona-ask-row-input persona-flex-1 persona-pointer-events-auto",f.placeholder=e.freeTextPlaceholder??fd,f.setAttribute("data-ask-free-text-input","true"),f.setAttribute("aria-label",e.freeTextLabel??c),w.appendChild(f),u.appendChild(w);let v=bd(o,a,p.length);v&&u.appendChild(v),s.appendChild(u)}else{let u=h("button","persona-ask-pill persona-ask-pill-custom persona-pointer-events-auto");u.type="button",u.setAttribute("data-ask-user-action","open-free-text"),u.textContent=e.freeTextLabel??c,s.appendChild(u)}}return s},vd=(t,e)=>{let o=h("div",e==="rows"?"persona-ask-free-text persona-ask-free-text--rows persona-flex persona-gap-2 persona-mt-2":"persona-ask-free-text persona-hidden persona-flex persona-gap-2 persona-mt-2");o.setAttribute("data-ask-free-text-row","true");let r=document.createElement("input");if(r.type="text",r.className="persona-ask-free-text-input persona-flex-1 persona-pointer-events-auto",r.placeholder=t.freeTextPlaceholder??fd,r.setAttribute("data-ask-free-text-input","true"),o.appendChild(r),e!=="rows"){let s=h("button","persona-ask-free-text-submit persona-pointer-events-auto");s.type="button",s.textContent=t.submitLabel??gd,s.setAttribute("data-ask-user-action","submit-free-text"),o.appendChild(s)}return o},mg=t=>{let e=h("div","persona-ask-multi-actions persona-flex persona-justify-end persona-mt-2");e.setAttribute("data-ask-multi-actions","true");let n=h("button","persona-ask-multi-submit persona-pointer-events-auto");return n.type="button",n.textContent=t.submitLabel??gd,n.setAttribute("data-ask-user-action","submit-multi"),n.disabled=!0,e.appendChild(n),e},hg=(t,e,n)=>{let o=h("div","persona-ask-nav persona-flex persona-justify-between persona-items-center persona-gap-2 persona-mt-2");o.setAttribute("data-ask-nav-row","true");let r=h("button","persona-ask-nav-back persona-pointer-events-auto");r.type="button",r.textContent=n.backLabel??og,r.setAttribute("data-ask-user-action","back"),r.disabled=t===0,o.appendChild(r);let s=h("div","persona-ask-nav-right persona-flex persona-items-center persona-gap-2"),a=h("button","persona-ask-nav-skip persona-pointer-events-auto");a.type="button",a.textContent=n.skipLabel??sg,a.setAttribute("data-ask-user-action","skip"),s.appendChild(a);let l=h("button","persona-ask-nav-next persona-pointer-events-auto");l.type="button";let p=t===e-1;return l.textContent=p?n.submitAllLabel??rg:n.nextLabel??ng,l.setAttribute("data-ask-user-action",p?"submit-all":"next"),l.disabled=!0,s.appendChild(l),o.appendChild(s),o},Mo=t=>{let e=t.getAttribute(md);if(!e)return{};try{let n=JSON.parse(e);return n&&typeof n=="object"?n:{}}catch{return{}}},wd=(t,e)=>{t.setAttribute(md,JSON.stringify(e))},dn=t=>{let e=Number(t.getAttribute(Ii)??"0");return Number.isFinite(e)?Math.max(0,Math.floor(e)):0},yg=(t,e)=>{t.setAttribute(Ii,String(Math.max(0,Math.floor(e))))},Xo=t=>{let e=Number(t.getAttribute(Ri)??"1");return Number.isFinite(e)?Math.max(1,Math.floor(e)):1},eo=t=>t.getAttribute(Wi)==="true",bg=(t,e)=>{let n=t.agentMetadata?.askUserQuestionAnswers;if(!n||typeof n!="object")return{};let o={};return e.forEach((r,s)=>{let a=typeof r?.question=="string"?r.question:"";if(a&&Object.prototype.hasOwnProperty.call(n,a)){let l=n[a];(typeof l=="string"||Array.isArray(l))&&(o[s]=l)}}),o},vg=(t,e)=>{let n=t.agentMetadata?.askUserQuestionIndex;return typeof n!="number"||!Number.isFinite(n)?0:Math.max(0,Math.min(e-1,Math.floor(n)))},Ys=(t,e)=>{let{payload:n}=Qo(e),o=_r(n),r=Mo(t),s={},a=new Set;return o.forEach((l,p)=>{let d=typeof l?.question=="string"?l.question:"";d&&(a.has(d)&&typeof console<"u"&&console.warn(`[AgentWidget] ask_user_question has duplicate question text "${d}"; later answer wins.`),a.add(d),Object.prototype.hasOwnProperty.call(r,p)&&(s[d]=r[p]))}),s},xd=t=>{let e=Mo(t),n=dn(t),o=e[n],r=new Set;typeof o=="string"?r.add(o):Array.isArray(o)&&o.forEach(p=>r.add(p));let s=t.querySelectorAll('[data-ask-user-action="pick"][data-option-label]');s.forEach(p=>{let d=p.getAttribute("data-option-label")??"",c=r.has(d);p.setAttribute("aria-pressed",c?"true":"false"),p.classList.toggle("persona-ask-pill-selected",c)});let a=new Set(Array.from(s).map(p=>p.getAttribute("data-option-label")??"")),l=t.querySelector('[data-ask-free-text-input="true"]');l&&(typeof o=="string"&&o.length>0&&!a.has(o)?(l.value=o,l.closest('[data-ask-free-text-row="true"]')?.classList.remove("persona-hidden")):l.value="")},Cd=t=>{if(!eo(t))return;let e=Mo(t),n=dn(t),o=e[n],r=typeof o=="string"&&o.length>0||Array.isArray(o)&&o.length>0,s=t.querySelector('[data-ask-user-action="next"], [data-ask-user-action="submit-all"]');s&&(s.disabled=!r);let a=t.querySelector('[data-ask-user-action="submit-multi"]');if(a){let l=Array.from(t.querySelectorAll('[aria-pressed="true"][data-option-label]'));a.disabled=l.length===0}},Bi=(t,e,n)=>{let o=Hi(n),r=lg(t),{payload:s,complete:a}=Qo(e),l=eo(t),p=dn(t),d=Xo(t),c=l?dg(s,p):cg(s),u=!!c?.multiSelect,w=t.querySelector('[data-ask-step-inline="true"]');w&&(w.textContent=l?`${p+1}/${d}`:"");let f=t.querySelector('[data-ask-stepper="true"]');f&&f.remove();let v=t.querySelector('[data-ask-question="true"]');if(v){let k=typeof c?.question=="string"?c.question:"";v.textContent=k,v.classList.toggle("persona-ask-question-skeleton",!k&&!a)}let C=t.querySelector('[data-ask-pill-list="true"]');if(C){let k=gg(c,o,a,r);C.replaceWith(k)}if(r!=="rows"){let k=t.querySelector('[data-ask-free-text-row="true"]');k&&k.replaceWith(vd(o,r))}let I=t.querySelector('[data-ask-multi-actions="true"]');!l&&u&&!I?t.appendChild(mg(o)):(!u||l)&&I&&I.remove(),t.setAttribute("data-multi-select",u?"true":"false");let B=t.querySelector('[data-ask-nav-row="true"]');if(l){let k=hg(p,d,o);B?B.replaceWith(k):t.appendChild(k)}else B&&B.remove();xd(t),Cd(t)},wg=(t,e,n)=>{let o=Hi(e),r=ig(o),s=t.toolCall.id,a=_r(n),l=Math.max(1,a.length),p=l>1,d=bg(t,a),c=p?vg(t,l):0,u=h("div",["persona-ask-sheet",`persona-ask-sheet--${r}`,"persona-pointer-events-auto","persona-ask-sheet-enter"].join(" "));u.setAttribute(Go,s),u.setAttribute("data-tool-call-id",s),u.setAttribute("data-message-id",t.id),u.setAttribute(Ri,String(l)),u.setAttribute(Ii,String(c)),u.setAttribute(Wi,p?"true":"false"),u.setAttribute(hd,r),wd(u,d),u.setAttribute("role","group"),u.setAttribute("aria-label","Suggested answers"),o.slideInMs!==void 0&&u.style.setProperty("--persona-ask-sheet-duration",`${o.slideInMs}ms`),pg(u,o);let w=h("div","persona-ask-sheet-header persona-flex persona-items-center persona-gap-3"),f=h("div","persona-ask-sheet-question persona-flex-1");f.setAttribute("data-ask-question","true"),f.textContent="",w.appendChild(f);let v=h("span","persona-ask-sheet-step-inline");v.setAttribute("data-ask-step-inline","true"),v.textContent="",w.appendChild(v),u.appendChild(w);let I=h("div",r==="rows"?"persona-ask-pills persona-ask-pills--rows persona-flex persona-flex-col persona-gap-2":"persona-ask-pills persona-flex persona-flex-wrap persona-gap-2");return I.setAttribute("data-ask-pill-list","true"),I.setAttribute("role","group"),u.appendChild(I),r!=="rows"&&u.appendChild(vd(o,r)),Bi(u,t,e),requestAnimationFrame(()=>{requestAnimationFrame(()=>u.classList.remove("persona-ask-sheet-enter"))}),u},xg=(t,e,n)=>{let{payload:o}=Qo(e),r=Math.max(1,_r(o).length);r>Xo(t)&&(t.setAttribute(Ri,String(r)),r>1&&!eo(t)&&t.setAttribute(Wi,"true")),Bi(t,e,n)};var Zs=(t,e,n)=>{if(!n||!To(t)||Hi(e).enabled===!1)return;let r=t.toolCall.id;n.querySelectorAll(`[${Go}]`).forEach(d=>{d.getAttribute(Go)!==r&&d.remove()});let a=n.querySelector(`[${Go}="${yd(r)}"]`);if(a){xg(a,t,e);return}let{payload:l}=Qo(t),p=wg(t,e,l);n.appendChild(p)},Jo=(t,e)=>{if(!t)return;let n=e?`[${Go}="${yd(e)}"]`:`[${Go}]`;t.querySelectorAll(n).forEach(r=>{r.classList.add("persona-ask-sheet-leave");let s=Number.parseInt(getComputedStyle(r).getPropertyValue("--persona-ask-sheet-duration")||"180",10);setTimeout(()=>r.remove(),Number.isFinite(s)?s:180)})},Di=t=>Array.from(t.querySelectorAll('[aria-pressed="true"][data-option-label]')).map(e=>e.getAttribute("data-option-label")).filter(e=>typeof e=="string"&&e.length>0),to=(t,e)=>{let n=Mo(t),o=dn(t);typeof e=="string"&&e.length===0||Array.isArray(e)&&e.length===0?delete n[o]:n[o]=e,wd(t,n),xd(t),Cd(t)},ea=(t,e,n,o)=>{let r=Xo(t),s=Math.max(0,Math.min(r-1,o));yg(t,s),Bi(t,e,n)};var Dn="suggest_replies";var Cg={type:"object",properties:{suggestions:{type:"array",minItems:1,maxItems:4,description:"1-4 short, distinct follow-up replies, phrased in the user's voice.",items:{type:"string",minLength:1,maxLength:60}}},required:["suggestions"],additionalProperties:!1},Ad={name:Dn,description:`Offer the user tappable quick-reply suggestions for their next message. Call at most once per turn, as the LAST action after your reply text is complete. Each suggestion is sent verbatim as the user's next message, so phrase suggestions in the user's voice (e.g. "Tell me more about pricing"). Keep them short and distinct. The result only confirms the suggestions were shown: do not add further commentary after calling this tool; end your turn.`,parametersSchema:Cg,origin:"sdk",annotations:{readOnlyHint:!0}},Fi=()=>({content:[{type:"text",text:"Suggestions shown to the user."}]}),Ni=t=>t.variant==="tool"&&t.toolCall?.name===Dn,Ag=t=>{let e=t;if(typeof e=="string")try{e=JSON.parse(e)}catch{return[]}let n=e?.suggestions;if(!Array.isArray(n))return[];let o=n.filter(r=>typeof r=="string").map(r=>r.trim()).filter(r=>r.length>0);return o.length>4?(console.warn(`[persona] suggest_replies: ${o.length} suggestions exceeds the cap of 4; extra suggestions dropped.`),o.slice(0,4)):o},Sd=t=>{for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.role==="user")return null;if(!Ni(n))continue;let o=Ag(n.toolCall?.args);return o.length>0?o:null}return null},Td=t=>{let e=t?.features?.suggestReplies;return e?.expose===!0&&e.enabled!==!1};var Sg={type:"object",properties:{questions:{type:"array",minItems:1,maxItems:Or,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},Tg={name:Pi,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:Sg,origin:"sdk",annotations:{readOnlyHint:!0}},ta=t=>{let e=[],n=t?.features?.askUserQuestion;return n?.expose===!0&&n.enabled!==!1&&e.push(Tg),Td(t)&&e.push(Ad),e};import{parse as Mg,STR as Eg,OBJ as kg}from"partial-json";var Md=t=>t.replace(/\\n/g,`
|
|
9
9
|
`).replace(/\\r/g,"\r").replace(/\\t/g," ").replace(/\\"/g,'"').replace(/\\\\/g,"\\"),no=t=>{if(t===null)return"null";if(t===void 0)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return String(t);try{return JSON.stringify(t,null,2)}catch{return String(t)}},Lg=t=>{let e=t.completedAt??Date.now(),n=t.startedAt??e,r=(t.durationMs!==void 0?t.durationMs:Math.max(0,e-n))/1e3;return r<.1?"Thought for <0.1 seconds":`Thought for ${r>=10?Math.round(r).toString():r.toFixed(1).replace(/\.0$/,"")} seconds`},Ed=t=>t.status==="complete"?Lg(t):t.status==="pending"?"Waiting":"",Pg=t=>{let n=(typeof t.duration=="number"?t.duration:typeof t.durationMs=="number"?t.durationMs:Math.max(0,(t.completedAt??Date.now())-(t.startedAt??t.completedAt??Date.now())))/1e3;return n<.1?"Used tool for <0.1 seconds":`Used tool for ${n>=10?Math.round(n).toString():n.toFixed(1).replace(/\.0$/,"")} seconds`};var kd=t=>t.status==="complete"?Pg(t):"Using tool...",na=t=>{let e=t/1e3;return e<.1?"<0.1s":e>=10?`${Math.round(e)}s`:`${e.toFixed(1).replace(/\.0$/,"")}s`},zr=t=>{let e=typeof t.duration=="number"?t.duration:typeof t.durationMs=="number"?t.durationMs:Math.max(0,(t.completedAt??Date.now())-(t.startedAt??t.completedAt??Date.now()));return na(e)},oa=t=>{let e=t.durationMs!==void 0?t.durationMs:Math.max(0,(t.completedAt??Date.now())-(t.startedAt??t.completedAt??Date.now()));return na(e)},Oi=(t,e,n)=>{if(!e)return n;let o=t.name?.trim()||"tool",r=zr(t);return e.replace(/\{toolName\}/g,o).replace(/\{duration\}/g,r)},ra=(t,e)=>{let n=t.replace(/\{toolName\}/g,e),o=[],r=/\*\*(.+?)\*\*|\*(.+?)\*|~(.+?)~/g,s=0,a;for(;(a=r.exec(n))!==null;)a.index>s&&$r(o,n.slice(s,a.index),[]),a[1]!==void 0?$r(o,a[1],["bold"]):a[2]!==void 0?$r(o,a[2],["italic"]):a[3]!==void 0&&$r(o,a[3],["dim"]),s=a.index+a[0].length;return s<n.length&&$r(o,n.slice(s),[]),o},$r=(t,e,n)=>{let o=e.split("{duration}");for(let r=0;r<o.length;r++)o[r]&&t.push({text:o[r],styles:n}),r<o.length-1&&t.push({text:"{duration}",styles:n,isDuration:!0})},Ig=()=>{let t=null,e=0,n=o=>{let r=/"text"\s*:\s*"((?:[^"\\]|\\.|")*?)"/,s=o.match(r);if(s&&s[1])try{return s[1].replace(/\\n/g,`
|
|
10
10
|
`).replace(/\\r/g,"\r").replace(/\\t/g," ").replace(/\\"/g,'"').replace(/\\\\/g,"\\")}catch{return s[1]}let a=/"text"\s*:\s*"((?:[^"\\]|\\.)*)/,l=o.match(a);if(l&&l[1])try{return l[1].replace(/\\n/g,`
|
|
11
|
-
`).replace(/\\r/g,"\r").replace(/\\t/g," ").replace(/\\"/g,'"').replace(/\\\\/g,"\\")}catch{return l[1]}return null};return{getExtractedText:()=>t,processChunk:async o=>{if(o.length<=e)return t!==null?{text:t,raw:o}:null;let r=o.trim();if(!r.startsWith("{")&&!r.startsWith("["))return null;let s=n(o);return s!==null&&(t=s),e=o.length,t!==null?{text:t,raw:o}:null},close:async()=>{}}},Ur=t=>{try{let e=JSON.parse(t);if(e&&typeof e=="object"&&typeof e.text=="string")return e.text}catch{return null}return null},Ld=()=>{let t={processChunk:e=>null,getExtractedText:()=>null};return t.__isPlainTextParser=!0,t},Pd=()=>{let t=Ig();return{processChunk:async e=>{let n=e.trim();return!n.startsWith("{")&&!n.startsWith("[")?null:t.processChunk(e)},getExtractedText:t.getExtractedText.bind(t),close:t.close?.bind(t)}},Id=()=>{let t=null,e=0;return{getExtractedText:()=>t,processChunk:n=>{let o=n.trim();if(!o.startsWith("{")&&!o.startsWith("["))return null;if(n.length<=e)return t!==null||t===""?{text:t||"",raw:n}:null;try{let r=Mg(n,Eg|kg);r&&typeof r=="object"&&(r.component&&typeof r.component=="string"?t=typeof r.text=="string"?Md(r.text):"":r.type==="init"&&r.form?t="":typeof r.text=="string"&&(t=Md(r.text)))}catch{}return e=n.length,t!==null?{text:t,raw:n}:null},close:()=>{}}};var Rd=()=>{let t=null;return{processChunk:e=>{if(!e.trim().startsWith("<"))return null;let o=e.match(/<text[^>]*>([\s\S]*?)<\/text>/);return o&&o[1]?(t=o[1],{text:t,raw:e}):null},getExtractedText:()=>t}};var Wd="4.11.0";var jr=Wd;var Wg="https://api.runtype.com/v1/dispatch",sa="https://api.runtype.com";function Hg(t){let e=t.toLowerCase(),o={"application/pdf":"pdf","application/json":"json","application/zip":"zip","text/plain":"txt","text/csv":"csv","text/markdown":"md"}[e];if(o)return`attachment.${o}`;let r=e.indexOf("/");if(r>0){let s=e.slice(r+1).split(";")[0]?.trim()??"";if(s&&s!=="octet-stream"&&/^[a-z0-9.+-]+$/i.test(s))return`attachment.${s}`}return"attachment"}var _i=t=>!!(t.contentParts&&t.contentParts.length>0||t.llmContent&&t.llmContent.trim().length>0||t.rawContent&&t.rawContent.trim().length>0||t.content&&t.content.trim().length>0);function Bg(t){switch(t){case"json":return Id;case"regex-json":return Pd;case"xml":return Rd;default:return Ld}}var Hd=t=>t.startsWith("{")||t.startsWith("[")||t.startsWith("<");function Dg(t,e){if(!t)return e;let n=t.trim(),o=e.trim();if(n.length===0)return e;if(o.length===0)return t;let r=Hd(n);if(!Hd(o))return t;if(!r||o===n||o.startsWith(n))return e;let a=Ur(t);return Ur(e)!==null&&a===null?e:t}var qr=class{constructor(e={}){this.config=e;this.clientSession=null;this.sessionInitPromise=null;this.lastSentClientToolsFingerprint=null;this.clientToolsFingerprintSessionId=null;this.sentNonEmptyClientToolsSessionId=null;if(e.target&&(e.agentId||e.flowId||e.agent))throw new Error("[Persona] `target` is mutually exclusive with `agentId`, `flowId`, and `agent`. Set only one routing field.");this.apiUrl=e.apiUrl??Wg,this.headers={"Content-Type":"application/json","X-Persona-Version":jr,...e.headers},this.debug=!!e.debug,this.createStreamParser=e.streamParser??Bg(e.parserType),this.contextProviders=e.contextProviders??[],this.requestMiddleware=e.requestMiddleware,this.customFetch=e.customFetch,this.parseSSEEvent=e.parseSSEEvent,this.getHeaders=e.getHeaders,this.webMcpBridge=e.webmcp?.enabled===!0?new Xs(e.webmcp):null}updateConfig(e){this.config=e}setSSEEventCallback(e){this.onSSEEvent=e}setWebMcpConfirmHandler(e){this.webMcpBridge?.setConfirmHandler(e)}isWebMcpOperational(){return this.webMcpBridge?.isOperational()===!0}executeWebMcpToolCall(e,n,o){return this.webMcpBridge?this.webMcpBridge.executeToolCall(e,n,o):null}getSSEEventCallback(){return this.onSSEEvent}isClientTokenMode(){return!!this.config.clientToken}routing(){let{agentId:e,flowId:n,target:o,targetProviders:r}=this.config;if(!o)return{agentId:e,flowId:n};let s=pd(o,r);return s.kind==="agentId"?{agentId:s.agentId}:s.kind==="flowId"?{flowId:s.flowId}:{targetPayload:s.payload}}isAgentMode(){return!!(this.config.agent||this.routing().agentId)}getClientApiUrl(e){return`${this.config.apiUrl?.replace(/\/+$/,"").replace(/\/v1\/dispatch$/,"")||sa}/v1/client/${e}`}getClientSession(){return this.clientSession}async initSession(){if(!this.isClientTokenMode())throw new Error("initSession() only available in client token mode");if(this.clientSession&&new Date<this.clientSession.expiresAt)return this.clientSession;if(this.sessionInitPromise)return this.sessionInitPromise;this.sessionInitPromise=this._doInitSession();try{let e=await this.sessionInitPromise;return this.clientSession=e,this.resetClientToolsFingerprint(),this.config.onSessionInit?.(e),e}finally{this.sessionInitPromise=null}}async _doInitSession(){let e=this.config.getStoredSessionId?.()||null,n=this.routing(),o=n.agentId??n.flowId,r={token:this.config.clientToken,...o&&{flowId:o},...e&&{sessionId:e}},s=await fetch(this.getClientApiUrl("init"),{method:"POST",headers:{"Content-Type":"application/json","X-Persona-Version":jr},body:JSON.stringify(r)});if(!s.ok){let l=await s.json().catch(()=>({error:"Session initialization failed"}));throw s.status===401?new Error(`Invalid client token: ${l.hint||l.error}`):s.status===403?new Error(`Origin not allowed: ${l.hint||l.error}`):new Error(l.error||"Failed to initialize session")}let a=await s.json();return this.config.setStoredSessionId&&this.config.setStoredSessionId(a.sessionId),{sessionId:a.sessionId,expiresAt:new Date(a.expiresAt),flow:a.flow,config:{welcomeMessage:a.config.welcomeMessage,placeholder:a.config.placeholder,theme:a.config.theme}}}clearClientSession(){this.clientSession=null,this.sessionInitPromise=null,this.resetClientToolsFingerprint()}resetClientToolsFingerprint(){this.lastSentClientToolsFingerprint=null,this.clientToolsFingerprintSessionId=null,this.sentNonEmptyClientToolsSessionId=null}getFeedbackApiUrl(){return`${this.config.apiUrl?.replace(/\/+$/,"").replace(/\/v1\/dispatch$/,"")||sa}/v1/client/feedback`}async sendFeedback(e){if(!this.isClientTokenMode())throw new Error("sendFeedback() only available in client token mode");if(!this.getClientSession())throw new Error("No active session. Please initialize session first.");if(["upvote","downvote","copy"].includes(e.type)&&!e.messageId)throw new Error(`messageId is required for ${e.type} feedback type`);if(e.type==="csat"&&(e.rating===void 0||e.rating<1||e.rating>5))throw new Error("CSAT rating must be between 1 and 5");if(e.type==="nps"&&(e.rating===void 0||e.rating<0||e.rating>10))throw new Error("NPS rating must be between 0 and 10");this.debug&&console.debug("[AgentWidgetClient] sending feedback",e);let r={...e,...this.config.clientToken&&{token:this.config.clientToken}},s=await fetch(this.getFeedbackApiUrl(),{method:"POST",headers:{"Content-Type":"application/json","X-Persona-Version":jr},body:JSON.stringify(r)});if(!s.ok){let a=await s.json().catch(()=>({error:"Feedback submission failed"}));throw s.status===401?(this.clientSession=null,this.config.onSessionExpired?.(),new Error("Session expired. Please refresh to continue.")):new Error(a.error||"Failed to submit feedback")}}async submitMessageFeedback(e,n){let o=this.getClientSession();if(!o)throw new Error("No active session. Please initialize session first.");return this.sendFeedback({sessionId:o.sessionId,messageId:e,type:n})}async submitCSATFeedback(e,n){let o=this.getClientSession();if(!o)throw new Error("No active session. Please initialize session first.");return this.sendFeedback({sessionId:o.sessionId,type:"csat",rating:e,comment:n})}async submitNPSFeedback(e,n){let o=this.getClientSession();if(!o)throw new Error("No active session. Please initialize session first.");return this.sendFeedback({sessionId:o.sessionId,type:"nps",rating:e,comment:n})}async dispatch(e,n){return e.signal?.throwIfAborted(),this.isClientTokenMode()?this.dispatchClientToken(e,n):this.isAgentMode()?this.dispatchAgent(e,n):this.dispatchProxy(e,n)}async dispatchClientToken(e,n){n({type:"status",status:"connecting"});try{let o=await this.initSession();if(new Date>=new Date(o.expiresAt.getTime()-6e4)){this.clearClientSession(),this.config.onSessionExpired?.();let d=new Error("Session expired. Please refresh to continue.");throw n({type:"error",error:d}),d}let r=await this.buildPayload(e.messages),s=r.metadata?Object.fromEntries(Object.entries(r.metadata).filter(([d])=>d!=="sessionId"&&d!=="session_id")):void 0,a={sessionId:o.sessionId,messages:e.messages.filter(_i).map(d=>({id:d.id,role:d.role,content:d.contentParts??d.llmContent??d.rawContent??d.content})),...e.assistantMessageId&&{assistantMessageId:e.assistantMessageId},...s&&Object.keys(s).length>0&&{metadata:s},...r.inputs&&Object.keys(r.inputs).length>0&&{inputs:r.inputs},...r.context&&{context:r.context}},{response:l,commit:p}=await this.sendWithClientToolsDiff(o.sessionId,r.clientTools,d=>{let c={...a,...d};return this.debug&&console.debug("[AgentWidgetClient] client token dispatch",c),fetch(this.getClientApiUrl("chat"),{method:"POST",headers:{"Content-Type":"application/json","X-Persona-Version":jr},body:JSON.stringify(c),signal:e.signal})});if(!l.ok){let d=await l.json().catch(()=>({error:"Chat request failed"}));if(l.status===401){this.clearClientSession(),this.config.onSessionExpired?.();let u=new Error("Session expired. Please refresh to continue.");throw n({type:"error",error:u}),u}if(l.status===429){let u=new Error(d.hint||"Message limit reached for this session.");throw n({type:"error",error:u}),u}let c=new Error(d.error||"Failed to send message");throw n({type:"error",error:c}),c}if(!l.body){let d=new Error("No response body received");throw n({type:"error",error:d}),d}p(),n({type:"status",status:"connected"});try{await this.streamResponse(l.body,n,e.assistantMessageId)}finally{n({type:"status",status:"idle"})}}catch(o){let r=o instanceof Error?o:new Error(String(o));throw!r.message.includes("Session expired")&&!r.message.includes("Message limit")&&n({type:"error",error:r}),r}}async dispatchProxy(e,n){n({type:"status",status:"connecting"});let o=await this.buildPayload(e.messages);this.debug&&console.debug("[AgentWidgetClient] dispatch payload",o);let r={...this.headers};if(this.getHeaders)try{let a=await this.getHeaders();r={...r,...a}}catch(a){typeof console<"u"&&console.error("[AgentWidget] getHeaders error:",a)}let s;if(this.customFetch)try{s=await this.customFetch(this.apiUrl,{method:"POST",headers:r,body:JSON.stringify(o),signal:e.signal},o)}catch(a){let l=a instanceof Error?a:new Error(String(a));throw n({type:"error",error:l}),l}else s=await fetch(this.apiUrl,{method:"POST",headers:r,body:JSON.stringify(o),signal:e.signal});if(!s.ok||!s.body){let a=new Error(`Chat backend request failed: ${s.status} ${s.statusText}`);throw n({type:"error",error:a}),a}n({type:"status",status:"connected"});try{await this.streamResponse(s.body,n)}finally{n({type:"status",status:"idle"})}}async dispatchAgent(e,n){n({type:"status",status:"connecting"});let o=await this.buildAgentPayload(e.messages);this.debug&&console.debug("[AgentWidgetClient] agent dispatch payload",o);let r={...this.headers};if(this.getHeaders)try{let a=await this.getHeaders();r={...r,...a}}catch(a){typeof console<"u"&&console.error("[AgentWidget] getHeaders error:",a)}let s;if(this.customFetch)try{s=await this.customFetch(this.apiUrl,{method:"POST",headers:r,body:JSON.stringify(o),signal:e.signal},o)}catch(a){let l=a instanceof Error?a:new Error(String(a));throw n({type:"error",error:l}),l}else s=await fetch(this.apiUrl,{method:"POST",headers:r,body:JSON.stringify(o),signal:e.signal});if(!s.ok||!s.body){let a=new Error(`Agent execution request failed: ${s.status} ${s.statusText}`);throw n({type:"error",error:a}),a}n({type:"status",status:"connected"});try{await this.streamResponse(s.body,n,e.assistantMessageId)}finally{n({type:"status",status:"idle"})}}async processStream(e,n,o,r){n({type:"status",status:"connected"});try{await this.streamResponse(e,n,o,r)}finally{n({type:"status",status:"idle"})}}async resolveApproval(e,n){let r=`${this.config.apiUrl?.replace(/\/+$/,"").replace(/\/v1\/dispatch$/,"")||sa}/v1/agents/${e.agentId}/approve`,s={"Content-Type":"application/json",...this.headers};return this.getHeaders&&Object.assign(s,await this.getHeaders()),fetch(r,{method:"POST",headers:s,body:JSON.stringify({executionId:e.executionId,approvalId:e.approvalId,decision:n,streamResponse:!0})})}async sendWithClientToolsDiff(e,n,o,r){let s=!!(n&&n.length>0),a=s?ld(n):void 0,l=this.clientToolsFingerprintSessionId===e,p=s&&l&&this.lastSentClientToolsFingerprint===a,d=!s&&r?.emptyMeansReplace===!0&&this.sentNonEmptyClientToolsSessionId===e,c=!1,u;for(let w=0;;w++){if(u=await o({...s&&(c||!p)&&n?{clientTools:n}:{},...d?{clientTools:[]}:{},...a?{clientToolsFingerprint:a}:{}}),u.status===409&&w===0&&s&&(await u.clone().json().catch(()=>null))?.error==="client_tools_resend_required"){c=!0,this.lastSentClientToolsFingerprint=null;continue}break}return{response:u,commit:()=>{this.lastSentClientToolsFingerprint=a??null,this.clientToolsFingerprintSessionId=e,s?this.sentNonEmptyClientToolsSessionId=e:d&&(this.sentNonEmptyClientToolsSessionId=null)}}}async resumeFlow(e,n,o){let r=this.isClientTokenMode(),s=r?this.getClientApiUrl("resume"):`${this.config.apiUrl?.replace(/\/+$/,"")||sa}/resume`,a;r&&(a=(await this.initSession()).sessionId);let l={"Content-Type":"application/json",...this.headers};this.getHeaders&&Object.assign(l,await this.getHeaders());let p={executionId:e,toolOutputs:n,streamResponse:o?.streamResponse??!0};if(a&&(p.sessionId=a),r&&a){let d=[...ta(this.config),...await this.webMcpBridge?.snapshotForDispatch()??[]],{response:c,commit:u}=await this.sendWithClientToolsDiff(a,d,w=>{let f={...p,...w};return this.debug&&console.debug("[AgentWidgetClient] client token resume",f),fetch(s,{method:"POST",headers:l,body:JSON.stringify(f),signal:o?.signal})},{emptyMeansReplace:!0});return c.ok&&u(),c}return fetch(s,{method:"POST",headers:l,body:JSON.stringify(p),signal:o?.signal})}latestMentionContext(e){for(let n=e.length-1;n>=0;n--){let o=e[n];if(o.role==="user")return o.mentionContext&&Object.keys(o.mentionContext).length>0?{mentions:o.mentionContext}:null}return null}async buildContextAggregate(e){let n={};this.contextProviders.length&&await Promise.all(this.contextProviders.map(async r=>{try{let s=await r({messages:e,config:this.config});s&&typeof s=="object"&&Object.assign(n,s)}catch(s){typeof console<"u"&&console.warn("[AgentWidget] Context provider failed:",s)}}));let o=this.latestMentionContext(e);return o&&Object.assign(n,o),Object.keys(n).length?n:null}async buildAgentPayload(e){let n=this.routing().agentId;if(!this.config.agent&&!n)throw new Error("Agent configuration required for agent mode");let o=e.slice().filter(_i).filter(l=>l.role==="user"||l.role==="assistant"||l.role==="system").filter(l=>!l.variant||l.variant==="assistant").sort((l,p)=>{let d=new Date(l.createdAt).getTime(),c=new Date(p.createdAt).getTime();return d-c}).map(l=>({role:l.role,content:l.contentParts??l.llmContent??l.rawContent??l.content,createdAt:l.createdAt})),r={agent:this.config.agent??{agentId:n},messages:o,options:{streamResponse:!0,recordMode:"virtual",...this.config.agentOptions}},s=[...ta(this.config),...await this.webMcpBridge?.snapshotForDispatch()??[]];s.length>0&&(r.clientTools=s);let a=await this.buildContextAggregate(e);return a&&(r.context=a),r}async buildPayload(e){let n=e.slice().filter(_i).sort((l,p)=>{let d=new Date(l.createdAt).getTime(),c=new Date(p.createdAt).getTime();return d-c}).map(l=>({role:l.role,content:l.contentParts??l.llmContent??l.rawContent??l.content,createdAt:l.createdAt})),o=this.routing(),r={messages:n,...o.agentId?{agent:{agentId:o.agentId}}:o.flowId?{flowId:o.flowId}:{}};if(o.targetPayload)for(let[l,p]of Object.entries(o.targetPayload))l!=="messages"&&(r[l]=p);let s=[...ta(this.config),...await this.webMcpBridge?.snapshotForDispatch()??[]];s.length>0&&(r.clientTools=s);let a=await this.buildContextAggregate(e);if(a&&(r.context=a),this.requestMiddleware)try{let l=await this.requestMiddleware({payload:{...r},config:this.config});if(l&&typeof l=="object"){let p=l;return r.clientTools!==void 0&&!("clientTools"in p)&&(p.clientTools=r.clientTools),p}}catch(l){typeof console<"u"&&console.error("[AgentWidget] Request middleware error:",l)}return r}async handleCustomSSEEvent(e,n,o,r,s,a){if(!this.parseSSEEvent)return!1;try{let l=await this.parseSSEEvent(e);if(l===null)return!1;let p=c=>{let u={id:`assistant-${Date.now()}-${Math.random().toString(16).slice(2)}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,variant:"assistant",sequence:s(),...c!==void 0&&{partId:c}};return o.current=u,r(u),u},d=c=>o.current?o.current:p(c);if(l.text!==void 0){l.partId!==void 0&&a.current!==null&&l.partId!==a.current&&(o.current&&(o.current.streaming=!1,r(o.current)),p(l.partId)),l.partId!==void 0&&(a.current=l.partId);let c=d(l.partId);l.partId!==void 0&&!c.partId&&(c.partId=l.partId),c.content+=l.text,r(c)}return l.done&&(o.current&&(o.current.streaming=!1,r(o.current)),a.current=null,n({type:"status",status:"idle"})),l.error&&(a.current=null,n({type:"error",error:new Error(l.error)})),!0}catch(l){return typeof console<"u"&&console.error("[AgentWidget] parseSSEEvent error:",l),!1}}async streamResponse(e,n,o,r){let s=e.getReader(),a=new TextDecoder,l="",p=Date.now(),d=0,c=()=>p+d++,u=T=>{let O=T.reasoning?{...T.reasoning,chunks:[...T.reasoning.chunks]}:void 0,y=T.toolCall?{...T.toolCall,chunks:T.toolCall.chunks?[...T.toolCall.chunks]:void 0}:void 0,S=T.tools?T.tools.map(E=>({...E,chunks:E.chunks?[...E.chunks]:void 0})):void 0;return{...T,reasoning:O,toolCall:y,tools:S}},w=T=>{if(T.role!=="assistant"||T.variant)return!0;let O=Array.isArray(T.contentParts)&&T.contentParts.length>0,y=typeof T.rawContent=="string"&&T.rawContent.trim()!=="";return typeof T.content=="string"&&T.content.trim()!==""||O||y||!!T.stopReason},f=T=>{w(T)&&n({type:"message",message:u(T)})},v=null,C=null,I={current:null},B={current:null},k=null,M="",P=new Map,z=new Map,K=new Map,x=new Map,U=new Map,j={lastId:null,byStep:new Map},J={lastId:null,byCall:new Map},D=T=>{if(T==null)return null;try{return String(T)}catch{return null}},F=T=>D(T.stepId??T.step_id??T.step??T.parentId??T.flowStepId??T.flow_step_id),ie=T=>D(T.callId??T.call_id??T.requestId??T.request_id??T.toolCallId??T.tool_call_id??T.stepId??T.step_id),ge=o,Ce=!1,we=()=>{if(v)return v;let T,O="",y=k;return!Ce&&ge?(T=ge,Ce=!0,O=r??""):ge&&y?T=`${ge}_${y}`:T=`assistant-${Date.now()}-${Math.random().toString(16).slice(2)}`,v={id:T,role:"assistant",content:O,createdAt:new Date().toISOString(),streaming:!0,sequence:c()},f(v),v},ee=(T,O)=>{j.lastId=O,T&&j.byStep.set(T,O)},ce=(T,O)=>{let y=T.reasoningId??T.id,S=F(T);if(y){let W=String(y);return ee(S,W),W}if(S){let W=j.byStep.get(S);if(W)return j.lastId=W,W}if(j.lastId&&!O)return j.lastId;if(!O)return null;let E=`reason-${c()}`;return ee(S,E),E},Y=T=>{let O=x.get(T);if(O)return O;let y={id:`reason-${T}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,variant:"reasoning",sequence:c(),reasoning:{id:T,status:"streaming",chunks:[]}};return x.set(T,y),f(y),y},ae=(T,O)=>{J.lastId=O,T&&J.byCall.set(T,O)},Z=new Set,he=new Map,ye=new Set,pe=new Map,Te=T=>{if(!T)return!1;let O=T.replace(/_+/g,"_").replace(/^_|_$/g,"");return O==="emit_artifact_markdown"||O==="emit_artifact_component"},Ae=(T,O)=>{let y=T.toolId??T.id,S=ie(T);if(y){let W=String(y);return ae(S,W),W}if(S){let W=J.byCall.get(S);if(W)return J.lastId=W,W}if(J.lastId&&!O)return J.lastId;if(!O)return null;let E=`tool-${c()}`;return ae(S,E),E},Oe=T=>{let O=U.get(T);if(O)return O;let y={id:`tool-${T}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,variant:"tool",sequence:c(),toolCall:{id:T,status:"pending"}};return U.set(T,y),f(y),y},Fe=T=>{if(typeof T=="number"&&Number.isFinite(T))return T;if(typeof T=="string"){let O=Number(T);if(!Number.isNaN(O)&&Number.isFinite(O))return O;let y=Date.parse(T);if(!Number.isNaN(y))return y}return Date.now()},ot=T=>{if(typeof T=="string")return T;if(T==null)return"";try{return JSON.stringify(T)}catch{return String(T)}},Ge=new Map,Ie=new Map,Me=new Map,Qe=(T,O,y)=>{let S=Me.get(T);S||(S=[],Me.set(T,S));let E=0,W=S.length;for(;E<W;){let H=E+W>>>1;S[H].seq<O?E=H+1:W=H}S[E]?.seq===O?S[E]={seq:O,text:y}:S.splice(E,0,{seq:O,text:y});let q="";for(let H=0;H<S.length;H++)q+=S[H].text;return q},on=(T,O)=>{let y=ot(O),S=Ie.get(T.id),E=Dg(S,y);T.rawContent=E;let W=Ge.get(T.id),q=Ee=>{let rt=T.content??"";Ee.trim()!==""&&(rt.trim().length===0||Ee.startsWith(rt)||Ee.trimStart().startsWith(rt.trim()))&&(T.content=Ee)},H=()=>{if(W){let Ee=W.close?.();Ee instanceof Promise&&Ee.catch(()=>{})}Ge.delete(T.id),Ie.delete(T.id),T.streaming=!1,f(T)};if(!W){q(y),H();return}let $=Ur(E);if($!==null&&$.trim()!==""){q($),H();return}let se=Ee=>{let rt=typeof Ee=="string"?Ee:Ee?.text??null;if(rt!==null&&rt.trim()!=="")return rt;let V=W.getExtractedText();return V!==null&&V.trim()!==""?V:y},je;try{je=W.processChunk(E)}catch{q(y),H();return}if(je instanceof Promise){je.then(Ee=>{q(se(Ee)),H()}).catch(()=>{q(y),H()});return}q(se(je)),H()},Tt=null,yt=(T,O,y,S)=>{T.rawContent=O,Ge.has(T.id)||Ge.set(T.id,this.createStreamParser());let E=Ge.get(T.id),W=O.trim().startsWith("{")||O.trim().startsWith("[");if(W&&Ie.set(T.id,O),E.__isPlainTextParser===!0){T.content=S!==void 0?O:T.content+y,Ie.delete(T.id),Ge.delete(T.id),T.rawContent=void 0,f(T);return}let H=E.processChunk(O);if(H instanceof Promise)H.then($=>{let se=typeof $=="string"?$:$?.text??null;se!==null&&se.trim()!==""?(T.content=se,f(T)):!W&&!O.trim().startsWith("<")&&(T.content=S!==void 0?O:T.content+y,Ie.delete(T.id),Ge.delete(T.id),T.rawContent=void 0,f(T))}).catch(()=>{T.content=S!==void 0?O:T.content+y,Ie.delete(T.id),Ge.delete(T.id),T.rawContent=void 0,f(T)});else{let $=typeof H=="string"?H:H?.text??null;$!==null&&$.trim()!==""?(T.content=$,f(T)):!W&&!O.trim().startsWith("<")&&(T.content=S!==void 0?O:T.content+y,Ie.delete(T.id),Ge.delete(T.id),T.rawContent=void 0,f(T))}},Re=(T,O)=>{let y=O??T.content;if(y==null||y===""){T.streaming=!1,f(T);return}let E=Ie.get(T.id)??ot(y);T.rawContent=E;let W=Ge.get(T.id),q=null,H=!1;if(W&&(q=W.getExtractedText(),q===null&&(q=Ur(E)),q===null)){let $=W.processChunk(E);$ instanceof Promise?(H=!0,$.then(se=>{let je=typeof se=="string"?se:se?.text??null;je!==null&&(T.content=je,T.streaming=!1,Ge.delete(T.id),Ie.delete(T.id),f(T))}).catch(()=>{})):q=typeof $=="string"?$:$?.text??null}if(!H){q!==null&&q.trim()!==""?T.content=q:Ie.has(T.id)||(T.content=ot(y));let $=Ge.get(T.id);if($){let se=$.close?.();se instanceof Promise&&se.catch(()=>{}),Ge.delete(T.id)}Ie.delete(T.id),T.streaming=!1,f(T)}},me=(T,O,y)=>{let S=z.get(T);if(S)return S;let E={id:`nested-${O}-${T}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,sequence:c(),...y?{variant:y}:{},...y==="reasoning"?{reasoning:{id:T,status:"streaming",chunks:[]}}:{},agentMetadata:{parentToolId:O}};return z.set(T,E),f(E),E},Ve=[],ke,ue=new Map,le=0,be="agent",bt=!1,ve=null,de=null,un=new Map,X=this.config.iterationDisplay??"separate";for(ke=()=>{for(let T=0;T<Ve.length;T++){let O=Ve[T].payloadType,y=Ve[T].payload;if(!bt&&be!=="flow"&&typeof y.stepType=="string"&&(be="flow"),O==="reasoning_start"){let S=typeof y.id=="string"?y.id:null,E=typeof y.parentToolCallId=="string"&&y.parentToolCallId?y.parentToolCallId:null;if(S&&E){P.set(S,E),me(S,E,"reasoning");continue}let W=ce(y,!0)??`reason-${c()}`,q=Y(W);q.reasoning=q.reasoning??{id:W,status:"streaming",chunks:[]},q.reasoning.startedAt=q.reasoning.startedAt??Fe(y.startedAt??y.timestamp),q.reasoning.completedAt=void 0,q.reasoning.durationMs=void 0,(y.scope==="loop"||y.scope==="turn")&&(q.reasoning.scope=y.scope),q.streaming=!0,q.reasoning.status="streaming",f(q)}else if(O==="reasoning_delta"){let S=typeof y.id=="string"?y.id:null;if(S&&P.has(S)&&z.has(S)){let H=z.get(S),$=y.reasoningText??y.text??y.delta??"";$&&y.hidden!==!0&&H.reasoning&&(H.reasoning.chunks.push(String($)),f(H));continue}let E=ce(y,!1)??ce(y,!0)??`reason-${c()}`,W=Y(E);W.reasoning=W.reasoning??{id:E,status:"streaming",chunks:[]},W.reasoning.startedAt=W.reasoning.startedAt??Fe(y.startedAt??y.timestamp);let q=y.reasoningText??y.text??y.delta??"";if(q&&y.hidden!==!0){let H=typeof y.sequenceIndex=="number"?y.sequenceIndex:void 0;if(H!==void 0){let $=Qe(E,H,String(q));W.reasoning.chunks=[$]}else W.reasoning.chunks.push(String(q))}if(W.reasoning.status=y.done?"complete":"streaming",y.done){W.reasoning.completedAt=Fe(y.completedAt??y.timestamp);let H=W.reasoning.startedAt??Date.now();W.reasoning.durationMs=Math.max(0,(W.reasoning.completedAt??Date.now())-H)}W.streaming=W.reasoning.status!=="complete",f(W)}else if(O==="reasoning_complete"){let S=typeof y.id=="string"?y.id:null;if(S&&P.has(S)&&z.has(S)){let $=z.get(S);if($.reasoning){let se=typeof y.text=="string"?y.text:"";se&&$.reasoning.chunks.length===0&&$.reasoning.chunks.push(se),$.reasoning.status="complete",$.streaming=!1,f($)}P.delete(S),z.delete(S);continue}let E=ce(y,!1)??ce(y,!0)??`reason-${c()}`,W=typeof y.text=="string"?y.text:"";!x.get(E)&&(W||y.scope==="loop")&&Y(E);let q=x.get(E);if(q?.reasoning){(y.scope==="loop"||y.scope==="turn")&&(q.reasoning.scope=y.scope),W&&q.reasoning.chunks.length===0&&q.reasoning.chunks.push(W),q.reasoning.status="complete",q.reasoning.completedAt=Fe(y.completedAt??y.timestamp);let $=q.reasoning.startedAt??Date.now();q.reasoning.durationMs=Math.max(0,(q.reasoning.completedAt??Date.now())-$),q.streaming=!1,f(q)}let H=F(y);H&&j.byStep.delete(H)}else if(O==="tool_start"){v&&(v.streaming=!1,f(v),v=null),typeof y.iteration=="number"&&(le=y.iteration);let S=(typeof y.toolCallId=="string"?y.toolCallId:void 0)??Ae(y,!0)??`tool-${c()}`,E=y.toolName??y.name;if(Te(E)){Z.add(S);continue}ae(ie(y),S);let W=Oe(S),q=W.toolCall??{id:S,status:"pending"};q.name=E??q.name,q.status="running",y.parameters!==void 0?q.args=y.parameters:y.args!==void 0&&(q.args=y.args),q.startedAt=q.startedAt??Fe(y.startedAt??y.timestamp),q.completedAt=void 0,q.durationMs=void 0,W.toolCall=q,W.streaming=!0,y.executionId&&(W.agentMetadata={executionId:y.executionId,iteration:y.iteration}),f(W)}else if(O==="tool_output_delta"){let S=Ae(y,!1)??Ae(y,!0)??`tool-${c()}`;if(Z.has(S))continue;let E=Oe(S),W=E.toolCall??{id:S,status:"running"};W.startedAt=W.startedAt??Fe(y.startedAt??y.timestamp);let q=y.text??y.delta??y.message??"";q&&(W.chunks=W.chunks??[],W.chunks.push(String(q))),W.status="running",E.toolCall=W,E.streaming=!0;let H=y.agentContext;(H||y.executionId)&&(E.agentMetadata=E.agentMetadata??{executionId:H?.executionId??y.executionId,iteration:H?.iteration??y.iteration}),f(E)}else if(O==="tool_complete"){let S=Ae(y,!1)??Ae(y,!0)??`tool-${c()}`;if(Z.has(S)){Z.delete(S);continue}let E=Oe(S),W=E.toolCall??{id:S,status:"running"};W.status="complete",y.result!==void 0&&(W.result=y.result),typeof y.duration=="number"&&(W.duration=y.duration),W.completedAt=Fe(y.completedAt??y.timestamp);let q=y.duration??y.executionTime;if(typeof q=="number")W.durationMs=q;else{let se=W.startedAt??Date.now();W.durationMs=Math.max(0,(W.completedAt??Date.now())-se)}E.toolCall=W,E.streaming=!1;let H=y.agentContext;(H||y.executionId)&&(E.agentMetadata=E.agentMetadata??{executionId:H?.executionId??y.executionId,iteration:H?.iteration??y.iteration}),f(E);let $=ie(y);$&&J.byCall.delete($)}else if(O==="await"&&y.toolName){let S=typeof y.toolCallId=="string"&&y.toolCallId.length>0?y.toolCallId:void 0,E=S??y.toolId??`local-${c()}`,W=Oe(E),q=y.toolName,H=y.origin==="webmcp"&&!Ko(q)?`webmcp:${q}`:q,$=Ko(H),se=W.toolCall??{id:E,status:"pending"};se.name=H,se.args=y.parameters,se.status=$?"running":"complete",se.chunks=se.chunks??[],se.startedAt=se.startedAt??Fe(y.startedAt??y.timestamp??y.awaitedAt),$?(se.completedAt=void 0,se.duration=void 0,se.durationMs=void 0):se.completedAt=se.completedAt??se.startedAt,W.toolCall=se,W.streaming=!1,W.agentMetadata={...W.agentMetadata,executionId:y.executionId??W.agentMetadata?.executionId,awaitingLocalTool:!0,...S?{webMcpToolCallId:S}:{}},f(W)}else if(O==="text_start"){let S=typeof y.id=="string"?y.id:null,E=typeof y.parentToolCallId=="string"&&y.parentToolCallId?y.parentToolCallId:null;if(S&&E){P.set(S,E);continue}let W=v;W&&(be==="flow"?(Re(W),Tt=W):(W.streaming=!1,f(W)),v=null),k=typeof y.id=="string"?y.id:k,M=""}else if(O==="text_delta"){let S=typeof y.id=="string"?y.id:null,E=S?P.get(S):void 0;if(S&&E){let q=typeof y.delta=="string"?y.delta:"",H=(K.get(S)??"")+q;if(K.set(S,H),H.trim()==="")continue;let $=me(S,E);$.agentMetadata={...$.agentMetadata,executionId:y.executionId,parentToolId:E},yt($,H,q,void 0);continue}if(k=typeof y.id=="string"?y.id:k,be==="flow"){let q=typeof y.delta=="string"?y.delta:"";if(M+=q,M.trim()==="")continue;let H=we();H.agentMetadata={executionId:y.executionId,iteration:y.iteration},yt(H,M,q,void 0),C=H;continue}let W=we();W.content+=y.delta??"",W.agentMetadata={executionId:y.executionId,iteration:y.iteration,turnId:ve??void 0,agentName:de?.agentName},C=W,f(W)}else if(O==="text_complete"){let S=typeof y.id=="string"?y.id:null;if(S&&P.has(S)){let W=z.get(S);W&&Re(W),P.delete(S),K.delete(S),z.delete(S);continue}let E=v;E&&(be==="flow"?(Re(E),Tt=E):((E.content??"")===""&&typeof y.text=="string"&&(E.content=y.text),E.streaming=!1,f(E)),v=null),k=null,M=""}else if(O==="step_complete"){let S=y.stepType,E=y.executionType;if(S==="tool"||E==="context")continue;if(y.success===!1){let W=y.error,q=typeof W=="string"&&W!==""?W:W!=null&&typeof W=="object"&&Reflect.has(W,"message")?String(W.message??"Step failed"):"Step failed";n({type:"error",error:new Error(q)});let H=v;H&&H.streaming&&(H.streaming=!1,f(H)),n({type:"status",status:"idle"});continue}{let W=Tt;Tt=null;let q=y.stopReason,H=y.result?.response;if(W)q&&(W.stopReason=q),H!=null?on(W,H):W.streaming!==!1&&(Ge.delete(W.id),Ie.delete(W.id),W.streaming=!1,f(W));else{let $=H!=null&&H!=="";if($||q){let se=we();q&&(se.stopReason=q),$?Re(se,H):(se.streaming=!1,f(se))}}continue}}else if(O==="execution_start")be=y.kind==="flow"?"flow":"agent",bt=!0,be==="agent"&&(de={executionId:y.executionId,agentId:y.agentId??"virtual",agentName:y.agentName??"",status:"running",currentIteration:0,maxTurns:y.maxTurns??1,startedAt:Fe(y.startedAt)});else if(O==="turn_start"){let S=typeof y.iteration=="number"?y.iteration:le;if(S!==le){if(de&&(de.currentIteration=S),X==="separate"&&S>1){let E=v;E&&(E.streaming=!1,f(E),un.set(S-1,E),v=null)}le=S}ve=typeof y.id=="string"?y.id:null,C=null}else if(O==="tool_input_delta"){let S=y.toolCallId??J.lastId;if(S){let E=U.get(S);E?.toolCall&&(E.toolCall.chunks=E.toolCall.chunks??[],E.toolCall.chunks.push(y.delta??""),f(E))}}else{if(O==="tool_input_complete")continue;if(O==="turn_complete"){let S=y.stopReason,E=v??C;if(S&&E!==null){let W=y.id;(!W||E.agentMetadata?.turnId===W)&&(E.stopReason=S,f(E))}ve===y.id&&(ve=null)}else if(O==="media_start"){let S=String(y.id);ue.set(S,{mediaType:typeof y.mediaType=="string"?y.mediaType:void 0,role:typeof y.role=="string"?y.role:void 0,toolCallId:y.toolCallId,parts:[]})}else if(O==="media_delta"){let S=ue.get(String(y.id));S&&typeof y.delta=="string"&&S.parts.push(y.delta)}else if(O==="media_complete"){let S=String(y.id),E=ue.get(S);ue.delete(S);let W=(typeof y.mediaType=="string"?y.mediaType:void 0)??E?.mediaType??"application/octet-stream",q=typeof y.data=="string"?y.data:void 0,H=typeof y.url=="string"?y.url:E&&E.parts.length>0?E.parts.join(""):void 0,$=null;if(q)$={type:"media",data:q,mediaType:W};else if(H){let rt=W.toLowerCase();$={type:rt==="image"||rt.startsWith("image/")?"image-url":"file-url",url:H,mediaType:W}}let se=y.toolCallId??E?.toolCallId,je=$?[$]:[],Ee=[];for(let rt of je){if(!rt||typeof rt!="object")continue;let V=rt,$e=typeof V.type=="string"?V.type:void 0,Se=typeof V.mediaType=="string"?V.mediaType.toLowerCase():"",Pe=null,Le="";if($e==="media"){let Xe=typeof V.data=="string"?V.data:void 0;if(!Xe)continue;Le=Se.length>0?Se:"application/octet-stream",Pe=`data:${Le};base64,${Xe}`}else if($e==="image-url"){let Xe=typeof V.url=="string"?V.url:void 0;if(!Xe)continue;Le=Se,Pe=Xe}else if($e==="file-url"){let Xe=typeof V.url=="string"?V.url:void 0;if(!Xe)continue;Le=Se,Pe=Xe}else continue;if(Pe)if($e==="image-url"||Le.startsWith("image/"))Ee.push({type:"image",image:Pe,...Le.includes("/")?{mimeType:Le}:{}});else if(Le.startsWith("audio/"))Ee.push({type:"audio",audio:Pe,mimeType:Le});else if(Le.startsWith("video/"))Ee.push({type:"video",video:Pe,mimeType:Le});else{let Xe=Le||"application/octet-stream";Ee.push({type:"file",data:Pe,mimeType:Xe,filename:Hg(Xe)})}}if(Ee.length>0){let rt=c(),V=se,Se={id:`agent-media-${typeof V=="string"&&V.length>0?`${V}-${rt}`:String(rt)}`,role:"assistant",content:"",contentParts:Ee,createdAt:new Date().toISOString(),streaming:!1,sequence:rt,agentMetadata:{executionId:y.executionId,iteration:typeof y.iteration=="number"?y.iteration:le}};f(Se);let Pe=v;Pe&&(Pe.streaming=!1,f(Pe)),v=null,I.current=null}}else if(O==="execution_complete"){let S=y.kind??be;S==="agent"&&de&&(de.status=y.success?"complete":"error",de.completedAt=Fe(y.completedAt),de.stopReason=y.stopReason);let E=v;E&&(S==="flow"&&E.streaming!==!1?Re(E):(E.streaming=!1,f(E)),v=null),k=null,M="",Tt=null,n({type:"status",status:"idle",terminal:!0})}else if(O==="execution_error"){let S=typeof y.error=="string"?y.error:y.error?.message??"Execution error";n({type:"error",error:new Error(S)})}else if(O!=="ping"){if(O==="approval_start"){let S=y.approvalId??`approval-${c()}`,E={id:`approval-${S}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!1,variant:"approval",sequence:c(),approval:{id:S,status:"pending",agentId:de?.agentId??"virtual",executionId:y.executionId??de?.executionId??"",toolName:y.toolName??"",toolType:y.toolType,description:y.description??`Execute ${y.toolName??"tool"}`,...typeof y.reason=="string"&&y.reason?{reason:y.reason}:{},parameters:y.parameters}};f(E)}else if(O==="step_await"&&y.awaitReason==="approval_required"){let S=y.approvalId??`approval-${c()}`,E={id:`approval-${S}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!1,variant:"approval",sequence:c(),approval:{id:S,status:"pending",agentId:de?.agentId??"virtual",executionId:y.executionId??de?.executionId??"",toolName:y.toolName??"",toolType:y.toolType,description:y.description??`Execute ${y.toolName??"tool"}`,...typeof y.reason=="string"&&y.reason?{reason:y.reason}:{},parameters:y.parameters}};f(E)}else if(O==="approval_complete"){let S=y.approvalId;if(S){let W={id:`approval-${S}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!1,variant:"approval",sequence:c(),approval:{id:S,status:y.decision??"approved",agentId:de?.agentId??"virtual",executionId:y.executionId??de?.executionId??"",toolName:y.toolName??"",description:y.description??"",resolvedAt:Date.now()}};f(W)}}else if(O==="artifact_start"||O==="artifact_delta"||O==="artifact_update"||O==="artifact_complete"){if(O==="artifact_start"){let S=y.artifactType,E=String(y.id),W=typeof y.title=="string"?y.title:void 0,q=y.file,H;q&&typeof q=="object"&&!Array.isArray(q)&&typeof q.path=="string"&&typeof q.mimeType=="string"&&(H={path:q.path,mimeType:q.mimeType,...typeof q.language=="string"?{language:q.language}:{}}),n({type:"artifact_start",id:E,artifactType:S,title:W,component:typeof y.component=="string"?y.component:void 0,...H?{file:H}:{}});let $=y.props&&typeof y.props=="object"&&!Array.isArray(y.props)?{...y.props}:void 0;if(pe.set(E,{markdown:"",title:W,file:H,...$?{props:$}:{}}),!ye.has(E)){ye.add(E);let se=So(this.config.features?.artifacts,S),je=typeof y.component=="string"?y.component:void 0,Ee={id:`artifact-ref-${E}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,sequence:c(),rawContent:Js(se,{artifactId:E,title:W,artifactType:S,status:"streaming",...H?{file:H}:{},...je?{component:je}:{}})};he.set(E,Ee),f(Ee)}}else if(O==="artifact_delta"){let S=String(y.id),E=typeof y.delta=="string"?y.delta:String(y.delta??"");n({type:"artifact_delta",id:S,artDelta:E});let W=pe.get(S);W&&(W.markdown+=E)}else if(O==="artifact_update"){let S=y.props&&typeof y.props=="object"&&!Array.isArray(y.props)?y.props:{};n({type:"artifact_update",id:String(y.id),props:S,component:typeof y.component=="string"?y.component:void 0});let E=pe.get(String(y.id));E&&(E.props={...E.props??{},...S})}else if(O==="artifact_complete"){let S=String(y.id);n({type:"artifact_complete",id:S});let E=he.get(S);if(E){E.streaming=!1;try{let W=JSON.parse(E.rawContent??"{}");if(W.props){W.props.status="complete";let q=pe.get(S);q?.markdown&&(W.props.markdown=q.markdown),q?.file&&(W.props.file=q.file),W.component==="PersonaArtifactInline"&&q?.props&&Object.keys(q.props).length>0&&(W.props.componentProps=q.props)}E.rawContent=JSON.stringify(W)}catch{}pe.delete(S),f(E),he.delete(S)}}}else if(O==="transcript_insert"){let S=y.message;if(!S||typeof S!="object")continue;let E=String(S.id??`msg-${c()}`),W=S.role,H={id:E,role:W==="user"?"user":W==="system"?"system":"assistant",content:typeof S.content=="string"?S.content:"",rawContent:typeof S.rawContent=="string"?S.rawContent:void 0,createdAt:typeof S.createdAt=="string"?S.createdAt:new Date().toISOString(),streaming:S.streaming===!0,...typeof S.variant=="string"?{variant:S.variant}:{},sequence:c()};if(f(H),H.rawContent)try{let se=JSON.parse(H.rawContent)?.props?.artifactId;typeof se=="string"&&ye.add(se)}catch{}v=null,I.current=null,Ge.delete(E),Ie.delete(E)}else if(O==="error"){if(y.recoverable===!1&&y.error!=null&&y.error!==""){let S=typeof y.error=="string"?y.error:y.error?.message!=null?String(y.error.message):"Execution error";n({type:"error",error:new Error(S)});let E=v;E&&E.streaming&&(E.streaming=!1,f(E)),n({type:"status",status:"idle"})}}else if(O==="step_error"||O==="dispatch_error"||O==="flow_error"){let S=null;if(y.error instanceof Error)S=y.error;else if(O==="dispatch_error"){let E=y.message??y.error;E!=null&&E!==""&&(S=new Error(String(E)))}else{let E=y.error;typeof E=="string"&&E!==""?S=new Error(E):E!=null&&typeof E=="object"&&Reflect.has(E,"message")&&(S=new Error(String(E.message??E)))}if(S){n({type:"error",error:S});let E=v;E&&E.streaming&&(E.streaming=!1,f(E)),n({type:"status",status:"idle"})}}}}}Ve.length=0};;){let{done:T,value:O}=await s.read();if(T)break;l+=a.decode(O,{stream:!0});let y=l.split(`
|
|
11
|
+
`).replace(/\\r/g,"\r").replace(/\\t/g," ").replace(/\\"/g,'"').replace(/\\\\/g,"\\")}catch{return l[1]}return null};return{getExtractedText:()=>t,processChunk:async o=>{if(o.length<=e)return t!==null?{text:t,raw:o}:null;let r=o.trim();if(!r.startsWith("{")&&!r.startsWith("["))return null;let s=n(o);return s!==null&&(t=s),e=o.length,t!==null?{text:t,raw:o}:null},close:async()=>{}}},Ur=t=>{try{let e=JSON.parse(t);if(e&&typeof e=="object"&&typeof e.text=="string")return e.text}catch{return null}return null},Ld=()=>{let t={processChunk:e=>null,getExtractedText:()=>null};return t.__isPlainTextParser=!0,t},Pd=()=>{let t=Ig();return{processChunk:async e=>{let n=e.trim();return!n.startsWith("{")&&!n.startsWith("[")?null:t.processChunk(e)},getExtractedText:t.getExtractedText.bind(t),close:t.close?.bind(t)}},Id=()=>{let t=null,e=0;return{getExtractedText:()=>t,processChunk:n=>{let o=n.trim();if(!o.startsWith("{")&&!o.startsWith("["))return null;if(n.length<=e)return t!==null||t===""?{text:t||"",raw:n}:null;try{let r=Mg(n,Eg|kg);r&&typeof r=="object"&&(r.component&&typeof r.component=="string"?t=typeof r.text=="string"?Md(r.text):"":r.type==="init"&&r.form?t="":typeof r.text=="string"&&(t=Md(r.text)))}catch{}return e=n.length,t!==null?{text:t,raw:n}:null},close:()=>{}}};var Rd=()=>{let t=null;return{processChunk:e=>{if(!e.trim().startsWith("<"))return null;let o=e.match(/<text[^>]*>([\s\S]*?)<\/text>/);return o&&o[1]?(t=o[1],{text:t,raw:e}):null},getExtractedText:()=>t}};var Wd="4.12.0";var jr=Wd;var Wg="https://api.runtype.com/v1/dispatch",sa="https://api.runtype.com";function Hg(t){let e=t.toLowerCase(),o={"application/pdf":"pdf","application/json":"json","application/zip":"zip","text/plain":"txt","text/csv":"csv","text/markdown":"md"}[e];if(o)return`attachment.${o}`;let r=e.indexOf("/");if(r>0){let s=e.slice(r+1).split(";")[0]?.trim()??"";if(s&&s!=="octet-stream"&&/^[a-z0-9.+-]+$/i.test(s))return`attachment.${s}`}return"attachment"}var _i=t=>!!(t.contentParts&&t.contentParts.length>0||t.llmContent&&t.llmContent.trim().length>0||t.rawContent&&t.rawContent.trim().length>0||t.content&&t.content.trim().length>0);function Bg(t){switch(t){case"json":return Id;case"regex-json":return Pd;case"xml":return Rd;default:return Ld}}var Hd=t=>t.startsWith("{")||t.startsWith("[")||t.startsWith("<");function Dg(t,e){if(!t)return e;let n=t.trim(),o=e.trim();if(n.length===0)return e;if(o.length===0)return t;let r=Hd(n);if(!Hd(o))return t;if(!r||o===n||o.startsWith(n))return e;let a=Ur(t);return Ur(e)!==null&&a===null?e:t}var qr=class{constructor(e={}){this.config=e;this.clientSession=null;this.sessionInitPromise=null;this.lastSentClientToolsFingerprint=null;this.clientToolsFingerprintSessionId=null;this.sentNonEmptyClientToolsSessionId=null;if(e.target&&(e.agentId||e.flowId||e.agent))throw new Error("[Persona] `target` is mutually exclusive with `agentId`, `flowId`, and `agent`. Set only one routing field.");this.apiUrl=e.apiUrl??Wg,this.headers={"Content-Type":"application/json","X-Persona-Version":jr,...e.headers},this.debug=!!e.debug,this.createStreamParser=e.streamParser??Bg(e.parserType),this.contextProviders=e.contextProviders??[],this.requestMiddleware=e.requestMiddleware,this.customFetch=e.customFetch,this.parseSSEEvent=e.parseSSEEvent,this.getHeaders=e.getHeaders,this.webMcpBridge=e.webmcp?.enabled===!0?new Xs(e.webmcp):null}updateConfig(e){this.config=e}setSSEEventCallback(e){this.onSSEEvent=e}setWebMcpConfirmHandler(e){this.webMcpBridge?.setConfirmHandler(e)}isWebMcpOperational(){return this.webMcpBridge?.isOperational()===!0}executeWebMcpToolCall(e,n,o){return this.webMcpBridge?this.webMcpBridge.executeToolCall(e,n,o):null}getSSEEventCallback(){return this.onSSEEvent}isClientTokenMode(){return!!this.config.clientToken}routing(){let{agentId:e,flowId:n,target:o,targetProviders:r}=this.config;if(!o)return{agentId:e,flowId:n};let s=pd(o,r);return s.kind==="agentId"?{agentId:s.agentId}:s.kind==="flowId"?{flowId:s.flowId}:{targetPayload:s.payload}}isAgentMode(){return!!(this.config.agent||this.routing().agentId)}getClientApiUrl(e){return`${this.config.apiUrl?.replace(/\/+$/,"").replace(/\/v1\/dispatch$/,"")||sa}/v1/client/${e}`}getClientSession(){return this.clientSession}async initSession(){if(!this.isClientTokenMode())throw new Error("initSession() only available in client token mode");if(this.clientSession&&new Date<this.clientSession.expiresAt)return this.clientSession;if(this.sessionInitPromise)return this.sessionInitPromise;this.sessionInitPromise=this._doInitSession();try{let e=await this.sessionInitPromise;return this.clientSession=e,this.resetClientToolsFingerprint(),this.config.onSessionInit?.(e),e}finally{this.sessionInitPromise=null}}async _doInitSession(){let e=this.config.getStoredSessionId?.()||null,n=this.routing(),o=n.agentId??n.flowId,r={token:this.config.clientToken,...o&&{flowId:o},...e&&{sessionId:e}},s=await fetch(this.getClientApiUrl("init"),{method:"POST",headers:{"Content-Type":"application/json","X-Persona-Version":jr},body:JSON.stringify(r)});if(!s.ok){let l=await s.json().catch(()=>({error:"Session initialization failed"}));throw s.status===401?new Error(`Invalid client token: ${l.hint||l.error}`):s.status===403?new Error(`Origin not allowed: ${l.hint||l.error}`):new Error(l.error||"Failed to initialize session")}let a=await s.json();return this.config.setStoredSessionId&&this.config.setStoredSessionId(a.sessionId),{sessionId:a.sessionId,expiresAt:new Date(a.expiresAt),flow:a.flow,config:{welcomeMessage:a.config.welcomeMessage,placeholder:a.config.placeholder,theme:a.config.theme}}}clearClientSession(){this.clientSession=null,this.sessionInitPromise=null,this.resetClientToolsFingerprint()}resetClientToolsFingerprint(){this.lastSentClientToolsFingerprint=null,this.clientToolsFingerprintSessionId=null,this.sentNonEmptyClientToolsSessionId=null}getFeedbackApiUrl(){return`${this.config.apiUrl?.replace(/\/+$/,"").replace(/\/v1\/dispatch$/,"")||sa}/v1/client/feedback`}async sendFeedback(e){if(!this.isClientTokenMode())throw new Error("sendFeedback() only available in client token mode");if(!this.getClientSession())throw new Error("No active session. Please initialize session first.");if(["upvote","downvote","copy"].includes(e.type)&&!e.messageId)throw new Error(`messageId is required for ${e.type} feedback type`);if(e.type==="csat"&&(e.rating===void 0||e.rating<1||e.rating>5))throw new Error("CSAT rating must be between 1 and 5");if(e.type==="nps"&&(e.rating===void 0||e.rating<0||e.rating>10))throw new Error("NPS rating must be between 0 and 10");this.debug&&console.debug("[AgentWidgetClient] sending feedback",e);let r={...e,...this.config.clientToken&&{token:this.config.clientToken}},s=await fetch(this.getFeedbackApiUrl(),{method:"POST",headers:{"Content-Type":"application/json","X-Persona-Version":jr},body:JSON.stringify(r)});if(!s.ok){let a=await s.json().catch(()=>({error:"Feedback submission failed"}));throw s.status===401?(this.clientSession=null,this.config.onSessionExpired?.(),new Error("Session expired. Please refresh to continue.")):new Error(a.error||"Failed to submit feedback")}}async submitMessageFeedback(e,n){let o=this.getClientSession();if(!o)throw new Error("No active session. Please initialize session first.");return this.sendFeedback({sessionId:o.sessionId,messageId:e,type:n})}async submitCSATFeedback(e,n){let o=this.getClientSession();if(!o)throw new Error("No active session. Please initialize session first.");return this.sendFeedback({sessionId:o.sessionId,type:"csat",rating:e,comment:n})}async submitNPSFeedback(e,n){let o=this.getClientSession();if(!o)throw new Error("No active session. Please initialize session first.");return this.sendFeedback({sessionId:o.sessionId,type:"nps",rating:e,comment:n})}async dispatch(e,n){return e.signal?.throwIfAborted(),this.isClientTokenMode()?this.dispatchClientToken(e,n):this.isAgentMode()?this.dispatchAgent(e,n):this.dispatchProxy(e,n)}async dispatchClientToken(e,n){n({type:"status",status:"connecting"});try{let o=await this.initSession();if(new Date>=new Date(o.expiresAt.getTime()-6e4)){this.clearClientSession(),this.config.onSessionExpired?.();let d=new Error("Session expired. Please refresh to continue.");throw n({type:"error",error:d}),d}let r=await this.buildPayload(e.messages),s=r.metadata?Object.fromEntries(Object.entries(r.metadata).filter(([d])=>d!=="sessionId"&&d!=="session_id")):void 0,a={sessionId:o.sessionId,messages:e.messages.filter(_i).map(d=>({id:d.id,role:d.role,content:d.contentParts??d.llmContent??d.rawContent??d.content})),...e.assistantMessageId&&{assistantMessageId:e.assistantMessageId},...s&&Object.keys(s).length>0&&{metadata:s},...r.inputs&&Object.keys(r.inputs).length>0&&{inputs:r.inputs},...r.context&&{context:r.context}},{response:l,commit:p}=await this.sendWithClientToolsDiff(o.sessionId,r.clientTools,d=>{let c={...a,...d};return this.debug&&console.debug("[AgentWidgetClient] client token dispatch",c),fetch(this.getClientApiUrl("chat"),{method:"POST",headers:{"Content-Type":"application/json","X-Persona-Version":jr},body:JSON.stringify(c),signal:e.signal})});if(!l.ok){let d=await l.json().catch(()=>({error:"Chat request failed"}));if(l.status===401){this.clearClientSession(),this.config.onSessionExpired?.();let u=new Error("Session expired. Please refresh to continue.");throw n({type:"error",error:u}),u}if(l.status===429){let u=new Error(d.hint||"Message limit reached for this session.");throw n({type:"error",error:u}),u}let c=new Error(d.error||"Failed to send message");throw n({type:"error",error:c}),c}if(!l.body){let d=new Error("No response body received");throw n({type:"error",error:d}),d}p(),n({type:"status",status:"connected"});try{await this.streamResponse(l.body,n,e.assistantMessageId)}finally{n({type:"status",status:"idle"})}}catch(o){let r=o instanceof Error?o:new Error(String(o));throw!r.message.includes("Session expired")&&!r.message.includes("Message limit")&&n({type:"error",error:r}),r}}async dispatchProxy(e,n){n({type:"status",status:"connecting"});let o=await this.buildPayload(e.messages);this.debug&&console.debug("[AgentWidgetClient] dispatch payload",o);let r={...this.headers};if(this.getHeaders)try{let a=await this.getHeaders();r={...r,...a}}catch(a){typeof console<"u"&&console.error("[AgentWidget] getHeaders error:",a)}let s;if(this.customFetch)try{s=await this.customFetch(this.apiUrl,{method:"POST",headers:r,body:JSON.stringify(o),signal:e.signal},o)}catch(a){let l=a instanceof Error?a:new Error(String(a));throw n({type:"error",error:l}),l}else s=await fetch(this.apiUrl,{method:"POST",headers:r,body:JSON.stringify(o),signal:e.signal});if(!s.ok||!s.body){let a=new Error(`Chat backend request failed: ${s.status} ${s.statusText}`);throw n({type:"error",error:a}),a}n({type:"status",status:"connected"});try{await this.streamResponse(s.body,n)}finally{n({type:"status",status:"idle"})}}async dispatchAgent(e,n){n({type:"status",status:"connecting"});let o=await this.buildAgentPayload(e.messages);this.debug&&console.debug("[AgentWidgetClient] agent dispatch payload",o);let r={...this.headers};if(this.getHeaders)try{let a=await this.getHeaders();r={...r,...a}}catch(a){typeof console<"u"&&console.error("[AgentWidget] getHeaders error:",a)}let s;if(this.customFetch)try{s=await this.customFetch(this.apiUrl,{method:"POST",headers:r,body:JSON.stringify(o),signal:e.signal},o)}catch(a){let l=a instanceof Error?a:new Error(String(a));throw n({type:"error",error:l}),l}else s=await fetch(this.apiUrl,{method:"POST",headers:r,body:JSON.stringify(o),signal:e.signal});if(!s.ok||!s.body){let a=new Error(`Agent execution request failed: ${s.status} ${s.statusText}`);throw n({type:"error",error:a}),a}n({type:"status",status:"connected"});try{await this.streamResponse(s.body,n,e.assistantMessageId)}finally{n({type:"status",status:"idle"})}}async processStream(e,n,o,r){n({type:"status",status:"connected"});try{await this.streamResponse(e,n,o,r)}finally{n({type:"status",status:"idle"})}}async resolveApproval(e,n){let r=`${this.config.apiUrl?.replace(/\/+$/,"").replace(/\/v1\/dispatch$/,"")||sa}/v1/agents/${e.agentId}/approve`,s={"Content-Type":"application/json",...this.headers};return this.getHeaders&&Object.assign(s,await this.getHeaders()),fetch(r,{method:"POST",headers:s,body:JSON.stringify({executionId:e.executionId,approvalId:e.approvalId,decision:n,streamResponse:!0})})}async sendWithClientToolsDiff(e,n,o,r){let s=!!(n&&n.length>0),a=s?ld(n):void 0,l=this.clientToolsFingerprintSessionId===e,p=s&&l&&this.lastSentClientToolsFingerprint===a,d=!s&&r?.emptyMeansReplace===!0&&this.sentNonEmptyClientToolsSessionId===e,c=!1,u;for(let w=0;;w++){if(u=await o({...s&&(c||!p)&&n?{clientTools:n}:{},...d?{clientTools:[]}:{},...a?{clientToolsFingerprint:a}:{}}),u.status===409&&w===0&&s&&(await u.clone().json().catch(()=>null))?.error==="client_tools_resend_required"){c=!0,this.lastSentClientToolsFingerprint=null;continue}break}return{response:u,commit:()=>{this.lastSentClientToolsFingerprint=a??null,this.clientToolsFingerprintSessionId=e,s?this.sentNonEmptyClientToolsSessionId=e:d&&(this.sentNonEmptyClientToolsSessionId=null)}}}async resumeFlow(e,n,o){let r=this.isClientTokenMode(),s=r?this.getClientApiUrl("resume"):`${this.config.apiUrl?.replace(/\/+$/,"")||sa}/resume`,a;r&&(a=(await this.initSession()).sessionId);let l={"Content-Type":"application/json",...this.headers};this.getHeaders&&Object.assign(l,await this.getHeaders());let p={executionId:e,toolOutputs:n,streamResponse:o?.streamResponse??!0};if(a&&(p.sessionId=a),r&&a){let d=[...ta(this.config),...await this.webMcpBridge?.snapshotForDispatch()??[]],{response:c,commit:u}=await this.sendWithClientToolsDiff(a,d,w=>{let f={...p,...w};return this.debug&&console.debug("[AgentWidgetClient] client token resume",f),fetch(s,{method:"POST",headers:l,body:JSON.stringify(f),signal:o?.signal})},{emptyMeansReplace:!0});return c.ok&&u(),c}return fetch(s,{method:"POST",headers:l,body:JSON.stringify(p),signal:o?.signal})}latestMentionContext(e){for(let n=e.length-1;n>=0;n--){let o=e[n];if(o.role==="user")return o.mentionContext&&Object.keys(o.mentionContext).length>0?{mentions:o.mentionContext}:null}return null}async buildContextAggregate(e){let n={};this.contextProviders.length&&await Promise.all(this.contextProviders.map(async r=>{try{let s=await r({messages:e,config:this.config});s&&typeof s=="object"&&Object.assign(n,s)}catch(s){typeof console<"u"&&console.warn("[AgentWidget] Context provider failed:",s)}}));let o=this.latestMentionContext(e);return o&&Object.assign(n,o),Object.keys(n).length?n:null}async buildAgentPayload(e){let n=this.routing().agentId;if(!this.config.agent&&!n)throw new Error("Agent configuration required for agent mode");let o=e.slice().filter(_i).filter(l=>l.role==="user"||l.role==="assistant"||l.role==="system").filter(l=>!l.variant||l.variant==="assistant").sort((l,p)=>{let d=new Date(l.createdAt).getTime(),c=new Date(p.createdAt).getTime();return d-c}).map(l=>({role:l.role,content:l.contentParts??l.llmContent??l.rawContent??l.content,createdAt:l.createdAt})),r={agent:this.config.agent??{agentId:n},messages:o,options:{streamResponse:!0,recordMode:"virtual",...this.config.agentOptions}},s=[...ta(this.config),...await this.webMcpBridge?.snapshotForDispatch()??[]];s.length>0&&(r.clientTools=s);let a=await this.buildContextAggregate(e);return a&&(r.context=a),r}async buildPayload(e){let n=e.slice().filter(_i).sort((l,p)=>{let d=new Date(l.createdAt).getTime(),c=new Date(p.createdAt).getTime();return d-c}).map(l=>({role:l.role,content:l.contentParts??l.llmContent??l.rawContent??l.content,createdAt:l.createdAt})),o=this.routing(),r={messages:n,...o.agentId?{agent:{agentId:o.agentId}}:o.flowId?{flowId:o.flowId}:{}};if(o.targetPayload)for(let[l,p]of Object.entries(o.targetPayload))l!=="messages"&&(r[l]=p);let s=[...ta(this.config),...await this.webMcpBridge?.snapshotForDispatch()??[]];s.length>0&&(r.clientTools=s);let a=await this.buildContextAggregate(e);if(a&&(r.context=a),this.requestMiddleware)try{let l=await this.requestMiddleware({payload:{...r},config:this.config});if(l&&typeof l=="object"){let p=l;return r.clientTools!==void 0&&!("clientTools"in p)&&(p.clientTools=r.clientTools),p}}catch(l){typeof console<"u"&&console.error("[AgentWidget] Request middleware error:",l)}return r}async handleCustomSSEEvent(e,n,o,r,s,a){if(!this.parseSSEEvent)return!1;try{let l=await this.parseSSEEvent(e);if(l===null)return!1;let p=c=>{let u={id:`assistant-${Date.now()}-${Math.random().toString(16).slice(2)}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,variant:"assistant",sequence:s(),...c!==void 0&&{partId:c}};return o.current=u,r(u),u},d=c=>o.current?o.current:p(c);if(l.text!==void 0){l.partId!==void 0&&a.current!==null&&l.partId!==a.current&&(o.current&&(o.current.streaming=!1,r(o.current)),p(l.partId)),l.partId!==void 0&&(a.current=l.partId);let c=d(l.partId);l.partId!==void 0&&!c.partId&&(c.partId=l.partId),c.content+=l.text,r(c)}return l.done&&(o.current&&(o.current.streaming=!1,r(o.current)),a.current=null,n({type:"status",status:"idle"})),l.error&&(a.current=null,n({type:"error",error:new Error(l.error)})),!0}catch(l){return typeof console<"u"&&console.error("[AgentWidget] parseSSEEvent error:",l),!1}}async streamResponse(e,n,o,r){let s=e.getReader(),a=new TextDecoder,l="",p=Date.now(),d=0,c=()=>p+d++,u=T=>{let O=T.reasoning?{...T.reasoning,chunks:[...T.reasoning.chunks]}:void 0,y=T.toolCall?{...T.toolCall,chunks:T.toolCall.chunks?[...T.toolCall.chunks]:void 0}:void 0,S=T.tools?T.tools.map(E=>({...E,chunks:E.chunks?[...E.chunks]:void 0})):void 0;return{...T,reasoning:O,toolCall:y,tools:S}},w=T=>{if(T.role!=="assistant"||T.variant)return!0;let O=Array.isArray(T.contentParts)&&T.contentParts.length>0,y=typeof T.rawContent=="string"&&T.rawContent.trim()!=="";return typeof T.content=="string"&&T.content.trim()!==""||O||y||!!T.stopReason},f=T=>{w(T)&&n({type:"message",message:u(T)})},v=null,C=null,I={current:null},B={current:null},k=null,M="",P=new Map,z=new Map,K=new Map,x=new Map,U=new Map,j={lastId:null,byStep:new Map},J={lastId:null,byCall:new Map},D=T=>{if(T==null)return null;try{return String(T)}catch{return null}},F=T=>D(T.stepId??T.step_id??T.step??T.parentId??T.flowStepId??T.flow_step_id),ie=T=>D(T.callId??T.call_id??T.requestId??T.request_id??T.toolCallId??T.tool_call_id??T.stepId??T.step_id),ge=o,Ce=!1,we=()=>{if(v)return v;let T,O="",y=k;return!Ce&&ge?(T=ge,Ce=!0,O=r??""):ge&&y?T=`${ge}_${y}`:T=`assistant-${Date.now()}-${Math.random().toString(16).slice(2)}`,v={id:T,role:"assistant",content:O,createdAt:new Date().toISOString(),streaming:!0,sequence:c()},f(v),v},ee=(T,O)=>{j.lastId=O,T&&j.byStep.set(T,O)},ce=(T,O)=>{let y=T.reasoningId??T.id,S=F(T);if(y){let W=String(y);return ee(S,W),W}if(S){let W=j.byStep.get(S);if(W)return j.lastId=W,W}if(j.lastId&&!O)return j.lastId;if(!O)return null;let E=`reason-${c()}`;return ee(S,E),E},Y=T=>{let O=x.get(T);if(O)return O;let y={id:`reason-${T}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,variant:"reasoning",sequence:c(),reasoning:{id:T,status:"streaming",chunks:[]}};return x.set(T,y),f(y),y},ae=(T,O)=>{J.lastId=O,T&&J.byCall.set(T,O)},Z=new Set,he=new Map,ye=new Set,pe=new Map,Te=T=>{if(!T)return!1;let O=T.replace(/_+/g,"_").replace(/^_|_$/g,"");return O==="emit_artifact_markdown"||O==="emit_artifact_component"},Ae=(T,O)=>{let y=T.toolId??T.id,S=ie(T);if(y){let W=String(y);return ae(S,W),W}if(S){let W=J.byCall.get(S);if(W)return J.lastId=W,W}if(J.lastId&&!O)return J.lastId;if(!O)return null;let E=`tool-${c()}`;return ae(S,E),E},$e=T=>{let O=U.get(T);if(O)return O;let y={id:`tool-${T}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,variant:"tool",sequence:c(),toolCall:{id:T,status:"pending"}};return U.set(T,y),f(y),y},Fe=T=>{if(typeof T=="number"&&Number.isFinite(T))return T;if(typeof T=="string"){let O=Number(T);if(!Number.isNaN(O)&&Number.isFinite(O))return O;let y=Date.parse(T);if(!Number.isNaN(y))return y}return Date.now()},ot=T=>{if(typeof T=="string")return T;if(T==null)return"";try{return JSON.stringify(T)}catch{return String(T)}},Qe=new Map,He=new Map,Ee=new Map,Xe=(T,O,y)=>{let S=Ee.get(T);S||(S=[],Ee.set(T,S));let E=0,W=S.length;for(;E<W;){let H=E+W>>>1;S[H].seq<O?E=H+1:W=H}S[E]?.seq===O?S[E]={seq:O,text:y}:S.splice(E,0,{seq:O,text:y});let q="";for(let H=0;H<S.length;H++)q+=S[H].text;return q},on=(T,O)=>{let y=ot(O),S=He.get(T.id),E=Dg(S,y);T.rawContent=E;let W=Qe.get(T.id),q=ke=>{let rt=T.content??"";ke.trim()!==""&&(rt.trim().length===0||ke.startsWith(rt)||ke.trimStart().startsWith(rt.trim()))&&(T.content=ke)},H=()=>{if(W){let ke=W.close?.();ke instanceof Promise&&ke.catch(()=>{})}Qe.delete(T.id),He.delete(T.id),T.streaming=!1,f(T)};if(!W){q(y),H();return}let $=Ur(E);if($!==null&&$.trim()!==""){q($),H();return}let se=ke=>{let rt=typeof ke=="string"?ke:ke?.text??null;if(rt!==null&&rt.trim()!=="")return rt;let V=W.getExtractedText();return V!==null&&V.trim()!==""?V:y},qe;try{qe=W.processChunk(E)}catch{q(y),H();return}if(qe instanceof Promise){qe.then(ke=>{q(se(ke)),H()}).catch(()=>{q(y),H()});return}q(se(qe)),H()},St=null,ht=(T,O,y,S)=>{T.rawContent=O,Qe.has(T.id)||Qe.set(T.id,this.createStreamParser());let E=Qe.get(T.id),W=O.trim().startsWith("{")||O.trim().startsWith("[");if(W&&He.set(T.id,O),E.__isPlainTextParser===!0){T.content=S!==void 0?O:T.content+y,He.delete(T.id),Qe.delete(T.id),T.rawContent=void 0,f(T);return}let H=E.processChunk(O);if(H instanceof Promise)H.then($=>{let se=typeof $=="string"?$:$?.text??null;se!==null&&se.trim()!==""?(T.content=se,f(T)):!W&&!O.trim().startsWith("<")&&(T.content=S!==void 0?O:T.content+y,He.delete(T.id),Qe.delete(T.id),T.rawContent=void 0,f(T))}).catch(()=>{T.content=S!==void 0?O:T.content+y,He.delete(T.id),Qe.delete(T.id),T.rawContent=void 0,f(T)});else{let $=typeof H=="string"?H:H?.text??null;$!==null&&$.trim()!==""?(T.content=$,f(T)):!W&&!O.trim().startsWith("<")&&(T.content=S!==void 0?O:T.content+y,He.delete(T.id),Qe.delete(T.id),T.rawContent=void 0,f(T))}},Be=(T,O)=>{let y=O??T.content;if(y==null||y===""){T.streaming=!1,f(T);return}let E=He.get(T.id)??ot(y);T.rawContent=E;let W=Qe.get(T.id),q=null,H=!1;if(W&&(q=W.getExtractedText(),q===null&&(q=Ur(E)),q===null)){let $=W.processChunk(E);$ instanceof Promise?(H=!0,$.then(se=>{let qe=typeof se=="string"?se:se?.text??null;qe!==null&&(T.content=qe,T.streaming=!1,Qe.delete(T.id),He.delete(T.id),f(T))}).catch(()=>{})):q=typeof $=="string"?$:$?.text??null}if(!H){q!==null&&q.trim()!==""?T.content=q:He.has(T.id)||(T.content=ot(y));let $=Qe.get(T.id);if($){let se=$.close?.();se instanceof Promise&&se.catch(()=>{}),Qe.delete(T.id)}He.delete(T.id),T.streaming=!1,f(T)}},me=(T,O,y)=>{let S=z.get(T);if(S)return S;let E={id:`nested-${O}-${T}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,sequence:c(),...y?{variant:y}:{},...y==="reasoning"?{reasoning:{id:T,status:"streaming",chunks:[]}}:{},agentMetadata:{parentToolId:O}};return z.set(T,E),f(E),E},Ke=[],Le,ue=new Map,le=0,be="agent",yt=!1,ve=null,de=null,un=new Map,X=this.config.iterationDisplay??"separate";for(Le=()=>{for(let T=0;T<Ke.length;T++){let O=Ke[T].payloadType,y=Ke[T].payload;if(!yt&&be!=="flow"&&typeof y.stepType=="string"&&(be="flow"),O==="reasoning_start"){let S=typeof y.id=="string"?y.id:null,E=typeof y.parentToolCallId=="string"&&y.parentToolCallId?y.parentToolCallId:null;if(S&&E){P.set(S,E),me(S,E,"reasoning");continue}let W=ce(y,!0)??`reason-${c()}`,q=Y(W);q.reasoning=q.reasoning??{id:W,status:"streaming",chunks:[]},q.reasoning.startedAt=q.reasoning.startedAt??Fe(y.startedAt??y.timestamp),q.reasoning.completedAt=void 0,q.reasoning.durationMs=void 0,(y.scope==="loop"||y.scope==="turn")&&(q.reasoning.scope=y.scope),q.streaming=!0,q.reasoning.status="streaming",f(q)}else if(O==="reasoning_delta"){let S=typeof y.id=="string"?y.id:null;if(S&&P.has(S)&&z.has(S)){let H=z.get(S),$=y.reasoningText??y.text??y.delta??"";$&&y.hidden!==!0&&H.reasoning&&(H.reasoning.chunks.push(String($)),f(H));continue}let E=ce(y,!1)??ce(y,!0)??`reason-${c()}`,W=Y(E);W.reasoning=W.reasoning??{id:E,status:"streaming",chunks:[]},W.reasoning.startedAt=W.reasoning.startedAt??Fe(y.startedAt??y.timestamp);let q=y.reasoningText??y.text??y.delta??"";if(q&&y.hidden!==!0){let H=typeof y.sequenceIndex=="number"?y.sequenceIndex:void 0;if(H!==void 0){let $=Xe(E,H,String(q));W.reasoning.chunks=[$]}else W.reasoning.chunks.push(String(q))}if(W.reasoning.status=y.done?"complete":"streaming",y.done){W.reasoning.completedAt=Fe(y.completedAt??y.timestamp);let H=W.reasoning.startedAt??Date.now();W.reasoning.durationMs=Math.max(0,(W.reasoning.completedAt??Date.now())-H)}W.streaming=W.reasoning.status!=="complete",f(W)}else if(O==="reasoning_complete"){let S=typeof y.id=="string"?y.id:null;if(S&&P.has(S)&&z.has(S)){let $=z.get(S);if($.reasoning){let se=typeof y.text=="string"?y.text:"";se&&$.reasoning.chunks.length===0&&$.reasoning.chunks.push(se),$.reasoning.status="complete",$.streaming=!1,f($)}P.delete(S),z.delete(S);continue}let E=ce(y,!1)??ce(y,!0)??`reason-${c()}`,W=typeof y.text=="string"?y.text:"";!x.get(E)&&(W||y.scope==="loop")&&Y(E);let q=x.get(E);if(q?.reasoning){(y.scope==="loop"||y.scope==="turn")&&(q.reasoning.scope=y.scope),W&&q.reasoning.chunks.length===0&&q.reasoning.chunks.push(W),q.reasoning.status="complete",q.reasoning.completedAt=Fe(y.completedAt??y.timestamp);let $=q.reasoning.startedAt??Date.now();q.reasoning.durationMs=Math.max(0,(q.reasoning.completedAt??Date.now())-$),q.streaming=!1,f(q)}let H=F(y);H&&j.byStep.delete(H)}else if(O==="tool_start"){v&&(v.streaming=!1,f(v),v=null),typeof y.iteration=="number"&&(le=y.iteration);let S=(typeof y.toolCallId=="string"?y.toolCallId:void 0)??Ae(y,!0)??`tool-${c()}`,E=y.toolName??y.name;if(Te(E)){Z.add(S);continue}ae(ie(y),S);let W=$e(S),q=W.toolCall??{id:S,status:"pending"};q.name=E??q.name,q.status="running",y.parameters!==void 0?q.args=y.parameters:y.args!==void 0&&(q.args=y.args),q.startedAt=q.startedAt??Fe(y.startedAt??y.timestamp),q.completedAt=void 0,q.durationMs=void 0,W.toolCall=q,W.streaming=!0,y.executionId&&(W.agentMetadata={executionId:y.executionId,iteration:y.iteration}),f(W)}else if(O==="tool_output_delta"){let S=Ae(y,!1)??Ae(y,!0)??`tool-${c()}`;if(Z.has(S))continue;let E=$e(S),W=E.toolCall??{id:S,status:"running"};W.startedAt=W.startedAt??Fe(y.startedAt??y.timestamp);let q=y.text??y.delta??y.message??"";q&&(W.chunks=W.chunks??[],W.chunks.push(String(q))),W.status="running",E.toolCall=W,E.streaming=!0;let H=y.agentContext;(H||y.executionId)&&(E.agentMetadata=E.agentMetadata??{executionId:H?.executionId??y.executionId,iteration:H?.iteration??y.iteration}),f(E)}else if(O==="tool_complete"){let S=Ae(y,!1)??Ae(y,!0)??`tool-${c()}`;if(Z.has(S)){Z.delete(S);continue}let E=$e(S),W=E.toolCall??{id:S,status:"running"};W.status="complete",y.result!==void 0&&(W.result=y.result),typeof y.duration=="number"&&(W.duration=y.duration),W.completedAt=Fe(y.completedAt??y.timestamp);let q=y.duration??y.executionTime;if(typeof q=="number")W.durationMs=q;else{let se=W.startedAt??Date.now();W.durationMs=Math.max(0,(W.completedAt??Date.now())-se)}E.toolCall=W,E.streaming=!1;let H=y.agentContext;(H||y.executionId)&&(E.agentMetadata=E.agentMetadata??{executionId:H?.executionId??y.executionId,iteration:H?.iteration??y.iteration}),f(E);let $=ie(y);$&&J.byCall.delete($)}else if(O==="await"&&y.toolName){let S=typeof y.toolCallId=="string"&&y.toolCallId.length>0?y.toolCallId:void 0,E=S??y.toolId??`local-${c()}`,W=$e(E),q=y.toolName,H=y.origin==="webmcp"&&!Ko(q)?`webmcp:${q}`:q,$=Ko(H),se=W.toolCall??{id:E,status:"pending"};se.name=H,se.args=y.parameters,se.status=$?"running":"complete",se.chunks=se.chunks??[],se.startedAt=se.startedAt??Fe(y.startedAt??y.timestamp??y.awaitedAt),$?(se.completedAt=void 0,se.duration=void 0,se.durationMs=void 0):se.completedAt=se.completedAt??se.startedAt,W.toolCall=se,W.streaming=!1,W.agentMetadata={...W.agentMetadata,executionId:y.executionId??W.agentMetadata?.executionId,awaitingLocalTool:!0,...S?{webMcpToolCallId:S}:{}},f(W)}else if(O==="text_start"){let S=typeof y.id=="string"?y.id:null,E=typeof y.parentToolCallId=="string"&&y.parentToolCallId?y.parentToolCallId:null;if(S&&E){P.set(S,E);continue}let W=v;W&&(be==="flow"?(Be(W),St=W):(W.streaming=!1,f(W)),v=null),k=typeof y.id=="string"?y.id:k,M=""}else if(O==="text_delta"){let S=typeof y.id=="string"?y.id:null,E=S?P.get(S):void 0;if(S&&E){let q=typeof y.delta=="string"?y.delta:"",H=(K.get(S)??"")+q;if(K.set(S,H),H.trim()==="")continue;let $=me(S,E);$.agentMetadata={...$.agentMetadata,executionId:y.executionId,parentToolId:E},ht($,H,q,void 0);continue}if(k=typeof y.id=="string"?y.id:k,be==="flow"){let q=typeof y.delta=="string"?y.delta:"";if(M+=q,M.trim()==="")continue;let H=we();H.agentMetadata={executionId:y.executionId,iteration:y.iteration},ht(H,M,q,void 0),C=H;continue}let W=we();W.content+=y.delta??"",W.agentMetadata={executionId:y.executionId,iteration:y.iteration,turnId:ve??void 0,agentName:de?.agentName},C=W,f(W)}else if(O==="text_complete"){let S=typeof y.id=="string"?y.id:null;if(S&&P.has(S)){let W=z.get(S);W&&Be(W),P.delete(S),K.delete(S),z.delete(S);continue}let E=v;E&&(be==="flow"?(Be(E),St=E):((E.content??"")===""&&typeof y.text=="string"&&(E.content=y.text),E.streaming=!1,f(E)),v=null),k=null,M=""}else if(O==="step_complete"){let S=y.stepType,E=y.executionType;if(S==="tool"||E==="context")continue;if(y.success===!1){let W=y.error,q=typeof W=="string"&&W!==""?W:W!=null&&typeof W=="object"&&Reflect.has(W,"message")?String(W.message??"Step failed"):"Step failed";n({type:"error",error:new Error(q)});let H=v;H&&H.streaming&&(H.streaming=!1,f(H)),n({type:"status",status:"idle"});continue}{let W=St;St=null;let q=y.stopReason,H=y.result?.response;if(W)q&&(W.stopReason=q),H!=null?on(W,H):W.streaming!==!1&&(Qe.delete(W.id),He.delete(W.id),W.streaming=!1,f(W));else{let $=H!=null&&H!=="";if($||q){let se=we();q&&(se.stopReason=q),$?Be(se,H):(se.streaming=!1,f(se))}}continue}}else if(O==="execution_start")be=y.kind==="flow"?"flow":"agent",yt=!0,be==="agent"&&(de={executionId:y.executionId,agentId:y.agentId??"virtual",agentName:y.agentName??"",status:"running",currentIteration:0,maxTurns:y.maxTurns??1,startedAt:Fe(y.startedAt)});else if(O==="turn_start"){let S=typeof y.iteration=="number"?y.iteration:le;if(S!==le){if(de&&(de.currentIteration=S),X==="separate"&&S>1){let E=v;E&&(E.streaming=!1,f(E),un.set(S-1,E),v=null)}le=S}ve=typeof y.id=="string"?y.id:null,C=null}else if(O==="tool_input_delta"){let S=y.toolCallId??J.lastId;if(S){let E=U.get(S);E?.toolCall&&(E.toolCall.chunks=E.toolCall.chunks??[],E.toolCall.chunks.push(y.delta??""),f(E))}}else{if(O==="tool_input_complete")continue;if(O==="turn_complete"){let S=y.stopReason,E=v??C;if(S&&E!==null){let W=y.id;(!W||E.agentMetadata?.turnId===W)&&(E.stopReason=S,f(E))}ve===y.id&&(ve=null)}else if(O==="media_start"){let S=String(y.id);ue.set(S,{mediaType:typeof y.mediaType=="string"?y.mediaType:void 0,role:typeof y.role=="string"?y.role:void 0,toolCallId:y.toolCallId,parts:[]})}else if(O==="media_delta"){let S=ue.get(String(y.id));S&&typeof y.delta=="string"&&S.parts.push(y.delta)}else if(O==="media_complete"){let S=String(y.id),E=ue.get(S);ue.delete(S);let W=(typeof y.mediaType=="string"?y.mediaType:void 0)??E?.mediaType??"application/octet-stream",q=typeof y.data=="string"?y.data:void 0,H=typeof y.url=="string"?y.url:E&&E.parts.length>0?E.parts.join(""):void 0,$=null;if(q)$={type:"media",data:q,mediaType:W};else if(H){let rt=W.toLowerCase();$={type:rt==="image"||rt.startsWith("image/")?"image-url":"file-url",url:H,mediaType:W}}let se=y.toolCallId??E?.toolCallId,qe=$?[$]:[],ke=[];for(let rt of qe){if(!rt||typeof rt!="object")continue;let V=rt,ze=typeof V.type=="string"?V.type:void 0,Se=typeof V.mediaType=="string"?V.mediaType.toLowerCase():"",We=null,Pe="";if(ze==="media"){let Je=typeof V.data=="string"?V.data:void 0;if(!Je)continue;Pe=Se.length>0?Se:"application/octet-stream",We=`data:${Pe};base64,${Je}`}else if(ze==="image-url"){let Je=typeof V.url=="string"?V.url:void 0;if(!Je)continue;Pe=Se,We=Je}else if(ze==="file-url"){let Je=typeof V.url=="string"?V.url:void 0;if(!Je)continue;Pe=Se,We=Je}else continue;if(We)if(ze==="image-url"||Pe.startsWith("image/"))ke.push({type:"image",image:We,...Pe.includes("/")?{mimeType:Pe}:{}});else if(Pe.startsWith("audio/"))ke.push({type:"audio",audio:We,mimeType:Pe});else if(Pe.startsWith("video/"))ke.push({type:"video",video:We,mimeType:Pe});else{let Je=Pe||"application/octet-stream";ke.push({type:"file",data:We,mimeType:Je,filename:Hg(Je)})}}if(ke.length>0){let rt=c(),V=se,Se={id:`agent-media-${typeof V=="string"&&V.length>0?`${V}-${rt}`:String(rt)}`,role:"assistant",content:"",contentParts:ke,createdAt:new Date().toISOString(),streaming:!1,sequence:rt,agentMetadata:{executionId:y.executionId,iteration:typeof y.iteration=="number"?y.iteration:le}};f(Se);let We=v;We&&(We.streaming=!1,f(We)),v=null,I.current=null}}else if(O==="execution_complete"){let S=y.kind??be;S==="agent"&&de&&(de.status=y.success?"complete":"error",de.completedAt=Fe(y.completedAt),de.stopReason=y.stopReason);let E=v;E&&(S==="flow"&&E.streaming!==!1?Be(E):(E.streaming=!1,f(E)),v=null),k=null,M="",St=null,n({type:"status",status:"idle",terminal:!0})}else if(O==="execution_error"){let S=typeof y.error=="string"?y.error:y.error?.message??"Execution error";n({type:"error",error:new Error(S)})}else if(O!=="ping"){if(O==="approval_start"){let S=y.approvalId??`approval-${c()}`,E={id:`approval-${S}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!1,variant:"approval",sequence:c(),approval:{id:S,status:"pending",agentId:de?.agentId??"virtual",executionId:y.executionId??de?.executionId??"",toolName:y.toolName??"",toolType:y.toolType,description:y.description??`Execute ${y.toolName??"tool"}`,...typeof y.reason=="string"&&y.reason?{reason:y.reason}:{},parameters:y.parameters}};f(E)}else if(O==="step_await"&&y.awaitReason==="approval_required"){let S=y.approvalId??`approval-${c()}`,E={id:`approval-${S}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!1,variant:"approval",sequence:c(),approval:{id:S,status:"pending",agentId:de?.agentId??"virtual",executionId:y.executionId??de?.executionId??"",toolName:y.toolName??"",toolType:y.toolType,description:y.description??`Execute ${y.toolName??"tool"}`,...typeof y.reason=="string"&&y.reason?{reason:y.reason}:{},parameters:y.parameters}};f(E)}else if(O==="approval_complete"){let S=y.approvalId;if(S){let W={id:`approval-${S}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!1,variant:"approval",sequence:c(),approval:{id:S,status:y.decision??"approved",agentId:de?.agentId??"virtual",executionId:y.executionId??de?.executionId??"",toolName:y.toolName??"",description:y.description??"",resolvedAt:Date.now()}};f(W)}}else if(O==="artifact_start"||O==="artifact_delta"||O==="artifact_update"||O==="artifact_complete"){if(O==="artifact_start"){let S=y.artifactType,E=String(y.id),W=typeof y.title=="string"?y.title:void 0,q=y.file,H;q&&typeof q=="object"&&!Array.isArray(q)&&typeof q.path=="string"&&typeof q.mimeType=="string"&&(H={path:q.path,mimeType:q.mimeType,...typeof q.language=="string"?{language:q.language}:{}}),n({type:"artifact_start",id:E,artifactType:S,title:W,component:typeof y.component=="string"?y.component:void 0,...H?{file:H}:{}});let $=y.props&&typeof y.props=="object"&&!Array.isArray(y.props)?{...y.props}:void 0;if(pe.set(E,{markdown:"",title:W,file:H,...$?{props:$}:{}}),!ye.has(E)){ye.add(E);let se=So(this.config.features?.artifacts,S),qe=typeof y.component=="string"?y.component:void 0,ke={id:`artifact-ref-${E}`,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,sequence:c(),rawContent:Js(se,{artifactId:E,title:W,artifactType:S,status:"streaming",...H?{file:H}:{},...qe?{component:qe}:{}})};he.set(E,ke),f(ke)}}else if(O==="artifact_delta"){let S=String(y.id),E=typeof y.delta=="string"?y.delta:String(y.delta??"");n({type:"artifact_delta",id:S,artDelta:E});let W=pe.get(S);W&&(W.markdown+=E)}else if(O==="artifact_update"){let S=y.props&&typeof y.props=="object"&&!Array.isArray(y.props)?y.props:{};n({type:"artifact_update",id:String(y.id),props:S,component:typeof y.component=="string"?y.component:void 0});let E=pe.get(String(y.id));E&&(E.props={...E.props??{},...S})}else if(O==="artifact_complete"){let S=String(y.id);n({type:"artifact_complete",id:S});let E=he.get(S);if(E){E.streaming=!1;try{let W=JSON.parse(E.rawContent??"{}");if(W.props){W.props.status="complete";let q=pe.get(S);q?.markdown&&(W.props.markdown=q.markdown),q?.file&&(W.props.file=q.file),W.component==="PersonaArtifactInline"&&q?.props&&Object.keys(q.props).length>0&&(W.props.componentProps=q.props)}E.rawContent=JSON.stringify(W)}catch{}pe.delete(S),f(E),he.delete(S)}}}else if(O==="transcript_insert"){let S=y.message;if(!S||typeof S!="object")continue;let E=String(S.id??`msg-${c()}`),W=S.role,H={id:E,role:W==="user"?"user":W==="system"?"system":"assistant",content:typeof S.content=="string"?S.content:"",rawContent:typeof S.rawContent=="string"?S.rawContent:void 0,createdAt:typeof S.createdAt=="string"?S.createdAt:new Date().toISOString(),streaming:S.streaming===!0,...typeof S.variant=="string"?{variant:S.variant}:{},sequence:c()};if(f(H),H.rawContent)try{let se=JSON.parse(H.rawContent)?.props?.artifactId;typeof se=="string"&&ye.add(se)}catch{}v=null,I.current=null,Qe.delete(E),He.delete(E)}else if(O==="error"){if(y.recoverable===!1&&y.error!=null&&y.error!==""){let S=typeof y.error=="string"?y.error:y.error?.message!=null?String(y.error.message):"Execution error";n({type:"error",error:new Error(S)});let E=v;E&&E.streaming&&(E.streaming=!1,f(E)),n({type:"status",status:"idle"})}}else if(O==="step_error"||O==="dispatch_error"||O==="flow_error"){let S=null;if(y.error instanceof Error)S=y.error;else if(O==="dispatch_error"){let E=y.message??y.error;E!=null&&E!==""&&(S=new Error(String(E)))}else{let E=y.error;typeof E=="string"&&E!==""?S=new Error(E):E!=null&&typeof E=="object"&&Reflect.has(E,"message")&&(S=new Error(String(E.message??E)))}if(S){n({type:"error",error:S});let E=v;E&&E.streaming&&(E.streaming=!1,f(E)),n({type:"status",status:"idle"})}}}}}Ke.length=0};;){let{done:T,value:O}=await s.read();if(T)break;l+=a.decode(O,{stream:!0});let y=l.split(`
|
|
12
12
|
|
|
13
13
|
`);l=y.pop()??"";for(let S of y){let E=S.split(`
|
|
14
|
-
`),W="message",q="",H=null;for(let Ee of E)Ee.startsWith("event:")?W=Ee.replace("event:","").trim():Ee.startsWith("data:")?q+=Ee.replace("data:","").trim():Ee.startsWith("id:")&&(H=Ee.slice(3).trim());let $=()=>{H!==null&&H!==""&&n({type:"cursor",id:H})};if(!q){$();continue}let se;try{se=JSON.parse(q)}catch(Ee){n({type:"error",error:Ee instanceof Error?Ee:new Error("Failed to parse chat stream payload")});continue}let je=W!=="message"?W:se.type??"message";if(this.onSSEEvent?.(je,se),this.parseSSEEvent){I.current=v;let Ee=await this.handleCustomSSEEvent(se,n,I,f,c,B);if(I.current&&I.current!==v&&(v=I.current),Ee){$();continue}}Ve.push({payloadType:je,payload:se}),ke(),$()}}ke()}};function aa(){let t=Date.now().toString(36),e=Math.random().toString(36).substring(2,10);return`usr_${t}_${e}`}function Yo(){let t=Date.now().toString(36),e=Math.random().toString(36).substring(2,10);return`ast_${t}_${e}`}var ia="[Image]";function Bd(t){return typeof t=="string"?!1:t.some(e=>e.type==="image")}function Zo(t){return{type:"text",text:t}}var Dd=["image/png","image/jpeg","image/gif","image/webp","image/svg+xml","image/bmp"],Fg=["application/pdf","text/plain","text/markdown","text/csv","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/json"],Fn=[...Dd,...Fg];function Ng(t){return Dd.includes(t)||t.startsWith("image/")}function la(t){return Ng(t.type)}async function Fd(t){return new Promise((e,n)=>{let o=new FileReader;o.onload=()=>{let r=o.result;la(t)?e({type:"image",image:r,mimeType:t.type,alt:t.name}):e({type:"file",data:r,mimeType:t.type,filename:t.name})},o.onerror=()=>n(new Error("Failed to read file")),o.readAsDataURL(t)})}function Nd(t,e=Fn,n=10*1024*1024){return e.includes(t.type)?t.size>n?{valid:!1,error:`File too large. Maximum size: ${Math.round(n/1048576)}MB`}:{valid:!0}:{valid:!1,error:`Invalid file type "${t.type}". Accepted types: ${e.join(", ")}`}}function Og(t){let e=t.split(".");return e.length>1?e.pop().toLowerCase():""}function Od(t,e){let n=Og(e).toUpperCase();return{"application/pdf":"PDF","text/plain":"TXT","text/markdown":"MD","text/csv":"CSV","application/msword":"DOC","application/vnd.openxmlformats-officedocument.wordprocessingml.document":"DOCX","application/vnd.ms-excel":"XLS","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":"XLSX","application/json":"JSON"}[t]||n||"FILE"}var _d=16e3,_g=24e3,$g=4096,zg=1380533830;function Ug(t){return t.byteLength>=44&&new DataView(t).getUint32(0,!1)===zg?new Uint8Array(t,44):new Uint8Array(t)}function jg(t){let e=t.replace(/\/+$/,"");return/^wss?:\/\//i.test(e)?e:/^https?:\/\//i.test(e)?e.replace(/^http/i,"ws"):`${typeof window<"u"&&window.location?.protocol==="https:"?"wss:":"ws:"}//${e}`}var Vr=class{constructor(e){this.config=e;this.type="runtype";this.ws=null;this.captureContext=null;this.mediaStream=null;this.sourceNode=null;this.processor=null;this.playback=null;this.callLive=!1;this.isSpeaking=!1;this.callGeneration=0;this.intentionalClose=!1;this.resultCallbacks=[];this.errorCallbacks=[];this.statusCallbacks=[];this.transcriptCallbacks=[];this.metricsCallbacks=[]}async connect(){}async startListening(){if(this.callLive)return;let e=this.config?.agentId,n=this.config?.clientToken,o=this.config?.host;if(!e)throw new Error("Runtype voice requires an agentId");if(!n)throw new Error("Runtype voice requires a clientToken");if(!o)throw new Error("Runtype voice requires a host (or widget apiUrl)");let r=++this.callGeneration;this.intentionalClose=!1,this.callLive=!0;try{let s=await navigator.mediaDevices.getUserMedia({audio:{sampleRate:_d,channelCount:1,echoCancellation:!0}});if(r!==this.callGeneration){s.getTracks().forEach(u=>u.stop());return}this.mediaStream=s;let a=window.AudioContext||window.webkitAudioContext,l=new a({sampleRate:_d});l.state==="suspended"&&await l.resume().catch(()=>{}),this.captureContext=l;let p=this.config?.createPlaybackEngine?await this.config.createPlaybackEngine():new qc(_g);if(r!==this.callGeneration){p.destroy(),s.getTracks().forEach(u=>u.stop()),l.close().catch(()=>{});return}this.playback=p,p.onFinished(()=>{r===this.callGeneration&&(this.isSpeaking=!1,this.ws&&this.ws.readyState===WebSocket.OPEN&&this.emitStatus("listening"))});let d=`${jg(o)}/ws/agents/${encodeURIComponent(e)}/voice`,c=new WebSocket(d,["runtype.bearer",n]);c.binaryType="arraybuffer",this.ws=c,c.onopen=()=>{r===this.callGeneration&&(this.emitStatus("listening"),this.startCapture(l,s,c,r))},c.onmessage=u=>this.handleMessage(u,r),c.onerror=()=>{r===this.callGeneration&&(this.emitError(new Error("Voice connection failed")),this.emitStatus("error"),this.cleanup())},c.onclose=u=>{if(this.intentionalClose){this.intentionalClose=!1;return}if(r===this.callGeneration){if(u.code!==1e3){let w=u.code?` (code ${u.code})`:"";this.emitError(new Error(`Voice connection closed${w}`)),this.emitStatus("error")}else this.emitStatus("idle");this.cleanup()}}}catch(s){throw this.cleanup(),this.emitError(s),this.emitStatus("error"),s}}async stopListening(){this.cleanup(),this.emitStatus("idle")}async disconnect(){this.cleanup(),this.emitStatus("disconnected"),this.resultCallbacks=[],this.errorCallbacks=[],this.statusCallbacks=[],this.transcriptCallbacks=[],this.metricsCallbacks=[]}stopPlayback(){this.playback&&this.playback.flush(),this.isSpeaking=!1,this.ws&&this.ws.readyState===WebSocket.OPEN&&this.emitStatus("listening")}getInterruptionMode(){return"barge-in"}isBargeInActive(){return this.callLive}async deactivateBargeIn(){this.cleanup(),this.emitStatus("idle")}startCapture(e,n,o,r){let s=e.createMediaStreamSource(n);this.sourceNode=s;let a=e.createScriptProcessor($g,1,1);this.processor=a,a.onaudioprocess=l=>{if(r!==this.callGeneration||o.readyState!==WebSocket.OPEN)return;let p=l.inputBuffer.getChannelData(0),d=new Int16Array(p.length);for(let c=0;c<p.length;c++){let u=Math.max(-1,Math.min(1,p[c]));d[c]=u<0?u*32768:u*32767}o.send(d.buffer)},s.connect(a),a.connect(e.destination)}handleMessage(e,n){if(n!==this.callGeneration)return;if(e.data instanceof ArrayBuffer){this.handleAudioFrame(e.data,n);return}let o;try{o=JSON.parse(e.data)}catch{return}switch(o.type){case"transcript_interim":this.emitStatus("listening"),this.emitTranscript("user",o.text??"",!1);break;case"transcript_final":{let r=o.role==="assistant"?"assistant":"user";this.emitStatus(r==="user"?"processing":"speaking"),this.emitTranscript(r,o.text??"",!0);break}case"audio_end":this.playback?this.playback.markStreamEnd():(this.isSpeaking=!1,this.emitStatus("listening"));break;case"metrics":this.emitMetrics({llmMs:o.llm_ms,ttsMs:o.tts_ms,firstAudioMs:o.first_audio_ms,totalMs:o.total_ms});break;case"error":this.emitError(new Error(o.error||"Voice error")),this.emitStatus("error");break}}handleAudioFrame(e,n){if(n!==this.callGeneration||!this.playback)return;let o=Ug(e);o.length!==0&&(this.isSpeaking||(this.isSpeaking=!0,this.emitStatus("speaking")),this.playback.enqueue(o))}cleanup(){if(this.callGeneration+=1,this.callLive=!1,this.isSpeaking=!1,this.processor&&(this.processor.onaudioprocess=null,this.processor.disconnect(),this.processor=null),this.sourceNode&&(this.sourceNode.disconnect(),this.sourceNode=null),this.mediaStream&&(this.mediaStream.getTracks().forEach(e=>e.stop()),this.mediaStream=null),this.captureContext&&(this.captureContext.close().catch(()=>{}),this.captureContext=null),this.playback&&(this.playback.destroy(),this.playback=null),this.ws){this.intentionalClose=!0;try{this.ws.close(1e3,"client ended call")}catch{}this.ws=null}}onResult(e){this.resultCallbacks.push(e)}onError(e){this.errorCallbacks.push(e)}onStatusChange(e){this.statusCallbacks.push(e)}onTranscript(e){this.transcriptCallbacks.push(e)}onMetrics(e){this.metricsCallbacks.push(e)}emitStatus(e){this.statusCallbacks.forEach(n=>n(e))}emitError(e){this.errorCallbacks.forEach(n=>n(e))}emitTranscript(e,n,o){this.transcriptCallbacks.forEach(r=>r(e,n,o))}emitMetrics(e){this.metricsCallbacks.forEach(n=>n(e))}};var Eo=class{constructor(e={}){this.config=e;this.type="browser";this.recognition=null;this.resultCallbacks=[];this.errorCallbacks=[];this.statusCallbacks=[];this.isListening=!1;this.w=typeof window<"u"?window:void 0}async connect(){this.statusCallbacks.forEach(e=>e("connected"))}async startListening(){try{if(this.isListening)throw new Error("Already listening");if(!this.w)throw new Error("Window object not available");let e=this.w.SpeechRecognition||this.w.webkitSpeechRecognition;if(!e)throw new Error("Browser speech recognition not supported");this.recognition=new e,this.recognition.lang=this.config?.language||"en-US",this.recognition.continuous=this.config?.continuous||!1,this.recognition.interimResults=!0,this.recognition.onresult=n=>{let o=Array.from(n.results).map(s=>s[0]).map(s=>s.transcript).join(""),r=n.results[n.results.length-1].isFinal;this.resultCallbacks.forEach(s=>s({text:o,confidence:r?.8:.5,provider:"browser"})),r&&!this.config?.continuous&&this.stopListening()},this.recognition.onerror=n=>{this.errorCallbacks.forEach(o=>o(new Error(n.error))),this.statusCallbacks.forEach(o=>o("error"))},this.recognition.onstart=()=>{this.isListening=!0,this.statusCallbacks.forEach(n=>n("listening"))},this.recognition.onend=()=>{this.isListening=!1,this.statusCallbacks.forEach(n=>n("idle"))},this.recognition.start()}catch(e){throw this.errorCallbacks.forEach(n=>n(e)),this.statusCallbacks.forEach(n=>n("error")),e}}async stopListening(){this.recognition&&(this.recognition.stop(),this.recognition=null),this.isListening=!1,this.statusCallbacks.forEach(e=>e("idle"))}onResult(e){this.resultCallbacks.push(e)}onError(e){this.errorCallbacks.push(e)}onStatusChange(e){this.statusCallbacks.push(e)}async disconnect(){await this.stopListening(),this.statusCallbacks.forEach(e=>e("disconnected"))}static isSupported(){return"SpeechRecognition"in window||"webkitSpeechRecognition"in window}};function er(t){switch(t.type){case"runtype":if(!t.runtype)throw new Error("Runtype voice provider requires configuration");return new Vr(t.runtype);case"browser":if(!Eo.isSupported())throw new Error("Browser speech recognition not supported");return new Eo(t.browser||{});case"custom":{let e=t.custom;if(!e)throw new Error("Custom voice provider requires a `custom` provider instance or factory");let n=typeof e=="function"?e():e;if(!n||typeof n.startListening!="function")throw new Error("Custom voice provider `custom` must be a VoiceProvider (or a factory returning one)");return n}default:throw new Error(`Unknown voice provider type: ${t.type}`)}}function $d(t){if(t?.type==="custom"&&t.custom)return er({type:"custom",custom:t.custom});if(t?.type==="runtype"&&t.runtype)return er({type:"runtype",runtype:t.runtype});if(Eo.isSupported())return er({type:"browser",browser:t?.browser||{language:"en-US"}});throw new Error("No supported voice providers available")}function $i(t){try{return $d(t),!0}catch{return!1}}function ca(t){let e=["Microsoft Jenny Online (Natural) - English (United States)","Microsoft Aria Online (Natural) - English (United States)","Microsoft Guy Online (Natural) - English (United States)","Google US English","Google UK English Female","Ava (Premium)","Evan (Enhanced)","Samantha (Enhanced)","Samantha","Daniel","Karen","Microsoft David Desktop - English (United States)","Microsoft Zira Desktop - English (United States)"];for(let n of e){let o=t.find(r=>r.name===n);if(o)return o}return t.find(n=>n.lang.startsWith("en"))??t[0]}var tr=class t{constructor(e={}){this.options=e;this.id="browser";this.supportsPause=!0}static isSupported(){return typeof window<"u"&&"speechSynthesis"in window}speak(e,n){if(!t.isSupported()){n.onError?.(new Error("Web Speech API is unavailable"));return}let o=window.speechSynthesis;o.cancel();let r=new SpeechSynthesisUtterance(e.text),s=o.getVoices();if(e.voice){let a=s.find(l=>l.name===e.voice);a&&(r.voice=a)}else s.length>0&&(r.voice=this.options.pickVoice?this.options.pickVoice(s):ca(s));e.rate!==void 0&&(r.rate=e.rate),e.pitch!==void 0&&(r.pitch=e.pitch),r.onend=()=>n.onEnd?.(),r.onerror=a=>{let l=a.error;l==="canceled"||l==="interrupted"?n.onEnd?.():n.onError?.(new Error(l||"Speech synthesis failed"))},setTimeout(()=>{o.speak(r),n.onStart?.()},50)}pause(){t.isSupported()&&window.speechSynthesis.pause()}resume(){t.isSupported()&&window.speechSynthesis.resume()}stop(){t.isSupported()&&window.speechSynthesis.cancel()}};var Kr=class{constructor(e){this.resolveEngine=e;this.engine=null;this.activeId=null;this.state="idle";this.listeners=new Set;this.generation=0}get supportsPause(){return this.engine?.supportsPause??!0}stateFor(e){return this.activeId===e?this.state:"idle"}activeMessageId(){return this.activeId}onChange(e){return this.listeners.add(e),()=>this.listeners.delete(e)}toggle(e,n){if(this.activeId===e){if(this.state==="playing"){this.engine?.supportsPause?(this.engine.pause(),this.set(e,"paused")):this.stop();return}if(this.state==="paused"){this.engine?.resume(),this.set(e,"playing");return}if(this.state==="loading"){this.stop();return}}this.play(e,n)}async play(e,n){let o=++this.generation;this.engine?.stop(),this.set(e,"loading");try{if(!this.engine){let r=await this.resolveEngine();if(o!==this.generation)return;if(!r){this.set(null,"idle");return}this.engine=r}this.engine.speak(n,{onStart:()=>{o===this.generation&&this.set(e,"playing")},onEnd:()=>{o===this.generation&&this.set(null,"idle")},onError:()=>{o===this.generation&&this.set(null,"idle")}})}catch{o===this.generation&&this.set(null,"idle")}}stop(){this.generation++,this.engine?.stop(),this.set(null,"idle")}destroy(){this.stop(),this.engine?.destroy?.(),this.engine=null,this.listeners.clear()}set(e,n){this.activeId=n==="idle"?null:e,this.state=n;for(let o of this.listeners)o(this.activeId,this.state)}};function zi(t){if(!t)return"";let e=qg(t);return zd(e!==null?e:t)}function qg(t){let e=t.trim(),n=e.match(/^```(?:json)?\s*([\s\S]*?)\s*```$/i);if(n&&(e=n[1].trim()),!e.startsWith("{"))return null;try{let o=JSON.parse(e);if(o&&typeof o=="object"&&typeof o.text=="string")return o.text}catch{}return null}function zd(t){if(!t)return"";let e=t;return e=e.replace(/```[\s\S]*?```/g," "),e=e.replace(/~~~[\s\S]*?~~~/g," "),e=e.replace(/`([^`]+)`/g,"$1"),e=e.replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1"),e=e.replace(/\[([^\]]+)\]\([^)]*\)/g,"$1"),e=e.replace(/\[([^\]]+)\]\[[^\]]*\]/g,"$1"),e=e.replace(/<\/?[a-zA-Z][^>]*>/g," "),e=e.replace(/^[ \t]*#{1,6}[ \t]+/gm,""),e=e.replace(/^[ \t]*>[ \t]?/gm,""),e=e.replace(/^[ \t]*[-*+][ \t]+/gm,""),e=e.replace(/^[ \t]*\d+\.[ \t]+/gm,""),e=e.replace(/^[ \t]*([-*_])([ \t]*\1){2,}[ \t]*$/gm," "),e=e.replace(/(\*\*|__)(.*?)\1/g,"$2"),e=e.replace(/(\*|_)(.*?)\1/g,"$2"),e=e.replace(/~~(.*?)~~/g,"$1"),e=e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/ /g," "),e=e.replace(/[ \t]+/g," "),e=e.replace(/[ \t]*\n[ \t]*/g,`
|
|
14
|
+
`),W="message",q="",H=null;for(let ke of E)ke.startsWith("event:")?W=ke.replace("event:","").trim():ke.startsWith("data:")?q+=ke.replace("data:","").trim():ke.startsWith("id:")&&(H=ke.slice(3).trim());let $=()=>{H!==null&&H!==""&&n({type:"cursor",id:H})};if(!q){$();continue}let se;try{se=JSON.parse(q)}catch(ke){n({type:"error",error:ke instanceof Error?ke:new Error("Failed to parse chat stream payload")});continue}let qe=W!=="message"?W:se.type??"message";if(this.onSSEEvent?.(qe,se),this.parseSSEEvent){I.current=v;let ke=await this.handleCustomSSEEvent(se,n,I,f,c,B);if(I.current&&I.current!==v&&(v=I.current),ke){$();continue}}Ke.push({payloadType:qe,payload:se}),Le(),$()}}Le()}};function aa(){let t=Date.now().toString(36),e=Math.random().toString(36).substring(2,10);return`usr_${t}_${e}`}function Yo(){let t=Date.now().toString(36),e=Math.random().toString(36).substring(2,10);return`ast_${t}_${e}`}var ia="[Image]";function Bd(t){return typeof t=="string"?!1:t.some(e=>e.type==="image")}function Zo(t){return{type:"text",text:t}}var Dd=["image/png","image/jpeg","image/gif","image/webp","image/svg+xml","image/bmp"],Fg=["application/pdf","text/plain","text/markdown","text/csv","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/json"],Fn=[...Dd,...Fg];function Ng(t){return Dd.includes(t)||t.startsWith("image/")}function la(t){return Ng(t.type)}async function Fd(t){return new Promise((e,n)=>{let o=new FileReader;o.onload=()=>{let r=o.result;la(t)?e({type:"image",image:r,mimeType:t.type,alt:t.name}):e({type:"file",data:r,mimeType:t.type,filename:t.name})},o.onerror=()=>n(new Error("Failed to read file")),o.readAsDataURL(t)})}function Nd(t,e=Fn,n=10*1024*1024){return e.includes(t.type)?t.size>n?{valid:!1,error:`File too large. Maximum size: ${Math.round(n/1048576)}MB`}:{valid:!0}:{valid:!1,error:`Invalid file type "${t.type}". Accepted types: ${e.join(", ")}`}}function Og(t){let e=t.split(".");return e.length>1?e.pop().toLowerCase():""}function Od(t,e){let n=Og(e).toUpperCase();return{"application/pdf":"PDF","text/plain":"TXT","text/markdown":"MD","text/csv":"CSV","application/msword":"DOC","application/vnd.openxmlformats-officedocument.wordprocessingml.document":"DOCX","application/vnd.ms-excel":"XLS","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":"XLSX","application/json":"JSON"}[t]||n||"FILE"}var _d=16e3,_g=24e3,$g=4096,zg=1380533830;function Ug(t){return t.byteLength>=44&&new DataView(t).getUint32(0,!1)===zg?new Uint8Array(t,44):new Uint8Array(t)}function jg(t){let e=t.replace(/\/+$/,"");return/^wss?:\/\//i.test(e)?e:/^https?:\/\//i.test(e)?e.replace(/^http/i,"ws"):`${typeof window<"u"&&window.location?.protocol==="https:"?"wss:":"ws:"}//${e}`}var Vr=class{constructor(e){this.config=e;this.type="runtype";this.ws=null;this.captureContext=null;this.mediaStream=null;this.sourceNode=null;this.processor=null;this.playback=null;this.callLive=!1;this.isSpeaking=!1;this.callGeneration=0;this.intentionalClose=!1;this.resultCallbacks=[];this.errorCallbacks=[];this.statusCallbacks=[];this.transcriptCallbacks=[];this.metricsCallbacks=[]}async connect(){}async startListening(){if(this.callLive)return;let e=this.config?.agentId,n=this.config?.clientToken,o=this.config?.host;if(!e)throw new Error("Runtype voice requires an agentId");if(!n)throw new Error("Runtype voice requires a clientToken");if(!o)throw new Error("Runtype voice requires a host (or widget apiUrl)");let r=++this.callGeneration;this.intentionalClose=!1,this.callLive=!0;try{let s=await navigator.mediaDevices.getUserMedia({audio:{sampleRate:_d,channelCount:1,echoCancellation:!0}});if(r!==this.callGeneration){s.getTracks().forEach(u=>u.stop());return}this.mediaStream=s;let a=window.AudioContext||window.webkitAudioContext,l=new a({sampleRate:_d});l.state==="suspended"&&await l.resume().catch(()=>{}),this.captureContext=l;let p=this.config?.createPlaybackEngine?await this.config.createPlaybackEngine():new qc(_g);if(r!==this.callGeneration){p.destroy(),s.getTracks().forEach(u=>u.stop()),l.close().catch(()=>{});return}this.playback=p,p.onFinished(()=>{r===this.callGeneration&&(this.isSpeaking=!1,this.ws&&this.ws.readyState===WebSocket.OPEN&&this.emitStatus("listening"))});let d=`${jg(o)}/ws/agents/${encodeURIComponent(e)}/voice`,c=new WebSocket(d,["runtype.bearer",n]);c.binaryType="arraybuffer",this.ws=c,c.onopen=()=>{r===this.callGeneration&&(this.emitStatus("listening"),this.startCapture(l,s,c,r))},c.onmessage=u=>this.handleMessage(u,r),c.onerror=()=>{r===this.callGeneration&&(this.emitError(new Error("Voice connection failed")),this.emitStatus("error"),this.cleanup())},c.onclose=u=>{if(this.intentionalClose){this.intentionalClose=!1;return}if(r===this.callGeneration){if(u.code!==1e3){let w=u.code?` (code ${u.code})`:"";this.emitError(new Error(`Voice connection closed${w}`)),this.emitStatus("error")}else this.emitStatus("idle");this.cleanup()}}}catch(s){throw this.cleanup(),this.emitError(s),this.emitStatus("error"),s}}async stopListening(){this.cleanup(),this.emitStatus("idle")}async disconnect(){this.cleanup(),this.emitStatus("disconnected"),this.resultCallbacks=[],this.errorCallbacks=[],this.statusCallbacks=[],this.transcriptCallbacks=[],this.metricsCallbacks=[]}stopPlayback(){this.playback&&this.playback.flush(),this.isSpeaking=!1,this.ws&&this.ws.readyState===WebSocket.OPEN&&this.emitStatus("listening")}getInterruptionMode(){return"barge-in"}isBargeInActive(){return this.callLive}async deactivateBargeIn(){this.cleanup(),this.emitStatus("idle")}startCapture(e,n,o,r){let s=e.createMediaStreamSource(n);this.sourceNode=s;let a=e.createScriptProcessor($g,1,1);this.processor=a,a.onaudioprocess=l=>{if(r!==this.callGeneration||o.readyState!==WebSocket.OPEN)return;let p=l.inputBuffer.getChannelData(0),d=new Int16Array(p.length);for(let c=0;c<p.length;c++){let u=Math.max(-1,Math.min(1,p[c]));d[c]=u<0?u*32768:u*32767}o.send(d.buffer)},s.connect(a),a.connect(e.destination)}handleMessage(e,n){if(n!==this.callGeneration)return;if(e.data instanceof ArrayBuffer){this.handleAudioFrame(e.data,n);return}let o;try{o=JSON.parse(e.data)}catch{return}switch(o.type){case"transcript_interim":this.emitStatus("listening"),this.emitTranscript("user",o.text??"",!1);break;case"transcript_final":{let r=o.role==="assistant"?"assistant":"user";this.emitStatus(r==="user"?"processing":"speaking"),this.emitTranscript(r,o.text??"",!0);break}case"audio_end":this.playback?this.playback.markStreamEnd():(this.isSpeaking=!1,this.emitStatus("listening"));break;case"metrics":this.emitMetrics({llmMs:o.llm_ms,ttsMs:o.tts_ms,firstAudioMs:o.first_audio_ms,totalMs:o.total_ms});break;case"error":this.emitError(new Error(o.error||"Voice error")),this.emitStatus("error");break}}handleAudioFrame(e,n){if(n!==this.callGeneration||!this.playback)return;let o=Ug(e);o.length!==0&&(this.isSpeaking||(this.isSpeaking=!0,this.emitStatus("speaking")),this.playback.enqueue(o))}cleanup(){if(this.callGeneration+=1,this.callLive=!1,this.isSpeaking=!1,this.processor&&(this.processor.onaudioprocess=null,this.processor.disconnect(),this.processor=null),this.sourceNode&&(this.sourceNode.disconnect(),this.sourceNode=null),this.mediaStream&&(this.mediaStream.getTracks().forEach(e=>e.stop()),this.mediaStream=null),this.captureContext&&(this.captureContext.close().catch(()=>{}),this.captureContext=null),this.playback&&(this.playback.destroy(),this.playback=null),this.ws){this.intentionalClose=!0;try{this.ws.close(1e3,"client ended call")}catch{}this.ws=null}}onResult(e){this.resultCallbacks.push(e)}onError(e){this.errorCallbacks.push(e)}onStatusChange(e){this.statusCallbacks.push(e)}onTranscript(e){this.transcriptCallbacks.push(e)}onMetrics(e){this.metricsCallbacks.push(e)}emitStatus(e){this.statusCallbacks.forEach(n=>n(e))}emitError(e){this.errorCallbacks.forEach(n=>n(e))}emitTranscript(e,n,o){this.transcriptCallbacks.forEach(r=>r(e,n,o))}emitMetrics(e){this.metricsCallbacks.forEach(n=>n(e))}};var Eo=class{constructor(e={}){this.config=e;this.type="browser";this.recognition=null;this.resultCallbacks=[];this.errorCallbacks=[];this.statusCallbacks=[];this.isListening=!1;this.w=typeof window<"u"?window:void 0}async connect(){this.statusCallbacks.forEach(e=>e("connected"))}async startListening(){try{if(this.isListening)throw new Error("Already listening");if(!this.w)throw new Error("Window object not available");let e=this.w.SpeechRecognition||this.w.webkitSpeechRecognition;if(!e)throw new Error("Browser speech recognition not supported");this.recognition=new e,this.recognition.lang=this.config?.language||"en-US",this.recognition.continuous=this.config?.continuous||!1,this.recognition.interimResults=!0,this.recognition.onresult=n=>{let o=Array.from(n.results).map(s=>s[0]).map(s=>s.transcript).join(""),r=n.results[n.results.length-1].isFinal;this.resultCallbacks.forEach(s=>s({text:o,confidence:r?.8:.5,provider:"browser"})),r&&!this.config?.continuous&&this.stopListening()},this.recognition.onerror=n=>{this.errorCallbacks.forEach(o=>o(new Error(n.error))),this.statusCallbacks.forEach(o=>o("error"))},this.recognition.onstart=()=>{this.isListening=!0,this.statusCallbacks.forEach(n=>n("listening"))},this.recognition.onend=()=>{this.isListening=!1,this.statusCallbacks.forEach(n=>n("idle"))},this.recognition.start()}catch(e){throw this.errorCallbacks.forEach(n=>n(e)),this.statusCallbacks.forEach(n=>n("error")),e}}async stopListening(){this.recognition&&(this.recognition.stop(),this.recognition=null),this.isListening=!1,this.statusCallbacks.forEach(e=>e("idle"))}onResult(e){this.resultCallbacks.push(e)}onError(e){this.errorCallbacks.push(e)}onStatusChange(e){this.statusCallbacks.push(e)}async disconnect(){await this.stopListening(),this.statusCallbacks.forEach(e=>e("disconnected"))}static isSupported(){return"SpeechRecognition"in window||"webkitSpeechRecognition"in window}};function er(t){switch(t.type){case"runtype":if(!t.runtype)throw new Error("Runtype voice provider requires configuration");return new Vr(t.runtype);case"browser":if(!Eo.isSupported())throw new Error("Browser speech recognition not supported");return new Eo(t.browser||{});case"custom":{let e=t.custom;if(!e)throw new Error("Custom voice provider requires a `custom` provider instance or factory");let n=typeof e=="function"?e():e;if(!n||typeof n.startListening!="function")throw new Error("Custom voice provider `custom` must be a VoiceProvider (or a factory returning one)");return n}default:throw new Error(`Unknown voice provider type: ${t.type}`)}}function $d(t){if(t?.type==="custom"&&t.custom)return er({type:"custom",custom:t.custom});if(t?.type==="runtype"&&t.runtype)return er({type:"runtype",runtype:t.runtype});if(Eo.isSupported())return er({type:"browser",browser:t?.browser||{language:"en-US"}});throw new Error("No supported voice providers available")}function $i(t){try{return $d(t),!0}catch{return!1}}function ca(t){let e=["Microsoft Jenny Online (Natural) - English (United States)","Microsoft Aria Online (Natural) - English (United States)","Microsoft Guy Online (Natural) - English (United States)","Google US English","Google UK English Female","Ava (Premium)","Evan (Enhanced)","Samantha (Enhanced)","Samantha","Daniel","Karen","Microsoft David Desktop - English (United States)","Microsoft Zira Desktop - English (United States)"];for(let n of e){let o=t.find(r=>r.name===n);if(o)return o}return t.find(n=>n.lang.startsWith("en"))??t[0]}var tr=class t{constructor(e={}){this.options=e;this.id="browser";this.supportsPause=!0}static isSupported(){return typeof window<"u"&&"speechSynthesis"in window}speak(e,n){if(!t.isSupported()){n.onError?.(new Error("Web Speech API is unavailable"));return}let o=window.speechSynthesis;o.cancel();let r=new SpeechSynthesisUtterance(e.text),s=o.getVoices();if(e.voice){let a=s.find(l=>l.name===e.voice);a&&(r.voice=a)}else s.length>0&&(r.voice=this.options.pickVoice?this.options.pickVoice(s):ca(s));e.rate!==void 0&&(r.rate=e.rate),e.pitch!==void 0&&(r.pitch=e.pitch),r.onend=()=>n.onEnd?.(),r.onerror=a=>{let l=a.error;l==="canceled"||l==="interrupted"?n.onEnd?.():n.onError?.(new Error(l||"Speech synthesis failed"))},setTimeout(()=>{o.speak(r),n.onStart?.()},50)}pause(){t.isSupported()&&window.speechSynthesis.pause()}resume(){t.isSupported()&&window.speechSynthesis.resume()}stop(){t.isSupported()&&window.speechSynthesis.cancel()}};var Kr=class{constructor(e){this.resolveEngine=e;this.engine=null;this.activeId=null;this.state="idle";this.listeners=new Set;this.generation=0}get supportsPause(){return this.engine?.supportsPause??!0}stateFor(e){return this.activeId===e?this.state:"idle"}activeMessageId(){return this.activeId}onChange(e){return this.listeners.add(e),()=>this.listeners.delete(e)}toggle(e,n){if(this.activeId===e){if(this.state==="playing"){this.engine?.supportsPause?(this.engine.pause(),this.set(e,"paused")):this.stop();return}if(this.state==="paused"){this.engine?.resume(),this.set(e,"playing");return}if(this.state==="loading"){this.stop();return}}this.play(e,n)}async play(e,n){let o=++this.generation;this.engine?.stop(),this.set(e,"loading");try{if(!this.engine){let r=await this.resolveEngine();if(o!==this.generation)return;if(!r){this.set(null,"idle");return}this.engine=r}this.engine.speak(n,{onStart:()=>{o===this.generation&&this.set(e,"playing")},onEnd:()=>{o===this.generation&&this.set(null,"idle")},onError:()=>{o===this.generation&&this.set(null,"idle")}})}catch{o===this.generation&&this.set(null,"idle")}}stop(){this.generation++,this.engine?.stop(),this.set(null,"idle")}destroy(){this.stop(),this.engine?.destroy?.(),this.engine=null,this.listeners.clear()}set(e,n){this.activeId=n==="idle"?null:e,this.state=n;for(let o of this.listeners)o(this.activeId,this.state)}};function zi(t){if(!t)return"";let e=qg(t);return zd(e!==null?e:t)}function qg(t){let e=t.trim(),n=e.match(/^```(?:json)?\s*([\s\S]*?)\s*```$/i);if(n&&(e=n[1].trim()),!e.startsWith("{"))return null;try{let o=JSON.parse(e);if(o&&typeof o=="object"&&typeof o.text=="string")return o.text}catch{}return null}function zd(t){if(!t)return"";let e=t;return e=e.replace(/```[\s\S]*?```/g," "),e=e.replace(/~~~[\s\S]*?~~~/g," "),e=e.replace(/`([^`]+)`/g,"$1"),e=e.replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1"),e=e.replace(/\[([^\]]+)\]\([^)]*\)/g,"$1"),e=e.replace(/\[([^\]]+)\]\[[^\]]*\]/g,"$1"),e=e.replace(/<\/?[a-zA-Z][^>]*>/g," "),e=e.replace(/^[ \t]*#{1,6}[ \t]+/gm,""),e=e.replace(/^[ \t]*>[ \t]?/gm,""),e=e.replace(/^[ \t]*[-*+][ \t]+/gm,""),e=e.replace(/^[ \t]*\d+\.[ \t]+/gm,""),e=e.replace(/^[ \t]*([-*_])([ \t]*\1){2,}[ \t]*$/gm," "),e=e.replace(/(\*\*|__)(.*?)\1/g,"$2"),e=e.replace(/(\*|_)(.*?)\1/g,"$2"),e=e.replace(/~~(.*?)~~/g,"$1"),e=e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/ /g," "),e=e.replace(/[ \t]+/g," "),e=e.replace(/[ \t]*\n[ \t]*/g,`
|
|
15
15
|
`),e=e.replace(/\n{2,}/g,`
|
|
16
16
|
`),e.trim()}var Ud=null;var Ui=()=>Ud?Ud():import("./runtype-tts-entry-UJAEF7NZ.js");var Vg=["apiUrl","clientToken","flowId","agentId","target","targetProviders","agent","agentOptions","headers","getHeaders","webmcp","streamParser","parserType","contextProviders","requestMiddleware","customFetch","parseSSEEvent","onSessionInit","onSessionExpired","getStoredSessionId","setStoredSessionId"];function Kg(t,e){return Vg.some(n=>t[n]!==e[n])}function ji(t,e){let n=t instanceof Error?t:new Error(String(t));if(typeof e=="string")return e;if(typeof e=="function")return e(n);let o="Sorry: I couldn't reach the assistant. The chat service didn't respond. Please check that your proxy or backend is running and reachable, then try again.";return n.message?`${o}
|
|
17
17
|
|
|
@@ -19,16 +19,16 @@ _Details: ${n.message}_`:o}var Gr=t=>({isError:!0,content:[{type:"text",text:t}]
|
|
|
19
19
|
|
|
20
20
|
`),a=[s,n].filter(Boolean).join(`
|
|
21
21
|
|
|
22
|
-
`),l=Array.isArray(e.contentParts)&&e.contentParts.length>0,p=r.contentParts.length>0;if(l){let d=[];s&&d.push(Zo(s)),d.push(...r.contentParts),d.push(...e.contentParts),e.contentParts=d}else if(p){let d=[];a&&d.push(Zo(a)),d.push(...r.contentParts),e.contentParts=d}else s&&(e.llmContent=a);Object.keys(r.context).length>0&&(e.mentionContext=r.context)}async sendMessage(e,n){let o=e.trim();if(!o&&(!n?.contentParts||n.contentParts.length===0)&&(!n?.mentions||n.mentions.refs.length===0))return;this.stopSpeaking(),this.abortController?.abort(),this.abortWebMcpResolves(),this.teardownReconnect();let r=aa(),s=Yo();this.activeAssistantMessageId=null;let a=n?.contentParts&&Bd(n.contentParts)?ia:"",l={id:r,role:"user",content:o||a,createdAt:new Date().toISOString(),sequence:this.nextSequence(),viaVoice:n?.viaVoice||!1,...n?.contentParts&&n.contentParts.length>0&&{contentParts:n.contentParts},...n?.mentions&&n.mentions.refs.length>0&&{contextMentions:n.mentions.refs},...n?.contentSegments&&n.contentSegments.length>0&&{contentSegments:n.contentSegments}};this.appendMessage(l),this.setStreaming(!0);let p=new AbortController;if(this.abortController=p,n?.mentions){let c=this.messages.find(u=>u.id===r)??l;if(await this.applyMentionBundle(c,o,n.mentions.finalize),p.signal.aborted||this.abortController!==p)return;this.callbacks.onMessagesChanged([...this.messages])}let d=[...this.messages];try{await this.client.dispatch({messages:d,signal:p.signal,assistantMessageId:s},this.handleEvent)}catch(c){if(this.status==="resuming"||this.reconnecting)return;let u=c instanceof Error&&(c.name==="AbortError"||c.message.includes("aborted")||c.message.includes("abort"));if(!u){let w=ji(c,this.config.errorMessage);if(w){let f={id:s,role:"assistant",createdAt:new Date().toISOString(),content:w,sequence:this.nextSequence()};this.appendMessage(f)}}this.setStatus("idle"),this.setStreaming(!1),this.abortController=null,u||(c instanceof Error?this.callbacks.onError?.(c):this.callbacks.onError?.(new Error(String(c))))}}async continueConversation(){if(this.streaming)return;this.abortController?.abort(),this.teardownReconnect();let e=Yo();this.activeAssistantMessageId=null,this.setStreaming(!0);let n=new AbortController;this.abortController=n;let o=[...this.messages];try{await this.client.dispatch({messages:o,signal:n.signal,assistantMessageId:e},this.handleEvent)}catch(r){if(this.status==="resuming"||this.reconnecting)return;let s=r instanceof Error&&(r.name==="AbortError"||r.message.includes("aborted")||r.message.includes("abort"));if(!s){let a=ji(r,this.config.errorMessage);if(a){let l={id:e,role:"assistant",createdAt:new Date().toISOString(),content:a,sequence:this.nextSequence()};this.appendMessage(l)}}this.setStatus("idle"),this.setStreaming(!1),this.abortController=null,s||(r instanceof Error?this.callbacks.onError?.(r):this.callbacks.onError?.(new Error(String(r))))}}async connectStream(e,n){if(this.streaming&&!n?.allowReentry)return;n?.allowReentry||this.abortController?.abort(),n?.preserveAssistantId&&n.assistantMessageId&&(this.activeAssistantMessageId=n.assistantMessageId);let o=n?.preserveAssistantId?n.assistantMessageId:void 0,r=!1;for(let s of this.messages)s.streaming&&s.id!==o&&(s.streaming=!1,r=!0);r&&this.callbacks.onMessagesChanged([...this.messages]),this.setStreaming(!0);try{await this.client.processStream(e,this.handleEvent,n?.assistantMessageId,n?.seedContent)}catch(s){if(this.status==="resuming"||this.reconnecting)return;this.setStatus("error"),this.webMcpResolveControllers.size===0&&(this.setStreaming(!1),this.abortController=null),this.callbacks.onError?.(s instanceof Error?s:new Error(String(s)))}}wireDefaultWebMcpConfirm(){let e=this.config.webmcp;e?.enabled===!0&&!e.onConfirm&&this.client.setWebMcpConfirmHandler(n=>this.requestWebMcpApproval(n))}requestWebMcpApproval(e){try{if(this.config.webmcp?.autoApprove?.(e)===!0)return Promise.resolve(!0)}catch{}let n={id:`webmcp-${++this.webMcpApprovalSeq}`,status:"pending",agentId:"",executionId:"",toolName:e.toolName,toolType:"webmcp",description:e.description??`Allow the assistant to run ${e.toolName}?`,parameters:e.args},o=`approval-${n.id}`;return this.upsertMessage({id:o,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!1,variant:"approval",approval:n}),new Promise(r=>{this.webMcpApprovalResolvers.set(o,r)})}resolveWebMcpApproval(e,n){let o=this.webMcpApprovalResolvers.get(e);if(!o)return;this.webMcpApprovalResolvers.delete(e);let r=this.messages.find(s=>s.id===e);r?.approval&&this.upsertMessage({...r,approval:{...r.approval,status:n,resolvedAt:Date.now()}}),o(n==="approved")}async resolveApproval(e,n,o){let r=`approval-${e.id}`,s={...e,status:n,resolvedAt:Date.now()},a=this.messages.find(c=>c.id===r),l={id:r,role:"assistant",content:"",createdAt:a?.createdAt??new Date().toISOString(),...a?.sequence!==void 0?{sequence:a.sequence}:{},streaming:!1,variant:"approval",approval:s};this.upsertMessage(l),this.abortController?.abort(),this.abortController=new AbortController,this.setStreaming(!0);let p=this.config.approval,d=p&&typeof p=="object"?p.onDecision:void 0;try{let c;if(d?c=await d({approvalId:e.id,executionId:e.executionId,agentId:e.agentId,toolName:e.toolName},n,o):c=await this.client.resolveApproval({agentId:e.agentId,executionId:e.executionId,approvalId:e.id},n),c){let u=null;if(c instanceof Response){if(!c.ok){let w=await c.json().catch(()=>null);throw new Error(w?.error??`Approval request failed: ${c.status}`)}u=c.body}else c instanceof ReadableStream&&(u=c);u?await this.connectStream(u,{allowReentry:!0}):(n==="denied"&&this.appendMessage({id:`denial-${e.id}`,role:"assistant",content:"Tool execution was denied by user.",createdAt:new Date().toISOString(),streaming:!1,sequence:this.nextSequence()}),this.setStreaming(!1),this.abortController=null)}else this.setStreaming(!1),this.abortController=null}catch(c){let u=c instanceof Error&&(c.name==="AbortError"||c.message.includes("aborted")||c.message.includes("abort"));this.setStreaming(!1),this.abortController=null,u||this.callbacks.onError?.(c instanceof Error?c:new Error(String(c)))}}persistAskUserQuestionProgress(e,n){let o=this.messages.find(r=>r.id===e.id);o&&this.upsertMessage({...o,agentMetadata:{...o.agentMetadata,askUserQuestionAnswers:n.answers,askUserQuestionIndex:n.currentIndex}})}markAskUserQuestionResolved(e,n){let o=this.messages.find(r=>r.id===e.id);o&&this.upsertMessage({...o,agentMetadata:{...o.agentMetadata,awaitingLocalTool:!1,askUserQuestionAnswered:!0,...n?{askUserQuestionAnswers:n}:{}}})}async resolveAskUserQuestion(e,n){if(this.messages.find(c=>c.id===e.id)?.agentMetadata?.askUserQuestionAnswered===!0)return;let r=e.agentMetadata?.executionId,s=e.toolCall?.name;if(!r||!s){this.callbacks.onError?.(new Error("resolveAskUserQuestion: message is missing executionId or toolCall.name"));return}let a=typeof n=="string"?void 0:n;if(a===void 0&&typeof n=="string"){let c=e.toolCall?.args,u=Array.isArray(c?.questions)?c.questions:[];if(u.length===1){let w=typeof u[0]?.question=="string"?u[0].question:"";w&&(a={[w]:n})}}this.markAskUserQuestionResolved(e,a),this.abortController?.abort(),this.abortController=new AbortController,this.setStreaming(!0);let l=e.toolCall.id,p=e.toolCall?.args,d=Array.isArray(p?.questions)?p.questions:[];if(d.length===0){let c=typeof n=="string"?n:Object.entries(n).map(([u,w])=>`${u}: ${Array.isArray(w)?w.join(", "):w}`).join(" | ");this.appendMessage({id:`ask-user-answer-${l}`,role:"user",content:c,createdAt:new Date().toISOString(),streaming:!1,sequence:this.nextSequence()})}else{let c=a??{};d.forEach((u,w)=>{let f=typeof u?.question=="string"?u.question:"";if(!f)return;let v=c[f],C=Array.isArray(v)?v.join(", "):typeof v=="string"?v:"";this.appendMessage({id:`ask-user-q-${l}-${w}`,role:"assistant",content:f,createdAt:new Date().toISOString(),streaming:!1,sequence:this.nextSequence()}),this.appendMessage({id:`ask-user-a-${l}-${w}`,role:"user",content:C||"*Skipped*",createdAt:new Date().toISOString(),streaming:!1,sequence:this.nextSequence()})})}try{let c=await this.client.resumeFlow(r,{[s]:n});if(!c.ok){let u=await c.json().catch(()=>null);throw new Error(u?.error??`Resume failed: ${c.status}`)}c.body?await this.connectStream(c.body,{allowReentry:!0}):(this.setStreaming(!1),this.abortController=null)}catch(c){let u=c instanceof Error&&(c.name==="AbortError"||c.message.includes("aborted")||c.message.includes("abort"));this.setStreaming(!1),this.abortController=null,u||this.callbacks.onError?.(c instanceof Error?c:new Error(String(c)))}}enqueueWebMcpAwait(e){let n=e.agentMetadata?.executionId,o=e.toolCall?.id;if(!n||!o){let s=this.webMcpEpoch;queueMicrotask(()=>{s===this.webMcpEpoch&&this.resolveWebMcpToolCall(e)});return}let r=this.webMcpAwaitBatches.get(n);r||(r={snapshots:[],seen:new Set},this.webMcpAwaitBatches.set(n,r)),!r.seen.has(o)&&(r.seen.add(o),r.snapshots.push(e))}scheduleWebMcpBatchFlush(){if(this.webMcpAwaitBatches.size===0)return;let e=this.webMcpEpoch;queueMicrotask(()=>{if(e===this.webMcpEpoch)for(let n of[...this.webMcpAwaitBatches.keys()])this.flushWebMcpAwaitBatch(n)})}flushWebMcpAwaitBatch(e){let n=this.webMcpAwaitBatches.get(e);if(!n)return;this.webMcpAwaitBatches.delete(e);let{snapshots:o}=n;o.length===1?this.resolveWebMcpToolCall(o[0]):o.length>1&&this.resolveWebMcpToolCallBatch(e,o)}resolveWebMcpToolStartedAt(e){let o=[this.messages.find(r=>r.id===e.id)?.toolCall?.startedAt,e.toolCall?.startedAt];for(let r of o)if(typeof r=="number"&&Number.isFinite(r))return r;return Date.now()}isSuggestRepliesAlreadyResolved(e){return e.toolCall?.name!==Dn?!1:(this.messages.find(o=>o.id===e.id)??e).agentMetadata?.suggestRepliesResolved===!0}markWebMcpToolRunning(e){let n=this.resolveWebMcpToolStartedAt(e);return this.upsertMessage({...e,streaming:!0,agentMetadata:{...e.agentMetadata,awaitingLocalTool:!1},toolCall:e.toolCall?{...e.toolCall,status:"running",startedAt:n,completedAt:void 0,duration:void 0,durationMs:void 0}:e.toolCall}),n}markWebMcpToolComplete(e,n,o,r=Date.now(),s){this.messages.some(a=>a.id===e.id)&&this.upsertMessage({...e,streaming:!1,agentMetadata:{...e.agentMetadata,awaitingLocalTool:!1,...s},toolCall:e.toolCall?{...e.toolCall,status:"complete",result:n,startedAt:o,completedAt:r,duration:void 0,durationMs:Math.max(0,r-o)}:e.toolCall})}async resolveWebMcpToolCallBatch(e,n){let o=[],r=[],s=new AbortController;this.webMcpResolveControllers.add(s),this.setStreaming(!0);let a=await Promise.all(n.map(async p=>{let d=p.toolCall?.name,c=p.toolCall?.id;if(!d||!c)return null;let u=`${e}:${c}`;if(this.webMcpInflightKeys.has(u)||this.webMcpResolvedKeys.has(u)||this.isSuggestRepliesAlreadyResolved(p))return null;this.webMcpInflightKeys.add(u),o.push(u);let w=this.markWebMcpToolRunning(p),f=p.agentMetadata?.webMcpToolCallId??d;if(d===Dn)return{dedupeKey:u,resumeKey:f,output:Fi(),toolMessage:p,startedAt:w,completedAt:Date.now()};let v=new AbortController;this.webMcpResolveControllers.add(v),r.push(v);let C=this.client.executeWebMcpToolCall(d,p.toolCall?.args,v.signal),I;if(!C)I={isError:!0,content:[{type:"text",text:"WebMCP not enabled on this widget."}]};else try{I=await C}catch(B){let k=B instanceof Error&&(B.name==="AbortError"||B.message.includes("aborted")||B.message.includes("abort"));return k||this.callbacks.onError?.(B instanceof Error?B:new Error(String(B))),this.markWebMcpToolComplete(p,Gr(k?"Aborted by cancel()":jd(B)),w),this.webMcpInflightKeys.delete(u),null}return v.signal.aborted?(this.markWebMcpToolComplete(p,Gr("Aborted by cancel()"),w),this.webMcpInflightKeys.delete(u),null):{dedupeKey:u,resumeKey:f,output:I,toolMessage:p,startedAt:w,completedAt:Date.now()}})),l=[];try{if(l=a.filter(c=>c!==null),l.length===0)return;let p={};for(let c of l)p[c.resumeKey]=c.output;let d=await this.client.resumeFlow(e,p,{signal:s.signal});if(!d.ok){let c=await d.json().catch(()=>null);throw new Error(c?.error??`Resume failed: ${d.status}`)}for(let c of l)this.webMcpResolvedKeys.add(c.dedupeKey),this.markWebMcpToolComplete(c.toolMessage,c.output,c.startedAt,c.completedAt,c.toolMessage.toolCall?.name===Dn?{suggestRepliesResolved:!0}:void 0);d.body&&await this.connectStream(d.body,{allowReentry:!0})}catch(p){if(!(p instanceof Error&&(p.name==="AbortError"||p.message.includes("aborted")||p.message.includes("abort"))))this.callbacks.onError?.(p instanceof Error?p:new Error(String(p)));else for(let c of l)this.markWebMcpToolComplete(c.toolMessage,Gr("Aborted by cancel()"),c.startedAt)}finally{for(let p of o)this.webMcpInflightKeys.delete(p);for(let p of r)this.webMcpResolveControllers.delete(p);this.webMcpResolveControllers.delete(s),this.webMcpResolveControllers.size===0&&!this.abortController&&this.setStreaming(!1)}}async resolveWebMcpToolCall(e){let n=e.agentMetadata?.executionId,o=e.toolCall?.name,r=e.toolCall?.id;if(!n){this.callbacks.onError?.(new Error("WebMCP step_await missing executionId: dispatch left paused."));return}if(!o)return;if(!r){let v=`${n}:__no_tool_id__:${o}`;if(this.webMcpInflightKeys.has(v)||this.webMcpResolvedKeys.has(v))return;this.webMcpInflightKeys.add(v);try{await this.resumeWithToolOutput(n,o,{isError:!0,content:[{type:"text",text:"WebMCP step_await missing toolCall.id: cannot execute the page tool."}]}),this.webMcpResolvedKeys.add(v)}catch(C){this.callbacks.onError?.(C instanceof Error?C:new Error(String(C)))}finally{this.webMcpInflightKeys.delete(v)}return}let s=`${n}:${r}`;if(this.webMcpInflightKeys.has(s)||this.webMcpResolvedKeys.has(s)||this.isSuggestRepliesAlreadyResolved(e))return;this.webMcpInflightKeys.add(s);let a=this.markWebMcpToolRunning(e),l=new AbortController;this.webMcpResolveControllers.add(l);let{signal:p}=l;this.setStreaming(!0);let d=o===Dn,c=e.toolCall?.args,u=d?null:this.client.executeWebMcpToolCall(o,c,p),w="execute",f=a;try{let v;if(d?v=Fi():u?v=await u:v={isError:!0,content:[{type:"text",text:"WebMCP not enabled on this widget."}]},f=Date.now(),p.aborted){this.markWebMcpToolComplete(e,Gr("Aborted by cancel()"),a);return}let C=e.agentMetadata?.webMcpToolCallId??o;w="resume",await this.resumeWithToolOutput(n,C,v,{onHttpOk:()=>{this.webMcpResolvedKeys.add(s),this.markWebMcpToolComplete(e,v,a,f,d?{suggestRepliesResolved:!0}:void 0)},signal:p})}catch(v){let C=v instanceof Error&&(v.name==="AbortError"||v.message.includes("aborted")||v.message.includes("abort"));(w==="execute"||C||p.aborted)&&this.markWebMcpToolComplete(e,Gr(C||p.aborted?"Aborted by cancel()":jd(v)),a),C||this.callbacks.onError?.(v instanceof Error?v:new Error(String(v)))}finally{this.webMcpInflightKeys.delete(s),this.webMcpResolveControllers.delete(l),this.webMcpResolveControllers.size===0&&!this.abortController&&this.setStreaming(!1)}}async resumeWithToolOutput(e,n,o,r){let s=await this.client.resumeFlow(e,{[n]:o},{signal:r?.signal});if(!s.ok){let a=await s.json().catch(()=>null);throw new Error(a?.error??`Resume failed: ${s.status}`)}r?.onHttpOk?.(),s.body?await this.connectStream(s.body,{allowReentry:!0}):this.webMcpResolveControllers.size===0&&(this.setStreaming(!1),this.abortController=null)}abortWebMcpResolves(){for(let e of this.webMcpResolveControllers)e.abort();this.webMcpResolveControllers.clear();for(let e of[...this.webMcpApprovalResolvers.keys()])this.resolveWebMcpApproval(e,"denied");this.webMcpAwaitBatches.clear(),this.webMcpEpoch++}cancel(){this.abortController?.abort(),this.abortController=null,this.teardownReconnect(),this.abortWebMcpResolves(),this.webMcpInflightKeys.clear(),this.stopSpeaking(),this.stopVoicePlayback(),this.setStreaming(!1),this.setStatus("idle")}clearMessages(){this.stopSpeaking(),this.abortController?.abort(),this.abortController=null,this.teardownReconnect(),this.abortWebMcpResolves(),this.messages=[],this.agentExecution=null,this.clearArtifactState(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear(),this.client.resetClientToolsFingerprint(),this.setStreaming(!1),this.setStatus("idle"),this.callbacks.onMessagesChanged([...this.messages])}getArtifacts(){return[...this.artifacts.values()]}getArtifactById(e){return this.artifacts.get(e)}getSelectedArtifactId(){return this.selectedArtifactId}selectArtifact(e){this.selectedArtifactId=e,this.emitArtifactsState()}clearArtifacts(){this.clearArtifactState()}upsertArtifact(e){let n=e.id||`art_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,o=e.artifactType==="markdown"?{id:n,artifactType:"markdown",title:e.title,status:"complete",markdown:e.content,...e.file?{file:e.file}:{}}:{id:n,artifactType:"component",title:e.title,status:"complete",component:e.component,props:e.props??{}};return this.artifacts.set(n,o),this.selectedArtifactId=n,this.emitArtifactsState(),e.transcript!==!1&&this.injectArtifactRefBlock(o),o}injectArtifactRefBlock(e){let n=`artifact-ref-${e.id}`,o=So(this.config.features?.artifacts,e.artifactType),r=Js(o,{artifactId:e.id,title:e.title,artifactType:e.artifactType,status:"complete",...e.file?{file:e.file}:{},...e.component?{component:e.component}:{},...e.props?{componentProps:e.props}:{},...e.markdown!==void 0?{markdown:e.markdown}:{}}),s=this.messages.find(a=>a.id===n);if(s){s.rawContent=r,s.streaming=!1,this.callbacks.onMessagesChanged([...this.messages]);return}this.injectAssistantMessage({id:n,content:"",rawContent:r})}clearArtifactState(){this.artifacts.size===0&&this.selectedArtifactId===null||(this.artifacts.clear(),this.selectedArtifactId=null,this.emitArtifactsState())}emitArtifactsState(){this.callbacks.onArtifactsState?.({artifacts:[...this.artifacts.values()],selectedId:this.selectedArtifactId})}applyArtifactStreamEvent(e){switch(e.type){case"artifact_start":{e.artifactType==="markdown"?this.artifacts.set(e.id,{id:e.id,artifactType:"markdown",title:e.title,status:"streaming",markdown:"",...e.file?{file:e.file}:{}}):this.artifacts.set(e.id,{id:e.id,artifactType:"component",title:e.title,status:"streaming",component:e.component??"",props:{}}),this.selectedArtifactId=e.id;break}case"artifact_delta":{let n=this.artifacts.get(e.id);n?.artifactType==="markdown"&&(n.markdown=(n.markdown??"")+e.artDelta);break}case"artifact_update":{let n=this.artifacts.get(e.id);n?.artifactType==="component"&&(n.props={...n.props,...e.props},e.component&&(n.component=e.component));break}case"artifact_complete":{let n=this.artifacts.get(e.id);n&&(n.status="complete");break}default:return}this.emitArtifactsState()}hydrateMessages(e){this.abortController?.abort(),this.abortController=null,this.teardownReconnect(),this.abortWebMcpResolves(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear(),this.messages=this.sortMessages(e.map(n=>({...n,streaming:!1,sequence:n.sequence??this.nextSequence()}))),this.setStreaming(!1),this.setStatus("idle"),this.callbacks.onMessagesChanged([...this.messages])}hydrateArtifacts(e,n=null){this.artifacts.clear();for(let o of e)this.artifacts.set(o.id,{...o,status:"complete"});this.selectedArtifactId=n,this.emitArtifactsState()}trackCursor(e){let n=this.agentExecution?.executionId;if(!n||!this.activeAssistantMessageId||this.agentExecution?.status!=="running")return;let o=this.resumable===null;this.resumable={executionId:n,lastEventId:e,assistantMessageId:this.activeAssistantMessageId,status:"running"},this.notifyExecutionState(o)}isDurableDrop(){return this.resumable!==null&&typeof this.config.reconnectStream=="function"&&this.abortController?.signal.aborted!==!0&&this.webMcpResolveControllers.size===0&&this.webMcpAwaitBatches.size===0&&!this.isAwaitPending()}isAwaitPending(){return this.messages.some(e=>e.agentMetadata?.awaitingLocalTool===!0&&e.agentMetadata?.askUserQuestionAnswered!==!0||e.variant==="approval"&&e.approval?.status==="pending")}beginReconnect(){this.reconnecting||!this.resumable||typeof this.config.reconnectStream!="function"||(this.reconnecting=!0,this.callbacks.onReconnect?.({phase:"paused",handle:this.resumable}),this.setStreaming(!0),this.setStatus("resuming"),this.loadReconnectController().then(e=>{this.reconnecting&&this.resumable&&e.begin()}))}loadReconnectController(){return this.reconnectController?Promise.resolve(this.reconnectController):(this.reconnectControllerPromise||(this.reconnectControllerPromise=import("./session-reconnect-JKIJBHS5.js").then(({createReconnectController:e})=>{let n=e(this.buildReconnectHost());return this.reconnectController=n,n})),this.reconnectControllerPromise)}buildReconnectHost(){let e=this;return{get config(){return e.config},getResumable:()=>e.resumable,clearResumable:()=>e.clearResumable(),getStatus:()=>e.status,setStatus:n=>e.setStatus(n),setStreaming:n=>e.setStreaming(n),setReconnecting:n=>{e.reconnecting=n},setAbortController:n=>{e.abortController=n},getMessages:()=>e.messages,notifyMessagesChanged:()=>e.callbacks.onMessagesChanged([...e.messages]),resumeConnect:(n,o,r)=>e.connectStream(n,{assistantMessageId:o,allowReentry:!0,preserveAssistantId:!0,seedContent:r}),appendMessage:n=>e.appendMessage(n),nextSequence:()=>e.nextSequence(),emitReconnect:n=>e.callbacks.onReconnect?.(n),buildErrorContent:n=>ji(new Error(n),e.config.errorMessage),onError:n=>e.callbacks.onError?.(n)}}reconnectNow(){if(this.reconnecting){this.reconnectController?.wake();return}this.beginReconnect()}resumeFromHandle(e){if(typeof this.config.reconnectStream!="function"||this.reconnecting)return;let n=this.reopenTrailingAssistant();n||(n=Yo(),this.appendMessage({id:n,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,sequence:this.nextSequence()})),this.activeAssistantMessageId=n,this.agentExecution||(this.agentExecution={executionId:e.executionId,agentId:"",agentName:"",status:"running",currentIteration:0,maxTurns:0}),this.resumable={executionId:e.executionId,lastEventId:e.after,assistantMessageId:n,status:"running"},this.beginReconnect()}reopenTrailingAssistant(){for(let e=this.messages.length-1;e>=0;e--){let n=this.messages[e];if(n.role==="assistant"&&!n.variant)return n.streaming=!0,this.callbacks.onMessagesChanged([...this.messages]),n.id;if(n.role==="user")break}return null}teardownReconnect(){this.reconnecting=!1,this.reconnectController?.teardown(),this.clearResumable()}clearResumable(){this.executionStateTimer&&(clearTimeout(this.executionStateTimer),this.executionStateTimer=null);let e=this.resumable!==null;this.resumable=null,e&&this.config.onExecutionState?.(null)}notifyExecutionState(e){let n=this.config.onExecutionState;if(n){if(e){this.executionStateTimer&&(clearTimeout(this.executionStateTimer),this.executionStateTimer=null),n(this.resumable);return}this.executionStateTimer||(this.executionStateTimer=setTimeout(()=>{this.executionStateTimer=null,this.config.onExecutionState?.(this.resumable)},500))}}getResumableHandle(){return this.resumable}setStatus(e){this.status!==e&&(this.status=e,this.callbacks.onStatusChanged(e))}setStreaming(e){if(this.streaming===e)return;let n=this.streaming;this.streaming=e,this.callbacks.onStreamingChanged(e),n&&!e&&this.speakLatestAssistantMessage()}speakLatestAssistantMessage(){let e=this.config.textToSpeech;if(!e?.enabled||!(!e.provider||e.provider==="browser"||e.provider==="runtype"&&e.browserFallback))return;let o=[...this.messages].reverse().find(s=>s.role==="assistant"&&s.content&&!s.voiceProcessing);if(!o)return;if(this.ttsSpokenMessageIds.has(o.id)){this.ttsSpokenMessageIds.delete(o.id);return}let r=zi(o.content);r.trim()&&this.readAloud.play(o.id,{text:r,voice:e.voice,rate:e.rate,pitch:e.pitch})}static pickBestVoice(e){return ca(e)}toggleReadAloud(e){let n=this.messages.find(s=>s.id===e);if(!n||n.role!=="assistant")return;let o=zi(n.content||"");if(!o.trim())return;let r=this.config.textToSpeech;this.readAloud.toggle(e,{text:o,voice:r?.voice,rate:r?.rate,pitch:r?.pitch})}getReadAloudState(e){return this.readAloud.stateFor(e)}onReadAloudChange(e){return this.readAloud.onChange(e)}stopSpeaking(){this.readAloud.stop(),typeof window<"u"&&"speechSynthesis"in window&&window.speechSynthesis.cancel()}appendMessage(e){let n=this.ensureSequence(e);this.messages=this.sortMessages([...this.messages,n]),this.callbacks.onMessagesChanged([...this.messages])}upsertMessage(e){let n=this.ensureSequence(e),o=this.messages.findIndex(r=>r.id===n.id);if(o===-1){this.appendMessage(n);return}this.messages=this.messages.map((r,s)=>{if(s!==o)return r;let a={...r,...n};if(r.agentMetadata?.askUserQuestionAnswered===!0&&n.agentMetadata&&(a.agentMetadata={...n.agentMetadata,askUserQuestionAnswered:!0,...r.agentMetadata.askUserQuestionAnswers?{askUserQuestionAnswers:r.agentMetadata.askUserQuestionAnswers}:{},awaitingLocalTool:!1}),r.agentMetadata?.suggestRepliesResolved===!0&&n.agentMetadata&&(a.agentMetadata={...a.agentMetadata??n.agentMetadata,suggestRepliesResolved:!0,awaitingLocalTool:!1}),r.approval&&n.approval&&r.approval.id===n.approval.id){let c=r.approval,u=n.approval;a.approval={...c,...u,executionId:u.executionId||c.executionId,toolName:u.toolName||c.toolName,description:u.description||c.description,toolType:u.toolType??c.toolType,reason:u.reason??c.reason,parameters:u.parameters??c.parameters}}let l=n.toolCall?.name,p=n.agentMetadata?.executionId,d=n.toolCall?.id;if(l&&qd(l)&&p&&d&&n.agentMetadata?.awaitingLocalTool===!0){let c=`${p}:${d}`,u=this.webMcpInflightKeys.has(c),w=this.webMcpResolvedKeys.has(c),f=r.toolCall?.name,v=r.agentMetadata?.executionId===p&&r.toolCall?.id===d&&f!==void 0&&qd(f)&&r.toolCall?.status==="complete";(u||w||v)&&(a.agentMetadata={...a.agentMetadata??{},awaitingLocalTool:!1},a.toolCall=r.toolCall,a.streaming=r.streaming)}return a}),this.messages=this.sortMessages(this.messages),this.callbacks.onMessagesChanged([...this.messages])}ensureSequence(e){return e.sequence!==void 0?{...e}:{...e,sequence:this.nextSequence()}}nextSequence(){return this.sequenceCounter++}sortMessages(e){return[...e].sort((n,o)=>{let r=new Date(n.createdAt).getTime(),s=new Date(o.createdAt).getTime();if(!Number.isNaN(r)&&!Number.isNaN(s)&&r!==s)return r-s;let a=n.sequence??0,l=o.sequence??0;return a!==l?a-l:n.id.localeCompare(o.id)})}};var pa={allowedTypes:Fn,maxFileSize:10*1024*1024,maxFiles:4};function Gg(){return`attach_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}function Qg(t){return t==="application/pdf"||t.startsWith("text/")||t.includes("word")?"file-text":t.includes("excel")||t.includes("spreadsheet")?"file-spreadsheet":t==="application/json"?"file-code":"file"}var Qr=class t{constructor(e={}){this.attachments=[];this.previewsContainer=null;this.config={allowedTypes:e.allowedTypes??pa.allowedTypes,maxFileSize:e.maxFileSize??pa.maxFileSize,maxFiles:e.maxFiles??pa.maxFiles,onFileRejected:e.onFileRejected,onAttachmentsChange:e.onAttachmentsChange}}setPreviewsContainer(e){this.previewsContainer=e}updateConfig(e){e.allowedTypes!==void 0&&(this.config.allowedTypes=e.allowedTypes.length>0?e.allowedTypes:pa.allowedTypes),e.maxFileSize!==void 0&&(this.config.maxFileSize=e.maxFileSize),e.maxFiles!==void 0&&(this.config.maxFiles=e.maxFiles),e.onFileRejected!==void 0&&(this.config.onFileRejected=e.onFileRejected),e.onAttachmentsChange!==void 0&&(this.config.onAttachmentsChange=e.onAttachmentsChange)}getAttachments(){return[...this.attachments]}getContentParts(){return this.attachments.map(e=>e.contentPart)}hasAttachments(){return this.attachments.length>0}count(){return this.attachments.length}async handleFileSelect(e){!e||e.length===0||await this.handleFiles(Array.from(e))}async handleFiles(e){if(e.length){for(let n of e){if(this.attachments.length>=this.config.maxFiles){this.config.onFileRejected?.(n,"count");continue}let o=Nd(n,this.config.allowedTypes,this.config.maxFileSize);if(!o.valid){let r=o.error?.includes("type")?"type":"size";this.config.onFileRejected?.(n,r);continue}try{let r=await Fd(n),s=la(n)?URL.createObjectURL(n):null,a={id:Gg(),file:n,previewUrl:s,contentPart:r};this.attachments.push(a),this.renderPreview(a)}catch(r){console.error("[AttachmentManager] Failed to process file:",r)}}this.updatePreviewsVisibility(),this.config.onAttachmentsChange?.(this.getAttachments())}}removeAttachment(e){let n=this.attachments.findIndex(s=>s.id===e);if(n===-1)return;let o=this.attachments[n];o.previewUrl&&URL.revokeObjectURL(o.previewUrl),this.attachments.splice(n,1);let r=this.previewsContainer?.querySelector(`[data-attachment-id="${e}"]`);r&&r.remove(),this.updatePreviewsVisibility(),this.config.onAttachmentsChange?.(this.getAttachments())}clearAttachments(){for(let e of this.attachments)e.previewUrl&&URL.revokeObjectURL(e.previewUrl);this.attachments=[],this.previewsContainer&&(this.previewsContainer.innerHTML=""),this.updatePreviewsVisibility(),this.config.onAttachmentsChange?.(this.getAttachments())}renderPreview(e){if(!this.previewsContainer)return;let n=la(e.file),o=h("div","persona-attachment-preview persona-relative persona-inline-block");if(o.setAttribute("data-attachment-id",e.id),o.style.width="48px",o.style.height="48px",n&&e.previewUrl){let a=h("img");a.src=e.previewUrl,a.alt=e.file.name,a.className="persona-w-full persona-h-full persona-object-cover persona-rounded-lg persona-border persona-border-gray-200",a.style.width="48px",a.style.height="48px",a.style.objectFit="cover",a.style.borderRadius="8px",o.appendChild(a)}else{let a=h("div");a.style.width="48px",a.style.height="48px",a.style.borderRadius="8px",a.style.backgroundColor="var(--persona-container, #f3f4f6)",a.style.border="1px solid var(--persona-border, #e5e7eb)",a.style.display="flex",a.style.flexDirection="column",a.style.alignItems="center",a.style.justifyContent="center",a.style.gap="2px",a.style.overflow="hidden";let l=Qg(e.file.type),p=re(l,20,"var(--persona-muted, #6b7280)",1.5);p&&a.appendChild(p);let d=h("span");d.textContent=Od(e.file.type,e.file.name),d.style.fontSize="8px",d.style.fontWeight="600",d.style.color="var(--persona-muted, #6b7280)",d.style.textTransform="uppercase",d.style.lineHeight="1",a.appendChild(d),o.appendChild(a)}let r=h("button","persona-attachment-remove persona-absolute persona-flex persona-items-center persona-justify-center");r.type="button",r.setAttribute("aria-label","Remove attachment"),r.style.position="absolute",r.style.top="-4px",r.style.right="-4px",r.style.width="18px",r.style.height="18px",r.style.borderRadius="50%",r.style.backgroundColor="var(--persona-palette-colors-black-alpha-60, rgba(0, 0, 0, 0.6))",r.style.border="none",r.style.cursor="pointer",r.style.display="flex",r.style.alignItems="center",r.style.justifyContent="center",r.style.padding="0";let s=re("x",10,"var(--persona-text-inverse, #ffffff)",2);s?r.appendChild(s):(r.textContent="\xD7",r.style.color="var(--persona-text-inverse, #ffffff)",r.style.fontSize="14px",r.style.lineHeight="1"),r.addEventListener("click",a=>{a.preventDefault(),a.stopPropagation(),this.removeAttachment(e.id)}),o.appendChild(r),this.previewsContainer.appendChild(o)}updatePreviewsVisibility(){this.previewsContainer&&(this.previewsContainer.style.display=this.attachments.length>0?"flex":"none")}static fromConfig(e,n){return new t({allowedTypes:e?.allowedTypes,maxFileSize:e?.maxFileSize,maxFiles:e?.maxFiles,onFileRejected:e?.onFileRejected,onAttachmentsChange:n})}};var It={idle:"Online",connecting:"Connecting\u2026",connected:"Streaming\u2026",error:"Offline",paused:"Connection lost\u2026",resuming:"Reconnecting\u2026"},$t=1e5,ua=$t+1;var Xg=8,Jg=8,qi=10,Vi=new WeakMap,Vd=t=>t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in t,Yg=t=>{let e=t.getRootNode?.();return Vd(e)?e:t.ownerDocument.body},Ki=(t,e,n)=>Math.min(Math.max(t,e),Math.max(e,n));function Ft(t){Vi.get(t.anchor)?.destroy();let{anchor:e,trigger:n=e,text:o,enabled:r=!0,gap:s=Xg,viewportPadding:a=Jg}=t,l=()=>e.ownerDocument,p=()=>l().defaultView??window,d=null,c=null,u=null,w=!1,f=!1,v=!1,C=()=>(typeof o=="function"?o():o).trim(),I=()=>{u?.(),u=null,d?.remove(),d=null,c=null},B=()=>{if(!d)return;let J=l(),D=p(),F=e.getBoundingClientRect(),ie=d.getBoundingClientRect(),ge=J.documentElement.clientWidth||D.innerWidth,Ce=J.documentElement.clientHeight||D.innerHeight,we=ge-a-ie.width,ee=F.left+F.width/2-ie.width/2,ce=Ki(ee,a,we),Y=F.top-a,ae=Ce-a-F.bottom,Z=ie.height+s,he=Y>=Z||Y>=ae?"top":"bottom",ye=he==="top"?F.top-s-ie.height:F.bottom+s,pe=Ce-a-ie.height,Te=Ki(ye,a,pe),Ae=F.left+F.width/2,Oe=Math.max(qi,ie.width-qi),Fe=Ki(Ae-ce,qi,Oe);d.dataset.placement=he,d.style.left=`${ce}px`,d.style.top=`${Te}px`,d.style.setProperty("--persona-tooltip-arrow-x",`${Fe}px`)},k=()=>{if(v||!r||d||!e.isConnected)return;let J=C(),D=Yg(e);if(!J||!D)return;let F=l(),ie=p();d=F.createElement("div"),d.className="persona-control-tooltip",d.setAttribute("role","tooltip"),d.dataset.state="measuring",d.style.zIndex=String(ua),c=F.createElement("span"),c.className="persona-control-tooltip__label",c.textContent=J,d.appendChild(c);let ge=F.createElement("span");ge.className="persona-control-tooltip__arrow",d.appendChild(ge),D.appendChild(d),B(),d.dataset.state="open";let Ce=()=>{if(!e.isConnected){I();return}c&&(c.textContent=C()),B()};ie.addEventListener("scroll",Ce,!0),ie.addEventListener("resize",Ce);let we=e.getRootNode(),ee=Vd(we)?we:F.documentElement,ce=typeof MutationObserver>"u"?null:new MutationObserver(()=>{e.isConnected||I()});ce?.observe(ee,{childList:!0,subtree:!0}),u=()=>{ie.removeEventListener("scroll",Ce,!0),ie.removeEventListener("resize",Ce),ce?.disconnect()}},M=()=>{w||f?k():I()},P=()=>{let J=p();(!J.matchMedia||!J.matchMedia("(hover: none)").matches)&&(w=!0,M())},z=()=>{w=!1,M()},K=()=>{f=!0,M()},x=()=>{f=!1,M()},U=J=>{J.key==="Escape"&&(w=!1,f=!1,I())};n.addEventListener("mouseenter",P),n.addEventListener("mouseleave",z),e.addEventListener("focus",K),e.addEventListener("blur",x),e.addEventListener("keydown",U);let j={get isOpen(){return d!==null},show:k,hide:I,reposition:B,destroy:()=>{v||(v=!0,I(),n.removeEventListener("mouseenter",P),n.removeEventListener("mouseleave",z),e.removeEventListener("focus",K),e.removeEventListener("blur",x),e.removeEventListener("keydown",U),Vi.delete(e))}};return Vi.set(e,j),j}function Kd(t){let{config:e,onOpen:n}=t,o=t.buttonSize??"40px",r=parseFloat(o)||40,s=Math.round(r*.6),a=e.buttonIconName??"plus",l=e.buttonTooltipText??"Add context",p=h("div","persona-send-button-wrapper"),d=Ne("button",{className:"persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-mention-button",attrs:{type:"button","data-persona-composer-mention-button":"","aria-label":l,"aria-haspopup":"listbox","aria-expanded":"false"},style:{width:o,height:o,minWidth:o,minHeight:o,fontSize:"18px",lineHeight:"1"}}),c=re(a,s,"currentColor",1.5);return c?d.appendChild(c):d.textContent="+",d.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),n()}),p.appendChild(d),Ft({anchor:d,trigger:p,text:()=>d.getAttribute("aria-label")??l}),{button:d,wrapper:p}}var{setLoader:vv,load:Zg}=Vo({fallbackImport:()=>import("./context-mentions-ONG7A7M6.js")});var Gi=Zg;var{setLoader:Cv,load:em}=Vo({fallbackImport:()=>import("./context-mentions-inline-TTCN7ZM2.js"),resetOnSetLoader:!0});var Gd=em;function Xr(t,e={}){if(e.render)return e.render({ref:t,readonly:!!e.readonly});let n=Ne("span",{className:Wn("persona-mention-token",e.readonly&&"persona-mention-token-readonly"),attrs:{"data-mention-source":t.sourceId,title:t.label,role:"img","aria-label":`${t.label} mention`}});t.color&&n.style.setProperty("--persona-mention-token-accent",t.color);let o=re(t.iconName??"at-sign",13,"currentColor",2);if(o){let r=h("span","persona-mention-token-icon");r.appendChild(o),n.appendChild(r)}return n.appendChild(Ne("span",{className:"persona-mention-token-label",text:`@${t.label}`})),n}function Qd(t){let e=t.config.contextMentions;if(!e?.enabled)return null;let n=Gc(e).filter(M=>M.sources.length>0);if(n.length===0)return typeof console<"u"&&console.warn("[Persona] contextMentions.enabled is true but no sources were provided; mentions are disabled."),null;let o=n.filter(M=>M.sources.some(P=>typeof P.matchCommand=="function")),r=M=>o.some(P=>P.trigger?P.position==="line-start"?M.split(`
|
|
22
|
+
`),l=Array.isArray(e.contentParts)&&e.contentParts.length>0,p=r.contentParts.length>0;if(l){let d=[];s&&d.push(Zo(s)),d.push(...r.contentParts),d.push(...e.contentParts),e.contentParts=d}else if(p){let d=[];a&&d.push(Zo(a)),d.push(...r.contentParts),e.contentParts=d}else s&&(e.llmContent=a);Object.keys(r.context).length>0&&(e.mentionContext=r.context)}async sendMessage(e,n){let o=e.trim();if(!o&&(!n?.contentParts||n.contentParts.length===0)&&(!n?.mentions||n.mentions.refs.length===0))return;this.stopSpeaking(),this.abortController?.abort(),this.abortWebMcpResolves(),this.teardownReconnect();let r=aa(),s=Yo();this.activeAssistantMessageId=null;let a=n?.contentParts&&Bd(n.contentParts)?ia:"",l={id:r,role:"user",content:o||a,createdAt:new Date().toISOString(),sequence:this.nextSequence(),viaVoice:n?.viaVoice||!1,...n?.contentParts&&n.contentParts.length>0&&{contentParts:n.contentParts},...n?.mentions&&n.mentions.refs.length>0&&{contextMentions:n.mentions.refs},...n?.contentSegments&&n.contentSegments.length>0&&{contentSegments:n.contentSegments}};this.appendMessage(l),this.setStreaming(!0);let p=new AbortController;if(this.abortController=p,n?.mentions){let c=this.messages.find(u=>u.id===r)??l;if(await this.applyMentionBundle(c,o,n.mentions.finalize),p.signal.aborted||this.abortController!==p)return;this.callbacks.onMessagesChanged([...this.messages])}let d=[...this.messages];try{await this.client.dispatch({messages:d,signal:p.signal,assistantMessageId:s},this.handleEvent)}catch(c){if(this.status==="resuming"||this.reconnecting)return;let u=c instanceof Error&&(c.name==="AbortError"||c.message.includes("aborted")||c.message.includes("abort"));if(!u){let w=ji(c,this.config.errorMessage);if(w){let f={id:s,role:"assistant",createdAt:new Date().toISOString(),content:w,sequence:this.nextSequence()};this.appendMessage(f)}}this.setStatus("idle"),this.setStreaming(!1),this.abortController=null,u||(c instanceof Error?this.callbacks.onError?.(c):this.callbacks.onError?.(new Error(String(c))))}}async continueConversation(){if(this.streaming)return;this.abortController?.abort(),this.teardownReconnect();let e=Yo();this.activeAssistantMessageId=null,this.setStreaming(!0);let n=new AbortController;this.abortController=n;let o=[...this.messages];try{await this.client.dispatch({messages:o,signal:n.signal,assistantMessageId:e},this.handleEvent)}catch(r){if(this.status==="resuming"||this.reconnecting)return;let s=r instanceof Error&&(r.name==="AbortError"||r.message.includes("aborted")||r.message.includes("abort"));if(!s){let a=ji(r,this.config.errorMessage);if(a){let l={id:e,role:"assistant",createdAt:new Date().toISOString(),content:a,sequence:this.nextSequence()};this.appendMessage(l)}}this.setStatus("idle"),this.setStreaming(!1),this.abortController=null,s||(r instanceof Error?this.callbacks.onError?.(r):this.callbacks.onError?.(new Error(String(r))))}}async connectStream(e,n){if(this.streaming&&!n?.allowReentry)return;n?.allowReentry||this.abortController?.abort(),n?.preserveAssistantId&&n.assistantMessageId&&(this.activeAssistantMessageId=n.assistantMessageId);let o=n?.preserveAssistantId?n.assistantMessageId:void 0,r=!1;for(let s of this.messages)s.streaming&&s.id!==o&&(s.streaming=!1,r=!0);r&&this.callbacks.onMessagesChanged([...this.messages]),this.setStreaming(!0);try{await this.client.processStream(e,this.handleEvent,n?.assistantMessageId,n?.seedContent)}catch(s){if(this.status==="resuming"||this.reconnecting)return;this.setStatus("error"),this.webMcpResolveControllers.size===0&&(this.setStreaming(!1),this.abortController=null),this.callbacks.onError?.(s instanceof Error?s:new Error(String(s)))}}wireDefaultWebMcpConfirm(){let e=this.config.webmcp;e?.enabled===!0&&!e.onConfirm&&this.client.setWebMcpConfirmHandler(n=>this.requestWebMcpApproval(n))}requestWebMcpApproval(e){try{if(this.config.webmcp?.autoApprove?.(e)===!0)return Promise.resolve(!0)}catch{}let n={id:`webmcp-${++this.webMcpApprovalSeq}`,status:"pending",agentId:"",executionId:"",toolName:e.toolName,toolType:"webmcp",description:e.description??`Allow the assistant to run ${e.toolName}?`,parameters:e.args},o=`approval-${n.id}`;return this.upsertMessage({id:o,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!1,variant:"approval",approval:n}),new Promise(r=>{this.webMcpApprovalResolvers.set(o,r)})}resolveWebMcpApproval(e,n){let o=this.webMcpApprovalResolvers.get(e);if(!o)return;this.webMcpApprovalResolvers.delete(e);let r=this.messages.find(s=>s.id===e);r?.approval&&this.upsertMessage({...r,approval:{...r.approval,status:n,resolvedAt:Date.now()}}),o(n==="approved")}async resolveApproval(e,n,o){let r=`approval-${e.id}`,s={...e,status:n,resolvedAt:Date.now()},a=this.messages.find(c=>c.id===r),l={id:r,role:"assistant",content:"",createdAt:a?.createdAt??new Date().toISOString(),...a?.sequence!==void 0?{sequence:a.sequence}:{},streaming:!1,variant:"approval",approval:s};this.upsertMessage(l),this.abortController?.abort(),this.abortController=new AbortController,this.setStreaming(!0);let p=this.config.approval,d=p&&typeof p=="object"?p.onDecision:void 0;try{let c;if(d?c=await d({approvalId:e.id,executionId:e.executionId,agentId:e.agentId,toolName:e.toolName},n,o):c=await this.client.resolveApproval({agentId:e.agentId,executionId:e.executionId,approvalId:e.id},n),c){let u=null;if(c instanceof Response){if(!c.ok){let w=await c.json().catch(()=>null);throw new Error(w?.error??`Approval request failed: ${c.status}`)}u=c.body}else c instanceof ReadableStream&&(u=c);u?await this.connectStream(u,{allowReentry:!0}):(n==="denied"&&this.appendMessage({id:`denial-${e.id}`,role:"assistant",content:"Tool execution was denied by user.",createdAt:new Date().toISOString(),streaming:!1,sequence:this.nextSequence()}),this.setStreaming(!1),this.abortController=null)}else this.setStreaming(!1),this.abortController=null}catch(c){let u=c instanceof Error&&(c.name==="AbortError"||c.message.includes("aborted")||c.message.includes("abort"));this.setStreaming(!1),this.abortController=null,u||this.callbacks.onError?.(c instanceof Error?c:new Error(String(c)))}}persistAskUserQuestionProgress(e,n){let o=this.messages.find(r=>r.id===e.id);o&&this.upsertMessage({...o,agentMetadata:{...o.agentMetadata,askUserQuestionAnswers:n.answers,askUserQuestionIndex:n.currentIndex}})}markAskUserQuestionResolved(e,n){let o=this.messages.find(r=>r.id===e.id);o&&this.upsertMessage({...o,agentMetadata:{...o.agentMetadata,awaitingLocalTool:!1,askUserQuestionAnswered:!0,...n?{askUserQuestionAnswers:n}:{}}})}async resolveAskUserQuestion(e,n){if(this.messages.find(c=>c.id===e.id)?.agentMetadata?.askUserQuestionAnswered===!0)return;let r=e.agentMetadata?.executionId,s=e.toolCall?.name;if(!r||!s){this.callbacks.onError?.(new Error("resolveAskUserQuestion: message is missing executionId or toolCall.name"));return}let a=typeof n=="string"?void 0:n;if(a===void 0&&typeof n=="string"){let c=e.toolCall?.args,u=Array.isArray(c?.questions)?c.questions:[];if(u.length===1){let w=typeof u[0]?.question=="string"?u[0].question:"";w&&(a={[w]:n})}}this.markAskUserQuestionResolved(e,a),this.abortController?.abort(),this.abortController=new AbortController,this.setStreaming(!0);let l=e.toolCall.id,p=e.toolCall?.args,d=Array.isArray(p?.questions)?p.questions:[];if(d.length===0){let c=typeof n=="string"?n:Object.entries(n).map(([u,w])=>`${u}: ${Array.isArray(w)?w.join(", "):w}`).join(" | ");this.appendMessage({id:`ask-user-answer-${l}`,role:"user",content:c,createdAt:new Date().toISOString(),streaming:!1,sequence:this.nextSequence()})}else{let c=a??{};d.forEach((u,w)=>{let f=typeof u?.question=="string"?u.question:"";if(!f)return;let v=c[f],C=Array.isArray(v)?v.join(", "):typeof v=="string"?v:"";this.appendMessage({id:`ask-user-q-${l}-${w}`,role:"assistant",content:f,createdAt:new Date().toISOString(),streaming:!1,sequence:this.nextSequence()}),this.appendMessage({id:`ask-user-a-${l}-${w}`,role:"user",content:C||"*Skipped*",createdAt:new Date().toISOString(),streaming:!1,sequence:this.nextSequence()})})}try{let c=await this.client.resumeFlow(r,{[s]:n});if(!c.ok){let u=await c.json().catch(()=>null);throw new Error(u?.error??`Resume failed: ${c.status}`)}c.body?await this.connectStream(c.body,{allowReentry:!0}):(this.setStreaming(!1),this.abortController=null)}catch(c){let u=c instanceof Error&&(c.name==="AbortError"||c.message.includes("aborted")||c.message.includes("abort"));this.setStreaming(!1),this.abortController=null,u||this.callbacks.onError?.(c instanceof Error?c:new Error(String(c)))}}enqueueWebMcpAwait(e){let n=e.agentMetadata?.executionId,o=e.toolCall?.id;if(!n||!o){let s=this.webMcpEpoch;queueMicrotask(()=>{s===this.webMcpEpoch&&this.resolveWebMcpToolCall(e)});return}let r=this.webMcpAwaitBatches.get(n);r||(r={snapshots:[],seen:new Set},this.webMcpAwaitBatches.set(n,r)),!r.seen.has(o)&&(r.seen.add(o),r.snapshots.push(e))}scheduleWebMcpBatchFlush(){if(this.webMcpAwaitBatches.size===0)return;let e=this.webMcpEpoch;queueMicrotask(()=>{if(e===this.webMcpEpoch)for(let n of[...this.webMcpAwaitBatches.keys()])this.flushWebMcpAwaitBatch(n)})}flushWebMcpAwaitBatch(e){let n=this.webMcpAwaitBatches.get(e);if(!n)return;this.webMcpAwaitBatches.delete(e);let{snapshots:o}=n;o.length===1?this.resolveWebMcpToolCall(o[0]):o.length>1&&this.resolveWebMcpToolCallBatch(e,o)}resolveWebMcpToolStartedAt(e){let o=[this.messages.find(r=>r.id===e.id)?.toolCall?.startedAt,e.toolCall?.startedAt];for(let r of o)if(typeof r=="number"&&Number.isFinite(r))return r;return Date.now()}isSuggestRepliesAlreadyResolved(e){return e.toolCall?.name!==Dn?!1:(this.messages.find(o=>o.id===e.id)??e).agentMetadata?.suggestRepliesResolved===!0}markWebMcpToolRunning(e){let n=this.resolveWebMcpToolStartedAt(e);return this.upsertMessage({...e,streaming:!0,agentMetadata:{...e.agentMetadata,awaitingLocalTool:!1},toolCall:e.toolCall?{...e.toolCall,status:"running",startedAt:n,completedAt:void 0,duration:void 0,durationMs:void 0}:e.toolCall}),n}markWebMcpToolComplete(e,n,o,r=Date.now(),s){this.messages.some(a=>a.id===e.id)&&this.upsertMessage({...e,streaming:!1,agentMetadata:{...e.agentMetadata,awaitingLocalTool:!1,...s},toolCall:e.toolCall?{...e.toolCall,status:"complete",result:n,startedAt:o,completedAt:r,duration:void 0,durationMs:Math.max(0,r-o)}:e.toolCall})}async resolveWebMcpToolCallBatch(e,n){let o=[],r=[],s=new AbortController;this.webMcpResolveControllers.add(s),this.setStreaming(!0);let a=await Promise.all(n.map(async p=>{let d=p.toolCall?.name,c=p.toolCall?.id;if(!d||!c)return null;let u=`${e}:${c}`;if(this.webMcpInflightKeys.has(u)||this.webMcpResolvedKeys.has(u)||this.isSuggestRepliesAlreadyResolved(p))return null;this.webMcpInflightKeys.add(u),o.push(u);let w=this.markWebMcpToolRunning(p),f=p.agentMetadata?.webMcpToolCallId??d;if(d===Dn)return{dedupeKey:u,resumeKey:f,output:Fi(),toolMessage:p,startedAt:w,completedAt:Date.now()};let v=new AbortController;this.webMcpResolveControllers.add(v),r.push(v);let C=this.client.executeWebMcpToolCall(d,p.toolCall?.args,v.signal),I;if(!C)I={isError:!0,content:[{type:"text",text:"WebMCP not enabled on this widget."}]};else try{I=await C}catch(B){let k=B instanceof Error&&(B.name==="AbortError"||B.message.includes("aborted")||B.message.includes("abort"));return k||this.callbacks.onError?.(B instanceof Error?B:new Error(String(B))),this.markWebMcpToolComplete(p,Gr(k?"Aborted by cancel()":jd(B)),w),this.webMcpInflightKeys.delete(u),null}return v.signal.aborted?(this.markWebMcpToolComplete(p,Gr("Aborted by cancel()"),w),this.webMcpInflightKeys.delete(u),null):{dedupeKey:u,resumeKey:f,output:I,toolMessage:p,startedAt:w,completedAt:Date.now()}})),l=[];try{if(l=a.filter(c=>c!==null),l.length===0)return;let p={};for(let c of l)p[c.resumeKey]=c.output;let d=await this.client.resumeFlow(e,p,{signal:s.signal});if(!d.ok){let c=await d.json().catch(()=>null);throw new Error(c?.error??`Resume failed: ${d.status}`)}for(let c of l)this.webMcpResolvedKeys.add(c.dedupeKey),this.markWebMcpToolComplete(c.toolMessage,c.output,c.startedAt,c.completedAt,c.toolMessage.toolCall?.name===Dn?{suggestRepliesResolved:!0}:void 0);d.body&&await this.connectStream(d.body,{allowReentry:!0})}catch(p){if(!(p instanceof Error&&(p.name==="AbortError"||p.message.includes("aborted")||p.message.includes("abort"))))this.callbacks.onError?.(p instanceof Error?p:new Error(String(p)));else for(let c of l)this.markWebMcpToolComplete(c.toolMessage,Gr("Aborted by cancel()"),c.startedAt)}finally{for(let p of o)this.webMcpInflightKeys.delete(p);for(let p of r)this.webMcpResolveControllers.delete(p);this.webMcpResolveControllers.delete(s),this.webMcpResolveControllers.size===0&&!this.abortController&&this.setStreaming(!1)}}async resolveWebMcpToolCall(e){let n=e.agentMetadata?.executionId,o=e.toolCall?.name,r=e.toolCall?.id;if(!n){this.callbacks.onError?.(new Error("WebMCP step_await missing executionId: dispatch left paused."));return}if(!o)return;if(!r){let v=`${n}:__no_tool_id__:${o}`;if(this.webMcpInflightKeys.has(v)||this.webMcpResolvedKeys.has(v))return;this.webMcpInflightKeys.add(v);try{await this.resumeWithToolOutput(n,o,{isError:!0,content:[{type:"text",text:"WebMCP step_await missing toolCall.id: cannot execute the page tool."}]}),this.webMcpResolvedKeys.add(v)}catch(C){this.callbacks.onError?.(C instanceof Error?C:new Error(String(C)))}finally{this.webMcpInflightKeys.delete(v)}return}let s=`${n}:${r}`;if(this.webMcpInflightKeys.has(s)||this.webMcpResolvedKeys.has(s)||this.isSuggestRepliesAlreadyResolved(e))return;this.webMcpInflightKeys.add(s);let a=this.markWebMcpToolRunning(e),l=new AbortController;this.webMcpResolveControllers.add(l);let{signal:p}=l;this.setStreaming(!0);let d=o===Dn,c=e.toolCall?.args,u=d?null:this.client.executeWebMcpToolCall(o,c,p),w="execute",f=a;try{let v;if(d?v=Fi():u?v=await u:v={isError:!0,content:[{type:"text",text:"WebMCP not enabled on this widget."}]},f=Date.now(),p.aborted){this.markWebMcpToolComplete(e,Gr("Aborted by cancel()"),a);return}let C=e.agentMetadata?.webMcpToolCallId??o;w="resume",await this.resumeWithToolOutput(n,C,v,{onHttpOk:()=>{this.webMcpResolvedKeys.add(s),this.markWebMcpToolComplete(e,v,a,f,d?{suggestRepliesResolved:!0}:void 0)},signal:p})}catch(v){let C=v instanceof Error&&(v.name==="AbortError"||v.message.includes("aborted")||v.message.includes("abort"));(w==="execute"||C||p.aborted)&&this.markWebMcpToolComplete(e,Gr(C||p.aborted?"Aborted by cancel()":jd(v)),a),C||this.callbacks.onError?.(v instanceof Error?v:new Error(String(v)))}finally{this.webMcpInflightKeys.delete(s),this.webMcpResolveControllers.delete(l),this.webMcpResolveControllers.size===0&&!this.abortController&&this.setStreaming(!1)}}async resumeWithToolOutput(e,n,o,r){let s=await this.client.resumeFlow(e,{[n]:o},{signal:r?.signal});if(!s.ok){let a=await s.json().catch(()=>null);throw new Error(a?.error??`Resume failed: ${s.status}`)}r?.onHttpOk?.(),s.body?await this.connectStream(s.body,{allowReentry:!0}):this.webMcpResolveControllers.size===0&&(this.setStreaming(!1),this.abortController=null)}abortWebMcpResolves(){for(let e of this.webMcpResolveControllers)e.abort();this.webMcpResolveControllers.clear();for(let e of[...this.webMcpApprovalResolvers.keys()])this.resolveWebMcpApproval(e,"denied");this.webMcpAwaitBatches.clear(),this.webMcpEpoch++}cancel(){this.abortController?.abort(),this.abortController=null,this.teardownReconnect(),this.abortWebMcpResolves(),this.webMcpInflightKeys.clear(),this.stopSpeaking(),this.stopVoicePlayback(),this.setStreaming(!1),this.setStatus("idle")}clearMessages(){this.stopSpeaking(),this.abortController?.abort(),this.abortController=null,this.teardownReconnect(),this.abortWebMcpResolves(),this.messages=[],this.agentExecution=null,this.clearArtifactState(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear(),this.client.resetClientToolsFingerprint(),this.setStreaming(!1),this.setStatus("idle"),this.callbacks.onMessagesChanged([...this.messages])}getArtifacts(){return[...this.artifacts.values()]}getArtifactById(e){return this.artifacts.get(e)}getSelectedArtifactId(){return this.selectedArtifactId}selectArtifact(e){this.selectedArtifactId=e,this.emitArtifactsState()}clearArtifacts(){this.clearArtifactState()}upsertArtifact(e){let n=e.id||`art_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,o=e.artifactType==="markdown"?{id:n,artifactType:"markdown",title:e.title,status:"complete",markdown:e.content,...e.file?{file:e.file}:{}}:{id:n,artifactType:"component",title:e.title,status:"complete",component:e.component,props:e.props??{}};return this.artifacts.set(n,o),this.selectedArtifactId=n,this.emitArtifactsState(),e.transcript!==!1&&this.injectArtifactRefBlock(o),o}injectArtifactRefBlock(e){let n=`artifact-ref-${e.id}`,o=So(this.config.features?.artifacts,e.artifactType),r=Js(o,{artifactId:e.id,title:e.title,artifactType:e.artifactType,status:"complete",...e.file?{file:e.file}:{},...e.component?{component:e.component}:{},...e.props?{componentProps:e.props}:{},...e.markdown!==void 0?{markdown:e.markdown}:{}}),s=this.messages.find(a=>a.id===n);if(s){s.rawContent=r,s.streaming=!1,this.callbacks.onMessagesChanged([...this.messages]);return}this.injectAssistantMessage({id:n,content:"",rawContent:r})}clearArtifactState(){this.artifacts.size===0&&this.selectedArtifactId===null||(this.artifacts.clear(),this.selectedArtifactId=null,this.emitArtifactsState())}emitArtifactsState(){this.callbacks.onArtifactsState?.({artifacts:[...this.artifacts.values()],selectedId:this.selectedArtifactId})}applyArtifactStreamEvent(e){switch(e.type){case"artifact_start":{e.artifactType==="markdown"?this.artifacts.set(e.id,{id:e.id,artifactType:"markdown",title:e.title,status:"streaming",markdown:"",...e.file?{file:e.file}:{}}):this.artifacts.set(e.id,{id:e.id,artifactType:"component",title:e.title,status:"streaming",component:e.component??"",props:{}}),this.selectedArtifactId=e.id;break}case"artifact_delta":{let n=this.artifacts.get(e.id);n?.artifactType==="markdown"&&(n.markdown=(n.markdown??"")+e.artDelta);break}case"artifact_update":{let n=this.artifacts.get(e.id);n?.artifactType==="component"&&(n.props={...n.props,...e.props},e.component&&(n.component=e.component));break}case"artifact_complete":{let n=this.artifacts.get(e.id);n&&(n.status="complete");break}default:return}this.emitArtifactsState()}hydrateMessages(e){this.abortController?.abort(),this.abortController=null,this.teardownReconnect(),this.abortWebMcpResolves(),this.webMcpInflightKeys.clear(),this.webMcpResolvedKeys.clear(),this.messages=this.sortMessages(e.map(n=>({...n,streaming:!1,sequence:n.sequence??this.nextSequence()}))),this.setStreaming(!1),this.setStatus("idle"),this.callbacks.onMessagesChanged([...this.messages])}hydrateArtifacts(e,n=null){this.artifacts.clear();for(let o of e)this.artifacts.set(o.id,{...o,status:"complete"});this.selectedArtifactId=n,this.emitArtifactsState()}trackCursor(e){let n=this.agentExecution?.executionId;if(!n||!this.activeAssistantMessageId||this.agentExecution?.status!=="running")return;let o=this.resumable===null;this.resumable={executionId:n,lastEventId:e,assistantMessageId:this.activeAssistantMessageId,status:"running"},this.notifyExecutionState(o)}isDurableDrop(){return this.resumable!==null&&typeof this.config.reconnectStream=="function"&&this.abortController?.signal.aborted!==!0&&this.webMcpResolveControllers.size===0&&this.webMcpAwaitBatches.size===0&&!this.isAwaitPending()}isAwaitPending(){return this.messages.some(e=>e.agentMetadata?.awaitingLocalTool===!0&&e.agentMetadata?.askUserQuestionAnswered!==!0||e.variant==="approval"&&e.approval?.status==="pending")}beginReconnect(){this.reconnecting||!this.resumable||typeof this.config.reconnectStream!="function"||(this.reconnecting=!0,this.callbacks.onReconnect?.({phase:"paused",handle:this.resumable}),this.setStreaming(!0),this.setStatus("resuming"),this.loadReconnectController().then(e=>{this.reconnecting&&this.resumable&&e.begin()}))}loadReconnectController(){return this.reconnectController?Promise.resolve(this.reconnectController):(this.reconnectControllerPromise||(this.reconnectControllerPromise=import("./session-reconnect-JKIJBHS5.js").then(({createReconnectController:e})=>{let n=e(this.buildReconnectHost());return this.reconnectController=n,n})),this.reconnectControllerPromise)}buildReconnectHost(){let e=this;return{get config(){return e.config},getResumable:()=>e.resumable,clearResumable:()=>e.clearResumable(),getStatus:()=>e.status,setStatus:n=>e.setStatus(n),setStreaming:n=>e.setStreaming(n),setReconnecting:n=>{e.reconnecting=n},setAbortController:n=>{e.abortController=n},getMessages:()=>e.messages,notifyMessagesChanged:()=>e.callbacks.onMessagesChanged([...e.messages]),resumeConnect:(n,o,r)=>e.connectStream(n,{assistantMessageId:o,allowReentry:!0,preserveAssistantId:!0,seedContent:r}),appendMessage:n=>e.appendMessage(n),nextSequence:()=>e.nextSequence(),emitReconnect:n=>e.callbacks.onReconnect?.(n),buildErrorContent:n=>ji(new Error(n),e.config.errorMessage),onError:n=>e.callbacks.onError?.(n)}}reconnectNow(){if(this.reconnecting){this.reconnectController?.wake();return}this.beginReconnect()}resumeFromHandle(e){if(typeof this.config.reconnectStream!="function"||this.reconnecting)return;let n=this.reopenTrailingAssistant();n||(n=Yo(),this.appendMessage({id:n,role:"assistant",content:"",createdAt:new Date().toISOString(),streaming:!0,sequence:this.nextSequence()})),this.activeAssistantMessageId=n,this.agentExecution||(this.agentExecution={executionId:e.executionId,agentId:"",agentName:"",status:"running",currentIteration:0,maxTurns:0}),this.resumable={executionId:e.executionId,lastEventId:e.after,assistantMessageId:n,status:"running"},this.beginReconnect()}reopenTrailingAssistant(){for(let e=this.messages.length-1;e>=0;e--){let n=this.messages[e];if(n.role==="assistant"&&!n.variant)return n.streaming=!0,this.callbacks.onMessagesChanged([...this.messages]),n.id;if(n.role==="user")break}return null}teardownReconnect(){this.reconnecting=!1,this.reconnectController?.teardown(),this.clearResumable()}clearResumable(){this.executionStateTimer&&(clearTimeout(this.executionStateTimer),this.executionStateTimer=null);let e=this.resumable!==null;this.resumable=null,e&&this.config.onExecutionState?.(null)}notifyExecutionState(e){let n=this.config.onExecutionState;if(n){if(e){this.executionStateTimer&&(clearTimeout(this.executionStateTimer),this.executionStateTimer=null),n(this.resumable);return}this.executionStateTimer||(this.executionStateTimer=setTimeout(()=>{this.executionStateTimer=null,this.config.onExecutionState?.(this.resumable)},500))}}getResumableHandle(){return this.resumable}setStatus(e){this.status!==e&&(this.status=e,this.callbacks.onStatusChanged(e))}setStreaming(e){if(this.streaming===e)return;let n=this.streaming;this.streaming=e,this.callbacks.onStreamingChanged(e),n&&!e&&this.speakLatestAssistantMessage()}speakLatestAssistantMessage(){let e=this.config.textToSpeech;if(!e?.enabled||!(!e.provider||e.provider==="browser"||e.provider==="runtype"&&e.browserFallback))return;let o=[...this.messages].reverse().find(s=>s.role==="assistant"&&s.content&&!s.voiceProcessing);if(!o)return;if(this.ttsSpokenMessageIds.has(o.id)){this.ttsSpokenMessageIds.delete(o.id);return}let r=zi(o.content);r.trim()&&this.readAloud.play(o.id,{text:r,voice:e.voice,rate:e.rate,pitch:e.pitch})}static pickBestVoice(e){return ca(e)}toggleReadAloud(e){let n=this.messages.find(s=>s.id===e);if(!n||n.role!=="assistant")return;let o=zi(n.content||"");if(!o.trim())return;let r=this.config.textToSpeech;this.readAloud.toggle(e,{text:o,voice:r?.voice,rate:r?.rate,pitch:r?.pitch})}getReadAloudState(e){return this.readAloud.stateFor(e)}onReadAloudChange(e){return this.readAloud.onChange(e)}stopSpeaking(){this.readAloud.stop(),typeof window<"u"&&"speechSynthesis"in window&&window.speechSynthesis.cancel()}appendMessage(e){let n=this.ensureSequence(e);this.messages=this.sortMessages([...this.messages,n]),this.callbacks.onMessagesChanged([...this.messages])}upsertMessage(e){let n=this.ensureSequence(e),o=this.messages.findIndex(r=>r.id===n.id);if(o===-1){this.appendMessage(n);return}this.messages=this.messages.map((r,s)=>{if(s!==o)return r;let a={...r,...n};if(r.agentMetadata?.askUserQuestionAnswered===!0&&n.agentMetadata&&(a.agentMetadata={...n.agentMetadata,askUserQuestionAnswered:!0,...r.agentMetadata.askUserQuestionAnswers?{askUserQuestionAnswers:r.agentMetadata.askUserQuestionAnswers}:{},awaitingLocalTool:!1}),r.agentMetadata?.suggestRepliesResolved===!0&&n.agentMetadata&&(a.agentMetadata={...a.agentMetadata??n.agentMetadata,suggestRepliesResolved:!0,awaitingLocalTool:!1}),r.approval&&n.approval&&r.approval.id===n.approval.id){let c=r.approval,u=n.approval;a.approval={...c,...u,executionId:u.executionId||c.executionId,toolName:u.toolName||c.toolName,description:u.description||c.description,toolType:u.toolType??c.toolType,reason:u.reason??c.reason,parameters:u.parameters??c.parameters}}let l=n.toolCall?.name,p=n.agentMetadata?.executionId,d=n.toolCall?.id;if(l&&qd(l)&&p&&d&&n.agentMetadata?.awaitingLocalTool===!0){let c=`${p}:${d}`,u=this.webMcpInflightKeys.has(c),w=this.webMcpResolvedKeys.has(c),f=r.toolCall?.name,v=r.agentMetadata?.executionId===p&&r.toolCall?.id===d&&f!==void 0&&qd(f)&&r.toolCall?.status==="complete";(u||w||v)&&(a.agentMetadata={...a.agentMetadata??{},awaitingLocalTool:!1},a.toolCall=r.toolCall,a.streaming=r.streaming)}return a}),this.messages=this.sortMessages(this.messages),this.callbacks.onMessagesChanged([...this.messages])}ensureSequence(e){return e.sequence!==void 0?{...e}:{...e,sequence:this.nextSequence()}}nextSequence(){return this.sequenceCounter++}sortMessages(e){return[...e].sort((n,o)=>{let r=new Date(n.createdAt).getTime(),s=new Date(o.createdAt).getTime();if(!Number.isNaN(r)&&!Number.isNaN(s)&&r!==s)return r-s;let a=n.sequence??0,l=o.sequence??0;return a!==l?a-l:n.id.localeCompare(o.id)})}};var pa={allowedTypes:Fn,maxFileSize:10*1024*1024,maxFiles:4};function Gg(){return`attach_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}function Qg(t){return t==="application/pdf"||t.startsWith("text/")||t.includes("word")?"file-text":t.includes("excel")||t.includes("spreadsheet")?"file-spreadsheet":t==="application/json"?"file-code":"file"}var Qr=class t{constructor(e={}){this.attachments=[];this.previewsContainer=null;this.config={allowedTypes:e.allowedTypes??pa.allowedTypes,maxFileSize:e.maxFileSize??pa.maxFileSize,maxFiles:e.maxFiles??pa.maxFiles,onFileRejected:e.onFileRejected,onAttachmentsChange:e.onAttachmentsChange}}setPreviewsContainer(e){this.previewsContainer=e}updateConfig(e){e.allowedTypes!==void 0&&(this.config.allowedTypes=e.allowedTypes.length>0?e.allowedTypes:pa.allowedTypes),e.maxFileSize!==void 0&&(this.config.maxFileSize=e.maxFileSize),e.maxFiles!==void 0&&(this.config.maxFiles=e.maxFiles),e.onFileRejected!==void 0&&(this.config.onFileRejected=e.onFileRejected),e.onAttachmentsChange!==void 0&&(this.config.onAttachmentsChange=e.onAttachmentsChange)}getAttachments(){return[...this.attachments]}getContentParts(){return this.attachments.map(e=>e.contentPart)}hasAttachments(){return this.attachments.length>0}count(){return this.attachments.length}async handleFileSelect(e){!e||e.length===0||await this.handleFiles(Array.from(e))}async handleFiles(e){if(e.length){for(let n of e){if(this.attachments.length>=this.config.maxFiles){this.config.onFileRejected?.(n,"count");continue}let o=Nd(n,this.config.allowedTypes,this.config.maxFileSize);if(!o.valid){let r=o.error?.includes("type")?"type":"size";this.config.onFileRejected?.(n,r);continue}try{let r=await Fd(n),s=la(n)?URL.createObjectURL(n):null,a={id:Gg(),file:n,previewUrl:s,contentPart:r};this.attachments.push(a),this.renderPreview(a)}catch(r){console.error("[AttachmentManager] Failed to process file:",r)}}this.updatePreviewsVisibility(),this.config.onAttachmentsChange?.(this.getAttachments())}}removeAttachment(e){let n=this.attachments.findIndex(s=>s.id===e);if(n===-1)return;let o=this.attachments[n];o.previewUrl&&URL.revokeObjectURL(o.previewUrl),this.attachments.splice(n,1);let r=this.previewsContainer?.querySelector(`[data-attachment-id="${e}"]`);r&&r.remove(),this.updatePreviewsVisibility(),this.config.onAttachmentsChange?.(this.getAttachments())}clearAttachments(){for(let e of this.attachments)e.previewUrl&&URL.revokeObjectURL(e.previewUrl);this.attachments=[],this.previewsContainer&&(this.previewsContainer.innerHTML=""),this.updatePreviewsVisibility(),this.config.onAttachmentsChange?.(this.getAttachments())}renderPreview(e){if(!this.previewsContainer)return;let n=la(e.file),o=h("div","persona-attachment-preview persona-relative persona-inline-block");if(o.setAttribute("data-attachment-id",e.id),o.style.width="48px",o.style.height="48px",n&&e.previewUrl){let a=h("img");a.src=e.previewUrl,a.alt=e.file.name,a.className="persona-w-full persona-h-full persona-object-cover persona-rounded-lg persona-border persona-border-gray-200",a.style.width="48px",a.style.height="48px",a.style.objectFit="cover",a.style.borderRadius="8px",o.appendChild(a)}else{let a=h("div");a.style.width="48px",a.style.height="48px",a.style.borderRadius="8px",a.style.backgroundColor="var(--persona-container, #f3f4f6)",a.style.border="1px solid var(--persona-border, #e5e7eb)",a.style.display="flex",a.style.flexDirection="column",a.style.alignItems="center",a.style.justifyContent="center",a.style.gap="2px",a.style.overflow="hidden";let l=Qg(e.file.type),p=re(l,20,"var(--persona-muted, #6b7280)",1.5);p&&a.appendChild(p);let d=h("span");d.textContent=Od(e.file.type,e.file.name),d.style.fontSize="8px",d.style.fontWeight="600",d.style.color="var(--persona-muted, #6b7280)",d.style.textTransform="uppercase",d.style.lineHeight="1",a.appendChild(d),o.appendChild(a)}let r=h("button","persona-attachment-remove persona-absolute persona-flex persona-items-center persona-justify-center");r.type="button",r.setAttribute("aria-label","Remove attachment"),r.style.position="absolute",r.style.top="-4px",r.style.right="-4px",r.style.width="18px",r.style.height="18px",r.style.borderRadius="50%",r.style.backgroundColor="var(--persona-palette-colors-black-alpha-60, rgba(0, 0, 0, 0.6))",r.style.border="none",r.style.cursor="pointer",r.style.display="flex",r.style.alignItems="center",r.style.justifyContent="center",r.style.padding="0";let s=re("x",10,"var(--persona-text-inverse, #ffffff)",2);s?r.appendChild(s):(r.textContent="\xD7",r.style.color="var(--persona-text-inverse, #ffffff)",r.style.fontSize="14px",r.style.lineHeight="1"),r.addEventListener("click",a=>{a.preventDefault(),a.stopPropagation(),this.removeAttachment(e.id)}),o.appendChild(r),this.previewsContainer.appendChild(o)}updatePreviewsVisibility(){this.previewsContainer&&(this.previewsContainer.style.display=this.attachments.length>0?"flex":"none")}static fromConfig(e,n){return new t({allowedTypes:e?.allowedTypes,maxFileSize:e?.maxFileSize,maxFiles:e?.maxFiles,onFileRejected:e?.onFileRejected,onAttachmentsChange:n})}};var Pt={idle:"Online",connecting:"Connecting\u2026",connected:"Streaming\u2026",error:"Offline",paused:"Connection lost\u2026",resuming:"Reconnecting\u2026"},zt=1e5,ua=zt+1;var Xg=8,Jg=8,qi=10,Vi=new WeakMap,Vd=t=>t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in t,Yg=t=>{let e=t.getRootNode?.();return Vd(e)?e:t.ownerDocument.body},Ki=(t,e,n)=>Math.min(Math.max(t,e),Math.max(e,n));function Dt(t){Vi.get(t.anchor)?.destroy();let{anchor:e,trigger:n=e,text:o,enabled:r=!0,gap:s=Xg,viewportPadding:a=Jg}=t,l=()=>e.ownerDocument,p=()=>l().defaultView??window,d=null,c=null,u=null,w=!1,f=!1,v=!1,C=()=>(typeof o=="function"?o():o).trim(),I=()=>{u?.(),u=null,d?.remove(),d=null,c=null},B=()=>{if(!d)return;let J=l(),D=p(),F=e.getBoundingClientRect(),ie=d.getBoundingClientRect(),ge=J.documentElement.clientWidth||D.innerWidth,Ce=J.documentElement.clientHeight||D.innerHeight,we=ge-a-ie.width,ee=F.left+F.width/2-ie.width/2,ce=Ki(ee,a,we),Y=F.top-a,ae=Ce-a-F.bottom,Z=ie.height+s,he=Y>=Z||Y>=ae?"top":"bottom",ye=he==="top"?F.top-s-ie.height:F.bottom+s,pe=Ce-a-ie.height,Te=Ki(ye,a,pe),Ae=F.left+F.width/2,$e=Math.max(qi,ie.width-qi),Fe=Ki(Ae-ce,qi,$e);d.dataset.placement=he,d.style.left=`${ce}px`,d.style.top=`${Te}px`,d.style.setProperty("--persona-tooltip-arrow-x",`${Fe}px`)},k=()=>{if(v||!r||d||!e.isConnected)return;let J=C(),D=Yg(e);if(!J||!D)return;let F=l(),ie=p();d=F.createElement("div"),d.className="persona-control-tooltip",d.setAttribute("role","tooltip"),d.dataset.state="measuring",d.style.zIndex=String(ua),c=F.createElement("span"),c.className="persona-control-tooltip__label",c.textContent=J,d.appendChild(c);let ge=F.createElement("span");ge.className="persona-control-tooltip__arrow",d.appendChild(ge),D.appendChild(d),B(),d.dataset.state="open";let Ce=()=>{if(!e.isConnected){I();return}c&&(c.textContent=C()),B()};ie.addEventListener("scroll",Ce,!0),ie.addEventListener("resize",Ce);let we=e.getRootNode(),ee=Vd(we)?we:F.documentElement,ce=typeof MutationObserver>"u"?null:new MutationObserver(()=>{e.isConnected||I()});ce?.observe(ee,{childList:!0,subtree:!0}),u=()=>{ie.removeEventListener("scroll",Ce,!0),ie.removeEventListener("resize",Ce),ce?.disconnect()}},M=()=>{w||f?k():I()},P=()=>{let J=p();(!J.matchMedia||!J.matchMedia("(hover: none)").matches)&&(w=!0,M())},z=()=>{w=!1,M()},K=()=>{f=!0,M()},x=()=>{f=!1,M()},U=J=>{J.key==="Escape"&&(w=!1,f=!1,I())};n.addEventListener("mouseenter",P),n.addEventListener("mouseleave",z),e.addEventListener("focus",K),e.addEventListener("blur",x),e.addEventListener("keydown",U);let j={get isOpen(){return d!==null},show:k,hide:I,reposition:B,destroy:()=>{v||(v=!0,I(),n.removeEventListener("mouseenter",P),n.removeEventListener("mouseleave",z),e.removeEventListener("focus",K),e.removeEventListener("blur",x),e.removeEventListener("keydown",U),Vi.delete(e))}};return Vi.set(e,j),j}function Kd(t){let{config:e,onOpen:n}=t,o=t.buttonSize??"40px",r=parseFloat(o)||40,s=Math.round(r*.6),a=e.buttonIconName??"plus",l=e.buttonTooltipText??"Add context",p=h("div","persona-send-button-wrapper"),d=Ne("button",{className:"persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-mention-button",attrs:{type:"button","data-persona-composer-mention-button":"","aria-label":l,"aria-haspopup":"listbox","aria-expanded":"false"},style:{width:o,height:o,minWidth:o,minHeight:o,fontSize:"18px",lineHeight:"1"}}),c=re(a,s,"currentColor",1.5);return c?d.appendChild(c):d.textContent="+",d.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),n()}),p.appendChild(d),Dt({anchor:d,trigger:p,text:()=>d.getAttribute("aria-label")??l}),{button:d,wrapper:p}}var{setLoader:vv,load:Zg}=Vo({fallbackImport:()=>import("./context-mentions-ONG7A7M6.js")});var Gi=Zg;var{setLoader:Cv,load:em}=Vo({fallbackImport:()=>import("./context-mentions-inline-TTCN7ZM2.js"),resetOnSetLoader:!0});var Gd=em;function Xr(t,e={}){if(e.render)return e.render({ref:t,readonly:!!e.readonly});let n=Ne("span",{className:Wn("persona-mention-token",e.readonly&&"persona-mention-token-readonly"),attrs:{"data-mention-source":t.sourceId,title:t.label,role:"img","aria-label":`${t.label} mention`}});t.color&&n.style.setProperty("--persona-mention-token-accent",t.color);let o=re(t.iconName??"at-sign",13,"currentColor",2);if(o){let r=h("span","persona-mention-token-icon");r.appendChild(o),n.appendChild(r)}return n.appendChild(Ne("span",{className:"persona-mention-token-label",text:`@${t.label}`})),n}function Qd(t){let e=t.config.contextMentions;if(!e?.enabled)return null;let n=Gc(e).filter(M=>M.sources.length>0);if(n.length===0)return typeof console<"u"&&console.warn("[Persona] contextMentions.enabled is true but no sources were provided; mentions are disabled."),null;let o=n.filter(M=>M.sources.some(P=>typeof P.matchCommand=="function")),r=M=>o.some(P=>P.trigger?P.position==="line-start"?M.split(`
|
|
23
23
|
`).some(K=>K.startsWith(P.trigger)):(P.position==="anywhere"?M:M.split(`
|
|
24
|
-
`)[0]).startsWith(P.trigger):!1),s=(M,P)=>{if(!(typeof window>"u"))try{window.dispatchEvent(new CustomEvent(`persona:mention:${M}`,{detail:P}))}catch{}},a=Ne("div",{className:"persona-mention-context-row",attrs:{"data-persona-mention-context-row":""}}),l=null,p=null,d=t.textarea,c=null,u=null,w=null,f=null,v=()=>{if(l)return Promise.resolve(l);if(p)return p;let M=Gi().then(P=>(l=P.mountContextMentions({mentionConfig:e,textarea:t.textarea,composerInput:c??void 0,anchor:t.anchor,contextRow:a,getMessages:t.getMessages,getConfig:()=>t.config,liveRegionHost:t.liveRegionHost,popoverContainer:t.popoverContainer,onPickerOpenChange:k,emit:s}),l)).catch(P=>(typeof console<"u"&&console.warn("[Persona] Failed to load context mentions runtime",P),p===M&&(p=null),null));return p=M,M},C=()=>{Gd().then(M=>{let P=M.mountInlineComposer({textarea:t.textarea,renderToken:K=>Xr(K,{render:e.renderMentionToken}),onMentionRemoved:K=>l?.untrackMention(K)});c=P.input,u=P.destroy;let z=d;z.replaceWith(P.element),d=P.element,f={next:P.element,prev:z},w?.(P.element,z),l?l.rebindComposer(P.input):p&&p.then(K=>K?.rebindComposer(P.input))}).catch(M=>{typeof console<"u"&&console.warn("[Persona] Failed to load inline mention composer",M)})};e.display==="inline"&&C();let I=[],B=new Map;for(let M of n){if(!M.showButton)continue;let P=Kd({config:{...e,buttonIconName:M.buttonIconName,buttonTooltipText:M.buttonTooltipText},buttonSize:t.config.sendButton?.size,onOpen:()=>{v().then(z=>z?.openMenu(M.trigger))}});I.push(P),B.set(M.trigger,P.button)}let k=(M,P,z)=>{let K=B.get(P);K&&(K.setAttribute("aria-expanded",M?"true":"false"),M?K.setAttribute("aria-controls",z):K.removeAttribute("aria-controls"))};return{affordanceButtons:I.map(M=>M.wrapper),contextRow:a,handleInput:M=>{if(l){l.handleInput();return}if(!Kc(M))return;let P=d,z=P.selectionStart??0;Vc(P.value,z,n)&&v().then(K=>K?.handleInput())},handleKeydown:M=>{if(l?.isMenuOpen())return l.handleKeydown(M);if(M.key==="Backspace"&&l?.hasMentions()&&!f){let P=d,z=P.selectionStart===0&&P.selectionEnd===0;if((P.value.length===0||z)&&l.removeLastChip())return M.preventDefault(),!0}return!1},isMenuOpen:()=>l?.isMenuOpen()??!1,hasMentions:()=>l?.hasMentions()??!1,collectForSubmit:()=>l?.collectForSubmit()??null,takeInlineCommand:async M=>r(M)?(l??await v())?.dispatchInlineCommand(M)??null:null,clear:()=>l?.clear(),prefetch:()=>{Gi().catch(()=>{})},onComposerSwap:M=>{w=M,f&&M(f.next,f.prev)},destroy:()=>{l?.destroy(),u?.();for(let M of I)M.wrapper.remove();a.remove()}}}var Xd=t=>typeof t=="object"&&t!==null&&!Array.isArray(t);function Jr(t,e){if(!t)return e;if(!e)return t;let n={...t};for(let[o,r]of Object.entries(e)){let s=n[o];Xd(s)&&Xd(r)?n[o]=Jr(s,r):n[o]=r}return n}var Nn="min(440px, calc(100vw - 24px))",Yd="440px",tm={enabled:!0,mountMode:"floating",dock:{side:"right",width:"420px"},title:"Chat Assistant",subtitle:"Here to help you get answers fast",agentIconText:"\u{1F4AC}",agentIconName:"bot",headerIconName:"bot",position:"bottom-right",width:Nn,heightOffset:0,autoExpand:!1,callToActionIconHidden:!1,agentIconSize:"40px",headerIconSize:"40px",closeButtonSize:"32px",closeButtonPaddingX:"0px",closeButtonPaddingY:"0px",callToActionIconName:"arrow-up-right",callToActionIconText:"",callToActionIconSize:"32px",callToActionIconPadding:"5px",callToActionIconColor:void 0,callToActionIconBackgroundColor:void 0,closeButtonBackgroundColor:"transparent",clearChat:{backgroundColor:"transparent",borderColor:"transparent",enabled:!0,placement:"inline",iconName:"refresh-cw",size:"32px",showTooltip:!0,tooltipText:"Clear chat",paddingX:"0px",paddingY:"0px"},headerIconHidden:!1,border:void 0,shadow:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)"},it={apiUrl:"https://api.runtype.com/api/chat/dispatch",clientToken:void 0,agentId:void 0,target:void 0,theme:void 0,darkTheme:void 0,colorScheme:"light",launcher:tm,copy:{welcomeTitle:"Hello \u{1F44B}",welcomeSubtitle:"Ask anything about your account or products.",inputPlaceholder:"How can I help...",sendButtonLabel:"Send"},sendButton:{borderWidth:"0px",paddingX:"12px",paddingY:"10px",borderColor:void 0,useIcon:!0,iconText:"\u2191",size:"40px",showTooltip:!0,tooltipText:"Send message",iconName:"send"},statusIndicator:{visible:!0,idleText:"Online",connectingText:"Connecting\u2026",connectedText:"Streaming\u2026",errorText:"Offline"},voiceRecognition:{enabled:!0,pauseDuration:2e3,iconName:"mic",iconSize:"39px",borderWidth:"0px",paddingX:"9px",paddingY:"14px",iconColor:void 0,backgroundColor:"transparent",borderColor:"transparent",recordingIconColor:void 0,recordingBackgroundColor:void 0,recordingBorderColor:"transparent",showTooltip:!0,tooltipText:"Start voice recognition"},features:{showReasoning:!0,showToolCalls:!0,scrollToBottom:{enabled:!0,iconName:"arrow-down",label:""},scrollBehavior:{mode:"anchor-top",anchorTopOffset:16,showActivityWhilePinned:!0},toolCallDisplay:{collapsedMode:"tool-call",activePreview:!1,grouped:!1,groupedMode:"stack",previewMaxLines:3,expandable:!0,loadingAnimation:"none"},reasoningDisplay:{activePreview:!1,previewMaxLines:3,expandable:!0,loadingAnimation:"none"},streamAnimation:{type:"none",placeholder:"none",speed:120,duration:1800},askUserQuestion:{enabled:!0,slideInMs:180,freeTextLabel:"Other\u2026",freeTextPlaceholder:"Type your answer\u2026",submitLabel:"Send"}},suggestionChips:["What can you help me with?","Tell me about your features","How does this work?"],suggestionChipsConfig:{fontFamily:"sans-serif",fontWeight:"500",paddingX:"12px",paddingY:"6px"},layout:{header:{layout:"default",showIcon:!0,showTitle:!0,showSubtitle:!0,showCloseButton:!0,showClearChat:!0},messages:{layout:"bubble",avatar:{show:!1,position:"left"},timestamp:{show:!1,position:"below"},groupConsecutive:!1},slots:{}},markdown:{options:{gfm:!0,breaks:!0},disableDefaultStyles:!1},messageActions:{enabled:!0,showCopy:!0,showUpvote:!1,showDownvote:!1,visibility:"hover",align:"right",layout:"pill-inside"},debug:!1};function Jd(t,e){if(!(!t&&!e))return t?e?Jr(t,e):t:e}function fa(t){return t?{...it,...t,theme:Jd(it.theme,t.theme),darkTheme:Jd(it.darkTheme,t.darkTheme),launcher:{...it.launcher,...t.launcher,dock:{...it.launcher?.dock,...t.launcher?.dock},clearChat:{...it.launcher?.clearChat,...t.launcher?.clearChat}},copy:{...it.copy,...t.copy},sendButton:{...it.sendButton,...t.sendButton},statusIndicator:{...it.statusIndicator,...t.statusIndicator},voiceRecognition:{...it.voiceRecognition,...t.voiceRecognition},features:(()=>{let e=it.features?.artifacts,n=t.features?.artifacts,o=it.features?.scrollToBottom,r=t.features?.scrollToBottom,s=it.features?.scrollBehavior,a=t.features?.scrollBehavior,l=it.features?.streamAnimation,p=t.features?.streamAnimation,d=it.features?.askUserQuestion,c=t.features?.askUserQuestion,u=e===void 0&&n===void 0?void 0:{...e,...n,layout:{...e?.layout,...n?.layout}},w=o===void 0&&r===void 0?void 0:{...o,...r},f=s===void 0&&a===void 0?void 0:{...s,...a},v=l===void 0&&p===void 0?void 0:{...l,...p},C=d===void 0&&c===void 0?void 0:{...d,...c,styles:{...d?.styles,...c?.styles}};return{...it.features,...t.features,...w!==void 0?{scrollToBottom:w}:{},...f!==void 0?{scrollBehavior:f}:{},...u!==void 0?{artifacts:u}:{},...v!==void 0?{streamAnimation:v}:{},...C!==void 0?{askUserQuestion:C}:{}}})(),suggestionChips:t.suggestionChips??it.suggestionChips,suggestionChipsConfig:{...it.suggestionChipsConfig,...t.suggestionChipsConfig},layout:{...it.layout,...t.layout,header:{...it.layout?.header,...t.layout?.header},messages:{...it.layout?.messages,...t.layout?.messages,avatar:{...it.layout?.messages?.avatar,...t.layout?.messages?.avatar},timestamp:{...it.layout?.messages?.timestamp,...t.layout?.messages?.timestamp}},slots:{...it.layout?.slots,...t.layout?.slots}},markdown:{...it.markdown,...t.markdown,options:{...it.markdown?.options,...t.markdown?.options}},messageActions:{...it.messageActions,...t.messageActions}}:it}var ga="16px",ma="transparent",nm={colors:{primary:{50:"#ffffff",100:"#f5f5f5",200:"#d4d4d4",300:"#a3a3a3",400:"#737373",500:"#171717",600:"#0f0f0f",700:"#0a0a0a",800:"#050505",900:"#030303",950:"#000000"},secondary:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"},accent:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63",950:"#083344"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827",950:"#030712"},success:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d"},warning:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12"},error:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d"},info:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"}},spacing:{0:"0px",1:"0.25rem",2:"0.5rem",3:"0.75rem",4:"1rem",5:"1.25rem",6:"1.5rem",8:"2rem",10:"2.5rem",12:"3rem",16:"4rem",20:"5rem",24:"6rem",32:"8rem",40:"10rem",48:"12rem",56:"14rem",64:"16rem"},typography:{fontFamily:{sans:'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',serif:'Georgia, Cambria, "Times New Roman", Times, serif',mono:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace"},fontSize:{xs:"0.75rem",sm:"0.875rem",base:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.875rem","4xl":"2.25rem"},fontWeight:{normal:"400",medium:"500",semibold:"600",bold:"700"},lineHeight:{tight:"1.25",normal:"1.5",relaxed:"1.625"}},shadows:{none:"none",sm:"0 1px 2px 0 rgb(0 0 0 / 0.05)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)","2xl":"0 25px 50px -12px rgb(0 0 0 / 0.25)"},borders:{none:"none",sm:"1px solid",md:"2px solid",lg:"4px solid"},radius:{none:"0px",sm:"0.125rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem",full:"9999px"}},om={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"}},rm={button:{primary:{background:"palette.colors.primary.500",foreground:"palette.colors.primary.50",borderRadius:"palette.radius.lg",padding:"semantic.spacing.md"},secondary:{background:"semantic.colors.surface",foreground:"semantic.colors.secondary",borderRadius:"palette.radius.lg",padding:"semantic.spacing.md"},ghost:{background:"transparent",foreground:"semantic.colors.text",borderRadius:"palette.radius.md",padding:"semantic.spacing.sm",hoverBackground:"rgba(0, 0, 0, 0.05)"}},input:{background:"palette.colors.gray.50",placeholder:"palette.colors.gray.400",borderRadius:"palette.radius.lg",padding:"semantic.spacing.md",focus:{border:"palette.colors.gray.400",ring:"palette.colors.gray.400"}},launcher:{background:"palette.colors.primary.500",foreground:"palette.colors.primary.50",border:"palette.colors.gray.200",size:"60px",iconSize:"28px",borderRadius:"palette.radius.full",shadow:"palette.shadows.lg"},panel:{width:Nn,maxWidth:Yd,height:"600px",maxHeight:"calc(100vh - 80px)",borderRadius:"palette.radius.xl",shadow:"palette.shadows.xl",inset:ga,canvasBackground:ma},header:{background:"palette.colors.primary.500",border:"palette.colors.primary.600",borderRadius:"palette.radius.xl palette.radius.xl 0 0",padding:"semantic.spacing.md",iconBackground:"palette.colors.primary.600",iconForeground:"palette.colors.primary.50",titleForeground:"palette.colors.primary.50",subtitleForeground:"palette.colors.primary.200",actionIconForeground:"palette.colors.primary.200"},message:{user:{background:"palette.colors.primary.500",text:"palette.colors.primary.50",borderRadius:"palette.radius.lg",shadow:"palette.shadows.sm"},assistant:{background:"palette.colors.gray.50",text:"palette.colors.gray.900",borderRadius:"palette.radius.lg",border:"palette.colors.gray.200",shadow:"palette.shadows.sm"},border:"semantic.colors.border"},introCard:{background:"transparent",borderRadius:"palette.radius.2xl",padding:"semantic.spacing.lg",shadow:"palette.shadows.none"},toolBubble:{shadow:"palette.shadows.sm"},reasoningBubble:{shadow:"palette.shadows.sm"},composer:{shadow:"palette.shadows.none"},markdown:{inlineCode:{background:"palette.colors.gray.50",foreground:"palette.colors.gray.900"},link:{foreground:"palette.colors.primary.600"},prose:{fontFamily:"inherit"},codeBlock:{background:"semantic.colors.container",borderColor:"semantic.colors.border",textColor:"inherit"},table:{headerBackground:"semantic.colors.container",borderColor:"semantic.colors.border"},hr:{color:"semantic.colors.divider"},blockquote:{borderColor:"palette.colors.gray.900",background:"transparent",textColor:"palette.colors.gray.500"}},collapsibleWidget:{container:"palette.colors.gray.50",surface:"semantic.colors.surface",border:"semantic.colors.border"},voice:{recording:{indicator:"palette.colors.error.500",background:"palette.colors.error.50",border:"palette.colors.error.200"},processing:{icon:"palette.colors.primary.500",background:"palette.colors.primary.50"},speaking:{icon:"palette.colors.success.500"}},approval:{requested:{background:"semantic.colors.surface",border:"semantic.colors.border",text:"palette.colors.gray.900",shadow:"0 1px 2px 0 rgba(11, 11, 11, 0.06), 0 2px 8px 0 rgba(11, 11, 11, 0.04)"},approve:{background:"semantic.colors.primary",foreground:"semantic.colors.textInverse",borderRadius:"palette.radius.md",padding:"semantic.spacing.sm"},deny:{background:"semantic.colors.container",foreground:"semantic.colors.text",borderRadius:"palette.radius.md",padding:"semantic.spacing.sm"}},attachment:{image:{background:"palette.colors.gray.100",border:"palette.colors.gray.200"}},scrollToBottom:{background:"components.button.primary.background",foreground:"components.button.primary.foreground",border:"semantic.colors.primary",size:"40px",borderRadius:"palette.radius.full",shadow:"palette.shadows.sm",padding:"0.5rem 0.875rem",gap:"0.5rem",fontSize:"0.875rem",iconSize:"14px"},artifact:{pane:{background:"semantic.colors.container",toolbarBackground:"semantic.colors.container"}}};function qt(t,e){if(!e.startsWith("palette.")&&!e.startsWith("semantic.")&&!e.startsWith("components."))return e;let n=e.split("."),o=t;for(let r of n){if(o==null)return;o=o[r]}return typeof o=="string"&&(o.startsWith("palette.")||o.startsWith("semantic.")||o.startsWith("components."))?qt(t,o):o}function Zd(t){let e={};function n(o,r){for(let[s,a]of Object.entries(o)){let l=`${r}.${s}`;if(typeof a=="string"){let p=qt(t,a);p!==void 0&&(e[l]={path:l,value:p,type:r.includes("color")?"color":r.includes("spacing")?"spacing":r.includes("typography")?"typography":r.includes("shadow")?"shadow":r.includes("border")?"border":"color"})}else typeof a=="object"&&a!==null&&n(a,l)}}return n(t.palette,"palette"),n(t.semantic,"semantic"),n(t.components,"components"),e}function sm(t){let e=[],n=[];return t.palette||e.push({path:"palette",message:"Theme must include a palette",severity:"error"}),t.semantic||n.push({path:"semantic",message:"No semantic tokens defined - defaults will be used",severity:"warning"}),t.components||n.push({path:"components",message:"No component tokens defined - defaults will be used",severity:"warning"}),{valid:e.length===0,errors:e,warnings:n}}function ep(t,e){let n={...t};for(let[o,r]of Object.entries(e)){let s=n[o];s&&typeof s=="object"&&!Array.isArray(s)&&r&&typeof r=="object"&&!Array.isArray(r)?n[o]=ep(s,r):n[o]=r}return n}function am(t,e){return e?ep(t,e):t}function nr(t,e={}){let n={palette:nm,semantic:om,components:rm},o={palette:{...n.palette,...t?.palette,colors:{...n.palette.colors,...t?.palette?.colors},spacing:{...n.palette.spacing,...t?.palette?.spacing},typography:{...n.palette.typography,...t?.palette?.typography},shadows:{...n.palette.shadows,...t?.palette?.shadows},borders:{...n.palette.borders,...t?.palette?.borders},radius:{...n.palette.radius,...t?.palette?.radius}},semantic:{...n.semantic,...t?.semantic,colors:{...n.semantic.colors,...t?.semantic?.colors,interactive:{...n.semantic.colors.interactive,...t?.semantic?.colors?.interactive},feedback:{...n.semantic.colors.feedback,...t?.semantic?.colors?.feedback}},spacing:{...n.semantic.spacing,...t?.semantic?.spacing},typography:{...n.semantic.typography,...t?.semantic?.typography}},components:am(n.components,t?.components)};if(e.validate!==!1){let r=sm(o);if(!r.valid)throw new Error(`Theme validation failed: ${r.errors.map(s=>s.message).join(", ")}`)}if(e.plugins)for(let r of e.plugins)o=r.transform(o);return o}function tp(t){let e=Zd(t),n={};for(let[x,U]of Object.entries(e)){let j=x.replace(/\./g,"-");n[`--persona-${j}`]=U.value}n["--persona-primary"]=n["--persona-semantic-colors-primary"]??n["--persona-palette-colors-primary-500"],n["--persona-secondary"]=n["--persona-semantic-colors-secondary"]??n["--persona-palette-colors-secondary-500"],n["--persona-accent"]=n["--persona-semantic-colors-accent"]??n["--persona-palette-colors-accent-500"],n["--persona-surface"]=n["--persona-semantic-colors-surface"]??n["--persona-palette-colors-gray-50"],n["--persona-background"]=n["--persona-semantic-colors-background"]??n["--persona-palette-colors-gray-50"],n["--persona-container"]=n["--persona-semantic-colors-container"]??n["--persona-palette-colors-gray-100"],n["--persona-text"]=n["--persona-semantic-colors-text"]??n["--persona-palette-colors-gray-900"],n["--persona-text-muted"]=n["--persona-semantic-colors-text-muted"]??n["--persona-palette-colors-gray-500"],n["--persona-text-inverse"]=n["--persona-semantic-colors-text-inverse"]??n["--persona-palette-colors-gray-50"],n["--persona-border"]=n["--persona-semantic-colors-border"]??n["--persona-palette-colors-gray-200"],n["--persona-divider"]=n["--persona-semantic-colors-divider"]??n["--persona-palette-colors-gray-200"],n["--persona-muted"]=n["--persona-text-muted"],n["--persona-voice-recording-indicator"]=n["--persona-components-voice-recording-indicator"]??n["--persona-palette-colors-error-500"],n["--persona-voice-recording-bg"]=n["--persona-components-voice-recording-background"]??n["--persona-palette-colors-error-50"],n["--persona-voice-processing-icon"]=n["--persona-components-voice-processing-icon"]??n["--persona-palette-colors-primary-500"],n["--persona-voice-speaking-icon"]=n["--persona-components-voice-speaking-icon"]??n["--persona-palette-colors-success-500"],n["--persona-approval-bg"]=n["--persona-components-approval-requested-background"]??n["--persona-surface"],n["--persona-approval-border"]=n["--persona-components-approval-requested-border"]??n["--persona-border"],n["--persona-approval-text"]=n["--persona-components-approval-requested-text"]??n["--persona-palette-colors-gray-900"],n["--persona-approval-shadow"]=n["--persona-components-approval-requested-shadow"]??"0 1px 2px 0 rgba(11, 11, 11, 0.06), 0 2px 8px 0 rgba(11, 11, 11, 0.04)",n["--persona-approval-approve-bg"]=n["--persona-components-approval-approve-background"]??n["--persona-button-primary-bg"],n["--persona-approval-deny-bg"]=n["--persona-components-approval-deny-background"]??n["--persona-container"],n["--persona-attachment-image-bg"]=n["--persona-components-attachment-image-background"]??n["--persona-palette-colors-gray-100"],n["--persona-attachment-image-border"]=n["--persona-components-attachment-image-border"]??n["--persona-palette-colors-gray-200"],n["--persona-font-family"]=n["--persona-semantic-typography-fontFamily"]??n["--persona-palette-typography-fontFamily-sans"],n["--persona-font-size"]=n["--persona-semantic-typography-fontSize"]??n["--persona-palette-typography-fontSize-base"],n["--persona-font-weight"]=n["--persona-semantic-typography-fontWeight"]??n["--persona-palette-typography-fontWeight-normal"],n["--persona-line-height"]=n["--persona-semantic-typography-lineHeight"]??n["--persona-palette-typography-lineHeight-normal"],n["--persona-input-font-family"]=n["--persona-font-family"],n["--persona-input-font-weight"]=n["--persona-font-weight"],n["--persona-radius-sm"]=n["--persona-palette-radius-sm"]??"0.125rem",n["--persona-radius-md"]=n["--persona-palette-radius-md"]??"0.375rem",n["--persona-radius-lg"]=n["--persona-palette-radius-lg"]??"0.5rem",n["--persona-radius-xl"]=n["--persona-palette-radius-xl"]??"0.75rem",n["--persona-radius-full"]=n["--persona-palette-radius-full"]??"9999px",n["--persona-launcher-radius"]=n["--persona-components-launcher-borderRadius"]??n["--persona-palette-radius-full"]??"9999px",n["--persona-launcher-bg"]=n["--persona-components-launcher-background"]??n["--persona-primary"],n["--persona-launcher-fg"]=n["--persona-components-launcher-foreground"]??n["--persona-text-inverse"],n["--persona-launcher-border"]=n["--persona-components-launcher-border"]??n["--persona-border"],n["--persona-button-primary-bg"]=n["--persona-components-button-primary-background"]??n["--persona-primary"],n["--persona-button-primary-fg"]=n["--persona-components-button-primary-foreground"]??n["--persona-text-inverse"],n["--persona-button-radius"]=n["--persona-components-button-primary-borderRadius"]??n["--persona-palette-radius-full"]??"9999px",n["--persona-button-ghost-bg"]=n["--persona-components-button-ghost-background"]??"transparent",n["--persona-button-ghost-fg"]=n["--persona-components-button-ghost-foreground"]??n["--persona-text"],n["--persona-button-ghost-radius"]=n["--persona-components-button-ghost-borderRadius"]??n["--persona-radius-md"]??"0.375rem",n["--persona-button-ghost-hover-bg"]=n["--persona-components-button-ghost-hoverBackground"]??"rgba(0, 0, 0, 0.05)",n["--persona-panel-radius"]=n["--persona-components-panel-borderRadius"]??n["--persona-radius-xl"]??"0.75rem",n["--persona-panel-border"]=n["--persona-components-panel-border"]??`1px solid ${n["--persona-border"]}`,n["--persona-panel-shadow"]=n["--persona-components-panel-shadow"]??n["--persona-palette-shadows-xl"]??"0 25px 50px -12px rgba(0, 0, 0, 0.25)",n["--persona-panel-inset"]=n["--persona-components-panel-inset"]??ga,n["--persona-panel-canvas-bg"]=n["--persona-components-panel-canvasBackground"]??ma,n["--persona-launcher-shadow"]=n["--persona-components-launcher-shadow"]??"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)",n["--persona-input-radius"]=n["--persona-components-input-borderRadius"]??n["--persona-radius-lg"]??"0.5rem",n["--persona-message-user-radius"]=n["--persona-components-message-user-borderRadius"]??n["--persona-radius-lg"]??"0.5rem",n["--persona-message-assistant-radius"]=n["--persona-components-message-assistant-borderRadius"]??n["--persona-radius-lg"]??"0.5rem",n["--persona-header-bg"]=n["--persona-components-header-background"]??n["--persona-surface"],n["--persona-header-border"]=n["--persona-components-header-border"]??n["--persona-divider"],n["--persona-header-icon-bg"]=n["--persona-components-header-iconBackground"]??n["--persona-primary"],n["--persona-header-icon-fg"]=n["--persona-components-header-iconForeground"]??n["--persona-text-inverse"],n["--persona-header-title-fg"]=n["--persona-components-header-titleForeground"]??n["--persona-primary"],n["--persona-header-subtitle-fg"]=n["--persona-components-header-subtitleForeground"]??n["--persona-text-muted"],n["--persona-header-action-icon-fg"]=n["--persona-components-header-actionIconForeground"]??n["--persona-muted"];let o=t.components?.header;o?.shadow&&(n["--persona-header-shadow"]=o.shadow),o?.borderBottom&&(n["--persona-header-border-bottom"]=o.borderBottom),n["--persona-intro-card-bg"]=n["--persona-components-introCard-background"]??"transparent",n["--persona-intro-card-radius"]=n["--persona-components-introCard-borderRadius"]??"1rem",n["--persona-intro-card-padding"]=n["--persona-components-introCard-padding"]??"1.5rem",n["--persona-intro-card-shadow"]=n["--persona-components-introCard-shadow"]??"none",n["--persona-input-background"]=n["--persona-components-input-background"]??n["--persona-surface"],n["--persona-input-placeholder"]=n["--persona-components-input-placeholder"]??n["--persona-text-muted"],n["--persona-message-user-bg"]=n["--persona-components-message-user-background"]??n["--persona-accent"],n["--persona-message-user-text"]=n["--persona-components-message-user-text"]??n["--persona-text-inverse"],n["--persona-message-user-shadow"]=n["--persona-components-message-user-shadow"]??"0 5px 15px rgba(15, 23, 42, 0.08)",n["--persona-message-assistant-bg"]=n["--persona-components-message-assistant-background"]??n["--persona-surface"],n["--persona-message-assistant-text"]=n["--persona-components-message-assistant-text"]??n["--persona-text"],n["--persona-message-assistant-border"]=n["--persona-components-message-assistant-border"]??n["--persona-border"],n["--persona-message-assistant-shadow"]=n["--persona-components-message-assistant-shadow"]??"0 1px 2px 0 rgb(0 0 0 / 0.05)",n["--persona-scroll-to-bottom-bg"]=n["--persona-components-scrollToBottom-background"]??n["--persona-button-primary-bg"]??n["--persona-accent"],n["--persona-scroll-to-bottom-fg"]=n["--persona-components-scrollToBottom-foreground"]??n["--persona-button-primary-fg"]??n["--persona-text-inverse"],n["--persona-scroll-to-bottom-border"]=n["--persona-components-scrollToBottom-border"]??n["--persona-primary"],n["--persona-scroll-to-bottom-size"]=n["--persona-components-scrollToBottom-size"]??"40px",n["--persona-scroll-to-bottom-radius"]=n["--persona-components-scrollToBottom-borderRadius"]??n["--persona-button-radius"]??n["--persona-radius-full"]??"9999px",n["--persona-scroll-to-bottom-shadow"]=n["--persona-components-scrollToBottom-shadow"]??n["--persona-palette-shadows-sm"]??"0 1px 2px 0 rgb(0 0 0 / 0.05)",n["--persona-scroll-to-bottom-padding"]=n["--persona-components-scrollToBottom-padding"]??"0.5rem 0.875rem",n["--persona-scroll-to-bottom-gap"]=n["--persona-components-scrollToBottom-gap"]??"0.5rem",n["--persona-scroll-to-bottom-font-size"]=n["--persona-components-scrollToBottom-fontSize"]??n["--persona-palette-typography-fontSize-sm"]??"0.875rem",n["--persona-scroll-to-bottom-icon-size"]=n["--persona-components-scrollToBottom-iconSize"]??"14px",n["--persona-tool-bubble-shadow"]=n["--persona-components-toolBubble-shadow"]??"0 5px 15px rgba(15, 23, 42, 0.08)",n["--persona-reasoning-bubble-shadow"]=n["--persona-components-reasoningBubble-shadow"]??"0 5px 15px rgba(15, 23, 42, 0.08)",n["--persona-composer-shadow"]=n["--persona-components-composer-shadow"]??"none",n["--persona-md-inline-code-bg"]=n["--persona-components-markdown-inlineCode-background"]??n["--persona-container"],n["--persona-md-inline-code-color"]=n["--persona-components-markdown-inlineCode-foreground"]??n["--persona-text"],n["--persona-md-link-color"]=n["--persona-components-markdown-link-foreground"]??n["--persona-accent"]??"#0f0f0f";let r=n["--persona-components-markdown-heading-h1-fontSize"];r&&(n["--persona-md-h1-size"]=r);let s=n["--persona-components-markdown-heading-h1-fontWeight"];s&&(n["--persona-md-h1-weight"]=s);let a=n["--persona-components-markdown-heading-h2-fontSize"];a&&(n["--persona-md-h2-size"]=a);let l=n["--persona-components-markdown-heading-h2-fontWeight"];l&&(n["--persona-md-h2-weight"]=l);let p=n["--persona-components-markdown-prose-fontFamily"];p&&p!=="inherit"&&(n["--persona-md-prose-font-family"]=p),n["--persona-md-code-block-bg"]=n["--persona-components-markdown-codeBlock-background"]??n["--persona-container"],n["--persona-md-code-block-border-color"]=n["--persona-components-markdown-codeBlock-borderColor"]??n["--persona-border"],n["--persona-md-code-block-text-color"]=n["--persona-components-markdown-codeBlock-textColor"]??"inherit",n["--persona-md-table-header-bg"]=n["--persona-components-markdown-table-headerBackground"]??n["--persona-container"],n["--persona-md-table-border-color"]=n["--persona-components-markdown-table-borderColor"]??n["--persona-border"],n["--persona-md-hr-color"]=n["--persona-components-markdown-hr-color"]??n["--persona-divider"],n["--persona-md-blockquote-border-color"]=n["--persona-components-markdown-blockquote-borderColor"]??n["--persona-palette-colors-gray-900"],n["--persona-md-blockquote-bg"]=n["--persona-components-markdown-blockquote-background"]??"transparent",n["--persona-md-blockquote-text-color"]=n["--persona-components-markdown-blockquote-textColor"]??n["--persona-palette-colors-gray-500"],n["--cw-container"]=n["--persona-components-collapsibleWidget-container"]??n["--persona-surface"],n["--cw-surface"]=n["--persona-components-collapsibleWidget-surface"]??n["--persona-surface"],n["--cw-border"]=n["--persona-components-collapsibleWidget-border"]??n["--persona-border"],n["--persona-message-border"]=n["--persona-components-message-border"]??n["--persona-border"];let d=t.components,c=d?.iconButton;c&&(c.background&&(n["--persona-icon-btn-bg"]=c.background),c.border&&(n["--persona-icon-btn-border"]=c.border),c.color&&(n["--persona-icon-btn-color"]=c.color),c.padding&&(n["--persona-icon-btn-padding"]=c.padding),c.borderRadius&&(n["--persona-icon-btn-radius"]=c.borderRadius),c.hoverBackground&&(n["--persona-icon-btn-hover-bg"]=c.hoverBackground),c.hoverColor&&(n["--persona-icon-btn-hover-color"]=c.hoverColor),c.activeBackground&&(n["--persona-icon-btn-active-bg"]=c.activeBackground),c.activeBorder&&(n["--persona-icon-btn-active-border"]=c.activeBorder));let u=d?.labelButton;u&&(u.background&&(n["--persona-label-btn-bg"]=u.background),u.border&&(n["--persona-label-btn-border"]=u.border),u.color&&(n["--persona-label-btn-color"]=u.color),u.padding&&(n["--persona-label-btn-padding"]=u.padding),u.borderRadius&&(n["--persona-label-btn-radius"]=u.borderRadius),u.hoverBackground&&(n["--persona-label-btn-hover-bg"]=u.hoverBackground),u.fontSize&&(n["--persona-label-btn-font-size"]=u.fontSize),u.gap&&(n["--persona-label-btn-gap"]=u.gap));let w=d?.toggleGroup;w&&(w.gap&&(n["--persona-toggle-group-gap"]=w.gap),w.borderRadius&&(n["--persona-toggle-group-radius"]=w.borderRadius));let f=d?.artifact;if(f?.toolbar){let x=f.toolbar;x.iconHoverColor&&(n["--persona-artifact-toolbar-icon-hover-color"]=x.iconHoverColor),x.iconHoverBackground&&(n["--persona-artifact-toolbar-icon-hover-bg"]=x.iconHoverBackground),x.iconPadding&&(n["--persona-artifact-toolbar-icon-padding"]=x.iconPadding),x.iconBorderRadius&&(n["--persona-artifact-toolbar-icon-radius"]=x.iconBorderRadius),x.iconBorder&&(n["--persona-artifact-toolbar-icon-border"]=x.iconBorder),x.toggleGroupGap&&(n["--persona-artifact-toolbar-toggle-group-gap"]=x.toggleGroupGap),x.toggleBorderRadius&&(n["--persona-artifact-toolbar-toggle-radius"]=x.toggleBorderRadius),x.toggleGroupPadding&&(n["--persona-artifact-toolbar-toggle-group-padding"]=x.toggleGroupPadding),x.toggleGroupBorder&&(n["--persona-artifact-toolbar-toggle-group-border"]=x.toggleGroupBorder),x.toggleGroupBorderRadius&&(n["--persona-artifact-toolbar-toggle-group-radius"]=x.toggleGroupBorderRadius),x.toggleGroupBackground&&(n["--persona-artifact-toolbar-toggle-group-bg"]=qt(t,x.toggleGroupBackground)??x.toggleGroupBackground),x.copyBackground&&(n["--persona-artifact-toolbar-copy-bg"]=x.copyBackground),x.copyBorder&&(n["--persona-artifact-toolbar-copy-border"]=x.copyBorder),x.copyColor&&(n["--persona-artifact-toolbar-copy-color"]=x.copyColor),x.copyBorderRadius&&(n["--persona-artifact-toolbar-copy-radius"]=x.copyBorderRadius),x.copyPadding&&(n["--persona-artifact-toolbar-copy-padding"]=x.copyPadding),x.copyMenuBackground&&(n["--persona-artifact-toolbar-copy-menu-bg"]=x.copyMenuBackground,n["--persona-dropdown-bg"]=n["--persona-dropdown-bg"]??x.copyMenuBackground),x.copyMenuBorder&&(n["--persona-artifact-toolbar-copy-menu-border"]=x.copyMenuBorder,n["--persona-dropdown-border"]=n["--persona-dropdown-border"]??x.copyMenuBorder),x.copyMenuShadow&&(n["--persona-artifact-toolbar-copy-menu-shadow"]=x.copyMenuShadow,n["--persona-dropdown-shadow"]=n["--persona-dropdown-shadow"]??x.copyMenuShadow),x.copyMenuBorderRadius&&(n["--persona-artifact-toolbar-copy-menu-radius"]=x.copyMenuBorderRadius,n["--persona-dropdown-radius"]=n["--persona-dropdown-radius"]??x.copyMenuBorderRadius),x.copyMenuItemHoverBackground&&(n["--persona-artifact-toolbar-copy-menu-item-hover-bg"]=x.copyMenuItemHoverBackground,n["--persona-dropdown-item-hover-bg"]=n["--persona-dropdown-item-hover-bg"]??x.copyMenuItemHoverBackground),x.iconBackground&&(n["--persona-artifact-toolbar-icon-bg"]=x.iconBackground),x.toolbarBorder&&(n["--persona-artifact-toolbar-border"]=x.toolbarBorder)}if(f?.tab){let x=f.tab;x.background&&(n["--persona-artifact-tab-bg"]=x.background),x.activeBackground&&(n["--persona-artifact-tab-active-bg"]=x.activeBackground),x.activeBorder&&(n["--persona-artifact-tab-active-border"]=x.activeBorder),x.borderRadius&&(n["--persona-artifact-tab-radius"]=x.borderRadius),x.textColor&&(n["--persona-artifact-tab-color"]=x.textColor),x.hoverBackground&&(n["--persona-artifact-tab-hover-bg"]=x.hoverBackground),x.listBackground&&(n["--persona-artifact-tab-list-bg"]=x.listBackground),x.listBorderColor&&(n["--persona-artifact-tab-list-border-color"]=x.listBorderColor),x.listPadding&&(n["--persona-artifact-tab-list-padding"]=x.listPadding)}if(f?.pane){let x=f.pane;if(x.toolbarBackground){let U=qt(t,x.toolbarBackground)??x.toolbarBackground;n["--persona-artifact-toolbar-bg"]=U}}if(f?.card){let x=f.card;x.background&&(n["--persona-artifact-card-bg"]=x.background),x.border&&(n["--persona-artifact-card-border"]=x.border),x.borderRadius&&(n["--persona-artifact-card-radius"]=x.borderRadius),x.hoverBackground&&(n["--persona-artifact-card-hover-bg"]=x.hoverBackground),x.hoverBorderColor&&(n["--persona-artifact-card-hover-border"]=x.hoverBorderColor)}if(f?.inline){let x=f.inline;x.background&&(n["--persona-artifact-inline-bg"]=qt(t,x.background)??x.background),x.border&&(n["--persona-artifact-inline-border"]=x.border),x.borderRadius&&(n["--persona-artifact-inline-radius"]=x.borderRadius),x.chromeBackground&&(n["--persona-artifact-inline-chrome-bg"]=qt(t,x.chromeBackground)??x.chromeBackground),x.chromeBorder&&(n["--persona-artifact-inline-chrome-border"]=qt(t,x.chromeBorder)??x.chromeBorder),x.titleColor&&(n["--persona-artifact-inline-title-color"]=qt(t,x.titleColor)??x.titleColor),x.mutedColor&&(n["--persona-artifact-inline-muted-color"]=qt(t,x.mutedColor)??x.mutedColor),x.frameHeight&&(n["--persona-artifact-inline-frame-height"]=x.frameHeight)}let v=d?.code;v&&(v.keywordColor&&(n["--persona-code-keyword-color"]=v.keywordColor),v.stringColor&&(n["--persona-code-string-color"]=v.stringColor),v.commentColor&&(n["--persona-code-comment-color"]=v.commentColor),v.numberColor&&(n["--persona-code-number-color"]=v.numberColor),v.tagColor&&(n["--persona-code-tag-color"]=v.tagColor),v.attrColor&&(n["--persona-code-attr-color"]=v.attrColor),v.propertyColor&&(n["--persona-code-property-color"]=v.propertyColor),v.lineNumberColor&&(n["--persona-code-line-number-color"]=v.lineNumberColor),v.gutterBorderColor&&(n["--persona-code-gutter-border-color"]=v.gutterBorderColor),v.background&&(n["--persona-code-bg"]=qt(t,v.background)??v.background));let C=n["--persona-surface"],I=n["--persona-container"],B=n["--persona-palette-colors-gray-100"]??"#f3f4f6",k=n["--persona-palette-colors-gray-200"]??"#e5e7eb",M=n["--persona-palette-colors-gray-300"]??"#d1d5db",P=!I||I===C,z=P?B:I,K=P?k:I;return n["--persona-icon-btn-hover-bg"]=n["--persona-icon-btn-hover-bg"]??z,n["--persona-icon-btn-active-bg"]=n["--persona-icon-btn-active-bg"]??K,P&&(n["--persona-icon-btn-active-border"]=n["--persona-icon-btn-active-border"]??M),n["--persona-label-btn-hover-bg"]=n["--persona-label-btn-hover-bg"]??z,n["--persona-artifact-tab-hover-bg"]=n["--persona-artifact-tab-hover-bg"]??z,n["--persona-artifact-card-hover-bg"]=n["--persona-artifact-card-hover-bg"]??z,n}var im={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"}}},np=t=>{if(!(!t||typeof t!="object"||Array.isArray(t)))return t},Qi=()=>typeof document<"u"&&document.documentElement.classList.contains("dark")||typeof window<"u"&&window.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light",lm=t=>{let e=t?.colorScheme??"light";return e==="light"?"light":e==="dark"?"dark":Qi()},op=t=>lm(t),cm=t=>nr(t),dm=t=>nr({...t,palette:{...t?.palette,colors:{...im.colors,...t?.palette?.colors}}},{validate:!1}),or=t=>{let e=op(t),n=np(t?.theme),o=np(t?.darkTheme);return e==="dark"?dm(Jr(n??{},o??{})):cm(n)},pm=t=>tp(t),Yr=(t,e)=>{let n=or(e),o=pm(n);for(let[r,s]of Object.entries(o))t.style.setProperty(r,s);t.setAttribute("data-persona-color-scheme",op(e))},ha=t=>{let e=[];if(typeof document<"u"&&typeof MutationObserver<"u"){let n=new MutationObserver(()=>{t(Qi())});n.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),e.push(()=>n.disconnect())}if(typeof window<"u"&&window.matchMedia){let n=window.matchMedia("(prefers-color-scheme: dark)"),o=()=>t(Qi());n.addEventListener?(n.addEventListener("change",o),e.push(()=>n.removeEventListener("change",o))):n.addListener&&(n.addListener(o),e.push(()=>n.removeListener(o)))}return()=>{e.forEach(n=>n())}};function Sn(t){let e=String(t).split(/[\\/]/);return e[e.length-1]??""}function rp(t){let e=Sn(t),n=e.lastIndexOf(".");return n<=0?"":e.slice(n+1).toLowerCase()}function ya(t){if(typeof t!="string")return"";let e=t.indexOf(`
|
|
24
|
+
`)[0]).startsWith(P.trigger):!1),s=(M,P)=>{if(!(typeof window>"u"))try{window.dispatchEvent(new CustomEvent(`persona:mention:${M}`,{detail:P}))}catch{}},a=Ne("div",{className:"persona-mention-context-row",attrs:{"data-persona-mention-context-row":""}}),l=null,p=null,d=t.textarea,c=null,u=null,w=null,f=null,v=()=>{if(l)return Promise.resolve(l);if(p)return p;let M=Gi().then(P=>(l=P.mountContextMentions({mentionConfig:e,textarea:t.textarea,composerInput:c??void 0,anchor:t.anchor,contextRow:a,getMessages:t.getMessages,getConfig:()=>t.config,liveRegionHost:t.liveRegionHost,popoverContainer:t.popoverContainer,onPickerOpenChange:k,emit:s}),l)).catch(P=>(typeof console<"u"&&console.warn("[Persona] Failed to load context mentions runtime",P),p===M&&(p=null),null));return p=M,M},C=()=>{Gd().then(M=>{let P=M.mountInlineComposer({textarea:t.textarea,renderToken:K=>Xr(K,{render:e.renderMentionToken}),onMentionRemoved:K=>l?.untrackMention(K)});c=P.input,u=P.destroy;let z=d;z.replaceWith(P.element),d=P.element,f={next:P.element,prev:z},w?.(P.element,z),l?l.rebindComposer(P.input):p&&p.then(K=>K?.rebindComposer(P.input))}).catch(M=>{typeof console<"u"&&console.warn("[Persona] Failed to load inline mention composer",M)})};e.display==="inline"&&C();let I=[],B=new Map;for(let M of n){if(!M.showButton)continue;let P=Kd({config:{...e,buttonIconName:M.buttonIconName,buttonTooltipText:M.buttonTooltipText},buttonSize:t.config.sendButton?.size,onOpen:()=>{v().then(z=>z?.openMenu(M.trigger))}});I.push(P),B.set(M.trigger,P.button)}let k=(M,P,z)=>{let K=B.get(P);K&&(K.setAttribute("aria-expanded",M?"true":"false"),M?K.setAttribute("aria-controls",z):K.removeAttribute("aria-controls"))};return{affordanceButtons:I.map(M=>M.wrapper),contextRow:a,handleInput:M=>{if(l){l.handleInput();return}if(!Kc(M))return;let P=d,z=P.selectionStart??0;Vc(P.value,z,n)&&v().then(K=>K?.handleInput())},handleKeydown:M=>{if(l?.isMenuOpen())return l.handleKeydown(M);if(M.key==="Backspace"&&l?.hasMentions()&&!f){let P=d,z=P.selectionStart===0&&P.selectionEnd===0;if((P.value.length===0||z)&&l.removeLastChip())return M.preventDefault(),!0}return!1},isMenuOpen:()=>l?.isMenuOpen()??!1,hasMentions:()=>l?.hasMentions()??!1,collectForSubmit:()=>l?.collectForSubmit()??null,takeInlineCommand:async M=>r(M)?(l??await v())?.dispatchInlineCommand(M)??null:null,clear:()=>l?.clear(),prefetch:()=>{Gi().catch(()=>{})},onComposerSwap:M=>{w=M,f&&M(f.next,f.prev)},destroy:()=>{l?.destroy(),u?.();for(let M of I)M.wrapper.remove();a.remove()}}}var Xd=t=>typeof t=="object"&&t!==null&&!Array.isArray(t);function Jr(t,e){if(!t)return e;if(!e)return t;let n={...t};for(let[o,r]of Object.entries(e)){let s=n[o];Xd(s)&&Xd(r)?n[o]=Jr(s,r):n[o]=r}return n}var Nn="min(440px, calc(100vw - 24px))",Yd="440px",tm={enabled:!0,mountMode:"floating",dock:{side:"right",width:"420px"},title:"Chat Assistant",subtitle:"Here to help you get answers fast",agentIconText:"\u{1F4AC}",agentIconName:"bot",headerIconName:"bot",position:"bottom-right",width:Nn,heightOffset:0,autoExpand:!1,callToActionIconHidden:!1,agentIconSize:"40px",headerIconSize:"40px",closeButtonSize:"32px",closeButtonPaddingX:"0px",closeButtonPaddingY:"0px",callToActionIconName:"arrow-up-right",callToActionIconText:"",callToActionIconSize:"32px",callToActionIconPadding:"5px",callToActionIconColor:void 0,callToActionIconBackgroundColor:void 0,closeButtonBackgroundColor:"transparent",clearChat:{backgroundColor:"transparent",borderColor:"transparent",enabled:!0,placement:"inline",iconName:"refresh-cw",size:"32px",showTooltip:!0,tooltipText:"Clear chat",paddingX:"0px",paddingY:"0px"},headerIconHidden:!1,border:void 0,shadow:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)"},at={apiUrl:"https://api.runtype.com/api/chat/dispatch",clientToken:void 0,agentId:void 0,target:void 0,theme:void 0,darkTheme:void 0,colorScheme:"light",launcher:tm,copy:{welcomeTitle:"Hello \u{1F44B}",welcomeSubtitle:"Ask anything about your account or products.",inputPlaceholder:"How can I help...",sendButtonLabel:"Send"},sendButton:{borderWidth:"0px",paddingX:"12px",paddingY:"10px",borderColor:void 0,useIcon:!0,iconText:"\u2191",size:"40px",showTooltip:!0,tooltipText:"Send message",iconName:"send"},statusIndicator:{visible:!0,idleText:"Online",connectingText:"Connecting\u2026",connectedText:"Streaming\u2026",errorText:"Offline"},voiceRecognition:{enabled:!0,pauseDuration:2e3,iconName:"mic",iconSize:"39px",borderWidth:"0px",paddingX:"9px",paddingY:"14px",iconColor:void 0,backgroundColor:"transparent",borderColor:"transparent",recordingIconColor:void 0,recordingBackgroundColor:void 0,recordingBorderColor:"transparent",showTooltip:!0,tooltipText:"Start voice recognition"},features:{showReasoning:!0,showToolCalls:!0,scrollToBottom:{enabled:!0,iconName:"arrow-down",label:""},scrollBehavior:{mode:"anchor-top",anchorTopOffset:16,showActivityWhilePinned:!0},toolCallDisplay:{collapsedMode:"tool-call",activePreview:!1,grouped:!1,groupedMode:"stack",previewMaxLines:3,expandable:!0,loadingAnimation:"none"},reasoningDisplay:{activePreview:!1,previewMaxLines:3,expandable:!0,loadingAnimation:"none"},streamAnimation:{type:"none",placeholder:"none",speed:120,duration:1800},askUserQuestion:{enabled:!0,slideInMs:180,freeTextLabel:"Other\u2026",freeTextPlaceholder:"Type your answer\u2026",submitLabel:"Send"}},suggestionChips:["What can you help me with?","Tell me about your features","How does this work?"],suggestionChipsConfig:{fontFamily:"sans-serif",fontWeight:"500",paddingX:"12px",paddingY:"6px"},layout:{header:{layout:"default",showIcon:!0,showTitle:!0,showSubtitle:!0,showCloseButton:!0,showClearChat:!0},messages:{layout:"bubble",avatar:{show:!1,position:"left"},timestamp:{show:!1,position:"below"},groupConsecutive:!1},slots:{}},markdown:{options:{gfm:!0,breaks:!0},disableDefaultStyles:!1},messageActions:{enabled:!0,showCopy:!0,showUpvote:!1,showDownvote:!1,visibility:"hover",align:"right",layout:"pill-inside"},debug:!1};function Jd(t,e){if(!(!t&&!e))return t?e?Jr(t,e):t:e}function fa(t){return t?{...at,...t,theme:Jd(at.theme,t.theme),darkTheme:Jd(at.darkTheme,t.darkTheme),launcher:{...at.launcher,...t.launcher,dock:{...at.launcher?.dock,...t.launcher?.dock},clearChat:{...at.launcher?.clearChat,...t.launcher?.clearChat}},copy:{...at.copy,...t.copy},sendButton:{...at.sendButton,...t.sendButton},statusIndicator:{...at.statusIndicator,...t.statusIndicator},voiceRecognition:{...at.voiceRecognition,...t.voiceRecognition},features:(()=>{let e=at.features?.artifacts,n=t.features?.artifacts,o=at.features?.scrollToBottom,r=t.features?.scrollToBottom,s=at.features?.scrollBehavior,a=t.features?.scrollBehavior,l=at.features?.streamAnimation,p=t.features?.streamAnimation,d=at.features?.askUserQuestion,c=t.features?.askUserQuestion,u=e===void 0&&n===void 0?void 0:{...e,...n,layout:{...e?.layout,...n?.layout}},w=o===void 0&&r===void 0?void 0:{...o,...r},f=s===void 0&&a===void 0?void 0:{...s,...a},v=l===void 0&&p===void 0?void 0:{...l,...p},C=d===void 0&&c===void 0?void 0:{...d,...c,styles:{...d?.styles,...c?.styles}};return{...at.features,...t.features,...w!==void 0?{scrollToBottom:w}:{},...f!==void 0?{scrollBehavior:f}:{},...u!==void 0?{artifacts:u}:{},...v!==void 0?{streamAnimation:v}:{},...C!==void 0?{askUserQuestion:C}:{}}})(),suggestionChips:t.suggestionChips??at.suggestionChips,suggestionChipsConfig:{...at.suggestionChipsConfig,...t.suggestionChipsConfig},layout:{...at.layout,...t.layout,header:{...at.layout?.header,...t.layout?.header},messages:{...at.layout?.messages,...t.layout?.messages,avatar:{...at.layout?.messages?.avatar,...t.layout?.messages?.avatar},timestamp:{...at.layout?.messages?.timestamp,...t.layout?.messages?.timestamp}},slots:{...at.layout?.slots,...t.layout?.slots}},markdown:{...at.markdown,...t.markdown,options:{...at.markdown?.options,...t.markdown?.options}},messageActions:{...at.messageActions,...t.messageActions}}:at}var ga="16px",ma="transparent",nm={colors:{primary:{50:"#ffffff",100:"#f5f5f5",200:"#d4d4d4",300:"#a3a3a3",400:"#737373",500:"#171717",600:"#0f0f0f",700:"#0a0a0a",800:"#050505",900:"#030303",950:"#000000"},secondary:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"},accent:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63",950:"#083344"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827",950:"#030712"},success:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d"},warning:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12"},error:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d"},info:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"}},spacing:{0:"0px",1:"0.25rem",2:"0.5rem",3:"0.75rem",4:"1rem",5:"1.25rem",6:"1.5rem",8:"2rem",10:"2.5rem",12:"3rem",16:"4rem",20:"5rem",24:"6rem",32:"8rem",40:"10rem",48:"12rem",56:"14rem",64:"16rem"},typography:{fontFamily:{sans:'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',serif:'Georgia, Cambria, "Times New Roman", Times, serif',mono:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace"},fontSize:{xs:"0.75rem",sm:"0.875rem",base:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.875rem","4xl":"2.25rem"},fontWeight:{normal:"400",medium:"500",semibold:"600",bold:"700"},lineHeight:{tight:"1.25",normal:"1.5",relaxed:"1.625"}},shadows:{none:"none",sm:"0 1px 2px 0 rgb(0 0 0 / 0.05)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)","2xl":"0 25px 50px -12px rgb(0 0 0 / 0.25)"},borders:{none:"none",sm:"1px solid",md:"2px solid",lg:"4px solid"},radius:{none:"0px",sm:"0.125rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem",full:"9999px"}},om={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"}},rm={button:{primary:{background:"palette.colors.primary.500",foreground:"palette.colors.primary.50",borderRadius:"palette.radius.lg",padding:"semantic.spacing.md"},secondary:{background:"semantic.colors.surface",foreground:"semantic.colors.secondary",borderRadius:"palette.radius.lg",padding:"semantic.spacing.md"},ghost:{background:"transparent",foreground:"semantic.colors.text",borderRadius:"palette.radius.md",padding:"semantic.spacing.sm",hoverBackground:"rgba(0, 0, 0, 0.05)"}},input:{background:"palette.colors.gray.50",placeholder:"palette.colors.gray.400",borderRadius:"palette.radius.lg",padding:"semantic.spacing.md",focus:{border:"palette.colors.gray.400",ring:"palette.colors.gray.400"}},launcher:{background:"palette.colors.primary.500",foreground:"palette.colors.primary.50",border:"palette.colors.gray.200",size:"60px",iconSize:"28px",borderRadius:"palette.radius.full",shadow:"palette.shadows.lg"},panel:{width:Nn,maxWidth:Yd,height:"600px",maxHeight:"calc(100vh - 80px)",borderRadius:"palette.radius.xl",shadow:"palette.shadows.xl",inset:ga,canvasBackground:ma},header:{background:"palette.colors.primary.500",border:"palette.colors.primary.600",borderRadius:"palette.radius.xl palette.radius.xl 0 0",padding:"semantic.spacing.md",iconBackground:"palette.colors.primary.600",iconForeground:"palette.colors.primary.50",titleForeground:"palette.colors.primary.50",subtitleForeground:"palette.colors.primary.200",actionIconForeground:"palette.colors.primary.200"},message:{user:{background:"palette.colors.primary.500",text:"palette.colors.primary.50",borderRadius:"palette.radius.lg",shadow:"palette.shadows.sm"},assistant:{background:"palette.colors.gray.50",text:"palette.colors.gray.900",borderRadius:"palette.radius.lg",border:"palette.colors.gray.200",shadow:"palette.shadows.sm"},border:"semantic.colors.border"},introCard:{background:"transparent",borderRadius:"palette.radius.2xl",padding:"semantic.spacing.lg",shadow:"palette.shadows.none"},toolBubble:{shadow:"palette.shadows.sm"},reasoningBubble:{shadow:"palette.shadows.sm"},composer:{shadow:"palette.shadows.none"},markdown:{inlineCode:{background:"palette.colors.gray.50",foreground:"palette.colors.gray.900"},link:{foreground:"palette.colors.primary.600"},prose:{fontFamily:"inherit"},codeBlock:{background:"semantic.colors.container",borderColor:"semantic.colors.border",textColor:"inherit"},table:{headerBackground:"semantic.colors.container",borderColor:"semantic.colors.border"},hr:{color:"semantic.colors.divider"},blockquote:{borderColor:"palette.colors.gray.900",background:"transparent",textColor:"palette.colors.gray.500"}},collapsibleWidget:{container:"palette.colors.gray.50",surface:"semantic.colors.surface",border:"semantic.colors.border"},voice:{recording:{indicator:"palette.colors.error.500",background:"palette.colors.error.50",border:"palette.colors.error.200"},processing:{icon:"palette.colors.primary.500",background:"palette.colors.primary.50"},speaking:{icon:"palette.colors.success.500"}},approval:{requested:{background:"semantic.colors.surface",border:"semantic.colors.border",text:"palette.colors.gray.900",shadow:"0 1px 2px 0 rgba(11, 11, 11, 0.06), 0 2px 8px 0 rgba(11, 11, 11, 0.04)"},approve:{background:"semantic.colors.primary",foreground:"semantic.colors.textInverse",borderRadius:"palette.radius.md",padding:"semantic.spacing.sm"},deny:{background:"semantic.colors.container",foreground:"semantic.colors.text",borderRadius:"palette.radius.md",padding:"semantic.spacing.sm"}},attachment:{image:{background:"palette.colors.gray.100",border:"palette.colors.gray.200"}},scrollToBottom:{background:"components.button.primary.background",foreground:"components.button.primary.foreground",border:"semantic.colors.primary",size:"40px",borderRadius:"palette.radius.full",shadow:"palette.shadows.sm",padding:"0.5rem 0.875rem",gap:"0.5rem",fontSize:"0.875rem",iconSize:"14px"},artifact:{pane:{background:"semantic.colors.container",toolbarBackground:"semantic.colors.container"}}};function qt(t,e){if(!e.startsWith("palette.")&&!e.startsWith("semantic.")&&!e.startsWith("components."))return e;let n=e.split("."),o=t;for(let r of n){if(o==null)return;o=o[r]}return typeof o=="string"&&(o.startsWith("palette.")||o.startsWith("semantic.")||o.startsWith("components."))?qt(t,o):o}function Zd(t){let e={};function n(o,r){for(let[s,a]of Object.entries(o)){let l=`${r}.${s}`;if(typeof a=="string"){let p=qt(t,a);p!==void 0&&(e[l]={path:l,value:p,type:r.includes("color")?"color":r.includes("spacing")?"spacing":r.includes("typography")?"typography":r.includes("shadow")?"shadow":r.includes("border")?"border":"color"})}else typeof a=="object"&&a!==null&&n(a,l)}}return n(t.palette,"palette"),n(t.semantic,"semantic"),n(t.components,"components"),e}function sm(t){let e=[],n=[];return t.palette||e.push({path:"palette",message:"Theme must include a palette",severity:"error"}),t.semantic||n.push({path:"semantic",message:"No semantic tokens defined - defaults will be used",severity:"warning"}),t.components||n.push({path:"components",message:"No component tokens defined - defaults will be used",severity:"warning"}),{valid:e.length===0,errors:e,warnings:n}}function ep(t,e){let n={...t};for(let[o,r]of Object.entries(e)){let s=n[o];s&&typeof s=="object"&&!Array.isArray(s)&&r&&typeof r=="object"&&!Array.isArray(r)?n[o]=ep(s,r):n[o]=r}return n}function am(t,e){return e?ep(t,e):t}function nr(t,e={}){let n={palette:nm,semantic:om,components:rm},o={palette:{...n.palette,...t?.palette,colors:{...n.palette.colors,...t?.palette?.colors},spacing:{...n.palette.spacing,...t?.palette?.spacing},typography:{...n.palette.typography,...t?.palette?.typography},shadows:{...n.palette.shadows,...t?.palette?.shadows},borders:{...n.palette.borders,...t?.palette?.borders},radius:{...n.palette.radius,...t?.palette?.radius}},semantic:{...n.semantic,...t?.semantic,colors:{...n.semantic.colors,...t?.semantic?.colors,interactive:{...n.semantic.colors.interactive,...t?.semantic?.colors?.interactive},feedback:{...n.semantic.colors.feedback,...t?.semantic?.colors?.feedback}},spacing:{...n.semantic.spacing,...t?.semantic?.spacing},typography:{...n.semantic.typography,...t?.semantic?.typography}},components:am(n.components,t?.components)};if(e.validate!==!1){let r=sm(o);if(!r.valid)throw new Error(`Theme validation failed: ${r.errors.map(s=>s.message).join(", ")}`)}if(e.plugins)for(let r of e.plugins)o=r.transform(o);return o}function tp(t){let e=Zd(t),n={};for(let[x,U]of Object.entries(e)){let j=x.replace(/\./g,"-");n[`--persona-${j}`]=U.value}n["--persona-primary"]=n["--persona-semantic-colors-primary"]??n["--persona-palette-colors-primary-500"],n["--persona-secondary"]=n["--persona-semantic-colors-secondary"]??n["--persona-palette-colors-secondary-500"],n["--persona-accent"]=n["--persona-semantic-colors-accent"]??n["--persona-palette-colors-accent-500"],n["--persona-surface"]=n["--persona-semantic-colors-surface"]??n["--persona-palette-colors-gray-50"],n["--persona-background"]=n["--persona-semantic-colors-background"]??n["--persona-palette-colors-gray-50"],n["--persona-container"]=n["--persona-semantic-colors-container"]??n["--persona-palette-colors-gray-100"],n["--persona-text"]=n["--persona-semantic-colors-text"]??n["--persona-palette-colors-gray-900"],n["--persona-text-muted"]=n["--persona-semantic-colors-text-muted"]??n["--persona-palette-colors-gray-500"],n["--persona-text-inverse"]=n["--persona-semantic-colors-text-inverse"]??n["--persona-palette-colors-gray-50"],n["--persona-border"]=n["--persona-semantic-colors-border"]??n["--persona-palette-colors-gray-200"],n["--persona-divider"]=n["--persona-semantic-colors-divider"]??n["--persona-palette-colors-gray-200"],n["--persona-muted"]=n["--persona-text-muted"],n["--persona-voice-recording-indicator"]=n["--persona-components-voice-recording-indicator"]??n["--persona-palette-colors-error-500"],n["--persona-voice-recording-bg"]=n["--persona-components-voice-recording-background"]??n["--persona-palette-colors-error-50"],n["--persona-voice-processing-icon"]=n["--persona-components-voice-processing-icon"]??n["--persona-palette-colors-primary-500"],n["--persona-voice-speaking-icon"]=n["--persona-components-voice-speaking-icon"]??n["--persona-palette-colors-success-500"],n["--persona-approval-bg"]=n["--persona-components-approval-requested-background"]??n["--persona-surface"],n["--persona-approval-border"]=n["--persona-components-approval-requested-border"]??n["--persona-border"],n["--persona-approval-text"]=n["--persona-components-approval-requested-text"]??n["--persona-palette-colors-gray-900"],n["--persona-approval-shadow"]=n["--persona-components-approval-requested-shadow"]??"0 1px 2px 0 rgba(11, 11, 11, 0.06), 0 2px 8px 0 rgba(11, 11, 11, 0.04)",n["--persona-approval-approve-bg"]=n["--persona-components-approval-approve-background"]??n["--persona-button-primary-bg"],n["--persona-approval-deny-bg"]=n["--persona-components-approval-deny-background"]??n["--persona-container"],n["--persona-attachment-image-bg"]=n["--persona-components-attachment-image-background"]??n["--persona-palette-colors-gray-100"],n["--persona-attachment-image-border"]=n["--persona-components-attachment-image-border"]??n["--persona-palette-colors-gray-200"],n["--persona-font-family"]=n["--persona-semantic-typography-fontFamily"]??n["--persona-palette-typography-fontFamily-sans"],n["--persona-font-size"]=n["--persona-semantic-typography-fontSize"]??n["--persona-palette-typography-fontSize-base"],n["--persona-font-weight"]=n["--persona-semantic-typography-fontWeight"]??n["--persona-palette-typography-fontWeight-normal"],n["--persona-line-height"]=n["--persona-semantic-typography-lineHeight"]??n["--persona-palette-typography-lineHeight-normal"],n["--persona-input-font-family"]=n["--persona-font-family"],n["--persona-input-font-weight"]=n["--persona-font-weight"],n["--persona-radius-sm"]=n["--persona-palette-radius-sm"]??"0.125rem",n["--persona-radius-md"]=n["--persona-palette-radius-md"]??"0.375rem",n["--persona-radius-lg"]=n["--persona-palette-radius-lg"]??"0.5rem",n["--persona-radius-xl"]=n["--persona-palette-radius-xl"]??"0.75rem",n["--persona-radius-full"]=n["--persona-palette-radius-full"]??"9999px",n["--persona-launcher-radius"]=n["--persona-components-launcher-borderRadius"]??n["--persona-palette-radius-full"]??"9999px",n["--persona-launcher-bg"]=n["--persona-components-launcher-background"]??n["--persona-primary"],n["--persona-launcher-fg"]=n["--persona-components-launcher-foreground"]??n["--persona-text-inverse"],n["--persona-launcher-border"]=n["--persona-components-launcher-border"]??n["--persona-border"],n["--persona-button-primary-bg"]=n["--persona-components-button-primary-background"]??n["--persona-primary"],n["--persona-button-primary-fg"]=n["--persona-components-button-primary-foreground"]??n["--persona-text-inverse"],n["--persona-button-radius"]=n["--persona-components-button-primary-borderRadius"]??n["--persona-palette-radius-full"]??"9999px",n["--persona-button-ghost-bg"]=n["--persona-components-button-ghost-background"]??"transparent",n["--persona-button-ghost-fg"]=n["--persona-components-button-ghost-foreground"]??n["--persona-text"],n["--persona-button-ghost-radius"]=n["--persona-components-button-ghost-borderRadius"]??n["--persona-radius-md"]??"0.375rem",n["--persona-button-ghost-hover-bg"]=n["--persona-components-button-ghost-hoverBackground"]??"rgba(0, 0, 0, 0.05)",n["--persona-panel-radius"]=n["--persona-components-panel-borderRadius"]??n["--persona-radius-xl"]??"0.75rem",n["--persona-panel-border"]=n["--persona-components-panel-border"]??`1px solid ${n["--persona-border"]}`,n["--persona-panel-shadow"]=n["--persona-components-panel-shadow"]??n["--persona-palette-shadows-xl"]??"0 25px 50px -12px rgba(0, 0, 0, 0.25)",n["--persona-panel-inset"]=n["--persona-components-panel-inset"]??ga,n["--persona-panel-canvas-bg"]=n["--persona-components-panel-canvasBackground"]??ma,n["--persona-launcher-shadow"]=n["--persona-components-launcher-shadow"]??"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)",n["--persona-input-radius"]=n["--persona-components-input-borderRadius"]??n["--persona-radius-lg"]??"0.5rem",n["--persona-message-user-radius"]=n["--persona-components-message-user-borderRadius"]??n["--persona-radius-lg"]??"0.5rem",n["--persona-message-assistant-radius"]=n["--persona-components-message-assistant-borderRadius"]??n["--persona-radius-lg"]??"0.5rem",n["--persona-header-bg"]=n["--persona-components-header-background"]??n["--persona-surface"],n["--persona-header-border"]=n["--persona-components-header-border"]??n["--persona-divider"],n["--persona-header-icon-bg"]=n["--persona-components-header-iconBackground"]??n["--persona-primary"],n["--persona-header-icon-fg"]=n["--persona-components-header-iconForeground"]??n["--persona-text-inverse"],n["--persona-header-title-fg"]=n["--persona-components-header-titleForeground"]??n["--persona-primary"],n["--persona-header-subtitle-fg"]=n["--persona-components-header-subtitleForeground"]??n["--persona-text-muted"],n["--persona-header-action-icon-fg"]=n["--persona-components-header-actionIconForeground"]??n["--persona-muted"];let o=t.components?.header;o?.shadow&&(n["--persona-header-shadow"]=o.shadow),o?.borderBottom&&(n["--persona-header-border-bottom"]=o.borderBottom),n["--persona-intro-card-bg"]=n["--persona-components-introCard-background"]??"transparent",n["--persona-intro-card-radius"]=n["--persona-components-introCard-borderRadius"]??"1rem",n["--persona-intro-card-padding"]=n["--persona-components-introCard-padding"]??"1.5rem",n["--persona-intro-card-shadow"]=n["--persona-components-introCard-shadow"]??"none",n["--persona-input-background"]=n["--persona-components-input-background"]??n["--persona-surface"],n["--persona-input-placeholder"]=n["--persona-components-input-placeholder"]??n["--persona-text-muted"],n["--persona-message-user-bg"]=n["--persona-components-message-user-background"]??n["--persona-accent"],n["--persona-message-user-text"]=n["--persona-components-message-user-text"]??n["--persona-text-inverse"],n["--persona-message-user-shadow"]=n["--persona-components-message-user-shadow"]??"0 5px 15px rgba(15, 23, 42, 0.08)",n["--persona-message-assistant-bg"]=n["--persona-components-message-assistant-background"]??n["--persona-surface"],n["--persona-message-assistant-text"]=n["--persona-components-message-assistant-text"]??n["--persona-text"],n["--persona-message-assistant-border"]=n["--persona-components-message-assistant-border"]??n["--persona-border"],n["--persona-message-assistant-shadow"]=n["--persona-components-message-assistant-shadow"]??"0 1px 2px 0 rgb(0 0 0 / 0.05)",n["--persona-scroll-to-bottom-bg"]=n["--persona-components-scrollToBottom-background"]??n["--persona-button-primary-bg"]??n["--persona-accent"],n["--persona-scroll-to-bottom-fg"]=n["--persona-components-scrollToBottom-foreground"]??n["--persona-button-primary-fg"]??n["--persona-text-inverse"],n["--persona-scroll-to-bottom-border"]=n["--persona-components-scrollToBottom-border"]??n["--persona-primary"],n["--persona-scroll-to-bottom-size"]=n["--persona-components-scrollToBottom-size"]??"40px",n["--persona-scroll-to-bottom-radius"]=n["--persona-components-scrollToBottom-borderRadius"]??n["--persona-button-radius"]??n["--persona-radius-full"]??"9999px",n["--persona-scroll-to-bottom-shadow"]=n["--persona-components-scrollToBottom-shadow"]??n["--persona-palette-shadows-sm"]??"0 1px 2px 0 rgb(0 0 0 / 0.05)",n["--persona-scroll-to-bottom-padding"]=n["--persona-components-scrollToBottom-padding"]??"0.5rem 0.875rem",n["--persona-scroll-to-bottom-gap"]=n["--persona-components-scrollToBottom-gap"]??"0.5rem",n["--persona-scroll-to-bottom-font-size"]=n["--persona-components-scrollToBottom-fontSize"]??n["--persona-palette-typography-fontSize-sm"]??"0.875rem",n["--persona-scroll-to-bottom-icon-size"]=n["--persona-components-scrollToBottom-iconSize"]??"14px",n["--persona-tool-bubble-shadow"]=n["--persona-components-toolBubble-shadow"]??"0 5px 15px rgba(15, 23, 42, 0.08)",n["--persona-reasoning-bubble-shadow"]=n["--persona-components-reasoningBubble-shadow"]??"0 5px 15px rgba(15, 23, 42, 0.08)",n["--persona-composer-shadow"]=n["--persona-components-composer-shadow"]??"none",n["--persona-md-inline-code-bg"]=n["--persona-components-markdown-inlineCode-background"]??n["--persona-container"],n["--persona-md-inline-code-color"]=n["--persona-components-markdown-inlineCode-foreground"]??n["--persona-text"],n["--persona-md-link-color"]=n["--persona-components-markdown-link-foreground"]??n["--persona-accent"]??"#0f0f0f";let r=n["--persona-components-markdown-heading-h1-fontSize"];r&&(n["--persona-md-h1-size"]=r);let s=n["--persona-components-markdown-heading-h1-fontWeight"];s&&(n["--persona-md-h1-weight"]=s);let a=n["--persona-components-markdown-heading-h2-fontSize"];a&&(n["--persona-md-h2-size"]=a);let l=n["--persona-components-markdown-heading-h2-fontWeight"];l&&(n["--persona-md-h2-weight"]=l);let p=n["--persona-components-markdown-prose-fontFamily"];p&&p!=="inherit"&&(n["--persona-md-prose-font-family"]=p),n["--persona-md-code-block-bg"]=n["--persona-components-markdown-codeBlock-background"]??n["--persona-container"],n["--persona-md-code-block-border-color"]=n["--persona-components-markdown-codeBlock-borderColor"]??n["--persona-border"],n["--persona-md-code-block-text-color"]=n["--persona-components-markdown-codeBlock-textColor"]??"inherit",n["--persona-md-table-header-bg"]=n["--persona-components-markdown-table-headerBackground"]??n["--persona-container"],n["--persona-md-table-border-color"]=n["--persona-components-markdown-table-borderColor"]??n["--persona-border"],n["--persona-md-hr-color"]=n["--persona-components-markdown-hr-color"]??n["--persona-divider"],n["--persona-md-blockquote-border-color"]=n["--persona-components-markdown-blockquote-borderColor"]??n["--persona-palette-colors-gray-900"],n["--persona-md-blockquote-bg"]=n["--persona-components-markdown-blockquote-background"]??"transparent",n["--persona-md-blockquote-text-color"]=n["--persona-components-markdown-blockquote-textColor"]??n["--persona-palette-colors-gray-500"],n["--cw-container"]=n["--persona-components-collapsibleWidget-container"]??n["--persona-surface"],n["--cw-surface"]=n["--persona-components-collapsibleWidget-surface"]??n["--persona-surface"],n["--cw-border"]=n["--persona-components-collapsibleWidget-border"]??n["--persona-border"],n["--persona-message-border"]=n["--persona-components-message-border"]??n["--persona-border"];let d=t.components,c=d?.iconButton;c&&(c.background&&(n["--persona-icon-btn-bg"]=c.background),c.border&&(n["--persona-icon-btn-border"]=c.border),c.color&&(n["--persona-icon-btn-color"]=c.color),c.padding&&(n["--persona-icon-btn-padding"]=c.padding),c.borderRadius&&(n["--persona-icon-btn-radius"]=c.borderRadius),c.hoverBackground&&(n["--persona-icon-btn-hover-bg"]=c.hoverBackground),c.hoverColor&&(n["--persona-icon-btn-hover-color"]=c.hoverColor),c.activeBackground&&(n["--persona-icon-btn-active-bg"]=c.activeBackground),c.activeBorder&&(n["--persona-icon-btn-active-border"]=c.activeBorder));let u=d?.labelButton;u&&(u.background&&(n["--persona-label-btn-bg"]=u.background),u.border&&(n["--persona-label-btn-border"]=u.border),u.color&&(n["--persona-label-btn-color"]=u.color),u.padding&&(n["--persona-label-btn-padding"]=u.padding),u.borderRadius&&(n["--persona-label-btn-radius"]=u.borderRadius),u.hoverBackground&&(n["--persona-label-btn-hover-bg"]=u.hoverBackground),u.fontSize&&(n["--persona-label-btn-font-size"]=u.fontSize),u.gap&&(n["--persona-label-btn-gap"]=u.gap));let w=d?.toggleGroup;w&&(w.gap&&(n["--persona-toggle-group-gap"]=w.gap),w.borderRadius&&(n["--persona-toggle-group-radius"]=w.borderRadius));let f=d?.artifact;if(f?.toolbar){let x=f.toolbar;x.iconHoverColor&&(n["--persona-artifact-toolbar-icon-hover-color"]=x.iconHoverColor),x.iconHoverBackground&&(n["--persona-artifact-toolbar-icon-hover-bg"]=x.iconHoverBackground),x.iconPadding&&(n["--persona-artifact-toolbar-icon-padding"]=x.iconPadding),x.iconBorderRadius&&(n["--persona-artifact-toolbar-icon-radius"]=x.iconBorderRadius),x.iconBorder&&(n["--persona-artifact-toolbar-icon-border"]=x.iconBorder),x.toggleGroupGap&&(n["--persona-artifact-toolbar-toggle-group-gap"]=x.toggleGroupGap),x.toggleBorderRadius&&(n["--persona-artifact-toolbar-toggle-radius"]=x.toggleBorderRadius),x.toggleGroupPadding&&(n["--persona-artifact-toolbar-toggle-group-padding"]=x.toggleGroupPadding),x.toggleGroupBorder&&(n["--persona-artifact-toolbar-toggle-group-border"]=x.toggleGroupBorder),x.toggleGroupBorderRadius&&(n["--persona-artifact-toolbar-toggle-group-radius"]=x.toggleGroupBorderRadius),x.toggleGroupBackground&&(n["--persona-artifact-toolbar-toggle-group-bg"]=qt(t,x.toggleGroupBackground)??x.toggleGroupBackground),x.copyBackground&&(n["--persona-artifact-toolbar-copy-bg"]=x.copyBackground),x.copyBorder&&(n["--persona-artifact-toolbar-copy-border"]=x.copyBorder),x.copyColor&&(n["--persona-artifact-toolbar-copy-color"]=x.copyColor),x.copyBorderRadius&&(n["--persona-artifact-toolbar-copy-radius"]=x.copyBorderRadius),x.copyPadding&&(n["--persona-artifact-toolbar-copy-padding"]=x.copyPadding),x.copyMenuBackground&&(n["--persona-artifact-toolbar-copy-menu-bg"]=x.copyMenuBackground,n["--persona-dropdown-bg"]=n["--persona-dropdown-bg"]??x.copyMenuBackground),x.copyMenuBorder&&(n["--persona-artifact-toolbar-copy-menu-border"]=x.copyMenuBorder,n["--persona-dropdown-border"]=n["--persona-dropdown-border"]??x.copyMenuBorder),x.copyMenuShadow&&(n["--persona-artifact-toolbar-copy-menu-shadow"]=x.copyMenuShadow,n["--persona-dropdown-shadow"]=n["--persona-dropdown-shadow"]??x.copyMenuShadow),x.copyMenuBorderRadius&&(n["--persona-artifact-toolbar-copy-menu-radius"]=x.copyMenuBorderRadius,n["--persona-dropdown-radius"]=n["--persona-dropdown-radius"]??x.copyMenuBorderRadius),x.copyMenuItemHoverBackground&&(n["--persona-artifact-toolbar-copy-menu-item-hover-bg"]=x.copyMenuItemHoverBackground,n["--persona-dropdown-item-hover-bg"]=n["--persona-dropdown-item-hover-bg"]??x.copyMenuItemHoverBackground),x.iconBackground&&(n["--persona-artifact-toolbar-icon-bg"]=x.iconBackground),x.toolbarBorder&&(n["--persona-artifact-toolbar-border"]=x.toolbarBorder)}if(f?.tab){let x=f.tab;x.background&&(n["--persona-artifact-tab-bg"]=x.background),x.activeBackground&&(n["--persona-artifact-tab-active-bg"]=x.activeBackground),x.activeBorder&&(n["--persona-artifact-tab-active-border"]=x.activeBorder),x.borderRadius&&(n["--persona-artifact-tab-radius"]=x.borderRadius),x.textColor&&(n["--persona-artifact-tab-color"]=x.textColor),x.hoverBackground&&(n["--persona-artifact-tab-hover-bg"]=x.hoverBackground),x.listBackground&&(n["--persona-artifact-tab-list-bg"]=x.listBackground),x.listBorderColor&&(n["--persona-artifact-tab-list-border-color"]=x.listBorderColor),x.listPadding&&(n["--persona-artifact-tab-list-padding"]=x.listPadding)}if(f?.pane){let x=f.pane;if(x.toolbarBackground){let U=qt(t,x.toolbarBackground)??x.toolbarBackground;n["--persona-artifact-toolbar-bg"]=U}}if(f?.card){let x=f.card;x.background&&(n["--persona-artifact-card-bg"]=x.background),x.border&&(n["--persona-artifact-card-border"]=x.border),x.borderRadius&&(n["--persona-artifact-card-radius"]=x.borderRadius),x.hoverBackground&&(n["--persona-artifact-card-hover-bg"]=x.hoverBackground),x.hoverBorderColor&&(n["--persona-artifact-card-hover-border"]=x.hoverBorderColor)}if(f?.inline){let x=f.inline;x.background&&(n["--persona-artifact-inline-bg"]=qt(t,x.background)??x.background),x.border&&(n["--persona-artifact-inline-border"]=x.border),x.borderRadius&&(n["--persona-artifact-inline-radius"]=x.borderRadius),x.chromeBackground&&(n["--persona-artifact-inline-chrome-bg"]=qt(t,x.chromeBackground)??x.chromeBackground),x.chromeBorder&&(n["--persona-artifact-inline-chrome-border"]=qt(t,x.chromeBorder)??x.chromeBorder),x.titleColor&&(n["--persona-artifact-inline-title-color"]=qt(t,x.titleColor)??x.titleColor),x.mutedColor&&(n["--persona-artifact-inline-muted-color"]=qt(t,x.mutedColor)??x.mutedColor),x.frameHeight&&(n["--persona-artifact-inline-frame-height"]=x.frameHeight)}let v=d?.code;v&&(v.keywordColor&&(n["--persona-code-keyword-color"]=v.keywordColor),v.stringColor&&(n["--persona-code-string-color"]=v.stringColor),v.commentColor&&(n["--persona-code-comment-color"]=v.commentColor),v.numberColor&&(n["--persona-code-number-color"]=v.numberColor),v.tagColor&&(n["--persona-code-tag-color"]=v.tagColor),v.attrColor&&(n["--persona-code-attr-color"]=v.attrColor),v.propertyColor&&(n["--persona-code-property-color"]=v.propertyColor),v.lineNumberColor&&(n["--persona-code-line-number-color"]=v.lineNumberColor),v.gutterBorderColor&&(n["--persona-code-gutter-border-color"]=v.gutterBorderColor),v.background&&(n["--persona-code-bg"]=qt(t,v.background)??v.background));let C=n["--persona-surface"],I=n["--persona-container"],B=n["--persona-palette-colors-gray-100"]??"#f3f4f6",k=n["--persona-palette-colors-gray-200"]??"#e5e7eb",M=n["--persona-palette-colors-gray-300"]??"#d1d5db",P=!I||I===C,z=P?B:I,K=P?k:I;return n["--persona-icon-btn-hover-bg"]=n["--persona-icon-btn-hover-bg"]??z,n["--persona-icon-btn-active-bg"]=n["--persona-icon-btn-active-bg"]??K,P&&(n["--persona-icon-btn-active-border"]=n["--persona-icon-btn-active-border"]??M),n["--persona-label-btn-hover-bg"]=n["--persona-label-btn-hover-bg"]??z,n["--persona-artifact-tab-hover-bg"]=n["--persona-artifact-tab-hover-bg"]??z,n["--persona-artifact-card-hover-bg"]=n["--persona-artifact-card-hover-bg"]??z,n}var im={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"}}},np=t=>{if(!(!t||typeof t!="object"||Array.isArray(t)))return t},Qi=()=>typeof document<"u"&&document.documentElement.classList.contains("dark")||typeof window<"u"&&window.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light",lm=t=>{let e=t?.colorScheme??"light";return e==="light"?"light":e==="dark"?"dark":Qi()},op=t=>lm(t),cm=t=>nr(t),dm=t=>nr({...t,palette:{...t?.palette,colors:{...im.colors,...t?.palette?.colors}}},{validate:!1}),or=t=>{let e=op(t),n=np(t?.theme),o=np(t?.darkTheme);return e==="dark"?dm(Jr(n??{},o??{})):cm(n)},pm=t=>tp(t),Yr=(t,e)=>{let n=or(e),o=pm(n);for(let[r,s]of Object.entries(o))t.style.setProperty(r,s);t.setAttribute("data-persona-color-scheme",op(e))},ha=t=>{let e=[];if(typeof document<"u"&&typeof MutationObserver<"u"){let n=new MutationObserver(()=>{t(Qi())});n.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),e.push(()=>n.disconnect())}if(typeof window<"u"&&window.matchMedia){let n=window.matchMedia("(prefers-color-scheme: dark)"),o=()=>t(Qi());n.addEventListener?(n.addEventListener("change",o),e.push(()=>n.removeEventListener("change",o))):n.addListener&&(n.addListener(o),e.push(()=>n.removeListener(o)))}return()=>{e.forEach(n=>n())}};function Sn(t){let e=String(t).split(/[\\/]/);return e[e.length-1]??""}function rp(t){let e=Sn(t),n=e.lastIndexOf(".");return n<=0?"":e.slice(n+1).toLowerCase()}function ya(t){if(typeof t!="string")return"";let e=t.indexOf(`
|
|
25
25
|
`);if(e===-1||!t.slice(0,e).startsWith("```"))return t;let o=t.slice(e+1),r=o.lastIndexOf(`
|
|
26
26
|
`);return(r===-1?o:o.slice(0,r)).split("`\u200B``").join("```")}function Zr(t){let e=rp(t.path);if(e)return e==="html"||e==="htm"?"html":e==="svg"?"svg":e==="md"||e==="mdx"?"markdown":"other";let n=(t.mimeType||"").toLowerCase();return n.includes("html")?"html":n.includes("svg")?"svg":n.includes("markdown")?"markdown":"other"}function oo(t){switch(Zr(t)){case"html":return"HTML";case"svg":return"SVG";case"markdown":return"Markdown";default:{let e=rp(t.path);return e?e.toUpperCase():"File"}}}function sp(t){let e=t.markdown??"";return t.file?{filename:Sn(t.file.path)||"artifact",mime:t.file.mimeType||"application/octet-stream",content:ya(e)}:{filename:`${t.title||"artifact"}.md`,mime:"text/markdown",content:e}}var Xi="http://www.w3.org/2000/svg";function ap(t){let e=document.createElementNS(Xi,"svg");e.setAttribute("class",Wn("persona-spinner",t)),e.setAttribute("viewBox","0 0 24 24"),e.setAttribute("aria-hidden","true"),e.setAttribute("focusable","false");let n=document.createElementNS(Xi,"circle");n.setAttribute("class","persona-spinner-track"),n.setAttribute("cx","12"),n.setAttribute("cy","12"),n.setAttribute("r","9");let o=document.createElementNS(Xi,"circle");return o.setAttribute("class","persona-spinner-arc"),o.setAttribute("cx","12"),o.setAttribute("cy","12"),o.setAttribute("r","9"),e.appendChild(n),e.appendChild(o),e}var ro=(t,e,n)=>{let o=n;for(let r of e){let s=h("span","persona-tool-char");s.style.setProperty("--char-index",String(o)),s.textContent=r===" "?"\xA0":r,t.appendChild(s),o++}return o};function ip(t,e,n){let o=n?.loadingAnimation??"shimmer",r=n?.loadingAnimationDuration??2e3;if(o==="none"){t.textContent=e;return}if(o==="pulse"){t.setAttribute("data-preserve-animation","true"),t.classList.add("persona-tool-loading-pulse"),t.style.setProperty("--persona-tool-anim-duration",`${r}ms`),t.textContent=e;return}t.setAttribute("data-preserve-animation","true"),t.classList.add(`persona-tool-loading-${o}`),t.style.setProperty("--persona-tool-anim-duration",`${r}ms`),o==="shimmer-color"&&(n?.loadingAnimationColor&&t.style.setProperty("--persona-tool-anim-color",n.loadingAnimationColor),n?.loadingAnimationSecondaryColor&&t.style.setProperty("--persona-tool-anim-secondary-color",n.loadingAnimationSecondaryColor)),ro(t,e,0)}var Ji="persona-artifact-status-label",lp="persona-artifact-status-detail",cp="data-artifact-status-label",Yi=new Map,dp=()=>typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now();function rr(t){t&&Yi.delete(t)}function um(t){let e=t.artifactType==="markdown"?t.file:void 0;return e?oo(e):t.artifactType==="component"?"Component":"Document"}function sr(t,e,n){let o=um(t),r=`Generating ${o.toLowerCase()}...`,s=e?.statusLabel;if(typeof s=="string")return{label:s};if(typeof s!="function")return{label:r};let a=t.id,l=Yi.get(a);t.status!=="complete"&&l===void 0&&(l=dp(),Yi.set(a,l));let p=l===void 0?0:Math.max(0,dp()-l),d=t.artifactType==="component",c=!d&&typeof t.markdown=="string"?t.markdown:"",u=d?0:c.length,w=d||c===""?0:c.split(`
|
|
27
27
|
`).length,f=t.artifactType==="markdown"?t.file:void 0,v={artifactId:a,artifactType:t.artifactType,title:t.title,typeLabel:o,file:f,chars:u,lines:w,elapsedMs:p,content:()=>d?"":c,surface:n};try{let C=s(v);return typeof C=="string"?{label:C}:C&&typeof C=="object"&&typeof C.label=="string"?{label:C.label,detail:typeof C.detail=="string"?C.detail:void 0}:{label:r}}catch{return{label:r}}}function fm(t){t.className=Ji,t.removeAttribute("data-preserve-animation"),t.style.removeProperty("--persona-tool-anim-duration"),t.style.removeProperty("--persona-tool-anim-color"),t.style.removeProperty("--persona-tool-anim-secondary-color"),t.replaceChildren()}function ko(t,e,n){let o=t.querySelector(`:scope > .${Ji}`);o||(o=h("span",Ji),t.appendChild(o)),o.getAttribute(cp)!==e.label&&(fm(o),ip(o,e.label,n),o.setAttribute(cp,e.label));let r=t.querySelector(`:scope > .${lp}`),s=e.detail;s?(r||(r=h("span",lp),t.appendChild(r)),r.textContent!==s&&(r.textContent=s)):r&&r.remove()}var gm={keyword:"persona-code-token-keyword",string:"persona-code-token-string",comment:"persona-code-token-comment",number:"persona-code-token-number",tag:"persona-code-token-tag",attr:"persona-code-token-attr",property:"persona-code-token-property"},mm=15e4,ba={html:"html",htm:"html",xhtml:"html",xml:"html",svg:"html",css:"css",js:"js",jsx:"js",mjs:"js",cjs:"js",ts:"js",tsx:"js",mts:"js",cts:"js",javascript:"js",typescript:"js",ecmascript:"js",json:"json",jsonc:"json",json5:"json"};function hm(t,e){let n=(t||"").trim().toLowerCase();if(n&&ba[n])return ba[n];if(e){let o=e.lastIndexOf(".");if(o>=0){let r=e.slice(o+1).toLowerCase();if(ba[r])return ba[r]}}return null}function va(t,e){let n=[],o=0,r=0,s=a=>{a>r&&n.push({type:"plain",value:t.slice(r,a)})};for(;o<t.length;){let a=!1;for(let l of e){l.re.lastIndex=o;let p=l.re.exec(t);if(p&&p.index===o&&p[0].length>0){s(o);let d=l.map?l.map(p[0]):l.type;n.push({type:d,value:p[0]}),o+=p[0].length,r=o,a=!0;break}}a||(o+=1)}return s(t.length),n}var ym=new Set(["abstract","any","as","async","await","boolean","break","case","catch","class","const","continue","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","instanceof","interface","keyof","let","namespace","never","new","null","number","object","of","private","protected","public","readonly","return","satisfies","set","static","string","super","switch","symbol","this","throw","true","try","type","typeof","undefined","unknown","var","void","while","yield"]),bm=[{type:"comment",re:/\/\/[^\n]*/y},{type:"comment",re:/\/\*[\s\S]*?\*\//y},{type:"string",re:/`(?:\\[\s\S]|[^\\`])*`/y},{type:"string",re:/"(?:\\.|[^"\\\n])*"/y},{type:"string",re:/'(?:\\.|[^'\\\n])*'/y},{type:"number",re:/0[xX][0-9a-fA-F]+|(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?/y},{type:"plain",re:/[A-Za-z_$][\w$]*/y,map:t=>ym.has(t)?"keyword":"plain"}];function pp(t){return va(t,bm)}var vm=[{type:"string",re:/"(?:\\.|[^"\\])*"/y},{type:"number",re:/-?(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?/y},{type:"plain",re:/[A-Za-z_]\w*/y,map:t=>t==="true"||t==="false"||t==="null"?"keyword":"plain"}];function wm(t){let e=va(t,vm);for(let n=0;n<e.length;n+=1){if(e[n].type!=="string")continue;let o=n+1;for(;o<e.length&&e[o].value.trim()==="";)o+=1;let r=e[o];r&&r.value.replace(/^\s*/,"").startsWith(":")&&(e[n].type="property")}return e}var xm=[{type:"comment",re:/\/\*[\s\S]*?\*\//y},{type:"string",re:/"(?:\\.|[^"\\\n])*"/y},{type:"string",re:/'(?:\\.|[^'\\\n])*'/y},{type:"keyword",re:/@[A-Za-z-]+/y},{type:"number",re:/#[0-9a-fA-F]{3,8}\b/y},{type:"number",re:/-?(?:\d+\.?\d*|\.\d+)(?:[a-z%]+)?/y},{type:"plain",re:/[A-Za-z_-][\w-]*/y}];function up(t){let e=va(t,xm),n="";for(let o=0;o<e.length;o+=1){let r=e[o];if(r.type==="plain"&&/^[A-Za-z_-][\w-]*$/.test(r.value)){let a=o+1;for(;a<e.length&&e[a].value.trim()==="";)a+=1;let l=e[a];l&&l.value.replace(/^\s*/,"").startsWith(":")&&(n===""||n==="{"||n==="}"||n===";"||n===",")&&(r.type="property")}let s=r.value.replace(/\s+$/,"");s&&(n=s[s.length-1])}return e}var Cm=[{type:"tag",re:/<\/?\s*[A-Za-z][\w:-]*/y},{type:"string",re:/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'/y},{type:"attr",re:/[A-Za-z_:@][\w:.-]*(?=\s*=)/y},{type:"attr",re:/[A-Za-z_:@][\w:.-]*/y},{type:"tag",re:/\/?>/y}];function Am(t){let e=[],n=(s,a)=>{a&&e.push({type:s,value:a})},o=t.length,r=0;for(;r<o;){if(t.startsWith("<!--",r)){let a=t.indexOf("-->",r+4),l=a===-1?o:a+3;n("comment",t.slice(r,l)),r=l;continue}if(t[r]==="<"&&t[r+1]==="!"){let a=t.indexOf(">",r),l=a===-1?o:a+1;n("tag",t.slice(r,l)),r=l;continue}if(t[r]==="<"&&/[A-Za-z/]/.test(t[r+1]||"")){let a=t.indexOf(">",r),l=a===-1?o:a+1,p=t.slice(r,l);for(let c of va(p,Cm))e.push(c);r=l;let d=/^<\s*(script|style)\b/i.exec(p);if(d&&!/\/>\s*$/.test(p)){let c=d[1].toLowerCase(),w=new RegExp("</\\s*"+c+"\\s*>","i").exec(t.slice(r)),f=w?r+w.index:o,v=t.slice(r,f),C=c==="script"?pp(v):up(v);for(let I of C)e.push(I);r=f}continue}let s=t.indexOf("<",r);if(s===r)n("plain",t[r]),r+=1;else{let a=s===-1?o:s;n("plain",t.slice(r,a)),r=a}}return e}function Sm(t,e){switch(e){case"html":return Am(t);case"css":return up(t);case"js":return pp(t);case"json":return wm(t)}}function Tm(t){let e=jc(),n=h("span","persona-code-line"),o=(r,s)=>{if(!s)return;let a=gm[r];if(a){let l=h("span",a);l.textContent=s,n.appendChild(l)}else n.appendChild(document.createTextNode(s))};for(let r of t){let s=r.value.split(`
|
|
28
28
|
`);for(let a=0;a<s.length;a+=1)a>0&&(e.appendChild(n),e.appendChild(document.createTextNode(`
|
|
29
|
-
`)),n=h("span","persona-code-line")),o(r.type,s[a])}return n.childNodes.length>0?e.appendChild(n):e.lastChild||e.appendChild(n),e}function fp(t,e,n){let o=t.length<=mm?hm(e,n):null,r=o?Sm(t,o):[{type:"plain",value:t}];return Tm(r)}function ar(t){let{items:e,onSelect:n,anchor:o,position:r="bottom-left",portal:s}=t,a=h("div","persona-dropdown-menu persona-hidden");a.setAttribute("role","menu"),a.setAttribute("data-persona-theme-zone","dropdown"),s?(a.style.position="fixed",a.style.zIndex=String(ua)):(a.style.position="absolute",a.style.top="100%",a.style.marginTop="4px",r==="bottom-right"?a.style.right="0":a.style.left="0");for(let f of e){if(f.dividerBefore){let I=document.createElement("hr");a.appendChild(I)}let v=document.createElement("button");if(v.type="button",v.setAttribute("role","menuitem"),v.setAttribute("data-dropdown-item-id",f.id),f.destructive&&v.setAttribute("data-destructive",""),f.icon){let I=re(f.icon,16,"currentColor",1.5);I&&v.appendChild(I)}let C=document.createElement("span");C.textContent=f.label,v.appendChild(C),v.addEventListener("click",I=>{I.stopPropagation(),c(),n(f.id)}),a.appendChild(v)}let l=null;function p(){if(!s)return;let f=o.getBoundingClientRect();a.style.top=`${f.bottom+4}px`,r==="bottom-right"?(a.style.right=`${window.innerWidth-f.right}px`,a.style.left="auto"):(a.style.left=`${f.left}px`,a.style.right="auto")}function d(){p(),a.classList.remove("persona-hidden"),requestAnimationFrame(()=>{let f=v=>{!a.contains(v.target)&&!o.contains(v.target)&&c()};document.addEventListener("click",f,!0),l=()=>document.removeEventListener("click",f,!0)})}function c(){a.classList.add("persona-hidden"),l?.(),l=null}function u(){a.classList.contains("persona-hidden")?d():c()}function w(){c(),a.remove()}return s&&s.appendChild(a),{element:a,show:d,hide:c,toggle:u,destroy:w}}function Rt(t){let{icon:e,label:n,size:o,strokeWidth:r,className:s,onClick:a,aria:l}=t,p=h("button","persona-icon-btn"+(s?" "+s:""));p.type="button",p.setAttribute("aria-label",n),p.title=n;let d=re(e,o??16,"currentColor",r??2);if(d&&p.appendChild(d),a&&p.addEventListener("click",a),l)for(let[c,u]of Object.entries(l))p.setAttribute(c,u);return p}function Lo(t){let{icon:e,label:n,variant:o="default",size:r="sm",iconSize:s,className:a,onClick:l,aria:p}=t,d="persona-label-btn";o!=="default"&&(d+=" persona-label-btn--"+o),d+=" persona-label-btn--"+r,a&&(d+=" "+a);let c=h("button",d);if(c.type="button",c.setAttribute("aria-label",n),e){let w=re(e,s??14,"currentColor",2);w&&c.appendChild(w)}let u=h("span");if(u.textContent=n,c.appendChild(u),l&&c.addEventListener("click",l),p)for(let[w,f]of Object.entries(p))c.setAttribute(w,f);return c}function wa(t){let{items:e,selectedId:n,onSelect:o,className:r}=t,s=h("div","persona-toggle-group"+(r?" "+r:""));s.setAttribute("role","group");let a=n,l=[];function p(){for(let c of l)c.btn.setAttribute("aria-pressed",c.id===a?"true":"false")}for(let c of e){let u;c.icon?u=Rt({icon:c.icon,label:c.label,className:c.className,onClick:()=>{a=c.id,p(),o(c.id)}}):(u=h("button","persona-icon-btn"+(c.className?" "+c.className:"")),u.type="button",u.setAttribute("aria-label",c.label),u.title=c.label,u.textContent=c.label,u.addEventListener("click",()=>{a=c.id,p(),o(c.id)})),u.setAttribute("aria-pressed",c.id===a?"true":"false"),l.push({id:c.id,btn:u}),s.appendChild(u)}function d(c){a=c,p()}return{element:s,setSelected:d}}function gp(t){let{label:e,icon:n="chevron-down",menuItems:o,onSelect:r,position:s="bottom-left",portal:a,className:l,hover:p}=t,d=h("div","persona-combo-btn"+(l?" "+l:""));d.style.position="relative",d.style.display="inline-flex",d.style.alignItems="center",d.style.cursor="pointer",d.setAttribute("role","button"),d.setAttribute("tabindex","0"),d.setAttribute("aria-haspopup","true"),d.setAttribute("aria-expanded","false"),d.setAttribute("aria-label",e);let c=h("span","persona-combo-btn-label");c.textContent=e,d.appendChild(c);let u=re(n,14,"currentColor",2);u&&(u.style.marginLeft="4px",u.style.opacity="0.6",d.appendChild(u)),p&&(d.style.borderRadius=p.borderRadius??"10px",d.style.padding=p.padding??"6px 4px 6px 12px",d.style.border="1px solid transparent",d.style.transition="background-color 0.15s ease, border-color 0.15s ease",d.addEventListener("mouseenter",()=>{d.style.backgroundColor=p.background??"",d.style.borderColor=p.border??""}),d.addEventListener("mouseleave",()=>{d.style.backgroundColor="",d.style.borderColor="transparent"}));let w=ar({items:o,onSelect:f=>{d.setAttribute("aria-expanded","false"),r(f)},anchor:d,position:s,portal:a});return a||d.appendChild(w.element),d.addEventListener("click",f=>{f.stopPropagation();let v=!w.element.classList.contains("persona-hidden");d.setAttribute("aria-expanded",v?"false":"true"),w.toggle()}),d.addEventListener("keydown",f=>{(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),d.click())}),{element:d,setLabel:f=>{c.textContent=f,d.setAttribute("aria-label",f)},open:()=>{d.setAttribute("aria-expanded","true"),w.show()},close:()=>{d.setAttribute("aria-expanded","false"),w.hide()},toggle:()=>{let f=!w.element.classList.contains("persona-hidden");d.setAttribute("aria-expanded",f?"false":"true"),w.toggle()},destroy:()=>{w.destroy(),d.remove()}}}var xa="persona-artifact-custom-action-btn";function ir(t,e){let n=e?.documentChrome??!1,o;if(typeof t.icon=="function"){if(t.showLabel){let r="persona-label-btn persona-label-btn--sm "+xa+(n?" persona-artifact-doc-copy-btn":"");o=h("button",r)}else{let r="persona-icon-btn "+xa+(n?" persona-artifact-doc-icon-btn":"");o=h("button",r)}o.type="button",o.setAttribute("aria-label",t.label),o.title=t.label;try{let r=t.icon();r&&o.appendChild(r)}catch{}if(t.showLabel){let r=h("span");r.textContent=t.label,o.appendChild(r)}}else t.showLabel||!t.icon?o=Lo({icon:t.icon,label:t.label,className:xa+(n?" persona-artifact-doc-copy-btn":"")}):o=Rt({icon:t.icon,label:t.label,className:xa+(n?" persona-artifact-doc-icon-btn":"")});return e?.onClick&&o.addEventListener("click",e.onClick),o}function es(t){if(!t)return null;let e={artifactId:t.id,title:t.title??"",artifactType:t.artifactType};return t.artifactType==="markdown"?(e.markdown=t.markdown??"",t.file&&(e.file=t.file)):e.jsonPayload=JSON.stringify({component:t.component,props:t.props},null,2),e}function mp(t,e){let n=t.file&&typeof t.file=="object"&&!Array.isArray(t.file)?t.file:void 0,o=typeof t.title=="string"&&t.title?t.title:"Untitled artifact",r=n?Sn(n.path):o,s=typeof t.artifactId=="string"?t.artifactId:"",a=t.status==="streaming"?"streaming":"complete",l=typeof t.artifactType=="string"?t.artifactType:"markdown",p=n?oo(n):l==="component"?"Component":"Document",d=document.createElement("div");d.className="persona-artifact-card persona-flex persona-w-full persona-max-w-full persona-items-center persona-gap-3 persona-px-4 persona-py-3",d.tabIndex=0,d.setAttribute("role","button"),d.setAttribute("aria-label",`Open ${r} in artifact panel`),s&&d.setAttribute("data-open-artifact",s);let c=document.createElement("div");c.className="persona-flex persona-h-10 persona-w-10 persona-flex-shrink-0 persona-items-center persona-justify-center persona-rounded-lg",c.style.border="1px solid var(--persona-border, #e5e7eb)",c.style.color="var(--persona-muted, #9ca3af)",c.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"/><polyline points="14 2 14 8 20 8"/></svg>';let u=document.createElement("div");u.className="persona-min-w-0 persona-flex-1 persona-flex persona-flex-col persona-gap-0.5";let w=document.createElement("div");w.className="persona-truncate persona-text-sm persona-font-medium",w.style.color="var(--persona-text, #1f2937)",w.textContent=r;let f=document.createElement("div");if(f.className="persona-text-xs persona-flex persona-items-center persona-gap-1.5",f.style.color="var(--persona-muted, #9ca3af)",a==="streaming"){let v=e?.config?.features?.artifacts,C={id:s,artifactType:l==="component"?"component":"markdown",title:o,status:"streaming",...typeof t.markdown=="string"?{markdown:t.markdown}:{},...n?{file:n}:{}},I=sr(C,v,"card");ko(f,I,v)}else s&&rr(s),f.textContent=p;if(u.append(w,f),d.append(c,u),a==="complete"){let v=e?.config?.features?.artifacts?.cardActions;if(v&&v.length>0){let I={artifactId:s||null,title:r,artifactType:l,markdown:typeof t.markdown=="string"?t.markdown:void 0,file:n};for(let B of v)try{if(B.visible===void 0||B.visible(I)){let k=ir(B);k.setAttribute("data-artifact-custom-action",B.id),k.className=`${k.className} persona-flex-shrink-0`,d.append(k)}}catch{}}let C=Lo({label:"Download",className:"persona-flex-shrink-0"});C.title=`Download ${r}`,C.setAttribute("data-download-artifact",s),d.append(C)}return d}var Ca=(t,e)=>{let n=e?.config?.features?.artifacts?.renderCard;if(n){let o=typeof t.title=="string"&&t.title?t.title:"Untitled artifact",r=typeof t.artifactId=="string"?t.artifactId:"",s=t.status==="streaming"?"streaming":"complete",a=typeof t.artifactType=="string"?t.artifactType:"markdown",l=n({artifact:{artifactId:r,title:o,artifactType:a,status:s},config:e.config,defaultRenderer:()=>mp(t,e)});if(l)return l}return mp(t,e)};var so=new WeakMap;function Zi(t,e,n){if(e.length===0)return;let o=new Map(e.map(r=>[r.id,r]));t.querySelectorAll("[data-artifact-inline]").forEach(r=>{let s=so.get(r);if(!s)return;let a=o.get(r.getAttribute("data-artifact-inline")??"");a&&s(a,n)})}function wp(t){return so.has(t)}function Mm(t){let e=typeof t.artifactId=="string"?t.artifactId:"",n=typeof t.title=="string"&&t.title?t.title:void 0,o=t.status==="streaming"?"streaming":"complete";if(t.artifactType==="component"){let s=t.componentProps,a=s&&typeof s=="object"&&!Array.isArray(s)?s:{};return{id:e,artifactType:"component",title:n,status:o,component:typeof t.component=="string"?t.component:"",props:a}}let r=t.file&&typeof t.file=="object"&&!Array.isArray(t.file)?t.file:void 0;return{id:e,artifactType:"markdown",title:n,status:o,markdown:typeof t.markdown=="string"?t.markdown:"",...r?{file:r}:{}}}function hp(t){let e=t.artifactType==="markdown"?t.file:void 0,n=e?Sn(e.path):t.title&&t.title.trim()?t.title:"Untitled artifact",o=e?oo(e):t.artifactType==="component"?"Component":"Document";return{title:n,typeLabel:o}}function Em(t){let e={artifactId:t.id,title:t.title??"",status:t.status,artifactType:t.artifactType};return t.artifactType==="markdown"&&(typeof t.markdown=="string"&&(e.markdown=t.markdown),t.file&&(e.file=t.file)),e}var yp=180,km=240,Lm=.8,Pm=300,Im=500,Rm="cubic-bezier(0.2, 0, 0, 1)",bp=240,Wm=.35;function Hm(t,e,n){let{swap:o,onSettled:r}=n,s=!1;try{s=typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{s=!1}if(!e||!t.isConnected||s||typeof t.animate!="function"){o(),r();return}t.style.height=`${e}px`,t.style.overflow="hidden";let a=[];for(let l of Array.from(t.children))l instanceof HTMLElement&&a.push(l.animate([{opacity:1},{opacity:0}],{duration:yp,easing:"ease-out",fill:"forwards"}));window.setTimeout(()=>{for(let B of a)B.cancel();o();let l=()=>{t.style.removeProperty("height"),t.style.removeProperty("overflow")};if(!t.isConnected){l(),r();return}t.style.height="auto";let p=t.getBoundingClientRect().height;if(t.style.height=`${e}px`,!p||Math.abs(p-e)<1){l(),r();return}let d=Math.abs(e-p),c=Math.round(Math.min(Im,Math.max(Pm,km+d*Lm))),u=Math.round(c*Wm),w=t.firstElementChild instanceof HTMLElement?t.firstElementChild:null,f=w?w.animate([{opacity:0},{opacity:1}],{duration:bp,delay:u,easing:"ease-out",fill:"backwards"}):null,v=t.animate([{height:`${e}px`},{height:`${p}px`}],{duration:c,easing:Rm});t.style.height=`${p}px`;let C=!1,I=()=>{C||(C=!0,l(),r())};Promise.allSettled([v.finished,f?.finished].filter(Boolean)).then(I),window.setTimeout(I,Math.max(c,u+bp)+120)},yp)}function Bm(t){let e=t?.inlineChrome;if(e===!1)return{chromeEnabled:!1,showCopy:!1,showExpand:!1,showViewToggle:!1};let n=typeof e=="object"?e:void 0;return{chromeEnabled:!0,showCopy:n?.showCopy!==!1,showExpand:n?.showExpand!==!1,showViewToggle:n?.showViewToggle!==!1}}var ts="--persona-artifact-inline-body-height";function Dm(t){let e=t?.inlineBody,n=e?.streamingView==="status"?"status":"source",o=e?.viewMode==="source"?"source":"rendered",r=320,s=320,a=e?.height;typeof a=="number"||a==="auto"?(r=a,s=a):a&&typeof a=="object"&&(r=a.streaming??320,s=a.complete??320);let l=e?.overflow==="clip"?"clip":"scroll",p=l==="clip"?!1:e?.followOutput!==!1,d,c,u=e?.fadeMask;u===!0?(d=!0,c=!0):u===!1?(d=!1,c=!1):u&&typeof u=="object"?(d=u.top===!0,c=u.bottom===!0):l==="clip"?(d=!1,c=!0):(d=!0,c=!0);let w=e?.transition==="none"?"none":"auto",f=e?.completeDisplay==="card"?"card":"inline";return{streamingView:n,viewMode:o,streamingHeight:r,completeHeight:s,followOutput:p,overflow:l,fadeTop:d,fadeBottom:c,transition:w,completeDisplay:f}}function vp(t,e){let n=Mm(t),o=e.config?.features?.artifacts,{chromeEnabled:r,showCopy:s,showExpand:a,showViewToggle:l}=Bm(o),p=o?.inlineActions??[],d=Dm(o),c=d.completeDisplay==="card",u=null,w=n,f=h("div","persona-artifact-inline persona-w-full persona-max-w-full");f.setAttribute("data-persona-theme-zone","artifact-inline"),n.id&&f.setAttribute("data-artifact-inline",n.id);let v=Y=>Ca(Em(Y),e),C=Y=>{f.classList.add("persona-artifact-inline--card"),f.style.removeProperty(ts),f.replaceChildren(v(Y)),so.set(f,ae=>{f.replaceChildren(v(ae))})};if(c&&n.status==="complete")return C(n),f;let I=Aa(n,{config:e.config,bodyLayout:d,resolveViewMode:()=>u??d.viewMode}),B=h("div","persona-artifact-inline-body");B.appendChild(I.el);let k=Y=>{let ae=Y.status!=="complete",Z=ae?d.streamingHeight:d.completeHeight,he=typeof Z=="number";he?f.style.setProperty(ts,`${Z}px`):f.style.removeProperty(ts);let ye=!!I.el.querySelector(".persona-code-pre"),pe=!!I.el.querySelector("iframe, .persona-artifact-source-window--fixed, .persona-artifact-status-view");B.classList.toggle("persona-artifact-content-flush",ye),B.classList.toggle("persona-artifact-inline-body--sized",he&&pe),B.classList.toggle("persona-artifact-inline-body--cap",!ae&&!pe&&typeof d.completeHeight=="number")},M=n.status,P=(Y,ae)=>{M!=="complete"&&Y.status==="complete"?(typeof d.completeHeight=="number"?f.style.setProperty(ts,`${d.completeHeight}px`):f.style.removeProperty(ts),Cp(B,ae?.suppressTransition?"none":d.transition,Y.id,()=>{I.update(Y),k(Y)})):I.update(Y),k(Y),M=Y.status};k(n);let z=d.overflow==="clip"&&a&&!!n.id;if(z&&(B.setAttribute("data-expand-artifact-inline",n.id),B.setAttribute("role","button"),B.setAttribute("tabindex","0"),B.classList.add("persona-cursor-pointer"),B.setAttribute("aria-label",`Open ${hp(n).title} in panel`)),!r)return f.appendChild(B),so.set(f,P),f;let K=h("div","persona-artifact-inline-chrome");K.setAttribute("data-persona-theme-zone","artifact-inline-chrome");let x=h("div","persona-artifact-inline-chrome-lead"),U=h("span","persona-flex persona-items-center persona-flex-shrink-0"),j=re("file-text",16,"currentColor",2);j&&U.appendChild(j);let J=h("span","persona-artifact-inline-title persona-truncate persona-min-w-0"),D=h("span","persona-artifact-inline-type");x.append(U,J,D);let F=h("div","persona-artifact-inline-chrome-actions"),ie=h("span","persona-flex persona-items-center persona-gap-1"),ge=()=>u??d.viewMode,Ce=l?wa({items:[{id:"rendered",icon:"eye",label:"Rendered view",className:"persona-artifact-doc-icon-btn persona-artifact-view-btn"},{id:"source",icon:"code-xml",label:"Source",className:"persona-artifact-doc-icon-btn persona-artifact-code-btn"}],selectedId:ge(),className:"persona-artifact-toggle-group persona-flex-shrink-0",onSelect:Y=>{let ae=Y==="source"?"source":"rendered";ae!==ge()&&(u=ae,I.update(w),k(w))}}):null,we=s?Rt({icon:"copy",label:"Copy",className:"persona-artifact-doc-icon-btn persona-flex-shrink-0"}):null;we&&n.id&&we.setAttribute("data-copy-artifact",n.id);let ee=a?Rt({icon:"maximize",label:"Open in panel",className:"persona-artifact-doc-icon-btn persona-flex-shrink-0"}):null;ee&&n.id&&ee.setAttribute("data-expand-artifact-inline",n.id),F.appendChild(ie),Ce&&F.appendChild(Ce.element),we&&F.appendChild(we),ee&&F.appendChild(ee),K.append(x,F),f.append(K,B);let ce=Y=>{let{title:ae,typeLabel:Z}=hp(Y);J.textContent=ae,J.title=ae,z&&B.setAttribute("aria-label",`Open ${ae} in panel`);let he=Y.status!=="complete";if(he){D.classList.contains("persona-artifact-inline-status")||(D.className="persona-artifact-inline-status",D.removeAttribute("data-preserve-animation"),D.replaceChildren());let ye=sr(Y,o,"inline-chrome");ko(D,ye,o)}else rr(Y.id),D.className="persona-artifact-inline-type",D.removeAttribute("data-preserve-animation"),D.replaceChildren(),D.textContent=Z;if(we&&we.classList.toggle("persona-hidden",he),Ce){let ye=Y.artifactType==="markdown"?Y.file:void 0,pe=!1;if(!he&&ye&&d.viewMode!=="source"){let Te=Zr(ye);Te==="markdown"?pe=!0:(Te==="html"||Te==="svg")&&(pe=o?.filePreview?.enabled!==!1)}Ce.element.classList.toggle("persona-hidden",!pe),Ce.setSelected(ge())}if(ie.replaceChildren(),!he&&p.length>0){let ye=es(Y);if(ye)for(let pe of p)try{if(pe.visible===void 0||pe.visible(ye)){let Te=ir(pe,{documentChrome:!0});Te.setAttribute("data-artifact-custom-action",pe.id),Te.classList.add("persona-flex-shrink-0"),ie.appendChild(Te)}}catch{}}};return ce(n),so.set(f,(Y,ae)=>{if(c&&M!=="complete"&&Y.status==="complete"){let Z=f.isConnected?f.getBoundingClientRect().height:0;M="complete";let he=Y,ye=!1,pe=Te=>{he=Te,ye=!0};so.set(f,pe),Hm(f,Z,{swap:()=>{C(he),ye=!1,so.set(f,pe)},onSettled:()=>{ye?C(he):so.set(f,Te=>{f.replaceChildren(v(Te))})}});return}(Y.status!=="complete"||Y.id!==w.id)&&(u=null),w=Y,P(Y,ae),ce(Y)}),f}var xp=(t,e)=>{let n=e?.config?.features?.artifacts?.renderInline;if(n){let o=typeof t.title=="string"&&t.title?t.title:"Untitled artifact",r=typeof t.artifactId=="string"?t.artifactId:"",s=t.status==="streaming"?"streaming":"complete",a=typeof t.artifactType=="string"?t.artifactType:"markdown",l=n({artifact:{artifactId:r,title:o,artifactType:a,status:s},config:e.config,defaultRenderer:()=>vp(t,e)});if(l)return l}return vp(t,e)};var el=class{constructor(){this.components=new Map;this.options=new Map}register(e,n,o){this.components.has(e)&&console.warn(`[ComponentRegistry] Component "${e}" is already registered. Overwriting.`),this.components.set(e,n),o?this.options.set(e,o):this.options.delete(e)}unregister(e){this.components.delete(e),this.options.delete(e)}get(e){return this.components.get(e)}has(e){return this.components.has(e)}getOptions(e){return this.options.get(e)}getAllNames(){return Array.from(this.components.keys())}clear(){this.components.clear(),this.options.clear()}registerAll(e){Object.entries(e).forEach(([n,o])=>{this.register(n,o)})}},On=new el;On.register("PersonaArtifactCard",Ca,{bubbleChrome:!1});On.register("PersonaArtifactInline",xp,{bubbleChrome:!1});function ns(t){if(!t)return"";if(t.artifactType==="markdown"){let e=t.markdown??"";return t.file?ya(e):e}return JSON.stringify({component:t.component,props:t.props},null,2)}var tl=!1;function Fm(t){return"persona-artifact-vt-"+((t||"artifact").replace(/[^A-Za-z0-9_-]/g,"-").replace(/^-+/,"")||"artifact")}function Cp(t,e,n,o){let r=typeof document<"u"?document.startViewTransition:void 0,s=!1;try{s=typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{s=!1}if(e!=="auto"||!t||typeof r!="function"||tl||s){o();return}tl=!0;let a=Fm(n);t.style.setProperty("view-transition-name",a);let l=()=>{tl=!1,t.style.removeProperty("view-transition-name")};try{r.call(document,()=>{o()}).finished.then(l,l)}catch{l(),o()}}var Nm="persona-font-mono persona-text-xs persona-whitespace-pre-wrap persona-break-words persona-text-persona-primary",Om="persona-text-sm persona-leading-relaxed persona-markdown-bubble";function _m(t){let e=h("div","persona-rounded-lg persona-border persona-border-persona-border persona-p-3 persona-text-persona-primary"),n=h("div","persona-font-semibold persona-text-sm persona-mb-2");n.textContent=t.component?`Component: ${t.component}`:"Component";let o=h("pre","persona-font-mono persona-text-xs persona-whitespace-pre-wrap persona-overflow-x-auto");return o.textContent=JSON.stringify(t.props??{},null,2),e.appendChild(n),e.appendChild(o),e}function $m(t){if(t===!1)return{enabled:!1,delayMs:0,minVisibleMs:0,timeoutMs:0,injectReadySignal:!1,label:"Starting preview...",labelDelayMs:2e3};let e=t&&typeof t=="object"?t:void 0;return{enabled:!0,delayMs:e?.delayMs??200,minVisibleMs:e?.minVisibleMs??300,timeoutMs:e?.timeoutMs??8e3,injectReadySignal:e?.injectReadySignal!==!1,label:e?.label===!1?!1:e?.label??"Starting preview...",labelDelayMs:e?.labelDelayMs??2e3,renderIndicator:e?.renderIndicator}}var zm=220;function Um(){try{if(typeof crypto<"u"&&crypto.getRandomValues){let t=new Uint32Array(2);return crypto.getRandomValues(t),t[0].toString(36)+t[1].toString(36)}}catch{}return Math.random().toString(36).slice(2)+Math.random().toString(36).slice(2)}function jm(t){return`
|
|
30
|
-
<script>(function(){var d=false;var t=`+JSON.stringify(t)+";function r(){if(d)return;d=true;try{parent.postMessage({persona:'artifact-preview-ready',token:t},'*');}catch(e){}}function s(){if(typeof requestAnimationFrame==='function'){requestAnimationFrame(function(){requestAnimationFrame(r);});}setTimeout(r,150);}if(document.readyState==='complete'){s();}else{window.addEventListener('load',s);}})();</script>"}function qm(t,e,n){let o=h("div","persona-artifact-frame-loading");if(n.renderIndicator)try{let a=n.renderIndicator({artifactId:t,config:e});if(a)return o.appendChild(a),{el:o,revealLabel:()=>{}}}catch{}let r=h("div","persona-artifact-frame-loading-indicator");r.appendChild(ap());let s=null;return n.label!==!1&&(s=h("div","persona-artifact-frame-loading-text"),s.textContent=n.label,r.appendChild(s)),o.appendChild(r),{el:o,revealLabel:()=>{s&&s.classList.add("persona-artifact-frame-loading-text--visible")}}}function Vm(t,e,n,o,r,s){let a=null,l=0,p=!1,d=new Set,c=()=>{d.forEach(M=>clearTimeout(M)),d.clear()},u=(M,P)=>{let z=setTimeout(()=>{d.delete(z),M()},P);d.add(z)},w=()=>{a&&a.parentElement&&a.remove(),a=null},f=()=>{if(a||p)return;let M=qm(r,s,o);a=M.el,t.appendChild(a),l=Date.now(),o.label!==!1&&u(M.revealLabel,o.labelDelayMs)},v=()=>{a&&(a.classList.add("persona-artifact-frame-loading--out"),u(w,zm))},C=()=>{n!==null?typeof window<"u"&&window.removeEventListener("message",B):e.removeEventListener("load",k)},I=()=>{if(p||(p=!0,C(),c(),!a))return;let M=Math.max(0,o.minVisibleMs-(Date.now()-l));M>0?u(v,M):v()};function B(M){if(n===null)return;let P=M.data;!P||P.persona!=="artifact-preview-ready"||P.token!==n||M.source===e.contentWindow&&I()}function k(){let M=P=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>P()):setTimeout(P,0)};M(()=>M(()=>I()))}return u(f,o.delayMs),u(I,o.timeoutMs),n!==null?typeof window<"u"&&window.addEventListener("message",B):e.addEventListener("load",k),()=>{p=!0,c(),C(),w()}}function Aa(t,e){let{config:n}=e,o=e.registry??On,r=e.bodyLayout,s=n.markdown?Ks(n.markdown):null,a=Gs(n.sanitize),l=t,p=!1,d=ee=>{let ce=Hn()!==null;s&&!ce&&!p&&(p=!0,Vs(()=>we(l)));let Y=s?s(ee):Zn(ee);return s&&ce&&a?a(Y):Y},c=h("div","persona-artifact-preview-body"),u=null,w=null,f=null,v=()=>{f&&(f(),f=null),u=null,w=null},C=null,I=null,B=null,k=!1,M=()=>{C=null,I=null,B=null,k=!1},P=null,z=null,K=()=>{P=null,z=null},x=40,U=0,j=ee=>typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>ee()):setTimeout(ee,0),J=ee=>ee.scrollHeight-ee.clientHeight-ee.scrollTop<=x,D=ee=>{if(!r)return;let ce=ee.scrollHeight-ee.clientHeight>1,Y=ee.scrollHeight-ee.clientHeight-ee.scrollTop;ee.classList.toggle("persona-artifact-fade-top",r.fadeTop&&ce&&ee.scrollTop>1),ee.classList.toggle("persona-artifact-fade-bottom",r.fadeBottom&&ce&&Y>1)},F=ee=>{U||(U=j(()=>{U=0,ee.scrollTop=ee.scrollHeight,D(ee)}))},ie=(ee,ce,Y,ae)=>{let Z=!!r,he=Y.id+"|"+(Z?"w":"p");if(!C||B!==he||C.parentElement!==c){v(),K(),c.replaceChildren();let Te=h("pre",Nm+" persona-code-pre"),Ae=h("code","persona-code");if(Te.appendChild(Ae),Z){let Oe=h("div","persona-artifact-source-window");if(Oe.appendChild(Te),c.appendChild(Oe),!(r?.overflow==="clip")&&typeof Oe.addEventListener=="function"){let ot=()=>Oe.scrollHeight-Oe.clientHeight>1;Oe.addEventListener("scroll",()=>{J(Oe)&&(k=!1),D(Oe)},{passive:!0}),Oe.addEventListener("wheel",Ge=>{ot()&&Ge.deltaY<0&&(k=!0)},{passive:!0}),Oe.addEventListener("touchmove",()=>{ot()&&(k=!0)},{passive:!0})}C=Oe}else c.appendChild(Te),C=Te;I=Ae,B=he}let ye=Z?C:null;ye&&(ye.classList.toggle("persona-artifact-source-window--fixed",ae),ye.classList.toggle("persona-artifact-source-window--clip",ae&&r?.overflow==="clip"));let pe=ye?J(ye):!0;if(I.replaceChildren(fp(ee,ce?.language,ce?.path)),ye){let Te=Y.status!=="complete";ae&&Te&&r?.followOutput&&!k&&pe?F(ye):Te||(k=!1),D(ye)}},ge=ee=>{v(),M(),K(),c.replaceChildren();let ce=h("div",Om);ce.innerHTML=d(ee),c.appendChild(ce)},Ce=ee=>{let ce=ee.id,Y=n.features?.artifacts,ae=sr(ee,Y,"status-body");if(P&&z===ce&&P.parentElement===c){let ye=P.querySelector(".persona-artifact-status-view-text");ye&&ko(ye,ae,Y);return}v(),M(),c.replaceChildren();let Z=h("div","persona-artifact-status-view"),he=h("div","persona-artifact-status-view-text");ko(he,ae,Y),Z.appendChild(he),c.appendChild(Z),P=Z,z=ce},we=ee=>{l=ee;let ce=e.resolveViewMode?.(ee)??r?.viewMode??"rendered",Y=ee.artifactType==="markdown"?ee.file:void 0,ae=ee.status!=="complete";ae||rr(ee.id);let Z=ae?r?.streamingHeight:r?.completeHeight,he=!!r&&typeof Z=="number";if(r?.streamingView==="status"&&ae){Ce(ee);return}if(Y){let pe=ya(ee.markdown??""),Te=Zr(Y),Ae=n.features?.artifacts?.filePreview?.enabled!==!1;if(!ae&&ce==="rendered"&&Ae&&(Te==="html"||Te==="svg")){let Fe=ee.id+"\0"+pe;if(u&&w===Fe&&u.parentElement===c)return;M(),K(),v(),c.replaceChildren();let ot=n.features?.artifacts?.filePreview,Ge=ot?.iframeSandbox??"allow-scripts";!ot?.dangerouslyAllowSameOrigin&&Ge.includes("allow-same-origin")&&(console.warn("[AgentWidget] Stripped allow-same-origin from filePreview.iframeSandbox: it lets artifact content run with the page origin. Set filePreview.dangerouslyAllowSameOrigin to keep it."),Ge=Ge.split(/\s+/).filter(Tt=>Tt&&Tt!=="allow-same-origin").join(" "));let Ie=$m(ot?.loading),Me=h("div","persona-artifact-frame"),Qe=h("iframe","persona-artifact-iframe");Qe.setAttribute("sandbox",Ge),Qe.setAttribute("data-artifact-id",ee.id);let on=null;Ie.enabled&&Ie.injectReadySignal?(on=Um(),Qe.srcdoc=pe+jm(on)):Qe.srcdoc=pe,Me.appendChild(Qe),c.appendChild(Me),Ie.enabled&&(f=Vm(Me,Qe,on,Ie,ee.id,n)),u=Me,w=Fe;return}if(v(),!ae&&Te==="markdown"&&ce==="rendered"){ge(pe);return}ie(pe,{language:Y.language,path:Y.path},ee,he);return}if(ee.artifactType==="markdown"){if(ce==="source"){v(),ie(ee.markdown??"",void 0,ee,he);return}ge(ee.markdown??"");return}v(),M(),K(),c.replaceChildren();let ye=ee.component?o.get(ee.component):void 0;if(ye){let Te={message:{id:ee.id,role:"assistant",content:"",createdAt:new Date().toISOString()},config:n,updateProps:()=>{}};try{let Ae=ye(ee.props??{},Te);if(Ae){c.appendChild(Ae);return}}catch{}}c.appendChild(_m(ee))};return we(t),{el:c,update(ee){we(ee)}}}import{Idiomorph as Km}from"idiomorph";var Sa=(t,e,n={})=>{let{preserveTypingAnimation:o=!0}=n;Km.morph(t,e.innerHTML,{morphStyle:"innerHTML",callbacks:{beforeNodeMorphed(r,s){if(r instanceof HTMLElement&&o){if(r.classList.contains("persona-animate-typing")||r.hasAttribute("data-preserve-runtime"))return!1;if(r.hasAttribute("data-tool-elapsed"))return s instanceof HTMLElement&&s.getAttribute("data-tool-elapsed")===r.getAttribute("data-tool-elapsed")?!1:void 0;if(r.hasAttribute("data-preserve-animation")){if(s instanceof HTMLElement&&!s.hasAttribute("data-preserve-animation"))return;if(s instanceof HTMLElement&&s.hasAttribute("data-preserve-animation")){let a=r.textContent??"",l=s.textContent??"";if(a!==l)return}return!1}}}}})};var Ap=t=>t.replace(/^\n+/,"").replace(/\s+$/,"");var nl={index:-1,draft:""};function Sp(t){let{direction:e,history:n,currentValue:o,atStart:r,state:s}=t,a=s.index!==-1;if(n.length===0)return{handled:!1,state:s};if(e==="up"){if(!a&&!r)return{handled:!1,state:s};if(!a){let l=n.length-1;return{handled:!0,value:n[l],state:{index:l,draft:o}}}if(s.index>0){let l=s.index-1;return{handled:!0,value:n[l],state:{index:l,draft:s.draft}}}return{handled:!0,state:s}}if(!a)return{handled:!1,state:s};if(s.index<n.length-1){let l=s.index+1;return{handled:!0,value:n[l],state:{index:l,draft:s.draft}}}return{handled:!0,value:s.draft,state:{index:-1,draft:s.draft}}}function Tp(t,e){return[t.id,t.role,t.content?.length??0,t.content?.slice(-32)??"",t.streaming?"1":"0",t.voiceProcessing?"1":"0",t.variant??"",t.rawContent?.length??0,t.llmContent?.length??0,t.approval?.status??"",t.toolCall?.status??"",t.toolCall?.name??"",t.toolCall?.chunks?.length??0,t.toolCall?.chunks?.[t.toolCall.chunks.length-1]?.slice(-32)??"",typeof t.toolCall?.args=="string"?t.toolCall.args.length:t.toolCall?.args?JSON.stringify(t.toolCall.args).length:0,t.reasoning?.chunks?.length??0,t.reasoning?.chunks?.[t.reasoning.chunks.length-1]?.length??0,t.reasoning?.chunks?.[t.reasoning.chunks.length-1]?.slice(-32)??"",t.contentParts?.length??0,t.stopReason??"",e].join("\0")}function Mp(){return new Map}function Ep(t,e,n){let o=t.get(e);return o&&o.fingerprint===n?o.wrapper:null}function kp(t,e,n,o){t.set(e,{fingerprint:n,wrapper:o})}function Lp(t,e){for(let n of t.keys())e.has(n)||t.delete(n)}function Ta(t=!0){let e=t;return{isFollowing:()=>e,pause:()=>e?(e=!1,!0):!1,resume:()=>e?!1:(e=!0,!0)}}function Tn(t){return Math.max(0,t.scrollHeight-t.clientHeight)}function ao(t,e){return Tn(t)-t.scrollTop<=e}function Ma(t){let{following:e,currentScrollTop:n,lastScrollTop:o,nearBottom:r,userScrollThreshold:s,isAutoScrolling:a=!1,pauseOnUpwardScroll:l=!1,pauseWhenAwayFromBottom:p=!0,resumeRequiresDownwardScroll:d=!1}=t,c=n-o;return a||Math.abs(c)<s?{action:"none",delta:c,nextLastScrollTop:n}:!e&&r&&(!d||c>0)?{action:"resume",delta:c,nextLastScrollTop:n}:e&&l&&c<0?{action:"pause",delta:c,nextLastScrollTop:n}:e&&p&&!r?{action:"pause",delta:c,nextLastScrollTop:n}:{action:"none",delta:c,nextLastScrollTop:n}}function Ea(t){let{following:e,deltaY:n,nearBottom:o=!1,resumeWhenNearBottom:r=!1}=t;return e&&n<0?"pause":!e&&r&&n>0&&o?"resume":"none"}function Pp(t,e){return!t||t.isCollapsed?!1:e.contains(t.anchorNode)||e.contains(t.focusNode)}function Ip(t){let e=Math.max(0,t.anchorOffsetTop-t.topOffset),n=Math.max(0,e+t.viewportHeight-t.contentHeight);return{targetScrollTop:e,spacerHeight:n}}function Rp(t){let e=Math.max(0,t.currentContentHeight-t.contentHeightAtAnchor);return Math.max(0,t.initialSpacerHeight-e)}var os={type:"none",placeholder:"none",speed:120,duration:1800,buffer:"none"},Gm=["pre","code","a","script","style"],ka=t=>({type:t?.type??os.type,placeholder:t?.placeholder??os.placeholder,speed:t?.speed??os.speed,duration:t?.duration??os.duration,buffer:t?.buffer??os.buffer}),Qm=[{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"}],Hp=new Map;for(let t of Qm)Hp.set(t.name,t);var lr=(t,e)=>t==="none"?null:e&&Object.prototype.hasOwnProperty.call(e,t)?e[t]??null:Hp.get(t)??null,La=(t,e,n,o,r)=>{if(!r)return t;if(n?.bufferContent)return n.bufferContent(t,o);if(!t)return t;if(e==="word"){let s=t.search(/\s(?=\S*$)/);return s<0?"":t.slice(0,s)}if(e==="line"){let s=t.lastIndexOf(`
|
|
31
|
-
`);return s<0?"":t.slice(0,s)}return t},Xm=(t,e,n,o)=>{let r=t.createElement("span");return r.className="persona-stream-char",r.id=`stream-c-${n}-${o}`,r.style.setProperty("--char-index",String(o)),r.textContent=e,r},Jm=(t,e,n,o)=>{let r=t.createElement("span");return r.className="persona-stream-word",r.id=`stream-w-${n}-${o}`,r.style.setProperty("--word-index",String(o)),r.textContent=e,r},ol=/\s/,Ym=(t,e)=>{let n=t.parentNode;for(;n;){if(n.nodeType===1){let o=n;if(e.has(o.tagName.toLowerCase()))return!0}n=n.parentNode}return!1},Zm=(t,e,n)=>{let o=t.ownerDocument,r=t.parentNode;if(!o||!r)return;let s=t.nodeValue??"";if(!s)return;let a=o.createDocumentFragment(),l=0;for(;l<s.length;)if(ol.test(s[l])){let p=l;for(;p<s.length&&ol.test(s[p]);)p+=1;a.appendChild(o.createTextNode(s.slice(l,p))),l=p}else{let p=o.createElement("span");p.className="persona-stream-word-group";let d=l;for(;d<s.length&&!ol.test(s[d]);)p.appendChild(Xm(o,s[d],e,n.value)),n.value+=1,d+=1;a.appendChild(p),l=d}r.replaceChild(a,t)},eh=(t,e,n)=>{let o=t.ownerDocument,r=t.parentNode;if(!o||!r)return;let s=t.nodeValue??"";if(!s)return;let a=o.createDocumentFragment(),l=s.split(/(\s+)/);for(let p of l)p&&(/^\s+$/.test(p)?a.appendChild(o.createTextNode(p)):(a.appendChild(Jm(o,p,e,n.value)),n.value+=1));r.replaceChild(a,t)},rs=(t,e,n,o)=>{if(!t||typeof document>"u")return t;let r=document.createElement("div");r.innerHTML=t;let s=new Set((o?.skipTags??Gm).map(u=>u.toLowerCase())),a=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,null),l=[],p=a.nextNode();for(;p;)Ym(p,s)||l.push(p),p=a.nextNode();let d={value:o?.startIndex??0},c=e==="char"?Zm:eh;for(let u of l)c(u,n,d);return r.innerHTML},Pa=(t=document)=>{let e=t.createElement("span");return e.className="persona-stream-caret",e.setAttribute("aria-hidden","true"),e.setAttribute("data-preserve-animation","stream-caret"),e},ss=(t=document)=>{let e=t.createElement("div");e.className="persona-stream-skeleton",e.setAttribute("data-preserve-animation","stream-skeleton"),e.setAttribute("aria-hidden","true");let n=t.createElement("div");return n.className="persona-stream-skeleton-line",e.appendChild(n),e},Wp=new WeakMap,th=(t,e)=>{if(!t.styles)return;let n=Wp.get(e);if(n||(n=new Set,Wp.set(e,n)),n.has(t.name)){let s=t.name.replace(/["\\]/g,"\\$&");if(e.querySelector(`style[data-persona-animation="${s}"]`))return;n.delete(t.name)}n.add(t.name);let r=(e instanceof ShadowRoot?e.ownerDocument:e.ownerDocument??document).createElement("style");r.setAttribute("data-persona-animation",t.name),r.textContent=t.styles,e.appendChild(r)},rl=new WeakMap,nh=(t,e)=>{if(!t.onAttach)return;let n=rl.get(e);if(n||(n=new Map,rl.set(e,n)),n.has(t.name))return;let o=t.onAttach(e);n.set(t.name,o)},Bp=t=>{let e=rl.get(t);if(e){for(let n of e.values())typeof n=="function"&&n();e.clear()}},Ia=(t,e)=>{th(t,e),nh(t,e)};function sl(t,e=$t){let n=t.style.position,o=t.style.zIndex,r=t.style.isolation,s=getComputedStyle(t),a=s.position==="static"||s.position==="";return a&&(t.style.position="relative"),t.style.zIndex=String(e),t.style.isolation="isolate",()=>{a&&(t.style.position=n),t.style.zIndex=o,t.style.isolation=r}}var as=0,io=null;function al(t=document){if(as++,as===1){let n=t.body,r=(t.defaultView??window).scrollY||t.documentElement.scrollTop;io={originalOverflow:n.style.overflow,originalPosition:n.style.position,originalTop:n.style.top,originalWidth:n.style.width,scrollY:r},n.style.overflow="hidden",n.style.position="fixed",n.style.top=`-${r}px`,n.style.width="100%"}let e=!1;return()=>{if(!e&&(e=!0,as=Math.max(0,as-1),as===0&&io)){let n=t.body,o=t.defaultView??window;n.style.overflow=io.originalOverflow,n.style.position=io.originalPosition,n.style.top=io.originalTop,n.style.width=io.originalWidth,o.scrollTo(0,io.scrollY),io=null}}}var is={side:"right",width:"420px",animate:!0,reveal:"resize",maxHeight:"100dvh"},Ht=t=>(t?.launcher?.mountMode??"floating")==="docked",ls=t=>(t?.launcher?.mountMode??"floating")==="composer-bar",pn=t=>{let e=t?.launcher?.dock;return{side:e?.side??is.side,width:e?.width??is.width,animate:e?.animate??is.animate,reveal:e?.reveal??is.reveal,maxHeight:e?.maxHeight??is.maxHeight}};var wn={"bottom-right":"persona-bottom-6 persona-right-6","bottom-left":"persona-bottom-6 persona-left-6","top-right":"persona-top-6 persona-right-6","top-left":"persona-top-6 persona-left-6"};var oh="persona-relative persona-ml-auto persona-inline-flex persona-items-center persona-justify-center",Ra=(t,e={})=>{let{showClose:n=!0,wrapperClassName:o=oh,buttonSize:r,iconSize:s="28px"}=e,a=t?.launcher??{},l=r??a.closeButtonSize??"32px",p=h("div",o),d=a.closeButtonTooltipText??"Close chat",c=a.closeButtonShowTooltip??!0,u=a.closeButtonIconName??"x",w=a.closeButtonIconText??"\xD7",f=!!(a.closeButtonBorderWidth||a.closeButtonBorderColor),v=Ne("button",{className:Wn("persona-inline-flex persona-items-center persona-justify-center persona-cursor-pointer",!a.closeButtonBackgroundColor&&"hover:persona-bg-gray-100",!f&&"persona-border-none",!a.closeButtonBorderRadius&&"persona-rounded-full"),attrs:{type:"button","aria-label":d},style:{height:l,width:l,display:n?void 0:"none",color:a.closeButtonColor||Vt.actionIconColor,backgroundColor:a.closeButtonBackgroundColor||void 0,border:f?`${a.closeButtonBorderWidth||"0px"} solid ${a.closeButtonBorderColor||"transparent"}`:void 0,borderRadius:a.closeButtonBorderRadius||void 0,paddingLeft:a.closeButtonPaddingX||void 0,paddingRight:a.closeButtonPaddingX||void 0,paddingTop:a.closeButtonPaddingY||void 0,paddingBottom:a.closeButtonPaddingY||void 0}}),C=re(u,s,"currentColor",1);return C?(C.style.display="block",v.appendChild(C)):v.textContent=w,p.appendChild(v),Ft({anchor:v,trigger:p,text:()=>v.getAttribute("aria-label")??d,enabled:c}),{button:v,wrapper:p}},rh="persona-relative persona-ml-auto persona-clear-chat-button-wrapper",Wa=(t,e={})=>{let{wrapperClassName:n=rh,buttonSize:o,iconSize:r="20px"}=e,a=(t?.launcher??{}).clearChat??{},l=o??a.size??"32px",p=a.iconName??"refresh-cw",d=a.iconColor??"",c=a.backgroundColor??"",u=a.borderWidth??"",w=a.borderColor??"",f=a.borderRadius??"",v=a.paddingX??"",C=a.paddingY??"",I=a.tooltipText??"Clear chat",B=a.showTooltip??!0,k=h("div",n),M=!!(u||w),P=Ne("button",{className:Wn("persona-inline-flex persona-items-center persona-justify-center persona-cursor-pointer",!c&&"hover:persona-bg-gray-100",!M&&"persona-border-none",!f&&"persona-rounded-full"),attrs:{type:"button","aria-label":I},style:{height:l,width:l,color:d||Vt.actionIconColor,backgroundColor:c||void 0,border:M?`${u||"0px"} solid ${w||"transparent"}`:void 0,borderRadius:f||void 0,paddingLeft:v||void 0,paddingRight:v||void 0,paddingTop:C||void 0,paddingBottom:C||void 0}}),z=re(p,r,"currentColor",1);return z&&(z.style.display="block",P.appendChild(z)),k.appendChild(P),Ft({anchor:P,trigger:k,text:()=>P.getAttribute("aria-label")??I,enabled:B}),{button:P,wrapper:k}};var Vt={titleColor:"var(--persona-header-title-fg, var(--persona-primary, #0f0f0f))",subtitleColor:"var(--persona-header-subtitle-fg, var(--persona-text-muted, var(--persona-muted, #9ca3af)))",actionIconColor:"var(--persona-header-action-icon-fg, var(--persona-muted, #9ca3af))"},Po=t=>{let{config:e,showClose:n=!0}=t,o=Ne("div",{className:"persona-widget-header persona-flex persona-items-center persona-gap-3 persona-px-6 persona-py-5",attrs:{"data-persona-theme-zone":"header"},style:{backgroundColor:"var(--persona-header-bg, var(--persona-surface, #ffffff))",borderBottomColor:"var(--persona-header-border, var(--persona-divider, #f1f5f9))",boxShadow:"var(--persona-header-shadow, none)",borderBottom:"var(--persona-header-border-bottom, 1px solid var(--persona-header-border, var(--persona-divider, #f1f5f9)))"}}),r=e?.launcher??{},s=r.headerIconSize??"48px",a=r.closeButtonPlacement??"inline",l=r.headerIconHidden??!1,p=r.headerIconName,d=Ne("div",{className:"persona-flex persona-items-center persona-justify-center persona-rounded-xl persona-text-xl",style:{height:s,width:s,backgroundColor:"var(--persona-header-icon-bg, var(--persona-primary, #0f0f0f))",color:"var(--persona-header-icon-fg, var(--persona-text-inverse, #ffffff))"}});if(!l)if(p){let z=parseFloat(s)||24,K=re(p,z*.6,"currentColor",1);K?d.replaceChildren(K):d.textContent=e?.launcher?.agentIconText??"\u{1F4AC}"}else if(e?.launcher?.iconUrl){let z=h("img");z.src=e.launcher.iconUrl,z.alt="",z.className="persona-rounded-xl persona-object-cover",z.style.height=s,z.style.width=s,d.replaceChildren(z)}else d.textContent=e?.launcher?.agentIconText??"\u{1F4AC}";let c=h("div","persona-flex persona-flex-col persona-flex-1 persona-min-w-0"),u=Ne("span",{className:"persona-text-base persona-font-semibold",text:e?.launcher?.title??"Chat Assistant",style:{color:Vt.titleColor}}),w=Ne("span",{className:"persona-text-xs",text:e?.launcher?.subtitle??"Here to help you get answers fast",style:{color:Vt.subtitleColor}});c.append(u,w),l?o.append(c):o.append(d,c);let f=r.clearChat??{},v=f.enabled??!0,C=f.placement??"inline",I=null,B=null;if(v){let K=Wa(e,{wrapperClassName:C==="top-right"?"persona-absolute persona-top-4 persona-z-50":"persona-relative persona-ml-auto persona-clear-chat-button-wrapper"});I=K.button,B=K.wrapper,C==="top-right"&&(B.style.right="48px"),C==="inline"&&o.appendChild(B)}let k=a==="top-right"?"persona-absolute persona-top-4 persona-right-4 persona-z-50":v&&C==="inline"?"persona-relative persona-inline-flex persona-items-center persona-justify-center":"persona-relative persona-ml-auto persona-inline-flex persona-items-center persona-justify-center",{button:M,wrapper:P}=Ra(e,{showClose:n,wrapperClassName:k});return a!=="top-right"&&o.appendChild(P),{header:o,iconHolder:d,headerTitle:u,headerSubtitle:w,closeButton:M,closeButtonWrapper:P,clearChatButton:I,clearChatButtonWrapper:B}},cs=(t,e,n)=>{let o=n?.launcher??{},r=o.closeButtonPlacement??"inline",s=o.clearChat?.placement??"inline";t.appendChild(e.header),r==="top-right"&&(t.style.position="relative",t.appendChild(e.closeButtonWrapper)),e.clearChatButtonWrapper&&s==="top-right"&&(t.style.position="relative",t.appendChild(e.clearChatButtonWrapper))};var sh=t=>{let e=Po({config:t.config,showClose:t.showClose,onClose:t.onClose,onClearChat:t.onClearChat}),n=t.layoutHeaderConfig?.onTitleClick;if(n){let o=e.headerTitle.parentElement;o&&(o.style.cursor="pointer",o.setAttribute("role","button"),o.setAttribute("tabindex","0"),o.addEventListener("click",()=>n()),o.addEventListener("keydown",r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),n())}))}return e};function ah(t,e,n){if(e?.length)for(let o of e){let r=h("button","persona-inline-flex persona-items-center persona-justify-center persona-rounded-md persona-border-none persona-bg-transparent persona-p-0 persona-text-persona-muted hover:persona-opacity-80");if(r.type="button",r.setAttribute("aria-label",o.ariaLabel??o.label??o.id),o.icon){let s=re(o.icon,14,"currentColor",2);s&&r.appendChild(s)}else o.label&&(r.textContent=o.label);if(o.menuItems?.length){let s=h("div","persona-relative");s.appendChild(r);let a=ar({items:o.menuItems,onSelect:l=>n?.(l),anchor:s,position:"bottom-left"});s.appendChild(a.element),r.addEventListener("click",l=>{l.stopPropagation(),a.toggle()}),t.appendChild(s)}else r.addEventListener("click",()=>n?.(o.id)),t.appendChild(r)}}var ih=t=>{let{config:e,showClose:n=!0,onClose:o,layoutHeaderConfig:r,onHeaderAction:s}=t,a=e?.launcher??{},l=h("div","persona-flex persona-items-center persona-justify-between persona-px-6 persona-py-4");l.setAttribute("data-persona-theme-zone","header"),l.style.backgroundColor="var(--persona-header-bg, var(--persona-surface, #ffffff))",l.style.borderBottomColor="var(--persona-header-border, var(--persona-divider, #f1f5f9))",l.style.boxShadow="var(--persona-header-shadow, none)",l.style.borderBottom="var(--persona-header-border-bottom, 1px solid var(--persona-header-border, var(--persona-divider, #f1f5f9)))";let p=r?.titleMenu,d,c;if(p)d=gp({label:a.title??"Chat Assistant",menuItems:p.menuItems,onSelect:p.onSelect,hover:p.hover,className:""}).element,d.style.color=Vt.titleColor,c=d.querySelector(".persona-combo-btn-label")??d;else{if(d=h("div","persona-flex persona-min-w-0 persona-flex-1 persona-items-center persona-gap-1"),c=h("span","persona-text-base persona-font-semibold persona-truncate"),c.style.color=Vt.titleColor,c.textContent=a.title??"Chat Assistant",d.appendChild(c),ah(d,r?.trailingActions,r?.onAction??s),r?.onTitleClick){d.style.cursor="pointer",d.setAttribute("role","button"),d.setAttribute("tabindex","0");let M=r.onTitleClick;d.addEventListener("click",P=>{P.target.closest("button")||M()}),d.addEventListener("keydown",P=>{(P.key==="Enter"||P.key===" ")&&(P.preventDefault(),M())})}let k=r?.titleRowHover;k&&(d.style.borderRadius=k.borderRadius??"10px",d.style.padding=k.padding??"6px 4px 6px 12px",d.style.margin="-6px 0 -6px -12px",d.style.border="1px solid transparent",d.style.transition="background-color 0.15s ease, border-color 0.15s ease",d.style.width="fit-content",d.style.flex="none",d.addEventListener("mouseenter",()=>{d.style.backgroundColor=k.background??"",d.style.borderColor=k.border??""}),d.addEventListener("mouseleave",()=>{d.style.backgroundColor="",d.style.borderColor="transparent"}))}l.appendChild(d);let u=a.closeButtonSize??"32px",w=h("div",""),f=h("button","persona-inline-flex persona-items-center persona-justify-center persona-rounded-full hover:persona-bg-gray-100 persona-cursor-pointer persona-border-none");f.style.height=u,f.style.width=u,f.type="button",f.setAttribute("aria-label","Close chat"),f.style.display=n?"":"none",f.style.color=a.closeButtonColor||Vt.actionIconColor;let v=a.closeButtonIconName??"x",C=re(v,"28px","currentColor",1);C?f.appendChild(C):f.textContent="\xD7",o&&f.addEventListener("click",o),w.appendChild(f),l.appendChild(w);let I=h("div");I.style.display="none";let B=h("span");return B.style.display="none",{header:l,iconHolder:I,headerTitle:c,headerSubtitle:B,closeButton:f,closeButtonWrapper:w,clearChatButton:null,clearChatButtonWrapper:null}},Dp={default:sh,minimal:ih},lh=t=>Dp[t]??Dp.default,Ha=(t,e,n)=>{if(e?.render){let a=e.render({config:t,onClose:n?.onClose,onClearChat:n?.onClearChat,trailingActions:e.trailingActions,onAction:e.onAction}),l=h("div");l.style.display="none";let p=h("span"),d=h("span"),c=h("button");c.style.display="none";let u=h("div");return u.style.display="none",{header:a,iconHolder:l,headerTitle:p,headerSubtitle:d,closeButton:c,closeButtonWrapper:u,clearChatButton:null,clearChatButtonWrapper:null}}let o=e?.layout??"default",s=lh(o)({config:t,showClose:e?.showCloseButton??n?.showClose??!0,onClose:n?.onClose,onClearChat:n?.onClearChat,layoutHeaderConfig:e,onHeaderAction:e?.onAction});return e&&(e.showIcon===!1&&(s.iconHolder.style.display="none"),e.showTitle===!1&&(s.headerTitle.style.display="none"),e.showSubtitle===!1&&(s.headerSubtitle.style.display="none"),e.showCloseButton===!1&&(s.closeButton.style.display="none"),e.showClearChat===!1&&s.clearChatButtonWrapper&&(s.clearChatButtonWrapper.style.display="none")),s};var Ba=t=>{let e=h("textarea");e.setAttribute("data-persona-composer-input",""),e.placeholder=t?.copy?.inputPlaceholder??"Type your message\u2026",e.className="persona-w-full persona-min-h-[24px] persona-resize-none persona-border-none persona-bg-transparent persona-text-sm persona-text-persona-primary focus:persona-outline-none focus:persona-border-none persona-composer-textarea",e.rows=1,e.style.fontFamily='var(--persona-input-font-family, var(--persona-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif))',e.style.fontWeight="var(--persona-input-font-weight, var(--persona-font-weight, 400))";let n=3,o=20;e.style.maxHeight=`${n*o}px`,e.style.overflowY="auto";let r=()=>{let a=parseFloat(e.style.maxHeight);return Number.isFinite(a)&&a>0?a:n*o},s=()=>{e.addEventListener("input",()=>{e.style.height="auto";let a=Math.min(e.scrollHeight,r());e.style.height=`${a}px`})};return e.style.border="none",e.style.outline="none",e.style.borderWidth="0",e.style.borderStyle="none",e.style.borderColor="transparent",e.addEventListener("focus",()=>{e.style.border="none",e.style.outline="none",e.style.borderWidth="0",e.style.borderStyle="none",e.style.borderColor="transparent",e.style.boxShadow="none"}),e.addEventListener("blur",()=>{e.style.border="none",e.style.outline="none"}),{textarea:e,attachAutoResize:s}},Da=t=>{let e=t?.sendButton??{},n=e.useIcon??!1,o=e.iconText??"\u2191",r=e.iconName,s=e.stopIconName??"square",a=e.tooltipText??"Send message",l=e.stopTooltipText??"Stop generating",p=t?.copy?.sendButtonLabel??"Send",d=t?.copy?.stopButtonLabel??"Stop",c=e.showTooltip??!1,u=e.size??"40px",w=e.backgroundColor,f=e.textColor,v=h("div","persona-send-button-wrapper"),C=Ne("button",{className:Wn("persona-rounded-button disabled:persona-opacity-50 persona-cursor-pointer",n?"persona-flex persona-items-center persona-justify-center":"persona-bg-persona-accent persona-px-4 persona-py-2 persona-text-sm persona-font-semibold",n&&!w&&"persona-bg-persona-primary",!n&&!f&&"persona-text-white"),attrs:{type:"submit","data-persona-composer-submit":""},style:{width:n?u:void 0,height:n?u:void 0,minWidth:n?u:void 0,minHeight:n?u:void 0,fontSize:n?"18px":void 0,lineHeight:n?"1":void 0,color:n?f||"var(--persona-button-primary-fg, #ffffff)":f||void 0,backgroundColor:n&&w||void 0,borderWidth:e.borderWidth||void 0,borderStyle:e.borderWidth?"solid":void 0,borderColor:e.borderColor||void 0,paddingLeft:e.paddingX||void 0,paddingRight:e.paddingX||void 0,paddingTop:e.paddingY||void 0,paddingBottom:e.paddingY||void 0}}),I=null,B=null;if(n){let P=parseFloat(u)||24,z=f?.trim()||"currentColor";r?(I=re(r,P,z,2),I?C.appendChild(I):C.textContent=o):C.textContent=o,B=re(s,P,z,2)}else C.textContent=p;C.setAttribute("aria-label",a),v.appendChild(C),Ft({anchor:C,trigger:v,text:()=>C.getAttribute("aria-label")??"",enabled:c});let k="send";return{button:C,wrapper:v,setMode:P=>{if(P===k)return;k=P;let z=P==="stop"?l:a;if(C.setAttribute("aria-label",z),n){if(I&&B){let K=P==="stop"?B:I;C.replaceChildren(K)}}else C.textContent=P==="stop"?d:p}}},Fa=t=>{let e=t?.voiceRecognition??{};if(!(e.enabled===!0))return null;let o=typeof window<"u"&&(typeof window.webkitSpeechRecognition<"u"||typeof window.SpeechRecognition<"u"),r=e.provider?.type==="runtype";if(!(o||r))return null;let a=t?.sendButton?.size??"40px",l=e.iconName??"mic",p=e.iconSize??a,d=parseFloat(p)||24,c=e.backgroundColor??t?.sendButton?.backgroundColor,u=e.iconColor??t?.sendButton?.textColor,w=h("div","persona-send-button-wrapper"),f=Ne("button",{className:"persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer",attrs:{type:"button","data-persona-composer-mic":"","aria-label":e.tooltipText??"Start voice recognition"},style:{width:p,height:p,minWidth:p,minHeight:p,fontSize:"18px",lineHeight:"1",color:u||"var(--persona-text, #111827)",backgroundColor:c||void 0,borderWidth:e.borderWidth||void 0,borderStyle:e.borderWidth?"solid":void 0,borderColor:e.borderColor||void 0,paddingLeft:e.paddingX||void 0,paddingRight:e.paddingX||void 0,paddingTop:e.paddingY||void 0,paddingBottom:e.paddingY||void 0}}),C=re(l,d,u||"currentColor",1.5);C?f.appendChild(C):f.textContent="\u{1F3A4}",w.appendChild(f);let I=e.tooltipText??"Start voice recognition",B=e.showTooltip??!1;return Ft({anchor:f,trigger:w,text:()=>f.getAttribute("aria-label")??I,enabled:B}),{button:f,wrapper:w}},Na=t=>{let e=t?.attachments??{};if(e.enabled!==!0)return null;let n=t?.sendButton?.size??"40px",o=h("div","persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2");o.setAttribute("data-persona-composer-attachment-previews",""),o.style.display="none";let r=h("input");r.type="file",r.setAttribute("data-persona-composer-attachment-input",""),r.accept=(e.allowedTypes??Fn).join(","),r.multiple=(e.maxFiles??4)>1,r.style.display="none",r.setAttribute("aria-label","Attach files");let s=e.buttonIconName??"paperclip",a=n,l=parseFloat(a)||40,p=Math.round(l*.6),d=h("div","persona-send-button-wrapper"),c=Ne("button",{className:"persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-attachment-button",attrs:{type:"button","data-persona-composer-attachment-button":"","aria-label":e.buttonTooltipText??"Attach file"},style:{width:a,height:a,minWidth:a,minHeight:a,fontSize:"18px",lineHeight:"1"}}),u=re(s,p,"currentColor",1.5);u?c.appendChild(u):c.textContent="\u{1F4CE}",c.addEventListener("click",f=>{f.preventDefault(),r.click()}),d.appendChild(c);let w=e.buttonTooltipText??"Attach file";return Ft({anchor:c,trigger:d,text:()=>c.getAttribute("aria-label")??w}),{button:c,wrapper:d,input:r,previewsContainer:o}},Oa=t=>{let e=t?.statusIndicator??{},n=e.align==="left"?"persona-text-left":e.align==="center"?"persona-text-center":"persona-text-right",o=h("div",`persona-mt-2 ${n} persona-text-xs persona-text-persona-muted`);o.setAttribute("data-persona-composer-status","");let r=e.visible??!0;o.style.display=r?"":"none";let s=e.idleText??"Online";if(e.idleLink){let a=h("a");a.href=e.idleLink,a.target="_blank",a.rel="noopener noreferrer",a.textContent=s,a.style.color="inherit",a.style.textDecoration="none",o.appendChild(a)}else o.textContent=s;return o},_a=()=>Ne("div",{className:"persona-mb-3 persona-flex persona-flex-wrap persona-gap-2",attrs:{"data-persona-composer-suggestions":""}});var $a=t=>{let{config:e}=t,n=Ne("div",{className:"persona-widget-footer persona-border-t-persona-divider persona-bg-persona-surface persona-px-6 persona-py-4",attrs:{"data-persona-theme-zone":"composer"}}),o=_a(),r=Ne("form",{className:"persona-widget-composer persona-flex persona-flex-col persona-gap-2 persona-rounded-2xl persona-border persona-border-gray-200 persona-bg-persona-input-background persona-px-4 persona-py-3",attrs:{"data-persona-composer-form":""},style:{outline:"none"}}),{textarea:s,attachAutoResize:a}=Ba(e);a();let l=Da(e),p=Fa(e),d=Na(e),c=Oa(e);d&&(d.previewsContainer.style.gap="8px",r.append(d.previewsContainer,d.input)),r.append(s);let u=Ne("div",{className:"persona-widget-composer__actions persona-flex persona-items-center persona-justify-between persona-w-full",attrs:{"data-persona-composer-actions":""}}),w=h("div","persona-widget-composer__left-actions persona-flex persona-items-center persona-gap-2"),f=h("div","persona-widget-composer__right-actions persona-flex persona-items-center persona-gap-1");return d&&w.append(d.wrapper),p&&f.append(p.wrapper),f.append(l.wrapper),u.append(w,f),r.append(u),r.addEventListener("click",v=>{v.target!==l.button&&v.target!==l.wrapper&&v.target!==p?.button&&v.target!==p?.wrapper&&v.target!==d?.button&&v.target!==d?.wrapper&&s.focus()}),n.append(o,r,c),{footer:n,suggestions:o,composerForm:r,textarea:s,sendButton:l.button,sendButtonWrapper:l.wrapper,micButton:p?.button??null,micButtonWrapper:p?.wrapper??null,statusText:c,attachmentButton:d?.button??null,attachmentButtonWrapper:d?.wrapper??null,attachmentInput:d?.input??null,attachmentPreviewsContainer:d?.previewsContainer??null,actionsRow:u,leftActions:w,rightActions:f,setSendButtonMode:l.setMode}};var Fp=()=>{let t=Ne("button",{className:"persona-pill-peek",attrs:{type:"button","data-persona-pill-peek":"","aria-label":"Show conversation",tabindex:"-1"}}),e=h("span","persona-pill-peek__icon"),n=re("message-square",16,"currentColor",1.5);n&&e.appendChild(n);let o=h("span","persona-pill-peek__text"),r=h("span","persona-pill-peek__caret"),s=re("chevron-up",16,"currentColor",1.5);return s&&r.appendChild(s),t.append(e,o,r),{root:t,textNode:o}},Np=t=>{let{config:e}=t,n=Ne("div",{className:"persona-widget-footer persona-widget-footer--pill",attrs:{"data-persona-theme-zone":"composer"}}),o=_a(),r=Oa(e);r.style.display="none";let{textarea:s,attachAutoResize:a}=Ba(e);s.style.maxHeight="100px",a();let l=Da(e),p=Fa(e),d=Na(e);d&&d.previewsContainer.classList.add("persona-pill-composer__previews");let c=Ne("form",{className:"persona-widget-composer persona-pill-composer",attrs:{"data-persona-composer-form":""},style:{outline:"none"}}),u=h("div","persona-widget-composer__left-actions persona-pill-composer__left");d&&u.append(d.wrapper);let w=h("div","persona-widget-composer__right-actions persona-pill-composer__right");p&&w.append(p.wrapper),w.append(l.wrapper),c.addEventListener("click",v=>{v.target!==l.button&&v.target!==l.wrapper&&v.target!==p?.button&&v.target!==p?.wrapper&&v.target!==d?.button&&v.target!==d?.wrapper&&s.focus()}),d&&c.append(d.input),c.append(u,s,w),d&&n.append(d.previewsContainer),n.append(o,c,r);let f=c;return{footer:n,suggestions:o,composerForm:c,textarea:s,sendButton:l.button,sendButtonWrapper:l.wrapper,micButton:p?.button??null,micButtonWrapper:p?.wrapper??null,statusText:r,attachmentButton:d?.button??null,attachmentButtonWrapper:d?.wrapper??null,attachmentInput:d?.input??null,attachmentPreviewsContainer:d?.previewsContainer??null,actionsRow:f,leftActions:u,rightActions:w,setSendButtonMode:l.setMode}};var Op=t=>{let e=t?.launcher?.enabled??!0,n=Ht(t);if(ls(t)){let c=t?.launcher?.composerBar??{},u=h("div","persona-widget-wrapper persona-fixed persona-transition");u.setAttribute("data-persona-composer-bar",""),u.dataset.state="collapsed",u.dataset.expandedSize=c.expandedSize??"anchored",u.style.zIndex=String(t?.launcher?.zIndex??$t);let w=h("div","persona-widget-panel persona-relative persona-flex persona-flex-1 persona-min-h-0 persona-flex-col");w.style.width="100%",u.appendChild(w);let f=h("div","persona-widget-pill-root");return f.setAttribute("data-persona-composer-bar",""),f.dataset.state="collapsed",f.dataset.expandedSize=c.expandedSize??"anchored",f.style.zIndex=String(t?.launcher?.zIndex??$t),{wrapper:u,panel:w,pillRoot:f}}if(n){let c=h("div","persona-relative persona-h-full persona-w-full persona-flex persona-flex-1 persona-min-h-0 persona-flex-col"),u=h("div","persona-relative persona-h-full persona-w-full persona-flex persona-flex-1 persona-min-h-0 persona-flex-col");return c.appendChild(u),{wrapper:c,panel:u}}if(!e){let c=h("div","persona-relative persona-h-full persona-flex persona-flex-col persona-flex-1 persona-min-h-0"),u=h("div","persona-relative persona-flex-1 persona-flex persona-flex-col persona-min-h-0"),w=t?.launcher?.width??"100%";return c.style.width=w,u.style.width="100%",c.appendChild(u),{wrapper:c,panel:u}}let r=t?.launcher??{},s=r.position&&wn[r.position]?wn[r.position]:wn["bottom-right"],a=h("div",`persona-widget-wrapper persona-fixed ${s} persona-transition`);a.style.zIndex=String(t?.launcher?.zIndex??$t);let l=h("div","persona-widget-panel persona-relative persona-min-h-[320px]"),d=t?.launcher?.width??t?.launcherWidth??Nn;return l.style.width=d,l.style.maxWidth=d,a.appendChild(l),{wrapper:a,panel:l}},ch=(t,e)=>{let n=h("div","persona-widget-container persona-relative persona-flex persona-flex-1 persona-min-h-0 persona-flex-col persona-text-persona-primary");n.setAttribute("data-persona-theme-zone","container");let{button:o,wrapper:r}=Ra(t,{showClose:e,wrapperClassName:"persona-composer-bar-close",buttonSize:"16px",iconSize:"14px"});r.style.position="absolute",r.style.top="8px",r.style.right="8px",r.style.zIndex="10";let s=t?.launcher?.clearChat?.enabled??!0,a=null,l=null;if(s){let P=Wa(t,{wrapperClassName:"persona-composer-bar-clear-chat",buttonSize:"16px",iconSize:"14px"});a=P.button,l=P.wrapper,l.style.position="absolute",l.style.top="8px",l.style.right="32px",l.style.zIndex="10"}let p=Ne("span",{className:"persona-widget-header",attrs:{"data-persona-theme-zone":"header"},style:{display:"none"}}),d=Ne("div",{className:"persona-widget-body persona-flex persona-flex-1 persona-min-h-0 persona-flex-col persona-gap-6 persona-overflow-y-auto persona-bg-persona-container persona-px-6 persona-py-6",attrs:{id:"persona-scroll-container","data-persona-theme-zone":"messages"},style:{paddingTop:"48px"}});d.style.setProperty("scrollbar-gutter","stable");let c=Ne("h2",{className:"persona-text-lg persona-font-semibold persona-text-persona-primary",text:t?.copy?.welcomeTitle??"Hello \u{1F44B}"}),u=Ne("p",{className:"persona-mt-2 persona-text-sm persona-text-persona-muted",text:t?.copy?.welcomeSubtitle??"Ask anything about your account or products."}),w=Ne("div",{className:"persona-rounded-2xl persona-p-6",attrs:{"data-persona-intro-card":""},style:{background:"var(--persona-intro-card-bg, transparent)",boxShadow:"var(--persona-intro-card-shadow, none)"}},c,u),f=h("div","persona-flex persona-flex-col persona-gap-3"),v=t?.layout?.contentMaxWidth;v&&(f.style.maxWidth=v,f.style.marginLeft="auto",f.style.marginRight="auto",f.style.width="100%"),t?.copy?.showWelcomeCard!==!1||(w.style.display="none",d.classList.remove("persona-gap-6"),d.classList.add("persona-gap-3")),d.append(w,f);let I=Ne("div",{className:"persona-composer-overlay persona-pointer-events-none",attrs:{"data-persona-composer-overlay":""},style:{position:"absolute",left:"0",right:"0",bottom:"0",zIndex:"20"}}),B=Np({config:t}),{root:k,textNode:M}=Fp();return n.append(p,r,d,I),l&&n.appendChild(l),{container:n,body:d,messagesWrapper:f,composerOverlay:I,suggestions:B.suggestions,textarea:B.textarea,sendButton:B.sendButton,sendButtonWrapper:B.sendButtonWrapper,micButton:B.micButton,micButtonWrapper:B.micButtonWrapper,composerForm:B.composerForm,statusText:B.statusText,introTitle:c,introSubtitle:u,closeButton:o,closeButtonWrapper:r,clearChatButton:a,clearChatButtonWrapper:l,iconHolder:h("span"),headerTitle:h("span"),headerSubtitle:h("span"),header:p,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:k,peekTextNode:M}},_p=(t,e=!0)=>{if(ls(t))return ch(t,e);let n=Ne("div",{className:"persona-widget-container persona-flex persona-h-full persona-w-full persona-flex-1 persona-min-h-0 persona-flex-col persona-text-persona-primary persona-bg-persona-surface persona-rounded-2xl persona-overflow-hidden persona-border persona-border-persona-border",attrs:{"data-persona-theme-zone":"container"}}),o=t?.layout?.header,r=t?.layout?.showHeader!==!1,s=o?Ha(t,o,{showClose:e}):Po({config:t,showClose:e}),a=Ne("div",{className:"persona-widget-body persona-flex persona-flex-1 persona-min-h-0 persona-flex-col persona-gap-6 persona-overflow-y-auto persona-bg-persona-container persona-px-6 persona-py-6",attrs:{id:"persona-scroll-container","data-persona-theme-zone":"messages"}});a.style.setProperty("scrollbar-gutter","stable");let l=Ne("h2",{className:"persona-text-lg persona-font-semibold persona-text-persona-primary",text:t?.copy?.welcomeTitle??"Hello \u{1F44B}"}),p=Ne("p",{className:"persona-mt-2 persona-text-sm persona-text-persona-muted",text:t?.copy?.welcomeSubtitle??"Ask anything about your account or products."}),d=Ne("div",{className:"persona-rounded-2xl persona-p-6",attrs:{"data-persona-intro-card":""},style:{background:"var(--persona-intro-card-bg, transparent)",boxShadow:Ht(t)?"none":"var(--persona-intro-card-shadow, none)"}},l,p),c=h("div","persona-flex persona-flex-col persona-gap-3"),u=t?.layout?.contentMaxWidth;u&&(c.style.maxWidth=u,c.style.marginLeft="auto",c.style.marginRight="auto",c.style.width="100%"),t?.copy?.showWelcomeCard!==!1||(d.style.display="none",a.classList.remove("persona-gap-6"),a.classList.add("persona-gap-3")),a.append(d,c);let f=$a({config:t}),v=t?.layout?.showFooter!==!1;r?cs(n,s,t):(s.header.style.display="none",cs(n,s,t)),n.append(a);let C=Ne("div",{className:"persona-composer-overlay persona-pointer-events-none",attrs:{"data-persona-composer-overlay":""},style:{position:"absolute",left:"0",right:"0",bottom:"0",zIndex:"20"}});return v||(f.footer.style.display="none"),n.append(f.footer),n.append(C),{container:n,body:a,messagesWrapper:c,composerOverlay:C,suggestions:f.suggestions,textarea:f.textarea,sendButton:f.sendButton,sendButtonWrapper:f.sendButtonWrapper,micButton:f.micButton,micButtonWrapper:f.micButtonWrapper,composerForm:f.composerForm,statusText:f.statusText,introTitle:l,introSubtitle:p,closeButton:s.closeButton,closeButtonWrapper:s.closeButtonWrapper,clearChatButton:s.clearChatButton,clearChatButtonWrapper:s.clearChatButtonWrapper,iconHolder:s.iconHolder,headerTitle:s.headerTitle,headerSubtitle:s.headerSubtitle,header:s.header,footer:f.footer,attachmentButton:f.attachmentButton,attachmentButtonWrapper:f.attachmentButtonWrapper,attachmentInput:f.attachmentInput,attachmentPreviewsContainer:f.attachmentPreviewsContainer,actionsRow:f.actionsRow,leftActions:f.leftActions,rightActions:f.rightActions,setSendButtonMode:f.setSendButtonMode}};var il=(t,e)=>{let n=h("button");n.type="button",n.innerHTML=`
|
|
29
|
+
`)),n=h("span","persona-code-line")),o(r.type,s[a])}return n.childNodes.length>0?e.appendChild(n):e.lastChild||e.appendChild(n),e}function fp(t,e,n){let o=t.length<=mm?hm(e,n):null,r=o?Sm(t,o):[{type:"plain",value:t}];return Tm(r)}function ar(t){let{items:e,onSelect:n,anchor:o,position:r="bottom-left",portal:s}=t,a=h("div","persona-dropdown-menu persona-hidden");a.setAttribute("role","menu"),a.setAttribute("data-persona-theme-zone","dropdown"),s?(a.style.position="fixed",a.style.zIndex=String(ua)):(a.style.position="absolute",a.style.top="100%",a.style.marginTop="4px",r==="bottom-right"?a.style.right="0":a.style.left="0");for(let f of e){if(f.dividerBefore){let I=document.createElement("hr");a.appendChild(I)}let v=document.createElement("button");if(v.type="button",v.setAttribute("role","menuitem"),v.setAttribute("data-dropdown-item-id",f.id),f.destructive&&v.setAttribute("data-destructive",""),f.icon){let I=re(f.icon,16,"currentColor",1.5);I&&v.appendChild(I)}let C=document.createElement("span");C.textContent=f.label,v.appendChild(C),v.addEventListener("click",I=>{I.stopPropagation(),c(),n(f.id)}),a.appendChild(v)}let l=null;function p(){if(!s)return;let f=o.getBoundingClientRect();a.style.top=`${f.bottom+4}px`,r==="bottom-right"?(a.style.right=`${window.innerWidth-f.right}px`,a.style.left="auto"):(a.style.left=`${f.left}px`,a.style.right="auto")}function d(){p(),a.classList.remove("persona-hidden"),requestAnimationFrame(()=>{let f=v=>{!a.contains(v.target)&&!o.contains(v.target)&&c()};document.addEventListener("click",f,!0),l=()=>document.removeEventListener("click",f,!0)})}function c(){a.classList.add("persona-hidden"),l?.(),l=null}function u(){a.classList.contains("persona-hidden")?d():c()}function w(){c(),a.remove()}return s&&s.appendChild(a),{element:a,show:d,hide:c,toggle:u,destroy:w}}function It(t){let{icon:e,label:n,size:o,strokeWidth:r,className:s,onClick:a,aria:l}=t,p=h("button","persona-icon-btn"+(s?" "+s:""));p.type="button",p.setAttribute("aria-label",n),p.title=n;let d=re(e,o??16,"currentColor",r??2);if(d&&p.appendChild(d),a&&p.addEventListener("click",a),l)for(let[c,u]of Object.entries(l))p.setAttribute(c,u);return p}function Lo(t){let{icon:e,label:n,variant:o="default",size:r="sm",iconSize:s,className:a,onClick:l,aria:p}=t,d="persona-label-btn";o!=="default"&&(d+=" persona-label-btn--"+o),d+=" persona-label-btn--"+r,a&&(d+=" "+a);let c=h("button",d);if(c.type="button",c.setAttribute("aria-label",n),e){let w=re(e,s??14,"currentColor",2);w&&c.appendChild(w)}let u=h("span");if(u.textContent=n,c.appendChild(u),l&&c.addEventListener("click",l),p)for(let[w,f]of Object.entries(p))c.setAttribute(w,f);return c}function wa(t){let{items:e,selectedId:n,onSelect:o,className:r}=t,s=h("div","persona-toggle-group"+(r?" "+r:""));s.setAttribute("role","group");let a=n,l=[];function p(){for(let c of l)c.btn.setAttribute("aria-pressed",c.id===a?"true":"false")}for(let c of e){let u;c.icon?u=It({icon:c.icon,label:c.label,className:c.className,onClick:()=>{a=c.id,p(),o(c.id)}}):(u=h("button","persona-icon-btn"+(c.className?" "+c.className:"")),u.type="button",u.setAttribute("aria-label",c.label),u.title=c.label,u.textContent=c.label,u.addEventListener("click",()=>{a=c.id,p(),o(c.id)})),u.setAttribute("aria-pressed",c.id===a?"true":"false"),l.push({id:c.id,btn:u}),s.appendChild(u)}function d(c){a=c,p()}return{element:s,setSelected:d}}function gp(t){let{label:e,icon:n="chevron-down",menuItems:o,onSelect:r,position:s="bottom-left",portal:a,className:l,hover:p}=t,d=h("div","persona-combo-btn"+(l?" "+l:""));d.style.position="relative",d.style.display="inline-flex",d.style.alignItems="center",d.style.cursor="pointer",d.setAttribute("role","button"),d.setAttribute("tabindex","0"),d.setAttribute("aria-haspopup","true"),d.setAttribute("aria-expanded","false"),d.setAttribute("aria-label",e);let c=h("span","persona-combo-btn-label");c.textContent=e,d.appendChild(c);let u=re(n,14,"currentColor",2);u&&(u.style.marginLeft="4px",u.style.opacity="0.6",d.appendChild(u)),p&&(d.style.borderRadius=p.borderRadius??"10px",d.style.padding=p.padding??"6px 4px 6px 12px",d.style.border="1px solid transparent",d.style.transition="background-color 0.15s ease, border-color 0.15s ease",d.addEventListener("mouseenter",()=>{d.style.backgroundColor=p.background??"",d.style.borderColor=p.border??""}),d.addEventListener("mouseleave",()=>{d.style.backgroundColor="",d.style.borderColor="transparent"}));let w=ar({items:o,onSelect:f=>{d.setAttribute("aria-expanded","false"),r(f)},anchor:d,position:s,portal:a});return a||d.appendChild(w.element),d.addEventListener("click",f=>{f.stopPropagation();let v=!w.element.classList.contains("persona-hidden");d.setAttribute("aria-expanded",v?"false":"true"),w.toggle()}),d.addEventListener("keydown",f=>{(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),d.click())}),{element:d,setLabel:f=>{c.textContent=f,d.setAttribute("aria-label",f)},open:()=>{d.setAttribute("aria-expanded","true"),w.show()},close:()=>{d.setAttribute("aria-expanded","false"),w.hide()},toggle:()=>{let f=!w.element.classList.contains("persona-hidden");d.setAttribute("aria-expanded",f?"false":"true"),w.toggle()},destroy:()=>{w.destroy(),d.remove()}}}var xa="persona-artifact-custom-action-btn";function ir(t,e){let n=e?.documentChrome??!1,o;if(typeof t.icon=="function"){if(t.showLabel){let r="persona-label-btn persona-label-btn--sm "+xa+(n?" persona-artifact-doc-copy-btn":"");o=h("button",r)}else{let r="persona-icon-btn "+xa+(n?" persona-artifact-doc-icon-btn":"");o=h("button",r)}o.type="button",o.setAttribute("aria-label",t.label),o.title=t.label;try{let r=t.icon();r&&o.appendChild(r)}catch{}if(t.showLabel){let r=h("span");r.textContent=t.label,o.appendChild(r)}}else t.showLabel||!t.icon?o=Lo({icon:t.icon,label:t.label,className:xa+(n?" persona-artifact-doc-copy-btn":"")}):o=It({icon:t.icon,label:t.label,className:xa+(n?" persona-artifact-doc-icon-btn":"")});return e?.onClick&&o.addEventListener("click",e.onClick),o}function es(t){if(!t)return null;let e={artifactId:t.id,title:t.title??"",artifactType:t.artifactType};return t.artifactType==="markdown"?(e.markdown=t.markdown??"",t.file&&(e.file=t.file)):e.jsonPayload=JSON.stringify({component:t.component,props:t.props},null,2),e}function mp(t,e){let n=t.file&&typeof t.file=="object"&&!Array.isArray(t.file)?t.file:void 0,o=typeof t.title=="string"&&t.title?t.title:"Untitled artifact",r=n?Sn(n.path):o,s=typeof t.artifactId=="string"?t.artifactId:"",a=t.status==="streaming"?"streaming":"complete",l=typeof t.artifactType=="string"?t.artifactType:"markdown",p=n?oo(n):l==="component"?"Component":"Document",d=document.createElement("div");d.className="persona-artifact-card persona-flex persona-w-full persona-max-w-full persona-items-center persona-gap-3 persona-px-4 persona-py-3",d.tabIndex=0,d.setAttribute("role","button"),d.setAttribute("aria-label",`Open ${r} in artifact panel`),s&&d.setAttribute("data-open-artifact",s);let c=document.createElement("div");c.className="persona-flex persona-h-10 persona-w-10 persona-flex-shrink-0 persona-items-center persona-justify-center persona-rounded-lg",c.style.border="1px solid var(--persona-border, #e5e7eb)",c.style.color="var(--persona-muted, #9ca3af)",c.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"/><polyline points="14 2 14 8 20 8"/></svg>';let u=document.createElement("div");u.className="persona-min-w-0 persona-flex-1 persona-flex persona-flex-col persona-gap-0.5";let w=document.createElement("div");w.className="persona-truncate persona-text-sm persona-font-medium",w.style.color="var(--persona-text, #1f2937)",w.textContent=r;let f=document.createElement("div");if(f.className="persona-text-xs persona-flex persona-items-center persona-gap-1.5",f.style.color="var(--persona-muted, #9ca3af)",a==="streaming"){let v=e?.config?.features?.artifacts,C={id:s,artifactType:l==="component"?"component":"markdown",title:o,status:"streaming",...typeof t.markdown=="string"?{markdown:t.markdown}:{},...n?{file:n}:{}},I=sr(C,v,"card");ko(f,I,v)}else s&&rr(s),f.textContent=p;if(u.append(w,f),d.append(c,u),a==="complete"){let v=e?.config?.features?.artifacts?.cardActions;if(v&&v.length>0){let I={artifactId:s||null,title:r,artifactType:l,markdown:typeof t.markdown=="string"?t.markdown:void 0,file:n};for(let B of v)try{if(B.visible===void 0||B.visible(I)){let k=ir(B);k.setAttribute("data-artifact-custom-action",B.id),k.className=`${k.className} persona-flex-shrink-0`,d.append(k)}}catch{}}let C=Lo({label:"Download",className:"persona-flex-shrink-0"});C.title=`Download ${r}`,C.setAttribute("data-download-artifact",s),d.append(C)}return d}var Ca=(t,e)=>{let n=e?.config?.features?.artifacts?.renderCard;if(n){let o=typeof t.title=="string"&&t.title?t.title:"Untitled artifact",r=typeof t.artifactId=="string"?t.artifactId:"",s=t.status==="streaming"?"streaming":"complete",a=typeof t.artifactType=="string"?t.artifactType:"markdown",l=n({artifact:{artifactId:r,title:o,artifactType:a,status:s},config:e.config,defaultRenderer:()=>mp(t,e)});if(l)return l}return mp(t,e)};var so=new WeakMap;function Zi(t,e,n){if(e.length===0)return;let o=new Map(e.map(r=>[r.id,r]));t.querySelectorAll("[data-artifact-inline]").forEach(r=>{let s=so.get(r);if(!s)return;let a=o.get(r.getAttribute("data-artifact-inline")??"");a&&s(a,n)})}function wp(t){return so.has(t)}function Mm(t){let e=typeof t.artifactId=="string"?t.artifactId:"",n=typeof t.title=="string"&&t.title?t.title:void 0,o=t.status==="streaming"?"streaming":"complete";if(t.artifactType==="component"){let s=t.componentProps,a=s&&typeof s=="object"&&!Array.isArray(s)?s:{};return{id:e,artifactType:"component",title:n,status:o,component:typeof t.component=="string"?t.component:"",props:a}}let r=t.file&&typeof t.file=="object"&&!Array.isArray(t.file)?t.file:void 0;return{id:e,artifactType:"markdown",title:n,status:o,markdown:typeof t.markdown=="string"?t.markdown:"",...r?{file:r}:{}}}function hp(t){let e=t.artifactType==="markdown"?t.file:void 0,n=e?Sn(e.path):t.title&&t.title.trim()?t.title:"Untitled artifact",o=e?oo(e):t.artifactType==="component"?"Component":"Document";return{title:n,typeLabel:o}}function Em(t){let e={artifactId:t.id,title:t.title??"",status:t.status,artifactType:t.artifactType};return t.artifactType==="markdown"&&(typeof t.markdown=="string"&&(e.markdown=t.markdown),t.file&&(e.file=t.file)),e}var yp=180,km=240,Lm=.8,Pm=300,Im=500,Rm="cubic-bezier(0.2, 0, 0, 1)",bp=240,Wm=.35;function Hm(t,e,n){let{swap:o,onSettled:r}=n,s=!1;try{s=typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{s=!1}if(!e||!t.isConnected||s||typeof t.animate!="function"){o(),r();return}t.style.height=`${e}px`,t.style.overflow="hidden";let a=[];for(let l of Array.from(t.children))l instanceof HTMLElement&&a.push(l.animate([{opacity:1},{opacity:0}],{duration:yp,easing:"ease-out",fill:"forwards"}));window.setTimeout(()=>{for(let B of a)B.cancel();o();let l=()=>{t.style.removeProperty("height"),t.style.removeProperty("overflow")};if(!t.isConnected){l(),r();return}t.style.height="auto";let p=t.getBoundingClientRect().height;if(t.style.height=`${e}px`,!p||Math.abs(p-e)<1){l(),r();return}let d=Math.abs(e-p),c=Math.round(Math.min(Im,Math.max(Pm,km+d*Lm))),u=Math.round(c*Wm),w=t.firstElementChild instanceof HTMLElement?t.firstElementChild:null,f=w?w.animate([{opacity:0},{opacity:1}],{duration:bp,delay:u,easing:"ease-out",fill:"backwards"}):null,v=t.animate([{height:`${e}px`},{height:`${p}px`}],{duration:c,easing:Rm});t.style.height=`${p}px`;let C=!1,I=()=>{C||(C=!0,l(),r())};Promise.allSettled([v.finished,f?.finished].filter(Boolean)).then(I),window.setTimeout(I,Math.max(c,u+bp)+120)},yp)}function Bm(t){let e=t?.inlineChrome;if(e===!1)return{chromeEnabled:!1,showCopy:!1,showExpand:!1,showViewToggle:!1};let n=typeof e=="object"?e:void 0;return{chromeEnabled:!0,showCopy:n?.showCopy!==!1,showExpand:n?.showExpand!==!1,showViewToggle:n?.showViewToggle!==!1}}var ts="--persona-artifact-inline-body-height";function Dm(t){let e=t?.inlineBody,n=e?.streamingView==="status"?"status":"source",o=e?.viewMode==="source"?"source":"rendered",r=320,s=320,a=e?.height;typeof a=="number"||a==="auto"?(r=a,s=a):a&&typeof a=="object"&&(r=a.streaming??320,s=a.complete??320);let l=e?.overflow==="clip"?"clip":"scroll",p=l==="clip"?!1:e?.followOutput!==!1,d,c,u=e?.fadeMask;u===!0?(d=!0,c=!0):u===!1?(d=!1,c=!1):u&&typeof u=="object"?(d=u.top===!0,c=u.bottom===!0):l==="clip"?(d=!1,c=!0):(d=!0,c=!0);let w=e?.transition==="none"?"none":"auto",f=e?.completeDisplay==="card"?"card":"inline";return{streamingView:n,viewMode:o,streamingHeight:r,completeHeight:s,followOutput:p,overflow:l,fadeTop:d,fadeBottom:c,transition:w,completeDisplay:f}}function vp(t,e){let n=Mm(t),o=e.config?.features?.artifacts,{chromeEnabled:r,showCopy:s,showExpand:a,showViewToggle:l}=Bm(o),p=o?.inlineActions??[],d=Dm(o),c=d.completeDisplay==="card",u=null,w=n,f=h("div","persona-artifact-inline persona-w-full persona-max-w-full");f.setAttribute("data-persona-theme-zone","artifact-inline"),n.id&&f.setAttribute("data-artifact-inline",n.id);let v=Y=>Ca(Em(Y),e),C=Y=>{f.classList.add("persona-artifact-inline--card"),f.style.removeProperty(ts),f.replaceChildren(v(Y)),so.set(f,ae=>{f.replaceChildren(v(ae))})};if(c&&n.status==="complete")return C(n),f;let I=Aa(n,{config:e.config,bodyLayout:d,resolveViewMode:()=>u??d.viewMode}),B=h("div","persona-artifact-inline-body");B.appendChild(I.el);let k=Y=>{let ae=Y.status!=="complete",Z=ae?d.streamingHeight:d.completeHeight,he=typeof Z=="number";he?f.style.setProperty(ts,`${Z}px`):f.style.removeProperty(ts);let ye=!!I.el.querySelector(".persona-code-pre"),pe=!!I.el.querySelector("iframe, .persona-artifact-source-window--fixed, .persona-artifact-status-view");B.classList.toggle("persona-artifact-content-flush",ye),B.classList.toggle("persona-artifact-inline-body--sized",he&&pe),B.classList.toggle("persona-artifact-inline-body--cap",!ae&&!pe&&typeof d.completeHeight=="number")},M=n.status,P=(Y,ae)=>{M!=="complete"&&Y.status==="complete"?(typeof d.completeHeight=="number"?f.style.setProperty(ts,`${d.completeHeight}px`):f.style.removeProperty(ts),Cp(B,ae?.suppressTransition?"none":d.transition,Y.id,()=>{I.update(Y),k(Y)})):I.update(Y),k(Y),M=Y.status};k(n);let z=d.overflow==="clip"&&a&&!!n.id;if(z&&(B.setAttribute("data-expand-artifact-inline",n.id),B.setAttribute("role","button"),B.setAttribute("tabindex","0"),B.classList.add("persona-cursor-pointer"),B.setAttribute("aria-label",`Open ${hp(n).title} in panel`)),!r)return f.appendChild(B),so.set(f,P),f;let K=h("div","persona-artifact-inline-chrome");K.setAttribute("data-persona-theme-zone","artifact-inline-chrome");let x=h("div","persona-artifact-inline-chrome-lead"),U=h("span","persona-flex persona-items-center persona-flex-shrink-0"),j=re("file-text",16,"currentColor",2);j&&U.appendChild(j);let J=h("span","persona-artifact-inline-title persona-truncate persona-min-w-0"),D=h("span","persona-artifact-inline-type");x.append(U,J,D);let F=h("div","persona-artifact-inline-chrome-actions"),ie=h("span","persona-flex persona-items-center persona-gap-1"),ge=()=>u??d.viewMode,Ce=l?wa({items:[{id:"rendered",icon:"eye",label:"Rendered view",className:"persona-artifact-doc-icon-btn persona-artifact-view-btn"},{id:"source",icon:"code-xml",label:"Source",className:"persona-artifact-doc-icon-btn persona-artifact-code-btn"}],selectedId:ge(),className:"persona-artifact-toggle-group persona-flex-shrink-0",onSelect:Y=>{let ae=Y==="source"?"source":"rendered";ae!==ge()&&(u=ae,I.update(w),k(w))}}):null,we=s?It({icon:"copy",label:"Copy",className:"persona-artifact-doc-icon-btn persona-flex-shrink-0"}):null;we&&n.id&&we.setAttribute("data-copy-artifact",n.id);let ee=a?It({icon:"maximize",label:"Open in panel",className:"persona-artifact-doc-icon-btn persona-flex-shrink-0"}):null;ee&&n.id&&ee.setAttribute("data-expand-artifact-inline",n.id),F.appendChild(ie),Ce&&F.appendChild(Ce.element),we&&F.appendChild(we),ee&&F.appendChild(ee),K.append(x,F),f.append(K,B);let ce=Y=>{let{title:ae,typeLabel:Z}=hp(Y);J.textContent=ae,J.title=ae,z&&B.setAttribute("aria-label",`Open ${ae} in panel`);let he=Y.status!=="complete";if(he){D.classList.contains("persona-artifact-inline-status")||(D.className="persona-artifact-inline-status",D.removeAttribute("data-preserve-animation"),D.replaceChildren());let ye=sr(Y,o,"inline-chrome");ko(D,ye,o)}else rr(Y.id),D.className="persona-artifact-inline-type",D.removeAttribute("data-preserve-animation"),D.replaceChildren(),D.textContent=Z;if(we&&we.classList.toggle("persona-hidden",he),Ce){let ye=Y.artifactType==="markdown"?Y.file:void 0,pe=!1;if(!he&&ye&&d.viewMode!=="source"){let Te=Zr(ye);Te==="markdown"?pe=!0:(Te==="html"||Te==="svg")&&(pe=o?.filePreview?.enabled!==!1)}Ce.element.classList.toggle("persona-hidden",!pe),Ce.setSelected(ge())}if(ie.replaceChildren(),!he&&p.length>0){let ye=es(Y);if(ye)for(let pe of p)try{if(pe.visible===void 0||pe.visible(ye)){let Te=ir(pe,{documentChrome:!0});Te.setAttribute("data-artifact-custom-action",pe.id),Te.classList.add("persona-flex-shrink-0"),ie.appendChild(Te)}}catch{}}};return ce(n),so.set(f,(Y,ae)=>{if(c&&M!=="complete"&&Y.status==="complete"){let Z=f.isConnected?f.getBoundingClientRect().height:0;M="complete";let he=Y,ye=!1,pe=Te=>{he=Te,ye=!0};so.set(f,pe),Hm(f,Z,{swap:()=>{C(he),ye=!1,so.set(f,pe)},onSettled:()=>{ye?C(he):so.set(f,Te=>{f.replaceChildren(v(Te))})}});return}(Y.status!=="complete"||Y.id!==w.id)&&(u=null),w=Y,P(Y,ae),ce(Y)}),f}var xp=(t,e)=>{let n=e?.config?.features?.artifacts?.renderInline;if(n){let o=typeof t.title=="string"&&t.title?t.title:"Untitled artifact",r=typeof t.artifactId=="string"?t.artifactId:"",s=t.status==="streaming"?"streaming":"complete",a=typeof t.artifactType=="string"?t.artifactType:"markdown",l=n({artifact:{artifactId:r,title:o,artifactType:a,status:s},config:e.config,defaultRenderer:()=>vp(t,e)});if(l)return l}return vp(t,e)};var el=class{constructor(){this.components=new Map;this.options=new Map}register(e,n,o){this.components.has(e)&&console.warn(`[ComponentRegistry] Component "${e}" is already registered. Overwriting.`),this.components.set(e,n),o?this.options.set(e,o):this.options.delete(e)}unregister(e){this.components.delete(e),this.options.delete(e)}get(e){return this.components.get(e)}has(e){return this.components.has(e)}getOptions(e){return this.options.get(e)}getAllNames(){return Array.from(this.components.keys())}clear(){this.components.clear(),this.options.clear()}registerAll(e){Object.entries(e).forEach(([n,o])=>{this.register(n,o)})}},On=new el;On.register("PersonaArtifactCard",Ca,{bubbleChrome:!1});On.register("PersonaArtifactInline",xp,{bubbleChrome:!1});function ns(t){if(!t)return"";if(t.artifactType==="markdown"){let e=t.markdown??"";return t.file?ya(e):e}return JSON.stringify({component:t.component,props:t.props},null,2)}var tl=!1;function Fm(t){return"persona-artifact-vt-"+((t||"artifact").replace(/[^A-Za-z0-9_-]/g,"-").replace(/^-+/,"")||"artifact")}function Cp(t,e,n,o){let r=typeof document<"u"?document.startViewTransition:void 0,s=!1;try{s=typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{s=!1}if(e!=="auto"||!t||typeof r!="function"||tl||s){o();return}tl=!0;let a=Fm(n);t.style.setProperty("view-transition-name",a);let l=()=>{tl=!1,t.style.removeProperty("view-transition-name")};try{r.call(document,()=>{o()}).finished.then(l,l)}catch{l(),o()}}var Nm="persona-font-mono persona-text-xs persona-whitespace-pre-wrap persona-break-words persona-text-persona-primary",Om="persona-text-sm persona-leading-relaxed persona-markdown-bubble";function _m(t){let e=h("div","persona-rounded-lg persona-border persona-border-persona-border persona-p-3 persona-text-persona-primary"),n=h("div","persona-font-semibold persona-text-sm persona-mb-2");n.textContent=t.component?`Component: ${t.component}`:"Component";let o=h("pre","persona-font-mono persona-text-xs persona-whitespace-pre-wrap persona-overflow-x-auto");return o.textContent=JSON.stringify(t.props??{},null,2),e.appendChild(n),e.appendChild(o),e}function $m(t){if(t===!1)return{enabled:!1,delayMs:0,minVisibleMs:0,timeoutMs:0,injectReadySignal:!1,label:"Starting preview...",labelDelayMs:2e3};let e=t&&typeof t=="object"?t:void 0;return{enabled:!0,delayMs:e?.delayMs??200,minVisibleMs:e?.minVisibleMs??300,timeoutMs:e?.timeoutMs??8e3,injectReadySignal:e?.injectReadySignal!==!1,label:e?.label===!1?!1:e?.label??"Starting preview...",labelDelayMs:e?.labelDelayMs??2e3,renderIndicator:e?.renderIndicator}}var zm=220;function Um(){try{if(typeof crypto<"u"&&crypto.getRandomValues){let t=new Uint32Array(2);return crypto.getRandomValues(t),t[0].toString(36)+t[1].toString(36)}}catch{}return Math.random().toString(36).slice(2)+Math.random().toString(36).slice(2)}function jm(t){return`
|
|
30
|
+
<script>(function(){var d=false;var t=`+JSON.stringify(t)+";function r(){if(d)return;d=true;try{parent.postMessage({persona:'artifact-preview-ready',token:t},'*');}catch(e){}}function s(){if(typeof requestAnimationFrame==='function'){requestAnimationFrame(function(){requestAnimationFrame(r);});}setTimeout(r,150);}if(document.readyState==='complete'){s();}else{window.addEventListener('load',s);}})();</script>"}function qm(t,e,n){let o=h("div","persona-artifact-frame-loading");if(n.renderIndicator)try{let a=n.renderIndicator({artifactId:t,config:e});if(a)return o.appendChild(a),{el:o,revealLabel:()=>{}}}catch{}let r=h("div","persona-artifact-frame-loading-indicator");r.appendChild(ap());let s=null;return n.label!==!1&&(s=h("div","persona-artifact-frame-loading-text"),s.textContent=n.label,r.appendChild(s)),o.appendChild(r),{el:o,revealLabel:()=>{s&&s.classList.add("persona-artifact-frame-loading-text--visible")}}}function Vm(t,e,n,o,r,s){let a=null,l=0,p=!1,d=new Set,c=()=>{d.forEach(M=>clearTimeout(M)),d.clear()},u=(M,P)=>{let z=setTimeout(()=>{d.delete(z),M()},P);d.add(z)},w=()=>{a&&a.parentElement&&a.remove(),a=null},f=()=>{if(a||p)return;let M=qm(r,s,o);a=M.el,t.appendChild(a),l=Date.now(),o.label!==!1&&u(M.revealLabel,o.labelDelayMs)},v=()=>{a&&(a.classList.add("persona-artifact-frame-loading--out"),u(w,zm))},C=()=>{n!==null?typeof window<"u"&&window.removeEventListener("message",B):e.removeEventListener("load",k)},I=()=>{if(p||(p=!0,C(),c(),!a))return;let M=Math.max(0,o.minVisibleMs-(Date.now()-l));M>0?u(v,M):v()};function B(M){if(n===null)return;let P=M.data;!P||P.persona!=="artifact-preview-ready"||P.token!==n||M.source===e.contentWindow&&I()}function k(){let M=P=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>P()):setTimeout(P,0)};M(()=>M(()=>I()))}return u(f,o.delayMs),u(I,o.timeoutMs),n!==null?typeof window<"u"&&window.addEventListener("message",B):e.addEventListener("load",k),()=>{p=!0,c(),C(),w()}}function Aa(t,e){let{config:n}=e,o=e.registry??On,r=e.bodyLayout,s=n.markdown?Ks(n.markdown):null,a=Gs(n.sanitize),l=t,p=!1,d=ee=>{let ce=Hn()!==null;s&&!ce&&!p&&(p=!0,Vs(()=>we(l)));let Y=s?s(ee):Zn(ee);return s&&ce&&a?a(Y):Y},c=h("div","persona-artifact-preview-body"),u=null,w=null,f=null,v=()=>{f&&(f(),f=null),u=null,w=null},C=null,I=null,B=null,k=!1,M=()=>{C=null,I=null,B=null,k=!1},P=null,z=null,K=()=>{P=null,z=null},x=40,U=0,j=ee=>typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>ee()):setTimeout(ee,0),J=ee=>ee.scrollHeight-ee.clientHeight-ee.scrollTop<=x,D=ee=>{if(!r)return;let ce=ee.scrollHeight-ee.clientHeight>1,Y=ee.scrollHeight-ee.clientHeight-ee.scrollTop;ee.classList.toggle("persona-artifact-fade-top",r.fadeTop&&ce&&ee.scrollTop>1),ee.classList.toggle("persona-artifact-fade-bottom",r.fadeBottom&&ce&&Y>1)},F=ee=>{U||(U=j(()=>{U=0,ee.scrollTop=ee.scrollHeight,D(ee)}))},ie=(ee,ce,Y,ae)=>{let Z=!!r,he=Y.id+"|"+(Z?"w":"p");if(!C||B!==he||C.parentElement!==c){v(),K(),c.replaceChildren();let Te=h("pre",Nm+" persona-code-pre"),Ae=h("code","persona-code");if(Te.appendChild(Ae),Z){let $e=h("div","persona-artifact-source-window");if($e.appendChild(Te),c.appendChild($e),!(r?.overflow==="clip")&&typeof $e.addEventListener=="function"){let ot=()=>$e.scrollHeight-$e.clientHeight>1;$e.addEventListener("scroll",()=>{J($e)&&(k=!1),D($e)},{passive:!0}),$e.addEventListener("wheel",Qe=>{ot()&&Qe.deltaY<0&&(k=!0)},{passive:!0}),$e.addEventListener("touchmove",()=>{ot()&&(k=!0)},{passive:!0})}C=$e}else c.appendChild(Te),C=Te;I=Ae,B=he}let ye=Z?C:null;ye&&(ye.classList.toggle("persona-artifact-source-window--fixed",ae),ye.classList.toggle("persona-artifact-source-window--clip",ae&&r?.overflow==="clip"));let pe=ye?J(ye):!0;if(I.replaceChildren(fp(ee,ce?.language,ce?.path)),ye){let Te=Y.status!=="complete";ae&&Te&&r?.followOutput&&!k&&pe?F(ye):Te||(k=!1),D(ye)}},ge=ee=>{v(),M(),K(),c.replaceChildren();let ce=h("div",Om);ce.innerHTML=d(ee),c.appendChild(ce)},Ce=ee=>{let ce=ee.id,Y=n.features?.artifacts,ae=sr(ee,Y,"status-body");if(P&&z===ce&&P.parentElement===c){let ye=P.querySelector(".persona-artifact-status-view-text");ye&&ko(ye,ae,Y);return}v(),M(),c.replaceChildren();let Z=h("div","persona-artifact-status-view"),he=h("div","persona-artifact-status-view-text");ko(he,ae,Y),Z.appendChild(he),c.appendChild(Z),P=Z,z=ce},we=ee=>{l=ee;let ce=e.resolveViewMode?.(ee)??r?.viewMode??"rendered",Y=ee.artifactType==="markdown"?ee.file:void 0,ae=ee.status!=="complete";ae||rr(ee.id);let Z=ae?r?.streamingHeight:r?.completeHeight,he=!!r&&typeof Z=="number";if(r?.streamingView==="status"&&ae){Ce(ee);return}if(Y){let pe=ya(ee.markdown??""),Te=Zr(Y),Ae=n.features?.artifacts?.filePreview?.enabled!==!1;if(!ae&&ce==="rendered"&&Ae&&(Te==="html"||Te==="svg")){let Fe=ee.id+"\0"+pe;if(u&&w===Fe&&u.parentElement===c)return;M(),K(),v(),c.replaceChildren();let ot=n.features?.artifacts?.filePreview,Qe=ot?.iframeSandbox??"allow-scripts";!ot?.dangerouslyAllowSameOrigin&&Qe.includes("allow-same-origin")&&(console.warn("[AgentWidget] Stripped allow-same-origin from filePreview.iframeSandbox: it lets artifact content run with the page origin. Set filePreview.dangerouslyAllowSameOrigin to keep it."),Qe=Qe.split(/\s+/).filter(St=>St&&St!=="allow-same-origin").join(" "));let He=$m(ot?.loading),Ee=h("div","persona-artifact-frame"),Xe=h("iframe","persona-artifact-iframe");Xe.setAttribute("sandbox",Qe),Xe.setAttribute("data-artifact-id",ee.id);let on=null;He.enabled&&He.injectReadySignal?(on=Um(),Xe.srcdoc=pe+jm(on)):Xe.srcdoc=pe,Ee.appendChild(Xe),c.appendChild(Ee),He.enabled&&(f=Vm(Ee,Xe,on,He,ee.id,n)),u=Ee,w=Fe;return}if(v(),!ae&&Te==="markdown"&&ce==="rendered"){ge(pe);return}ie(pe,{language:Y.language,path:Y.path},ee,he);return}if(ee.artifactType==="markdown"){if(ce==="source"){v(),ie(ee.markdown??"",void 0,ee,he);return}ge(ee.markdown??"");return}v(),M(),K(),c.replaceChildren();let ye=ee.component?o.get(ee.component):void 0;if(ye){let Te={message:{id:ee.id,role:"assistant",content:"",createdAt:new Date().toISOString()},config:n,updateProps:()=>{}};try{let Ae=ye(ee.props??{},Te);if(Ae){c.appendChild(Ae);return}}catch{}}c.appendChild(_m(ee))};return we(t),{el:c,update(ee){we(ee)}}}import{Idiomorph as Km}from"idiomorph";var Sa=(t,e,n={})=>{let{preserveTypingAnimation:o=!0}=n;Km.morph(t,e.innerHTML,{morphStyle:"innerHTML",callbacks:{beforeNodeMorphed(r,s){if(r instanceof HTMLElement&&o){if(r.classList.contains("persona-animate-typing")||r.hasAttribute("data-preserve-runtime"))return!1;if(r.hasAttribute("data-tool-elapsed"))return s instanceof HTMLElement&&s.getAttribute("data-tool-elapsed")===r.getAttribute("data-tool-elapsed")?!1:void 0;if(r.hasAttribute("data-preserve-animation")){if(s instanceof HTMLElement&&!s.hasAttribute("data-preserve-animation"))return;if(s instanceof HTMLElement&&s.hasAttribute("data-preserve-animation")){let a=r.textContent??"",l=s.textContent??"";if(a!==l)return}return!1}}}}})};var Ap=t=>t.replace(/^\n+/,"").replace(/\s+$/,"");var nl={index:-1,draft:""};function Sp(t){let{direction:e,history:n,currentValue:o,atStart:r,state:s}=t,a=s.index!==-1;if(n.length===0)return{handled:!1,state:s};if(e==="up"){if(!a&&!r)return{handled:!1,state:s};if(!a){let l=n.length-1;return{handled:!0,value:n[l],state:{index:l,draft:o}}}if(s.index>0){let l=s.index-1;return{handled:!0,value:n[l],state:{index:l,draft:s.draft}}}return{handled:!0,state:s}}if(!a)return{handled:!1,state:s};if(s.index<n.length-1){let l=s.index+1;return{handled:!0,value:n[l],state:{index:l,draft:s.draft}}}return{handled:!0,value:s.draft,state:{index:-1,draft:s.draft}}}function Tp(t,e){return[t.id,t.role,t.content?.length??0,t.content?.slice(-32)??"",t.streaming?"1":"0",t.voiceProcessing?"1":"0",t.variant??"",t.rawContent?.length??0,t.llmContent?.length??0,t.approval?.status??"",t.toolCall?.status??"",t.toolCall?.name??"",t.toolCall?.chunks?.length??0,t.toolCall?.chunks?.[t.toolCall.chunks.length-1]?.slice(-32)??"",typeof t.toolCall?.args=="string"?t.toolCall.args.length:t.toolCall?.args?JSON.stringify(t.toolCall.args).length:0,t.reasoning?.chunks?.length??0,t.reasoning?.chunks?.[t.reasoning.chunks.length-1]?.length??0,t.reasoning?.chunks?.[t.reasoning.chunks.length-1]?.slice(-32)??"",t.contentParts?.length??0,t.stopReason??"",e].join("\0")}function Mp(){return new Map}function Ep(t,e,n){let o=t.get(e);return o&&o.fingerprint===n?o.wrapper:null}function kp(t,e,n,o){t.set(e,{fingerprint:n,wrapper:o})}function Lp(t,e){for(let n of t.keys())e.has(n)||t.delete(n)}function Ta(t=!0){let e=t;return{isFollowing:()=>e,pause:()=>e?(e=!1,!0):!1,resume:()=>e?!1:(e=!0,!0)}}function Tn(t){return Math.max(0,t.scrollHeight-t.clientHeight)}function ao(t,e){return Tn(t)-t.scrollTop<=e}function Ma(t){let{following:e,currentScrollTop:n,lastScrollTop:o,nearBottom:r,userScrollThreshold:s,isAutoScrolling:a=!1,pauseOnUpwardScroll:l=!1,pauseWhenAwayFromBottom:p=!0,resumeRequiresDownwardScroll:d=!1}=t,c=n-o;return a||Math.abs(c)<s?{action:"none",delta:c,nextLastScrollTop:n}:!e&&r&&(!d||c>0)?{action:"resume",delta:c,nextLastScrollTop:n}:e&&l&&c<0?{action:"pause",delta:c,nextLastScrollTop:n}:e&&p&&!r?{action:"pause",delta:c,nextLastScrollTop:n}:{action:"none",delta:c,nextLastScrollTop:n}}function Ea(t){let{following:e,deltaY:n,nearBottom:o=!1,resumeWhenNearBottom:r=!1}=t;return e&&n<0?"pause":!e&&r&&n>0&&o?"resume":"none"}function Pp(t,e){return!t||t.isCollapsed?!1:e.contains(t.anchorNode)||e.contains(t.focusNode)}function Ip(t){let e=Math.max(0,t.anchorOffsetTop-t.topOffset),n=Math.max(0,e+t.viewportHeight-t.contentHeight);return{targetScrollTop:e,spacerHeight:n}}function Rp(t){let e=Math.max(0,t.currentContentHeight-t.contentHeightAtAnchor);return Math.max(0,t.initialSpacerHeight-e)}var os={type:"none",placeholder:"none",speed:120,duration:1800,buffer:"none"},Gm=["pre","code","a","script","style"],ka=t=>({type:t?.type??os.type,placeholder:t?.placeholder??os.placeholder,speed:t?.speed??os.speed,duration:t?.duration??os.duration,buffer:t?.buffer??os.buffer}),Qm=[{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"}],Hp=new Map;for(let t of Qm)Hp.set(t.name,t);var lr=(t,e)=>t==="none"?null:e&&Object.prototype.hasOwnProperty.call(e,t)?e[t]??null:Hp.get(t)??null,La=(t,e,n,o,r)=>{if(!r)return t;if(n?.bufferContent)return n.bufferContent(t,o);if(!t)return t;if(e==="word"){let s=t.search(/\s(?=\S*$)/);return s<0?"":t.slice(0,s)}if(e==="line"){let s=t.lastIndexOf(`
|
|
31
|
+
`);return s<0?"":t.slice(0,s)}return t},Xm=(t,e,n,o)=>{let r=t.createElement("span");return r.className="persona-stream-char",r.id=`stream-c-${n}-${o}`,r.style.setProperty("--char-index",String(o)),r.textContent=e,r},Jm=(t,e,n,o)=>{let r=t.createElement("span");return r.className="persona-stream-word",r.id=`stream-w-${n}-${o}`,r.style.setProperty("--word-index",String(o)),r.textContent=e,r},ol=/\s/,Ym=(t,e)=>{let n=t.parentNode;for(;n;){if(n.nodeType===1){let o=n;if(e.has(o.tagName.toLowerCase()))return!0}n=n.parentNode}return!1},Zm=(t,e,n)=>{let o=t.ownerDocument,r=t.parentNode;if(!o||!r)return;let s=t.nodeValue??"";if(!s)return;let a=o.createDocumentFragment(),l=0;for(;l<s.length;)if(ol.test(s[l])){let p=l;for(;p<s.length&&ol.test(s[p]);)p+=1;a.appendChild(o.createTextNode(s.slice(l,p))),l=p}else{let p=o.createElement("span");p.className="persona-stream-word-group";let d=l;for(;d<s.length&&!ol.test(s[d]);)p.appendChild(Xm(o,s[d],e,n.value)),n.value+=1,d+=1;a.appendChild(p),l=d}r.replaceChild(a,t)},eh=(t,e,n)=>{let o=t.ownerDocument,r=t.parentNode;if(!o||!r)return;let s=t.nodeValue??"";if(!s)return;let a=o.createDocumentFragment(),l=s.split(/(\s+)/);for(let p of l)p&&(/^\s+$/.test(p)?a.appendChild(o.createTextNode(p)):(a.appendChild(Jm(o,p,e,n.value)),n.value+=1));r.replaceChild(a,t)},rs=(t,e,n,o)=>{if(!t||typeof document>"u")return t;let r=document.createElement("div");r.innerHTML=t;let s=new Set((o?.skipTags??Gm).map(u=>u.toLowerCase())),a=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,null),l=[],p=a.nextNode();for(;p;)Ym(p,s)||l.push(p),p=a.nextNode();let d={value:o?.startIndex??0},c=e==="char"?Zm:eh;for(let u of l)c(u,n,d);return r.innerHTML},Pa=(t=document)=>{let e=t.createElement("span");return e.className="persona-stream-caret",e.setAttribute("aria-hidden","true"),e.setAttribute("data-preserve-animation","stream-caret"),e},ss=(t=document)=>{let e=t.createElement("div");e.className="persona-stream-skeleton",e.setAttribute("data-preserve-animation","stream-skeleton"),e.setAttribute("aria-hidden","true");let n=t.createElement("div");return n.className="persona-stream-skeleton-line",e.appendChild(n),e},Wp=new WeakMap,th=(t,e)=>{if(!t.styles)return;let n=Wp.get(e);if(n||(n=new Set,Wp.set(e,n)),n.has(t.name)){let s=t.name.replace(/["\\]/g,"\\$&");if(e.querySelector(`style[data-persona-animation="${s}"]`))return;n.delete(t.name)}n.add(t.name);let r=(e instanceof ShadowRoot?e.ownerDocument:e.ownerDocument??document).createElement("style");r.setAttribute("data-persona-animation",t.name),r.textContent=t.styles,e.appendChild(r)},rl=new WeakMap,nh=(t,e)=>{if(!t.onAttach)return;let n=rl.get(e);if(n||(n=new Map,rl.set(e,n)),n.has(t.name))return;let o=t.onAttach(e);n.set(t.name,o)},Bp=t=>{let e=rl.get(t);if(e){for(let n of e.values())typeof n=="function"&&n();e.clear()}},Ia=(t,e)=>{th(t,e),nh(t,e)};function sl(t,e=zt){let n=t.style.position,o=t.style.zIndex,r=t.style.isolation,s=getComputedStyle(t),a=s.position==="static"||s.position==="";return a&&(t.style.position="relative"),t.style.zIndex=String(e),t.style.isolation="isolate",()=>{a&&(t.style.position=n),t.style.zIndex=o,t.style.isolation=r}}var as=0,io=null;function al(t=document){if(as++,as===1){let n=t.body,r=(t.defaultView??window).scrollY||t.documentElement.scrollTop;io={originalOverflow:n.style.overflow,originalPosition:n.style.position,originalTop:n.style.top,originalWidth:n.style.width,scrollY:r},n.style.overflow="hidden",n.style.position="fixed",n.style.top=`-${r}px`,n.style.width="100%"}let e=!1;return()=>{if(!e&&(e=!0,as=Math.max(0,as-1),as===0&&io)){let n=t.body,o=t.defaultView??window;n.style.overflow=io.originalOverflow,n.style.position=io.originalPosition,n.style.top=io.originalTop,n.style.width=io.originalWidth,o.scrollTo(0,io.scrollY),io=null}}}var is={side:"right",width:"420px",animate:!0,reveal:"resize",maxHeight:"100dvh"},Wt=t=>(t?.launcher?.mountMode??"floating")==="docked",ls=t=>(t?.launcher?.mountMode??"floating")==="composer-bar",pn=t=>{let e=t?.launcher?.dock;return{side:e?.side??is.side,width:e?.width??is.width,animate:e?.animate??is.animate,reveal:e?.reveal??is.reveal,maxHeight:e?.maxHeight??is.maxHeight}};var wn={"bottom-right":"persona-bottom-6 persona-right-6","bottom-left":"persona-bottom-6 persona-left-6","top-right":"persona-top-6 persona-right-6","top-left":"persona-top-6 persona-left-6"};var oh="persona-relative persona-ml-auto persona-inline-flex persona-items-center persona-justify-center",Ra=(t,e={})=>{let{showClose:n=!0,wrapperClassName:o=oh,buttonSize:r,iconSize:s="28px"}=e,a=t?.launcher??{},l=r??a.closeButtonSize??"32px",p=h("div",o),d=a.closeButtonTooltipText??"Close chat",c=a.closeButtonShowTooltip??!0,u=a.closeButtonIconName??"x",w=a.closeButtonIconText??"\xD7",f=!!(a.closeButtonBorderWidth||a.closeButtonBorderColor),v=Ne("button",{className:Wn("persona-inline-flex persona-items-center persona-justify-center persona-cursor-pointer",!a.closeButtonBackgroundColor&&"hover:persona-bg-gray-100",!f&&"persona-border-none",!a.closeButtonBorderRadius&&"persona-rounded-full"),attrs:{type:"button","aria-label":d},style:{height:l,width:l,display:n?void 0:"none",color:a.closeButtonColor||Vt.actionIconColor,backgroundColor:a.closeButtonBackgroundColor||void 0,border:f?`${a.closeButtonBorderWidth||"0px"} solid ${a.closeButtonBorderColor||"transparent"}`:void 0,borderRadius:a.closeButtonBorderRadius||void 0,paddingLeft:a.closeButtonPaddingX||void 0,paddingRight:a.closeButtonPaddingX||void 0,paddingTop:a.closeButtonPaddingY||void 0,paddingBottom:a.closeButtonPaddingY||void 0}}),C=re(u,s,"currentColor",1);return C?(C.style.display="block",v.appendChild(C)):v.textContent=w,p.appendChild(v),Dt({anchor:v,trigger:p,text:()=>v.getAttribute("aria-label")??d,enabled:c}),{button:v,wrapper:p}},rh="persona-relative persona-ml-auto persona-clear-chat-button-wrapper",Wa=(t,e={})=>{let{wrapperClassName:n=rh,buttonSize:o,iconSize:r="20px"}=e,a=(t?.launcher??{}).clearChat??{},l=o??a.size??"32px",p=a.iconName??"refresh-cw",d=a.iconColor??"",c=a.backgroundColor??"",u=a.borderWidth??"",w=a.borderColor??"",f=a.borderRadius??"",v=a.paddingX??"",C=a.paddingY??"",I=a.tooltipText??"Clear chat",B=a.showTooltip??!0,k=h("div",n),M=!!(u||w),P=Ne("button",{className:Wn("persona-inline-flex persona-items-center persona-justify-center persona-cursor-pointer",!c&&"hover:persona-bg-gray-100",!M&&"persona-border-none",!f&&"persona-rounded-full"),attrs:{type:"button","aria-label":I},style:{height:l,width:l,color:d||Vt.actionIconColor,backgroundColor:c||void 0,border:M?`${u||"0px"} solid ${w||"transparent"}`:void 0,borderRadius:f||void 0,paddingLeft:v||void 0,paddingRight:v||void 0,paddingTop:C||void 0,paddingBottom:C||void 0}}),z=re(p,r,"currentColor",1);return z&&(z.style.display="block",P.appendChild(z)),k.appendChild(P),Dt({anchor:P,trigger:k,text:()=>P.getAttribute("aria-label")??I,enabled:B}),{button:P,wrapper:k}};var Vt={titleColor:"var(--persona-header-title-fg, var(--persona-primary, #0f0f0f))",subtitleColor:"var(--persona-header-subtitle-fg, var(--persona-text-muted, var(--persona-muted, #9ca3af)))",actionIconColor:"var(--persona-header-action-icon-fg, var(--persona-muted, #9ca3af))"},Po=t=>{let{config:e,showClose:n=!0}=t,o=Ne("div",{className:"persona-widget-header persona-flex persona-items-center persona-gap-3 persona-px-6 persona-py-5",attrs:{"data-persona-theme-zone":"header"},style:{backgroundColor:"var(--persona-header-bg, var(--persona-surface, #ffffff))",borderBottomColor:"var(--persona-header-border, var(--persona-divider, #f1f5f9))",boxShadow:"var(--persona-header-shadow, none)",borderBottom:"var(--persona-header-border-bottom, 1px solid var(--persona-header-border, var(--persona-divider, #f1f5f9)))"}}),r=e?.launcher??{},s=r.headerIconSize??"48px",a=r.closeButtonPlacement??"inline",l=r.headerIconHidden??!1,p=r.headerIconName,d=Ne("div",{className:"persona-flex persona-items-center persona-justify-center persona-rounded-xl persona-text-xl",style:{height:s,width:s,backgroundColor:"var(--persona-header-icon-bg, var(--persona-primary, #0f0f0f))",color:"var(--persona-header-icon-fg, var(--persona-text-inverse, #ffffff))"}});if(!l)if(p){let z=parseFloat(s)||24,K=re(p,z*.6,"currentColor",1);K?d.replaceChildren(K):d.textContent=e?.launcher?.agentIconText??"\u{1F4AC}"}else if(e?.launcher?.iconUrl){let z=h("img");z.src=e.launcher.iconUrl,z.alt="",z.className="persona-rounded-xl persona-object-cover",z.style.height=s,z.style.width=s,d.replaceChildren(z)}else d.textContent=e?.launcher?.agentIconText??"\u{1F4AC}";let c=h("div","persona-flex persona-flex-col persona-flex-1 persona-min-w-0"),u=Ne("span",{className:"persona-text-base persona-font-semibold",text:e?.launcher?.title??"Chat Assistant",style:{color:Vt.titleColor}}),w=Ne("span",{className:"persona-text-xs",text:e?.launcher?.subtitle??"Here to help you get answers fast",style:{color:Vt.subtitleColor}});c.append(u,w),l?o.append(c):o.append(d,c);let f=r.clearChat??{},v=f.enabled??!0,C=f.placement??"inline",I=null,B=null;if(v){let K=Wa(e,{wrapperClassName:C==="top-right"?"persona-absolute persona-top-4 persona-z-50":"persona-relative persona-ml-auto persona-clear-chat-button-wrapper"});I=K.button,B=K.wrapper,C==="top-right"&&(B.style.right="48px"),C==="inline"&&o.appendChild(B)}let k=a==="top-right"?"persona-absolute persona-top-4 persona-right-4 persona-z-50":v&&C==="inline"?"persona-relative persona-inline-flex persona-items-center persona-justify-center":"persona-relative persona-ml-auto persona-inline-flex persona-items-center persona-justify-center",{button:M,wrapper:P}=Ra(e,{showClose:n,wrapperClassName:k});return a!=="top-right"&&o.appendChild(P),{header:o,iconHolder:d,headerTitle:u,headerSubtitle:w,closeButton:M,closeButtonWrapper:P,clearChatButton:I,clearChatButtonWrapper:B}},cs=(t,e,n)=>{let o=n?.launcher??{},r=o.closeButtonPlacement??"inline",s=o.clearChat?.placement??"inline";t.appendChild(e.header),r==="top-right"&&(t.style.position="relative",t.appendChild(e.closeButtonWrapper)),e.clearChatButtonWrapper&&s==="top-right"&&(t.style.position="relative",t.appendChild(e.clearChatButtonWrapper))};var sh=t=>{let e=Po({config:t.config,showClose:t.showClose,onClose:t.onClose,onClearChat:t.onClearChat}),n=t.layoutHeaderConfig?.onTitleClick;if(n){let o=e.headerTitle.parentElement;o&&(o.style.cursor="pointer",o.setAttribute("role","button"),o.setAttribute("tabindex","0"),o.addEventListener("click",()=>n()),o.addEventListener("keydown",r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),n())}))}return e};function ah(t,e,n){if(e?.length)for(let o of e){let r=h("button","persona-inline-flex persona-items-center persona-justify-center persona-rounded-md persona-border-none persona-bg-transparent persona-p-0 persona-text-persona-muted hover:persona-opacity-80");if(r.type="button",r.setAttribute("aria-label",o.ariaLabel??o.label??o.id),o.icon){let s=re(o.icon,14,"currentColor",2);s&&r.appendChild(s)}else o.label&&(r.textContent=o.label);if(o.menuItems?.length){let s=h("div","persona-relative");s.appendChild(r);let a=ar({items:o.menuItems,onSelect:l=>n?.(l),anchor:s,position:"bottom-left"});s.appendChild(a.element),r.addEventListener("click",l=>{l.stopPropagation(),a.toggle()}),t.appendChild(s)}else r.addEventListener("click",()=>n?.(o.id)),t.appendChild(r)}}var ih=t=>{let{config:e,showClose:n=!0,onClose:o,layoutHeaderConfig:r,onHeaderAction:s}=t,a=e?.launcher??{},l=h("div","persona-flex persona-items-center persona-justify-between persona-px-6 persona-py-4");l.setAttribute("data-persona-theme-zone","header"),l.style.backgroundColor="var(--persona-header-bg, var(--persona-surface, #ffffff))",l.style.borderBottomColor="var(--persona-header-border, var(--persona-divider, #f1f5f9))",l.style.boxShadow="var(--persona-header-shadow, none)",l.style.borderBottom="var(--persona-header-border-bottom, 1px solid var(--persona-header-border, var(--persona-divider, #f1f5f9)))";let p=r?.titleMenu,d,c;if(p)d=gp({label:a.title??"Chat Assistant",menuItems:p.menuItems,onSelect:p.onSelect,hover:p.hover,className:""}).element,d.style.color=Vt.titleColor,c=d.querySelector(".persona-combo-btn-label")??d;else{if(d=h("div","persona-flex persona-min-w-0 persona-flex-1 persona-items-center persona-gap-1"),c=h("span","persona-text-base persona-font-semibold persona-truncate"),c.style.color=Vt.titleColor,c.textContent=a.title??"Chat Assistant",d.appendChild(c),ah(d,r?.trailingActions,r?.onAction??s),r?.onTitleClick){d.style.cursor="pointer",d.setAttribute("role","button"),d.setAttribute("tabindex","0");let M=r.onTitleClick;d.addEventListener("click",P=>{P.target.closest("button")||M()}),d.addEventListener("keydown",P=>{(P.key==="Enter"||P.key===" ")&&(P.preventDefault(),M())})}let k=r?.titleRowHover;k&&(d.style.borderRadius=k.borderRadius??"10px",d.style.padding=k.padding??"6px 4px 6px 12px",d.style.margin="-6px 0 -6px -12px",d.style.border="1px solid transparent",d.style.transition="background-color 0.15s ease, border-color 0.15s ease",d.style.width="fit-content",d.style.flex="none",d.addEventListener("mouseenter",()=>{d.style.backgroundColor=k.background??"",d.style.borderColor=k.border??""}),d.addEventListener("mouseleave",()=>{d.style.backgroundColor="",d.style.borderColor="transparent"}))}l.appendChild(d);let u=a.closeButtonSize??"32px",w=h("div",""),f=h("button","persona-inline-flex persona-items-center persona-justify-center persona-rounded-full hover:persona-bg-gray-100 persona-cursor-pointer persona-border-none");f.style.height=u,f.style.width=u,f.type="button",f.setAttribute("aria-label","Close chat"),f.style.display=n?"":"none",f.style.color=a.closeButtonColor||Vt.actionIconColor;let v=a.closeButtonIconName??"x",C=re(v,"28px","currentColor",1);C?f.appendChild(C):f.textContent="\xD7",o&&f.addEventListener("click",o),w.appendChild(f),l.appendChild(w);let I=h("div");I.style.display="none";let B=h("span");return B.style.display="none",{header:l,iconHolder:I,headerTitle:c,headerSubtitle:B,closeButton:f,closeButtonWrapper:w,clearChatButton:null,clearChatButtonWrapper:null}},Dp={default:sh,minimal:ih},lh=t=>Dp[t]??Dp.default,Ha=(t,e,n)=>{if(e?.render){let a=e.render({config:t,onClose:n?.onClose,onClearChat:n?.onClearChat,trailingActions:e.trailingActions,onAction:e.onAction}),l=h("div");l.style.display="none";let p=h("span"),d=h("span"),c=h("button");c.style.display="none";let u=h("div");return u.style.display="none",{header:a,iconHolder:l,headerTitle:p,headerSubtitle:d,closeButton:c,closeButtonWrapper:u,clearChatButton:null,clearChatButtonWrapper:null}}let o=e?.layout??"default",s=lh(o)({config:t,showClose:e?.showCloseButton??n?.showClose??!0,onClose:n?.onClose,onClearChat:n?.onClearChat,layoutHeaderConfig:e,onHeaderAction:e?.onAction});return e&&(e.showIcon===!1&&(s.iconHolder.style.display="none"),e.showTitle===!1&&(s.headerTitle.style.display="none"),e.showSubtitle===!1&&(s.headerSubtitle.style.display="none"),e.showCloseButton===!1&&(s.closeButton.style.display="none"),e.showClearChat===!1&&s.clearChatButtonWrapper&&(s.clearChatButtonWrapper.style.display="none")),s};var Ba=t=>{let e=h("textarea");e.setAttribute("data-persona-composer-input",""),e.placeholder=t?.copy?.inputPlaceholder??"Type your message\u2026",e.className="persona-w-full persona-min-h-[24px] persona-resize-none persona-border-none persona-bg-transparent persona-text-sm persona-text-persona-primary focus:persona-outline-none focus:persona-border-none persona-composer-textarea",e.rows=1,e.style.fontFamily='var(--persona-input-font-family, var(--persona-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif))',e.style.fontWeight="var(--persona-input-font-weight, var(--persona-font-weight, 400))";let n=3,o=20;e.style.maxHeight=`${n*o}px`,e.style.overflowY="auto";let r=()=>{let a=parseFloat(e.style.maxHeight);return Number.isFinite(a)&&a>0?a:n*o},s=()=>{e.addEventListener("input",()=>{e.style.height="auto";let a=Math.min(e.scrollHeight,r());e.style.height=`${a}px`})};return e.style.border="none",e.style.outline="none",e.style.borderWidth="0",e.style.borderStyle="none",e.style.borderColor="transparent",e.addEventListener("focus",()=>{e.style.border="none",e.style.outline="none",e.style.borderWidth="0",e.style.borderStyle="none",e.style.borderColor="transparent",e.style.boxShadow="none"}),e.addEventListener("blur",()=>{e.style.border="none",e.style.outline="none"}),{textarea:e,attachAutoResize:s}},Da=t=>{let e=t?.sendButton??{},n=e.useIcon??!1,o=e.iconText??"\u2191",r=e.iconName,s=e.stopIconName??"square",a=e.tooltipText??"Send message",l=e.stopTooltipText??"Stop generating",p=t?.copy?.sendButtonLabel??"Send",d=t?.copy?.stopButtonLabel??"Stop",c=e.showTooltip??!1,u=e.size??"40px",w=e.backgroundColor,f=e.textColor,v=h("div","persona-send-button-wrapper"),C=Ne("button",{className:Wn("persona-rounded-button disabled:persona-opacity-50 persona-cursor-pointer",n?"persona-flex persona-items-center persona-justify-center":"persona-bg-persona-accent persona-px-4 persona-py-2 persona-text-sm persona-font-semibold",n&&!w&&"persona-bg-persona-primary",!n&&!f&&"persona-text-white"),attrs:{type:"submit","data-persona-composer-submit":""},style:{width:n?u:void 0,height:n?u:void 0,minWidth:n?u:void 0,minHeight:n?u:void 0,fontSize:n?"18px":void 0,lineHeight:n?"1":void 0,color:n?f||"var(--persona-button-primary-fg, #ffffff)":f||void 0,backgroundColor:n&&w||void 0,borderWidth:e.borderWidth||void 0,borderStyle:e.borderWidth?"solid":void 0,borderColor:e.borderColor||void 0,paddingLeft:e.paddingX||void 0,paddingRight:e.paddingX||void 0,paddingTop:e.paddingY||void 0,paddingBottom:e.paddingY||void 0}}),I=null,B=null;if(n){let P=parseFloat(u)||24,z=f?.trim()||"currentColor";r?(I=re(r,P,z,2),I?C.appendChild(I):C.textContent=o):C.textContent=o,B=re(s,P,z,2)}else C.textContent=p;C.setAttribute("aria-label",a),v.appendChild(C),Dt({anchor:C,trigger:v,text:()=>C.getAttribute("aria-label")??"",enabled:c});let k="send";return{button:C,wrapper:v,setMode:P=>{if(P===k)return;k=P;let z=P==="stop"?l:a;if(C.setAttribute("aria-label",z),n){if(I&&B){let K=P==="stop"?B:I;C.replaceChildren(K)}}else C.textContent=P==="stop"?d:p}}},Fa=t=>{let e=t?.voiceRecognition??{};if(!(e.enabled===!0))return null;let o=typeof window<"u"&&(typeof window.webkitSpeechRecognition<"u"||typeof window.SpeechRecognition<"u"),r=e.provider?.type==="runtype";if(!(o||r))return null;let a=t?.sendButton?.size??"40px",l=e.iconName??"mic",p=e.iconSize??a,d=parseFloat(p)||24,c=e.backgroundColor??t?.sendButton?.backgroundColor,u=e.iconColor??t?.sendButton?.textColor,w=h("div","persona-send-button-wrapper"),f=Ne("button",{className:"persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer",attrs:{type:"button","data-persona-composer-mic":"","aria-label":e.tooltipText??"Start voice recognition"},style:{width:p,height:p,minWidth:p,minHeight:p,fontSize:"18px",lineHeight:"1",color:u||"var(--persona-text, #111827)",backgroundColor:c||void 0,borderWidth:e.borderWidth||void 0,borderStyle:e.borderWidth?"solid":void 0,borderColor:e.borderColor||void 0,paddingLeft:e.paddingX||void 0,paddingRight:e.paddingX||void 0,paddingTop:e.paddingY||void 0,paddingBottom:e.paddingY||void 0}}),C=re(l,d,u||"currentColor",1.5);C?f.appendChild(C):f.textContent="\u{1F3A4}",w.appendChild(f);let I=e.tooltipText??"Start voice recognition",B=e.showTooltip??!1;return Dt({anchor:f,trigger:w,text:()=>f.getAttribute("aria-label")??I,enabled:B}),{button:f,wrapper:w}},Na=t=>{let e=t?.attachments??{};if(e.enabled!==!0)return null;let n=t?.sendButton?.size??"40px",o=h("div","persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2");o.setAttribute("data-persona-composer-attachment-previews",""),o.style.display="none";let r=h("input");r.type="file",r.setAttribute("data-persona-composer-attachment-input",""),r.accept=(e.allowedTypes??Fn).join(","),r.multiple=(e.maxFiles??4)>1,r.style.display="none",r.setAttribute("aria-label","Attach files");let s=e.buttonIconName??"paperclip",a=n,l=parseFloat(a)||40,p=Math.round(l*.6),d=h("div","persona-send-button-wrapper"),c=Ne("button",{className:"persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-attachment-button",attrs:{type:"button","data-persona-composer-attachment-button":"","aria-label":e.buttonTooltipText??"Attach file"},style:{width:a,height:a,minWidth:a,minHeight:a,fontSize:"18px",lineHeight:"1"}}),u=re(s,p,"currentColor",1.5);u?c.appendChild(u):c.textContent="\u{1F4CE}",c.addEventListener("click",f=>{f.preventDefault(),r.click()}),d.appendChild(c);let w=e.buttonTooltipText??"Attach file";return Dt({anchor:c,trigger:d,text:()=>c.getAttribute("aria-label")??w}),{button:c,wrapper:d,input:r,previewsContainer:o}},Oa=t=>{let e=t?.statusIndicator??{},n=e.align==="left"?"persona-text-left":e.align==="center"?"persona-text-center":"persona-text-right",o=h("div",`persona-mt-2 ${n} persona-text-xs persona-text-persona-muted`);o.setAttribute("data-persona-composer-status","");let r=e.visible??!0;o.style.display=r?"":"none";let s=e.idleText??"Online";if(e.idleLink){let a=h("a");a.href=e.idleLink,a.target="_blank",a.rel="noopener noreferrer",a.textContent=s,a.style.color="inherit",a.style.textDecoration="none",o.appendChild(a)}else o.textContent=s;return o},_a=()=>Ne("div",{className:"persona-mb-3 persona-flex persona-flex-wrap persona-gap-2",attrs:{"data-persona-composer-suggestions":""}});var $a=t=>{let{config:e}=t,n=Ne("div",{className:"persona-widget-footer persona-border-t-persona-divider persona-bg-persona-surface persona-px-6 persona-py-4",attrs:{"data-persona-theme-zone":"composer"}}),o=_a(),r=Ne("form",{className:"persona-widget-composer persona-flex persona-flex-col persona-gap-2 persona-rounded-2xl persona-border persona-border-gray-200 persona-bg-persona-input-background persona-px-4 persona-py-3",attrs:{"data-persona-composer-form":""},style:{outline:"none"}}),{textarea:s,attachAutoResize:a}=Ba(e);a();let l=Da(e),p=Fa(e),d=Na(e),c=Oa(e);d&&(d.previewsContainer.style.gap="8px",r.append(d.previewsContainer,d.input)),r.append(s);let u=Ne("div",{className:"persona-widget-composer__actions persona-flex persona-items-center persona-justify-between persona-w-full",attrs:{"data-persona-composer-actions":""}}),w=h("div","persona-widget-composer__left-actions persona-flex persona-items-center persona-gap-2"),f=h("div","persona-widget-composer__right-actions persona-flex persona-items-center persona-gap-1");return d&&w.append(d.wrapper),p&&f.append(p.wrapper),f.append(l.wrapper),u.append(w,f),r.append(u),r.addEventListener("click",v=>{v.target!==l.button&&v.target!==l.wrapper&&v.target!==p?.button&&v.target!==p?.wrapper&&v.target!==d?.button&&v.target!==d?.wrapper&&s.focus()}),n.append(o,r,c),{footer:n,suggestions:o,composerForm:r,textarea:s,sendButton:l.button,sendButtonWrapper:l.wrapper,micButton:p?.button??null,micButtonWrapper:p?.wrapper??null,statusText:c,attachmentButton:d?.button??null,attachmentButtonWrapper:d?.wrapper??null,attachmentInput:d?.input??null,attachmentPreviewsContainer:d?.previewsContainer??null,actionsRow:u,leftActions:w,rightActions:f,setSendButtonMode:l.setMode}};var Fp=()=>{let t=Ne("button",{className:"persona-pill-peek",attrs:{type:"button","data-persona-pill-peek":"","aria-label":"Show conversation",tabindex:"-1"}}),e=h("span","persona-pill-peek__icon"),n=re("message-square",16,"currentColor",1.5);n&&e.appendChild(n);let o=h("span","persona-pill-peek__text"),r=h("span","persona-pill-peek__caret"),s=re("chevron-up",16,"currentColor",1.5);return s&&r.appendChild(s),t.append(e,o,r),{root:t,textNode:o}},Np=t=>{let{config:e}=t,n=Ne("div",{className:"persona-widget-footer persona-widget-footer--pill",attrs:{"data-persona-theme-zone":"composer"}}),o=_a(),r=Oa(e);r.style.display="none";let{textarea:s,attachAutoResize:a}=Ba(e);s.style.maxHeight="100px",a();let l=Da(e),p=Fa(e),d=Na(e);d&&d.previewsContainer.classList.add("persona-pill-composer__previews");let c=Ne("form",{className:"persona-widget-composer persona-pill-composer",attrs:{"data-persona-composer-form":""},style:{outline:"none"}}),u=h("div","persona-widget-composer__left-actions persona-pill-composer__left");d&&u.append(d.wrapper);let w=h("div","persona-widget-composer__right-actions persona-pill-composer__right");p&&w.append(p.wrapper),w.append(l.wrapper),c.addEventListener("click",v=>{v.target!==l.button&&v.target!==l.wrapper&&v.target!==p?.button&&v.target!==p?.wrapper&&v.target!==d?.button&&v.target!==d?.wrapper&&s.focus()}),d&&c.append(d.input),c.append(u,s,w),d&&n.append(d.previewsContainer),n.append(o,c,r);let f=c;return{footer:n,suggestions:o,composerForm:c,textarea:s,sendButton:l.button,sendButtonWrapper:l.wrapper,micButton:p?.button??null,micButtonWrapper:p?.wrapper??null,statusText:r,attachmentButton:d?.button??null,attachmentButtonWrapper:d?.wrapper??null,attachmentInput:d?.input??null,attachmentPreviewsContainer:d?.previewsContainer??null,actionsRow:f,leftActions:u,rightActions:w,setSendButtonMode:l.setMode}};var Op=t=>{let e=t?.launcher?.enabled??!0,n=Wt(t);if(ls(t)){let c=t?.launcher?.composerBar??{},u=h("div","persona-widget-wrapper persona-fixed persona-transition");u.setAttribute("data-persona-composer-bar",""),u.dataset.state="collapsed",u.dataset.expandedSize=c.expandedSize??"anchored",u.style.zIndex=String(t?.launcher?.zIndex??zt);let w=h("div","persona-widget-panel persona-relative persona-flex persona-flex-1 persona-min-h-0 persona-flex-col");w.style.width="100%",u.appendChild(w);let f=h("div","persona-widget-pill-root");return f.setAttribute("data-persona-composer-bar",""),f.dataset.state="collapsed",f.dataset.expandedSize=c.expandedSize??"anchored",f.style.zIndex=String(t?.launcher?.zIndex??zt),{wrapper:u,panel:w,pillRoot:f}}if(n){let c=h("div","persona-relative persona-h-full persona-w-full persona-flex persona-flex-1 persona-min-h-0 persona-flex-col"),u=h("div","persona-relative persona-h-full persona-w-full persona-flex persona-flex-1 persona-min-h-0 persona-flex-col");return c.appendChild(u),{wrapper:c,panel:u}}if(!e){let c=h("div","persona-relative persona-h-full persona-flex persona-flex-col persona-flex-1 persona-min-h-0"),u=h("div","persona-relative persona-flex-1 persona-flex persona-flex-col persona-min-h-0"),w=t?.launcher?.width??"100%";return c.style.width=w,u.style.width="100%",c.appendChild(u),{wrapper:c,panel:u}}let r=t?.launcher??{},s=r.position&&wn[r.position]?wn[r.position]:wn["bottom-right"],a=h("div",`persona-widget-wrapper persona-fixed ${s} persona-transition`);a.style.zIndex=String(t?.launcher?.zIndex??zt);let l=h("div","persona-widget-panel persona-relative persona-min-h-[320px]"),d=t?.launcher?.width??t?.launcherWidth??Nn;return l.style.width=d,l.style.maxWidth=d,a.appendChild(l),{wrapper:a,panel:l}},ch=(t,e)=>{let n=h("div","persona-widget-container persona-relative persona-flex persona-flex-1 persona-min-h-0 persona-flex-col persona-text-persona-primary");n.setAttribute("data-persona-theme-zone","container");let{button:o,wrapper:r}=Ra(t,{showClose:e,wrapperClassName:"persona-composer-bar-close",buttonSize:"16px",iconSize:"14px"});r.style.position="absolute",r.style.top="8px",r.style.right="8px",r.style.zIndex="10";let s=t?.launcher?.clearChat?.enabled??!0,a=null,l=null;if(s){let P=Wa(t,{wrapperClassName:"persona-composer-bar-clear-chat",buttonSize:"16px",iconSize:"14px"});a=P.button,l=P.wrapper,l.style.position="absolute",l.style.top="8px",l.style.right="32px",l.style.zIndex="10"}let p=Ne("span",{className:"persona-widget-header",attrs:{"data-persona-theme-zone":"header"},style:{display:"none"}}),d=Ne("div",{className:"persona-widget-body persona-flex persona-flex-1 persona-min-h-0 persona-flex-col persona-gap-6 persona-overflow-y-auto persona-bg-persona-container persona-px-6 persona-py-6",attrs:{id:"persona-scroll-container","data-persona-theme-zone":"messages"},style:{paddingTop:"48px"}});d.style.setProperty("scrollbar-gutter","stable");let c=Ne("h2",{className:"persona-text-lg persona-font-semibold persona-text-persona-primary",text:t?.copy?.welcomeTitle??"Hello \u{1F44B}"}),u=Ne("p",{className:"persona-mt-2 persona-text-sm persona-text-persona-muted",text:t?.copy?.welcomeSubtitle??"Ask anything about your account or products."}),w=Ne("div",{className:"persona-rounded-2xl persona-p-6",attrs:{"data-persona-intro-card":""},style:{background:"var(--persona-intro-card-bg, transparent)",boxShadow:"var(--persona-intro-card-shadow, none)"}},c,u),f=h("div","persona-flex persona-flex-col persona-gap-3"),v=t?.layout?.contentMaxWidth;v&&(f.style.maxWidth=v,f.style.marginLeft="auto",f.style.marginRight="auto",f.style.width="100%"),t?.copy?.showWelcomeCard!==!1||(w.style.display="none",d.classList.remove("persona-gap-6"),d.classList.add("persona-gap-3")),d.append(w,f);let I=Ne("div",{className:"persona-composer-overlay persona-pointer-events-none",attrs:{"data-persona-composer-overlay":""},style:{position:"absolute",left:"0",right:"0",bottom:"0",zIndex:"20"}}),B=Np({config:t}),{root:k,textNode:M}=Fp();return n.append(p,r,d,I),l&&n.appendChild(l),{container:n,body:d,messagesWrapper:f,composerOverlay:I,suggestions:B.suggestions,textarea:B.textarea,sendButton:B.sendButton,sendButtonWrapper:B.sendButtonWrapper,micButton:B.micButton,micButtonWrapper:B.micButtonWrapper,composerForm:B.composerForm,statusText:B.statusText,introTitle:c,introSubtitle:u,closeButton:o,closeButtonWrapper:r,clearChatButton:a,clearChatButtonWrapper:l,iconHolder:h("span"),headerTitle:h("span"),headerSubtitle:h("span"),header:p,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:k,peekTextNode:M}},_p=(t,e=!0)=>{if(ls(t))return ch(t,e);let n=Ne("div",{className:"persona-widget-container persona-flex persona-h-full persona-w-full persona-flex-1 persona-min-h-0 persona-flex-col persona-text-persona-primary persona-bg-persona-surface persona-rounded-2xl persona-overflow-hidden persona-border persona-border-persona-border",attrs:{"data-persona-theme-zone":"container"}}),o=t?.layout?.header,r=t?.layout?.showHeader!==!1,s=o?Ha(t,o,{showClose:e}):Po({config:t,showClose:e}),a=Ne("div",{className:"persona-widget-body persona-flex persona-flex-1 persona-min-h-0 persona-flex-col persona-gap-6 persona-overflow-y-auto persona-bg-persona-container persona-px-6 persona-py-6",attrs:{id:"persona-scroll-container","data-persona-theme-zone":"messages"}});a.style.setProperty("scrollbar-gutter","stable");let l=Ne("h2",{className:"persona-text-lg persona-font-semibold persona-text-persona-primary",text:t?.copy?.welcomeTitle??"Hello \u{1F44B}"}),p=Ne("p",{className:"persona-mt-2 persona-text-sm persona-text-persona-muted",text:t?.copy?.welcomeSubtitle??"Ask anything about your account or products."}),d=Ne("div",{className:"persona-rounded-2xl persona-p-6",attrs:{"data-persona-intro-card":""},style:{background:"var(--persona-intro-card-bg, transparent)",boxShadow:Wt(t)?"none":"var(--persona-intro-card-shadow, none)"}},l,p),c=h("div","persona-flex persona-flex-col persona-gap-3"),u=t?.layout?.contentMaxWidth;u&&(c.style.maxWidth=u,c.style.marginLeft="auto",c.style.marginRight="auto",c.style.width="100%"),t?.copy?.showWelcomeCard!==!1||(d.style.display="none",a.classList.remove("persona-gap-6"),a.classList.add("persona-gap-3")),a.append(d,c);let f=$a({config:t}),v=t?.layout?.showFooter!==!1;r?cs(n,s,t):(s.header.style.display="none",cs(n,s,t)),n.append(a);let C=Ne("div",{className:"persona-composer-overlay persona-pointer-events-none",attrs:{"data-persona-composer-overlay":""},style:{position:"absolute",left:"0",right:"0",bottom:"0",zIndex:"20"}});return v||(f.footer.style.display="none"),n.append(f.footer),n.append(C),{container:n,body:a,messagesWrapper:c,composerOverlay:C,suggestions:f.suggestions,textarea:f.textarea,sendButton:f.sendButton,sendButtonWrapper:f.sendButtonWrapper,micButton:f.micButton,micButtonWrapper:f.micButtonWrapper,composerForm:f.composerForm,statusText:f.statusText,introTitle:l,introSubtitle:p,closeButton:s.closeButton,closeButtonWrapper:s.closeButtonWrapper,clearChatButton:s.clearChatButton,clearChatButtonWrapper:s.clearChatButtonWrapper,iconHolder:s.iconHolder,headerTitle:s.headerTitle,headerSubtitle:s.headerSubtitle,header:s.header,footer:f.footer,attachmentButton:f.attachmentButton,attachmentButtonWrapper:f.attachmentButtonWrapper,attachmentInput:f.attachmentInput,attachmentPreviewsContainer:f.attachmentPreviewsContainer,actionsRow:f.actionsRow,leftActions:f.leftActions,rightActions:f.rightActions,setSendButtonMode:f.setSendButtonMode}};var il=(t,e)=>{let n=h("button");n.type="button",n.innerHTML=`
|
|
32
32
|
<span class="persona-inline-flex persona-items-center persona-justify-center persona-rounded-full persona-bg-persona-primary persona-text-white" data-role="launcher-icon">\u{1F4AC}</span>
|
|
33
33
|
<img data-role="launcher-image" class="persona-rounded-full persona-object-cover" alt="" style="display:none" />
|
|
34
34
|
<span class="persona-flex persona-min-w-0 persona-flex-1 persona-flex-col persona-items-start persona-text-left">
|
|
@@ -36,14 +36,14 @@ _Details: ${n.message}_`:o}var Gr=t=>({isError:!0,content:[{type:"text",text:t}]
|
|
|
36
36
|
<span class="persona-block persona-w-full persona-truncate persona-text-xs persona-text-persona-muted" data-role="launcher-subtitle"></span>
|
|
37
37
|
</span>
|
|
38
38
|
<span class="persona-ml-2 persona-grid persona-place-items-center persona-rounded-full persona-bg-persona-primary persona-text-persona-call-to-action" data-role="launcher-call-to-action-icon">\u2197</span>
|
|
39
|
-
`,n.addEventListener("click",e);let o=s=>{let a=s.launcher??{},l=Ht(s),p=n.querySelector("[data-role='launcher-title']");if(p){let M=a.title??"Chat Assistant";p.textContent=M,p.setAttribute("title",M)}let d=n.querySelector("[data-role='launcher-subtitle']");if(d){let M=a.subtitle??"Here to help you get answers fast";d.textContent=M,d.setAttribute("title",M)}let c=n.querySelector(".persona-flex-col");c&&(a.textHidden||l?c.style.display="none":c.style.display="");let u=n.querySelector("[data-role='launcher-icon']");if(u)if(a.agentIconHidden)u.style.display="none";else{let M=a.agentIconSize??"40px";if(u.style.height=M,u.style.width=M,a.agentIconBackgroundColor?(u.style.backgroundColor=a.agentIconBackgroundColor,u.classList.remove("persona-bg-persona-primary")):(u.style.backgroundColor="",u.classList.add("persona-bg-persona-primary")),u.innerHTML="",a.agentIconName){let P=parseFloat(M)||24,z=re(a.agentIconName,P*.6,"var(--persona-text-inverse, #ffffff)",2);z?(u.appendChild(z),u.style.display=""):(u.textContent=a.agentIconText??"\u{1F4AC}",u.style.display="")}else a.iconUrl?u.style.display="none":(u.textContent=a.agentIconText??"\u{1F4AC}",u.style.display="")}let w=n.querySelector("[data-role='launcher-image']");if(w){let M=a.agentIconSize??"40px";w.style.height=M,w.style.width=M,a.iconUrl&&!a.agentIconName&&!a.agentIconHidden?(w.src=a.iconUrl,w.style.display="block"):w.style.display="none"}let f=n.querySelector("[data-role='launcher-call-to-action-icon']");if(f){let M=a.callToActionIconSize??"32px";f.style.height=M,f.style.width=M,a.callToActionIconBackgroundColor?(f.style.backgroundColor=a.callToActionIconBackgroundColor,f.classList.remove("persona-bg-persona-primary")):(f.style.backgroundColor="",f.classList.add("persona-bg-persona-primary")),a.callToActionIconColor?(f.style.color=a.callToActionIconColor,f.classList.remove("persona-text-persona-call-to-action")):(f.style.color="",f.classList.add("persona-text-persona-call-to-action"));let P=0;if(a.callToActionIconPadding?(f.style.boxSizing="border-box",f.style.padding=a.callToActionIconPadding,P=(parseFloat(a.callToActionIconPadding)||0)*2):(f.style.boxSizing="",f.style.padding=""),a.callToActionIconHidden)f.style.display="none";else if(f.style.display=l?"none":"",f.innerHTML="",a.callToActionIconName){let z=parseFloat(M)||24,K=Math.max(z-P,8),x=re(a.callToActionIconName,K,"currentColor",2);x?f.appendChild(x):f.textContent=a.callToActionIconText??"\u2197"}else f.textContent=a.callToActionIconText??"\u2197"}let v=a.position&&wn[a.position]?wn[a.position]:wn["bottom-right"],C="persona-fixed persona-flex persona-items-center persona-gap-3 persona-rounded-launcher persona-bg-persona-surface persona-py-2.5 persona-pl-3 persona-pr-3 persona-transition hover:persona-translate-y-[-2px] persona-cursor-pointer",I="persona-relative persona-mt-4 persona-mb-4 persona-mx-auto persona-flex persona-items-center persona-justify-center persona-rounded-launcher persona-bg-persona-surface persona-transition hover:persona-translate-y-[-2px] persona-cursor-pointer";n.className=l?I:`${C} ${v}`,l||(n.style.zIndex=String(a.zIndex??$t));let B="1px solid var(--persona-border, #e5e7eb)",k="var(--persona-launcher-shadow, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1))";n.style.border=a.border??B,n.style.boxShadow=a.shadow!==void 0?a.shadow.trim()===""?"none":a.shadow:k,l?(n.style.width="0",n.style.minWidth="0",n.style.maxWidth="0",n.style.padding="0",n.style.overflow="hidden",n.style.border="none",n.style.boxShadow="none"):(n.style.width="",n.style.minWidth="",n.style.maxWidth=a.collapsedMaxWidth??"",n.style.justifyContent="",n.style.padding="",n.style.overflow="")},r=()=>{n.removeEventListener("click",e),n.remove()};return t&&o(t),{element:n,update:o,destroy:r}};var $p=({config:t,showClose:e})=>{let{wrapper:n,panel:o,pillRoot:r}=Op(t),s=_p(t,e),a={wrapper:n,panel:o,pillRoot:r},l={container:s.container,body:s.body,messagesWrapper:s.messagesWrapper,composerOverlay:s.composerOverlay,introTitle:s.introTitle,introSubtitle:s.introSubtitle},p={element:s.header,iconHolder:s.iconHolder,headerTitle:s.headerTitle,headerSubtitle:s.headerSubtitle,closeButton:s.closeButton,closeButtonWrapper:s.closeButtonWrapper,clearChatButton:s.clearChatButton,clearChatButtonWrapper:s.clearChatButtonWrapper},d={footer:s.footer,form:s.composerForm,textarea:s.textarea,sendButton:s.sendButton,sendButtonWrapper:s.sendButtonWrapper,micButton:s.micButton,micButtonWrapper:s.micButtonWrapper,statusText:s.statusText,suggestions:s.suggestions,attachmentButton:s.attachmentButton,attachmentButtonWrapper:s.attachmentButtonWrapper,attachmentInput:s.attachmentInput,attachmentPreviewsContainer:s.attachmentPreviewsContainer,actionsRow:s.actionsRow,leftActions:s.leftActions,rightActions:s.rightActions,setSendButtonMode:s.setSendButtonMode,peekBanner:s.peekBanner,peekTextNode:s.peekTextNode};return{shell:a,panelElements:s,transcript:l,header:p,composer:d,replaceHeader:w=>(p.element.replaceWith(w.header),p.element=w.header,p.iconHolder=w.iconHolder,p.headerTitle=w.headerTitle,p.headerSubtitle=w.headerSubtitle,p.closeButton=w.closeButton,p.closeButtonWrapper=w.closeButtonWrapper,p.clearChatButton=w.clearChatButton,p.clearChatButtonWrapper=w.clearChatButtonWrapper,w),replaceComposer:w=>{d.footer.replaceWith(w),d.footer=w}}},ll=({config:t,plugins:e,onToggle:n})=>{let o=e.find(s=>s.renderLauncher);if(o?.renderLauncher){let s=o.renderLauncher({config:t,defaultRenderer:()=>il(t,n).element,onToggle:n});if(s)return{instance:null,element:s}}let r=il(t,n);return{instance:r,element:r.element}};var dh=t=>{switch(t){case"max_tool_calls":return"Stopped after calling a tool. Send a follow-up to continue.";case"length":return"Response cut off as max tokens reached. Ask for more to continue.";case"content_filter":return"The provider filtered this response.";case"error":return"Something went wrong generating this response.";default:return null}},ph=(t,e)=>{if(!t)return null;let n=dh(t);if(n===null)return null;let o=e?.[t],r=o!==void 0?o:n;return r||null},uh=(t,e)=>{let n=h("div","persona-message-stop-reason persona-text-xs persona-mt-2 persona-italic");return n.setAttribute("data-stop-reason",t),n.setAttribute("role","note"),n.style.opacity="0.75",n.textContent=e,n},fh=t=>{let e=t.toLowerCase();return e.startsWith("data:image/svg+xml")?!1:!!(/^(?:https?|blob):/i.test(t)||e.startsWith("data:image/")||!t.includes(":"))},cl=t=>{let e=t.toLowerCase();return e.startsWith("javascript:")||e.startsWith("data:text/html")||e.startsWith("data:text/javascript")||e.startsWith("data:text/xml")||e.startsWith("data:application/xhtml")||e.startsWith("data:image/svg+xml")?!1:!!(/^(?:https?|blob):/i.test(t)||e.startsWith("data:")||!t.includes(":"))},dl=320,qp=320,gh=t=>!t.contentParts||t.contentParts.length===0?[]:t.contentParts.filter(e=>e.type==="image"&&typeof e.image=="string"&&e.image.trim().length>0),mh=t=>!t.contentParts||t.contentParts.length===0?[]:t.contentParts.filter(e=>e.type==="audio"&&typeof e.audio=="string"&&e.audio.trim().length>0),hh=t=>!t.contentParts||t.contentParts.length===0?[]:t.contentParts.filter(e=>e.type==="video"&&typeof e.video=="string"&&e.video.trim().length>0),yh=t=>!t.contentParts||t.contentParts.length===0?[]:t.contentParts.filter(e=>e.type==="file"&&typeof e.data=="string"&&e.data.trim().length>0),bh=t=>{if(!t||t.length===0)return null;let e=Ne("div",{className:"persona-mention-context-row persona-message-mentions",attrs:{"data-message-mentions":""}});e.style.display="flex";for(let n of t){let o=Ne("div",{className:"persona-mention-chip persona-mention-chip-readonly",attrs:{"data-status":"ready",title:n.label}}),r=h("span","persona-mention-chip-icon"),s=re(n.iconName??"at-sign",13,"currentColor",2);s&&r.appendChild(s),o.appendChild(r),o.appendChild(Ne("span",{className:"persona-mention-chip-label",text:n.label})),e.appendChild(o)}return e},vh=(t,e)=>{let n=document.createDocumentFragment();for(let o of t){if(o.kind==="text"){n.appendChild(document.createTextNode(o.text));continue}n.appendChild(Xr(o.ref,{readonly:!0,render:e}))}return n},zp="\uE000",Up="\uE001",wh=(t,e,n,o)=>{let r=Math.random().toString(36).slice(2,8),s=w=>`${zp}${r}:${w}${Up}`,a=e.map((w,f)=>w.kind==="text"?w.text:s(f)).join(""),l=n(a);if(!e.every((w,f)=>w.kind==="text"||l.includes(s(f)))){t.replaceChildren(vh(e,o));return}t.innerHTML=l;let d=new RegExp(`${zp}${r}:(\\d+)${Up}`),c=document.createTreeWalker(t,NodeFilter.SHOW_TEXT),u=[];for(let w=c.nextNode();w;w=c.nextNode())u.push(w);for(let w of u){let f=w;for(let v=d.exec(f.data);v;v=d.exec(f.data)){let C=e[Number(v[1])],I=f.splitText(v.index);I.data=I.data.slice(v[0].length),C?.kind==="mention"&&I.parentNode?.insertBefore(Xr(C.ref,{readonly:!0,render:o}),I),f=I}}},xh=(t,e,n)=>{if(t.length===0)return null;try{let o=h("div","persona-flex persona-flex-col persona-gap-2");o.setAttribute("data-message-attachments","images"),e&&(o.style.marginBottom="8px");let r=0,s=!1,a=()=>{s||(s=!0,o.remove(),n?.())};return t.forEach((l,p)=>{let d=h("img");d.alt=l.alt?.trim()||`Attached image ${p+1}`,d.loading="lazy",d.decoding="async",d.referrerPolicy="no-referrer",d.style.display="block",d.style.width="100%",d.style.maxWidth=`${dl}px`,d.style.maxHeight=`${qp}px`,d.style.height="auto",d.style.objectFit="contain",d.style.borderRadius="10px",d.style.backgroundColor="var(--persona-attachment-image-bg, var(--persona-container, #f3f4f6))",d.style.border="1px solid var(--persona-attachment-image-border, var(--persona-border, #e5e7eb))";let c=!1;r+=1,d.addEventListener("error",()=>{c||(c=!0,r=Math.max(0,r-1),d.remove(),r===0&&a())}),d.addEventListener("load",()=>{c=!0}),fh(l.image)?(d.src=l.image,o.appendChild(d)):(c=!0,r=Math.max(0,r-1),d.remove())}),r===0?(a(),null):o}catch{return n?.(),null}},Ch=t=>{if(t.length===0)return null;try{let e=h("div","persona-flex persona-flex-col persona-gap-2");e.setAttribute("data-message-attachments","audio");let n=0;return t.forEach(o=>{if(!cl(o.audio))return;let r=h("audio");r.controls=!0,r.preload="metadata",r.src=o.audio,r.style.display="block",r.style.width="100%",r.style.maxWidth=`${dl}px`,e.appendChild(r),n+=1}),n===0?(e.remove(),null):e}catch{return null}},Ah=t=>{if(t.length===0)return null;try{let e=h("div","persona-flex persona-flex-col persona-gap-2");e.setAttribute("data-message-attachments","video");let n=0;return t.forEach(o=>{if(!cl(o.video))return;let r=h("video");r.controls=!0,r.preload="metadata",r.src=o.video,r.style.display="block",r.style.width="100%",r.style.maxWidth=`${dl}px`,r.style.maxHeight=`${qp}px`,r.style.borderRadius="10px",r.style.backgroundColor="var(--persona-attachment-image-bg, var(--persona-container, #f3f4f6))",e.appendChild(r),n+=1}),n===0?(e.remove(),null):e}catch{return null}},Sh=t=>{if(t.length===0)return null;try{let e=h("div","persona-flex persona-flex-col persona-gap-2");e.setAttribute("data-message-attachments","files");let n=0;return t.forEach(o=>{if(!cl(o.data))return;let r=h("a");r.href=o.data,r.download=o.filename,r.target="_blank",r.rel="noopener noreferrer",r.textContent=o.filename,r.className="persona-message-file-attachment",r.style.display="inline-flex",r.style.alignItems="center",r.style.gap="6px",r.style.padding="6px 10px",r.style.borderRadius="8px",r.style.fontSize="0.875rem",r.style.textDecoration="underline",r.style.backgroundColor="var(--persona-attachment-file-bg, var(--persona-container, #f3f4f6))",r.style.border="1px solid var(--persona-attachment-file-border, var(--persona-border, #e5e7eb))",r.style.color="inherit",e.appendChild(r),n+=1}),n===0?(e.remove(),null):e}catch{return null}},ds=()=>{let t=document.createElement("div");t.className="persona-flex persona-items-center persona-space-x-1 persona-h-5 persona-mt-2";let e=document.createElement("div");e.className="persona-animate-typing persona-rounded-full persona-h-1.5 persona-w-1.5",e.style.backgroundColor="currentColor",e.style.opacity="0.4",e.style.animationDelay="0ms";let n=document.createElement("div");n.className="persona-animate-typing persona-rounded-full persona-h-1.5 persona-w-1.5",n.style.backgroundColor="currentColor",n.style.opacity="0.4",n.style.animationDelay="250ms";let o=document.createElement("div");o.className="persona-animate-typing persona-rounded-full persona-h-1.5 persona-w-1.5",o.style.backgroundColor="currentColor",o.style.opacity="0.4",o.style.animationDelay="500ms";let r=document.createElement("span");return r.className="persona-sr-only",r.textContent="Loading",t.appendChild(e),t.appendChild(n),t.appendChild(o),t.appendChild(r),t},Th=(t,e,n)=>{let o={config:n??{},streaming:!0,location:t,defaultRenderer:ds};if(e){let r=e(o);if(r!==null)return r}return ds()},Mh=(t,e)=>{let n=h("div","persona-flex-shrink-0 persona-w-8 persona-h-8 persona-rounded-full persona-flex persona-items-center persona-justify-center persona-text-sm"),o=e==="user"?t.userAvatar:t.assistantAvatar;if(o)if(o.startsWith("http")||o.startsWith("/")||o.startsWith("data:")){let r=h("img");r.src=o,r.alt=e==="user"?"User":"Assistant",r.className="persona-w-full persona-h-full persona-rounded-full persona-object-cover",n.appendChild(r)}else n.textContent=o,n.classList.add(e==="user"?"persona-bg-persona-accent":"persona-bg-persona-primary","persona-text-white");else n.textContent=e==="user"?"U":"A",n.classList.add(e==="user"?"persona-bg-persona-accent":"persona-bg-persona-primary","persona-text-white");return n},jp=(t,e,n="div")=>{let o=h(n,"persona-text-xs persona-text-persona-muted"),r=new Date(t.createdAt);return e.format?o.textContent=e.format(r):o.textContent=r.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),o},Eh=(t,e="bubble")=>{let n=["persona-message-bubble"];switch(e){case"flat":t==="user"?n.push("persona-message-user-bubble","persona-ml-auto","persona-text-persona-primary","persona-py-2"):n.push("persona-message-assistant-bubble","persona-text-persona-primary","persona-py-2");break;case"minimal":n.push("persona-text-sm","persona-leading-relaxed"),t==="user"?n.push("persona-message-user-bubble","persona-ml-auto","persona-bg-persona-accent","persona-text-white","persona-px-3","persona-py-2","persona-rounded-lg"):n.push("persona-message-assistant-bubble","persona-bg-persona-surface","persona-text-persona-primary","persona-px-3","persona-py-2","persona-rounded-lg");break;default:n.push("persona-rounded-2xl","persona-text-sm","persona-leading-relaxed","persona-shadow-sm"),t==="user"?n.push("persona-message-user-bubble","persona-ml-auto","persona-bg-persona-accent","persona-text-white","persona-px-5","persona-py-3"):n.push("persona-message-assistant-bubble","persona-bg-persona-surface","persona-border","persona-border-persona-message-border","persona-text-persona-primary","persona-px-5","persona-py-3");break}return n},kh=(t,e,n)=>{let o=e.showCopy??!0,r=e.showUpvote??!0,s=e.showDownvote??!0,a=e.showReadAloud??!1;if(!o&&!r&&!s&&!a){let v=h("div");return v.style.display="none",v.id=`actions-${t.id}`,v.setAttribute("data-actions-for",t.id),v}let l=e.visibility??"hover",p=e.align??"right",d=e.layout??"pill-inside",c={left:"persona-message-actions-left",center:"persona-message-actions-center",right:"persona-message-actions-right"}[p],u={"pill-inside":"persona-message-actions-pill","row-inside":"persona-message-actions-row"}[d],w=h("div",`persona-message-actions persona-flex persona-items-center persona-gap-1 persona-mt-2 ${c} ${u} ${l==="hover"?"persona-message-actions-hover":""}`);w.id=`actions-${t.id}`,w.setAttribute("data-actions-for",t.id);let f=(v,C,I)=>{let B=Rt({icon:v,label:C,size:14,className:"persona-message-action-btn"});return B.setAttribute("data-action",I),B};return o&&w.appendChild(f("copy","Copy message","copy")),a&&w.appendChild(f("volume-2","Read aloud","read-aloud")),r&&w.appendChild(f("thumbs-up","Upvote","upvote")),s&&w.appendChild(f("thumbs-down","Downvote","downvote")),w},pl=(t,e,n,o,r,s)=>{let a=n??{},l=a.layout??"bubble",p=a.avatar,d=a.timestamp,c=p?.show??!1,u=d?.show??!1,w=p?.position??"left",f=d?.position??"below",v=Eh(t.role,l),C=h("div",v.join(" "));C.id=`bubble-${t.id}`,C.setAttribute("data-message-id",t.id),C.setAttribute("data-persona-theme-zone",t.role==="user"?"user-message":"assistant-message"),l==="flat"?(C.style.backgroundColor="transparent",C.style.color="var(--persona-primary, var(--persona-text))"):t.role==="user"?(C.style.backgroundColor="var(--persona-message-user-bg, var(--persona-accent))",C.style.color="var(--persona-message-user-text, white)"):t.role==="assistant"&&(C.style.backgroundColor="var(--persona-message-assistant-bg, var(--persona-surface))",C.style.color="var(--persona-message-assistant-text, var(--persona-text))");let I=gh(t),B=t.content?.trim()??"",M=I.length>0&&B===ia,P=ka(s?.widgetConfig?.features?.streamAnimation),z=s?.widgetConfig?.features?.streamAnimation?.plugins,K=t.role==="assistant"&&P.type!=="none"?lr(P.type,z):null,x=t.role==="assistant"&&K?.isAnimating?.(t)===!0,U=t.role==="assistant"&&K!==null&&(!!t.streaming||x);U&&K?.bubbleClass&&C.classList.add(K.bubbleClass);let j=document.createElement("div");j.classList.add("persona-message-content"),t.streaming&&j.classList.add("persona-content-streaming"),U&&K&&(K.containerClass&&j.classList.add(K.containerClass),j.style.setProperty("--persona-stream-step",`${P.speed}ms`),j.style.setProperty("--persona-stream-duration",`${P.duration}ms`));let J=U?La(t.content??"",P.buffer,K,t,!!t.streaming):t.content??"",D=()=>{let Z=e({text:J,message:t,streaming:!!t.streaming,raw:t.rawContent});return U&&K?.wrap==="char"?rs(Z,"char",t.id,{skipTags:K.skipTags}):U&&K?.wrap==="word"?rs(Z,"word",t.id,{skipTags:K.skipTags}):Z},F=null;if(M?(F=document.createElement("div"),F.innerHTML=D(),F.style.display="none",j.appendChild(F)):t.contentSegments?.length?wh(j,t.contentSegments,Z=>e({text:Z,message:t,streaming:!!t.streaming,raw:t.rawContent}),s?.widgetConfig?.contextMentions?.renderMentionToken):j.innerHTML=D(),U&&K?.useCaret&&!M&&B){let Z=Pa(),he=j.querySelectorAll(".persona-stream-char, .persona-stream-word"),ye=he[he.length-1];if(ye?.parentNode)ye.parentNode.insertBefore(Z,ye.nextSibling);else{let pe=j.lastElementChild;pe?pe.appendChild(Z):j.appendChild(Z)}}if(u&&f==="inline"&&t.createdAt){let Z=jp(t,d,"span");Z.classList.add("persona-timestamp-inline");let he=j.lastElementChild;he?he.appendChild(Z):j.appendChild(Z)}if(I.length>0){let Z=xh(I,!M&&!!B,()=>{M&&F&&(F.style.display="")});Z?C.appendChild(Z):M&&F&&(F.style.display="")}let ie=mh(t);if(ie.length>0){let Z=Ch(ie);Z&&C.appendChild(Z)}let ge=hh(t);if(ge.length>0){let Z=Ah(ge);Z&&C.appendChild(Z)}let Ce=yh(t);if(Ce.length>0){let Z=Sh(Ce);Z&&C.appendChild(Z)}let we=t.contentSegments?.length?null:bh(t.contextMentions);if(we&&C.appendChild(we),C.appendChild(j),u&&f==="below"&&t.createdAt){let Z=jp(t,d);Z.classList.add("persona-mt-1"),C.appendChild(Z)}let ee=t.role==="assistant"?ph(t.stopReason,s?.widgetConfig?.copy?.stopReasonNotice):null;if(t.streaming&&t.role==="assistant"){let Z=!!(J&&J.trim()),he=P.placeholder==="skeleton",ye=he&&P.buffer==="line"&&Z;if(Z)ye&&C.appendChild(ss());else if(he)C.appendChild(ss());else{let pe=Th("inline",s?.loadingIndicatorRenderer,s?.widgetConfig);pe&&C.appendChild(pe)}}if(ee&&t.stopReason&&!t.streaming&&(B||(j.style.display="none"),C.appendChild(uh(t.stopReason,ee))),t.role==="assistant"&&!t.streaming&&t.content&&t.content.trim()&&o?.enabled!==!1&&o){let Z=kh(t,o,r);C.appendChild(Z)}if(!c||t.role==="system")return C;let Y=h("div",`persona-message-with-avatar persona-flex persona-gap-2 ${t.role==="user"?"persona-flex-row-reverse":""}`),ae=Mh(p,t.role);return w==="right"||w==="left"&&t.role==="user"?Y.append(C,ae):Y.append(ae,C),Y};var cr=new Set,Lh=(t,e)=>e==null?!1:typeof e=="string"?(t.textContent=e,!0):(t.appendChild(e),!0),Ph=(t,e)=>{let n=t.reasoning?.chunks.join("").trim()??"";return n?n.split(/\r?\n/).map(o=>o.trim()).filter(Boolean).slice(0,e).join(`
|
|
39
|
+
`,n.addEventListener("click",e);let o=s=>{let a=s.launcher??{},l=Wt(s),p=n.querySelector("[data-role='launcher-title']");if(p){let M=a.title??"Chat Assistant";p.textContent=M,p.setAttribute("title",M)}let d=n.querySelector("[data-role='launcher-subtitle']");if(d){let M=a.subtitle??"Here to help you get answers fast";d.textContent=M,d.setAttribute("title",M)}let c=n.querySelector(".persona-flex-col");c&&(a.textHidden||l?c.style.display="none":c.style.display="");let u=n.querySelector("[data-role='launcher-icon']");if(u)if(a.agentIconHidden)u.style.display="none";else{let M=a.agentIconSize??"40px";if(u.style.height=M,u.style.width=M,a.agentIconBackgroundColor?(u.style.backgroundColor=a.agentIconBackgroundColor,u.classList.remove("persona-bg-persona-primary")):(u.style.backgroundColor="",u.classList.add("persona-bg-persona-primary")),u.innerHTML="",a.agentIconName){let P=parseFloat(M)||24,z=re(a.agentIconName,P*.6,"var(--persona-text-inverse, #ffffff)",2);z?(u.appendChild(z),u.style.display=""):(u.textContent=a.agentIconText??"\u{1F4AC}",u.style.display="")}else a.iconUrl?u.style.display="none":(u.textContent=a.agentIconText??"\u{1F4AC}",u.style.display="")}let w=n.querySelector("[data-role='launcher-image']");if(w){let M=a.agentIconSize??"40px";w.style.height=M,w.style.width=M,a.iconUrl&&!a.agentIconName&&!a.agentIconHidden?(w.src=a.iconUrl,w.style.display="block"):w.style.display="none"}let f=n.querySelector("[data-role='launcher-call-to-action-icon']");if(f){let M=a.callToActionIconSize??"32px";f.style.height=M,f.style.width=M,a.callToActionIconBackgroundColor?(f.style.backgroundColor=a.callToActionIconBackgroundColor,f.classList.remove("persona-bg-persona-primary")):(f.style.backgroundColor="",f.classList.add("persona-bg-persona-primary")),a.callToActionIconColor?(f.style.color=a.callToActionIconColor,f.classList.remove("persona-text-persona-call-to-action")):(f.style.color="",f.classList.add("persona-text-persona-call-to-action"));let P=0;if(a.callToActionIconPadding?(f.style.boxSizing="border-box",f.style.padding=a.callToActionIconPadding,P=(parseFloat(a.callToActionIconPadding)||0)*2):(f.style.boxSizing="",f.style.padding=""),a.callToActionIconHidden)f.style.display="none";else if(f.style.display=l?"none":"",f.innerHTML="",a.callToActionIconName){let z=parseFloat(M)||24,K=Math.max(z-P,8),x=re(a.callToActionIconName,K,"currentColor",2);x?f.appendChild(x):f.textContent=a.callToActionIconText??"\u2197"}else f.textContent=a.callToActionIconText??"\u2197"}let v=a.position&&wn[a.position]?wn[a.position]:wn["bottom-right"],C="persona-fixed persona-flex persona-items-center persona-gap-3 persona-rounded-launcher persona-bg-persona-surface persona-py-2.5 persona-pl-3 persona-pr-3 persona-transition hover:persona-translate-y-[-2px] persona-cursor-pointer",I="persona-relative persona-mt-4 persona-mb-4 persona-mx-auto persona-flex persona-items-center persona-justify-center persona-rounded-launcher persona-bg-persona-surface persona-transition hover:persona-translate-y-[-2px] persona-cursor-pointer";n.className=l?I:`${C} ${v}`,l||(n.style.zIndex=String(a.zIndex??zt));let B="1px solid var(--persona-border, #e5e7eb)",k="var(--persona-launcher-shadow, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1))";n.style.border=a.border??B,n.style.boxShadow=a.shadow!==void 0?a.shadow.trim()===""?"none":a.shadow:k,l?(n.style.width="0",n.style.minWidth="0",n.style.maxWidth="0",n.style.padding="0",n.style.overflow="hidden",n.style.border="none",n.style.boxShadow="none"):(n.style.width="",n.style.minWidth="",n.style.maxWidth=a.collapsedMaxWidth??"",n.style.justifyContent="",n.style.padding="",n.style.overflow="")},r=()=>{n.removeEventListener("click",e),n.remove()};return t&&o(t),{element:n,update:o,destroy:r}};var $p=({config:t,showClose:e})=>{let{wrapper:n,panel:o,pillRoot:r}=Op(t),s=_p(t,e),a={wrapper:n,panel:o,pillRoot:r},l={container:s.container,body:s.body,messagesWrapper:s.messagesWrapper,composerOverlay:s.composerOverlay,introTitle:s.introTitle,introSubtitle:s.introSubtitle},p={element:s.header,iconHolder:s.iconHolder,headerTitle:s.headerTitle,headerSubtitle:s.headerSubtitle,closeButton:s.closeButton,closeButtonWrapper:s.closeButtonWrapper,clearChatButton:s.clearChatButton,clearChatButtonWrapper:s.clearChatButtonWrapper},d={footer:s.footer,form:s.composerForm,textarea:s.textarea,sendButton:s.sendButton,sendButtonWrapper:s.sendButtonWrapper,micButton:s.micButton,micButtonWrapper:s.micButtonWrapper,statusText:s.statusText,suggestions:s.suggestions,attachmentButton:s.attachmentButton,attachmentButtonWrapper:s.attachmentButtonWrapper,attachmentInput:s.attachmentInput,attachmentPreviewsContainer:s.attachmentPreviewsContainer,actionsRow:s.actionsRow,leftActions:s.leftActions,rightActions:s.rightActions,setSendButtonMode:s.setSendButtonMode,peekBanner:s.peekBanner,peekTextNode:s.peekTextNode};return{shell:a,panelElements:s,transcript:l,header:p,composer:d,replaceHeader:w=>(p.element.replaceWith(w.header),p.element=w.header,p.iconHolder=w.iconHolder,p.headerTitle=w.headerTitle,p.headerSubtitle=w.headerSubtitle,p.closeButton=w.closeButton,p.closeButtonWrapper=w.closeButtonWrapper,p.clearChatButton=w.clearChatButton,p.clearChatButtonWrapper=w.clearChatButtonWrapper,w),replaceComposer:w=>{d.footer.replaceWith(w),d.footer=w}}},ll=({config:t,plugins:e,onToggle:n})=>{let o=e.find(s=>s.renderLauncher);if(o?.renderLauncher){let s=o.renderLauncher({config:t,defaultRenderer:()=>il(t,n).element,onToggle:n});if(s)return{instance:null,element:s}}let r=il(t,n);return{instance:r,element:r.element}};var dh=t=>{switch(t){case"max_tool_calls":return"Stopped after calling a tool. Send a follow-up to continue.";case"length":return"Response cut off as max tokens reached. Ask for more to continue.";case"content_filter":return"The provider filtered this response.";case"error":return"Something went wrong generating this response.";default:return null}},ph=(t,e)=>{if(!t)return null;let n=dh(t);if(n===null)return null;let o=e?.[t],r=o!==void 0?o:n;return r||null},uh=(t,e)=>{let n=h("div","persona-message-stop-reason persona-text-xs persona-mt-2 persona-italic");return n.setAttribute("data-stop-reason",t),n.setAttribute("role","note"),n.style.opacity="0.75",n.textContent=e,n},fh=t=>{let e=t.toLowerCase();return e.startsWith("data:image/svg+xml")?!1:!!(/^(?:https?|blob):/i.test(t)||e.startsWith("data:image/")||!t.includes(":"))},cl=t=>{let e=t.toLowerCase();return e.startsWith("javascript:")||e.startsWith("data:text/html")||e.startsWith("data:text/javascript")||e.startsWith("data:text/xml")||e.startsWith("data:application/xhtml")||e.startsWith("data:image/svg+xml")?!1:!!(/^(?:https?|blob):/i.test(t)||e.startsWith("data:")||!t.includes(":"))},dl=320,qp=320,gh=t=>!t.contentParts||t.contentParts.length===0?[]:t.contentParts.filter(e=>e.type==="image"&&typeof e.image=="string"&&e.image.trim().length>0),mh=t=>!t.contentParts||t.contentParts.length===0?[]:t.contentParts.filter(e=>e.type==="audio"&&typeof e.audio=="string"&&e.audio.trim().length>0),hh=t=>!t.contentParts||t.contentParts.length===0?[]:t.contentParts.filter(e=>e.type==="video"&&typeof e.video=="string"&&e.video.trim().length>0),yh=t=>!t.contentParts||t.contentParts.length===0?[]:t.contentParts.filter(e=>e.type==="file"&&typeof e.data=="string"&&e.data.trim().length>0),bh=t=>{if(!t||t.length===0)return null;let e=Ne("div",{className:"persona-mention-context-row persona-message-mentions",attrs:{"data-message-mentions":""}});e.style.display="flex";for(let n of t){let o=Ne("div",{className:"persona-mention-chip persona-mention-chip-readonly",attrs:{"data-status":"ready",title:n.label}}),r=h("span","persona-mention-chip-icon"),s=re(n.iconName??"at-sign",13,"currentColor",2);s&&r.appendChild(s),o.appendChild(r),o.appendChild(Ne("span",{className:"persona-mention-chip-label",text:n.label})),e.appendChild(o)}return e},vh=(t,e)=>{let n=document.createDocumentFragment();for(let o of t){if(o.kind==="text"){n.appendChild(document.createTextNode(o.text));continue}n.appendChild(Xr(o.ref,{readonly:!0,render:e}))}return n},zp="\uE000",Up="\uE001",wh=(t,e,n,o)=>{let r=Math.random().toString(36).slice(2,8),s=w=>`${zp}${r}:${w}${Up}`,a=e.map((w,f)=>w.kind==="text"?w.text:s(f)).join(""),l=n(a);if(!e.every((w,f)=>w.kind==="text"||l.includes(s(f)))){t.replaceChildren(vh(e,o));return}t.innerHTML=l;let d=new RegExp(`${zp}${r}:(\\d+)${Up}`),c=document.createTreeWalker(t,NodeFilter.SHOW_TEXT),u=[];for(let w=c.nextNode();w;w=c.nextNode())u.push(w);for(let w of u){let f=w;for(let v=d.exec(f.data);v;v=d.exec(f.data)){let C=e[Number(v[1])],I=f.splitText(v.index);I.data=I.data.slice(v[0].length),C?.kind==="mention"&&I.parentNode?.insertBefore(Xr(C.ref,{readonly:!0,render:o}),I),f=I}}},xh=(t,e,n)=>{if(t.length===0)return null;try{let o=h("div","persona-flex persona-flex-col persona-gap-2");o.setAttribute("data-message-attachments","images"),e&&(o.style.marginBottom="8px");let r=0,s=!1,a=()=>{s||(s=!0,o.remove(),n?.())};return t.forEach((l,p)=>{let d=h("img");d.alt=l.alt?.trim()||`Attached image ${p+1}`,d.loading="lazy",d.decoding="async",d.referrerPolicy="no-referrer",d.style.display="block",d.style.width="100%",d.style.maxWidth=`${dl}px`,d.style.maxHeight=`${qp}px`,d.style.height="auto",d.style.objectFit="contain",d.style.borderRadius="10px",d.style.backgroundColor="var(--persona-attachment-image-bg, var(--persona-container, #f3f4f6))",d.style.border="1px solid var(--persona-attachment-image-border, var(--persona-border, #e5e7eb))";let c=!1;r+=1,d.addEventListener("error",()=>{c||(c=!0,r=Math.max(0,r-1),d.remove(),r===0&&a())}),d.addEventListener("load",()=>{c=!0}),fh(l.image)?(d.src=l.image,o.appendChild(d)):(c=!0,r=Math.max(0,r-1),d.remove())}),r===0?(a(),null):o}catch{return n?.(),null}},Ch=t=>{if(t.length===0)return null;try{let e=h("div","persona-flex persona-flex-col persona-gap-2");e.setAttribute("data-message-attachments","audio");let n=0;return t.forEach(o=>{if(!cl(o.audio))return;let r=h("audio");r.controls=!0,r.preload="metadata",r.src=o.audio,r.style.display="block",r.style.width="100%",r.style.maxWidth=`${dl}px`,e.appendChild(r),n+=1}),n===0?(e.remove(),null):e}catch{return null}},Ah=t=>{if(t.length===0)return null;try{let e=h("div","persona-flex persona-flex-col persona-gap-2");e.setAttribute("data-message-attachments","video");let n=0;return t.forEach(o=>{if(!cl(o.video))return;let r=h("video");r.controls=!0,r.preload="metadata",r.src=o.video,r.style.display="block",r.style.width="100%",r.style.maxWidth=`${dl}px`,r.style.maxHeight=`${qp}px`,r.style.borderRadius="10px",r.style.backgroundColor="var(--persona-attachment-image-bg, var(--persona-container, #f3f4f6))",e.appendChild(r),n+=1}),n===0?(e.remove(),null):e}catch{return null}},Sh=t=>{if(t.length===0)return null;try{let e=h("div","persona-flex persona-flex-col persona-gap-2");e.setAttribute("data-message-attachments","files");let n=0;return t.forEach(o=>{if(!cl(o.data))return;let r=h("a");r.href=o.data,r.download=o.filename,r.target="_blank",r.rel="noopener noreferrer",r.textContent=o.filename,r.className="persona-message-file-attachment",r.style.display="inline-flex",r.style.alignItems="center",r.style.gap="6px",r.style.padding="6px 10px",r.style.borderRadius="8px",r.style.fontSize="0.875rem",r.style.textDecoration="underline",r.style.backgroundColor="var(--persona-attachment-file-bg, var(--persona-container, #f3f4f6))",r.style.border="1px solid var(--persona-attachment-file-border, var(--persona-border, #e5e7eb))",r.style.color="inherit",e.appendChild(r),n+=1}),n===0?(e.remove(),null):e}catch{return null}},ds=()=>{let t=document.createElement("div");t.className="persona-flex persona-items-center persona-space-x-1 persona-h-5 persona-mt-2";let e=document.createElement("div");e.className="persona-animate-typing persona-rounded-full persona-h-1.5 persona-w-1.5",e.style.backgroundColor="currentColor",e.style.opacity="0.4",e.style.animationDelay="0ms";let n=document.createElement("div");n.className="persona-animate-typing persona-rounded-full persona-h-1.5 persona-w-1.5",n.style.backgroundColor="currentColor",n.style.opacity="0.4",n.style.animationDelay="250ms";let o=document.createElement("div");o.className="persona-animate-typing persona-rounded-full persona-h-1.5 persona-w-1.5",o.style.backgroundColor="currentColor",o.style.opacity="0.4",o.style.animationDelay="500ms";let r=document.createElement("span");return r.className="persona-sr-only",r.textContent="Loading",t.appendChild(e),t.appendChild(n),t.appendChild(o),t.appendChild(r),t},Th=(t,e,n)=>{let o={config:n??{},streaming:!0,location:t,defaultRenderer:ds};if(e){let r=e(o);if(r!==null)return r}return ds()},Mh=(t,e)=>{let n=h("div","persona-flex-shrink-0 persona-w-8 persona-h-8 persona-rounded-full persona-flex persona-items-center persona-justify-center persona-text-sm"),o=e==="user"?t.userAvatar:t.assistantAvatar;if(o)if(o.startsWith("http")||o.startsWith("/")||o.startsWith("data:")){let r=h("img");r.src=o,r.alt=e==="user"?"User":"Assistant",r.className="persona-w-full persona-h-full persona-rounded-full persona-object-cover",n.appendChild(r)}else n.textContent=o,n.classList.add(e==="user"?"persona-bg-persona-accent":"persona-bg-persona-primary","persona-text-white");else n.textContent=e==="user"?"U":"A",n.classList.add(e==="user"?"persona-bg-persona-accent":"persona-bg-persona-primary","persona-text-white");return n},jp=(t,e,n="div")=>{let o=h(n,"persona-text-xs persona-text-persona-muted"),r=new Date(t.createdAt);return e.format?o.textContent=e.format(r):o.textContent=r.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),o},Eh=(t,e="bubble")=>{let n=["persona-message-bubble"];switch(e){case"flat":t==="user"?n.push("persona-message-user-bubble","persona-ml-auto","persona-text-persona-primary","persona-py-2"):n.push("persona-message-assistant-bubble","persona-text-persona-primary","persona-py-2");break;case"minimal":n.push("persona-text-sm","persona-leading-relaxed"),t==="user"?n.push("persona-message-user-bubble","persona-ml-auto","persona-bg-persona-accent","persona-text-white","persona-px-3","persona-py-2","persona-rounded-lg"):n.push("persona-message-assistant-bubble","persona-bg-persona-surface","persona-text-persona-primary","persona-px-3","persona-py-2","persona-rounded-lg");break;default:n.push("persona-rounded-2xl","persona-text-sm","persona-leading-relaxed","persona-shadow-sm"),t==="user"?n.push("persona-message-user-bubble","persona-ml-auto","persona-bg-persona-accent","persona-text-white","persona-px-5","persona-py-3"):n.push("persona-message-assistant-bubble","persona-bg-persona-surface","persona-border","persona-border-persona-message-border","persona-text-persona-primary","persona-px-5","persona-py-3");break}return n},kh=(t,e,n)=>{let o=e.showCopy??!0,r=e.showUpvote??!0,s=e.showDownvote??!0,a=e.showReadAloud??!1;if(!o&&!r&&!s&&!a){let v=h("div");return v.style.display="none",v.id=`actions-${t.id}`,v.setAttribute("data-actions-for",t.id),v}let l=e.visibility??"hover",p=e.align??"right",d=e.layout??"pill-inside",c={left:"persona-message-actions-left",center:"persona-message-actions-center",right:"persona-message-actions-right"}[p],u={"pill-inside":"persona-message-actions-pill","row-inside":"persona-message-actions-row"}[d],w=h("div",`persona-message-actions persona-flex persona-items-center persona-gap-1 persona-mt-2 ${c} ${u} ${l==="hover"?"persona-message-actions-hover":""}`);w.id=`actions-${t.id}`,w.setAttribute("data-actions-for",t.id);let f=(v,C,I)=>{let B=It({icon:v,label:C,size:14,className:"persona-message-action-btn"});return B.setAttribute("data-action",I),B};return o&&w.appendChild(f("copy","Copy message","copy")),a&&w.appendChild(f("volume-2","Read aloud","read-aloud")),r&&w.appendChild(f("thumbs-up","Upvote","upvote")),s&&w.appendChild(f("thumbs-down","Downvote","downvote")),w},pl=(t,e,n,o,r,s)=>{let a=n??{},l=a.layout??"bubble",p=a.avatar,d=a.timestamp,c=p?.show??!1,u=d?.show??!1,w=p?.position??"left",f=d?.position??"below",v=Eh(t.role,l),C=h("div",v.join(" "));C.id=`bubble-${t.id}`,C.setAttribute("data-message-id",t.id),C.setAttribute("data-persona-theme-zone",t.role==="user"?"user-message":"assistant-message"),l==="flat"?(C.style.backgroundColor="transparent",C.style.color="var(--persona-primary, var(--persona-text))"):t.role==="user"?(C.style.backgroundColor="var(--persona-message-user-bg, var(--persona-accent))",C.style.color="var(--persona-message-user-text, white)"):t.role==="assistant"&&(C.style.backgroundColor="var(--persona-message-assistant-bg, var(--persona-surface))",C.style.color="var(--persona-message-assistant-text, var(--persona-text))");let I=gh(t),B=t.content?.trim()??"",M=I.length>0&&B===ia,P=ka(s?.widgetConfig?.features?.streamAnimation),z=s?.widgetConfig?.features?.streamAnimation?.plugins,K=t.role==="assistant"&&P.type!=="none"?lr(P.type,z):null,x=t.role==="assistant"&&K?.isAnimating?.(t)===!0,U=t.role==="assistant"&&K!==null&&(!!t.streaming||x);U&&K?.bubbleClass&&C.classList.add(K.bubbleClass);let j=document.createElement("div");j.classList.add("persona-message-content"),t.streaming&&j.classList.add("persona-content-streaming"),U&&K&&(K.containerClass&&j.classList.add(K.containerClass),j.style.setProperty("--persona-stream-step",`${P.speed}ms`),j.style.setProperty("--persona-stream-duration",`${P.duration}ms`));let J=U?La(t.content??"",P.buffer,K,t,!!t.streaming):t.content??"",D=()=>{let Z=e({text:J,message:t,streaming:!!t.streaming,raw:t.rawContent});return U&&K?.wrap==="char"?rs(Z,"char",t.id,{skipTags:K.skipTags}):U&&K?.wrap==="word"?rs(Z,"word",t.id,{skipTags:K.skipTags}):Z},F=null;if(M?(F=document.createElement("div"),F.innerHTML=D(),F.style.display="none",j.appendChild(F)):t.contentSegments?.length?wh(j,t.contentSegments,Z=>e({text:Z,message:t,streaming:!!t.streaming,raw:t.rawContent}),s?.widgetConfig?.contextMentions?.renderMentionToken):j.innerHTML=D(),U&&K?.useCaret&&!M&&B){let Z=Pa(),he=j.querySelectorAll(".persona-stream-char, .persona-stream-word"),ye=he[he.length-1];if(ye?.parentNode)ye.parentNode.insertBefore(Z,ye.nextSibling);else{let pe=j.lastElementChild;pe?pe.appendChild(Z):j.appendChild(Z)}}if(u&&f==="inline"&&t.createdAt){let Z=jp(t,d,"span");Z.classList.add("persona-timestamp-inline");let he=j.lastElementChild;he?he.appendChild(Z):j.appendChild(Z)}if(I.length>0){let Z=xh(I,!M&&!!B,()=>{M&&F&&(F.style.display="")});Z?C.appendChild(Z):M&&F&&(F.style.display="")}let ie=mh(t);if(ie.length>0){let Z=Ch(ie);Z&&C.appendChild(Z)}let ge=hh(t);if(ge.length>0){let Z=Ah(ge);Z&&C.appendChild(Z)}let Ce=yh(t);if(Ce.length>0){let Z=Sh(Ce);Z&&C.appendChild(Z)}let we=t.contentSegments?.length?null:bh(t.contextMentions);if(we&&C.appendChild(we),C.appendChild(j),u&&f==="below"&&t.createdAt){let Z=jp(t,d);Z.classList.add("persona-mt-1"),C.appendChild(Z)}let ee=t.role==="assistant"?ph(t.stopReason,s?.widgetConfig?.copy?.stopReasonNotice):null;if(t.streaming&&t.role==="assistant"){let Z=!!(J&&J.trim()),he=P.placeholder==="skeleton",ye=he&&P.buffer==="line"&&Z;if(Z)ye&&C.appendChild(ss());else if(he)C.appendChild(ss());else{let pe=Th("inline",s?.loadingIndicatorRenderer,s?.widgetConfig);pe&&C.appendChild(pe)}}if(ee&&t.stopReason&&!t.streaming&&(B||(j.style.display="none"),C.appendChild(uh(t.stopReason,ee))),t.role==="assistant"&&!t.streaming&&t.content&&t.content.trim()&&o?.enabled!==!1&&o){let Z=kh(t,o,r);C.appendChild(Z)}if(!c||t.role==="system")return C;let Y=h("div",`persona-message-with-avatar persona-flex persona-gap-2 ${t.role==="user"?"persona-flex-row-reverse":""}`),ae=Mh(p,t.role);return w==="right"||w==="left"&&t.role==="user"?Y.append(C,ae):Y.append(ae,C),Y};var cr=new Set,Lh=(t,e)=>e==null?!1:typeof e=="string"?(t.textContent=e,!0):(t.appendChild(e),!0),Ph=(t,e)=>{let n=t.reasoning?.chunks.join("").trim()??"";return n?n.split(/\r?\n/).map(o=>o.trim()).filter(Boolean).slice(0,e).join(`
|
|
40
40
|
`):""},Vp=(t,e)=>{let n=cr.has(t),o=e.querySelector('button[data-expand-header="true"]'),r=e.querySelector(".persona-border-t"),s=e.querySelector('[data-persona-collapsed-preview="reasoning"]');if(!o||!r)return;o.setAttribute("aria-expanded",n?"true":"false");let l=o.querySelector(".persona-ml-auto")?.querySelector(":scope > .persona-flex.persona-items-center");if(l){l.innerHTML="";let d=re(n?"chevron-up":"chevron-down",16,"currentColor",2);d?l.appendChild(d):l.textContent=n?"Hide":"Show"}r.style.display=n?"":"none",s&&(s.style.display=n?"none":s.textContent||s.childNodes.length?"":"none")},ul=(t,e)=>{let n=t.reasoning,o=h("div",["persona-message-bubble","persona-reasoning-bubble","persona-w-full","persona-rounded-2xl","persona-bg-persona-surface","persona-border","persona-border-persona-message-border","persona-text-persona-primary","persona-shadow-sm","persona-overflow-hidden","persona-px-0","persona-py-0"].join(" "));if(o.id=`bubble-${t.id}`,o.setAttribute("data-message-id",t.id),!n)return o;let r=e?.features?.reasoningDisplay??{},s=r.expandable!==!1,a=s&&cr.has(t.id),l=n.status!=="complete",p=Ph(t,r.previewMaxLines??3),d=h("button",s?"persona-flex persona-w-full persona-items-center persona-justify-between persona-gap-3 persona-bg-transparent persona-px-4 persona-py-3 persona-text-left persona-cursor-pointer persona-border-none":"persona-flex persona-w-full persona-items-center persona-justify-between persona-gap-3 persona-bg-transparent persona-px-4 persona-py-3 persona-text-left persona-cursor-default persona-border-none");d.type="button",s&&(d.setAttribute("aria-expanded",a?"true":"false"),d.setAttribute("data-expand-header","true")),d.setAttribute("data-bubble-type","reasoning");let c=h("div","persona-flex persona-flex-col persona-text-left"),u=h("span","persona-text-xs persona-text-persona-primary"),w="Thinking...",f=e?.reasoning??{},v=String(n.startedAt??Date.now()),C=()=>{let ge=h("span","");return ge.setAttribute("data-tool-elapsed",v),ge.textContent=oa(n),ge},I=f.renderCollapsedSummary?.({message:t,reasoning:n,defaultSummary:w,previewText:p,isActive:l,config:e??{},elapsed:oa(n),createElapsedElement:C});typeof I=="string"&&I.trim()?(u.textContent=I,c.appendChild(u)):I instanceof HTMLElement?c.appendChild(I):(u.textContent=w,c.appendChild(u));let B=h("span","persona-text-xs persona-text-persona-primary");B.textContent=Ed(n),c.appendChild(B);let k=r.loadingAnimation??"none",M=f.activeTextTemplate,P=f.completeTextTemplate,z=l?M:P,K=I instanceof HTMLElement,x=(ge,Ce)=>{u.textContent="";let we=ra(ge,""),ee=0;for(let ce of we){let Y=ce.styles.length>0?(()=>{let ae=h("span",ce.styles.map(Z=>`persona-tool-text-${Z}`).join(" "));return u.appendChild(ae),ae})():u;if(ce.isDuration&&l)Y.appendChild(C());else{let ae=ce.isDuration?oa(n):ce.text;Ce?ee=ro(Y,ae,ee):Y.appendChild(document.createTextNode(ae))}}};if(!K&&z)if(B.style.display="none",u.style.display="",l&&k!=="none"){let ge=f.loadingAnimationDuration??2e3;u.setAttribute("data-preserve-animation","true"),k==="pulse"?(u.classList.add("persona-tool-loading-pulse"),u.style.setProperty("--persona-tool-anim-duration",`${ge}ms`),x(z,!1)):(u.classList.add(`persona-tool-loading-${k}`),u.style.setProperty("--persona-tool-anim-duration",`${ge}ms`),k==="shimmer-color"&&(f.loadingAnimationColor&&u.style.setProperty("--persona-tool-anim-color",f.loadingAnimationColor),f.loadingAnimationSecondaryColor&&u.style.setProperty("--persona-tool-anim-secondary-color",f.loadingAnimationSecondaryColor)),x(z,!0))}else x(z,!1);else if(!K&&l&&k!=="none"){u.style.display="";let ge=f.loadingAnimationDuration??2e3;if(u.setAttribute("data-preserve-animation","true"),k==="pulse")u.classList.add("persona-tool-loading-pulse"),u.style.setProperty("--persona-tool-anim-duration",`${ge}ms`);else{u.classList.add(`persona-tool-loading-${k}`),u.style.setProperty("--persona-tool-anim-duration",`${ge}ms`),k==="shimmer-color"&&(f.loadingAnimationColor&&u.style.setProperty("--persona-tool-anim-color",f.loadingAnimationColor),f.loadingAnimationSecondaryColor&&u.style.setProperty("--persona-tool-anim-secondary-color",f.loadingAnimationSecondaryColor));let Ce=u.textContent||w;u.textContent="",ro(u,Ce,0)}n.status==="complete"&&(u.style.display="none")}else K||(n.status==="complete"?u.style.display="none":u.style.display="");let U=null;if(s){U=h("div","persona-flex persona-items-center");let Ce=re(a?"chevron-up":"chevron-down",16,"currentColor",2);Ce?U.appendChild(Ce):U.textContent=a?"Hide":"Show";let we=h("div","persona-flex persona-items-center persona-ml-auto");we.append(U),d.append(c,we)}else d.append(c);let j=h("div","persona-px-4 persona-py-3 persona-text-xs persona-leading-snug persona-text-persona-muted");if(j.setAttribute("data-persona-collapsed-preview","reasoning"),j.style.display="none",j.style.whiteSpace="pre-wrap",!a&&l&&r.activePreview&&p){let ge=e?.reasoning?.renderCollapsedPreview?.({message:t,reasoning:n,defaultPreview:p,isActive:l,config:e??{}});Lh(j,ge)||(j.textContent=p),j.style.display=""}if(!a&&l&&r.activeMinHeight&&(o.style.minHeight=r.activeMinHeight),!s)return o.append(d,j),o;let J=h("div","persona-border-t persona-border-gray-200 persona-bg-gray-50 persona-px-4 persona-py-3");J.style.display=a?"":"none";let D=n.chunks.join(""),F=h("div","persona-whitespace-pre-wrap persona-text-xs persona-leading-snug persona-text-persona-muted");return F.textContent=D||(n.status==="complete"?"No additional context was shared.":"Waiting for details\u2026"),J.appendChild(F),(()=>{if(d.setAttribute("aria-expanded",a?"true":"false"),U){U.innerHTML="";let Ce=re(a?"chevron-up":"chevron-down",16,"currentColor",2);Ce?U.appendChild(Ce):U.textContent=a?"Hide":"Show"}J.style.display=a?"":"none",j.style.display=a?"none":j.textContent||j.childNodes.length?"":"none"})(),o.append(d,j,J),o};var dr=new Set,Ih=(t,e)=>e==null?!1:typeof e=="string"?(t.textContent=e,!0):(t.appendChild(e),!0),Rh=(t,e)=>{let n=t.toolCall;if(!n)return"";let o=(n.chunks??[]).join("").trim();if(o)return o.split(/\r?\n/).map(a=>a.trim()).filter(Boolean).slice(-e).join(`
|
|
41
41
|
`);let r=no(n.args).trim();return r?r.split(/\r?\n/).map(s=>s.trim()).filter(Boolean).slice(0,e).join(`
|
|
42
|
-
`):""},fl=(t,e)=>{t.style.backgroundColor=e.codeBlockBackgroundColor??"var(--persona-container, #f3f4f6)",t.style.borderColor=e.codeBlockBorderColor??"var(--persona-border, #e5e7eb)",t.style.color=e.codeBlockTextColor??"var(--persona-text, #171717)"},Wh=(t,e)=>{let n=t.toolCall,o=e?.features?.toolCallDisplay,r=o?.collapsedMode??"tool-call",s=Rh(t,o?.previewMaxLines??3),a=n?kd(n):"";if(!n)return{summary:a,previewText:s,isActive:!1};let l=n.status!=="complete",p=e?.toolCall??{},d=a;return r==="tool-name"?d=n.name?.trim()||a:r==="tool-preview"&&s&&(d=s),l&&p.activeTextTemplate?d=Oi(n,p.activeTextTemplate,d):!l&&p.completeTextTemplate&&(d=Oi(n,p.completeTextTemplate,d)),{summary:d,previewText:s,isActive:l}},Kp=(t,e,n)=>{let o=dr.has(t),r=n?.toolCall??{},s=e.querySelector('button[data-expand-header="true"]'),a=e.querySelector(".persona-border-t"),l=e.querySelector('[data-persona-collapsed-preview="tool"]');if(!s||!a)return;s.setAttribute("aria-expanded",o?"true":"false");let d=s.querySelector(".persona-ml-auto")?.querySelector(":scope > .persona-flex.persona-items-center");if(d){d.innerHTML="";let c=r.toggleTextColor||r.headerTextColor||"var(--persona-primary, #171717)",u=re(o?"chevron-up":"chevron-down",16,c,2);u?d.appendChild(u):d.textContent=o?"Hide":"Show"}a.style.display=o?"":"none",l&&(l.style.display=o?"none":l.textContent||l.childNodes.length?"":"none")},gl=(t,e)=>{let n=t.toolCall,o=e?.toolCall??{},r=h("div",["persona-message-bubble","persona-tool-bubble","persona-w-full","persona-rounded-2xl","persona-bg-persona-surface","persona-border","persona-border-persona-message-border","persona-text-persona-primary","persona-shadow-sm","persona-overflow-hidden","persona-px-0","persona-py-0"].join(" "));if(r.id=`bubble-${t.id}`,r.setAttribute("data-message-id",t.id),o.backgroundColor&&(r.style.backgroundColor=o.backgroundColor),o.borderColor&&(r.style.borderColor=o.borderColor),o.borderWidth&&(r.style.borderWidth=o.borderWidth),o.borderRadius&&(r.style.borderRadius=o.borderRadius),r.style.boxShadow=o.shadow!==void 0?o.shadow.trim()===""?"none":o.shadow:"var(--persona-tool-bubble-shadow, 0 5px 15px rgba(15, 23, 42, 0.08))",!n)return r;let s=e?.features?.toolCallDisplay??{},a=s.expandable!==!1,l=a&&dr.has(t.id),{summary:p,previewText:d,isActive:c}=Wh(t,e),u=h("button",a?"persona-flex persona-w-full persona-items-center persona-justify-between persona-gap-3 persona-bg-transparent persona-px-4 persona-py-3 persona-text-left persona-cursor-pointer persona-border-none":"persona-flex persona-w-full persona-items-center persona-justify-between persona-gap-3 persona-bg-transparent persona-px-4 persona-py-3 persona-text-left persona-cursor-default persona-border-none");u.type="button",a&&(u.setAttribute("aria-expanded",l?"true":"false"),u.setAttribute("data-expand-header","true")),u.setAttribute("data-bubble-type","tool"),o.headerBackgroundColor&&(u.style.backgroundColor=o.headerBackgroundColor),o.headerPaddingX&&(u.style.paddingLeft=o.headerPaddingX,u.style.paddingRight=o.headerPaddingX),o.headerPaddingY&&(u.style.paddingTop=o.headerPaddingY,u.style.paddingBottom=o.headerPaddingY);let w=h("div","persona-flex persona-flex-col persona-text-left"),f=h("span","persona-text-xs persona-text-persona-primary");o.headerTextColor&&(f.style.color=o.headerTextColor);let v=String(n.startedAt??Date.now()),C=()=>{let D=h("span","");return D.setAttribute("data-tool-elapsed",v),D.textContent=zr(n),D},I=o.renderCollapsedSummary?.({message:t,toolCall:n,defaultSummary:p,previewText:d,collapsedMode:s.collapsedMode??"tool-call",isActive:c,config:e??{},elapsed:zr(n),createElapsedElement:C});typeof I=="string"&&I.trim()?(f.textContent=I,w.appendChild(f)):I instanceof HTMLElement?w.appendChild(I):(f.textContent=p,w.appendChild(f));let B=s.loadingAnimation??"none",k=o.activeTextTemplate,M=o.completeTextTemplate,P=c?k:M,z=I instanceof HTMLElement,K=(D,F)=>{f.textContent="";let ie=n.name?.trim()||"tool",ge=ra(D,ie),Ce=0;for(let we of ge){let ee=we.styles.length>0?(()=>{let ce=h("span",we.styles.map(Y=>`persona-tool-text-${Y}`).join(" "));return f.appendChild(ce),ce})():f;if(we.isDuration&&c)ee.appendChild(C());else{let ce=we.isDuration?zr(n):we.text;F?Ce=ro(ee,ce,Ce):ee.appendChild(document.createTextNode(ce))}}};if(!z)if(c&&B!=="none"){let D=o.loadingAnimationDuration??2e3;if(f.setAttribute("data-preserve-animation","true"),B==="pulse")f.classList.add("persona-tool-loading-pulse"),f.style.setProperty("--persona-tool-anim-duration",`${D}ms`),P&&K(P,!1);else if(f.classList.add(`persona-tool-loading-${B}`),f.style.setProperty("--persona-tool-anim-duration",`${D}ms`),B==="shimmer-color"&&(o.loadingAnimationColor&&f.style.setProperty("--persona-tool-anim-color",o.loadingAnimationColor),o.loadingAnimationSecondaryColor&&f.style.setProperty("--persona-tool-anim-secondary-color",o.loadingAnimationSecondaryColor)),P)K(P,!0);else{let F=f.textContent||p;f.textContent="",ro(f,F,0)}}else P&&K(P,!1);let x=null;if(a){x=h("div","persona-flex persona-items-center");let D=o.toggleTextColor||o.headerTextColor||"var(--persona-primary, #171717)",F=re(l?"chevron-up":"chevron-down",16,D,2);F?x.appendChild(F):x.textContent=l?"Hide":"Show";let ie=h("div","persona-flex persona-items-center persona-gap-2 persona-ml-auto");ie.append(x),u.append(w,ie)}else u.append(w);let U=h("div","persona-px-4 persona-py-3 persona-text-xs persona-leading-snug persona-text-persona-muted");if(U.setAttribute("data-persona-collapsed-preview","tool"),U.style.display="none",U.style.whiteSpace="pre-wrap",!l&&c&&s.activePreview&&d){let D=o.renderCollapsedPreview?.({message:t,toolCall:n,defaultPreview:d,isActive:c,config:e??{}});Ih(U,D)||(U.textContent=d),U.style.display=""}if(!l&&c&&s.activeMinHeight&&(r.style.minHeight=s.activeMinHeight),!a)return r.append(u,U),r;let j=h("div","persona-border-t persona-border-gray-200 persona-bg-gray-50 persona-space-y-3 persona-px-4 persona-py-3");if(j.style.display=l?"":"none",o.contentBackgroundColor&&(j.style.backgroundColor=o.contentBackgroundColor),o.contentTextColor&&(j.style.color=o.contentTextColor),o.contentPaddingX&&(j.style.paddingLeft=o.contentPaddingX,j.style.paddingRight=o.contentPaddingX),o.contentPaddingY&&(j.style.paddingTop=o.contentPaddingY,j.style.paddingBottom=o.contentPaddingY),n.name){let D=h("div","persona-text-xs persona-text-persona-muted persona-italic");o.contentTextColor?D.style.color=o.contentTextColor:o.headerTextColor&&(D.style.color=o.headerTextColor),D.textContent=n.name,j.appendChild(D)}if(n.args!==void 0){let D=h("div","persona-space-y-1"),F=h("div","persona-text-xs persona-text-persona-muted");o.labelTextColor&&(F.style.color=o.labelTextColor),F.textContent="Arguments";let ie=h("pre","persona-max-h-48 persona-overflow-auto persona-whitespace-pre-wrap persona-rounded-lg persona-border persona-px-3 persona-py-2 persona-text-xs");ie.style.fontSize="0.75rem",ie.style.lineHeight="1rem",fl(ie,o),ie.textContent=no(n.args),D.append(F,ie),j.appendChild(D)}if(n.chunks&&n.chunks.length){let D=h("div","persona-space-y-1"),F=h("div","persona-text-xs persona-text-persona-muted");o.labelTextColor&&(F.style.color=o.labelTextColor),F.textContent="Activity";let ie=h("pre","persona-max-h-48 persona-overflow-auto persona-whitespace-pre-wrap persona-rounded-lg persona-border persona-px-3 persona-py-2 persona-text-xs");ie.style.fontSize="0.75rem",ie.style.lineHeight="1rem",fl(ie,o),ie.textContent=n.chunks.join(""),D.append(F,ie),j.appendChild(D)}if(n.status==="complete"&&n.result!==void 0){let D=h("div","persona-space-y-1"),F=h("div","persona-text-xs persona-text-persona-muted");o.labelTextColor&&(F.style.color=o.labelTextColor),F.textContent="Result";let ie=h("pre","persona-max-h-48 persona-overflow-auto persona-whitespace-pre-wrap persona-rounded-lg persona-border persona-px-3 persona-py-2 persona-text-xs");ie.style.fontSize="0.75rem",ie.style.lineHeight="1rem",fl(ie,o),ie.textContent=no(n.result),D.append(F,ie),j.appendChild(D)}if(n.status==="complete"&&typeof n.duration=="number"){let D=h("div","persona-text-xs persona-text-persona-muted");o.contentTextColor&&(D.style.color=o.contentTextColor),D.textContent=`Duration: ${n.duration}ms`,j.appendChild(D)}return(()=>{if(u.setAttribute("aria-expanded",l?"true":"false"),x){x.innerHTML="";let D=o.toggleTextColor||o.headerTextColor||"var(--persona-primary, #171717)",F=re(l?"chevron-up":"chevron-down",16,D,2);F?x.appendChild(F):x.textContent=l?"Hide":"Show"}j.style.display=l?"":"none",U.style.display=l?"none":U.textContent||U.childNodes.length?"":"none"})(),r.append(u,U,j),r};var Io=new Map,za=t=>{let n=(t.startsWith(Bn)?t.slice(Bn.length):t).replace(/([a-z0-9])([A-Z])/g,"$1 $2").split(/[_\-\s.]+/).filter(Boolean);if(n.length===0)return t;let o=n.join(" ").toLowerCase();return o.charAt(0).toUpperCase()+o.slice(1)},Gp=t=>t?.approval!==!1?t?.approval:void 0,Qp=(t,e)=>{let n=Gp(e)?.detailsDisplay??"collapsed";return Io.get(t)??n==="expanded"},Xp=(t,e,n)=>{let o=Gp(n);t.setAttribute("aria-expanded",e?"true":"false");let r=t.querySelector("[data-approval-details-label]");r&&(r.textContent=e?o?.hideDetailsLabel??"Hide details":o?.showDetailsLabel??"Show details");let s=t.querySelector("[data-approval-details-chevron]");if(s){s.innerHTML="";let a=re(e?"chevron-up":"chevron-down",14,"currentColor",2);a&&s.appendChild(a)}},Jp=(t,e,n)=>{let o=e.querySelector('button[data-bubble-type="approval"]'),r=e.querySelector("[data-approval-details]");if(!o||!r)return;let s=Qp(t,n);Xp(o,s,n),r.style.display=s?"":"none"};var Ua=(t,e)=>{let n=t.approval,o=e?.approval!==!1?e?.approval:void 0,r=n?.status==="pending",s=h("div",["persona-approval-bubble","persona-w-full","persona-rounded-2xl","persona-border","persona-shadow-sm","persona-overflow-hidden"].join(" "));if(s.id=`bubble-${t.id}`,s.setAttribute("data-message-id",t.id),s.style.backgroundColor=o?.backgroundColor??"var(--persona-approval-bg, #fefce8)",s.style.borderColor=o?.borderColor??"var(--persona-approval-border, #fef08a)",s.style.boxShadow=o?.shadow!==void 0?o.shadow.trim()===""?"none":o.shadow:"var(--persona-approval-shadow, 0 5px 15px rgba(15, 23, 42, 0.08))",!n)return s;let a=h("div","persona-flex persona-items-start persona-gap-3 persona-px-4 persona-py-3"),l=h("div","persona-flex-shrink-0 persona-mt-0.5");l.setAttribute("data-approval-icon","true");let p=n.status==="denied"?"shield-x":n.status==="timeout"?"shield-alert":"shield-check",d=n.status==="approved"?"var(--persona-feedback-success, #16a34a)":n.status==="denied"?"var(--persona-feedback-error, #dc2626)":n.status==="timeout"?"var(--persona-feedback-warning, #ca8a04)":o?.titleColor??"currentColor",c=re(p,20,d,2);c&&l.appendChild(c);let u=h("div","persona-flex-1 persona-min-w-0"),w=h("div","persona-flex persona-items-center persona-gap-2"),f=h("span","persona-text-sm persona-font-medium persona-text-persona-primary");if(o?.titleColor&&(f.style.color=o.titleColor),f.textContent=o?.title??"Approval Required",w.appendChild(f),!r){let x=h("span","persona-inline-flex persona-items-center persona-px-2 persona-py-0.5 persona-rounded-full persona-text-xs persona-font-medium");x.setAttribute("data-approval-status",n.status),n.status==="approved"?(x.style.backgroundColor="var(--persona-palette-colors-success-100, #dcfce7)",x.style.color="var(--persona-palette-colors-success-700, #15803d)",x.textContent="Approved"):n.status==="denied"?(x.style.backgroundColor="var(--persona-palette-colors-error-100, #fee2e2)",x.style.color="var(--persona-palette-colors-error-700, #b91c1c)",x.textContent="Denied"):n.status==="timeout"&&(x.style.backgroundColor="var(--persona-palette-colors-warning-100, #fef3c7)",x.style.color="var(--persona-palette-colors-warning-700, #b45309)",x.textContent="Timeout"),w.appendChild(x)}u.appendChild(w);let C=n.toolType==="webmcp"||n.toolName.startsWith(Bn)?Nr(n.toolName):void 0,I=o?.formatDescription?.({toolName:n.toolName,toolType:n.toolType,description:n.description,parameters:n.parameters,...C?{displayTitle:C}:{},...n.reason?{reason:n.reason}:{}}),B=!n.toolName,k=I||(B?n.description:`The assistant wants to use \u201C${C??za(n.toolName)}\u201D.`),M=h("p","persona-text-sm persona-mt-0.5 persona-text-persona-muted");if(M.setAttribute("data-approval-summary","true"),o?.descriptionColor&&(M.style.color=o.descriptionColor),M.textContent=k,u.appendChild(M),n.reason){let x=h("p","persona-text-sm persona-mt-1 persona-text-persona-muted");x.setAttribute("data-approval-reason","true"),o?.reasonColor?x.style.color=o.reasonColor:o?.descriptionColor&&(x.style.color=o.descriptionColor);let U=h("span","persona-font-medium");U.textContent=`${o?.reasonLabel??"Agent's stated reason:"} `,x.appendChild(U),x.appendChild(document.createTextNode(n.reason)),u.appendChild(x)}let P=o?.detailsDisplay??"collapsed",z=!!n.description&&!B,K=z||!!n.parameters;if(P!=="hidden"&&K){let x=Qp(t.id,e),U=h("button","persona-inline-flex persona-items-center persona-gap-1 persona-mt-1 persona-p-0 persona-border-none persona-bg-transparent persona-text-xs persona-font-medium persona-cursor-pointer persona-text-persona-muted");U.type="button",U.setAttribute("data-expand-header","true"),U.setAttribute("data-bubble-type","approval"),o?.descriptionColor&&(U.style.color=o.descriptionColor);let j=h("span");j.setAttribute("data-approval-details-label","true");let J=h("span","persona-inline-flex persona-items-center");J.setAttribute("data-approval-details-chevron","true"),U.append(j,J),Xp(U,x,e),u.appendChild(U);let D=h("div");if(D.setAttribute("data-approval-details","true"),D.style.display=x?"":"none",z){let F=h("p","persona-text-sm persona-mt-1 persona-text-persona-muted");o?.descriptionColor&&(F.style.color=o.descriptionColor),F.textContent=n.description,D.appendChild(F)}if(n.parameters){let F=h("pre","persona-mt-2 persona-text-xs persona-p-2 persona-rounded persona-overflow-x-auto persona-max-h-32 persona-bg-persona-container persona-text-persona-primary");o?.parameterBackgroundColor&&(F.style.backgroundColor=o.parameterBackgroundColor),o?.parameterTextColor&&(F.style.color=o.parameterTextColor),F.style.fontSize="0.75rem",F.style.lineHeight="1rem",F.textContent=no(n.parameters),D.appendChild(F)}u.appendChild(D)}if(r){let x=h("div","persona-flex persona-gap-2 persona-mt-2");x.setAttribute("data-approval-buttons","true");let U=h("button","persona-inline-flex persona-items-center persona-px-3 persona-py-1.5 persona-rounded-md persona-text-xs persona-font-medium persona-border-none persona-cursor-pointer");U.type="button",U.style.backgroundColor=o?.approveButtonColor??"var(--persona-approval-approve-bg, #22c55e)",U.style.color=o?.approveButtonTextColor??"#ffffff",U.setAttribute("data-approval-action","approve");let j=re("shield-check",14,o?.approveButtonTextColor??"#ffffff",2);j&&(j.style.marginRight="4px",U.appendChild(j));let J=document.createTextNode(o?.approveLabel??"Approve");U.appendChild(J);let D=h("button","persona-inline-flex persona-items-center persona-px-3 persona-py-1.5 persona-rounded-md persona-text-xs persona-font-medium persona-cursor-pointer");D.type="button",D.style.backgroundColor=o?.denyButtonColor??"transparent",D.style.color=o?.denyButtonTextColor??"var(--persona-feedback-error, #dc2626)",D.style.border=`1px solid ${o?.denyButtonTextColor?o.denyButtonTextColor:"var(--persona-palette-colors-error-200, #fca5a5)"}`,D.setAttribute("data-approval-action","deny");let F=re("shield-x",14,o?.denyButtonTextColor??"var(--persona-feedback-error, #dc2626)",2);F&&(F.style.marginRight="4px",D.appendChild(F));let ie=document.createTextNode(o?.denyLabel??"Deny");D.appendChild(ie),x.append(U,D),u.appendChild(x)}return a.append(l,u),s.appendChild(a),s};var Hh=()=>({keyHandlers:new Map,popovers:new Map,pendingOrder:[],latestPendingApprovalId:null}),Yp=(t,e)=>{let n=t.keyHandlers.get(e);n&&(document.removeEventListener("keydown",n),t.keyHandlers.delete(e));let o=t.popovers.get(e);o&&(o.destroy(),t.popovers.delete(e))},Ro=(t,e)=>{Yp(t,e);let n=t.pendingOrder.indexOf(e);n!==-1&&t.pendingOrder.splice(n,1),t.latestPendingApprovalId===e&&(t.latestPendingApprovalId=t.pendingOrder.length?t.pendingOrder[t.pendingOrder.length-1]:null)},Bh=t=>t?.approval!==!1?t?.approval:void 0,Dh=(t,e)=>{let n=e?.detailsDisplay??"collapsed";return Io.get(t)??n==="expanded"},ml=t=>{let e=h("span","persona-approval-kbd");return e.textContent=t,e},Fh=(t,e)=>{let n=h("span","persona-approval-title");e?.titleColor&&(n.style.color=e.titleColor);let r=t.toolType==="webmcp"||t.toolName.startsWith(Bn)?Nr(t.toolName):void 0,s=e?.formatDescription?.({toolName:t.toolName,toolType:t.toolType,description:t.description??"",parameters:t.parameters,...r?{displayTitle:r}:{},...t.reason?{reason:t.reason}:{}});if(s)return n.textContent=s,n;let a=r??za(t.toolName),l=t.toolType&&t.toolType!=="webmcp"?t.toolType:null;n.append("The assistant wants to use ");let p=document.createElement("strong");if(p.textContent=a,n.appendChild(p),l){n.append(" from ");let d=document.createElement("strong");d.textContent=l,n.appendChild(d)}return n},Nh=t=>{let e=h("div","persona-approval-resolved"),n=re("ban",15,"currentColor",2);n&&e.appendChild(n);let o=h("span","persona-approval-resolved-name");return o.textContent=t.toolName?za(t.toolName):"Tool",e.append(o,document.createTextNode(t.status==="timeout"?" timed out":" denied")),e},Oh=(t,e,n,o,r,s,a)=>{let l=h("div","persona-approval-card persona-shadow-sm");l.id=`bubble-${e.id}`,l.setAttribute("data-message-id",e.id),l.setAttribute("data-bubble-type","approval"),o?.backgroundColor&&(l.style.background=o.backgroundColor),o?.borderColor&&(l.style.borderColor=o.borderColor),o?.shadow!==void 0&&(l.style.boxShadow=o.shadow.trim()===""?"none":o.shadow);let p=o?.detailsDisplay??"collapsed",d=!!n.description&&p!=="hidden",c=n.parameters!=null&&p!=="hidden",u=d||c,w=u&&Dh(e.id,o),f=o?.showDetailsLabel??"Show details",v=o?.hideDetailsLabel??"Hide details",C=h("button","persona-approval-head");C.type="button",u?(C.setAttribute("data-action","toggle-params"),C.setAttribute("aria-expanded",w?"true":"false"),C.setAttribute("aria-label",w?v:f)):C.setAttribute("data-static","true");let I=h("span","persona-approval-logo"),B=re("shield-check",16,"currentColor",2);B&&I.appendChild(B),C.appendChild(I);let k=Fh(n,o);if(u){let U=h("span","persona-approval-toggle");U.setAttribute("aria-hidden","true");let j=re("chevron-down",14,"currentColor",2);j&&U.appendChild(j),k.append(" "),k.appendChild(U)}C.appendChild(k),l.appendChild(C);let M=h("div","persona-approval-body");if(u){let U=h("div","persona-approval-details");if(U.setAttribute("data-role","params"),U.hidden=!w,d){let j=h("p","persona-approval-desc");o?.descriptionColor&&(j.style.color=o.descriptionColor),j.textContent=n.description,U.appendChild(j)}if(c){let j=h("pre","persona-approval-params");o?.parameterBackgroundColor&&(j.style.background=o.parameterBackgroundColor),o?.parameterTextColor&&(j.style.color=o.parameterTextColor),j.textContent=no(n.parameters),U.appendChild(j)}M.appendChild(U)}if(n.reason){let U=h("p","persona-approval-reason");o?.reasonColor?U.style.color=o.reasonColor:o?.descriptionColor&&(U.style.color=o.descriptionColor);let j=h("span","persona-approval-reason-label");j.textContent=`${o?.reasonLabel??"Agent's stated reason:"} `,U.append(j,document.createTextNode(n.reason)),M.appendChild(U)}let P=h("div","persona-approval-actions"),z=null,K=U=>{o?.approveButtonColor&&(U.style.background=o.approveButtonColor),o?.approveButtonTextColor&&(U.style.color=o.approveButtonTextColor)},x=h("button","persona-approval-deny");if(x.type="button",x.setAttribute("data-action","deny"),o?.denyButtonColor&&(x.style.background=o.denyButtonColor),o?.denyButtonTextColor&&(x.style.color=o.denyButtonTextColor),x.append(o?.denyLabel??"Deny"),a){let U=h("div","persona-approval-split"),j=h("button","persona-approval-primary");j.type="button",j.setAttribute("data-action","always"),K(j),j.append(o?.approveLabel??"Always allow",ml("\u23CE"));let J=h("button","persona-approval-caret");J.type="button",J.setAttribute("data-action","toggle-menu"),J.setAttribute("aria-label","More options"),K(J);let D=re("chevron-down",15,"currentColor",2);D&&J.appendChild(D),U.append(j,J),P.append(U,x),x.append(ml("Esc"));let F=h("div","persona-approval-menu"),ie=h("button","persona-approval-menu-item");ie.type="button",ie.append("Allow once",ml("\u2318\u23CE")),F.appendChild(ie),z=Qc({anchor:U,content:F,placement:"bottom-start",matchAnchorWidth:!0}),t.popovers.set(e.id,z),ie.addEventListener("click",()=>{Ro(t,e.id),r()})}else{let U=h("button","persona-approval-primary persona-approval-primary--solo");U.type="button",U.setAttribute("data-action","allow"),K(U),U.append(o?.approveLabel??"Allow"),P.append(U,x)}return M.appendChild(P),l.appendChild(M),l.addEventListener("click",U=>{let j=U.target instanceof Element?U.target.closest("[data-action]"):null;if(!j)return;let J=j.getAttribute("data-action");if(J==="toggle-params"){let D=l.querySelector('[data-role="params"]');if(D){let F=D.hidden;D.hidden=!F,C.setAttribute("aria-expanded",F?"true":"false"),C.setAttribute("aria-label",F?v:f),Io.set(e.id,F)}return}if(J==="toggle-menu"){z?.toggle();return}if(J==="always"){Ro(t,e.id),r({remember:!0});return}if(J==="allow"){Ro(t,e.id),r();return}if(J==="deny"){Ro(t,e.id),s();return}}),l},Zp=()=>{let t=Hh();return{plugin:{id:"persona-built-in-approval",renderApproval:({message:o,approve:r,deny:s,config:a})=>{let l=o?.approval;if(!l)return null;let p=Bh(a);if(l.status!=="pending"){if(Ro(t,o.id),l.status==="approved"){let u=document.createElement("div");return u.style.display="none",u}return Nh(l)}Yp(t,o.id);let d=p?.enableAlwaysAllow===!0,c=Oh(t,o,l,p,r,s,d);if(d){t.pendingOrder.includes(o.id)||t.pendingOrder.push(o.id),t.latestPendingApprovalId=t.pendingOrder[t.pendingOrder.length-1];let u=w=>{Xc(w)||o.id===t.latestPendingApprovalId&&(w.key!=="Escape"&&w.key!=="Enter"||(w.preventDefault(),w.stopImmediatePropagation(),Ro(t,o.id),w.key==="Escape"?s():w.metaKey||w.ctrlKey?r():r({remember:!0})))};t.keyHandlers.set(o.id,u),document.addEventListener("keydown",u)}return c}},teardown:()=>{for(let o of[...t.keyHandlers.keys(),...t.popovers.keys()])Ro(t,o);t.latestPendingApprovalId=null}}};var eu=t=>{let e=[],n=null;return{buttons:e,render:(r,s,a,l,p,d)=>{t.innerHTML="",e.length=0;let c=d?.agentPushed===!0;if(c||(n=null),!r||!r.length||!c&&(l??(s?s.getMessages():[])).some(I=>I.role==="user"))return;let u=document.createDocumentFragment(),w=s?s.isStreaming():!1,f=v=>{switch(v){case"serif":return'Georgia, "Times New Roman", Times, serif';case"mono":return'"Courier New", Courier, "Lucida Console", Monaco, monospace';default:return'-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif'}};if(r.forEach(v=>{let C=h("button","persona-rounded-button persona-bg-persona-surface persona-px-3 persona-py-1.5 persona-text-xs persona-font-medium persona-text-persona-primary hover:persona-opacity-80 persona-cursor-pointer persona-border persona-border-persona-border");C.type="button",C.textContent=v,C.disabled=w,p?.fontFamily&&(C.style.fontFamily=f(p.fontFamily)),p?.fontWeight&&(C.style.fontWeight=p.fontWeight),p?.paddingX&&(C.style.paddingLeft=p.paddingX,C.style.paddingRight=p.paddingX),p?.paddingY&&(C.style.paddingTop=p.paddingY,C.style.paddingBottom=p.paddingY),C.addEventListener("click",()=>{!s||s.isStreaming()||(a.value="",c&&t.dispatchEvent(new CustomEvent("persona:suggestReplies:selected",{detail:{suggestion:v},bubbles:!0,composed:!0})),s.sendMessage(v))}),u.appendChild(C),e.push(C)}),t.appendChild(u),c){let v=JSON.stringify(r);v!==n&&(n=v,t.dispatchEvent(new CustomEvent("persona:suggestReplies:shown",{detail:{suggestions:[...r]},bubbles:!0,composed:!0})))}}}};var ps=class{constructor(e=2e3,n=null){this.head=0;this.count=0;this.totalCaptured=0;this.eventTypesSet=new Set;this.maxSize=e,this.buffer=new Array(e),this.store=n}push(e){this.buffer[this.head]=e,this.head=(this.head+1)%this.maxSize,this.count<this.maxSize&&this.count++,this.totalCaptured++,this.eventTypesSet.add(e.type),this.store?.put(e)}getAll(){return this.count===0?[]:this.count<this.maxSize?this.buffer.slice(0,this.count):[...this.buffer.slice(this.head,this.maxSize),...this.buffer.slice(0,this.head)]}async restore(){if(!this.store)return 0;let e=await this.store.getAll();if(e.length===0)return 0;let n=e.length>this.maxSize?e.slice(e.length-this.maxSize):e;for(let o of n)this.buffer[this.head]=o,this.head=(this.head+1)%this.maxSize,this.count<this.maxSize&&this.count++,this.eventTypesSet.add(o.type);return this.totalCaptured=e.length,n.length}getAllFromStore(){return this.store?this.store.getAll():Promise.resolve(this.getAll())}getRecent(e){let n=this.getAll();return e>=n.length?n:n.slice(n.length-e)}getSize(){return this.count}getTotalCaptured(){return this.totalCaptured}getEvictedCount(){return this.totalCaptured-this.count}clear(){this.buffer=new Array(this.maxSize),this.head=0,this.count=0,this.totalCaptured=0,this.eventTypesSet.clear(),this.store?.clear()}destroy(){this.buffer=[],this.head=0,this.count=0,this.totalCaptured=0,this.eventTypesSet.clear(),this.store?.destroy()}getEventTypes(){return Array.from(this.eventTypesSet)}};var us=class{constructor(e="persona-event-stream",n="events"){this.db=null;this.pendingWrites=[];this.flushScheduled=!1;this.isDestroyed=!1;this.dbName=e,this.storeName=n}open(){return new Promise((e,n)=>{try{let o=indexedDB.open(this.dbName,1);o.onupgradeneeded=()=>{let r=o.result;r.objectStoreNames.contains(this.storeName)||r.createObjectStore(this.storeName,{keyPath:"id"}).createIndex("timestamp","timestamp",{unique:!1})},o.onsuccess=()=>{this.db=o.result,e()},o.onerror=()=>{n(o.error)}}catch(o){n(o)}})}put(e){!this.db||this.isDestroyed||(this.pendingWrites.push(e),this.flushScheduled||(this.flushScheduled=!0,queueMicrotask(()=>this.flushWrites())))}putBatch(e){if(!(!this.db||this.isDestroyed||e.length===0))try{let o=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName);for(let r of e)o.put(r)}catch{}}getAll(){return new Promise((e,n)=>{if(!this.db){e([]);return}try{let a=this.db.transaction(this.storeName,"readonly").objectStore(this.storeName).index("timestamp").getAll();a.onsuccess=()=>{e(a.result)},a.onerror=()=>{n(a.error)}}catch(o){n(o)}})}getCount(){return new Promise((e,n)=>{if(!this.db){e(0);return}try{let s=this.db.transaction(this.storeName,"readonly").objectStore(this.storeName).count();s.onsuccess=()=>{e(s.result)},s.onerror=()=>{n(s.error)}}catch(o){n(o)}})}clear(){return new Promise((e,n)=>{if(!this.db){e();return}this.pendingWrites=[];try{let s=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName).clear();s.onsuccess=()=>{e()},s.onerror=()=>{n(s.error)}}catch(o){n(o)}})}close(){this.db&&(this.db.close(),this.db=null)}destroy(){return this.isDestroyed=!0,this.pendingWrites=[],this.close(),new Promise((e,n)=>{try{let o=indexedDB.deleteDatabase(this.dbName);o.onsuccess=()=>{e()},o.onerror=()=>{n(o.error)}}catch(o){n(o)}})}flushWrites(){if(this.flushScheduled=!1,!this.db||this.isDestroyed||this.pendingWrites.length===0)return;let e=this.pendingWrites;this.pendingWrites=[];try{let o=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName);for(let r of e)o.put(r)}catch{}}};var _h=new Set(["flow_start","flow_run_start","agent_start","dispatch_start","run_start"]),$h=new Set(["step_start","execution_start"]),zh=new Set(["step_delta","step_chunk","chunk","agent_turn_delta"]),Uh=new Set(["step_complete","agent_turn_complete"]),jh=new Set(["flow_complete","agent_complete"]),tu=new Set(["step_error","flow_error","agent_error","dispatch_error","error"]),ou=t=>typeof t=="object"&&t!==null&&!Array.isArray(t),nn=t=>typeof t=="number"&&Number.isFinite(t)?t:void 0,Wo=(t,e)=>{let n=t[e];return ou(n)?n:void 0};function hl(t){return t>0?Math.max(1,Math.ceil(t/4)):0}function ja(t,e){if(!(t<=0||e===void 0||e<250))return t/(e/1e3)}function qh(t,e){return typeof e.type=="string"?e.type:t}function Vh(t){return typeof t.text=="string"?t.text:typeof t.delta=="string"?t.delta:typeof t.content=="string"?t.content:typeof t.chunk=="string"?t.chunk:""}function Kh(t,e){return t==="step_delta"||t==="step_chunk"?e.stepType!=="tool"&&e.executionType!=="context":t!=="agent_turn_delta"?!0:(typeof e.contentType=="string"?e.contentType:typeof e.content_type=="string"?e.content_type:void 0)==="text"}function nu(t){let e=Wo(t,"result"),n=[Wo(t,"tokens"),Wo(t,"totalTokens"),e?Wo(e,"tokens"):void 0,Wo(t,"usage"),e?Wo(e,"usage"):void 0];for(let o of n){if(!o)continue;let r=nn(o.output)??nn(o.outputTokens)??nn(o.completionTokens);if(r!==void 0)return r}return nn(t.outputTokens)??nn(t.completionTokens)??(e?nn(e.outputTokens)??nn(e.completionTokens):void 0)}function Gh(t){let e=Wo(t,"result");return nn(t.executionTime)??nn(t.executionTimeMs)??nn(t.execution_time)??nn(t.duration)??(e?nn(e.executionTime)??nn(e.executionTimeMs):void 0)}function Qh(){return typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now()}var fs=class{constructor(e=Qh){this.metric={status:"idle"};this.run=null;this.now=e}getMetric(){let e=this.run;if(e&&this.metric.status==="running"&&e.firstDeltaAt!==void 0&&this.metric.outputTokens!==void 0){let n=this.now()-e.firstDeltaAt;return{...this.metric,durationMs:n,tokensPerSecond:ja(this.metric.outputTokens,n)}}return this.metric}reset(){this.run=null,this.metric={status:"idle"}}startRun(e){this.run={startedAt:e,visibleCharCount:0,exactOutputTokens:0},this.metric={status:"running"}}processEvent(e,n){if(!ou(n)){tu.has(e)&&this.run&&(this.run=null,this.metric={status:"error"});return}let o=qh(e,n),r=this.now();if(_h.has(o)){this.startRun(r);return}if($h.has(o)){this.run||this.startRun(r);return}if(zh.has(o)){if(!Kh(o,n))return;let s=Vh(n);if(!s)return;this.run||this.startRun(r);let a=this.run;a.firstDeltaAt??(a.firstDeltaAt=r),a.visibleCharCount+=s.length;let l=a.exactOutputTokens+hl(a.visibleCharCount),p=r-a.firstDeltaAt;this.metric={status:"running",tokensPerSecond:ja(l,p),outputTokens:l,durationMs:p,source:a.exactOutputTokens>0?"usage":"estimate"};return}if(Uh.has(o)){if(!this.run)return;let s=this.run,a=nu(n);a!==void 0&&(s.exactOutputTokens+=a,s.visibleCharCount=0);let l=s.exactOutputTokens>0,p=s.exactOutputTokens+hl(s.visibleCharCount),d=this.resolveDuration(s,n,r);this.metric={status:"running",tokensPerSecond:ja(p,d),outputTokens:p,durationMs:d,source:l?"usage":"estimate"};return}if(jh.has(o)){if(!this.run)return;let s=this.run,a=nu(n),l=a??s.exactOutputTokens+hl(s.visibleCharCount),p=a!==void 0||s.exactOutputTokens>0?"usage":"estimate",d=this.resolveDuration(s,n,r);this.metric={status:"complete",tokensPerSecond:ja(l,d),outputTokens:l,durationMs:d,source:p},this.run=null;return}if(tu.has(o)){if(!this.run)return;this.run=null,this.metric={status:"error"}}}resolveDuration(e,n,o){let r=e.firstDeltaAt!==void 0?o-e.firstDeltaAt:void 0;return r!==void 0&&r>=250?r:Gh(n)??o-e.startedAt}};function pr(t,e){e&&e.split(/\s+/).forEach(n=>n&&t.classList.add(n))}var Xh={flow_:{bg:"var(--persona-palette-colors-success-100, #dcfce7)",text:"var(--persona-palette-colors-success-700, #166534)"},step_:{bg:"var(--persona-palette-colors-primary-100, #f5f5f5)",text:"var(--persona-palette-colors-primary-700, #0a0a0a)"},reason_:{bg:"var(--persona-palette-colors-warning-100, #ffedd5)",text:"var(--persona-palette-colors-warning-700, #9a3412)"},tool_:{bg:"var(--persona-palette-colors-purple-100, #f3e8ff)",text:"var(--persona-palette-colors-purple-700, #6b21a8)"},agent_:{bg:"var(--persona-palette-colors-teal-100, #ccfbf1)",text:"var(--persona-palette-colors-teal-700, #115e59)"},error:{bg:"var(--persona-palette-colors-error-100, #fecaca)",text:"var(--persona-palette-colors-error-700, #991b1b)"}},Jh={bg:"var(--persona-palette-colors-gray-100, #f3f4f6)",text:"var(--persona-palette-colors-gray-600, #4b5563)"},Yh=["flowName","stepName","reasoningText","text","name","tool","toolName"],Zh=100;function ey(t,e){let n={...Xh,...e};if(n[t])return n[t];for(let o of Object.keys(n))if(o.endsWith("_")&&t.startsWith(o))return n[o];return Jh}function ty(t,e){return`+${((t-e)/1e3).toFixed(3)}s`}function ny(t){let e=new Date(t),n=String(e.getHours()).padStart(2,"0"),o=String(e.getMinutes()).padStart(2,"0"),r=String(e.getSeconds()).padStart(2,"0"),s=String(e.getMilliseconds()).padStart(3,"0");return`${n}:${o}:${r}.${s}`}function oy(t,e){try{let n=JSON.parse(t);if(typeof n!="object"||n===null)return null;for(let o of e){let r=o.split("."),s=n;for(let a of r)if(s&&typeof s=="object"&&s!==null)s=s[a];else{s=void 0;break}if(typeof s=="string"&&s.trim())return s.trim()}}catch{}return null}function ry(t){return navigator.clipboard?.writeText?navigator.clipboard.writeText(t):new Promise(e=>{let n=document.createElement("textarea");n.value=t,n.style.position="fixed",n.style.opacity="0",document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n),e()})}function sy(t){let e;try{e=JSON.parse(t.payload)}catch{e=t.payload}return JSON.stringify({type:t.type,timestamp:new Date(t.timestamp).toISOString(),payload:e},null,2)}function ay(t){return t.tokensPerSecond===void 0||!Number.isFinite(t.tokensPerSecond)?"-- tok/s":`${t.tokensPerSecond.toFixed(1)} tok/s`}function iy(t){let e=[];return t.outputTokens!==void 0&&e.push(`${t.outputTokens.toLocaleString()} tok`),t.durationMs!==void 0&&e.push(`${(t.durationMs/1e3).toFixed(2)}s`),t.source&&e.push(t.source),e.join(" \xB7 ")}function ly(t,e,n){let o,r;try{r=JSON.parse(t.payload),o=JSON.stringify(r,null,2)}catch{r=t.payload,o=t.payload}let s=e.find(l=>l.renderEventStreamPayload);if(s?.renderEventStreamPayload&&n){let l=s.renderEventStreamPayload({event:t,config:n,defaultRenderer:()=>a(),parsedPayload:r});if(l)return l}return a();function a(){let l=h("div","persona-bg-persona-container persona-border-t persona-border-persona-divider persona-px-3 persona-py-2 persona-ml-4 persona-mr-3 persona-mb-1 persona-rounded-b persona-overflow-auto persona-max-h-[300px]"),p=h("pre","persona-m-0 persona-whitespace-pre-wrap persona-break-all persona-text-[11px] persona-text-persona-secondary persona-font-mono");return p.textContent=o,l.appendChild(p),l}}function yl(t,e,n,o,r,s,a,l){let p=r.has(t.id),d=h("div","persona-border-b persona-border-persona-divider persona-text-xs");pr(d,o.classNames?.eventRow);let c=a.find(w=>w.renderEventStreamRow);if(c?.renderEventStreamRow&&l){let w=c.renderEventStreamRow({event:t,index:e,config:l,defaultRenderer:()=>u(),isExpanded:p,onToggleExpand:()=>s(t.id)});if(w)return d.appendChild(w),d}return d.appendChild(u()),d;function u(){let w=h("div",""),f=h("div","persona-flex persona-items-center persona-gap-2 persona-px-3 persona-py-3 hover:persona-bg-persona-container persona-cursor-pointer persona-group");f.setAttribute("data-event-id",t.id);let v=h("span","persona-flex-shrink-0 persona-text-persona-muted persona-w-4 persona-text-center persona-flex persona-items-center persona-justify-center"),C=re(p?"chevron-down":"chevron-right","14px","currentColor",2);C&&v.appendChild(C);let I=h("span","persona-text-[11px] persona-text-persona-muted persona-whitespace-nowrap persona-flex-shrink-0 persona-font-mono persona-w-[70px]"),B=o.timestampFormat??"relative";I.textContent=B==="relative"?ty(t.timestamp,n):ny(t.timestamp);let k=null;o.showSequenceNumbers!==!1&&(k=h("span","persona-text-[11px] persona-text-persona-muted persona-font-mono persona-flex-shrink-0 persona-w-[28px] persona-text-right"),k.textContent=String(e+1));let M=ey(t.type,o.badgeColors),P=h("span","persona-inline-flex persona-items-center persona-px-2 persona-py-0.5 persona-rounded persona-text-[11px] persona-font-mono persona-font-medium persona-whitespace-nowrap persona-flex-shrink-0 persona-border");P.style.backgroundColor=M.bg,P.style.color=M.text,P.style.borderColor=M.text+"50",P.textContent=t.type;let z=o.descriptionFields??Yh,K=oy(t.payload,z),x=null;K&&(x=h("span","persona-text-[11px] persona-text-persona-secondary persona-truncate persona-min-w-0"),x.textContent=K);let U=h("div","persona-flex-1 persona-min-w-0"),j=h("button","persona-text-persona-muted hover:persona-text-persona-primary persona-cursor-pointer persona-flex-shrink-0 persona-border-none persona-bg-transparent persona-p-0"),J=re("clipboard","12px","currentColor",1.5);return J&&j.appendChild(J),j.addEventListener("click",async D=>{D.stopPropagation(),await ry(sy(t)),j.innerHTML="";let F=re("check","12px","currentColor",1.5);F&&j.appendChild(F),setTimeout(()=>{j.innerHTML="";let ie=re("clipboard","12px","currentColor",1.5);ie&&j.appendChild(ie)},1500)}),f.appendChild(v),f.appendChild(I),k&&f.appendChild(k),f.appendChild(P),x&&f.appendChild(x),f.appendChild(U),f.appendChild(j),w.appendChild(f),p&&w.appendChild(ly(t,a,l)),w}}function ru(t){let{buffer:e,getFullHistory:n,onClose:o,config:r,plugins:s=[],getThroughput:a}=t,l=r?.features?.scrollToBottom,p=l?.enabled!==!1,d=l?.iconName??"arrow-down",c=l?.label??"",u=r?.features?.eventStream??{},w=s.find(v=>v.renderEventStreamView);if(w?.renderEventStreamView&&r){let v=w.renderEventStreamView({config:r,events:e.getAll(),defaultRenderer:()=>f().element,onClose:o});if(v)return{element:v,update:()=>{},destroy:()=>{}}}return f();function f(){let v=u.classNames,C=h("div","persona-event-stream-view persona-flex persona-flex-col persona-flex-1 persona-min-h-0");pr(C,v?.panel);let I=[],B="",k="",M=null,P=[],z={},K=0,x=Ta(),U=0,j=0,J=!1,D=null,F=!1,ie=0,ge=new Set,Ce=new Map,we="",ee="",ce=null,Y,ae,Z,he,ye=null,pe=null,Te=null;function Ae(){let H=h("div","persona-event-toolbar persona-relative persona-flex persona-flex-col persona-flex-shrink-0"),$=h("div","persona-flex persona-items-center persona-gap-2 persona-px-4 persona-py-3 persona-pb-0 persona-border-persona-divider persona-bg-persona-surface persona-overflow-hidden");if(pr($,v?.headerBar),a){pe=h("div","persona-relative persona-flex persona-items-center persona-gap-1.5 persona-whitespace-nowrap"),pe.style.cursor="help",ye=h("span","persona-text-[11px] persona-font-mono persona-bg-persona-container persona-text-persona-muted persona-px-2 persona-py-0.5 persona-rounded persona-border persona-border-persona-border persona-tabular-nums"),ye.textContent="-- tok/s",Te=h("div","persona-absolute persona-z-50 persona-whitespace-nowrap persona-rounded persona-border persona-border-persona-border persona-bg-persona-container persona-text-persona-primary persona-text-[11px] persona-font-mono persona-px-2 persona-py-1 persona-shadow"),Te.style.display="none",Te.style.pointerEvents="none";let Xe=pe,lo=Te,co=()=>{if(!lo.textContent)return;let bs=Xe.getBoundingClientRect(),Gt=H.getBoundingClientRect();lo.style.left=`${bs.left-Gt.left}px`,lo.style.top=`${bs.bottom-Gt.top+4}px`,lo.style.display="block"},Ka=()=>{lo.style.display="none"};pe.addEventListener("mouseenter",co),pe.addEventListener("mouseleave",Ka),pe.appendChild(ye)}let se=h("div","persona-flex-1");Y=h("select","persona-text-xs persona-bg-persona-surface persona-border persona-border-persona-border persona-rounded persona-px-2.5 persona-py-1 persona-text-persona-primary persona-cursor-pointer");let je=h("option","");je.value="",je.textContent="All events (0)",Y.appendChild(je),ae=h("button","persona-inline-flex persona-items-center persona-gap-1.5 persona-rounded persona-text-xs persona-text-persona-muted hover:persona-bg-persona-container hover:persona-text-persona-primary persona-cursor-pointer persona-border persona-border-persona-border persona-bg-persona-surface persona-flex-shrink-0 persona-px-2.5 persona-py-1"),ae.type="button",ae.title="Copy All";let rt=re("clipboard-copy","12px","currentColor",1.5);rt&&ae.appendChild(rt);let V=h("span","persona-event-copy-all persona-text-xs");V.textContent="Copy All",ae.appendChild(V),pe&&$.appendChild(pe),$.appendChild(se),$.appendChild(Y),$.appendChild(ae);let $e=h("div","persona-relative persona-px-4 persona-py-2.5 persona-border-b persona-border-persona-divider persona-bg-persona-surface");pr($e,v?.searchBar);let Se=re("search","14px","var(--persona-muted, #9ca3af)",1.5),Pe=h("span","persona-absolute persona-left-6 persona-top-1/2 persona--translate-y-1/2 persona-pointer-events-none persona-flex persona-items-center");Se&&Pe.appendChild(Se),Z=h("input","persona-text-sm persona-bg-persona-surface persona-border persona-border-persona-border persona-rounded-md persona-pl-8 persona-pr-3 persona-py-1 persona-w-full persona-text-persona-primary"),pr(Z,v?.searchInput),Z.type="text",Z.placeholder="Search event payloads...",he=h("button","persona-absolute persona-right-5 persona-top-1/2 persona--translate-y-1/2 persona-text-persona-muted hover:persona-text-persona-primary persona-cursor-pointer persona-border-none persona-bg-transparent persona-p-0 persona-leading-none"),he.type="button",he.style.display="none";let Le=re("x","12px","currentColor",2);return Le&&he.appendChild(Le),$e.appendChild(Pe),$e.appendChild(Z),$e.appendChild(he),H.appendChild($),H.appendChild($e),Te&&H.appendChild(Te),H}let Oe,Fe=s.find(H=>H.renderEventStreamToolbar);Fe?.renderEventStreamToolbar&&r?Oe=Fe.renderEventStreamToolbar({config:r,defaultRenderer:()=>Ae(),eventCount:e.getSize(),filteredCount:0,onFilterChange:$=>{B=$,ke(),be()},onSearchChange:$=>{k=$,ke(),be()}})??Ae():Oe=Ae();let ot=h("div","persona-text-xs persona-text-persona-muted persona-text-center persona-py-0.5 persona-px-4 persona-bg-persona-container persona-border-b persona-border-persona-divider persona-italic persona-flex-shrink-0");ot.style.display="none";function Ge(){if(!a||!ye||!pe)return;let H=a(),$=ay(H);ye.textContent=$;let se=iy(H);Te&&(Te.textContent=se,se||(Te.style.display="none")),pe.setAttribute("aria-label",se?`Throughput: ${$}, ${se}`:`Throughput: ${$}`)}let Ie=h("div","persona-flex-1 persona-min-h-0 persona-relative"),Me=h("div","persona-event-stream-list persona-overflow-y-auto persona-min-h-0");Me.style.height="100%";let Qe=h("div","persona-scroll-to-bottom-indicator persona-absolute persona-bottom-3 persona-left-1/2 persona-transform persona--translate-x-1/2 persona-cursor-pointer persona-z-10 persona-text-xs");pr(Qe,v?.scrollIndicator),Qe.style.display="none",Qe.setAttribute("data-persona-scroll-to-bottom-has-label",c?"true":"false");let on=re(d,"14px","currentColor",2);on&&Qe.appendChild(on);let Tt=h("span","");Tt.textContent=c,Qe.appendChild(Tt);let yt=h("div","persona-flex persona-items-center persona-justify-center persona-h-full persona-text-sm persona-text-persona-muted");yt.style.display="none",Ie.appendChild(Me),Ie.appendChild(yt),Ie.appendChild(Qe),C.setAttribute("tabindex","0"),C.appendChild(Oe),C.appendChild(ot),C.appendChild(Ie);function Re(){let H=e.getAll(),$={};for(let $e of H)$[$e.type]=($[$e.type]||0)+1;let se=Object.keys($).sort(),je=se.length!==P.length||!se.every(($e,Se)=>$e===P[Se]),Ee=!je&&se.some($e=>$[$e]!==z[$e]),rt=H.length!==Object.values(z).reduce(($e,Se)=>$e+Se,0);if(!je&&!Ee&&!rt||(P=se,z=$,!Y))return;let V=Y.value;if(Y.options[0].textContent=`All events (${H.length})`,je){for(;Y.options.length>1;)Y.remove(1);for(let $e of se){let Se=h("option","");Se.value=$e,Se.textContent=`${$e} (${$[$e]||0})`,Y.appendChild(Se)}V&&se.includes(V)?Y.value=V:V&&(Y.value="",B="")}else for(let $e=1;$e<Y.options.length;$e++){let Se=Y.options[$e];Se.textContent=`${Se.value} (${$[Se.value]||0})`}}function me(){let H=e.getAll();if(B&&(H=H.filter($=>$.type===B)),k){let $=k.toLowerCase();H=H.filter(se=>se.type.toLowerCase().includes($)||se.payload.toLowerCase().includes($))}return H}function Ve(){return B!==""||k!==""}function ke(){K=0,U=0,x.resume(),Qe.style.display="none"}function ue(H){ge.has(H)?ge.delete(H):ge.add(H),ce=H;let $=Me.scrollTop,se=x.isFollowing();F=!0,x.pause(),be(),Me.scrollTop=$,se&&x.resume(),F=!1}function le(){return ao(Me,50)}function be(){j=Date.now(),J=!1,Ge(),Re();let H=e.getEvictedCount();H>0?(ot.textContent=`${H.toLocaleString()} older events truncated`,ot.style.display=""):ot.style.display="none",I=me();let $=I.length,se=e.getSize()>0;$===0&&se&&Ve()?(yt.textContent=k?`No events matching '${k}'`:"No events matching filter",yt.style.display="",Me.style.display="none"):(yt.style.display="none",Me.style.display=""),ae&&(ae.title=Ve()?`Copy Filtered (${$})`:"Copy All"),p&&!x.isFollowing()&&$>K&&(U+=$-K,Tt.textContent=c?`${c}${U>0?` (${U})`:""}`:"",Qe.style.display=""),K=$;let je=e.getAll(),Ee=je.length>0?je[0].timestamp:0,rt=new Set(I.map(Se=>Se.id));for(let Se of ge)rt.has(Se)||ge.delete(Se);let V=B!==we||k!==ee,$e=Ce.size===0&&I.length>0;if(V||$e||I.length===0){Me.innerHTML="",Ce.clear();let Se=document.createDocumentFragment();for(let Pe=0;Pe<I.length;Pe++){let Le=yl(I[Pe],Pe,Ee,u,ge,ue,s,r);Ce.set(I[Pe].id,Le),Se.appendChild(Le)}Me.appendChild(Se),we=B,ee=k,ce=null}else{if(ce!==null){let Pe=Ce.get(ce);if(Pe&&Pe.parentNode===Me){let Le=I.findIndex(Xe=>Xe.id===ce);if(Le>=0){let Xe=yl(I[Le],Le,Ee,u,ge,ue,s,r);Me.insertBefore(Xe,Pe),Pe.remove(),Ce.set(ce,Xe)}}ce=null}let Se=new Set(I.map(Pe=>Pe.id));for(let[Pe,Le]of Ce)Se.has(Pe)||(Le.remove(),Ce.delete(Pe));for(let Pe=0;Pe<I.length;Pe++){let Le=I[Pe];if(!Ce.has(Le.id)){let Xe=yl(Le,Pe,Ee,u,ge,ue,s,r);Ce.set(Le.id,Xe),Me.appendChild(Xe)}}}x.isFollowing()&&(Me.scrollTop=Me.scrollHeight)}function bt(){if(Date.now()-j>=Zh){D!==null&&(cancelAnimationFrame(D),D=null),be();return}J||(J=!0,D=requestAnimationFrame(()=>{D=null,be()}))}let ve=(H,$)=>{if(!ae)return;ae.innerHTML="";let se=re(H,"12px","currentColor",1.5);se&&ae.appendChild(se);let je=h("span","persona-text-xs");je.textContent="Copy All",ae.appendChild(je),setTimeout(()=>{ae.innerHTML="";let Ee=re("clipboard-copy","12px","currentColor",1.5);Ee&&ae.appendChild(Ee);let rt=h("span","persona-text-xs");rt.textContent="Copy All",ae.appendChild(rt),ae.disabled=!1},$)},de=async()=>{if(ae){ae.disabled=!0;try{let H;Ve()?H=I:n?(H=await n(),H.length===0&&(H=e.getAll())):H=e.getAll();let $=H.map(se=>{try{return JSON.parse(se.payload)}catch{return se.payload}});await navigator.clipboard.writeText(JSON.stringify($,null,2)),ve("check",1500)}catch{ve("x",1500)}}},un=()=>{Y&&(B=Y.value,ke(),be())},X=()=>{!Z||!he||(he.style.display=Z.value?"":"none",M&&clearTimeout(M),M=setTimeout(()=>{k=Z.value,ke(),be()},150))},T=()=>{!Z||!he||(Z.value="",k="",he.style.display="none",M&&clearTimeout(M),ke(),be())},O=()=>{if(F)return;let H=Me.scrollTop,{action:$,nextLastScrollTop:se}=Ma({following:x.isFollowing(),currentScrollTop:H,lastScrollTop:ie,nearBottom:le(),userScrollThreshold:1,resumeRequiresDownwardScroll:!0});ie=se,$==="resume"?(x.resume(),U=0,Qe.style.display="none"):$==="pause"&&(x.pause(),p&&(Tt.textContent=c,Qe.style.display=""))},y=H=>{let $=Ea({following:x.isFollowing(),deltaY:H.deltaY,nearBottom:le(),resumeWhenNearBottom:!0});$==="pause"?(x.pause(),p&&(Tt.textContent=c,Qe.style.display="")):$==="resume"&&(x.resume(),U=0,Qe.style.display="none")},S=()=>{p&&(Me.scrollTop=Me.scrollHeight,x.resume(),U=0,Qe.style.display="none")},E=H=>{let $=H.target;if(!$||$.closest("button"))return;let se=$.closest("[data-event-id]");if(!se)return;let je=se.getAttribute("data-event-id");je&&ue(je)},W=H=>{if((H.metaKey||H.ctrlKey)&&H.key==="f"){H.preventDefault(),Z?.focus(),Z?.select();return}H.key==="Escape"&&(Z&&document.activeElement===Z?(T(),Z.blur(),C.focus()):o&&o())};ae&&ae.addEventListener("click",de),Y&&Y.addEventListener("change",un),Z&&Z.addEventListener("input",X),he&&he.addEventListener("click",T),Me.addEventListener("scroll",O),Me.addEventListener("wheel",y,{passive:!0}),Me.addEventListener("click",E),Qe.addEventListener("click",S),C.addEventListener("keydown",W);function q(){M&&clearTimeout(M),D!==null&&(cancelAnimationFrame(D),D=null),J=!1,Ce.clear(),ae&&ae.removeEventListener("click",de),Y&&Y.removeEventListener("change",un),Z&&Z.removeEventListener("input",X),he&&he.removeEventListener("click",T),Me.removeEventListener("scroll",O),Me.removeEventListener("wheel",y),Me.removeEventListener("click",E),Qe.removeEventListener("click",S),C.removeEventListener("keydown",W)}return{element:C,update:bt,destroy:q}}}function su(t,e){let n=e.orientation??"horizontal",o=n==="vertical"?"ArrowUp":"ArrowLeft",r=n==="vertical"?"ArrowDown":"ArrowRight";t.setAttribute("role","tablist");let s=[],a=!1,l=u=>{typeof u.scrollIntoView=="function"&&u.scrollIntoView({block:"nearest",inline:"nearest"})},p=u=>{let w=u;return s.findIndex(f=>f===w||f.contains(w))},d=u=>{let w=p(u.target);if(w<0)return;let f=w;if(u.key===r)f=Math.min(w+1,s.length-1);else if(u.key===o)f=Math.max(w-1,0);else if(u.key==="Home")f=0;else if(u.key==="End")f=s.length-1;else return;u.preventDefault(),f!==w&&e.onSelect(f)},c=u=>{let w=p(u.target);w>=0&&l(s[w])};return t.addEventListener("keydown",d),t.addEventListener("focusin",c),{beforeRender(){a=typeof document<"u"&&t.contains(document.activeElement)},render(u,w){if(s=u,u.forEach((f,v)=>{f.setAttribute("role","tab");let C=v===w;f.setAttribute("aria-selected",C?"true":"false"),f.tabIndex=C||w<0&&v===0?0:-1}),a){let f=(w>=0?u[w]:void 0)??u[0];f&&typeof f.focus=="function"&&(l(f),f.focus())}},destroy(){t.removeEventListener("keydown",d),t.removeEventListener("focusin",c)}}}function au(t,e){let n=t.features?.artifacts?.layout,r=(n?.toolbarPreset??"default")==="document",s=n?.toolbarTitle??"Artifacts",a=n?.closeButtonLabel??"Close",l=n?.panePadding?.trim(),p=n?.tabFadeSize?.trim(),d=X=>({start:X===!1?!1:typeof X=="object"&&X?X.start!==!1:!0,end:X===!1?!1:typeof X=="object"&&X?X.end!==!1:!0}),{start:c,end:u}=d(n?.tabFade),w=typeof document<"u"?h("div","persona-artifact-backdrop persona-fixed persona-inset-0 persona-z-[55] persona-bg-black/30 persona-hidden md:persona-hidden"):null,f=()=>{w?.classList.add("persona-hidden"),v.classList.remove("persona-artifact-drawer-open"),F?.hide()};w&&w.addEventListener("click",()=>{f(),e.onDismiss?.()});let v=h("aside","persona-artifact-pane persona-flex persona-flex-col persona-min-h-0 persona-min-w-0 persona-bg-persona-surface persona-text-persona-primary persona-border-l persona-border-persona-border");v.setAttribute("data-persona-theme-zone","artifact-pane"),r&&v.classList.add("persona-artifact-pane-document");let C=h("div","persona-artifact-toolbar persona-flex persona-items-center persona-justify-between persona-gap-2 persona-px-2 persona-py-2 persona-border-b persona-border-persona-border persona-shrink-0");C.setAttribute("data-persona-theme-zone","artifact-toolbar"),r&&C.classList.add("persona-artifact-toolbar-document");let I=h("span","persona-text-xs persona-font-medium persona-truncate");I.textContent=s;let B=Rt({icon:"x",label:a});B.addEventListener("click",()=>{f(),e.onDismiss?.()});let k="rendered",M=wa({items:[{id:"rendered",icon:"eye",label:"Rendered view",className:r?"persona-artifact-doc-icon-btn persona-artifact-view-btn":void 0},{id:"source",icon:"code-xml",label:"Source",className:r?"persona-artifact-doc-icon-btn persona-artifact-code-btn":void 0}],selectedId:"rendered",className:"persona-artifact-toggle-group persona-shrink-0",onSelect:X=>{k=X==="source"?"source":"rendered",ve()}}),P=h("div","persona-flex persona-items-center persona-gap-1 persona-shrink-0"),z=n?.documentToolbarShowCopyLabel===!0,K=n?.documentToolbarShowCopyChevron===!0,x=n?.documentToolbarCopyMenuItems,U=!!(K&&x&&x.length>0),j=null,J,D=null,F=null;if(r&&(z||K)&&!U){if(J=z?Lo({icon:"copy",label:"Copy",iconSize:14,className:"persona-artifact-doc-copy-btn"}):Rt({icon:"copy",label:"Copy",className:"persona-artifact-doc-copy-btn"}),K){let X=re("chevron-down",14,"currentColor",2);X&&J.appendChild(X)}}else r&&U?(j=h("div","persona-relative persona-inline-flex persona-items-center persona-gap-0 persona-rounded-md"),J=z?Lo({icon:"copy",label:"Copy",iconSize:14,className:"persona-artifact-doc-copy-btn"}):Rt({icon:"copy",label:"Copy",className:"persona-artifact-doc-copy-btn"}),D=Rt({icon:"chevron-down",label:"More copy options",size:14,className:"persona-artifact-doc-copy-menu-chevron persona-artifact-doc-icon-btn",aria:{"aria-haspopup":"true","aria-expanded":"false"}}),j.append(J,D)):r?J=Rt({icon:"copy",label:"Copy",className:"persona-artifact-doc-icon-btn"}):(J=Rt({icon:"copy",label:"Copy"}),n?.showCopyButton!==!0&&J.classList.add("persona-hidden"));let ie=r?Rt({icon:"refresh-cw",label:"Refresh",className:"persona-artifact-doc-icon-btn"}):Rt({icon:"refresh-cw",label:"Refresh"}),ge=r?Rt({icon:"x",label:a,className:"persona-artifact-doc-icon-btn"}):Rt({icon:"x",label:a}),Ce=Rt({icon:"maximize",label:"Expand artifacts panel",className:"persona-artifact-expand-btn"+(r?" persona-artifact-doc-icon-btn":""),onClick:()=>e.onToggleExpand?.()});n?.showExpandToggle!==!0&&Ce.classList.add("persona-hidden");let we=h("div","persona-flex persona-items-center persona-gap-1 persona-shrink-0 persona-artifact-toolbar-custom-actions"),ee=t.features?.artifacts?.toolbarActions??[],ce=()=>{let X=Ie.find(S=>S.id===Me)??Ie[Ie.length-1],T=X?.id??null,O=X?.artifactType==="markdown"?X.markdown??"":"",y=X?JSON.stringify({component:X.component,props:X.props},null,2):"";return{markdown:O,jsonPayload:y,id:T}},Y=async()=>{let X=Ie.find(T=>T.id===Me)??Ie[Ie.length-1];try{await navigator.clipboard.writeText(ns(X))}catch{}};if(J.addEventListener("click",async()=>{let X=n?.onDocumentToolbarCopyMenuSelect;if(X&&U){let{markdown:T,jsonPayload:O,id:y}=ce();try{await X({actionId:"primary",artifactId:y,markdown:T,jsonPayload:O})}catch{}return}await Y()}),D&&x?.length){let X=()=>v.closest("[data-persona-root]")??document.body,T=()=>{F=ar({items:x.map(O=>({id:O.id,label:O.label})),onSelect:async O=>{let{markdown:y,jsonPayload:S,id:E}=ce(),W=n?.onDocumentToolbarCopyMenuSelect;try{W?await W({actionId:O,artifactId:E,markdown:y,jsonPayload:S}):O==="markdown"||O==="md"?await navigator.clipboard.writeText(y):O==="json"||O==="source"?await navigator.clipboard.writeText(S):await navigator.clipboard.writeText(y||S)}catch{}},anchor:j??D,position:"bottom-right",portal:X()})};v.isConnected?T():requestAnimationFrame(T),D.addEventListener("click",O=>{O.stopPropagation(),F?.toggle()})}ie.addEventListener("click",async()=>{try{await n?.onDocumentToolbarRefresh?.()}catch{}ve()}),ge.addEventListener("click",()=>{f(),e.onDismiss?.()});let ae=h("span","persona-min-w-0 persona-flex-1 persona-text-xs persona-font-medium persona-text-persona-primary persona-truncate persona-text-center md:persona-text-left");if(r)C.replaceChildren(),j?P.append(j,ie,ge):P.append(J,ie,ge),P.insertBefore(we,ge),P.insertBefore(Ce,ge),C.append(M.element,ae,P);else{let X=h("div","persona-flex persona-items-center persona-gap-1 persona-shrink-0");X.append(J,we,Ce,B),C.appendChild(I),C.appendChild(X)}l&&(C.style.paddingLeft=l,C.style.paddingRight=l);let Z=h("div","persona-artifact-list persona-shrink-0 persona-flex persona-gap-1 persona-overflow-x-auto persona-p-2 persona-border-b persona-border-persona-border");p&&Z.style.setProperty("--persona-artifact-tab-fade-size",p);let he=t.features?.artifacts?.renderTabBar,ye=h("div","persona-artifact-tab-custom persona-shrink-0 persona-border-b persona-border-persona-border persona-hidden"),pe=su(Z,{onSelect:X=>e.onSelect(Ie[X].id)}),Te=X=>{let T=X.scrollWidth-X.clientWidth,O=T>1,y=Math.abs(X.scrollLeft);X.classList.toggle("persona-artifact-tab-fade-start",c&&O&&y>1),X.classList.toggle("persona-artifact-tab-fade-end",u&&O&&y<T-1)},Ae=0,Oe=()=>{if(Ae)return;let X=()=>{Ae=0,Te(Z)};Ae=typeof requestAnimationFrame=="function"?requestAnimationFrame(X):setTimeout(X,0)};Z.addEventListener("scroll",()=>Oe(),{passive:!0}),typeof ResizeObserver<"u"&&new ResizeObserver(()=>Te(Z)).observe(Z);let Fe=h("div","persona-artifact-content persona-flex-1 persona-min-h-0 persona-overflow-y-auto persona-p-3"),ot=()=>{Fe.scrollLeft=0},Ge=()=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(ot):setTimeout(ot,0)};if(l){for(let X of[Z,ye])X.style.paddingLeft=l,X.style.paddingRight=l;Fe.style.padding=l}v.appendChild(C),v.appendChild(Z),v.appendChild(ye),v.appendChild(Fe);let Ie=[],Me=null,Qe=!1,on=!1,Tt=!0,yt=!1,Re=null,me="",Ve=null,ke=!1,ue=X=>X.artifactType==="markdown"&&!!X.file||r?k:"rendered",le=X=>{r||(X&&!ke?(C.insertBefore(M.element,I),ke=!0):!X&&ke&&(M.element.remove(),ke=!1))},be=()=>Me&&Ie.find(X=>X.id===Me)||Ie[Ie.length-1],bt=()=>{let X=es(be());if(!X){we.replaceChildren();return}let T=ee.filter(O=>O.visible===void 0||O.visible(X)).map(O=>ir(O,{documentChrome:r,onClick:()=>{let y=es(be());if(y)try{Promise.resolve(O.onClick(y)).catch(()=>{})}catch{}}}));we.replaceChildren(...T)},ve=()=>{bt();let X=r&&Ie.length<=1,T=!!he;if(Z.classList.toggle("persona-hidden",X||T),ye.classList.toggle("persona-hidden",X||!T),T&&he){let S=Ie.map(E=>E.id).join("|")+" "+(Me??"");if(S!==me){me=S;let E=he({records:Ie,selectedId:Me,onSelect:e.onSelect});ye.firstElementChild!==E&&ye.replaceChildren(E)}}else{pe.beforeRender(),Z.replaceChildren();let S=[],E=-1;for(let[W,q]of Ie.entries()){let H=h("button","persona-artifact-tab persona-shrink-0 persona-rounded-lg persona-px-2 persona-py-1 persona-text-xs persona-border persona-border-transparent persona-text-persona-primary");H.type="button";let $=q.artifactType==="markdown"?q.file:void 0,se=$?Sn($.path):q.title||q.id.slice(0,8),je=$?.path||q.title||se;H.textContent=se,H.title=je,H.setAttribute("aria-label",je),q.id===Me&&(H.classList.add("persona-bg-persona-container","persona-border-persona-border"),E=W),H.addEventListener("click",()=>e.onSelect(q.id)),Z.appendChild(H),S.push(H)}if(pe.render(S,E),E>=0&&Me!==Re){Re=Me;let W=S[E];typeof W.scrollIntoView=="function"&&W.scrollIntoView({block:"nearest",inline:"nearest"})}Te(Z)}let O=Me&&Ie.find(S=>S.id===Me)||Ie[Ie.length-1];if(!O){Fe.replaceChildren(),Ve=null,le(!1);return}let y=O.artifactType==="markdown"?O.file:void 0;if(le(!!y),r){let S=y?oo(y):O.artifactType==="markdown"?"MD":O.component??"Component",E=(O.title||"Document").trim(),W=y?Sn(y.path):E.replace(/\s*·\s*MD\s*$/i,"").trim()||"Document";ae.textContent=`${W} \xB7 ${S}`}else I.textContent=y?Sn(y.path):s;Ve?(Ve.el.parentElement!==Fe&&Fe.replaceChildren(Ve.el),Ve.update(O)):(Ve=Aa(O,{config:t,resolveViewMode:ue}),Fe.replaceChildren(Ve.el)),Fe.classList.toggle("persona-artifact-content-flush",!!Fe.querySelector(".persona-code-pre"))},de=()=>{let X=Ie.length>0;if(v.classList.toggle("persona-hidden",!X),w){let y=((typeof v.closest=="function"?v.closest("[data-persona-root]"):null)?.classList.contains("persona-artifact-narrow-host")??!1)||typeof window<"u"&&window.matchMedia("(max-width: 640px)").matches;X&&y&&Qe?(w.classList.remove("persona-hidden"),v.classList.add("persona-artifact-drawer-open")):(w.classList.add("persona-hidden"),v.classList.remove("persona-artifact-drawer-open"))}},un=()=>{yt=!1,ve(),de()};return{element:v,backdrop:w,update(X){let T=X.selectedId??X.artifacts[X.artifacts.length-1]?.id??null,O=T!==Me;Ie=X.artifacts,Me=T,Ie.length>0&&(Qe=!0),yt=!0,Tt&&un(),O&&ot()},setMobileOpen(X){Qe=X,!X&&w?(w.classList.add("persona-hidden"),v.classList.remove("persona-artifact-drawer-open")):de()},setExpanded(X){X!==on&&(on=X,Ge());let T=re(X?"minimize":"maximize",16,"currentColor",2);T&&Ce.replaceChildren(T);let O=X?"Collapse artifacts panel":"Expand artifacts panel";Ce.setAttribute("aria-label",O),Ce.title=O},setExpandToggleVisible(X){Ce.classList.toggle("persona-hidden",!X)},setCopyButtonVisible(X){r||J.classList.toggle("persona-hidden",!X)},setCustomActions(X){ee=X,bt()},setTabFade(X){let T=d(X);T.start===c&&T.end===u||(c=T.start,u=T.end,Te(Z))},setRenderTabBar(X){X!==he&&(he=X,me="",ve())},setVisible(X){X!==Tt&&(Tt=X,X&&yt&&un())}}}function Kt(t){return t?.features?.artifacts?.enabled===!0}function iu(t,e){if(t.classList.remove("persona-artifact-border-full","persona-artifact-border-left"),t.style.removeProperty("--persona-artifact-pane-border"),t.style.removeProperty("--persona-artifact-pane-border-left"),!Kt(e))return;let n=e.features?.artifacts?.layout,o=n?.paneBorder?.trim(),r=n?.paneBorderLeft?.trim();o?(t.classList.add("persona-artifact-border-full"),t.style.setProperty("--persona-artifact-pane-border",o)):r&&(t.classList.add("persona-artifact-border-left"),t.style.setProperty("--persona-artifact-pane-border-left",r))}function cy(t){t.style.removeProperty("--persona-artifact-doc-toolbar-icon-color"),t.style.removeProperty("--persona-artifact-doc-toggle-active-bg"),t.style.removeProperty("--persona-artifact-doc-toggle-active-border")}var lu=["panel","seamless","detached"];function bl(t){let e=t.features?.artifacts?.layout?.paneAppearance;return e&&lu.includes(e)?e:e?"panel":t.launcher?.detachedPanel?"detached":"panel"}function vl(t){return!t||!Kt(t)?!1:bl(t)==="detached"}function gs(t,e){if(!Kt(e)){t.style.removeProperty("--persona-artifact-split-gap"),t.style.removeProperty("--persona-artifact-pane-width"),t.style.removeProperty("--persona-artifact-pane-max-width"),t.style.removeProperty("--persona-artifact-pane-min-width"),t.style.removeProperty("--persona-artifact-pane-bg"),t.style.removeProperty("--persona-artifact-pane-padding"),cy(t),iu(t,e);return}let n=e.features?.artifacts?.layout,o=bl(e)==="detached"?"var(--persona-panel-inset)":"0";t.style.setProperty("--persona-artifact-split-gap",n?.splitGap??o),t.style.setProperty("--persona-artifact-pane-width",n?.paneWidth??"40%"),t.style.setProperty("--persona-artifact-pane-max-width",n?.paneMaxWidth??"28rem"),n?.paneMinWidth?t.style.setProperty("--persona-artifact-pane-min-width",n.paneMinWidth):t.style.removeProperty("--persona-artifact-pane-min-width");let r=n?.paneBackground?.trim();r?t.style.setProperty("--persona-artifact-pane-bg",r):t.style.removeProperty("--persona-artifact-pane-bg");let s=n?.panePadding?.trim();s?t.style.setProperty("--persona-artifact-pane-padding",s):t.style.removeProperty("--persona-artifact-pane-padding");let a=n?.documentToolbarIconColor?.trim();a?t.style.setProperty("--persona-artifact-doc-toolbar-icon-color",a):t.style.removeProperty("--persona-artifact-doc-toolbar-icon-color");let l=n?.documentToolbarToggleActiveBackground?.trim();l?t.style.setProperty("--persona-artifact-doc-toggle-active-bg",l):t.style.removeProperty("--persona-artifact-doc-toggle-active-bg");let p=n?.documentToolbarToggleActiveBorderColor?.trim();p?t.style.setProperty("--persona-artifact-doc-toggle-active-border",p):t.style.removeProperty("--persona-artifact-doc-toggle-active-border"),iu(t,e)}function ms(t,e){for(let l of lu)t.classList.remove(`persona-artifact-appearance-${l}`);if(t.style.removeProperty("--persona-artifact-pane-radius"),t.style.removeProperty("--persona-artifact-pane-shadow"),t.style.removeProperty("--persona-artifact-chat-shadow"),!Kt(e))return;let n=e.features?.artifacts?.layout,o=bl(e);t.classList.add(`persona-artifact-appearance-${o}`);let r=n?.paneBorderRadius?.trim();r&&t.style.setProperty("--persona-artifact-pane-radius",r);let s=n?.paneShadow?.trim();s&&t.style.setProperty("--persona-artifact-pane-shadow",s);let a=n?.chatShadow?.trim();a&&t.style.setProperty("--persona-artifact-chat-shadow",a)}function cu(t,e){return!e||!Kt(t)?!1:t.features?.artifacts?.layout?.expandLauncherPanelWhenOpen!==!1}function dy(t,e){if(!t?.trim())return e;let n=/^(\d+(?:\.\d+)?)px\s*$/i.exec(t.trim());return n?Math.max(0,Number(n[1])):e}function py(t){if(!t?.trim())return null;let e=/^(\d+(?:\.\d+)?)px\s*$/i.exec(t.trim());return e?Math.max(0,Number(e[1])):null}function uy(t,e,n){return n<e?e:Math.min(n,Math.max(e,t))}function fy(t,e,n,o){let r=t-o-2*e-n;return Math.max(0,r)}function wl(t,e){let o=(e.getComputedStyle(t).gap||"0px").trim().split(/\s+/)[0]??"0px",r=/^([\d.]+)px$/i.exec(o);if(r)return Number(r[1]);let s=/^([\d.]+)/.exec(o);return s?Number(s[1]):8}function du(t,e,n,o,r,s){let a=dy(r,200),l=fy(e,n,o,200);l=Math.max(a,l);let p=py(s);return p!==null&&(l=Math.min(l,p)),uy(t,a,l)}var pu={init:{title:"Schedule a Demo",description:"Share the basics and we'll follow up with a confirmation.",fields:[{name:"name",label:"Full name",placeholder:"Jane Doe",required:!0},{name:"email",label:"Work email",placeholder:"jane@example.com",type:"email",required:!0},{name:"notes",label:"What would you like to cover?",type:"textarea"}],submitLabel:"Submit details"},followup:{title:"Additional Information",description:"Provide any extra details to tailor the next steps.",fields:[{name:"company",label:"Company",placeholder:"Acme Inc."},{name:"context",label:"Context",type:"textarea",placeholder:"Share more about your use case"}],submitLabel:"Send"}},xl=(t,e,n,o)=>{let r=t.querySelectorAll("[data-tv-form]");r.length&&r.forEach(s=>{if(s.dataset.enhanced==="true")return;let a=s.dataset.tvForm??"init";s.dataset.enhanced="true";let l=pu[a]??pu.init;s.classList.add("persona-form-card","persona-space-y-4");let p=h("div","persona-space-y-1"),d=h("h3","persona-text-base persona-font-semibold persona-text-persona-primary");if(d.textContent=l.title,p.appendChild(d),l.description){let v=h("p","persona-text-sm persona-text-persona-muted");v.textContent=l.description,p.appendChild(v)}let c=document.createElement("form");c.className="persona-form-grid persona-space-y-3",l.fields.forEach(v=>{let C=h("label","persona-form-field persona-flex persona-flex-col persona-gap-1");C.htmlFor=`${e.id}-${a}-${v.name}`;let I=h("span","persona-text-xs persona-font-medium persona-text-persona-muted");I.textContent=v.label,C.appendChild(I);let B=v.type??"text",k;B==="textarea"?(k=document.createElement("textarea"),k.rows=3):(k=document.createElement("input"),k.type=B),k.className="persona-rounded-xl persona-border persona-border-gray-200 persona-bg-white persona-px-3 persona-py-2 persona-text-sm persona-text-persona-primary focus:persona-outline-none focus:persona-border-persona-primary",k.id=`${e.id}-${a}-${v.name}`,k.name=v.name,k.placeholder=v.placeholder??"",v.required&&(k.required=!0),C.appendChild(k),c.appendChild(C)});let u=h("div","persona-flex persona-items-center persona-justify-between persona-gap-2"),w=h("div","persona-text-xs persona-text-persona-muted persona-min-h-[1.5rem]"),f=h("button","persona-inline-flex persona-items-center persona-rounded-full persona-bg-persona-primary persona-px-4 persona-py-2 persona-text-sm persona-font-semibold persona-text-white disabled:persona-opacity-60 persona-cursor-pointer");f.type="submit",f.textContent=l.submitLabel??"Submit",u.appendChild(w),u.appendChild(f),c.appendChild(u),s.replaceChildren(p,c),c.addEventListener("submit",async v=>{v.preventDefault();let C=n.formEndpoint??"/form",I=new FormData(c),B={};I.forEach((k,M)=>{B[M]=k}),B.type=a,f.disabled=!0,w.textContent="Submitting\u2026";try{let k=await fetch(C,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(B)});if(!k.ok)throw new Error(`Form submission failed (${k.status})`);let M=await k.json();w.textContent=M.message??"Thanks! We'll be in touch soon.",M.success&&M.nextPrompt&&await o.sendMessage(String(M.nextPrompt))}catch(k){w.textContent=k instanceof Error?k.message:"Something went wrong. Please try again."}finally{f.disabled=!1}})})};var Cl=class{constructor(){this.plugins=new Map}register(e){this.plugins.has(e.id)&&console.warn(`Plugin "${e.id}" is already registered. Overwriting.`),this.plugins.set(e.id,e),e.onRegister?.()}unregister(e){let n=this.plugins.get(e);n&&(n.onUnregister?.(),this.plugins.delete(e))}getAll(){return Array.from(this.plugins.values()).sort((e,n)=>(n.priority??0)-(e.priority??0))}getForInstance(e){let n=this.getAll();if(!e||e.length===0)return n;let o=new Set(e.map(s=>s.id));return[...n.filter(s=>!o.has(s.id)),...e].sort((s,a)=>(a.priority??0)-(s.priority??0))}clear(){this.plugins.forEach(e=>e.onUnregister?.()),this.plugins.clear()}},Al=new Cl;var uu=t=>typeof t=="object"&&t!==null&&!Array.isArray(t),gy=new Set(["headers","agent","storageAdapter","components","targetProviders","voiceRecognition.provider.custom","features.streamAnimation.plugins"]),fu=(t,e,n)=>{if(!uu(t)||!uu(e)||gy.has(n))return e;let o={...t};for(let r of Object.keys(e)){if(e[r]===void 0){delete o[r];continue}let s=n?`${n}.${r}`:r;o[r]=fu(t[r],e[r],s)}return o};function gu(t,e){let n=fu(t,e,"");return fa(n)}var mu=()=>{let t=new Map,e=(r,s)=>(t.has(r)||t.set(r,new Set),t.get(r).add(s),()=>n(r,s)),n=(r,s)=>{t.get(r)?.delete(s)};return{on:e,off:n,emit:(r,s)=>{t.get(r)?.forEach(a=>{try{a(s)}catch(l){typeof console<"u"&&console.error("[AgentWidget] Event handler error:",l)}})}}};var my=t=>{let e=t.match(/```(?:json)?\s*([\s\S]*?)```/i);return e?e[1]:t},hy=t=>{let e=t.trim(),n=e.indexOf("{");if(n===-1)return null;let o=0;for(let r=n;r<e.length;r+=1){let s=e[r];if(s==="{"&&(o+=1),s==="}"&&(o-=1,o===0))return e.slice(n,r+1)}return null},Tl=({text:t})=>{if(!t||!t.includes("{"))return null;try{let e=my(t),n=hy(e);if(!n)return null;let o=JSON.parse(n);if(!o||typeof o!="object"||!o.action)return null;let{action:r,...s}=o;return{type:String(r),payload:s,raw:o}}catch{return null}},Sl=t=>typeof t=="string"?t:t==null?"":String(t),hs={message:t=>t.type!=="message"?void 0:{handled:!0,displayText:Sl(t.payload.text)},messageAndClick:(t,e)=>{if(t.type!=="message_and_click")return;let n=t.payload,o=Sl(n.element);if(o&&e.document?.querySelector){let r=e.document.querySelector(o);r?setTimeout(()=>{r.click()},400):typeof console<"u"&&console.warn("[AgentWidget] Element not found for selector:",o)}return{handled:!0,displayText:Sl(n.text)}}},hu=t=>Array.isArray(t)?t.map(e=>String(e)):[],Ml=t=>{let e=new Set(hu(t.getSessionMetadata().processedActionMessageIds)),n=()=>{e=new Set(hu(t.getSessionMetadata().processedActionMessageIds))},o=()=>{let s=Array.from(e);t.updateSessionMetadata(a=>({...a,processedActionMessageIds:s}))};return{process:s=>{if(s.streaming||s.message.role!=="assistant"||!s.text||e.has(s.message.id))return null;let a=typeof s.raw=="string"&&s.raw||typeof s.message.rawContent=="string"&&s.message.rawContent||typeof s.text=="string"&&s.text||null;!a&&typeof s.text=="string"&&s.text.trim().startsWith("{")&&typeof console<"u"&&console.warn("[AgentWidget] Structured response detected but no raw payload was provided. Ensure your stream parser returns { text, raw }.");let l=a?t.parsers.reduce((d,c)=>d||c?.({text:a,message:s.message})||null,null):null;if(!l)return null;e.add(s.message.id),o();let p={action:l,message:s.message};t.emit("action:detected",p);for(let d of t.handlers)if(d)try{let c=()=>{t.emit("action:resubmit",p)},u=d(l,{message:s.message,metadata:t.getSessionMetadata(),updateMetadata:t.updateSessionMetadata,document:t.documentRef,triggerResubmit:c});if(!u)continue;if(u.handled){let w=u.persistMessage!==!1;return{text:u.displayText!==void 0?u.displayText:"",persist:w,resubmit:u.resubmit}}}catch(c){typeof console<"u"&&console.error("[AgentWidget] Action handler error:",c)}return{text:"",persist:!0}},syncFromMetadata:n}};var yy=t=>{if(!t)return null;try{return JSON.parse(t)}catch(e){return typeof console<"u"&&console.error("[AgentWidget] Failed to parse stored state:",e),null}},by=t=>t.map(e=>({...e,streaming:!1})),vy=t=>t.map(e=>({...e,status:"complete"})),yu=(t="persona-state")=>{let e=()=>typeof window>"u"||!window.localStorage?null:window.localStorage;return{load:()=>{let n=e();return n?yy(n.getItem(t)):null},save:n=>{let o=e();if(o)try{let r={...n,messages:n.messages?by(n.messages):void 0,artifacts:n.artifacts?vy(n.artifacts):void 0};o.setItem(t,JSON.stringify(r))}catch(r){typeof console<"u"&&console.error("[AgentWidget] Failed to persist state:",r)}},clear:()=>{let n=e();if(n)try{n.removeItem(t)}catch(o){typeof console<"u"&&console.error("[AgentWidget] Failed to clear stored state:",o)}}}};import{parse as nA,STR as oA,OBJ as rA}from"partial-json";function bu(t,e){let{config:n,message:o,onPropsUpdate:r}=e,s=On.get(t.component);if(!s)return console.warn(`[ComponentMiddleware] Component "${t.component}" not found in registry. Falling back to default rendering.`),null;let a={message:o,config:n,updateProps:l=>{r&&r(l)}};try{return s(t.props,a)}catch(l){return console.error(`[ComponentMiddleware] Error rendering component "${t.component}":`,l),null}}function vu(t){if(typeof t.rawContent=="string"&&t.rawContent.length>0)return t.rawContent;if(typeof t.content=="string"){let e=t.content.trim();if(e.startsWith("{")||e.startsWith("["))return t.content}return null}function El(t){let e=vu(t);if(!e)return!1;try{let n=JSON.parse(e);return typeof n=="object"&&n!==null&&"component"in n&&typeof n.component=="string"}catch{return!1}}function wu(t){let e=vu(t);if(!e)return null;try{let n=JSON.parse(e);if(typeof n=="object"&&n!==null&&"component"in n&&typeof n.component=="string"){let o=n;return{component:o.component,props:o.props&&typeof o.props=="object"&&o.props!==null?o.props:{},raw:e}}}catch{}return null}var wy=["Very dissatisfied","Dissatisfied","Neutral","Satisfied","Very satisfied"];function xu(t){let{onSubmit:e,onDismiss:n,title:o="How satisfied are you?",subtitle:r="Please rate your experience",commentPlaceholder:s="Share your thoughts (optional)...",submitText:a="Submit",skipText:l="Skip",showComment:p=!0,ratingLabels:d=wy}=t,c=document.createElement("div");c.className="persona-feedback-container persona-feedback-csat",c.setAttribute("role","dialog"),c.setAttribute("aria-label","Customer satisfaction feedback");let u=null,w=document.createElement("div");w.className="persona-feedback-content";let f=document.createElement("div");f.className="persona-feedback-header";let v=document.createElement("h3");v.className="persona-feedback-title",v.textContent=o,f.appendChild(v);let C=document.createElement("p");C.className="persona-feedback-subtitle",C.textContent=r,f.appendChild(C),w.appendChild(f);let I=document.createElement("div");I.className="persona-feedback-rating persona-feedback-rating-csat",I.setAttribute("role","radiogroup"),I.setAttribute("aria-label","Satisfaction rating from 1 to 5");let B=[];for(let K=1;K<=5;K++){let x=document.createElement("button");x.type="button",x.className="persona-feedback-rating-btn persona-feedback-star-btn",x.setAttribute("role","radio"),x.setAttribute("aria-checked","false"),x.setAttribute("aria-label",`${K} star${K>1?"s":""}: ${d[K-1]}`),x.title=d[K-1],x.dataset.rating=String(K),x.innerHTML=`
|
|
42
|
+
`):""},fl=(t,e)=>{t.style.backgroundColor=e.codeBlockBackgroundColor??"var(--persona-container, #f3f4f6)",t.style.borderColor=e.codeBlockBorderColor??"var(--persona-border, #e5e7eb)",t.style.color=e.codeBlockTextColor??"var(--persona-text, #171717)"},Wh=(t,e)=>{let n=t.toolCall,o=e?.features?.toolCallDisplay,r=o?.collapsedMode??"tool-call",s=Rh(t,o?.previewMaxLines??3),a=n?kd(n):"";if(!n)return{summary:a,previewText:s,isActive:!1};let l=n.status!=="complete",p=e?.toolCall??{},d=a;return r==="tool-name"?d=n.name?.trim()||a:r==="tool-preview"&&s&&(d=s),l&&p.activeTextTemplate?d=Oi(n,p.activeTextTemplate,d):!l&&p.completeTextTemplate&&(d=Oi(n,p.completeTextTemplate,d)),{summary:d,previewText:s,isActive:l}},Kp=(t,e,n)=>{let o=dr.has(t),r=n?.toolCall??{},s=e.querySelector('button[data-expand-header="true"]'),a=e.querySelector(".persona-border-t"),l=e.querySelector('[data-persona-collapsed-preview="tool"]');if(!s||!a)return;s.setAttribute("aria-expanded",o?"true":"false");let d=s.querySelector(".persona-ml-auto")?.querySelector(":scope > .persona-flex.persona-items-center");if(d){d.innerHTML="";let c=r.toggleTextColor||r.headerTextColor||"var(--persona-primary, #171717)",u=re(o?"chevron-up":"chevron-down",16,c,2);u?d.appendChild(u):d.textContent=o?"Hide":"Show"}a.style.display=o?"":"none",l&&(l.style.display=o?"none":l.textContent||l.childNodes.length?"":"none")},gl=(t,e)=>{let n=t.toolCall,o=e?.toolCall??{},r=h("div",["persona-message-bubble","persona-tool-bubble","persona-w-full","persona-rounded-2xl","persona-bg-persona-surface","persona-border","persona-border-persona-message-border","persona-text-persona-primary","persona-shadow-sm","persona-overflow-hidden","persona-px-0","persona-py-0"].join(" "));if(r.id=`bubble-${t.id}`,r.setAttribute("data-message-id",t.id),o.backgroundColor&&(r.style.backgroundColor=o.backgroundColor),o.borderColor&&(r.style.borderColor=o.borderColor),o.borderWidth&&(r.style.borderWidth=o.borderWidth),o.borderRadius&&(r.style.borderRadius=o.borderRadius),r.style.boxShadow=o.shadow!==void 0?o.shadow.trim()===""?"none":o.shadow:"var(--persona-tool-bubble-shadow, 0 5px 15px rgba(15, 23, 42, 0.08))",!n)return r;let s=e?.features?.toolCallDisplay??{},a=s.expandable!==!1,l=a&&dr.has(t.id),{summary:p,previewText:d,isActive:c}=Wh(t,e),u=h("button",a?"persona-flex persona-w-full persona-items-center persona-justify-between persona-gap-3 persona-bg-transparent persona-px-4 persona-py-3 persona-text-left persona-cursor-pointer persona-border-none":"persona-flex persona-w-full persona-items-center persona-justify-between persona-gap-3 persona-bg-transparent persona-px-4 persona-py-3 persona-text-left persona-cursor-default persona-border-none");u.type="button",a&&(u.setAttribute("aria-expanded",l?"true":"false"),u.setAttribute("data-expand-header","true")),u.setAttribute("data-bubble-type","tool"),o.headerBackgroundColor&&(u.style.backgroundColor=o.headerBackgroundColor),o.headerPaddingX&&(u.style.paddingLeft=o.headerPaddingX,u.style.paddingRight=o.headerPaddingX),o.headerPaddingY&&(u.style.paddingTop=o.headerPaddingY,u.style.paddingBottom=o.headerPaddingY);let w=h("div","persona-flex persona-flex-col persona-text-left"),f=h("span","persona-text-xs persona-text-persona-primary");o.headerTextColor&&(f.style.color=o.headerTextColor);let v=String(n.startedAt??Date.now()),C=()=>{let D=h("span","");return D.setAttribute("data-tool-elapsed",v),D.textContent=zr(n),D},I=o.renderCollapsedSummary?.({message:t,toolCall:n,defaultSummary:p,previewText:d,collapsedMode:s.collapsedMode??"tool-call",isActive:c,config:e??{},elapsed:zr(n),createElapsedElement:C});typeof I=="string"&&I.trim()?(f.textContent=I,w.appendChild(f)):I instanceof HTMLElement?w.appendChild(I):(f.textContent=p,w.appendChild(f));let B=s.loadingAnimation??"none",k=o.activeTextTemplate,M=o.completeTextTemplate,P=c?k:M,z=I instanceof HTMLElement,K=(D,F)=>{f.textContent="";let ie=n.name?.trim()||"tool",ge=ra(D,ie),Ce=0;for(let we of ge){let ee=we.styles.length>0?(()=>{let ce=h("span",we.styles.map(Y=>`persona-tool-text-${Y}`).join(" "));return f.appendChild(ce),ce})():f;if(we.isDuration&&c)ee.appendChild(C());else{let ce=we.isDuration?zr(n):we.text;F?Ce=ro(ee,ce,Ce):ee.appendChild(document.createTextNode(ce))}}};if(!z)if(c&&B!=="none"){let D=o.loadingAnimationDuration??2e3;if(f.setAttribute("data-preserve-animation","true"),B==="pulse")f.classList.add("persona-tool-loading-pulse"),f.style.setProperty("--persona-tool-anim-duration",`${D}ms`),P&&K(P,!1);else if(f.classList.add(`persona-tool-loading-${B}`),f.style.setProperty("--persona-tool-anim-duration",`${D}ms`),B==="shimmer-color"&&(o.loadingAnimationColor&&f.style.setProperty("--persona-tool-anim-color",o.loadingAnimationColor),o.loadingAnimationSecondaryColor&&f.style.setProperty("--persona-tool-anim-secondary-color",o.loadingAnimationSecondaryColor)),P)K(P,!0);else{let F=f.textContent||p;f.textContent="",ro(f,F,0)}}else P&&K(P,!1);let x=null;if(a){x=h("div","persona-flex persona-items-center");let D=o.toggleTextColor||o.headerTextColor||"var(--persona-primary, #171717)",F=re(l?"chevron-up":"chevron-down",16,D,2);F?x.appendChild(F):x.textContent=l?"Hide":"Show";let ie=h("div","persona-flex persona-items-center persona-gap-2 persona-ml-auto");ie.append(x),u.append(w,ie)}else u.append(w);let U=h("div","persona-px-4 persona-py-3 persona-text-xs persona-leading-snug persona-text-persona-muted");if(U.setAttribute("data-persona-collapsed-preview","tool"),U.style.display="none",U.style.whiteSpace="pre-wrap",!l&&c&&s.activePreview&&d){let D=o.renderCollapsedPreview?.({message:t,toolCall:n,defaultPreview:d,isActive:c,config:e??{}});Ih(U,D)||(U.textContent=d),U.style.display=""}if(!l&&c&&s.activeMinHeight&&(r.style.minHeight=s.activeMinHeight),!a)return r.append(u,U),r;let j=h("div","persona-border-t persona-border-gray-200 persona-bg-gray-50 persona-space-y-3 persona-px-4 persona-py-3");if(j.style.display=l?"":"none",o.contentBackgroundColor&&(j.style.backgroundColor=o.contentBackgroundColor),o.contentTextColor&&(j.style.color=o.contentTextColor),o.contentPaddingX&&(j.style.paddingLeft=o.contentPaddingX,j.style.paddingRight=o.contentPaddingX),o.contentPaddingY&&(j.style.paddingTop=o.contentPaddingY,j.style.paddingBottom=o.contentPaddingY),n.name){let D=h("div","persona-text-xs persona-text-persona-muted persona-italic");o.contentTextColor?D.style.color=o.contentTextColor:o.headerTextColor&&(D.style.color=o.headerTextColor),D.textContent=n.name,j.appendChild(D)}if(n.args!==void 0){let D=h("div","persona-space-y-1"),F=h("div","persona-text-xs persona-text-persona-muted");o.labelTextColor&&(F.style.color=o.labelTextColor),F.textContent="Arguments";let ie=h("pre","persona-max-h-48 persona-overflow-auto persona-whitespace-pre-wrap persona-rounded-lg persona-border persona-px-3 persona-py-2 persona-text-xs");ie.style.fontSize="0.75rem",ie.style.lineHeight="1rem",fl(ie,o),ie.textContent=no(n.args),D.append(F,ie),j.appendChild(D)}if(n.chunks&&n.chunks.length){let D=h("div","persona-space-y-1"),F=h("div","persona-text-xs persona-text-persona-muted");o.labelTextColor&&(F.style.color=o.labelTextColor),F.textContent="Activity";let ie=h("pre","persona-max-h-48 persona-overflow-auto persona-whitespace-pre-wrap persona-rounded-lg persona-border persona-px-3 persona-py-2 persona-text-xs");ie.style.fontSize="0.75rem",ie.style.lineHeight="1rem",fl(ie,o),ie.textContent=n.chunks.join(""),D.append(F,ie),j.appendChild(D)}if(n.status==="complete"&&n.result!==void 0){let D=h("div","persona-space-y-1"),F=h("div","persona-text-xs persona-text-persona-muted");o.labelTextColor&&(F.style.color=o.labelTextColor),F.textContent="Result";let ie=h("pre","persona-max-h-48 persona-overflow-auto persona-whitespace-pre-wrap persona-rounded-lg persona-border persona-px-3 persona-py-2 persona-text-xs");ie.style.fontSize="0.75rem",ie.style.lineHeight="1rem",fl(ie,o),ie.textContent=no(n.result),D.append(F,ie),j.appendChild(D)}if(n.status==="complete"&&typeof n.duration=="number"){let D=h("div","persona-text-xs persona-text-persona-muted");o.contentTextColor&&(D.style.color=o.contentTextColor),D.textContent=`Duration: ${n.duration}ms`,j.appendChild(D)}return(()=>{if(u.setAttribute("aria-expanded",l?"true":"false"),x){x.innerHTML="";let D=o.toggleTextColor||o.headerTextColor||"var(--persona-primary, #171717)",F=re(l?"chevron-up":"chevron-down",16,D,2);F?x.appendChild(F):x.textContent=l?"Hide":"Show"}j.style.display=l?"":"none",U.style.display=l?"none":U.textContent||U.childNodes.length?"":"none"})(),r.append(u,U,j),r};var Io=new Map,za=t=>{let n=(t.startsWith(Bn)?t.slice(Bn.length):t).replace(/([a-z0-9])([A-Z])/g,"$1 $2").split(/[_\-\s.]+/).filter(Boolean);if(n.length===0)return t;let o=n.join(" ").toLowerCase();return o.charAt(0).toUpperCase()+o.slice(1)},Gp=t=>t?.approval!==!1?t?.approval:void 0,Qp=(t,e)=>{let n=Gp(e)?.detailsDisplay??"collapsed";return Io.get(t)??n==="expanded"},Xp=(t,e,n)=>{let o=Gp(n);t.setAttribute("aria-expanded",e?"true":"false");let r=t.querySelector("[data-approval-details-label]");r&&(r.textContent=e?o?.hideDetailsLabel??"Hide details":o?.showDetailsLabel??"Show details");let s=t.querySelector("[data-approval-details-chevron]");if(s){s.innerHTML="";let a=re(e?"chevron-up":"chevron-down",14,"currentColor",2);a&&s.appendChild(a)}},Jp=(t,e,n)=>{let o=e.querySelector('button[data-bubble-type="approval"]'),r=e.querySelector("[data-approval-details]");if(!o||!r)return;let s=Qp(t,n);Xp(o,s,n),r.style.display=s?"":"none"};var Ua=(t,e)=>{let n=t.approval,o=e?.approval!==!1?e?.approval:void 0,r=n?.status==="pending",s=h("div",["persona-approval-bubble","persona-w-full","persona-rounded-2xl","persona-border","persona-shadow-sm","persona-overflow-hidden"].join(" "));if(s.id=`bubble-${t.id}`,s.setAttribute("data-message-id",t.id),s.style.backgroundColor=o?.backgroundColor??"var(--persona-approval-bg, #fefce8)",s.style.borderColor=o?.borderColor??"var(--persona-approval-border, #fef08a)",s.style.boxShadow=o?.shadow!==void 0?o.shadow.trim()===""?"none":o.shadow:"var(--persona-approval-shadow, 0 5px 15px rgba(15, 23, 42, 0.08))",!n)return s;let a=h("div","persona-flex persona-items-start persona-gap-3 persona-px-4 persona-py-3"),l=h("div","persona-flex-shrink-0 persona-mt-0.5");l.setAttribute("data-approval-icon","true");let p=n.status==="denied"?"shield-x":n.status==="timeout"?"shield-alert":"shield-check",d=n.status==="approved"?"var(--persona-feedback-success, #16a34a)":n.status==="denied"?"var(--persona-feedback-error, #dc2626)":n.status==="timeout"?"var(--persona-feedback-warning, #ca8a04)":o?.titleColor??"currentColor",c=re(p,20,d,2);c&&l.appendChild(c);let u=h("div","persona-flex-1 persona-min-w-0"),w=h("div","persona-flex persona-items-center persona-gap-2"),f=h("span","persona-text-sm persona-font-medium persona-text-persona-primary");if(o?.titleColor&&(f.style.color=o.titleColor),f.textContent=o?.title??"Approval Required",w.appendChild(f),!r){let x=h("span","persona-inline-flex persona-items-center persona-px-2 persona-py-0.5 persona-rounded-full persona-text-xs persona-font-medium");x.setAttribute("data-approval-status",n.status),n.status==="approved"?(x.style.backgroundColor="var(--persona-palette-colors-success-100, #dcfce7)",x.style.color="var(--persona-palette-colors-success-700, #15803d)",x.textContent="Approved"):n.status==="denied"?(x.style.backgroundColor="var(--persona-palette-colors-error-100, #fee2e2)",x.style.color="var(--persona-palette-colors-error-700, #b91c1c)",x.textContent="Denied"):n.status==="timeout"&&(x.style.backgroundColor="var(--persona-palette-colors-warning-100, #fef3c7)",x.style.color="var(--persona-palette-colors-warning-700, #b45309)",x.textContent="Timeout"),w.appendChild(x)}u.appendChild(w);let C=n.toolType==="webmcp"||n.toolName.startsWith(Bn)?Nr(n.toolName):void 0,I=o?.formatDescription?.({toolName:n.toolName,toolType:n.toolType,description:n.description,parameters:n.parameters,...C?{displayTitle:C}:{},...n.reason?{reason:n.reason}:{}}),B=!n.toolName,k=I||(B?n.description:`The assistant wants to use \u201C${C??za(n.toolName)}\u201D.`),M=h("p","persona-text-sm persona-mt-0.5 persona-text-persona-muted");if(M.setAttribute("data-approval-summary","true"),o?.descriptionColor&&(M.style.color=o.descriptionColor),M.textContent=k,u.appendChild(M),n.reason){let x=h("p","persona-text-sm persona-mt-1 persona-text-persona-muted");x.setAttribute("data-approval-reason","true"),o?.reasonColor?x.style.color=o.reasonColor:o?.descriptionColor&&(x.style.color=o.descriptionColor);let U=h("span","persona-font-medium");U.textContent=`${o?.reasonLabel??"Agent's stated reason:"} `,x.appendChild(U),x.appendChild(document.createTextNode(n.reason)),u.appendChild(x)}let P=o?.detailsDisplay??"collapsed",z=!!n.description&&!B,K=z||!!n.parameters;if(P!=="hidden"&&K){let x=Qp(t.id,e),U=h("button","persona-inline-flex persona-items-center persona-gap-1 persona-mt-1 persona-p-0 persona-border-none persona-bg-transparent persona-text-xs persona-font-medium persona-cursor-pointer persona-text-persona-muted");U.type="button",U.setAttribute("data-expand-header","true"),U.setAttribute("data-bubble-type","approval"),o?.descriptionColor&&(U.style.color=o.descriptionColor);let j=h("span");j.setAttribute("data-approval-details-label","true");let J=h("span","persona-inline-flex persona-items-center");J.setAttribute("data-approval-details-chevron","true"),U.append(j,J),Xp(U,x,e),u.appendChild(U);let D=h("div");if(D.setAttribute("data-approval-details","true"),D.style.display=x?"":"none",z){let F=h("p","persona-text-sm persona-mt-1 persona-text-persona-muted");o?.descriptionColor&&(F.style.color=o.descriptionColor),F.textContent=n.description,D.appendChild(F)}if(n.parameters){let F=h("pre","persona-mt-2 persona-text-xs persona-p-2 persona-rounded persona-overflow-x-auto persona-max-h-32 persona-bg-persona-container persona-text-persona-primary");o?.parameterBackgroundColor&&(F.style.backgroundColor=o.parameterBackgroundColor),o?.parameterTextColor&&(F.style.color=o.parameterTextColor),F.style.fontSize="0.75rem",F.style.lineHeight="1rem",F.textContent=no(n.parameters),D.appendChild(F)}u.appendChild(D)}if(r){let x=h("div","persona-flex persona-gap-2 persona-mt-2");x.setAttribute("data-approval-buttons","true");let U=h("button","persona-inline-flex persona-items-center persona-px-3 persona-py-1.5 persona-rounded-md persona-text-xs persona-font-medium persona-border-none persona-cursor-pointer");U.type="button",U.style.backgroundColor=o?.approveButtonColor??"var(--persona-approval-approve-bg, #22c55e)",U.style.color=o?.approveButtonTextColor??"#ffffff",U.setAttribute("data-approval-action","approve");let j=re("shield-check",14,o?.approveButtonTextColor??"#ffffff",2);j&&(j.style.marginRight="4px",U.appendChild(j));let J=document.createTextNode(o?.approveLabel??"Approve");U.appendChild(J);let D=h("button","persona-inline-flex persona-items-center persona-px-3 persona-py-1.5 persona-rounded-md persona-text-xs persona-font-medium persona-cursor-pointer");D.type="button",D.style.backgroundColor=o?.denyButtonColor??"transparent",D.style.color=o?.denyButtonTextColor??"var(--persona-feedback-error, #dc2626)",D.style.border=`1px solid ${o?.denyButtonTextColor?o.denyButtonTextColor:"var(--persona-palette-colors-error-200, #fca5a5)"}`,D.setAttribute("data-approval-action","deny");let F=re("shield-x",14,o?.denyButtonTextColor??"var(--persona-feedback-error, #dc2626)",2);F&&(F.style.marginRight="4px",D.appendChild(F));let ie=document.createTextNode(o?.denyLabel??"Deny");D.appendChild(ie),x.append(U,D),u.appendChild(x)}return a.append(l,u),s.appendChild(a),s};var Hh=()=>({keyHandlers:new Map,popovers:new Map,pendingOrder:[],latestPendingApprovalId:null}),Yp=(t,e)=>{let n=t.keyHandlers.get(e);n&&(document.removeEventListener("keydown",n),t.keyHandlers.delete(e));let o=t.popovers.get(e);o&&(o.destroy(),t.popovers.delete(e))},Ro=(t,e)=>{Yp(t,e);let n=t.pendingOrder.indexOf(e);n!==-1&&t.pendingOrder.splice(n,1),t.latestPendingApprovalId===e&&(t.latestPendingApprovalId=t.pendingOrder.length?t.pendingOrder[t.pendingOrder.length-1]:null)},Bh=t=>t?.approval!==!1?t?.approval:void 0,Dh=(t,e)=>{let n=e?.detailsDisplay??"collapsed";return Io.get(t)??n==="expanded"},ml=t=>{let e=h("span","persona-approval-kbd");return e.textContent=t,e},Fh=(t,e)=>{let n=h("span","persona-approval-title");e?.titleColor&&(n.style.color=e.titleColor);let r=t.toolType==="webmcp"||t.toolName.startsWith(Bn)?Nr(t.toolName):void 0,s=e?.formatDescription?.({toolName:t.toolName,toolType:t.toolType,description:t.description??"",parameters:t.parameters,...r?{displayTitle:r}:{},...t.reason?{reason:t.reason}:{}});if(s)return n.textContent=s,n;let a=r??za(t.toolName),l=t.toolType&&t.toolType!=="webmcp"?t.toolType:null;n.append("The assistant wants to use ");let p=document.createElement("strong");if(p.textContent=a,n.appendChild(p),l){n.append(" from ");let d=document.createElement("strong");d.textContent=l,n.appendChild(d)}return n},Nh=t=>{let e=h("div","persona-approval-resolved"),n=re("ban",15,"currentColor",2);n&&e.appendChild(n);let o=h("span","persona-approval-resolved-name");return o.textContent=t.toolName?za(t.toolName):"Tool",e.append(o,document.createTextNode(t.status==="timeout"?" timed out":" denied")),e},Oh=(t,e,n,o,r,s,a)=>{let l=h("div","persona-approval-card persona-shadow-sm");l.id=`bubble-${e.id}`,l.setAttribute("data-message-id",e.id),l.setAttribute("data-bubble-type","approval"),o?.backgroundColor&&(l.style.background=o.backgroundColor),o?.borderColor&&(l.style.borderColor=o.borderColor),o?.shadow!==void 0&&(l.style.boxShadow=o.shadow.trim()===""?"none":o.shadow);let p=o?.detailsDisplay??"collapsed",d=!!n.description&&p!=="hidden",c=n.parameters!=null&&p!=="hidden",u=d||c,w=u&&Dh(e.id,o),f=o?.showDetailsLabel??"Show details",v=o?.hideDetailsLabel??"Hide details",C=h("button","persona-approval-head");C.type="button",u?(C.setAttribute("data-action","toggle-params"),C.setAttribute("aria-expanded",w?"true":"false"),C.setAttribute("aria-label",w?v:f)):C.setAttribute("data-static","true");let I=h("span","persona-approval-logo"),B=re("shield-check",16,"currentColor",2);B&&I.appendChild(B),C.appendChild(I);let k=Fh(n,o);if(u){let U=h("span","persona-approval-toggle");U.setAttribute("aria-hidden","true");let j=re("chevron-down",14,"currentColor",2);j&&U.appendChild(j),k.append(" "),k.appendChild(U)}C.appendChild(k),l.appendChild(C);let M=h("div","persona-approval-body");if(u){let U=h("div","persona-approval-details");if(U.setAttribute("data-role","params"),U.hidden=!w,d){let j=h("p","persona-approval-desc");o?.descriptionColor&&(j.style.color=o.descriptionColor),j.textContent=n.description,U.appendChild(j)}if(c){let j=h("pre","persona-approval-params");o?.parameterBackgroundColor&&(j.style.background=o.parameterBackgroundColor),o?.parameterTextColor&&(j.style.color=o.parameterTextColor),j.textContent=no(n.parameters),U.appendChild(j)}M.appendChild(U)}if(n.reason){let U=h("p","persona-approval-reason");o?.reasonColor?U.style.color=o.reasonColor:o?.descriptionColor&&(U.style.color=o.descriptionColor);let j=h("span","persona-approval-reason-label");j.textContent=`${o?.reasonLabel??"Agent's stated reason:"} `,U.append(j,document.createTextNode(n.reason)),M.appendChild(U)}let P=h("div","persona-approval-actions"),z=null,K=U=>{o?.approveButtonColor&&(U.style.background=o.approveButtonColor),o?.approveButtonTextColor&&(U.style.color=o.approveButtonTextColor)},x=h("button","persona-approval-deny");if(x.type="button",x.setAttribute("data-action","deny"),o?.denyButtonColor&&(x.style.background=o.denyButtonColor),o?.denyButtonTextColor&&(x.style.color=o.denyButtonTextColor),x.append(o?.denyLabel??"Deny"),a){let U=h("div","persona-approval-split"),j=h("button","persona-approval-primary");j.type="button",j.setAttribute("data-action","always"),K(j),j.append(o?.approveLabel??"Always allow",ml("\u23CE"));let J=h("button","persona-approval-caret");J.type="button",J.setAttribute("data-action","toggle-menu"),J.setAttribute("aria-label","More options"),K(J);let D=re("chevron-down",15,"currentColor",2);D&&J.appendChild(D),U.append(j,J),P.append(U,x),x.append(ml("Esc"));let F=h("div","persona-approval-menu"),ie=h("button","persona-approval-menu-item");ie.type="button",ie.append("Allow once",ml("\u2318\u23CE")),F.appendChild(ie),z=Qc({anchor:U,content:F,placement:"bottom-start",matchAnchorWidth:!0}),t.popovers.set(e.id,z),ie.addEventListener("click",()=>{Ro(t,e.id),r()})}else{let U=h("button","persona-approval-primary persona-approval-primary--solo");U.type="button",U.setAttribute("data-action","allow"),K(U),U.append(o?.approveLabel??"Allow"),P.append(U,x)}return M.appendChild(P),l.appendChild(M),l.addEventListener("click",U=>{let j=U.target instanceof Element?U.target.closest("[data-action]"):null;if(!j)return;let J=j.getAttribute("data-action");if(J==="toggle-params"){let D=l.querySelector('[data-role="params"]');if(D){let F=D.hidden;D.hidden=!F,C.setAttribute("aria-expanded",F?"true":"false"),C.setAttribute("aria-label",F?v:f),Io.set(e.id,F)}return}if(J==="toggle-menu"){z?.toggle();return}if(J==="always"){Ro(t,e.id),r({remember:!0});return}if(J==="allow"){Ro(t,e.id),r();return}if(J==="deny"){Ro(t,e.id),s();return}}),l},Zp=()=>{let t=Hh();return{plugin:{id:"persona-built-in-approval",renderApproval:({message:o,approve:r,deny:s,config:a})=>{let l=o?.approval;if(!l)return null;let p=Bh(a);if(l.status!=="pending"){if(Ro(t,o.id),l.status==="approved"){let u=document.createElement("div");return u.style.display="none",u}return Nh(l)}Yp(t,o.id);let d=p?.enableAlwaysAllow===!0,c=Oh(t,o,l,p,r,s,d);if(d){t.pendingOrder.includes(o.id)||t.pendingOrder.push(o.id),t.latestPendingApprovalId=t.pendingOrder[t.pendingOrder.length-1];let u=w=>{Xc(w)||o.id===t.latestPendingApprovalId&&(w.key!=="Escape"&&w.key!=="Enter"||(w.preventDefault(),w.stopImmediatePropagation(),Ro(t,o.id),w.key==="Escape"?s():w.metaKey||w.ctrlKey?r():r({remember:!0})))};t.keyHandlers.set(o.id,u),document.addEventListener("keydown",u)}return c}},teardown:()=>{for(let o of[...t.keyHandlers.keys(),...t.popovers.keys()])Ro(t,o);t.latestPendingApprovalId=null}}};var eu=t=>{let e=[],n=null;return{buttons:e,render:(r,s,a,l,p,d)=>{t.innerHTML="",e.length=0;let c=d?.agentPushed===!0;if(c||(n=null),!r||!r.length||!c&&(l??(s?s.getMessages():[])).some(I=>I.role==="user"))return;let u=document.createDocumentFragment(),w=s?s.isStreaming():!1,f=v=>{switch(v){case"serif":return'Georgia, "Times New Roman", Times, serif';case"mono":return'"Courier New", Courier, "Lucida Console", Monaco, monospace';default:return'-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif'}};if(r.forEach(v=>{let C=h("button","persona-rounded-button persona-bg-persona-surface persona-px-3 persona-py-1.5 persona-text-xs persona-font-medium persona-text-persona-primary hover:persona-opacity-80 persona-cursor-pointer persona-border persona-border-persona-border");C.type="button",C.textContent=v,C.disabled=w,p?.fontFamily&&(C.style.fontFamily=f(p.fontFamily)),p?.fontWeight&&(C.style.fontWeight=p.fontWeight),p?.paddingX&&(C.style.paddingLeft=p.paddingX,C.style.paddingRight=p.paddingX),p?.paddingY&&(C.style.paddingTop=p.paddingY,C.style.paddingBottom=p.paddingY),C.addEventListener("click",()=>{!s||s.isStreaming()||(a.value="",c&&t.dispatchEvent(new CustomEvent("persona:suggestReplies:selected",{detail:{suggestion:v},bubbles:!0,composed:!0})),s.sendMessage(v))}),u.appendChild(C),e.push(C)}),t.appendChild(u),c){let v=JSON.stringify(r);v!==n&&(n=v,t.dispatchEvent(new CustomEvent("persona:suggestReplies:shown",{detail:{suggestions:[...r]},bubbles:!0,composed:!0})))}}}};var ps=class{constructor(e=2e3,n=null){this.head=0;this.count=0;this.totalCaptured=0;this.eventTypesSet=new Set;this.maxSize=e,this.buffer=new Array(e),this.store=n}push(e){this.buffer[this.head]=e,this.head=(this.head+1)%this.maxSize,this.count<this.maxSize&&this.count++,this.totalCaptured++,this.eventTypesSet.add(e.type),this.store?.put(e)}getAll(){return this.count===0?[]:this.count<this.maxSize?this.buffer.slice(0,this.count):[...this.buffer.slice(this.head,this.maxSize),...this.buffer.slice(0,this.head)]}async restore(){if(!this.store)return 0;let e=await this.store.getAll();if(e.length===0)return 0;let n=e.length>this.maxSize?e.slice(e.length-this.maxSize):e;for(let o of n)this.buffer[this.head]=o,this.head=(this.head+1)%this.maxSize,this.count<this.maxSize&&this.count++,this.eventTypesSet.add(o.type);return this.totalCaptured=e.length,n.length}getAllFromStore(){return this.store?this.store.getAll():Promise.resolve(this.getAll())}getRecent(e){let n=this.getAll();return e>=n.length?n:n.slice(n.length-e)}getSize(){return this.count}getTotalCaptured(){return this.totalCaptured}getEvictedCount(){return this.totalCaptured-this.count}clear(){this.buffer=new Array(this.maxSize),this.head=0,this.count=0,this.totalCaptured=0,this.eventTypesSet.clear(),this.store?.clear()}destroy(){this.buffer=[],this.head=0,this.count=0,this.totalCaptured=0,this.eventTypesSet.clear(),this.store?.destroy()}getEventTypes(){return Array.from(this.eventTypesSet)}};var us=class{constructor(e="persona-event-stream",n="events"){this.db=null;this.pendingWrites=[];this.flushScheduled=!1;this.isDestroyed=!1;this.dbName=e,this.storeName=n}open(){return new Promise((e,n)=>{try{let o=indexedDB.open(this.dbName,1);o.onupgradeneeded=()=>{let r=o.result;r.objectStoreNames.contains(this.storeName)||r.createObjectStore(this.storeName,{keyPath:"id"}).createIndex("timestamp","timestamp",{unique:!1})},o.onsuccess=()=>{this.db=o.result,e()},o.onerror=()=>{n(o.error)}}catch(o){n(o)}})}put(e){!this.db||this.isDestroyed||(this.pendingWrites.push(e),this.flushScheduled||(this.flushScheduled=!0,queueMicrotask(()=>this.flushWrites())))}putBatch(e){if(!(!this.db||this.isDestroyed||e.length===0))try{let o=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName);for(let r of e)o.put(r)}catch{}}getAll(){return new Promise((e,n)=>{if(!this.db){e([]);return}try{let a=this.db.transaction(this.storeName,"readonly").objectStore(this.storeName).index("timestamp").getAll();a.onsuccess=()=>{e(a.result)},a.onerror=()=>{n(a.error)}}catch(o){n(o)}})}getCount(){return new Promise((e,n)=>{if(!this.db){e(0);return}try{let s=this.db.transaction(this.storeName,"readonly").objectStore(this.storeName).count();s.onsuccess=()=>{e(s.result)},s.onerror=()=>{n(s.error)}}catch(o){n(o)}})}clear(){return new Promise((e,n)=>{if(!this.db){e();return}this.pendingWrites=[];try{let s=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName).clear();s.onsuccess=()=>{e()},s.onerror=()=>{n(s.error)}}catch(o){n(o)}})}close(){this.db&&(this.db.close(),this.db=null)}destroy(){return this.isDestroyed=!0,this.pendingWrites=[],this.close(),new Promise((e,n)=>{try{let o=indexedDB.deleteDatabase(this.dbName);o.onsuccess=()=>{e()},o.onerror=()=>{n(o.error)}}catch(o){n(o)}})}flushWrites(){if(this.flushScheduled=!1,!this.db||this.isDestroyed||this.pendingWrites.length===0)return;let e=this.pendingWrites;this.pendingWrites=[];try{let o=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName);for(let r of e)o.put(r)}catch{}}};var _h=new Set(["flow_start","flow_run_start","agent_start","dispatch_start","run_start"]),$h=new Set(["step_start","execution_start"]),zh=new Set(["step_delta","step_chunk","chunk","agent_turn_delta"]),Uh=new Set(["step_complete","agent_turn_complete"]),jh=new Set(["flow_complete","agent_complete"]),tu=new Set(["step_error","flow_error","agent_error","dispatch_error","error"]),ou=t=>typeof t=="object"&&t!==null&&!Array.isArray(t),nn=t=>typeof t=="number"&&Number.isFinite(t)?t:void 0,Wo=(t,e)=>{let n=t[e];return ou(n)?n:void 0};function hl(t){return t>0?Math.max(1,Math.ceil(t/4)):0}function ja(t,e){if(!(t<=0||e===void 0||e<250))return t/(e/1e3)}function qh(t,e){return typeof e.type=="string"?e.type:t}function Vh(t){return typeof t.text=="string"?t.text:typeof t.delta=="string"?t.delta:typeof t.content=="string"?t.content:typeof t.chunk=="string"?t.chunk:""}function Kh(t,e){return t==="step_delta"||t==="step_chunk"?e.stepType!=="tool"&&e.executionType!=="context":t!=="agent_turn_delta"?!0:(typeof e.contentType=="string"?e.contentType:typeof e.content_type=="string"?e.content_type:void 0)==="text"}function nu(t){let e=Wo(t,"result"),n=[Wo(t,"tokens"),Wo(t,"totalTokens"),e?Wo(e,"tokens"):void 0,Wo(t,"usage"),e?Wo(e,"usage"):void 0];for(let o of n){if(!o)continue;let r=nn(o.output)??nn(o.outputTokens)??nn(o.completionTokens);if(r!==void 0)return r}return nn(t.outputTokens)??nn(t.completionTokens)??(e?nn(e.outputTokens)??nn(e.completionTokens):void 0)}function Gh(t){let e=Wo(t,"result");return nn(t.executionTime)??nn(t.executionTimeMs)??nn(t.execution_time)??nn(t.duration)??(e?nn(e.executionTime)??nn(e.executionTimeMs):void 0)}function Qh(){return typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now()}var fs=class{constructor(e=Qh){this.metric={status:"idle"};this.run=null;this.now=e}getMetric(){let e=this.run;if(e&&this.metric.status==="running"&&e.firstDeltaAt!==void 0&&this.metric.outputTokens!==void 0){let n=this.now()-e.firstDeltaAt;return{...this.metric,durationMs:n,tokensPerSecond:ja(this.metric.outputTokens,n)}}return this.metric}reset(){this.run=null,this.metric={status:"idle"}}startRun(e){this.run={startedAt:e,visibleCharCount:0,exactOutputTokens:0},this.metric={status:"running"}}processEvent(e,n){if(!ou(n)){tu.has(e)&&this.run&&(this.run=null,this.metric={status:"error"});return}let o=qh(e,n),r=this.now();if(_h.has(o)){this.startRun(r);return}if($h.has(o)){this.run||this.startRun(r);return}if(zh.has(o)){if(!Kh(o,n))return;let s=Vh(n);if(!s)return;this.run||this.startRun(r);let a=this.run;a.firstDeltaAt??(a.firstDeltaAt=r),a.visibleCharCount+=s.length;let l=a.exactOutputTokens+hl(a.visibleCharCount),p=r-a.firstDeltaAt;this.metric={status:"running",tokensPerSecond:ja(l,p),outputTokens:l,durationMs:p,source:a.exactOutputTokens>0?"usage":"estimate"};return}if(Uh.has(o)){if(!this.run)return;let s=this.run,a=nu(n);a!==void 0&&(s.exactOutputTokens+=a,s.visibleCharCount=0);let l=s.exactOutputTokens>0,p=s.exactOutputTokens+hl(s.visibleCharCount),d=this.resolveDuration(s,n,r);this.metric={status:"running",tokensPerSecond:ja(p,d),outputTokens:p,durationMs:d,source:l?"usage":"estimate"};return}if(jh.has(o)){if(!this.run)return;let s=this.run,a=nu(n),l=a??s.exactOutputTokens+hl(s.visibleCharCount),p=a!==void 0||s.exactOutputTokens>0?"usage":"estimate",d=this.resolveDuration(s,n,r);this.metric={status:"complete",tokensPerSecond:ja(l,d),outputTokens:l,durationMs:d,source:p},this.run=null;return}if(tu.has(o)){if(!this.run)return;this.run=null,this.metric={status:"error"}}}resolveDuration(e,n,o){let r=e.firstDeltaAt!==void 0?o-e.firstDeltaAt:void 0;return r!==void 0&&r>=250?r:Gh(n)??o-e.startedAt}};function pr(t,e){e&&e.split(/\s+/).forEach(n=>n&&t.classList.add(n))}var Xh={flow_:{bg:"var(--persona-palette-colors-success-100, #dcfce7)",text:"var(--persona-palette-colors-success-700, #166534)"},step_:{bg:"var(--persona-palette-colors-primary-100, #f5f5f5)",text:"var(--persona-palette-colors-primary-700, #0a0a0a)"},reason_:{bg:"var(--persona-palette-colors-warning-100, #ffedd5)",text:"var(--persona-palette-colors-warning-700, #9a3412)"},tool_:{bg:"var(--persona-palette-colors-purple-100, #f3e8ff)",text:"var(--persona-palette-colors-purple-700, #6b21a8)"},agent_:{bg:"var(--persona-palette-colors-teal-100, #ccfbf1)",text:"var(--persona-palette-colors-teal-700, #115e59)"},error:{bg:"var(--persona-palette-colors-error-100, #fecaca)",text:"var(--persona-palette-colors-error-700, #991b1b)"}},Jh={bg:"var(--persona-palette-colors-gray-100, #f3f4f6)",text:"var(--persona-palette-colors-gray-600, #4b5563)"},Yh=["flowName","stepName","reasoningText","text","name","tool","toolName"],Zh=100;function ey(t,e){let n={...Xh,...e};if(n[t])return n[t];for(let o of Object.keys(n))if(o.endsWith("_")&&t.startsWith(o))return n[o];return Jh}function ty(t,e){return`+${((t-e)/1e3).toFixed(3)}s`}function ny(t){let e=new Date(t),n=String(e.getHours()).padStart(2,"0"),o=String(e.getMinutes()).padStart(2,"0"),r=String(e.getSeconds()).padStart(2,"0"),s=String(e.getMilliseconds()).padStart(3,"0");return`${n}:${o}:${r}.${s}`}function oy(t,e){try{let n=JSON.parse(t);if(typeof n!="object"||n===null)return null;for(let o of e){let r=o.split("."),s=n;for(let a of r)if(s&&typeof s=="object"&&s!==null)s=s[a];else{s=void 0;break}if(typeof s=="string"&&s.trim())return s.trim()}}catch{}return null}function ry(t){return navigator.clipboard?.writeText?navigator.clipboard.writeText(t):new Promise(e=>{let n=document.createElement("textarea");n.value=t,n.style.position="fixed",n.style.opacity="0",document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n),e()})}function sy(t){let e;try{e=JSON.parse(t.payload)}catch{e=t.payload}return JSON.stringify({type:t.type,timestamp:new Date(t.timestamp).toISOString(),payload:e},null,2)}function ay(t){return t.tokensPerSecond===void 0||!Number.isFinite(t.tokensPerSecond)?"-- tok/s":`${t.tokensPerSecond.toFixed(1)} tok/s`}function iy(t){let e=[];return t.outputTokens!==void 0&&e.push(`${t.outputTokens.toLocaleString()} tok`),t.durationMs!==void 0&&e.push(`${(t.durationMs/1e3).toFixed(2)}s`),t.source&&e.push(t.source),e.join(" \xB7 ")}function ly(t,e,n){let o,r;try{r=JSON.parse(t.payload),o=JSON.stringify(r,null,2)}catch{r=t.payload,o=t.payload}let s=e.find(l=>l.renderEventStreamPayload);if(s?.renderEventStreamPayload&&n){let l=s.renderEventStreamPayload({event:t,config:n,defaultRenderer:()=>a(),parsedPayload:r});if(l)return l}return a();function a(){let l=h("div","persona-bg-persona-container persona-border-t persona-border-persona-divider persona-px-3 persona-py-2 persona-ml-4 persona-mr-3 persona-mb-1 persona-rounded-b persona-overflow-auto persona-max-h-[300px]"),p=h("pre","persona-m-0 persona-whitespace-pre-wrap persona-break-all persona-text-[11px] persona-text-persona-secondary persona-font-mono");return p.textContent=o,l.appendChild(p),l}}function yl(t,e,n,o,r,s,a,l){let p=r.has(t.id),d=h("div","persona-border-b persona-border-persona-divider persona-text-xs");pr(d,o.classNames?.eventRow);let c=a.find(w=>w.renderEventStreamRow);if(c?.renderEventStreamRow&&l){let w=c.renderEventStreamRow({event:t,index:e,config:l,defaultRenderer:()=>u(),isExpanded:p,onToggleExpand:()=>s(t.id)});if(w)return d.appendChild(w),d}return d.appendChild(u()),d;function u(){let w=h("div",""),f=h("div","persona-flex persona-items-center persona-gap-2 persona-px-3 persona-py-3 hover:persona-bg-persona-container persona-cursor-pointer persona-group");f.setAttribute("data-event-id",t.id);let v=h("span","persona-flex-shrink-0 persona-text-persona-muted persona-w-4 persona-text-center persona-flex persona-items-center persona-justify-center"),C=re(p?"chevron-down":"chevron-right","14px","currentColor",2);C&&v.appendChild(C);let I=h("span","persona-text-[11px] persona-text-persona-muted persona-whitespace-nowrap persona-flex-shrink-0 persona-font-mono persona-w-[70px]"),B=o.timestampFormat??"relative";I.textContent=B==="relative"?ty(t.timestamp,n):ny(t.timestamp);let k=null;o.showSequenceNumbers!==!1&&(k=h("span","persona-text-[11px] persona-text-persona-muted persona-font-mono persona-flex-shrink-0 persona-w-[28px] persona-text-right"),k.textContent=String(e+1));let M=ey(t.type,o.badgeColors),P=h("span","persona-inline-flex persona-items-center persona-px-2 persona-py-0.5 persona-rounded persona-text-[11px] persona-font-mono persona-font-medium persona-whitespace-nowrap persona-flex-shrink-0 persona-border");P.style.backgroundColor=M.bg,P.style.color=M.text,P.style.borderColor=M.text+"50",P.textContent=t.type;let z=o.descriptionFields??Yh,K=oy(t.payload,z),x=null;K&&(x=h("span","persona-text-[11px] persona-text-persona-secondary persona-truncate persona-min-w-0"),x.textContent=K);let U=h("div","persona-flex-1 persona-min-w-0"),j=h("button","persona-text-persona-muted hover:persona-text-persona-primary persona-cursor-pointer persona-flex-shrink-0 persona-border-none persona-bg-transparent persona-p-0"),J=re("clipboard","12px","currentColor",1.5);return J&&j.appendChild(J),j.addEventListener("click",async D=>{D.stopPropagation(),await ry(sy(t)),j.innerHTML="";let F=re("check","12px","currentColor",1.5);F&&j.appendChild(F),setTimeout(()=>{j.innerHTML="";let ie=re("clipboard","12px","currentColor",1.5);ie&&j.appendChild(ie)},1500)}),f.appendChild(v),f.appendChild(I),k&&f.appendChild(k),f.appendChild(P),x&&f.appendChild(x),f.appendChild(U),f.appendChild(j),w.appendChild(f),p&&w.appendChild(ly(t,a,l)),w}}function ru(t){let{buffer:e,getFullHistory:n,onClose:o,config:r,plugins:s=[],getThroughput:a}=t,l=r?.features?.scrollToBottom,p=l?.enabled!==!1,d=l?.iconName??"arrow-down",c=l?.label??"",u=r?.features?.eventStream??{},w=s.find(v=>v.renderEventStreamView);if(w?.renderEventStreamView&&r){let v=w.renderEventStreamView({config:r,events:e.getAll(),defaultRenderer:()=>f().element,onClose:o});if(v)return{element:v,update:()=>{},destroy:()=>{}}}return f();function f(){let v=u.classNames,C=h("div","persona-event-stream-view persona-flex persona-flex-col persona-flex-1 persona-min-h-0");pr(C,v?.panel);let I=[],B="",k="",M=null,P=[],z={},K=0,x=Ta(),U=0,j=0,J=!1,D=null,F=!1,ie=0,ge=new Set,Ce=new Map,we="",ee="",ce=null,Y,ae,Z,he,ye=null,pe=null,Te=null;function Ae(){let H=h("div","persona-event-toolbar persona-relative persona-flex persona-flex-col persona-flex-shrink-0"),$=h("div","persona-flex persona-items-center persona-gap-2 persona-px-4 persona-py-3 persona-pb-0 persona-border-persona-divider persona-bg-persona-surface persona-overflow-hidden");if(pr($,v?.headerBar),a){pe=h("div","persona-relative persona-flex persona-items-center persona-gap-1.5 persona-whitespace-nowrap"),pe.style.cursor="help",ye=h("span","persona-text-[11px] persona-font-mono persona-bg-persona-container persona-text-persona-muted persona-px-2 persona-py-0.5 persona-rounded persona-border persona-border-persona-border persona-tabular-nums"),ye.textContent="-- tok/s",Te=h("div","persona-absolute persona-z-50 persona-whitespace-nowrap persona-rounded persona-border persona-border-persona-border persona-bg-persona-container persona-text-persona-primary persona-text-[11px] persona-font-mono persona-px-2 persona-py-1 persona-shadow"),Te.style.display="none",Te.style.pointerEvents="none";let Je=pe,lo=Te,co=()=>{if(!lo.textContent)return;let bs=Je.getBoundingClientRect(),Gt=H.getBoundingClientRect();lo.style.left=`${bs.left-Gt.left}px`,lo.style.top=`${bs.bottom-Gt.top+4}px`,lo.style.display="block"},Ka=()=>{lo.style.display="none"};pe.addEventListener("mouseenter",co),pe.addEventListener("mouseleave",Ka),pe.appendChild(ye)}let se=h("div","persona-flex-1");Y=h("select","persona-text-xs persona-bg-persona-surface persona-border persona-border-persona-border persona-rounded persona-px-2.5 persona-py-1 persona-text-persona-primary persona-cursor-pointer");let qe=h("option","");qe.value="",qe.textContent="All events (0)",Y.appendChild(qe),ae=h("button","persona-inline-flex persona-items-center persona-gap-1.5 persona-rounded persona-text-xs persona-text-persona-muted hover:persona-bg-persona-container hover:persona-text-persona-primary persona-cursor-pointer persona-border persona-border-persona-border persona-bg-persona-surface persona-flex-shrink-0 persona-px-2.5 persona-py-1"),ae.type="button",ae.title="Copy All";let rt=re("clipboard-copy","12px","currentColor",1.5);rt&&ae.appendChild(rt);let V=h("span","persona-event-copy-all persona-text-xs");V.textContent="Copy All",ae.appendChild(V),pe&&$.appendChild(pe),$.appendChild(se),$.appendChild(Y),$.appendChild(ae);let ze=h("div","persona-relative persona-px-4 persona-py-2.5 persona-border-b persona-border-persona-divider persona-bg-persona-surface");pr(ze,v?.searchBar);let Se=re("search","14px","var(--persona-muted, #9ca3af)",1.5),We=h("span","persona-absolute persona-left-6 persona-top-1/2 persona--translate-y-1/2 persona-pointer-events-none persona-flex persona-items-center");Se&&We.appendChild(Se),Z=h("input","persona-text-sm persona-bg-persona-surface persona-border persona-border-persona-border persona-rounded-md persona-pl-8 persona-pr-3 persona-py-1 persona-w-full persona-text-persona-primary"),pr(Z,v?.searchInput),Z.type="text",Z.placeholder="Search event payloads...",he=h("button","persona-absolute persona-right-5 persona-top-1/2 persona--translate-y-1/2 persona-text-persona-muted hover:persona-text-persona-primary persona-cursor-pointer persona-border-none persona-bg-transparent persona-p-0 persona-leading-none"),he.type="button",he.style.display="none";let Pe=re("x","12px","currentColor",2);return Pe&&he.appendChild(Pe),ze.appendChild(We),ze.appendChild(Z),ze.appendChild(he),H.appendChild($),H.appendChild(ze),Te&&H.appendChild(Te),H}let $e,Fe=s.find(H=>H.renderEventStreamToolbar);Fe?.renderEventStreamToolbar&&r?$e=Fe.renderEventStreamToolbar({config:r,defaultRenderer:()=>Ae(),eventCount:e.getSize(),filteredCount:0,onFilterChange:$=>{B=$,Le(),be()},onSearchChange:$=>{k=$,Le(),be()}})??Ae():$e=Ae();let ot=h("div","persona-text-xs persona-text-persona-muted persona-text-center persona-py-0.5 persona-px-4 persona-bg-persona-container persona-border-b persona-border-persona-divider persona-italic persona-flex-shrink-0");ot.style.display="none";function Qe(){if(!a||!ye||!pe)return;let H=a(),$=ay(H);ye.textContent=$;let se=iy(H);Te&&(Te.textContent=se,se||(Te.style.display="none")),pe.setAttribute("aria-label",se?`Throughput: ${$}, ${se}`:`Throughput: ${$}`)}let He=h("div","persona-flex-1 persona-min-h-0 persona-relative"),Ee=h("div","persona-event-stream-list persona-overflow-y-auto persona-min-h-0");Ee.style.height="100%";let Xe=h("div","persona-scroll-to-bottom-indicator persona-absolute persona-bottom-3 persona-left-1/2 persona-transform persona--translate-x-1/2 persona-cursor-pointer persona-z-10 persona-text-xs");pr(Xe,v?.scrollIndicator),Xe.style.display="none",Xe.setAttribute("data-persona-scroll-to-bottom-has-label",c?"true":"false");let on=re(d,"14px","currentColor",2);on&&Xe.appendChild(on);let St=h("span","");St.textContent=c,Xe.appendChild(St);let ht=h("div","persona-flex persona-items-center persona-justify-center persona-h-full persona-text-sm persona-text-persona-muted");ht.style.display="none",He.appendChild(Ee),He.appendChild(ht),He.appendChild(Xe),C.setAttribute("tabindex","0"),C.appendChild($e),C.appendChild(ot),C.appendChild(He);function Be(){let H=e.getAll(),$={};for(let ze of H)$[ze.type]=($[ze.type]||0)+1;let se=Object.keys($).sort(),qe=se.length!==P.length||!se.every((ze,Se)=>ze===P[Se]),ke=!qe&&se.some(ze=>$[ze]!==z[ze]),rt=H.length!==Object.values(z).reduce((ze,Se)=>ze+Se,0);if(!qe&&!ke&&!rt||(P=se,z=$,!Y))return;let V=Y.value;if(Y.options[0].textContent=`All events (${H.length})`,qe){for(;Y.options.length>1;)Y.remove(1);for(let ze of se){let Se=h("option","");Se.value=ze,Se.textContent=`${ze} (${$[ze]||0})`,Y.appendChild(Se)}V&&se.includes(V)?Y.value=V:V&&(Y.value="",B="")}else for(let ze=1;ze<Y.options.length;ze++){let Se=Y.options[ze];Se.textContent=`${Se.value} (${$[Se.value]||0})`}}function me(){let H=e.getAll();if(B&&(H=H.filter($=>$.type===B)),k){let $=k.toLowerCase();H=H.filter(se=>se.type.toLowerCase().includes($)||se.payload.toLowerCase().includes($))}return H}function Ke(){return B!==""||k!==""}function Le(){K=0,U=0,x.resume(),Xe.style.display="none"}function ue(H){ge.has(H)?ge.delete(H):ge.add(H),ce=H;let $=Ee.scrollTop,se=x.isFollowing();F=!0,x.pause(),be(),Ee.scrollTop=$,se&&x.resume(),F=!1}function le(){return ao(Ee,50)}function be(){j=Date.now(),J=!1,Qe(),Be();let H=e.getEvictedCount();H>0?(ot.textContent=`${H.toLocaleString()} older events truncated`,ot.style.display=""):ot.style.display="none",I=me();let $=I.length,se=e.getSize()>0;$===0&&se&&Ke()?(ht.textContent=k?`No events matching '${k}'`:"No events matching filter",ht.style.display="",Ee.style.display="none"):(ht.style.display="none",Ee.style.display=""),ae&&(ae.title=Ke()?`Copy Filtered (${$})`:"Copy All"),p&&!x.isFollowing()&&$>K&&(U+=$-K,St.textContent=c?`${c}${U>0?` (${U})`:""}`:"",Xe.style.display=""),K=$;let qe=e.getAll(),ke=qe.length>0?qe[0].timestamp:0,rt=new Set(I.map(Se=>Se.id));for(let Se of ge)rt.has(Se)||ge.delete(Se);let V=B!==we||k!==ee,ze=Ce.size===0&&I.length>0;if(V||ze||I.length===0){Ee.innerHTML="",Ce.clear();let Se=document.createDocumentFragment();for(let We=0;We<I.length;We++){let Pe=yl(I[We],We,ke,u,ge,ue,s,r);Ce.set(I[We].id,Pe),Se.appendChild(Pe)}Ee.appendChild(Se),we=B,ee=k,ce=null}else{if(ce!==null){let We=Ce.get(ce);if(We&&We.parentNode===Ee){let Pe=I.findIndex(Je=>Je.id===ce);if(Pe>=0){let Je=yl(I[Pe],Pe,ke,u,ge,ue,s,r);Ee.insertBefore(Je,We),We.remove(),Ce.set(ce,Je)}}ce=null}let Se=new Set(I.map(We=>We.id));for(let[We,Pe]of Ce)Se.has(We)||(Pe.remove(),Ce.delete(We));for(let We=0;We<I.length;We++){let Pe=I[We];if(!Ce.has(Pe.id)){let Je=yl(Pe,We,ke,u,ge,ue,s,r);Ce.set(Pe.id,Je),Ee.appendChild(Je)}}}x.isFollowing()&&(Ee.scrollTop=Ee.scrollHeight)}function yt(){if(Date.now()-j>=Zh){D!==null&&(cancelAnimationFrame(D),D=null),be();return}J||(J=!0,D=requestAnimationFrame(()=>{D=null,be()}))}let ve=(H,$)=>{if(!ae)return;ae.innerHTML="";let se=re(H,"12px","currentColor",1.5);se&&ae.appendChild(se);let qe=h("span","persona-text-xs");qe.textContent="Copy All",ae.appendChild(qe),setTimeout(()=>{ae.innerHTML="";let ke=re("clipboard-copy","12px","currentColor",1.5);ke&&ae.appendChild(ke);let rt=h("span","persona-text-xs");rt.textContent="Copy All",ae.appendChild(rt),ae.disabled=!1},$)},de=async()=>{if(ae){ae.disabled=!0;try{let H;Ke()?H=I:n?(H=await n(),H.length===0&&(H=e.getAll())):H=e.getAll();let $=H.map(se=>{try{return JSON.parse(se.payload)}catch{return se.payload}});await navigator.clipboard.writeText(JSON.stringify($,null,2)),ve("check",1500)}catch{ve("x",1500)}}},un=()=>{Y&&(B=Y.value,Le(),be())},X=()=>{!Z||!he||(he.style.display=Z.value?"":"none",M&&clearTimeout(M),M=setTimeout(()=>{k=Z.value,Le(),be()},150))},T=()=>{!Z||!he||(Z.value="",k="",he.style.display="none",M&&clearTimeout(M),Le(),be())},O=()=>{if(F)return;let H=Ee.scrollTop,{action:$,nextLastScrollTop:se}=Ma({following:x.isFollowing(),currentScrollTop:H,lastScrollTop:ie,nearBottom:le(),userScrollThreshold:1,resumeRequiresDownwardScroll:!0});ie=se,$==="resume"?(x.resume(),U=0,Xe.style.display="none"):$==="pause"&&(x.pause(),p&&(St.textContent=c,Xe.style.display=""))},y=H=>{let $=Ea({following:x.isFollowing(),deltaY:H.deltaY,nearBottom:le(),resumeWhenNearBottom:!0});$==="pause"?(x.pause(),p&&(St.textContent=c,Xe.style.display="")):$==="resume"&&(x.resume(),U=0,Xe.style.display="none")},S=()=>{p&&(Ee.scrollTop=Ee.scrollHeight,x.resume(),U=0,Xe.style.display="none")},E=H=>{let $=H.target;if(!$||$.closest("button"))return;let se=$.closest("[data-event-id]");if(!se)return;let qe=se.getAttribute("data-event-id");qe&&ue(qe)},W=H=>{if((H.metaKey||H.ctrlKey)&&H.key==="f"){H.preventDefault(),Z?.focus(),Z?.select();return}H.key==="Escape"&&(Z&&document.activeElement===Z?(T(),Z.blur(),C.focus()):o&&o())};ae&&ae.addEventListener("click",de),Y&&Y.addEventListener("change",un),Z&&Z.addEventListener("input",X),he&&he.addEventListener("click",T),Ee.addEventListener("scroll",O),Ee.addEventListener("wheel",y,{passive:!0}),Ee.addEventListener("click",E),Xe.addEventListener("click",S),C.addEventListener("keydown",W);function q(){M&&clearTimeout(M),D!==null&&(cancelAnimationFrame(D),D=null),J=!1,Ce.clear(),ae&&ae.removeEventListener("click",de),Y&&Y.removeEventListener("change",un),Z&&Z.removeEventListener("input",X),he&&he.removeEventListener("click",T),Ee.removeEventListener("scroll",O),Ee.removeEventListener("wheel",y),Ee.removeEventListener("click",E),Xe.removeEventListener("click",S),C.removeEventListener("keydown",W)}return{element:C,update:yt,destroy:q}}}function su(t,e){let n=e.orientation??"horizontal",o=n==="vertical"?"ArrowUp":"ArrowLeft",r=n==="vertical"?"ArrowDown":"ArrowRight";t.setAttribute("role","tablist");let s=[],a=!1,l=u=>{typeof u.scrollIntoView=="function"&&u.scrollIntoView({block:"nearest",inline:"nearest"})},p=u=>{let w=u;return s.findIndex(f=>f===w||f.contains(w))},d=u=>{let w=p(u.target);if(w<0)return;let f=w;if(u.key===r)f=Math.min(w+1,s.length-1);else if(u.key===o)f=Math.max(w-1,0);else if(u.key==="Home")f=0;else if(u.key==="End")f=s.length-1;else return;u.preventDefault(),f!==w&&e.onSelect(f)},c=u=>{let w=p(u.target);w>=0&&l(s[w])};return t.addEventListener("keydown",d),t.addEventListener("focusin",c),{beforeRender(){a=typeof document<"u"&&t.contains(document.activeElement)},render(u,w){if(s=u,u.forEach((f,v)=>{f.setAttribute("role","tab");let C=v===w;f.setAttribute("aria-selected",C?"true":"false"),f.tabIndex=C||w<0&&v===0?0:-1}),a){let f=(w>=0?u[w]:void 0)??u[0];f&&typeof f.focus=="function"&&(l(f),f.focus())}},destroy(){t.removeEventListener("keydown",d),t.removeEventListener("focusin",c)}}}function au(t,e){let n=t.features?.artifacts?.layout,r=(n?.toolbarPreset??"default")==="document",s=n?.toolbarTitle??"Artifacts",a=n?.closeButtonLabel??"Close",l=n?.panePadding?.trim(),p=n?.tabFadeSize?.trim(),d=X=>({start:X===!1?!1:typeof X=="object"&&X?X.start!==!1:!0,end:X===!1?!1:typeof X=="object"&&X?X.end!==!1:!0}),{start:c,end:u}=d(n?.tabFade),w=typeof document<"u"?h("div","persona-artifact-backdrop persona-fixed persona-inset-0 persona-z-[55] persona-bg-black/30 persona-hidden md:persona-hidden"):null,f=()=>{w?.classList.add("persona-hidden"),v.classList.remove("persona-artifact-drawer-open"),F?.hide()};w&&w.addEventListener("click",()=>{f(),e.onDismiss?.()});let v=h("aside","persona-artifact-pane persona-flex persona-flex-col persona-min-h-0 persona-min-w-0 persona-bg-persona-surface persona-text-persona-primary persona-border-l persona-border-persona-border");v.setAttribute("data-persona-theme-zone","artifact-pane"),r&&v.classList.add("persona-artifact-pane-document");let C=h("div","persona-artifact-toolbar persona-flex persona-items-center persona-justify-between persona-gap-2 persona-px-2 persona-py-2 persona-border-b persona-border-persona-border persona-shrink-0");C.setAttribute("data-persona-theme-zone","artifact-toolbar"),r&&C.classList.add("persona-artifact-toolbar-document");let I=h("span","persona-text-xs persona-font-medium persona-truncate");I.textContent=s;let B=It({icon:"x",label:a});B.addEventListener("click",()=>{f(),e.onDismiss?.()});let k="rendered",M=wa({items:[{id:"rendered",icon:"eye",label:"Rendered view",className:r?"persona-artifact-doc-icon-btn persona-artifact-view-btn":void 0},{id:"source",icon:"code-xml",label:"Source",className:r?"persona-artifact-doc-icon-btn persona-artifact-code-btn":void 0}],selectedId:"rendered",className:"persona-artifact-toggle-group persona-shrink-0",onSelect:X=>{k=X==="source"?"source":"rendered",ve()}}),P=h("div","persona-flex persona-items-center persona-gap-1 persona-shrink-0"),z=n?.documentToolbarShowCopyLabel===!0,K=n?.documentToolbarShowCopyChevron===!0,x=n?.documentToolbarCopyMenuItems,U=!!(K&&x&&x.length>0),j=null,J,D=null,F=null;if(r&&(z||K)&&!U){if(J=z?Lo({icon:"copy",label:"Copy",iconSize:14,className:"persona-artifact-doc-copy-btn"}):It({icon:"copy",label:"Copy",className:"persona-artifact-doc-copy-btn"}),K){let X=re("chevron-down",14,"currentColor",2);X&&J.appendChild(X)}}else r&&U?(j=h("div","persona-relative persona-inline-flex persona-items-center persona-gap-0 persona-rounded-md"),J=z?Lo({icon:"copy",label:"Copy",iconSize:14,className:"persona-artifact-doc-copy-btn"}):It({icon:"copy",label:"Copy",className:"persona-artifact-doc-copy-btn"}),D=It({icon:"chevron-down",label:"More copy options",size:14,className:"persona-artifact-doc-copy-menu-chevron persona-artifact-doc-icon-btn",aria:{"aria-haspopup":"true","aria-expanded":"false"}}),j.append(J,D)):r?J=It({icon:"copy",label:"Copy",className:"persona-artifact-doc-icon-btn"}):(J=It({icon:"copy",label:"Copy"}),n?.showCopyButton!==!0&&J.classList.add("persona-hidden"));let ie=r?It({icon:"refresh-cw",label:"Refresh",className:"persona-artifact-doc-icon-btn"}):It({icon:"refresh-cw",label:"Refresh"}),ge=r?It({icon:"x",label:a,className:"persona-artifact-doc-icon-btn"}):It({icon:"x",label:a}),Ce=It({icon:"maximize",label:"Expand artifacts panel",className:"persona-artifact-expand-btn"+(r?" persona-artifact-doc-icon-btn":""),onClick:()=>e.onToggleExpand?.()});n?.showExpandToggle!==!0&&Ce.classList.add("persona-hidden");let we=h("div","persona-flex persona-items-center persona-gap-1 persona-shrink-0 persona-artifact-toolbar-custom-actions"),ee=t.features?.artifacts?.toolbarActions??[],ce=()=>{let X=He.find(S=>S.id===Ee)??He[He.length-1],T=X?.id??null,O=X?.artifactType==="markdown"?X.markdown??"":"",y=X?JSON.stringify({component:X.component,props:X.props},null,2):"";return{markdown:O,jsonPayload:y,id:T}},Y=async()=>{let X=He.find(T=>T.id===Ee)??He[He.length-1];try{await navigator.clipboard.writeText(ns(X))}catch{}};if(J.addEventListener("click",async()=>{let X=n?.onDocumentToolbarCopyMenuSelect;if(X&&U){let{markdown:T,jsonPayload:O,id:y}=ce();try{await X({actionId:"primary",artifactId:y,markdown:T,jsonPayload:O})}catch{}return}await Y()}),D&&x?.length){let X=()=>v.closest("[data-persona-root]")??document.body,T=()=>{F=ar({items:x.map(O=>({id:O.id,label:O.label})),onSelect:async O=>{let{markdown:y,jsonPayload:S,id:E}=ce(),W=n?.onDocumentToolbarCopyMenuSelect;try{W?await W({actionId:O,artifactId:E,markdown:y,jsonPayload:S}):O==="markdown"||O==="md"?await navigator.clipboard.writeText(y):O==="json"||O==="source"?await navigator.clipboard.writeText(S):await navigator.clipboard.writeText(y||S)}catch{}},anchor:j??D,position:"bottom-right",portal:X()})};v.isConnected?T():requestAnimationFrame(T),D.addEventListener("click",O=>{O.stopPropagation(),F?.toggle()})}ie.addEventListener("click",async()=>{try{await n?.onDocumentToolbarRefresh?.()}catch{}ve()}),ge.addEventListener("click",()=>{f(),e.onDismiss?.()});let ae=h("span","persona-min-w-0 persona-flex-1 persona-text-xs persona-font-medium persona-text-persona-primary persona-truncate persona-text-center md:persona-text-left");if(r)C.replaceChildren(),j?P.append(j,ie,ge):P.append(J,ie,ge),P.insertBefore(we,ge),P.insertBefore(Ce,ge),C.append(M.element,ae,P);else{let X=h("div","persona-flex persona-items-center persona-gap-1 persona-shrink-0");X.append(J,we,Ce,B),C.appendChild(I),C.appendChild(X)}l&&(C.style.paddingLeft=l,C.style.paddingRight=l);let Z=h("div","persona-artifact-list persona-shrink-0 persona-flex persona-gap-1 persona-overflow-x-auto persona-p-2 persona-border-b persona-border-persona-border");p&&Z.style.setProperty("--persona-artifact-tab-fade-size",p);let he=t.features?.artifacts?.renderTabBar,ye=h("div","persona-artifact-tab-custom persona-shrink-0 persona-border-b persona-border-persona-border persona-hidden"),pe=su(Z,{onSelect:X=>e.onSelect(He[X].id)}),Te=X=>{let T=X.scrollWidth-X.clientWidth,O=T>1,y=Math.abs(X.scrollLeft);X.classList.toggle("persona-artifact-tab-fade-start",c&&O&&y>1),X.classList.toggle("persona-artifact-tab-fade-end",u&&O&&y<T-1)},Ae=0,$e=()=>{if(Ae)return;let X=()=>{Ae=0,Te(Z)};Ae=typeof requestAnimationFrame=="function"?requestAnimationFrame(X):setTimeout(X,0)};Z.addEventListener("scroll",()=>$e(),{passive:!0}),typeof ResizeObserver<"u"&&new ResizeObserver(()=>Te(Z)).observe(Z);let Fe=h("div","persona-artifact-content persona-flex-1 persona-min-h-0 persona-overflow-y-auto persona-p-3"),ot=()=>{Fe.scrollLeft=0},Qe=()=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(ot):setTimeout(ot,0)};if(l){for(let X of[Z,ye])X.style.paddingLeft=l,X.style.paddingRight=l;Fe.style.padding=l}v.appendChild(C),v.appendChild(Z),v.appendChild(ye),v.appendChild(Fe);let He=[],Ee=null,Xe=!1,on=!1,St=!0,ht=!1,Be=null,me="",Ke=null,Le=!1,ue=X=>X.artifactType==="markdown"&&!!X.file||r?k:"rendered",le=X=>{r||(X&&!Le?(C.insertBefore(M.element,I),Le=!0):!X&&Le&&(M.element.remove(),Le=!1))},be=()=>Ee&&He.find(X=>X.id===Ee)||He[He.length-1],yt=()=>{let X=es(be());if(!X){we.replaceChildren();return}let T=ee.filter(O=>O.visible===void 0||O.visible(X)).map(O=>ir(O,{documentChrome:r,onClick:()=>{let y=es(be());if(y)try{Promise.resolve(O.onClick(y)).catch(()=>{})}catch{}}}));we.replaceChildren(...T)},ve=()=>{yt();let X=r&&He.length<=1,T=!!he;if(Z.classList.toggle("persona-hidden",X||T),ye.classList.toggle("persona-hidden",X||!T),T&&he){let S=He.map(E=>E.id).join("|")+" "+(Ee??"");if(S!==me){me=S;let E=he({records:He,selectedId:Ee,onSelect:e.onSelect});ye.firstElementChild!==E&&ye.replaceChildren(E)}}else{pe.beforeRender(),Z.replaceChildren();let S=[],E=-1;for(let[W,q]of He.entries()){let H=h("button","persona-artifact-tab persona-shrink-0 persona-rounded-lg persona-px-2 persona-py-1 persona-text-xs persona-border persona-border-transparent persona-text-persona-primary");H.type="button";let $=q.artifactType==="markdown"?q.file:void 0,se=$?Sn($.path):q.title||q.id.slice(0,8),qe=$?.path||q.title||se;H.textContent=se,H.title=qe,H.setAttribute("aria-label",qe),q.id===Ee&&(H.classList.add("persona-bg-persona-container","persona-border-persona-border"),E=W),H.addEventListener("click",()=>e.onSelect(q.id)),Z.appendChild(H),S.push(H)}if(pe.render(S,E),E>=0&&Ee!==Be){Be=Ee;let W=S[E];typeof W.scrollIntoView=="function"&&W.scrollIntoView({block:"nearest",inline:"nearest"})}Te(Z)}let O=Ee&&He.find(S=>S.id===Ee)||He[He.length-1];if(!O){Fe.replaceChildren(),Ke=null,le(!1);return}let y=O.artifactType==="markdown"?O.file:void 0;if(le(!!y),r){let S=y?oo(y):O.artifactType==="markdown"?"MD":O.component??"Component",E=(O.title||"Document").trim(),W=y?Sn(y.path):E.replace(/\s*·\s*MD\s*$/i,"").trim()||"Document";ae.textContent=`${W} \xB7 ${S}`}else I.textContent=y?Sn(y.path):s;Ke?(Ke.el.parentElement!==Fe&&Fe.replaceChildren(Ke.el),Ke.update(O)):(Ke=Aa(O,{config:t,resolveViewMode:ue}),Fe.replaceChildren(Ke.el)),Fe.classList.toggle("persona-artifact-content-flush",!!Fe.querySelector(".persona-code-pre"))},de=()=>{let X=He.length>0;if(v.classList.toggle("persona-hidden",!X),w){let y=((typeof v.closest=="function"?v.closest("[data-persona-root]"):null)?.classList.contains("persona-artifact-narrow-host")??!1)||typeof window<"u"&&window.matchMedia("(max-width: 640px)").matches;X&&y&&Xe?(w.classList.remove("persona-hidden"),v.classList.add("persona-artifact-drawer-open")):(w.classList.add("persona-hidden"),v.classList.remove("persona-artifact-drawer-open"))}},un=()=>{ht=!1,ve(),de()};return{element:v,backdrop:w,update(X){let T=X.selectedId??X.artifacts[X.artifacts.length-1]?.id??null,O=T!==Ee;He=X.artifacts,Ee=T,He.length>0&&(Xe=!0),ht=!0,St&&un(),O&&ot()},setMobileOpen(X){Xe=X,!X&&w?(w.classList.add("persona-hidden"),v.classList.remove("persona-artifact-drawer-open")):de()},setExpanded(X){X!==on&&(on=X,Qe());let T=re(X?"minimize":"maximize",16,"currentColor",2);T&&Ce.replaceChildren(T);let O=X?"Collapse artifacts panel":"Expand artifacts panel";Ce.setAttribute("aria-label",O),Ce.title=O},setExpandToggleVisible(X){Ce.classList.toggle("persona-hidden",!X)},setCopyButtonVisible(X){r||J.classList.toggle("persona-hidden",!X)},setCustomActions(X){ee=X,yt()},setTabFade(X){let T=d(X);T.start===c&&T.end===u||(c=T.start,u=T.end,Te(Z))},setRenderTabBar(X){X!==he&&(he=X,me="",ve())},setVisible(X){X!==St&&(St=X,X&&ht&&un())}}}function Kt(t){return t?.features?.artifacts?.enabled===!0}function iu(t,e){if(t.classList.remove("persona-artifact-border-full","persona-artifact-border-left"),t.style.removeProperty("--persona-artifact-pane-border"),t.style.removeProperty("--persona-artifact-pane-border-left"),!Kt(e))return;let n=e.features?.artifacts?.layout,o=n?.paneBorder?.trim(),r=n?.paneBorderLeft?.trim();o?(t.classList.add("persona-artifact-border-full"),t.style.setProperty("--persona-artifact-pane-border",o)):r&&(t.classList.add("persona-artifact-border-left"),t.style.setProperty("--persona-artifact-pane-border-left",r))}function cy(t){t.style.removeProperty("--persona-artifact-doc-toolbar-icon-color"),t.style.removeProperty("--persona-artifact-doc-toggle-active-bg"),t.style.removeProperty("--persona-artifact-doc-toggle-active-border")}var lu=["panel","seamless","detached"];function bl(t){let e=t.features?.artifacts?.layout?.paneAppearance;return e&&lu.includes(e)?e:e?"panel":t.launcher?.detachedPanel?"detached":"panel"}function vl(t){return!t||!Kt(t)?!1:bl(t)==="detached"}function gs(t,e){if(!Kt(e)){t.style.removeProperty("--persona-artifact-split-gap"),t.style.removeProperty("--persona-artifact-pane-width"),t.style.removeProperty("--persona-artifact-pane-max-width"),t.style.removeProperty("--persona-artifact-pane-min-width"),t.style.removeProperty("--persona-artifact-pane-bg"),t.style.removeProperty("--persona-artifact-pane-padding"),cy(t),iu(t,e);return}let n=e.features?.artifacts?.layout,o=bl(e)==="detached"?"var(--persona-panel-inset)":"0";t.style.setProperty("--persona-artifact-split-gap",n?.splitGap??o),t.style.setProperty("--persona-artifact-pane-width",n?.paneWidth??"40%"),t.style.setProperty("--persona-artifact-pane-max-width",n?.paneMaxWidth??"28rem"),n?.paneMinWidth?t.style.setProperty("--persona-artifact-pane-min-width",n.paneMinWidth):t.style.removeProperty("--persona-artifact-pane-min-width");let r=n?.paneBackground?.trim();r?t.style.setProperty("--persona-artifact-pane-bg",r):t.style.removeProperty("--persona-artifact-pane-bg");let s=n?.panePadding?.trim();s?t.style.setProperty("--persona-artifact-pane-padding",s):t.style.removeProperty("--persona-artifact-pane-padding");let a=n?.documentToolbarIconColor?.trim();a?t.style.setProperty("--persona-artifact-doc-toolbar-icon-color",a):t.style.removeProperty("--persona-artifact-doc-toolbar-icon-color");let l=n?.documentToolbarToggleActiveBackground?.trim();l?t.style.setProperty("--persona-artifact-doc-toggle-active-bg",l):t.style.removeProperty("--persona-artifact-doc-toggle-active-bg");let p=n?.documentToolbarToggleActiveBorderColor?.trim();p?t.style.setProperty("--persona-artifact-doc-toggle-active-border",p):t.style.removeProperty("--persona-artifact-doc-toggle-active-border"),iu(t,e)}function ms(t,e){for(let l of lu)t.classList.remove(`persona-artifact-appearance-${l}`);if(t.style.removeProperty("--persona-artifact-pane-radius"),t.style.removeProperty("--persona-artifact-pane-shadow"),t.style.removeProperty("--persona-artifact-chat-shadow"),!Kt(e))return;let n=e.features?.artifacts?.layout,o=bl(e);t.classList.add(`persona-artifact-appearance-${o}`);let r=n?.paneBorderRadius?.trim();r&&t.style.setProperty("--persona-artifact-pane-radius",r);let s=n?.paneShadow?.trim();s&&t.style.setProperty("--persona-artifact-pane-shadow",s);let a=n?.chatShadow?.trim();a&&t.style.setProperty("--persona-artifact-chat-shadow",a)}function cu(t,e){return!e||!Kt(t)?!1:t.features?.artifacts?.layout?.expandLauncherPanelWhenOpen!==!1}function dy(t,e){if(!t?.trim())return e;let n=/^(\d+(?:\.\d+)?)px\s*$/i.exec(t.trim());return n?Math.max(0,Number(n[1])):e}function py(t){if(!t?.trim())return null;let e=/^(\d+(?:\.\d+)?)px\s*$/i.exec(t.trim());return e?Math.max(0,Number(e[1])):null}function uy(t,e,n){return n<e?e:Math.min(n,Math.max(e,t))}function fy(t,e,n,o){let r=t-o-2*e-n;return Math.max(0,r)}function wl(t,e){let o=(e.getComputedStyle(t).gap||"0px").trim().split(/\s+/)[0]??"0px",r=/^([\d.]+)px$/i.exec(o);if(r)return Number(r[1]);let s=/^([\d.]+)/.exec(o);return s?Number(s[1]):8}function du(t,e,n,o,r,s){let a=dy(r,200),l=fy(e,n,o,200);l=Math.max(a,l);let p=py(s);return p!==null&&(l=Math.min(l,p)),uy(t,a,l)}var pu={init:{title:"Schedule a Demo",description:"Share the basics and we'll follow up with a confirmation.",fields:[{name:"name",label:"Full name",placeholder:"Jane Doe",required:!0},{name:"email",label:"Work email",placeholder:"jane@example.com",type:"email",required:!0},{name:"notes",label:"What would you like to cover?",type:"textarea"}],submitLabel:"Submit details"},followup:{title:"Additional Information",description:"Provide any extra details to tailor the next steps.",fields:[{name:"company",label:"Company",placeholder:"Acme Inc."},{name:"context",label:"Context",type:"textarea",placeholder:"Share more about your use case"}],submitLabel:"Send"}},xl=(t,e,n,o)=>{let r=t.querySelectorAll("[data-tv-form]");r.length&&r.forEach(s=>{if(s.dataset.enhanced==="true")return;let a=s.dataset.tvForm??"init";s.dataset.enhanced="true";let l=pu[a]??pu.init;s.classList.add("persona-form-card","persona-space-y-4");let p=h("div","persona-space-y-1"),d=h("h3","persona-text-base persona-font-semibold persona-text-persona-primary");if(d.textContent=l.title,p.appendChild(d),l.description){let v=h("p","persona-text-sm persona-text-persona-muted");v.textContent=l.description,p.appendChild(v)}let c=document.createElement("form");c.className="persona-form-grid persona-space-y-3",l.fields.forEach(v=>{let C=h("label","persona-form-field persona-flex persona-flex-col persona-gap-1");C.htmlFor=`${e.id}-${a}-${v.name}`;let I=h("span","persona-text-xs persona-font-medium persona-text-persona-muted");I.textContent=v.label,C.appendChild(I);let B=v.type??"text",k;B==="textarea"?(k=document.createElement("textarea"),k.rows=3):(k=document.createElement("input"),k.type=B),k.className="persona-rounded-xl persona-border persona-border-gray-200 persona-bg-white persona-px-3 persona-py-2 persona-text-sm persona-text-persona-primary focus:persona-outline-none focus:persona-border-persona-primary",k.id=`${e.id}-${a}-${v.name}`,k.name=v.name,k.placeholder=v.placeholder??"",v.required&&(k.required=!0),C.appendChild(k),c.appendChild(C)});let u=h("div","persona-flex persona-items-center persona-justify-between persona-gap-2"),w=h("div","persona-text-xs persona-text-persona-muted persona-min-h-[1.5rem]"),f=h("button","persona-inline-flex persona-items-center persona-rounded-full persona-bg-persona-primary persona-px-4 persona-py-2 persona-text-sm persona-font-semibold persona-text-white disabled:persona-opacity-60 persona-cursor-pointer");f.type="submit",f.textContent=l.submitLabel??"Submit",u.appendChild(w),u.appendChild(f),c.appendChild(u),s.replaceChildren(p,c),c.addEventListener("submit",async v=>{v.preventDefault();let C=n.formEndpoint??"/form",I=new FormData(c),B={};I.forEach((k,M)=>{B[M]=k}),B.type=a,f.disabled=!0,w.textContent="Submitting\u2026";try{let k=await fetch(C,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(B)});if(!k.ok)throw new Error(`Form submission failed (${k.status})`);let M=await k.json();w.textContent=M.message??"Thanks! We'll be in touch soon.",M.success&&M.nextPrompt&&await o.sendMessage(String(M.nextPrompt))}catch(k){w.textContent=k instanceof Error?k.message:"Something went wrong. Please try again."}finally{f.disabled=!1}})})};var Cl=class{constructor(){this.plugins=new Map}register(e){this.plugins.has(e.id)&&console.warn(`Plugin "${e.id}" is already registered. Overwriting.`),this.plugins.set(e.id,e),e.onRegister?.()}unregister(e){let n=this.plugins.get(e);n&&(n.onUnregister?.(),this.plugins.delete(e))}getAll(){return Array.from(this.plugins.values()).sort((e,n)=>(n.priority??0)-(e.priority??0))}getForInstance(e){let n=this.getAll();if(!e||e.length===0)return n;let o=new Set(e.map(s=>s.id));return[...n.filter(s=>!o.has(s.id)),...e].sort((s,a)=>(a.priority??0)-(s.priority??0))}clear(){this.plugins.forEach(e=>e.onUnregister?.()),this.plugins.clear()}},Al=new Cl;var uu=t=>typeof t=="object"&&t!==null&&!Array.isArray(t),gy=new Set(["headers","agent","storageAdapter","components","targetProviders","voiceRecognition.provider.custom","features.streamAnimation.plugins"]),fu=(t,e,n)=>{if(!uu(t)||!uu(e)||gy.has(n))return e;let o={...t};for(let r of Object.keys(e)){if(e[r]===void 0){delete o[r];continue}let s=n?`${n}.${r}`:r;o[r]=fu(t[r],e[r],s)}return o};function gu(t,e){let n=fu(t,e,"");return fa(n)}var mu=()=>{let t=new Map,e=(r,s)=>(t.has(r)||t.set(r,new Set),t.get(r).add(s),()=>n(r,s)),n=(r,s)=>{t.get(r)?.delete(s)};return{on:e,off:n,emit:(r,s)=>{t.get(r)?.forEach(a=>{try{a(s)}catch(l){typeof console<"u"&&console.error("[AgentWidget] Event handler error:",l)}})}}};var my=t=>{let e=t.match(/```(?:json)?\s*([\s\S]*?)```/i);return e?e[1]:t},hy=t=>{let e=t.trim(),n=e.indexOf("{");if(n===-1)return null;let o=0;for(let r=n;r<e.length;r+=1){let s=e[r];if(s==="{"&&(o+=1),s==="}"&&(o-=1,o===0))return e.slice(n,r+1)}return null},Tl=({text:t})=>{if(!t||!t.includes("{"))return null;try{let e=my(t),n=hy(e);if(!n)return null;let o=JSON.parse(n);if(!o||typeof o!="object"||!o.action)return null;let{action:r,...s}=o;return{type:String(r),payload:s,raw:o}}catch{return null}},Sl=t=>typeof t=="string"?t:t==null?"":String(t),hs={message:t=>t.type!=="message"?void 0:{handled:!0,displayText:Sl(t.payload.text)},messageAndClick:(t,e)=>{if(t.type!=="message_and_click")return;let n=t.payload,o=Sl(n.element);if(o&&e.document?.querySelector){let r=e.document.querySelector(o);r?setTimeout(()=>{r.click()},400):typeof console<"u"&&console.warn("[AgentWidget] Element not found for selector:",o)}return{handled:!0,displayText:Sl(n.text)}}},hu=t=>Array.isArray(t)?t.map(e=>String(e)):[],Ml=t=>{let e=new Set(hu(t.getSessionMetadata().processedActionMessageIds)),n=()=>{e=new Set(hu(t.getSessionMetadata().processedActionMessageIds))},o=()=>{let s=Array.from(e);t.updateSessionMetadata(a=>({...a,processedActionMessageIds:s}))};return{process:s=>{if(s.streaming||s.message.role!=="assistant"||!s.text||e.has(s.message.id))return null;let a=typeof s.raw=="string"&&s.raw||typeof s.message.rawContent=="string"&&s.message.rawContent||typeof s.text=="string"&&s.text||null;!a&&typeof s.text=="string"&&s.text.trim().startsWith("{")&&typeof console<"u"&&console.warn("[AgentWidget] Structured response detected but no raw payload was provided. Ensure your stream parser returns { text, raw }.");let l=a?t.parsers.reduce((d,c)=>d||c?.({text:a,message:s.message})||null,null):null;if(!l)return null;e.add(s.message.id),o();let p={action:l,message:s.message};t.emit("action:detected",p);for(let d of t.handlers)if(d)try{let c=()=>{t.emit("action:resubmit",p)},u=d(l,{message:s.message,metadata:t.getSessionMetadata(),updateMetadata:t.updateSessionMetadata,document:t.documentRef,triggerResubmit:c});if(!u)continue;if(u.handled){let w=u.persistMessage!==!1;return{text:u.displayText!==void 0?u.displayText:"",persist:w,resubmit:u.resubmit}}}catch(c){typeof console<"u"&&console.error("[AgentWidget] Action handler error:",c)}return{text:"",persist:!0}},syncFromMetadata:n}};var yy=t=>{if(!t)return null;try{return JSON.parse(t)}catch(e){return typeof console<"u"&&console.error("[AgentWidget] Failed to parse stored state:",e),null}},by=t=>t.map(e=>({...e,streaming:!1})),vy=t=>t.map(e=>({...e,status:"complete"})),yu=(t="persona-state")=>{let e=()=>typeof window>"u"||!window.localStorage?null:window.localStorage;return{load:()=>{let n=e();return n?yy(n.getItem(t)):null},save:n=>{let o=e();if(o)try{let r={...n,messages:n.messages?by(n.messages):void 0,artifacts:n.artifacts?vy(n.artifacts):void 0};o.setItem(t,JSON.stringify(r))}catch(r){typeof console<"u"&&console.error("[AgentWidget] Failed to persist state:",r)}},clear:()=>{let n=e();if(n)try{n.removeItem(t)}catch(o){typeof console<"u"&&console.error("[AgentWidget] Failed to clear stored state:",o)}}}};import{parse as nA,STR as oA,OBJ as rA}from"partial-json";function bu(t,e){let{config:n,message:o,onPropsUpdate:r}=e,s=On.get(t.component);if(!s)return console.warn(`[ComponentMiddleware] Component "${t.component}" not found in registry. Falling back to default rendering.`),null;let a={message:o,config:n,updateProps:l=>{r&&r(l)}};try{return s(t.props,a)}catch(l){return console.error(`[ComponentMiddleware] Error rendering component "${t.component}":`,l),null}}function vu(t){if(typeof t.rawContent=="string"&&t.rawContent.length>0)return t.rawContent;if(typeof t.content=="string"){let e=t.content.trim();if(e.startsWith("{")||e.startsWith("["))return t.content}return null}function El(t){let e=vu(t);if(!e)return!1;try{let n=JSON.parse(e);return typeof n=="object"&&n!==null&&"component"in n&&typeof n.component=="string"}catch{return!1}}function wu(t){let e=vu(t);if(!e)return null;try{let n=JSON.parse(e);if(typeof n=="object"&&n!==null&&"component"in n&&typeof n.component=="string"){let o=n;return{component:o.component,props:o.props&&typeof o.props=="object"&&o.props!==null?o.props:{},raw:e}}}catch{}return null}var wy=["Very dissatisfied","Dissatisfied","Neutral","Satisfied","Very satisfied"];function xu(t){let{onSubmit:e,onDismiss:n,title:o="How satisfied are you?",subtitle:r="Please rate your experience",commentPlaceholder:s="Share your thoughts (optional)...",submitText:a="Submit",skipText:l="Skip",showComment:p=!0,ratingLabels:d=wy}=t,c=document.createElement("div");c.className="persona-feedback-container persona-feedback-csat",c.setAttribute("role","dialog"),c.setAttribute("aria-label","Customer satisfaction feedback");let u=null,w=document.createElement("div");w.className="persona-feedback-content";let f=document.createElement("div");f.className="persona-feedback-header";let v=document.createElement("h3");v.className="persona-feedback-title",v.textContent=o,f.appendChild(v);let C=document.createElement("p");C.className="persona-feedback-subtitle",C.textContent=r,f.appendChild(C),w.appendChild(f);let I=document.createElement("div");I.className="persona-feedback-rating persona-feedback-rating-csat",I.setAttribute("role","radiogroup"),I.setAttribute("aria-label","Satisfaction rating from 1 to 5");let B=[];for(let K=1;K<=5;K++){let x=document.createElement("button");x.type="button",x.className="persona-feedback-rating-btn persona-feedback-star-btn",x.setAttribute("role","radio"),x.setAttribute("aria-checked","false"),x.setAttribute("aria-label",`${K} star${K>1?"s":""}: ${d[K-1]}`),x.title=d[K-1],x.dataset.rating=String(K),x.innerHTML=`
|
|
43
43
|
<svg class="persona-feedback-star" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
44
44
|
<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon>
|
|
45
45
|
</svg>
|
|
46
|
-
`,x.addEventListener("click",()=>{u=K,B.forEach((U,j)=>{let J=j<K;U.classList.toggle("selected",J),U.setAttribute("aria-checked",j===K-1?"true":"false")})}),B.push(x),I.appendChild(x)}w.appendChild(I);let k=null;if(p){let K=document.createElement("div");K.className="persona-feedback-comment-container",k=document.createElement("textarea"),k.className="persona-feedback-comment",k.placeholder=s,k.rows=3,k.setAttribute("aria-label","Additional comments"),K.appendChild(k),w.appendChild(K)}let M=document.createElement("div");M.className="persona-feedback-actions";let P=document.createElement("button");P.type="button",P.className="persona-feedback-btn persona-feedback-btn-skip",P.textContent=l,P.addEventListener("click",()=>{n?.(),c.remove()});let z=document.createElement("button");return z.type="button",z.className="persona-feedback-btn persona-feedback-btn-submit",z.textContent=a,z.addEventListener("click",async()=>{if(u===null){I.classList.add("persona-feedback-shake"),setTimeout(()=>I.classList.remove("persona-feedback-shake"),500);return}z.disabled=!0,z.textContent="Submitting...";try{let K=k?.value.trim()||void 0;await e(u,K),c.remove()}catch(K){z.disabled=!1,z.textContent=a,console.error("[CSAT Feedback] Failed to submit:",K)}}),M.appendChild(P),M.appendChild(z),w.appendChild(M),c.appendChild(w),c}function Cu(t){let{onSubmit:e,onDismiss:n,title:o="How likely are you to recommend us?",subtitle:r="On a scale of 0 to 10",commentPlaceholder:s="What could we do better? (optional)...",submitText:a="Submit",skipText:l="Skip",showComment:p=!0,lowLabel:d="Not likely",highLabel:c="Very likely"}=t,u=document.createElement("div");u.className="persona-feedback-container persona-feedback-nps",u.setAttribute("role","dialog"),u.setAttribute("aria-label","Net Promoter Score feedback");let w=null,f=document.createElement("div");f.className="persona-feedback-content";let v=document.createElement("div");v.className="persona-feedback-header";let C=document.createElement("h3");C.className="persona-feedback-title",C.textContent=o,v.appendChild(C);let I=document.createElement("p");I.className="persona-feedback-subtitle",I.textContent=r,v.appendChild(I),f.appendChild(v);let B=document.createElement("div");B.className="persona-feedback-rating persona-feedback-rating-nps",B.setAttribute("role","radiogroup"),B.setAttribute("aria-label","Likelihood rating from 0 to 10");let k=document.createElement("div");k.className="persona-feedback-labels";let M=document.createElement("span");M.className="persona-feedback-label-low",M.textContent=d;let P=document.createElement("span");P.className="persona-feedback-label-high",P.textContent=c,k.appendChild(M),k.appendChild(P);let z=document.createElement("div");z.className="persona-feedback-numbers";let K=[];for(let D=0;D<=10;D++){let F=document.createElement("button");F.type="button",F.className="persona-feedback-rating-btn persona-feedback-number-btn",F.setAttribute("role","radio"),F.setAttribute("aria-checked","false"),F.setAttribute("aria-label",`Rating ${D} out of 10`),F.textContent=String(D),F.dataset.rating=String(D),D<=6?F.classList.add("persona-feedback-detractor"):D<=8?F.classList.add("persona-feedback-passive"):F.classList.add("persona-feedback-promoter"),F.addEventListener("click",()=>{w=D,K.forEach((ie,ge)=>{ie.classList.toggle("selected",ge===D),ie.setAttribute("aria-checked",ge===D?"true":"false")})}),K.push(F),z.appendChild(F)}B.appendChild(k),B.appendChild(z),f.appendChild(B);let x=null;if(p){let D=document.createElement("div");D.className="persona-feedback-comment-container",x=document.createElement("textarea"),x.className="persona-feedback-comment",x.placeholder=s,x.rows=3,x.setAttribute("aria-label","Additional comments"),D.appendChild(x),f.appendChild(D)}let U=document.createElement("div");U.className="persona-feedback-actions";let j=document.createElement("button");j.type="button",j.className="persona-feedback-btn persona-feedback-btn-skip",j.textContent=l,j.addEventListener("click",()=>{n?.(),u.remove()});let J=document.createElement("button");return J.type="button",J.className="persona-feedback-btn persona-feedback-btn-submit",J.textContent=a,J.addEventListener("click",async()=>{if(w===null){z.classList.add("persona-feedback-shake"),setTimeout(()=>z.classList.remove("persona-feedback-shake"),500);return}J.disabled=!0,J.textContent="Submitting...";try{let D=x?.value.trim()||void 0;await e(w,D),u.remove()}catch(D){J.disabled=!1,J.textContent=a,console.error("[NPS Feedback] Failed to submit:",D)}}),U.appendChild(j),U.appendChild(J),f.appendChild(U),u.appendChild(f),u}var ur="persona-chat-history",xy=30*1e3,Cy=641,Ay={"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 Sy(t){if(!t)return[];let e=[],n=Array.from(t.items??[]);for(let o of n){if(o.kind!=="file"||!o.type.startsWith("image/"))continue;let r=o.getAsFile();if(!r)continue;if(r.name){e.push(r);continue}let s=Ay[r.type]??"png";e.push(new File([r],`clipboard-image-${Date.now()}.${s}`,{type:r.type,lastModified:Date.now()}))}if(e.length>0)return e;for(let o of Array.from(t.files??[]))o.type.startsWith("image/")&&e.push(o);return e}function qa(t){if(!t)return!1;let e=t.types;return e?typeof e.contains=="function"?e.contains("Files"):Array.from(e).includes("Files"):!1}function Ty(t){return t?t===!0?{storage:"session",keyPrefix:"persona-",persist:{openState:!0,voiceState:!0,focusInput:!0},clearOnChatClear:!0}:{storage:t.storage??"session",keyPrefix:t.keyPrefix??"persona-",persist:{openState:t.persist?.openState??!0,voiceState:t.persist?.voiceState??!0,focusInput:t.persist?.focusInput??!0},clearOnChatClear:t.clearOnChatClear??!0}:null}function My(t){try{let e=t==="local"?localStorage:sessionStorage,n="__persist_test__";return e.setItem(n,"1"),e.removeItem(n),e}catch{return null}}var kl=t=>!t||typeof t!="object"?{}:{...t},Au=t=>t.map(e=>({...e,streaming:!1})),Su=(t,e,n)=>{let o=t?.markdown?Ks(t.markdown):null,r=Gs(t?.sanitize);return t?.postprocessMessage&&r&&t?.sanitize===void 0&&console.warn("[Persona] A custom postprocessMessage is active with the default HTML sanitizer. Tags or attributes not in the built-in allowlist will be stripped. To keep custom HTML, set `sanitize: false` or provide a custom sanitize function."),s=>{let a=s.text??"",l=s.message.rawContent??null;if(e){let c=e.process({text:a,raw:l??a,message:s.message,streaming:s.streaming});c!==null&&(a=c.text,c.persist||(s.message.__skipPersist=!0),c.resubmit&&!s.streaming&&n&&n())}let p=Hn()!==null,d;if(t?.postprocessMessage){let c=t.postprocessMessage({...s,text:a,raw:l??s.text??""});d=r?r(c):c}else if(o){let c=s.streaming?ed(a):a,u=o(c);d=r&&p?r(u):u}else d=Zn(a);return d}};function Tu(t){let e=h("div","persona-attachment-drop-overlay");t?.background&&e.style.setProperty("--persona-drop-overlay-bg",t.background),t?.backdropBlur!==void 0&&e.style.setProperty("--persona-drop-overlay-blur",t.backdropBlur),t?.border&&e.style.setProperty("--persona-drop-overlay-border",t.border),t?.borderRadius&&e.style.setProperty("--persona-drop-overlay-radius",t.borderRadius),t?.inset&&e.style.setProperty("--persona-drop-overlay-inset",t.inset),t?.labelSize&&e.style.setProperty("--persona-drop-overlay-label-size",t.labelSize),t?.labelColor&&e.style.setProperty("--persona-drop-overlay-label-color",t.labelColor);let n=t?.iconName??"upload",o=t?.iconSize??"48px",r=t?.iconColor??"rgba(59, 130, 246, 0.6)",s=t?.iconStrokeWidth??.5,a=re(n,o,r,s);if(a&&e.appendChild(a),t?.label){let l=h("span","persona-drop-overlay-label");l.textContent=t.label,e.appendChild(l)}return e}var Ey=(t,e)=>{let n={...t};for(let[o,r]of Object.entries(e)){let s=n[o];n[o]=s?{...s,...r}:r}return n},ky=t=>t.reduce((e,n)=>({blocks:[...e.blocks,...n.blocks],contentParts:[...e.contentParts,...n.contentParts],context:Ey(e.context,n.context)}),{blocks:[],contentParts:[],context:{}}),Mu=(t,e,n)=>{if(t==null)throw new Error('createAgentExperience: mount must be a non-null HTMLElement (e.g. pass document.getElementById("my-root") after the node exists).');t.id&&!t.getAttribute("data-persona-instance")&&t.setAttribute("data-persona-instance",t.id),t.hasAttribute("data-persona-root")||t.setAttribute("data-persona-root","true");let o=fa(e),r=Al.getForInstance(o.plugins),{plugin:s,teardown:a}=Zp();o.components&&On.registerAll(o.components);let l=mu(),d=o.persistState===!1?null:o.storageAdapter??yu(),c={},u=null,w=!1,f=i=>{if(o.onStateLoaded)try{let g=o.onStateLoaded(i);if(g&&typeof g=="object"&&"state"in g){let{state:m,open:b}=g;return b&&(w=!0),m}return g}catch(g){typeof console<"u"&&console.error("[AgentWidget] onStateLoaded hook failed:",g)}return i};if(d?.load)try{let i=d.load();if(i&&typeof i.then=="function")u=i.then(g=>f(g??{messages:[],metadata:{}}));else{let m=f(i??{messages:[],metadata:{}});m.metadata&&(c=kl(m.metadata)),m.messages?.length&&(o={...o,initialMessages:m.messages}),m.artifacts?.length&&(o={...o,initialArtifacts:m.artifacts,initialSelectedArtifactId:m.selectedArtifactId??null})}}catch(i){typeof console<"u"&&console.error("[AgentWidget] Failed to load stored state:",i)}else if(o.onStateLoaded)try{let i=f({messages:[],metadata:{}});i.messages?.length&&(o={...o,initialMessages:i.messages})}catch(i){typeof console<"u"&&console.error("[AgentWidget] onStateLoaded hook failed:",i)}let v=()=>c,C=i=>{c=i({...c})??{},ci()},I=o.actionParsers&&o.actionParsers.length?o.actionParsers:[Tl],B=o.actionHandlers&&o.actionHandlers.length?o.actionHandlers:[hs.message,hs.messageAndClick],k=Ml({parsers:I,handlers:B,getSessionMetadata:v,updateSessionMetadata:C,emit:l.emit,documentRef:typeof document<"u"?document:null});k.syncFromMetadata();let M=o.launcher?.enabled??!0,P=o.launcher?.autoExpand??!1,z=o.autoFocusInput??!1,K=P,x=M,U=o.layout?.header?.layout,j=!1,J=()=>ls(o),D=()=>M||J(),F=J()?!1:M?P:!0,ie=!1,ge=null,Ce=()=>{ie=!0,ge&&clearTimeout(ge),ge=setTimeout(()=>{ie&&(typeof console<"u"&&console.warn("[AgentWidget] Resubmit requested but no injection occurred within 10s"),ie=!1)},1e4)},we=Su(o,k,Ce),ee=o.features?.showReasoning??!0,ce=o.features?.showToolCalls??!0,Y=o.features?.showEventStreamToggle??!1,ae=o.features?.scrollToBottom??{},Z=o.features?.scrollBehavior??{},ye=`${(typeof o.persistState=="object"?o.persistState?.keyPrefix:void 0)??"persona-"}event-stream`,pe=Y?new us(ye):null,Te=o.features?.eventStream?.maxEvents??2e3,Ae=Y?new ps(Te,pe):null,Oe=Y?new fs:null,Fe=null,ot=!1,Ge=null,Ie=0;pe?.open().then(()=>Ae?.restore()).catch(i=>{o.debug&&console.warn("[AgentWidget] IndexedDB not available for event stream:",i)});let Me={onCopy:i=>{l.emit("message:copy",i),_?.isClientTokenMode()&&_.submitMessageFeedback(i.id,"copy").catch(g=>{o.debug&&console.error("[AgentWidget] Failed to submit copy feedback:",g)}),o.messageActions?.onCopy?.(i)},onFeedback:i=>{l.emit("message:feedback",i),_?.isClientTokenMode()&&_.submitMessageFeedback(i.messageId,i.type).catch(g=>{o.debug&&console.error("[AgentWidget] Failed to submit feedback:",g)}),o.messageActions?.onFeedback?.(i)}},Qe=o.statusIndicator??{},on=i=>i==="idle"?Qe.idleText??It.idle:i==="connecting"?Qe.connectingText??It.connecting:i==="connected"?Qe.connectedText??It.connected:i==="error"?Qe.errorText??It.error:i==="paused"?Qe.pausedText??It.paused:i==="resuming"?Qe.resumingText??It.resuming:It[i];function Tt(i,g,m,b){if(b==="idle"&&m.idleLink){i.textContent="";let A=document.createElement("a");A.href=m.idleLink,A.target="_blank",A.rel="noopener noreferrer",A.textContent=g,A.style.color="inherit",A.style.textDecoration="none",i.appendChild(A)}else i.textContent=g}let yt=$p({config:o,showClose:D()}),{wrapper:Re,panel:me,pillRoot:Ve}=yt.shell,ke=yt.panelElements,{container:ue,body:le,messagesWrapper:be,suggestions:bt,textarea:ve,sendButton:de,sendButtonWrapper:un,composerForm:X,statusText:T,introTitle:O,introSubtitle:y,closeButton:S,iconHolder:E,headerTitle:W,headerSubtitle:q,header:H,footer:$,actionsRow:se,rightActions:je}=ke,Ee=ke.leftActions,rt=ke.setSendButtonMode,V=ke.micButton,$e=ke.micButtonWrapper,Se=ke.attachmentButton,Pe=ke.attachmentButtonWrapper,Le=ke.attachmentInput,Xe=ke.attachmentPreviewsContainer;ue.classList.add("persona-relative"),le.classList.add("persona-relative");let lo=12,co=()=>ae.label??"",Ka=()=>ae.iconName??"arrow-down",bs=()=>ae.enabled!==!1,Gt=()=>Z.mode??"anchor-top",_n=()=>Gt()==="follow"||Gt()==="anchor-top"&&Cr,Bl=()=>Z.anchorTopOffset??16,Nu=()=>Z.restorePosition??"bottom",Dl=()=>Z.pauseOnInteraction===!0,Fl=()=>Z.showActivityWhilePinned!==!1,Nl=()=>Z.announce===!0,Et=h("button","persona-scroll-to-bottom-indicator persona-absolute persona-bottom-3 persona-left-1/2 persona-z-10 persona-flex persona-items-center persona-gap-1 persona-text-xs persona-transform persona--translate-x-1/2 persona-cursor-pointer");Et.type="button",Et.style.display="none",Et.setAttribute("data-persona-scroll-to-bottom","true");let gr=h("span","persona-flex persona-items-center"),Ga=h("span",""),po=h("span","");po.setAttribute("data-persona-scroll-to-bottom-count",""),po.style.display="none",Et.append(gr,Ga,po),ue.appendChild(Et);let $n=h("div","persona-stream-anchor-spacer");$n.setAttribute("aria-hidden","true"),$n.setAttribute("data-persona-anchor-spacer",""),$n.style.flexShrink="0",$n.style.pointerEvents="none",$n.style.height="0px",le.appendChild($n);let uo=h("div","persona-sr-only");uo.setAttribute("aria-live","polite"),uo.setAttribute("aria-atomic","true"),uo.setAttribute("role","status"),uo.setAttribute("data-persona-live-region",""),Object.assign(uo.style,{position:"absolute",width:"1px",height:"1px",margin:"-1px",padding:"0",overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(50%)",whiteSpace:"nowrap",border:"0"}),ue.appendChild(uo);let mr=null,vs=null,Ol=i=>{!Nl()||!i||(vs=i,mr===null&&(mr=setTimeout(()=>{mr=null,vs&&Nl()&&(uo.textContent=vs),vs=null},400)))},Ho=()=>{let g=$.style.display==="none"?0:$.offsetHeight;Et.style.bottom=`${g+lo}px`};Ho();let _l=()=>{let i=!!co();Et.setAttribute("aria-label",co()||"Jump to latest"),Et.title=co(),Et.setAttribute("data-persona-scroll-to-bottom-has-label",i?"true":"false"),gr.innerHTML="";let g=re(Ka(),"14px","currentColor",2);g?(gr.appendChild(g),gr.style.display=""):gr.style.display="none",Ga.textContent=co(),Ga.style.display=i?"":"none"};_l();let Ct=null,Jt=null,$l=null,zl=r.find(i=>i.renderHeader);if(zl?.renderHeader){let i=zl.renderHeader({config:o,defaultRenderer:()=>{let g=Po({config:o,showClose:D()});return cs(ue,g,o),g.header},onClose:()=>dt(!1,"user")});if(i){let g=ue.querySelector(".persona-border-b-persona-divider");g&&(g.replaceWith(i),H=i,yt.header.element=i)}}let Qa=()=>{if(!Ae)return;if(ot=!0,!Fe&&Ae&&(Fe=ru({buffer:Ae,getFullHistory:()=>Ae.getAllFromStore(),onClose:()=>hr(),config:o,plugins:r,getThroughput:()=>Oe?.getMetric()??{status:"idle"}})),Fe&&(le.style.display="none",$.parentNode?.insertBefore(Fe.element,$),Fe.update()),et){et.style.boxShadow=`inset 0 0 0 1.5px ${Vt.actionIconColor}`;let g=o.features?.eventStream?.classNames?.toggleButtonActive;g&&g.split(/\s+/).forEach(m=>m&&et.classList.add(m))}let i=()=>{if(!ot)return;let g=Date.now();g-Ie>=200&&(Fe?.update(),Ie=g),Ge=requestAnimationFrame(i)};Ie=0,Ge=requestAnimationFrame(i),Zt(),l.emit("eventStream:opened",{timestamp:Date.now()})},hr=()=>{if(ot){if(ot=!1,Fe&&Fe.element.remove(),le.style.display="",et){et.style.boxShadow="";let i=o.features?.eventStream?.classNames?.toggleButtonActive;i&&i.split(/\s+/).forEach(g=>g&&et.classList.remove(g))}Ge!==null&&(cancelAnimationFrame(Ge),Ge=null),Zt(),l.emit("eventStream:closed",{timestamp:Date.now()})}},et=null;if(Y){let i=o.features?.eventStream?.classNames,g="persona-inline-flex persona-items-center persona-justify-center persona-rounded-full hover:persona-opacity-80 persona-cursor-pointer persona-border-none persona-bg-transparent persona-p-1"+(i?.toggleButton?" "+i.toggleButton:"");et=h("button",g),et.style.width="28px",et.style.height="28px",et.style.color=Vt.actionIconColor,et.type="button",et.setAttribute("aria-label","Event Stream"),et.title="Event Stream";let m=re("activity","18px","currentColor",1.5);m&&et.appendChild(m);let b=ke.clearChatButtonWrapper,A=ke.closeButtonWrapper,L=b||A;L&&L.parentNode===H?H.insertBefore(et,L):H.appendChild(et),et.addEventListener("click",()=>{ot?hr():Qa()})}let Ou=i=>{let g=o.attachments;if(!g?.enabled)return;let m=i.querySelector("[data-persona-composer-attachment-previews]")??i.querySelector(".persona-attachment-previews");if(!m){m=h("div","persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2"),m.setAttribute("data-persona-composer-attachment-previews",""),m.style.display="none";let A=i.querySelector("[data-persona-composer-form]");A?.parentNode?A.parentNode.insertBefore(m,A):i.insertBefore(m,i.firstChild)}if(!(i.querySelector("[data-persona-composer-attachment-input]")??i.querySelector('input[type="file"]'))){let A=h("input");A.type="file",A.setAttribute("data-persona-composer-attachment-input",""),A.accept=(g.allowedTypes??Fn).join(","),A.multiple=(g.maxFiles??4)>1,A.style.display="none",A.setAttribute("aria-label",g.buttonTooltipText??"Attach files"),i.appendChild(A)}},Ul=r.find(i=>i.renderComposer);if(Ul?.renderComposer){let i=o.composer,g=Ul.renderComposer({config:o,defaultRenderer:()=>$a({config:o}).footer,onSubmit:m=>{if(!_||_.isStreaming())return;let b=m.trim(),A=Ct?.hasAttachments()??!1;if(!b&&!A)return;bc();let L;A&&(L=[],L.push(...Ct.getContentParts()),b&&L.push(Zo(b))),_.sendMessage(b,{contentParts:L}),A&&Ct.clearAttachments()},streaming:!1,disabled:!1,openAttachmentPicker:()=>{Le?.click()},models:i?.models,selectedModelId:i?.selectedModelId,onModelChange:m=>{o.composer={...o.composer,selectedModelId:m},o.agent&&(o.agent={...o.agent,model:m})},onVoiceToggle:o.voiceRecognition?.enabled===!0?()=>{$l?.()}:void 0});g&&(yt.replaceComposer(g),$=yt.composer.footer)}let _u=i=>{let g=(...fe)=>{for(let ne of fe){let xe=i.querySelector(ne);if(xe)return xe}return null},m=i.querySelector("[data-persona-composer-form]"),b=i.querySelector("[data-persona-composer-input]"),A=i.querySelector("[data-persona-composer-submit]"),L=i.querySelector("[data-persona-composer-mic]"),Q=i.querySelector("[data-persona-composer-status]");m&&(X=m),b&&(ve=b),A&&(de=A),L&&(V=L,$e=L.parentElement),Q&&(T=Q);let N=g("[data-persona-composer-suggestions]",".persona-mb-3.persona-flex.persona-flex-wrap.persona-gap-2");N&&(bt=N);let G=g("[data-persona-composer-attachment-button]",".persona-attachment-button");G&&(Se=G,Pe=G.parentElement),Le=g("[data-persona-composer-attachment-input]",'input[type="file"]'),Xe=g("[data-persona-composer-attachment-previews]",".persona-attachment-previews");let oe=g("[data-persona-composer-actions]",".persona-widget-composer .persona-flex.persona-items-center.persona-justify-between");oe&&(se=oe),Ee=g(".persona-widget-composer__left-actions")};Ou($),_u($);let zn=o.layout?.contentMaxWidth??(J()?o.launcher?.composerBar?.contentMaxWidth??"720px":void 0);if(zn&&(be.style.maxWidth=zn,be.style.marginLeft="auto",be.style.marginRight="auto",be.style.width="100%"),zn&&X&&!J()&&(X.style.maxWidth=zn,X.style.marginLeft="auto",X.style.marginRight="auto"),zn&&bt&&!J()&&(bt.style.maxWidth=zn,bt.style.marginLeft="auto",bt.style.marginRight="auto"),zn&&Xe&&!J()&&(Xe.style.maxWidth=zn,Xe.style.marginLeft="auto",Xe.style.marginRight="auto"),o.attachments?.enabled&&Le&&Xe){Ct=Qr.fromConfig(o.attachments),Ct.setPreviewsContainer(Xe),Le.addEventListener("change",m=>{let b=m.target;Ct?.handleFileSelect(b.files),b.value=""});let i=o.attachments.dropOverlay,g=Tu(i);ue.appendChild(g)}let $u=()=>Jt?.prefetch();if(o.contextMentions?.enabled&&ve&&(Jt=Qd({config:o,textarea:ve,anchor:X??ve,getMessages:()=>_.getMessages(),liveRegionHost:ue}),Jt)){let i=ve;i.parentElement?.insertBefore(Jt.contextRow,i);let g=Jt.affordanceButtons;for(let m=g.length-1;m>=0;m--){let b=g[m];Ee?Ee.insertBefore(b,Ee.firstChild):X?.appendChild(b)}}(()=>{let i=o.layout?.slots??{},g=b=>{switch(b){case"body-top":return ue.querySelector(".persona-rounded-2xl.persona-bg-persona-surface.persona-p-6")||null;case"messages":return be;case"footer-top":return bt;case"composer":return X;case"footer-bottom":return T;default:return null}},m=(b,A)=>{switch(b){case"header-left":case"header-center":case"header-right":if(b==="header-left")H.insertBefore(A,H.firstChild);else if(b==="header-right")H.appendChild(A);else{let L=H.querySelector(".persona-flex-col");L?L.parentNode?.insertBefore(A,L.nextSibling):H.appendChild(A)}break;case"body-top":{let L=le.querySelector(".persona-rounded-2xl.persona-bg-persona-surface.persona-p-6");L?L.replaceWith(A):le.insertBefore(A,le.firstChild);break}case"body-bottom":le.appendChild(A);break;case"footer-top":bt.replaceWith(A);break;case"footer-bottom":T.replaceWith(A);break;default:break}};for(let[b,A]of Object.entries(i))if(A)try{let L=A({config:o,defaultContent:()=>g(b)});L&&m(b,L)}catch(L){typeof console<"u"&&console.error(`[AgentWidget] Error rendering slot "${b}":`,L)}})();let jl=i=>{let m=i.target.closest('button[data-expand-header="true"]');if(!m)return;let b=m.closest(".persona-reasoning-bubble, .persona-tool-bubble, .persona-approval-bubble");if(!b)return;let A=b.getAttribute("data-message-id");if(!A)return;let L=m.getAttribute("data-bubble-type");if(L==="reasoning")cr.has(A)?cr.delete(A):cr.add(A),Vp(A,b);else if(L==="tool")dr.has(A)?dr.delete(A):dr.add(A),Kp(A,b,o);else if(L==="approval"){let N=((o.approval!==!1?o.approval:void 0)?.detailsDisplay??"collapsed")==="expanded",G=Io.get(A)??N;Io.set(A,!G),Jp(A,b,o)}ho.delete(A)};be.addEventListener("pointerdown",i=>{i.target.closest('button[data-expand-header="true"]')&&(i.preventDefault(),jl(i))}),be.addEventListener("keydown",i=>{let g=i.target;(i.key==="Enter"||i.key===" ")&&g.closest('button[data-expand-header="true"]')&&(i.preventDefault(),jl(i))}),be.addEventListener("copy",i=>{let{clipboardData:g}=i;if(!g)return;let m=be.getRootNode(),b=typeof m.getSelection=="function"?m.getSelection():window.getSelection();if(!b||b.isCollapsed)return;let A=b.toString(),L=Ap(A);!L||L===A||(g.setData("text/plain",L),i.preventDefault())});let Xa=new Map,ql=null,Vl="idle",zu={idle:{icon:"volume-2",label:"Read aloud"},loading:{icon:"loader-circle",label:"Loading\u2026"},playing:{icon:"pause",label:"Pause"},paused:{icon:"play",label:"Resume"}},Uu=(i,g)=>{let{icon:m,label:b}=zu[g];i.setAttribute("aria-label",b),i.title=b,i.setAttribute("aria-pressed",g==="idle"?"false":"true"),i.classList.toggle("persona-message-action-active",g!=="idle"),i.classList.toggle("persona-message-action-loading",g==="loading");let A=re(m,14,"currentColor",2);A&&(i.innerHTML="",i.appendChild(A))},Kl=()=>{be.querySelectorAll('[data-action="read-aloud"]').forEach(g=>{let b=g.closest("[data-actions-for]")?.getAttribute("data-actions-for")??null;Uu(g,b&&b===ql?Vl:"idle")})};be.addEventListener("click",i=>{let m=i.target.closest(".persona-message-action-btn[data-action]");if(!m)return;i.preventDefault(),i.stopPropagation();let b=m.closest("[data-actions-for]");if(!b)return;let A=b.getAttribute("data-actions-for");if(!A)return;let L=m.getAttribute("data-action");if(L==="copy"){let N=_.getMessages().find(G=>G.id===A);if(N&&Me.onCopy){let G=N.content||"";navigator.clipboard.writeText(G).then(()=>{m.classList.add("persona-message-action-success");let oe=re("check",14,"currentColor",2);oe&&(m.innerHTML="",m.appendChild(oe)),setTimeout(()=>{m.classList.remove("persona-message-action-success");let fe=re("copy",14,"currentColor",2);fe&&(m.innerHTML="",m.appendChild(fe))},2e3)}).catch(oe=>{typeof console<"u"&&console.error("[AgentWidget] Failed to copy message:",oe)}),Me.onCopy(N)}}else if(L==="read-aloud")_.toggleReadAloud(A);else if(L==="upvote"||L==="downvote"){let N=(Xa.get(A)??null)===L,G=L==="upvote"?"thumbs-up":"thumbs-down";if(N){Xa.delete(A),m.classList.remove("persona-message-action-active");let oe=re(G,14,"currentColor",2);oe&&(m.innerHTML="",m.appendChild(oe))}else{let oe=L==="upvote"?"downvote":"upvote",fe=b.querySelector(`[data-action="${oe}"]`);if(fe){fe.classList.remove("persona-message-action-active");let tt=re(oe==="upvote"?"thumbs-up":"thumbs-down",14,"currentColor",2);tt&&(fe.innerHTML="",fe.appendChild(tt))}Xa.set(A,L),m.classList.add("persona-message-action-active");let ne=re(G,14,"currentColor",2);ne&&(ne.setAttribute("fill","currentColor"),m.innerHTML="",m.appendChild(ne)),m.classList.remove("persona-message-action-pop"),m.offsetWidth,m.classList.add("persona-message-action-pop");let Ue=_.getMessages().find(pt=>pt.id===A);Ue&&Me.onFeedback&&Me.onFeedback({type:L,messageId:Ue.id,message:Ue})}}}),be.addEventListener("click",i=>{let m=i.target.closest("button[data-approval-action]");if(!m)return;i.preventDefault(),i.stopPropagation();let b=m.closest(".persona-approval-bubble");if(!b)return;let A=b.getAttribute("data-message-id");if(!A)return;let L=m.getAttribute("data-approval-action");if(!L)return;let Q=L==="approve"?"approved":"denied",G=_.getMessages().find(fe=>fe.id===A);if(!G?.approval)return;let oe=b.querySelector("[data-approval-buttons]");oe&&oe.querySelectorAll("button").forEach(ne=>{ne.disabled=!0,ne.style.opacity="0.5",ne.style.cursor="not-allowed"}),G.approval.toolType==="webmcp"?_.resolveWebMcpApproval(A,Q):_.resolveApproval(G.approval,Q)});let Je=null,yr=null,br=()=>{},vr="none",ws=null,fn={artifacts:[],selectedId:null},Mn=!1,gn=!1,wr=!1,Bo=!1,Gl=()=>Bo||fn.artifacts.some(i=>So(o.features?.artifacts,i.artifactType)==="panel"),xs=()=>fn.artifacts.length>0&&!Mn&&Gl(),lt={current:null},Ja=(i,g)=>{let m=_.getArtifactById(g),b=m?.markdown,A=m?.title||"artifact",L=m?.file,Q=m?.artifactType??"markdown";if(!b){let oe=i.closest("[data-open-artifact], [data-artifact-inline]")?.closest("[data-message-id]")?.getAttribute("data-message-id");if(oe){let ne=_.getMessages().find(xe=>xe.id===oe);if(ne?.rawContent)try{let xe=JSON.parse(ne.rawContent);b=xe?.props?.markdown,A=xe?.props?.title||A,xe?.props?.file&&typeof xe.props.file=="object"&&(L=xe.props.file),!m&&typeof xe?.props?.artifactType=="string"&&(Q=xe.props.artifactType)}catch{}}}return{markdown:b,title:A,file:L,artifactType:Q}};be.addEventListener("click",i=>{let m=i.target.closest("[data-download-artifact]");if(!m)return;i.preventDefault(),i.stopPropagation();let b=m.getAttribute("data-download-artifact");if(!b||o.features?.artifacts?.onArtifactAction?.({type:"download",artifactId:b})===!0)return;let{markdown:L,title:Q,file:N}=Ja(m,b);if(!L)return;let{filename:G,mime:oe,content:fe}=sp({title:Q,markdown:L,file:N}),ne=new Blob([fe],{type:oe}),xe=URL.createObjectURL(ne),Ue=document.createElement("a");Ue.href=xe,Ue.download=G,Ue.click(),URL.revokeObjectURL(xe)}),be.addEventListener("click",i=>{let m=i.target.closest("[data-artifact-custom-action]");if(!m)return;i.preventDefault(),i.stopPropagation();let b=m.getAttribute("data-artifact-custom-action");if(!b)return;let A=m.closest("[data-artifact-inline]"),L=A?null:m.closest("[data-open-artifact]"),Q=A?A.getAttribute("data-artifact-inline"):L?.getAttribute("data-open-artifact")??null,G=(A?o.features?.artifacts?.inlineActions:o.features?.artifacts?.cardActions)?.find(pt=>pt.id===b);if(!G)return;let{markdown:oe,title:fe,file:ne,artifactType:xe}=Ja(m,Q??""),Ue={artifactId:Q,title:fe,artifactType:xe,markdown:oe,file:ne};try{Promise.resolve(G.onClick(Ue)).catch(()=>{})}catch{}}),be.addEventListener("click",i=>{let m=i.target.closest("[data-copy-artifact]");if(!m)return;i.preventDefault(),i.stopPropagation();let b=m.getAttribute("data-copy-artifact");if(!b)return;let A=_.getArtifactById(b),L="";if(A)L=ns(A);else{let{markdown:Q,file:N,artifactType:G}=Ja(m,b);G==="markdown"&&(L=ns({id:b,artifactType:"markdown",status:"complete",markdown:Q??"",...N?{file:N}:{}}))}L&&navigator.clipboard.writeText(L).then(()=>{let Q=re("check",16,"currentColor",2);Q&&(m.replaceChildren(Q),setTimeout(()=>{let N=re("copy",16,"currentColor",2);N&&m.replaceChildren(N)},1500))}).catch(()=>{})}),be.addEventListener("click",i=>{let m=i.target.closest("[data-expand-artifact-inline]");if(!m)return;i.preventDefault(),i.stopPropagation();let b=m.getAttribute("data-expand-artifact-inline");!b||o.features?.artifacts?.onArtifactAction?.({type:"open",artifactId:b})===!0||(Mn=!1,Bo=!0,gn=!0,wr=!0,_.selectArtifact(b),En())}),be.addEventListener("click",i=>{let g=i.target;if(g.closest("[data-download-artifact]")||g.closest("[data-artifact-custom-action]"))return;let m=g.closest("[data-open-artifact]");if(!m)return;let b=m.getAttribute("data-open-artifact");!b||o.features?.artifacts?.onArtifactAction?.({type:"open",artifactId:b})===!0||(i.preventDefault(),i.stopPropagation(),Mn=!1,Bo=!0,_.selectArtifact(b),En())}),be.addEventListener("keydown",i=>{if(i.key!=="Enter"&&i.key!==" ")return;let g=i.target;!g.hasAttribute("data-open-artifact")&&!g.hasAttribute("data-expand-artifact-inline")||(i.preventDefault(),g.click())});let Do=ke.composerOverlay,Fo=(i,g,m)=>{let b=g.trim();if(!b||!lt.current)return;let A=i.getAttribute("data-tool-call-id")??"",L=m.source==="free-text";t.dispatchEvent(new CustomEvent("persona:askUserQuestion:answered",{detail:{toolUseId:A,answer:b,answers:m.structured,values:m.values??(m.source==="multi"?b.split(", "):[b]),isFreeText:L,source:m.source},bubbles:!0,composed:!0})),Jo(Do,A);let Q=lt.current.getMessages().find(N=>N.toolCall?.id===A);Q?.agentMetadata?.awaitingLocalTool?lt.current.resolveAskUserQuestion(Q,m.structured??b):lt.current.sendMessage(b)},fo=i=>{let g=lt.current;if(!g)return;let m=i.getAttribute("data-tool-call-id")??"",b=g.getMessages().find(A=>A.toolCall?.id===m);b&&g.persistAskUserQuestionProgress(b,{answers:Ys(i,b),currentIndex:dn(i)})},Ql=i=>Object.entries(i).map(([g,m])=>`${g}: ${Array.isArray(m)?m.join(", "):m}`).join(" | "),Ya=i=>{if(o.features?.askUserQuestion?.groupedAutoAdvance===!1)return;let g=dn(i),m=Xo(i);if(g>=m-1)return;let b=lt.current?.getMessages().find(A=>A.toolCall?.id===i.getAttribute("data-tool-call-id"));b&&(ea(i,b,o,g+1),fo(i))};Do.addEventListener("click",i=>{let m=i.target.closest("[data-ask-user-action]");if(!m)return;let b=m.closest("[data-persona-ask-sheet-for]");if(!b)return;let A=m.getAttribute("data-ask-user-action");if(i.preventDefault(),i.stopPropagation(),A==="dismiss"){let L=b.getAttribute("data-tool-call-id")??"";t.dispatchEvent(new CustomEvent("persona:askUserQuestion:dismissed",{detail:{toolUseId:L},bubbles:!0,composed:!0})),Jo(Do,L);let Q=lt.current?.getMessages().find(N=>N.toolCall?.id===L);Q?.agentMetadata?.awaitingLocalTool&&(lt.current?.markAskUserQuestionResolved(Q),lt.current?.resolveAskUserQuestion(Q,"(dismissed)"));return}if(A==="pick"){let L=m.getAttribute("data-option-label");if(!L)return;let Q=b.getAttribute("data-multi-select")==="true",N=eo(b);if(N&&Q){let G=Mo(b)[dn(b)],oe=new Set(Array.isArray(G)?G:[]);oe.has(L)?oe.delete(L):oe.add(L),to(b,Array.from(oe)),fo(b);return}if(N){to(b,L),fo(b),Ya(b);return}if(Q){let G=m.getAttribute("aria-pressed")==="true";m.setAttribute("aria-pressed",G?"false":"true"),m.classList.toggle("persona-ask-pill-selected",!G);let oe=b.querySelector('[data-ask-user-action="submit-multi"]');oe&&(oe.disabled=Di(b).length===0);return}Fo(b,L,{source:"pick",values:[L]});return}if(A==="submit-multi"){let L=Di(b);if(L.length===0)return;Fo(b,L.join(", "),{source:"multi",values:L});return}if(A==="open-free-text"){let L=b.querySelector('[data-ask-free-text-row="true"]');L&&(L.classList.remove("persona-hidden"),L.querySelector('[data-ask-free-text-input="true"]')?.focus());return}if(A==="focus-free-text"){b.querySelector('[data-ask-free-text-input="true"]')?.focus();return}if(A==="submit-free-text"){let Q=b.querySelector('[data-ask-free-text-input="true"]')?.value??"";if(!Q.trim())return;if(eo(b)){to(b,Q.trim()),fo(b),Ya(b);return}Fo(b,Q,{source:"free-text"});return}if(A==="next"||A==="back"){if(!lt.current)return;let L=b.getAttribute("data-tool-call-id")??"",Q=lt.current.getMessages().find(ne=>ne.toolCall?.id===L);if(!Q)return;let G=b.querySelector('[data-ask-free-text-input="true"]')?.value?.trim()??"";if(G){let ne=Mo(b)[dn(b)];(typeof ne!="string"||ne!==G)&&to(b,G)}let oe=A==="next"?1:-1,fe=dn(b)+oe;ea(b,Q,o,fe),fo(b);return}if(A==="submit-all"){if(!lt.current)return;let L=b.getAttribute("data-tool-call-id")??"",Q=lt.current.getMessages().find(ne=>ne.toolCall?.id===L);if(!Q)return;let G=b.querySelector('[data-ask-free-text-input="true"]')?.value?.trim()??"";G&&to(b,G);let oe=Ys(b,Q);lt.current.persistAskUserQuestionProgress(Q,{answers:oe,currentIndex:dn(b)});let fe=Ql(oe);Fo(b,fe||"(submitted)",{source:"submit-all",structured:oe});return}if(A==="skip"){if(!lt.current)return;let L=b.getAttribute("data-tool-call-id")??"",Q=lt.current.getMessages().find(xe=>xe.toolCall?.id===L);if(!Q)return;let N=eo(b),G=dn(b),oe=Xo(b),fe=G>=oe-1;if(!N){t.dispatchEvent(new CustomEvent("persona:askUserQuestion:dismissed",{detail:{toolUseId:L},bubbles:!0,composed:!0})),Jo(Do,L),Q.agentMetadata?.awaitingLocalTool&&(lt.current.markAskUserQuestionResolved(Q),lt.current.resolveAskUserQuestion(Q,"(dismissed)"));return}to(b,"");let ne=b.querySelector('[data-ask-free-text-input="true"]');if(ne&&(ne.value=""),fe){let xe=Ys(b,Q),Ue=Ql(xe);Fo(b,Ue||"(skipped)",{source:"submit-all",structured:xe});return}ea(b,Q,o,G+1),fo(b);return}}),Do.addEventListener("keydown",i=>{if(i.key!=="Enter")return;let m=i.target;if(!m.matches?.('[data-ask-free-text-input="true"]'))return;let b=m.closest("[data-persona-ask-sheet-for]");if(!b)return;i.preventDefault();let A=m.value;if(A.trim()){if(eo(b)){to(b,A.trim()),fo(b),Ya(b);return}Fo(b,A,{source:"free-text"})}});let Xl=i=>{if(!/^[1-9]$/.test(i.key)||i.metaKey||i.ctrlKey||i.altKey)return;let g=i.target;if(g?.tagName==="INPUT"||g?.tagName==="TEXTAREA"||g?.isContentEditable)return;let m=Do.querySelector("[data-persona-ask-sheet-for]");if(!m||m.getAttribute("data-ask-layout")!=="rows"||m.getAttribute("data-multi-select")==="true")return;let b=Number(i.key),L=m.querySelectorAll('[data-ask-pill-list="true"] [data-ask-user-action="pick"], [data-ask-pill-list="true"] [data-ask-user-action="focus-free-text"]')[b-1];L&&(i.preventDefault(),L.click())};document.addEventListener("keydown",Xl);let Un=null,vt=null,xr=null,Cs=null,Za=()=>{},Jl=!1,As="",Ss="";function ei(){Cs?.(),Cs=null}let Yl=()=>{if(!Un||!vt)return;let i=t.classList.contains("persona-artifact-welded-split"),g=t.ownerDocument.defaultView??window,m=g.innerWidth<=640;if(!i||t.classList.contains("persona-artifact-narrow-host")||m){vt.style.removeProperty("position"),vt.style.removeProperty("left"),vt.style.removeProperty("top"),vt.style.removeProperty("bottom"),vt.style.removeProperty("width"),vt.style.removeProperty("z-index");return}let b=Un.firstElementChild;if(!b||b===vt)return;let A=10;vt.style.position="absolute",vt.style.top="0",vt.style.bottom="0",vt.style.width=`${A}px`,vt.style.zIndex="5";let L=wl(Un,g),Q=b.offsetWidth+L/2-A/2;vt.style.left=`${Math.max(0,Q)}px`},Ts=()=>{},ju=()=>{let i=t.ownerDocument.defaultView??window,g=o.launcher?.mobileFullscreen??!0,m=o.launcher?.mobileBreakpoint??640;return!g||i.innerWidth>m?!1:M||Ht(o)},Ms=()=>!Kt(o)||!xs()||t.classList.contains("persona-artifact-narrow-host")||ju()||(t.ownerDocument.defaultView??window).innerWidth<Cy?"none":vl(o)?"detached":"welded",En=()=>{if(!Je||!Kt(o))return;gs(t,o),ms(t,o),Ts();let i=o.features?.artifacts?.layout?.narrowHostMaxWidth??520,g=me.getBoundingClientRect().width||0;t.classList.toggle("persona-artifact-narrow-host",g>0&&g<=i);let m=xs();Je.setVisible(m),Je.update(fn),Mn?(Je.setMobileOpen(!1),Je.element.classList.add("persona-hidden"),Je.backdrop?.classList.add("persona-hidden"),gn=!1,wr=!1):fn.artifacts.length>0&&Gl()?(Je.element.classList.remove("persona-hidden"),Je.setMobileOpen(!0)):(Je.setMobileOpen(!1),Je.element.classList.add("persona-hidden"),Je.backdrop?.classList.add("persona-hidden"),gn=!1,wr=!1);let b=o.features?.artifacts?.layout?.showExpandToggle===!0;if(Je.setExpandToggleVisible(b),Je.setCopyButtonVisible(o.features?.artifacts?.layout?.showCopyButton===!0),Je.setCustomActions(o.features?.artifacts?.toolbarActions??[]),Je.setTabFade(o.features?.artifacts?.layout?.tabFade),Je.setRenderTabBar(o.features?.artifacts?.renderTabBar),!b&&!wr&&(gn=!1),gn!==Jl){let L=Je.element;gn?(As=L.style.width,Ss=L.style.maxWidth,L.style.removeProperty("width"),L.style.removeProperty("max-width")):(As&&(L.style.width=As),Ss&&(L.style.maxWidth=Ss),As="",Ss=""),Jl=gn}t.classList.toggle("persona-artifact-expanded",gn),Je.setExpanded(gn);let A=Ms();A!==vr&&(vr=A,br()),Za()};if(Kt(o)){me.style.position="relative";let i=h("div","persona-flex persona-flex-1 persona-flex-col persona-min-w-0 persona-min-h-0"),g=h("div","persona-flex persona-h-full persona-w-full persona-min-h-0 persona-artifact-split-root");i.appendChild(ue),Je=au(o,{onSelect:m=>lt.current?.selectArtifact(m),onDismiss:()=>{Mn=!0,En()},onToggleExpand:()=>{let m=!gn,b=fn.selectedId??fn.artifacts[fn.artifacts.length-1]?.id??null;o.features?.artifacts?.onArtifactAction?.({type:"expand",artifactId:b,expanded:m})!==!0&&(gn=m,m||(wr=!1),En())}}),Je.element.classList.add("persona-hidden"),Un=g,g.appendChild(i),g.appendChild(Je.element),Je.backdrop&&me.appendChild(Je.backdrop),me.appendChild(g),Za=()=>{if(!Un||!Je)return;if(!(o.features?.artifacts?.layout?.resizable===!0)){xr?.(),xr=null,ei(),vt&&(vt.remove(),vt=null),Je.element.style.removeProperty("width"),Je.element.style.removeProperty("maxWidth");return}if(!vt){let b=h("div","persona-artifact-split-handle persona-shrink-0 persona-h-full");b.setAttribute("role","separator"),b.setAttribute("aria-orientation","vertical"),b.setAttribute("aria-label","Resize artifacts panel"),b.tabIndex=0;let A=t.ownerDocument,L=A.defaultView??window,Q=N=>{if(!Je||N.button!==0||t.classList.contains("persona-artifact-narrow-host")||t.classList.contains("persona-artifact-expanded")||L.innerWidth<=640)return;N.preventDefault(),ei();let G=N.clientX,oe=Je.element.getBoundingClientRect().width,fe=o.features?.artifacts?.layout,ne=Ue=>{let pt=Un.getBoundingClientRect().width,tt=t.classList.contains("persona-artifact-welded-split"),en=wl(Un,L),At=tt?0:b.getBoundingClientRect().width||6,Lt=oe-(Ue.clientX-G),R=du(Lt,pt,en,At,fe?.resizableMinWidth,fe?.resizableMaxWidth);Je.element.style.width=`${R}px`,Je.element.style.maxWidth="none",Yl()},xe=()=>{A.removeEventListener("pointermove",ne),A.removeEventListener("pointerup",xe),A.removeEventListener("pointercancel",xe),Cs=null;try{b.releasePointerCapture(N.pointerId)}catch{}};Cs=xe,A.addEventListener("pointermove",ne),A.addEventListener("pointerup",xe),A.addEventListener("pointercancel",xe);try{b.setPointerCapture(N.pointerId)}catch{}};b.addEventListener("pointerdown",Q),vt=b,Un.insertBefore(b,Je.element),xr=()=>{b.removeEventListener("pointerdown",Q)}}if(vt){let b=xs();vt.classList.toggle("persona-hidden",!b),Yl()}},Ts=()=>{if(!M||!Je||(o.launcher?.sidebarMode??!1)||Ht(o)&&pn(o).reveal==="emerge")return;let b=t.ownerDocument.defaultView??window,A=o.launcher?.mobileFullscreen??!0,L=o.launcher?.mobileBreakpoint??640;if(A&&b.innerWidth<=L||!cu(o,M))return;let Q=o.launcher?.width??o.launcherWidth??Nn,N=o.features?.artifacts?.layout?.expandedPanelWidth??"min(720px, calc(100vw - 24px))";xs()?(me.style.width=N,me.style.maxWidth=N):(me.style.width=Q,me.style.maxWidth=Q)},typeof ResizeObserver<"u"&&(yr=new ResizeObserver(()=>{En()}),yr.observe(me))}else me.appendChild(ue);J()&&Ve&&(ke.peekBanner&&Ve.appendChild(ke.peekBanner),Ve.appendChild($)),t.appendChild(Re),Ve&&t.appendChild(Ve);let Es=()=>{if(J()){me.style.width="100%",me.style.maxWidth="100%";let Mt=o.launcher?.composerBar??{},Xt=Re.dataset.state==="expanded",$s=Mt.expandedSize??"anchored";if(!(Xt&&$s!=="fullscreen")){ue.style.background="",ue.style.border="",ue.style.borderRadius="",ue.style.overflow="",ue.style.boxShadow="";return}let Dr=o.theme?.components?.panel,zs=or(o),qo=(In,Ao)=>In==null||In===""?Ao:qt(zs,In)??In,Us="1px solid var(--persona-border)",Ti="var(--persona-palette-shadows-xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25))",Co="var(--persona-panel-radius, var(--persona-radius-xl, 0.75rem))";ue.style.background="var(--persona-surface, #ffffff)",ue.style.border=qo(Dr?.border,Us),ue.style.borderRadius=qo(Dr?.borderRadius,Co),ue.style.boxShadow=qo(Dr?.shadow,Ti),ue.style.overflow="hidden";return}let i=Ht(o),g=o.launcher?.sidebarMode??!1,m=i||g||(o.launcher?.fullHeight??!1),b=o.launcher?.enabled===!1,A=o.launcher?.detachedPanel===!0,L=o.theme?.components?.panel,Q=or(o),N=(Mt,Xt)=>Mt==null||Mt===""?Xt:qt(Q,Mt)??Mt,G=t.ownerDocument.defaultView??window,oe=o.launcher?.mobileFullscreen??!0,fe=o.launcher?.mobileBreakpoint??640,ne=G.innerWidth<=fe,xe=oe&&ne&&M,Ue=i&&oe&&ne,pt=o.launcher?.position??"bottom-left",tt=pt==="bottom-left"||pt==="top-left",en=o.launcher?.zIndex??$t,At="var(--persona-panel-border, 1px solid var(--persona-border))",Lt="var(--persona-panel-shadow, var(--persona-palette-shadows-xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25)))",R="var(--persona-panel-radius, var(--persona-radius-xl, 0.75rem))",We=A&&!xe&&!Ue;We?t.setAttribute("data-persona-panel-detached","true"):t.removeAttribute("data-persona-panel-detached");let He=We?At:g||xe?"none":At,_e=We?Lt:xe?"none":g?tt?"var(--persona-palette-shadows-sidebar-left, 2px 0 12px rgba(0, 0, 0, 0.08))":"var(--persona-palette-shadows-sidebar-right, -2px 0 12px rgba(0, 0, 0, 0.08))":b?"none":Lt;i&&!xe&&!We&&(_e="none",He="none");let St=We?R:g||xe?"0":R,ut=N(L?.border,He),Ut=N(L?.shadow,_e),ft=N(L?.borderRadius,St),Qt=Ms(),Pt=Qt==="detached",Be=Qt==="welded";t.classList.toggle("persona-artifact-detached-split",Pt),t.classList.toggle("persona-artifact-welded-split",Be);let Ze="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)))))",st=(o.features?.artifacts?.layout?.chatSurface==="flush"?"flush":"card")==="flush"&&Kt(o)&&vl(o)&&b&&!i;t.classList.toggle("persona-artifact-chat-flush",st);let ct=Pt||st?"none":Ut,gt=Pt?At:Be?"none":ut,Ye=Pt?R:ft;st&&(gt="none",Ye="0");let De=L?.borderRadius!=null&&L.borderRadius!=="",ht=st&&!De?"0":ft,Nt=le.scrollTop;t.style.cssText="",Re.style.cssText="",me.style.cssText="",ue.style.cssText="",le.style.cssText="",$.style.cssText="",ot&&(le.style.display="none"),(m||b)&&(t.style.minWidth="0");let cn=()=>{if(Nt<=0)return;(le.ownerDocument.defaultView??window).requestAnimationFrame(()=>{if(le.scrollTop===Nt)return;let Xt=le.scrollHeight-le.clientHeight;Xt<=0||(le.scrollTop=Math.min(Nt,Xt))})};if(xe){Re.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"),Re.style.cssText=`
|
|
46
|
+
`,x.addEventListener("click",()=>{u=K,B.forEach((U,j)=>{let J=j<K;U.classList.toggle("selected",J),U.setAttribute("aria-checked",j===K-1?"true":"false")})}),B.push(x),I.appendChild(x)}w.appendChild(I);let k=null;if(p){let K=document.createElement("div");K.className="persona-feedback-comment-container",k=document.createElement("textarea"),k.className="persona-feedback-comment",k.placeholder=s,k.rows=3,k.setAttribute("aria-label","Additional comments"),K.appendChild(k),w.appendChild(K)}let M=document.createElement("div");M.className="persona-feedback-actions";let P=document.createElement("button");P.type="button",P.className="persona-feedback-btn persona-feedback-btn-skip",P.textContent=l,P.addEventListener("click",()=>{n?.(),c.remove()});let z=document.createElement("button");return z.type="button",z.className="persona-feedback-btn persona-feedback-btn-submit",z.textContent=a,z.addEventListener("click",async()=>{if(u===null){I.classList.add("persona-feedback-shake"),setTimeout(()=>I.classList.remove("persona-feedback-shake"),500);return}z.disabled=!0,z.textContent="Submitting...";try{let K=k?.value.trim()||void 0;await e(u,K),c.remove()}catch(K){z.disabled=!1,z.textContent=a,console.error("[CSAT Feedback] Failed to submit:",K)}}),M.appendChild(P),M.appendChild(z),w.appendChild(M),c.appendChild(w),c}function Cu(t){let{onSubmit:e,onDismiss:n,title:o="How likely are you to recommend us?",subtitle:r="On a scale of 0 to 10",commentPlaceholder:s="What could we do better? (optional)...",submitText:a="Submit",skipText:l="Skip",showComment:p=!0,lowLabel:d="Not likely",highLabel:c="Very likely"}=t,u=document.createElement("div");u.className="persona-feedback-container persona-feedback-nps",u.setAttribute("role","dialog"),u.setAttribute("aria-label","Net Promoter Score feedback");let w=null,f=document.createElement("div");f.className="persona-feedback-content";let v=document.createElement("div");v.className="persona-feedback-header";let C=document.createElement("h3");C.className="persona-feedback-title",C.textContent=o,v.appendChild(C);let I=document.createElement("p");I.className="persona-feedback-subtitle",I.textContent=r,v.appendChild(I),f.appendChild(v);let B=document.createElement("div");B.className="persona-feedback-rating persona-feedback-rating-nps",B.setAttribute("role","radiogroup"),B.setAttribute("aria-label","Likelihood rating from 0 to 10");let k=document.createElement("div");k.className="persona-feedback-labels";let M=document.createElement("span");M.className="persona-feedback-label-low",M.textContent=d;let P=document.createElement("span");P.className="persona-feedback-label-high",P.textContent=c,k.appendChild(M),k.appendChild(P);let z=document.createElement("div");z.className="persona-feedback-numbers";let K=[];for(let D=0;D<=10;D++){let F=document.createElement("button");F.type="button",F.className="persona-feedback-rating-btn persona-feedback-number-btn",F.setAttribute("role","radio"),F.setAttribute("aria-checked","false"),F.setAttribute("aria-label",`Rating ${D} out of 10`),F.textContent=String(D),F.dataset.rating=String(D),D<=6?F.classList.add("persona-feedback-detractor"):D<=8?F.classList.add("persona-feedback-passive"):F.classList.add("persona-feedback-promoter"),F.addEventListener("click",()=>{w=D,K.forEach((ie,ge)=>{ie.classList.toggle("selected",ge===D),ie.setAttribute("aria-checked",ge===D?"true":"false")})}),K.push(F),z.appendChild(F)}B.appendChild(k),B.appendChild(z),f.appendChild(B);let x=null;if(p){let D=document.createElement("div");D.className="persona-feedback-comment-container",x=document.createElement("textarea"),x.className="persona-feedback-comment",x.placeholder=s,x.rows=3,x.setAttribute("aria-label","Additional comments"),D.appendChild(x),f.appendChild(D)}let U=document.createElement("div");U.className="persona-feedback-actions";let j=document.createElement("button");j.type="button",j.className="persona-feedback-btn persona-feedback-btn-skip",j.textContent=l,j.addEventListener("click",()=>{n?.(),u.remove()});let J=document.createElement("button");return J.type="button",J.className="persona-feedback-btn persona-feedback-btn-submit",J.textContent=a,J.addEventListener("click",async()=>{if(w===null){z.classList.add("persona-feedback-shake"),setTimeout(()=>z.classList.remove("persona-feedback-shake"),500);return}J.disabled=!0,J.textContent="Submitting...";try{let D=x?.value.trim()||void 0;await e(w,D),u.remove()}catch(D){J.disabled=!1,J.textContent=a,console.error("[NPS Feedback] Failed to submit:",D)}}),U.appendChild(j),U.appendChild(J),f.appendChild(U),u.appendChild(f),u}var ur="persona-chat-history",xy=30*1e3,Cy=641,Ay={"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 Sy(t){if(!t)return[];let e=[],n=Array.from(t.items??[]);for(let o of n){if(o.kind!=="file"||!o.type.startsWith("image/"))continue;let r=o.getAsFile();if(!r)continue;if(r.name){e.push(r);continue}let s=Ay[r.type]??"png";e.push(new File([r],`clipboard-image-${Date.now()}.${s}`,{type:r.type,lastModified:Date.now()}))}if(e.length>0)return e;for(let o of Array.from(t.files??[]))o.type.startsWith("image/")&&e.push(o);return e}function qa(t){if(!t)return!1;let e=t.types;return e?typeof e.contains=="function"?e.contains("Files"):Array.from(e).includes("Files"):!1}function Ty(t){return t?t===!0?{storage:"session",keyPrefix:"persona-",persist:{openState:!0,voiceState:!0,focusInput:!0},clearOnChatClear:!0}:{storage:t.storage??"session",keyPrefix:t.keyPrefix??"persona-",persist:{openState:t.persist?.openState??!0,voiceState:t.persist?.voiceState??!0,focusInput:t.persist?.focusInput??!0},clearOnChatClear:t.clearOnChatClear??!0}:null}function My(t){try{let e=t==="local"?localStorage:sessionStorage,n="__persist_test__";return e.setItem(n,"1"),e.removeItem(n),e}catch{return null}}var kl=t=>!t||typeof t!="object"?{}:{...t},Au=t=>t.map(e=>({...e,streaming:!1})),Su=(t,e,n)=>{let o=t?.markdown?Ks(t.markdown):null,r=Gs(t?.sanitize);return t?.postprocessMessage&&r&&t?.sanitize===void 0&&console.warn("[Persona] A custom postprocessMessage is active with the default HTML sanitizer. Tags or attributes not in the built-in allowlist will be stripped. To keep custom HTML, set `sanitize: false` or provide a custom sanitize function."),s=>{let a=s.text??"",l=s.message.rawContent??null;if(e){let c=e.process({text:a,raw:l??a,message:s.message,streaming:s.streaming});c!==null&&(a=c.text,c.persist||(s.message.__skipPersist=!0),c.resubmit&&!s.streaming&&n&&n())}let p=Hn()!==null,d;if(t?.postprocessMessage){let c=t.postprocessMessage({...s,text:a,raw:l??s.text??""});d=r?r(c):c}else if(o){let c=s.streaming?ed(a):a,u=o(c);d=r&&p?r(u):u}else d=Zn(a);return d}};function Tu(t){let e=h("div","persona-attachment-drop-overlay");t?.background&&e.style.setProperty("--persona-drop-overlay-bg",t.background),t?.backdropBlur!==void 0&&e.style.setProperty("--persona-drop-overlay-blur",t.backdropBlur),t?.border&&e.style.setProperty("--persona-drop-overlay-border",t.border),t?.borderRadius&&e.style.setProperty("--persona-drop-overlay-radius",t.borderRadius),t?.inset&&e.style.setProperty("--persona-drop-overlay-inset",t.inset),t?.labelSize&&e.style.setProperty("--persona-drop-overlay-label-size",t.labelSize),t?.labelColor&&e.style.setProperty("--persona-drop-overlay-label-color",t.labelColor);let n=t?.iconName??"upload",o=t?.iconSize??"48px",r=t?.iconColor??"rgba(59, 130, 246, 0.6)",s=t?.iconStrokeWidth??.5,a=re(n,o,r,s);if(a&&e.appendChild(a),t?.label){let l=h("span","persona-drop-overlay-label");l.textContent=t.label,e.appendChild(l)}return e}var Ey=(t,e)=>{let n={...t};for(let[o,r]of Object.entries(e)){let s=n[o];n[o]=s?{...s,...r}:r}return n},ky=t=>t.reduce((e,n)=>({blocks:[...e.blocks,...n.blocks],contentParts:[...e.contentParts,...n.contentParts],context:Ey(e.context,n.context)}),{blocks:[],contentParts:[],context:{}}),Mu=(t,e,n)=>{if(t==null)throw new Error('createAgentExperience: mount must be a non-null HTMLElement (e.g. pass document.getElementById("my-root") after the node exists).');t.id&&!t.getAttribute("data-persona-instance")&&t.setAttribute("data-persona-instance",t.id),t.hasAttribute("data-persona-root")||t.setAttribute("data-persona-root","true");let o=fa(e),r=Al.getForInstance(o.plugins),{plugin:s,teardown:a}=Zp();o.components&&On.registerAll(o.components);let l=mu(),d=o.persistState===!1?null:o.storageAdapter??yu(),c={},u=null,w=!1,f=i=>{if(o.onStateLoaded)try{let g=o.onStateLoaded(i);if(g&&typeof g=="object"&&"state"in g){let{state:m,open:b}=g;return b&&(w=!0),m}return g}catch(g){typeof console<"u"&&console.error("[AgentWidget] onStateLoaded hook failed:",g)}return i};if(d?.load)try{let i=d.load();if(i&&typeof i.then=="function")u=i.then(g=>f(g??{messages:[],metadata:{}}));else{let m=f(i??{messages:[],metadata:{}});m.metadata&&(c=kl(m.metadata)),m.messages?.length&&(o={...o,initialMessages:m.messages}),m.artifacts?.length&&(o={...o,initialArtifacts:m.artifacts,initialSelectedArtifactId:m.selectedArtifactId??null})}}catch(i){typeof console<"u"&&console.error("[AgentWidget] Failed to load stored state:",i)}else if(o.onStateLoaded)try{let i=f({messages:[],metadata:{}});i.messages?.length&&(o={...o,initialMessages:i.messages})}catch(i){typeof console<"u"&&console.error("[AgentWidget] onStateLoaded hook failed:",i)}let v=()=>c,C=i=>{c=i({...c})??{},ci()},I=o.actionParsers&&o.actionParsers.length?o.actionParsers:[Tl],B=o.actionHandlers&&o.actionHandlers.length?o.actionHandlers:[hs.message,hs.messageAndClick],k=Ml({parsers:I,handlers:B,getSessionMetadata:v,updateSessionMetadata:C,emit:l.emit,documentRef:typeof document<"u"?document:null});k.syncFromMetadata();let M=o.launcher?.enabled??!0,P=o.launcher?.autoExpand??!1,z=o.autoFocusInput??!1,K=P,x=M,U=o.layout?.header?.layout,j=!1,J=()=>ls(o),D=()=>M||J(),F=J()?!1:M?P:!0,ie=!1,ge=null,Ce=()=>{ie=!0,ge&&clearTimeout(ge),ge=setTimeout(()=>{ie&&(typeof console<"u"&&console.warn("[AgentWidget] Resubmit requested but no injection occurred within 10s"),ie=!1)},1e4)},we=Su(o,k,Ce),ee=o.features?.showReasoning??!0,ce=o.features?.showToolCalls??!0,Y=o.features?.showEventStreamToggle??!1,ae=o.features?.scrollToBottom??{},Z=o.features?.scrollBehavior??{},ye=`${(typeof o.persistState=="object"?o.persistState?.keyPrefix:void 0)??"persona-"}event-stream`,pe=Y?new us(ye):null,Te=o.features?.eventStream?.maxEvents??2e3,Ae=Y?new ps(Te,pe):null,$e=Y?new fs:null,Fe=null,ot=!1,Qe=null,He=0;pe?.open().then(()=>Ae?.restore()).catch(i=>{o.debug&&console.warn("[AgentWidget] IndexedDB not available for event stream:",i)});let Ee={onCopy:i=>{l.emit("message:copy",i),_?.isClientTokenMode()&&_.submitMessageFeedback(i.id,"copy").catch(g=>{o.debug&&console.error("[AgentWidget] Failed to submit copy feedback:",g)}),o.messageActions?.onCopy?.(i)},onFeedback:i=>{l.emit("message:feedback",i),_?.isClientTokenMode()&&_.submitMessageFeedback(i.messageId,i.type).catch(g=>{o.debug&&console.error("[AgentWidget] Failed to submit feedback:",g)}),o.messageActions?.onFeedback?.(i)}},Xe=o.statusIndicator??{},on=i=>i==="idle"?Xe.idleText??Pt.idle:i==="connecting"?Xe.connectingText??Pt.connecting:i==="connected"?Xe.connectedText??Pt.connected:i==="error"?Xe.errorText??Pt.error:i==="paused"?Xe.pausedText??Pt.paused:i==="resuming"?Xe.resumingText??Pt.resuming:Pt[i];function St(i,g,m,b){if(b==="idle"&&m.idleLink){i.textContent="";let A=document.createElement("a");A.href=m.idleLink,A.target="_blank",A.rel="noopener noreferrer",A.textContent=g,A.style.color="inherit",A.style.textDecoration="none",i.appendChild(A)}else i.textContent=g}let ht=$p({config:o,showClose:D()}),{wrapper:Be,panel:me,pillRoot:Ke}=ht.shell,Le=ht.panelElements,{container:ue,body:le,messagesWrapper:be,suggestions:yt,textarea:ve,sendButton:de,sendButtonWrapper:un,composerForm:X,statusText:T,introTitle:O,introSubtitle:y,closeButton:S,iconHolder:E,headerTitle:W,headerSubtitle:q,header:H,footer:$,actionsRow:se,rightActions:qe}=Le,ke=Le.leftActions,rt=Le.setSendButtonMode,V=Le.micButton,ze=Le.micButtonWrapper,Se=Le.attachmentButton,We=Le.attachmentButtonWrapper,Pe=Le.attachmentInput,Je=Le.attachmentPreviewsContainer;ue.classList.add("persona-relative"),le.classList.add("persona-relative");let lo=12,co=()=>ae.label??"",Ka=()=>ae.iconName??"arrow-down",bs=()=>ae.enabled!==!1,Gt=()=>Z.mode??"anchor-top",_n=()=>Gt()==="follow"||Gt()==="anchor-top"&&Cr,Bl=()=>Z.anchorTopOffset??16,Nu=()=>Z.restorePosition??"bottom",Dl=()=>Z.pauseOnInteraction===!0,Fl=()=>Z.showActivityWhilePinned!==!1,Nl=()=>Z.announce===!0,Mt=h("button","persona-scroll-to-bottom-indicator persona-absolute persona-bottom-3 persona-left-1/2 persona-z-10 persona-flex persona-items-center persona-gap-1 persona-text-xs persona-transform persona--translate-x-1/2 persona-cursor-pointer");Mt.type="button",Mt.style.display="none",Mt.setAttribute("data-persona-scroll-to-bottom","true");let gr=h("span","persona-flex persona-items-center"),Ga=h("span",""),po=h("span","");po.setAttribute("data-persona-scroll-to-bottom-count",""),po.style.display="none",Mt.append(gr,Ga,po),ue.appendChild(Mt);let $n=h("div","persona-stream-anchor-spacer");$n.setAttribute("aria-hidden","true"),$n.setAttribute("data-persona-anchor-spacer",""),$n.style.flexShrink="0",$n.style.pointerEvents="none",$n.style.height="0px",le.appendChild($n);let uo=h("div","persona-sr-only");uo.setAttribute("aria-live","polite"),uo.setAttribute("aria-atomic","true"),uo.setAttribute("role","status"),uo.setAttribute("data-persona-live-region",""),Object.assign(uo.style,{position:"absolute",width:"1px",height:"1px",margin:"-1px",padding:"0",overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(50%)",whiteSpace:"nowrap",border:"0"}),ue.appendChild(uo);let mr=null,vs=null,Ol=i=>{!Nl()||!i||(vs=i,mr===null&&(mr=setTimeout(()=>{mr=null,vs&&Nl()&&(uo.textContent=vs),vs=null},400)))},Ho=()=>{let g=$.style.display==="none"?0:$.offsetHeight;Mt.style.bottom=`${g+lo}px`};Ho();let _l=()=>{let i=!!co();Mt.setAttribute("aria-label",co()||"Jump to latest"),Mt.title=co(),Mt.setAttribute("data-persona-scroll-to-bottom-has-label",i?"true":"false"),gr.innerHTML="";let g=re(Ka(),"14px","currentColor",2);g?(gr.appendChild(g),gr.style.display=""):gr.style.display="none",Ga.textContent=co(),Ga.style.display=i?"":"none"};_l();let xt=null,Jt=null,$l=null,zl=r.find(i=>i.renderHeader);if(zl?.renderHeader){let i=zl.renderHeader({config:o,defaultRenderer:()=>{let g=Po({config:o,showClose:D()});return cs(ue,g,o),g.header},onClose:()=>ct(!1,"user")});if(i){let g=ue.querySelector(".persona-border-b-persona-divider");g&&(g.replaceWith(i),H=i,ht.header.element=i)}}let Qa=()=>{if(!Ae)return;if(ot=!0,!Fe&&Ae&&(Fe=ru({buffer:Ae,getFullHistory:()=>Ae.getAllFromStore(),onClose:()=>hr(),config:o,plugins:r,getThroughput:()=>$e?.getMetric()??{status:"idle"}})),Fe&&(le.style.display="none",$.parentNode?.insertBefore(Fe.element,$),Fe.update()),et){et.style.boxShadow=`inset 0 0 0 1.5px ${Vt.actionIconColor}`;let g=o.features?.eventStream?.classNames?.toggleButtonActive;g&&g.split(/\s+/).forEach(m=>m&&et.classList.add(m))}let i=()=>{if(!ot)return;let g=Date.now();g-He>=200&&(Fe?.update(),He=g),Qe=requestAnimationFrame(i)};He=0,Qe=requestAnimationFrame(i),Zt(),l.emit("eventStream:opened",{timestamp:Date.now()})},hr=()=>{if(ot){if(ot=!1,Fe&&Fe.element.remove(),le.style.display="",et){et.style.boxShadow="";let i=o.features?.eventStream?.classNames?.toggleButtonActive;i&&i.split(/\s+/).forEach(g=>g&&et.classList.remove(g))}Qe!==null&&(cancelAnimationFrame(Qe),Qe=null),Zt(),l.emit("eventStream:closed",{timestamp:Date.now()})}},et=null;if(Y){let i=o.features?.eventStream?.classNames,g="persona-inline-flex persona-items-center persona-justify-center persona-rounded-full hover:persona-opacity-80 persona-cursor-pointer persona-border-none persona-bg-transparent persona-p-1"+(i?.toggleButton?" "+i.toggleButton:"");et=h("button",g),et.style.width="28px",et.style.height="28px",et.style.color=Vt.actionIconColor,et.type="button",et.setAttribute("aria-label","Event Stream"),et.title="Event Stream";let m=re("activity","18px","currentColor",1.5);m&&et.appendChild(m);let b=Le.clearChatButtonWrapper,A=Le.closeButtonWrapper,L=b||A;L&&L.parentNode===H?H.insertBefore(et,L):H.appendChild(et),et.addEventListener("click",()=>{ot?hr():Qa()})}let Ou=i=>{let g=o.attachments;if(!g?.enabled)return;let m=i.querySelector("[data-persona-composer-attachment-previews]")??i.querySelector(".persona-attachment-previews");if(!m){m=h("div","persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2"),m.setAttribute("data-persona-composer-attachment-previews",""),m.style.display="none";let A=i.querySelector("[data-persona-composer-form]");A?.parentNode?A.parentNode.insertBefore(m,A):i.insertBefore(m,i.firstChild)}if(!(i.querySelector("[data-persona-composer-attachment-input]")??i.querySelector('input[type="file"]'))){let A=h("input");A.type="file",A.setAttribute("data-persona-composer-attachment-input",""),A.accept=(g.allowedTypes??Fn).join(","),A.multiple=(g.maxFiles??4)>1,A.style.display="none",A.setAttribute("aria-label",g.buttonTooltipText??"Attach files"),i.appendChild(A)}},Ul=r.find(i=>i.renderComposer);if(Ul?.renderComposer){let i=o.composer,g=Ul.renderComposer({config:o,defaultRenderer:()=>$a({config:o}).footer,onSubmit:m=>{if(!_||_.isStreaming())return;let b=m.trim(),A=xt?.hasAttachments()??!1;if(!b&&!A)return;bc();let L;A&&(L=[],L.push(...xt.getContentParts()),b&&L.push(Zo(b))),_.sendMessage(b,{contentParts:L}),A&&xt.clearAttachments()},streaming:!1,disabled:!1,openAttachmentPicker:()=>{Pe?.click()},models:i?.models,selectedModelId:i?.selectedModelId,onModelChange:m=>{o.composer={...o.composer,selectedModelId:m},o.agent&&(o.agent={...o.agent,model:m})},onVoiceToggle:o.voiceRecognition?.enabled===!0?()=>{$l?.()}:void 0});g&&(ht.replaceComposer(g),$=ht.composer.footer)}let _u=i=>{let g=(...fe)=>{for(let ne of fe){let xe=i.querySelector(ne);if(xe)return xe}return null},m=i.querySelector("[data-persona-composer-form]"),b=i.querySelector("[data-persona-composer-input]"),A=i.querySelector("[data-persona-composer-submit]"),L=i.querySelector("[data-persona-composer-mic]"),Q=i.querySelector("[data-persona-composer-status]");m&&(X=m),b&&(ve=b),A&&(de=A),L&&(V=L,ze=L.parentElement),Q&&(T=Q);let N=g("[data-persona-composer-suggestions]",".persona-mb-3.persona-flex.persona-flex-wrap.persona-gap-2");N&&(yt=N);let G=g("[data-persona-composer-attachment-button]",".persona-attachment-button");G&&(Se=G,We=G.parentElement),Pe=g("[data-persona-composer-attachment-input]",'input[type="file"]'),Je=g("[data-persona-composer-attachment-previews]",".persona-attachment-previews");let oe=g("[data-persona-composer-actions]",".persona-widget-composer .persona-flex.persona-items-center.persona-justify-between");oe&&(se=oe),ke=g(".persona-widget-composer__left-actions")};Ou($),_u($);let zn=o.layout?.contentMaxWidth??(J()?o.launcher?.composerBar?.contentMaxWidth??"720px":void 0);if(zn&&(be.style.maxWidth=zn,be.style.marginLeft="auto",be.style.marginRight="auto",be.style.width="100%"),zn&&X&&!J()&&(X.style.maxWidth=zn,X.style.marginLeft="auto",X.style.marginRight="auto"),zn&&yt&&!J()&&(yt.style.maxWidth=zn,yt.style.marginLeft="auto",yt.style.marginRight="auto"),zn&&Je&&!J()&&(Je.style.maxWidth=zn,Je.style.marginLeft="auto",Je.style.marginRight="auto"),o.attachments?.enabled&&Pe&&Je){xt=Qr.fromConfig(o.attachments),xt.setPreviewsContainer(Je),Pe.addEventListener("change",m=>{let b=m.target;xt?.handleFileSelect(b.files),b.value=""});let i=o.attachments.dropOverlay,g=Tu(i);ue.appendChild(g)}let $u=()=>Jt?.prefetch();if(o.contextMentions?.enabled&&ve&&(Jt=Qd({config:o,textarea:ve,anchor:X??ve,getMessages:()=>_.getMessages(),liveRegionHost:ue}),Jt)){let i=ve;i.parentElement?.insertBefore(Jt.contextRow,i);let g=Jt.affordanceButtons;for(let m=g.length-1;m>=0;m--){let b=g[m];ke?ke.insertBefore(b,ke.firstChild):X?.appendChild(b)}}(()=>{let i=o.layout?.slots??{},g=b=>{switch(b){case"body-top":return ue.querySelector(".persona-rounded-2xl.persona-bg-persona-surface.persona-p-6")||null;case"messages":return be;case"footer-top":return yt;case"composer":return X;case"footer-bottom":return T;default:return null}},m=(b,A)=>{switch(b){case"header-left":case"header-center":case"header-right":if(b==="header-left")H.insertBefore(A,H.firstChild);else if(b==="header-right")H.appendChild(A);else{let L=H.querySelector(".persona-flex-col");L?L.parentNode?.insertBefore(A,L.nextSibling):H.appendChild(A)}break;case"body-top":{let L=le.querySelector(".persona-rounded-2xl.persona-bg-persona-surface.persona-p-6");L?L.replaceWith(A):le.insertBefore(A,le.firstChild);break}case"body-bottom":le.appendChild(A);break;case"footer-top":yt.replaceWith(A);break;case"footer-bottom":T.replaceWith(A);break;default:break}};for(let[b,A]of Object.entries(i))if(A)try{let L=A({config:o,defaultContent:()=>g(b)});L&&m(b,L)}catch(L){typeof console<"u"&&console.error(`[AgentWidget] Error rendering slot "${b}":`,L)}})();let jl=i=>{let m=i.target.closest('button[data-expand-header="true"]');if(!m)return;let b=m.closest(".persona-reasoning-bubble, .persona-tool-bubble, .persona-approval-bubble");if(!b)return;let A=b.getAttribute("data-message-id");if(!A)return;let L=m.getAttribute("data-bubble-type");if(L==="reasoning")cr.has(A)?cr.delete(A):cr.add(A),Vp(A,b);else if(L==="tool")dr.has(A)?dr.delete(A):dr.add(A),Kp(A,b,o);else if(L==="approval"){let N=((o.approval!==!1?o.approval:void 0)?.detailsDisplay??"collapsed")==="expanded",G=Io.get(A)??N;Io.set(A,!G),Jp(A,b,o)}ho.delete(A)};be.addEventListener("pointerdown",i=>{i.target.closest('button[data-expand-header="true"]')&&(i.preventDefault(),jl(i))}),be.addEventListener("keydown",i=>{let g=i.target;(i.key==="Enter"||i.key===" ")&&g.closest('button[data-expand-header="true"]')&&(i.preventDefault(),jl(i))}),be.addEventListener("copy",i=>{let{clipboardData:g}=i;if(!g)return;let m=be.getRootNode(),b=typeof m.getSelection=="function"?m.getSelection():window.getSelection();if(!b||b.isCollapsed)return;let A=b.toString(),L=Ap(A);!L||L===A||(g.setData("text/plain",L),i.preventDefault())});let Xa=new Map,ql=null,Vl="idle",zu={idle:{icon:"volume-2",label:"Read aloud"},loading:{icon:"loader-circle",label:"Loading\u2026"},playing:{icon:"pause",label:"Pause"},paused:{icon:"play",label:"Resume"}},Uu=(i,g)=>{let{icon:m,label:b}=zu[g];i.setAttribute("aria-label",b),i.title=b,i.setAttribute("aria-pressed",g==="idle"?"false":"true"),i.classList.toggle("persona-message-action-active",g!=="idle"),i.classList.toggle("persona-message-action-loading",g==="loading");let A=re(m,14,"currentColor",2);A&&(i.innerHTML="",i.appendChild(A))},Kl=()=>{be.querySelectorAll('[data-action="read-aloud"]').forEach(g=>{let b=g.closest("[data-actions-for]")?.getAttribute("data-actions-for")??null;Uu(g,b&&b===ql?Vl:"idle")})};be.addEventListener("click",i=>{let m=i.target.closest(".persona-message-action-btn[data-action]");if(!m)return;i.preventDefault(),i.stopPropagation();let b=m.closest("[data-actions-for]");if(!b)return;let A=b.getAttribute("data-actions-for");if(!A)return;let L=m.getAttribute("data-action");if(L==="copy"){let N=_.getMessages().find(G=>G.id===A);if(N&&Ee.onCopy){let G=N.content||"";navigator.clipboard.writeText(G).then(()=>{m.classList.add("persona-message-action-success");let oe=re("check",14,"currentColor",2);oe&&(m.innerHTML="",m.appendChild(oe)),setTimeout(()=>{m.classList.remove("persona-message-action-success");let fe=re("copy",14,"currentColor",2);fe&&(m.innerHTML="",m.appendChild(fe))},2e3)}).catch(oe=>{typeof console<"u"&&console.error("[AgentWidget] Failed to copy message:",oe)}),Ee.onCopy(N)}}else if(L==="read-aloud")_.toggleReadAloud(A);else if(L==="upvote"||L==="downvote"){let N=(Xa.get(A)??null)===L,G=L==="upvote"?"thumbs-up":"thumbs-down";if(N){Xa.delete(A),m.classList.remove("persona-message-action-active");let oe=re(G,14,"currentColor",2);oe&&(m.innerHTML="",m.appendChild(oe))}else{let oe=L==="upvote"?"downvote":"upvote",fe=b.querySelector(`[data-action="${oe}"]`);if(fe){fe.classList.remove("persona-message-action-active");let tt=re(oe==="upvote"?"thumbs-up":"thumbs-down",14,"currentColor",2);tt&&(fe.innerHTML="",fe.appendChild(tt))}Xa.set(A,L),m.classList.add("persona-message-action-active");let ne=re(G,14,"currentColor",2);ne&&(ne.setAttribute("fill","currentColor"),m.innerHTML="",m.appendChild(ne)),m.classList.remove("persona-message-action-pop"),m.offsetWidth,m.classList.add("persona-message-action-pop");let je=_.getMessages().find(dt=>dt.id===A);je&&Ee.onFeedback&&Ee.onFeedback({type:L,messageId:je.id,message:je})}}}),be.addEventListener("click",i=>{let m=i.target.closest("button[data-approval-action]");if(!m)return;i.preventDefault(),i.stopPropagation();let b=m.closest(".persona-approval-bubble");if(!b)return;let A=b.getAttribute("data-message-id");if(!A)return;let L=m.getAttribute("data-approval-action");if(!L)return;let Q=L==="approve"?"approved":"denied",G=_.getMessages().find(fe=>fe.id===A);if(!G?.approval)return;let oe=b.querySelector("[data-approval-buttons]");oe&&oe.querySelectorAll("button").forEach(ne=>{ne.disabled=!0,ne.style.opacity="0.5",ne.style.cursor="not-allowed"}),G.approval.toolType==="webmcp"?_.resolveWebMcpApproval(A,Q):_.resolveApproval(G.approval,Q)});let Ye=null,yr=null,br=()=>{},vr="none",ws=null,fn={artifacts:[],selectedId:null},Mn=!1,gn=!1,wr=!1,Bo=!1,Gl=()=>Bo||fn.artifacts.some(i=>So(o.features?.artifacts,i.artifactType)==="panel"),xs=()=>fn.artifacts.length>0&&!Mn&&Gl(),it={current:null},Ja=(i,g)=>{let m=_.getArtifactById(g),b=m?.markdown,A=m?.title||"artifact",L=m?.file,Q=m?.artifactType??"markdown";if(!b){let oe=i.closest("[data-open-artifact], [data-artifact-inline]")?.closest("[data-message-id]")?.getAttribute("data-message-id");if(oe){let ne=_.getMessages().find(xe=>xe.id===oe);if(ne?.rawContent)try{let xe=JSON.parse(ne.rawContent);b=xe?.props?.markdown,A=xe?.props?.title||A,xe?.props?.file&&typeof xe.props.file=="object"&&(L=xe.props.file),!m&&typeof xe?.props?.artifactType=="string"&&(Q=xe.props.artifactType)}catch{}}}return{markdown:b,title:A,file:L,artifactType:Q}};be.addEventListener("click",i=>{let m=i.target.closest("[data-download-artifact]");if(!m)return;i.preventDefault(),i.stopPropagation();let b=m.getAttribute("data-download-artifact");if(!b||o.features?.artifacts?.onArtifactAction?.({type:"download",artifactId:b})===!0)return;let{markdown:L,title:Q,file:N}=Ja(m,b);if(!L)return;let{filename:G,mime:oe,content:fe}=sp({title:Q,markdown:L,file:N}),ne=new Blob([fe],{type:oe}),xe=URL.createObjectURL(ne),je=document.createElement("a");je.href=xe,je.download=G,je.click(),URL.revokeObjectURL(xe)}),be.addEventListener("click",i=>{let m=i.target.closest("[data-artifact-custom-action]");if(!m)return;i.preventDefault(),i.stopPropagation();let b=m.getAttribute("data-artifact-custom-action");if(!b)return;let A=m.closest("[data-artifact-inline]"),L=A?null:m.closest("[data-open-artifact]"),Q=A?A.getAttribute("data-artifact-inline"):L?.getAttribute("data-open-artifact")??null,G=(A?o.features?.artifacts?.inlineActions:o.features?.artifacts?.cardActions)?.find(dt=>dt.id===b);if(!G)return;let{markdown:oe,title:fe,file:ne,artifactType:xe}=Ja(m,Q??""),je={artifactId:Q,title:fe,artifactType:xe,markdown:oe,file:ne};try{Promise.resolve(G.onClick(je)).catch(()=>{})}catch{}}),be.addEventListener("click",i=>{let m=i.target.closest("[data-copy-artifact]");if(!m)return;i.preventDefault(),i.stopPropagation();let b=m.getAttribute("data-copy-artifact");if(!b)return;let A=_.getArtifactById(b),L="";if(A)L=ns(A);else{let{markdown:Q,file:N,artifactType:G}=Ja(m,b);G==="markdown"&&(L=ns({id:b,artifactType:"markdown",status:"complete",markdown:Q??"",...N?{file:N}:{}}))}L&&navigator.clipboard.writeText(L).then(()=>{let Q=re("check",16,"currentColor",2);Q&&(m.replaceChildren(Q),setTimeout(()=>{let N=re("copy",16,"currentColor",2);N&&m.replaceChildren(N)},1500))}).catch(()=>{})}),be.addEventListener("click",i=>{let m=i.target.closest("[data-expand-artifact-inline]");if(!m)return;i.preventDefault(),i.stopPropagation();let b=m.getAttribute("data-expand-artifact-inline");!b||o.features?.artifacts?.onArtifactAction?.({type:"open",artifactId:b})===!0||(Mn=!1,Bo=!0,gn=!0,wr=!0,_.selectArtifact(b),En())}),be.addEventListener("click",i=>{let g=i.target;if(g.closest("[data-download-artifact]")||g.closest("[data-artifact-custom-action]"))return;let m=g.closest("[data-open-artifact]");if(!m)return;let b=m.getAttribute("data-open-artifact");!b||o.features?.artifacts?.onArtifactAction?.({type:"open",artifactId:b})===!0||(i.preventDefault(),i.stopPropagation(),Mn=!1,Bo=!0,_.selectArtifact(b),En())}),be.addEventListener("keydown",i=>{if(i.key!=="Enter"&&i.key!==" ")return;let g=i.target;!g.hasAttribute("data-open-artifact")&&!g.hasAttribute("data-expand-artifact-inline")||(i.preventDefault(),g.click())});let Do=Le.composerOverlay,Fo=(i,g,m)=>{let b=g.trim();if(!b||!it.current)return;let A=i.getAttribute("data-tool-call-id")??"",L=m.source==="free-text";t.dispatchEvent(new CustomEvent("persona:askUserQuestion:answered",{detail:{toolUseId:A,answer:b,answers:m.structured,values:m.values??(m.source==="multi"?b.split(", "):[b]),isFreeText:L,source:m.source},bubbles:!0,composed:!0})),Jo(Do,A);let Q=it.current.getMessages().find(N=>N.toolCall?.id===A);Q?.agentMetadata?.awaitingLocalTool?it.current.resolveAskUserQuestion(Q,m.structured??b):it.current.sendMessage(b)},fo=i=>{let g=it.current;if(!g)return;let m=i.getAttribute("data-tool-call-id")??"",b=g.getMessages().find(A=>A.toolCall?.id===m);b&&g.persistAskUserQuestionProgress(b,{answers:Ys(i,b),currentIndex:dn(i)})},Ql=i=>Object.entries(i).map(([g,m])=>`${g}: ${Array.isArray(m)?m.join(", "):m}`).join(" | "),Ya=i=>{if(o.features?.askUserQuestion?.groupedAutoAdvance===!1)return;let g=dn(i),m=Xo(i);if(g>=m-1)return;let b=it.current?.getMessages().find(A=>A.toolCall?.id===i.getAttribute("data-tool-call-id"));b&&(ea(i,b,o,g+1),fo(i))};Do.addEventListener("click",i=>{let m=i.target.closest("[data-ask-user-action]");if(!m)return;let b=m.closest("[data-persona-ask-sheet-for]");if(!b)return;let A=m.getAttribute("data-ask-user-action");if(i.preventDefault(),i.stopPropagation(),A==="dismiss"){let L=b.getAttribute("data-tool-call-id")??"";t.dispatchEvent(new CustomEvent("persona:askUserQuestion:dismissed",{detail:{toolUseId:L},bubbles:!0,composed:!0})),Jo(Do,L);let Q=it.current?.getMessages().find(N=>N.toolCall?.id===L);Q?.agentMetadata?.awaitingLocalTool&&(it.current?.markAskUserQuestionResolved(Q),it.current?.resolveAskUserQuestion(Q,"(dismissed)"));return}if(A==="pick"){let L=m.getAttribute("data-option-label");if(!L)return;let Q=b.getAttribute("data-multi-select")==="true",N=eo(b);if(N&&Q){let G=Mo(b)[dn(b)],oe=new Set(Array.isArray(G)?G:[]);oe.has(L)?oe.delete(L):oe.add(L),to(b,Array.from(oe)),fo(b);return}if(N){to(b,L),fo(b),Ya(b);return}if(Q){let G=m.getAttribute("aria-pressed")==="true";m.setAttribute("aria-pressed",G?"false":"true"),m.classList.toggle("persona-ask-pill-selected",!G);let oe=b.querySelector('[data-ask-user-action="submit-multi"]');oe&&(oe.disabled=Di(b).length===0);return}Fo(b,L,{source:"pick",values:[L]});return}if(A==="submit-multi"){let L=Di(b);if(L.length===0)return;Fo(b,L.join(", "),{source:"multi",values:L});return}if(A==="open-free-text"){let L=b.querySelector('[data-ask-free-text-row="true"]');L&&(L.classList.remove("persona-hidden"),L.querySelector('[data-ask-free-text-input="true"]')?.focus());return}if(A==="focus-free-text"){b.querySelector('[data-ask-free-text-input="true"]')?.focus();return}if(A==="submit-free-text"){let Q=b.querySelector('[data-ask-free-text-input="true"]')?.value??"";if(!Q.trim())return;if(eo(b)){to(b,Q.trim()),fo(b),Ya(b);return}Fo(b,Q,{source:"free-text"});return}if(A==="next"||A==="back"){if(!it.current)return;let L=b.getAttribute("data-tool-call-id")??"",Q=it.current.getMessages().find(ne=>ne.toolCall?.id===L);if(!Q)return;let G=b.querySelector('[data-ask-free-text-input="true"]')?.value?.trim()??"";if(G){let ne=Mo(b)[dn(b)];(typeof ne!="string"||ne!==G)&&to(b,G)}let oe=A==="next"?1:-1,fe=dn(b)+oe;ea(b,Q,o,fe),fo(b);return}if(A==="submit-all"){if(!it.current)return;let L=b.getAttribute("data-tool-call-id")??"",Q=it.current.getMessages().find(ne=>ne.toolCall?.id===L);if(!Q)return;let G=b.querySelector('[data-ask-free-text-input="true"]')?.value?.trim()??"";G&&to(b,G);let oe=Ys(b,Q);it.current.persistAskUserQuestionProgress(Q,{answers:oe,currentIndex:dn(b)});let fe=Ql(oe);Fo(b,fe||"(submitted)",{source:"submit-all",structured:oe});return}if(A==="skip"){if(!it.current)return;let L=b.getAttribute("data-tool-call-id")??"",Q=it.current.getMessages().find(xe=>xe.toolCall?.id===L);if(!Q)return;let N=eo(b),G=dn(b),oe=Xo(b),fe=G>=oe-1;if(!N){t.dispatchEvent(new CustomEvent("persona:askUserQuestion:dismissed",{detail:{toolUseId:L},bubbles:!0,composed:!0})),Jo(Do,L),Q.agentMetadata?.awaitingLocalTool&&(it.current.markAskUserQuestionResolved(Q),it.current.resolveAskUserQuestion(Q,"(dismissed)"));return}to(b,"");let ne=b.querySelector('[data-ask-free-text-input="true"]');if(ne&&(ne.value=""),fe){let xe=Ys(b,Q),je=Ql(xe);Fo(b,je||"(skipped)",{source:"submit-all",structured:xe});return}ea(b,Q,o,G+1),fo(b);return}}),Do.addEventListener("keydown",i=>{if(i.key!=="Enter")return;let m=i.target;if(!m.matches?.('[data-ask-free-text-input="true"]'))return;let b=m.closest("[data-persona-ask-sheet-for]");if(!b)return;i.preventDefault();let A=m.value;if(A.trim()){if(eo(b)){to(b,A.trim()),fo(b),Ya(b);return}Fo(b,A,{source:"free-text"})}});let Xl=i=>{if(!/^[1-9]$/.test(i.key)||i.metaKey||i.ctrlKey||i.altKey)return;let g=i.target;if(g?.tagName==="INPUT"||g?.tagName==="TEXTAREA"||g?.isContentEditable)return;let m=Do.querySelector("[data-persona-ask-sheet-for]");if(!m||m.getAttribute("data-ask-layout")!=="rows"||m.getAttribute("data-multi-select")==="true")return;let b=Number(i.key),L=m.querySelectorAll('[data-ask-pill-list="true"] [data-ask-user-action="pick"], [data-ask-pill-list="true"] [data-ask-user-action="focus-free-text"]')[b-1];L&&(i.preventDefault(),L.click())};document.addEventListener("keydown",Xl);let Un=null,bt=null,xr=null,Cs=null,Za=()=>{},Jl=!1,As="",Ss="";function ei(){Cs?.(),Cs=null}let Yl=()=>{if(!Un||!bt)return;let i=t.classList.contains("persona-artifact-welded-split"),g=t.ownerDocument.defaultView??window,m=g.innerWidth<=640;if(!i||t.classList.contains("persona-artifact-narrow-host")||m){bt.style.removeProperty("position"),bt.style.removeProperty("left"),bt.style.removeProperty("top"),bt.style.removeProperty("bottom"),bt.style.removeProperty("width"),bt.style.removeProperty("z-index");return}let b=Un.firstElementChild;if(!b||b===bt)return;let A=10;bt.style.position="absolute",bt.style.top="0",bt.style.bottom="0",bt.style.width=`${A}px`,bt.style.zIndex="5";let L=wl(Un,g),Q=b.offsetWidth+L/2-A/2;bt.style.left=`${Math.max(0,Q)}px`},Ts=()=>{},ju=()=>{let i=t.ownerDocument.defaultView??window,g=o.launcher?.mobileFullscreen??!0,m=o.launcher?.mobileBreakpoint??640;return!g||i.innerWidth>m?!1:M||Wt(o)},Ms=()=>!Kt(o)||!xs()||t.classList.contains("persona-artifact-narrow-host")||ju()||(t.ownerDocument.defaultView??window).innerWidth<Cy?"none":vl(o)?"detached":"welded",En=()=>{if(!Ye||!Kt(o))return;gs(t,o),ms(t,o),Ts();let i=o.features?.artifacts?.layout?.narrowHostMaxWidth??520,g=me.getBoundingClientRect().width||0;t.classList.toggle("persona-artifact-narrow-host",g>0&&g<=i);let m=xs();Ye.setVisible(m),Ye.update(fn),Mn?(Ye.setMobileOpen(!1),Ye.element.classList.add("persona-hidden"),Ye.backdrop?.classList.add("persona-hidden"),gn=!1,wr=!1):fn.artifacts.length>0&&Gl()?(Ye.element.classList.remove("persona-hidden"),Ye.setMobileOpen(!0)):(Ye.setMobileOpen(!1),Ye.element.classList.add("persona-hidden"),Ye.backdrop?.classList.add("persona-hidden"),gn=!1,wr=!1);let b=o.features?.artifacts?.layout?.showExpandToggle===!0;if(Ye.setExpandToggleVisible(b),Ye.setCopyButtonVisible(o.features?.artifacts?.layout?.showCopyButton===!0),Ye.setCustomActions(o.features?.artifacts?.toolbarActions??[]),Ye.setTabFade(o.features?.artifacts?.layout?.tabFade),Ye.setRenderTabBar(o.features?.artifacts?.renderTabBar),!b&&!wr&&(gn=!1),gn!==Jl){let L=Ye.element;gn?(As=L.style.width,Ss=L.style.maxWidth,L.style.removeProperty("width"),L.style.removeProperty("max-width")):(As&&(L.style.width=As),Ss&&(L.style.maxWidth=Ss),As="",Ss=""),Jl=gn}t.classList.toggle("persona-artifact-expanded",gn),Ye.setExpanded(gn);let A=Ms();A!==vr&&(vr=A,br()),Za()};if(Kt(o)){me.style.position="relative";let i=h("div","persona-flex persona-flex-1 persona-flex-col persona-min-w-0 persona-min-h-0"),g=h("div","persona-flex persona-h-full persona-w-full persona-min-h-0 persona-artifact-split-root");i.appendChild(ue),Ye=au(o,{onSelect:m=>it.current?.selectArtifact(m),onDismiss:()=>{Mn=!0,En()},onToggleExpand:()=>{let m=!gn,b=fn.selectedId??fn.artifacts[fn.artifacts.length-1]?.id??null;o.features?.artifacts?.onArtifactAction?.({type:"expand",artifactId:b,expanded:m})!==!0&&(gn=m,m||(wr=!1),En())}}),Ye.element.classList.add("persona-hidden"),Un=g,g.appendChild(i),g.appendChild(Ye.element),Ye.backdrop&&me.appendChild(Ye.backdrop),me.appendChild(g),Za=()=>{if(!Un||!Ye)return;if(!(o.features?.artifacts?.layout?.resizable===!0)){xr?.(),xr=null,ei(),bt&&(bt.remove(),bt=null),Ye.element.style.removeProperty("width"),Ye.element.style.removeProperty("maxWidth");return}if(!bt){let b=h("div","persona-artifact-split-handle persona-shrink-0 persona-h-full");b.setAttribute("role","separator"),b.setAttribute("aria-orientation","vertical"),b.setAttribute("aria-label","Resize artifacts panel"),b.tabIndex=0;let A=t.ownerDocument,L=A.defaultView??window,Q=N=>{if(!Ye||N.button!==0||t.classList.contains("persona-artifact-narrow-host")||t.classList.contains("persona-artifact-expanded")||L.innerWidth<=640)return;N.preventDefault(),ei();let G=N.clientX,oe=Ye.element.getBoundingClientRect().width,fe=o.features?.artifacts?.layout,ne=je=>{let dt=Un.getBoundingClientRect().width,tt=t.classList.contains("persona-artifact-welded-split"),en=wl(Un,L),Ct=tt?0:b.getBoundingClientRect().width||6,kt=oe-(je.clientX-G),R=du(kt,dt,en,Ct,fe?.resizableMinWidth,fe?.resizableMaxWidth);Ye.element.style.width=`${R}px`,Ye.element.style.maxWidth="none",Yl()},xe=()=>{A.removeEventListener("pointermove",ne),A.removeEventListener("pointerup",xe),A.removeEventListener("pointercancel",xe),Cs=null;try{b.releasePointerCapture(N.pointerId)}catch{}};Cs=xe,A.addEventListener("pointermove",ne),A.addEventListener("pointerup",xe),A.addEventListener("pointercancel",xe);try{b.setPointerCapture(N.pointerId)}catch{}};b.addEventListener("pointerdown",Q),bt=b,Un.insertBefore(b,Ye.element),xr=()=>{b.removeEventListener("pointerdown",Q)}}if(bt){let b=xs();bt.classList.toggle("persona-hidden",!b),Yl()}},Ts=()=>{if(!M||!Ye||(o.launcher?.sidebarMode??!1)||Wt(o)&&pn(o).reveal==="emerge")return;let b=t.ownerDocument.defaultView??window,A=o.launcher?.mobileFullscreen??!0,L=o.launcher?.mobileBreakpoint??640;if(A&&b.innerWidth<=L||!cu(o,M))return;let Q=o.launcher?.width??o.launcherWidth??Nn,N=o.features?.artifacts?.layout?.expandedPanelWidth??"min(720px, calc(100vw - 24px))";xs()?(me.style.width=N,me.style.maxWidth=N):(me.style.width=Q,me.style.maxWidth=Q)},typeof ResizeObserver<"u"&&(yr=new ResizeObserver(()=>{En()}),yr.observe(me))}else me.appendChild(ue);J()&&Ke&&(Le.peekBanner&&Ke.appendChild(Le.peekBanner),Ke.appendChild($)),t.appendChild(Be),Ke&&t.appendChild(Ke);let Es=()=>{if(J()){me.style.width="100%",me.style.maxWidth="100%";let Tt=o.launcher?.composerBar??{},Xt=Be.dataset.state==="expanded",$s=Tt.expandedSize??"anchored";if(!(Xt&&$s!=="fullscreen")){ue.style.background="",ue.style.border="",ue.style.borderRadius="",ue.style.overflow="",ue.style.boxShadow="";return}let Dr=o.theme?.components?.panel,zs=or(o),qo=(In,Ao)=>In==null||In===""?Ao:qt(zs,In)??In,Us="1px solid var(--persona-border)",Ti="var(--persona-palette-shadows-xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25))",Co="var(--persona-panel-radius, var(--persona-radius-xl, 0.75rem))";ue.style.background="var(--persona-surface, #ffffff)",ue.style.border=qo(Dr?.border,Us),ue.style.borderRadius=qo(Dr?.borderRadius,Co),ue.style.boxShadow=qo(Dr?.shadow,Ti),ue.style.overflow="hidden";return}let i=Wt(o),g=o.launcher?.sidebarMode??!1,m=i||g||(o.launcher?.fullHeight??!1),b=o.launcher?.enabled===!1,A=o.launcher?.detachedPanel===!0,L=o.theme?.components?.panel,Q=or(o),N=(Tt,Xt)=>Tt==null||Tt===""?Xt:qt(Q,Tt)??Tt,G=t.ownerDocument.defaultView??window,oe=o.launcher?.mobileFullscreen??!0,fe=o.launcher?.mobileBreakpoint??640,ne=G.innerWidth<=fe,xe=oe&&ne&&M,je=i&&oe&&ne,dt=o.launcher?.position??"bottom-left",tt=dt==="bottom-left"||dt==="top-left",en=o.launcher?.zIndex??zt,Ct="var(--persona-panel-border, 1px solid var(--persona-border))",kt="var(--persona-panel-shadow, var(--persona-palette-shadows-xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25)))",R="var(--persona-panel-radius, var(--persona-radius-xl, 0.75rem))",Ie=A&&!xe&&!je;Ie?t.setAttribute("data-persona-panel-detached","true"):t.removeAttribute("data-persona-panel-detached");let Oe=Ie?Ct:g||xe?"none":Ct,Me=Ie?kt:xe?"none":g?tt?"var(--persona-palette-shadows-sidebar-left, 2px 0 12px rgba(0, 0, 0, 0.08))":"var(--persona-palette-shadows-sidebar-right, -2px 0 12px rgba(0, 0, 0, 0.08))":b?"none":kt;i&&!xe&&!Ie&&(Me="none",Oe="none");let At=Ie?R:g||xe?"0":R,pt=N(L?.border,Oe),jt=N(L?.shadow,Me),ut=N(L?.borderRadius,At),Qt=Ms(),Lt=Qt==="detached",Re=Qt==="welded";t.classList.toggle("persona-artifact-detached-split",Lt),t.classList.toggle("persona-artifact-welded-split",Re);let _e="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)))))",wt=(o.features?.artifacts?.layout?.chatSurface==="flush"?"flush":"card")==="flush"&&Kt(o)&&vl(o)&&b&&!i;t.classList.toggle("persona-artifact-chat-flush",wt);let lt=Lt||wt?"none":jt,ft=Lt?Ct:Re?"none":pt,Ze=Lt?R:ut;wt&&(ft="none",Ze="0");let De=L?.borderRadius!=null&&L.borderRadius!=="",mt=wt&&!De?"0":ut,Ot=le.scrollTop;t.style.cssText="",Be.style.cssText="",me.style.cssText="",ue.style.cssText="",le.style.cssText="",$.style.cssText="",ot&&(le.style.display="none"),(m||b)&&(t.style.minWidth="0");let cn=()=>{if(Ot<=0)return;(le.ownerDocument.defaultView??window).requestAnimationFrame(()=>{if(le.scrollTop===Ot)return;let Xt=le.scrollHeight-le.clientHeight;Xt<=0||(le.scrollTop=Math.min(Ot,Xt))})};if(xe){Be.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"),Be.style.cssText=`
|
|
47
47
|
position: fixed !important;
|
|
48
48
|
inset: 0 !important;
|
|
49
49
|
width: 100% !important;
|
|
@@ -79,11 +79,11 @@ _Details: ${n.message}_`:o}var Gr=t=>({isError:!0,content:[{type:"text",text:t}]
|
|
|
79
79
|
overflow: hidden !important;
|
|
80
80
|
border-radius: 0 !important;
|
|
81
81
|
border: none !important;
|
|
82
|
-
`,le.style.flex="1 1 0%",le.style.minHeight="0",le.style.overflowY="auto",$.style.flexShrink="0",j=!0,cn();return}let _s=o?.launcher?.width??o?.launcherWidth??Nn;if(!g&&!i)b&&m?(me.style.width="100%",me.style.maxWidth="100%"):(me.style.width=_s,me.style.maxWidth=_s);else if(i)if(pn(o).reveal==="emerge"&&!A){let Xt=pn(o).width;me.style.width=Xt,me.style.maxWidth=Xt}else me.style.width="100%",me.style.maxWidth="100%";if(Ts(),me.style.boxShadow=
|
|
82
|
+
`,le.style.flex="1 1 0%",le.style.minHeight="0",le.style.overflowY="auto",$.style.flexShrink="0",j=!0,cn();return}let _s=o?.launcher?.width??o?.launcherWidth??Nn;if(!g&&!i)b&&m?(me.style.width="100%",me.style.maxWidth="100%"):(me.style.width=_s,me.style.maxWidth=_s);else if(i)if(pn(o).reveal==="emerge"&&!A){let Xt=pn(o).width;me.style.width=Xt,me.style.maxWidth=Xt}else me.style.width="100%",me.style.maxWidth="100%";if(Ts(),me.style.boxShadow=lt,me.style.borderRadius=mt,Lt?me.style.border="none":Re&&(me.style.border=pt),ue.style.border=ft,ue.style.borderRadius=Ze,ue.style.boxShadow=Lt&&!wt?_e:"",wt&&(ue.style.background="transparent",le.style.background="transparent",$.style.background="transparent",$.style.borderTop="none"),Re){let Tt=o.features?.artifacts?.layout;ws=Tt?.unifiedSplitOuterRadius?.trim()||Tt?.paneBorderRadius?.trim()||ut}else ws=null;if(i&&!xe&&!Ie&&!Lt&&!Re&&L?.border===void 0&&(ue.style.border="none",pn(o).side==="right"?ue.style.borderLeft="1px solid var(--persona-border)":ue.style.borderRight="1px solid var(--persona-border)"),i&&!xe&&Re&&L?.border===void 0&&(pn(o).side==="right"?me.style.borderLeft="1px solid var(--persona-border)":me.style.borderRight="1px solid var(--persona-border)"),m&&(t.style.display="flex",t.style.flexDirection="column",t.style.height="100%",t.style.minHeight="0",b&&(t.style.width="100%"),Be.style.display="flex",Be.style.flexDirection="column",Be.style.flex="1 1 0%",Be.style.minHeight="0",Be.style.maxHeight="100%",Be.style.height="100%",b&&(Be.style.overflow="hidden"),me.style.display="flex",me.style.flexDirection="column",me.style.flex="1 1 0%",me.style.minHeight="0",me.style.maxHeight="100%",me.style.height="100%",Lt||(me.style.overflow="hidden"),ue.style.display="flex",ue.style.flexDirection="column",ue.style.flex="1 1 0%",ue.style.minHeight="0",ue.style.maxHeight="100%",ue.style.overflow="hidden",le.style.flex="1 1 0%",le.style.minHeight="0",le.style.overflowY="auto",$.style.flexShrink="0"),b&&(Ie||Lt||wt)&&!i&&(wt||(Be.style.padding="var(--persona-panel-inset)"),Be.style.background="var(--persona-panel-canvas-bg)"),Be.classList.remove("persona-bottom-6","persona-right-6","persona-left-6","persona-top-6","persona-bottom-4","persona-right-4","persona-left-4","persona-top-4"),!g&&!b&&!i&&(wn[dt]??wn["bottom-right"]).split(" ").forEach(Xt=>Be.classList.add(Xt)),g){let Tt=o.launcher?.sidebarWidth??"420px";A?Be.style.cssText=`
|
|
83
83
|
position: fixed !important;
|
|
84
84
|
top: var(--persona-panel-inset) !important;
|
|
85
85
|
bottom: var(--persona-panel-inset) !important;
|
|
86
|
-
width: ${
|
|
86
|
+
width: ${Tt} !important;
|
|
87
87
|
height: calc(100vh - (2 * var(--persona-panel-inset))) !important;
|
|
88
88
|
max-height: calc(100vh - (2 * var(--persona-panel-inset))) !important;
|
|
89
89
|
margin: 0 !important;
|
|
@@ -92,11 +92,11 @@ _Details: ${n.message}_`:o}var Gr=t=>({isError:!0,content:[{type:"text",text:t}]
|
|
|
92
92
|
flex-direction: column !important;
|
|
93
93
|
z-index: ${en} !important;
|
|
94
94
|
${tt?"left: var(--persona-panel-inset) !important; right: auto !important;":"left: auto !important; right: var(--persona-panel-inset) !important;"}
|
|
95
|
-
`:
|
|
95
|
+
`:Be.style.cssText=`
|
|
96
96
|
position: fixed !important;
|
|
97
97
|
top: 0 !important;
|
|
98
98
|
bottom: 0 !important;
|
|
99
|
-
width: ${
|
|
99
|
+
width: ${Tt} !important;
|
|
100
100
|
height: 100vh !important;
|
|
101
101
|
max-height: 100vh !important;
|
|
102
102
|
margin: 0 !important;
|
|
@@ -116,9 +116,9 @@ _Details: ${n.message}_`:o}var Gr=t=>({isError:!0,content:[{type:"text",text:t}]
|
|
|
116
116
|
min-height: 0 !important;
|
|
117
117
|
margin: 0 !important;
|
|
118
118
|
padding: 0 !important;
|
|
119
|
-
box-shadow: ${
|
|
120
|
-
border-radius: ${
|
|
121
|
-
${
|
|
119
|
+
box-shadow: ${lt} !important;
|
|
120
|
+
border-radius: ${mt} !important;
|
|
121
|
+
${Lt?"border: none !important;":Re?`border: ${pt} !important;`:""}
|
|
122
122
|
`,me.style.setProperty("width","100%","important"),me.style.setProperty("max-width","100%","important"),ue.style.cssText=`
|
|
123
123
|
display: flex !important;
|
|
124
124
|
flex-direction: column !important;
|
|
@@ -128,16 +128,16 @@ _Details: ${n.message}_`:o}var Gr=t=>({isError:!0,content:[{type:"text",text:t}]
|
|
|
128
128
|
min-height: 0 !important;
|
|
129
129
|
max-height: 100% !important;
|
|
130
130
|
overflow: hidden !important;
|
|
131
|
-
border-radius: ${
|
|
132
|
-
border: ${
|
|
133
|
-
${
|
|
134
|
-
${
|
|
131
|
+
border-radius: ${Ze} !important;
|
|
132
|
+
border: ${ft} !important;
|
|
133
|
+
${Lt&&!wt?`box-shadow: ${_e} !important;`:""}
|
|
134
|
+
${wt?"background: transparent !important;":""}
|
|
135
135
|
`,$.style.cssText=`
|
|
136
136
|
flex-shrink: 0 !important;
|
|
137
137
|
border-top: none !important;
|
|
138
138
|
padding: 8px 16px 12px 16px !important;
|
|
139
|
-
${
|
|
140
|
-
`}if(!b&&!i){let Mt="max-height: -moz-available !important; max-height: stretch !important;",Xt=g?"":"padding-top: 1.25em !important;",$s=g?"":`z-index: ${o.launcher?.zIndex??$t} !important;`;Re.style.cssText+=Mt+Xt+$s}cn()};Es(),Yr(t,o),gs(t,o),ms(t,o),br=()=>{Es(),Yr(t,o),gs(t,o),ms(t,o),ws?t.style.setProperty("--persona-artifact-welded-outer-radius",ws):t.style.removeProperty("--persona-artifact-welded-outer-radius")};let ze=[];ze.push(()=>{document.removeEventListener("keydown",Xl)}),ze.push(()=>{mr!==null&&clearTimeout(mr)});let xn=null,Cn=null;ze.push(()=>{xn?.(),xn=null,Cn?.(),Cn=null}),yr&&ze.push(()=>{yr?.disconnect(),yr=null}),ze.push(()=>{xr?.(),xr=null,ei(),vt&&(vt.remove(),vt=null),Je?.element.style.removeProperty("width"),Je?.element.style.removeProperty("maxWidth")}),Y&&ze.push(()=>{Ge!==null&&(cancelAnimationFrame(Ge),Ge=null),Fe?.destroy(),Fe=null,Ae?.destroy(),Ae=null,pe=null});let go=null,Zl=()=>{go&&(go(),go=null),o.colorScheme==="auto"&&(go=ha(()=>{Yr(t,o)}))};Zl(),ze.push(()=>{go&&(go(),go=null)}),ze.push(a);let ks=o.features?.streamAnimation;if(ks?.type&&ks.type!=="none"){let i=lr(ks.type,ks.plugins);i&&(Ia(i,t),ze.push(()=>Bp(t)))}let Ls=eu(bt),mo=null,_,ti=i=>{if(!_)return;let g=i??_.getMessages(),m=o.features?.suggestReplies?.enabled!==!1?Sd(g):null;m?Ls.render(m,_,ve,g,o.suggestionChipsConfig,{agentPushed:!0}):g.some(b=>b.role==="user")?Ls.render([],_,ve,g):Ls.render(o.suggestionChips,_,ve,g,o.suggestionChipsConfig)},mn=!1,ho=Mp(),No=new Map,yo=new Map,jn=new Map,ni=0,qu=Hn()!==null,Yt=Ta(),rn=0,qn=null,sn=!1,Ps=!1,Vn=0,hn=null,bo=null,oi=!1,Is=!1,ri=null,Cr=!0,si=!1,ai=null,Vu=4,Rs=24,Ku=80,ii=new Map,Ke={active:!1,manuallyDeactivated:!1,lastUserMessageWasVoice:!1,lastUserMessageId:null},ec=o.voiceRecognition?.autoResume??!1,kn=i=>{l.emit("voice:state",{active:Ke.active,source:i,timestamp:Date.now()})},yn=()=>{C(i=>({...i,voiceState:{active:Ke.active,timestamp:Date.now(),manuallyDeactivated:Ke.manuallyDeactivated}}))},Gu=()=>{if(o.voiceRecognition?.enabled===!1)return;let i=kl(c.voiceState),g=!!i.active,m=Number(i.timestamp??0);Ke.manuallyDeactivated=!!i.manuallyDeactivated,g&&Date.now()-m<xy&&setTimeout(()=>{Ke.active||(Ke.manuallyDeactivated=!1,o.voiceRecognition?.provider?.type==="runtype"?_.toggleVoice().then(()=>{Ke.active=_.isVoiceActive(),kn("restore"),_.isVoiceActive()&&Uo()}):Ds("restore"))},1e3)},Qu=()=>_?Au(_.getMessages()).filter(i=>!i.__skipPersist):[],Ws=null,tc=(i,g)=>{typeof console<"u"&&console.error(i,g)},li=(i,g)=>{let m=()=>{try{let Q=i();return!Q||typeof Q.then!="function"?null:Promise.resolve(Q).catch(N=>{tc(g,N)})}catch(Q){return tc(g,Q),null}},b=Ws,A=b?b.then(()=>m()??void 0):m();if(!A)return;let L=A.finally(()=>{Ws===L&&(Ws=null)});Ws=L};function ci(i){if(!d?.save)return;let m={messages:i?Au(i):_?Qu():[],metadata:c,artifacts:fn.artifacts,selectedArtifactId:fn.selectedId};li(()=>d.save(m),"[AgentWidget] Failed to persist state:")}let Oo=null,nc=()=>Re.querySelector("#persona-scroll-container")||le,Ar=()=>{Oo!==null&&(cancelAnimationFrame(Oo),Oo=null),sn=!1},oc=()=>{qn!==null&&(cancelAnimationFrame(qn),qn=null),Ps=!1,Ar()},Xu=()=>mn&&pi()&&(Gt()!=="anchor-top"||Fl()),di=()=>{let i=co()||"Jump to latest",g=Xu();Et.toggleAttribute("data-persona-scroll-to-bottom-streaming",g),Vn>0?(po.textContent=String(Vn),po.style.display="",Et.setAttribute("aria-label",`${i} (${Vn} new)`)):(po.textContent="",po.style.display="none",Et.setAttribute("aria-label",g?`${i} (response streaming below)`:i))},rc=()=>{Vn!==0&&(Vn=0,di())},pi=()=>_n()?!Yt.isFollowing():!ao(le,Rs),Zt=()=>{if(!bs()||ot){Et.parentNode&&Et.remove(),Et.style.display="none";return}Et.parentNode!==ue&&ue.appendChild(Et),Ho();let g=Tn(le)>0&&pi();g?di():rc(),Et.style.display=g?"":"none"},Sr=()=>{Yt.pause()&&(oc(),Zt())},Kn=()=>{Yt.resume(),rc(),Zt()},Gn=(i=!1)=>{_n()&&Yt.isFollowing()&&(!i&&!mn||(qn!==null&&(cancelAnimationFrame(qn),qn=null),Ps=!0,qn=requestAnimationFrame(()=>{qn=null,Ps=!1,Yt.isFollowing()&&Ju(nc(),i?220:140)})))},sc=(i,g,m,b=()=>!0)=>{let A=i.scrollTop,L=g(),Q=L-A;if(Ar(),Math.abs(Q)<1){sn=!0,i.scrollTop=L,rn=i.scrollTop,sn=!1;return}let N=performance.now();sn=!0;let G=fe=>1-Math.pow(1-fe,3),oe=fe=>{if(!b()){Ar();return}let ne=g();ne!==L&&(L=ne,Q=L-A);let xe=fe-N,Ue=Math.min(xe/m,1),pt=G(Ue),tt=A+Q*pt;i.scrollTop=tt,rn=i.scrollTop,Ue<1?Oo=requestAnimationFrame(oe):(i.scrollTop=L,rn=i.scrollTop,Oo=null,sn=!1)};Oo=requestAnimationFrame(oe)},Ju=(i,g=500)=>{let m=Tn(i)-i.scrollTop;if(Math.abs(m)<1){rn=i.scrollTop;return}if(Math.abs(m)>=Ku){Ar(),sn=!0,i.scrollTop=Tn(i),rn=i.scrollTop,sn=!1;return}sc(i,()=>Tn(i),g,()=>Yt.isFollowing())},ac=()=>{let i=nc();sn=!0,i.scrollTop=Tn(i),rn=i.scrollTop,sn=!1,Zt()},ic=i=>{let g=0,m=i;for(;m&&m!==le;)g+=m.offsetTop,m=m.offsetParent;return g},lc=()=>{if(Nu()!=="last-user-turn")return!1;let i=_?.getMessages()??[];if(i.length<2)return!1;let g=[...i].reverse().find(L=>L.role==="user");if(!g)return!1;let m=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(g.id):g.id.replace(/\\/g,"\\\\").replace(/"/g,'\\"'),b=le.querySelector(`[data-message-id="${m}"]`);if(!b)return!1;let A=Math.min(Math.max(0,ic(b)-Bl()),Tn(le));return sn=!0,le.scrollTop=A,rn=le.scrollTop,sn=!1,Gt()==="follow"&&!ao(le,Rs)&&Yt.pause(),Zt(),!0},cc=i=>{$n.style.height=`${Math.max(0,Math.round(i))}px`,hn&&(hn.spacerHeight=Math.max(0,i))},Tr=()=>{bo!==null&&(cancelAnimationFrame(bo),bo=null),Ar(),hn=null,$n.style.height="0px"},Yu=i=>{bo!==null&&cancelAnimationFrame(bo),bo=requestAnimationFrame(()=>{bo=null;let g=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(i):i.replace(/\\/g,"\\\\").replace(/"/g,'\\"'),m=le.querySelector(`[data-message-id="${g}"]`);if(!m)return;let b=ic(m),A=hn?.spacerHeight??0,L=le.scrollHeight-A,{targetScrollTop:Q,spacerHeight:N}=Ip({anchorOffsetTop:b,topOffset:Bl(),viewportHeight:le.clientHeight,contentHeight:L});hn={initialSpacerHeight:N,contentHeightAtAnchor:L,spacerHeight:N},cc(N),sc(le,()=>Q,220)})},Zu=()=>{if(_n()){if(!Yt.isFollowing()||ao(le,1))return;Gn(!mn);return}if(hn&&hn.initialSpacerHeight>0){let i=le.scrollHeight-hn.spacerHeight,g=Rp({initialSpacerHeight:hn.initialSpacerHeight,contentHeightAtAnchor:hn.contentHeightAtAnchor,currentContentHeight:i});g!==hn.spacerHeight&&cc(g)}Zt()},ef=i=>{let g=Gt();g==="follow"?(Kn(),Gn(!0)):g==="anchor-top"&&(Cr=!1,si=!0,Yu(i))},tf=()=>{if(Gt()==="anchor-top"){if(si){Cr=!1;return}Cr=!0,Tr(),Kn(),Gn(!0)}},nf=i=>{let g=new Map;i.forEach(m=>{let b=ii.get(m.id);g.set(m.id,{streaming:m.streaming,role:m.role}),!b&&m.role==="assistant"&&(l.emit("assistant:message",m),!Is&&(Gt()!=="anchor-top"||Fl())&&pi()&&(Vn+=1,di(),Zt(),Ol(Vn===1?"1 new message below.":`${Vn} new messages below.`))),m.role==="assistant"&&b?.streaming&&m.streaming===!1&&l.emit("assistant:complete",m),m.variant==="approval"&&m.approval&&(b?m.approval.status!=="pending"&&l.emit("approval:resolved",{approval:m.approval,decision:m.approval.status}):l.emit("approval:requested",{approval:m.approval,message:m}))}),ii.clear(),g.forEach((m,b)=>{ii.set(b,m)})},Hs=(i,g)=>{let m=g==="user"?"user":"assistant",b=o.layout?.messages?.[m],A=b?.width??"content",L=b?.maxWidth??(A==="full"?"100%":"85%");i.classList.add("persona-message-row"),i.classList.remove("persona-message-row-user","persona-message-row-assistant","persona-message-row-system","persona-message-width-content","persona-message-width-full"),i.classList.add(`persona-message-row-${g}`,`persona-message-width-${A}`),i.classList.toggle("persona-justify-end",g==="user"),i.setAttribute("data-message-role",g),i.setAttribute("data-message-width",A),i.style.setProperty("--persona-message-row-max-width",L)},vo=(i,g)=>{let m=document.createElement("div");return m.className="persona-flex",m.id=`wrapper-${i}`,m.setAttribute("data-wrapper-id",i),Hs(m,g),m},of=(i,g,m)=>{let b=document.createElement("div"),L=(()=>{let R=r.find(We=>We.renderLoadingIndicator);if(R?.renderLoadingIndicator)return R.renderLoadingIndicator;if(o.loadingIndicator?.render)return o.loadingIndicator.render})(),Q=(R,We)=>We==null?!1:typeof We=="string"?(R.textContent=We,!0):(R.appendChild(We),!0),N=new Set,G=new Map,oe=new Set,fe=r.some(R=>R.renderAskUserQuestion),ne=[],xe=[],Ue=o.enableComponentStreaming!==!1,pt=o.approval!==!1,tt=[];if(g.forEach(R=>{N.add(R.id),G.set(R.id,R.role);let We=fe&&To(R),He=pt&&R.variant==="approval"&&!!R.approval,_e=!We&&R.role==="assistant"&&!R.variant&&Ue&&El(R);!He&&jn.has(R.id)&&(i.querySelector(`#wrapper-${R.id}`)?.removeAttribute("data-preserve-runtime"),jn.delete(R.id)),!_e&&yo.has(R.id)&&(i.querySelector(`#wrapper-${R.id}`)?.removeAttribute("data-preserve-runtime"),yo.delete(R.id));let St=To(R)?`:${R.agentMetadata?.askUserQuestionAnswered?"a":"u"}:${R.agentMetadata?.askUserQuestionAnswers?Object.keys(R.agentMetadata.askUserQuestionAnswers).length:0}`:"",ut=Tp(R,ni)+St,Ut=We||He||_e?null:Ep(ho,R.id,ut);if(Ut){b.appendChild(Ut.cloneNode(!0)),To(R)&&R.toolCall?.id&&R.agentMetadata?.awaitingLocalTool===!0&&!R.agentMetadata?.askUserQuestionAnswered&&(oe.add(R.toolCall.id),Zs(R,o,ke.composerOverlay));return}let ft=null,Qt=r.find(Ze=>!!(R.variant==="reasoning"&&Ze.renderReasoning||R.variant==="tool"&&Ze.renderToolCall||!R.variant&&Ze.renderMessage)),Pt=o.layout?.messages;if(To(R)&&R.agentMetadata?.askUserQuestionAnswered===!0){No.delete(R.id),i.querySelector(`#wrapper-${R.id}`)?.removeAttribute("data-preserve-runtime");return}if(Ni(R)&&o.features?.suggestReplies?.enabled!==!1)return;if(To(R)&&o.features?.askUserQuestion?.enabled!==!1){let Ze=r.find(xt=>typeof xt.renderAskUserQuestion=="function");if(Ze&<.current){let xt=No.get(R.id),jt=xt!==ut,st=null;if(jt){let{payload:Ye,complete:De}=Qo(R),ht=R.id,Nt=()=>lt.current?.getMessages().find(cn=>cn.id===ht);st=Ze.renderAskUserQuestion({message:R,payload:Ye,complete:De,resolve:cn=>{let Br=Nt();Br&<.current?.resolveAskUserQuestion(Br,cn)},dismiss:()=>{let cn=Nt();cn?.agentMetadata?.awaitingLocalTool&&(lt.current?.markAskUserQuestionResolved(cn),lt.current?.resolveAskUserQuestion(cn,"(dismissed)"))},config:o})}let ct=xt!=null;if(jt&&st===null&&!ct){R.agentMetadata?.awaitingLocalTool===!0&&!R.agentMetadata?.askUserQuestionAnswered&&(oe.add(R.toolCall.id),Zs(R,o,ke.composerOverlay));return}let gt=vo(R.id,R.role);gt.setAttribute("data-ask-plugin-stub","true"),gt.setAttribute("data-preserve-runtime","true"),b.appendChild(gt),ne.push({messageId:R.id,fingerprint:ut,bubble:st});return}else{R.agentMetadata?.awaitingLocalTool===!0&&!R.agentMetadata?.askUserQuestionAnswered&&(oe.add(R.toolCall.id),Zs(R,o,ke.composerOverlay));return}}else if(He){let Ze=r.find(ct=>typeof ct.renderApproval=="function")??s,jt=jn.get(R.id)!==ut,st=null;if(jt&&Ze?.renderApproval){let ct=R.id,gt=(Ye,De)=>{let ht=lt.current?.getMessages().find(Nt=>Nt.id===ct);ht?.approval&&(ht.approval.toolType==="webmcp"?lt.current?.resolveWebMcpApproval(ht.id,Ye):lt.current?.resolveApproval(ht.approval,Ye,De))};st=Ze.renderApproval({message:R,defaultRenderer:()=>Ua(R,o),config:o,approve:Ye=>gt("approved",Ye),deny:Ye=>gt("denied",Ye)})}if(jt&&st===null)i.querySelector(`#wrapper-${R.id}`)?.removeAttribute("data-preserve-runtime"),jn.delete(R.id),ft=Ua(R,o);else{let ct=vo(R.id,R.role);ct.setAttribute("data-approval-plugin-stub","true"),ct.setAttribute("data-preserve-runtime","true"),b.appendChild(ct),tt.push({messageId:R.id,fingerprint:ut,bubble:st});return}}else if(Qt)if(R.variant==="reasoning"&&R.reasoning&&Qt.renderReasoning){if(!ee)return;ft=Qt.renderReasoning({message:R,defaultRenderer:()=>ul(R,o),config:o})}else if(R.variant==="tool"&&R.toolCall&&Qt.renderToolCall){if(!ce)return;ft=Qt.renderToolCall({message:R,defaultRenderer:()=>gl(R,o),config:o})}else Qt.renderMessage&&(ft=Qt.renderMessage({message:R,defaultRenderer:()=>{let Ze=pl(R,m,Pt,o.messageActions,Me,{loadingIndicatorRenderer:L,widgetConfig:o});return R.role!=="user"&&xl(Ze,R,o,_),Ze},config:o}));if(!ft&&_e){let Ze=wu(R);if(Ze){let xt=yo.get(R.id),jt=xt!==ut,st=o.wrapComponentDirectiveInBubble!==!1&&On.getOptions(Ze.component)?.bubbleChrome!==!1,ct=null;if(jt){let gt=bu(Ze,{config:o,message:R,transform:m});if(gt&&Ze.component==="PersonaArtifactInline"){let Ye=gt.hasAttribute("data-artifact-inline")?gt:gt.querySelector("[data-artifact-inline]"),De=Ye?.getAttribute("data-artifact-inline")??"",ht=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(De):De,Nt=De?i.querySelector(`#wrapper-${R.id}`)?.querySelector(`[data-artifact-inline="${ht}"]`)??null:null;Ye&&Nt&&Nt!==Ye&&wp(Nt)&&(Ye===gt?gt=Nt:Ye.replaceWith(Nt))}if(gt)if(st){let Ye=document.createElement("div");if(Ye.className=["persona-message-bubble","persona-rounded-2xl","persona-bg-persona-surface","persona-border","persona-border-persona-message-border","persona-p-4"].join(" "),Ye.id=`bubble-${R.id}`,Ye.setAttribute("data-message-id",R.id),R.content&&R.content.trim()){let De=document.createElement("div");De.className="persona-mb-3 persona-text-sm persona-leading-relaxed",De.innerHTML=m({text:R.content,message:R,streaming:!!R.streaming,raw:R.rawContent}),Ye.appendChild(De)}Ye.appendChild(gt),ct=Ye}else{let Ye=document.createElement("div");if(Ye.className="persona-flex persona-flex-col persona-w-full persona-max-w-full persona-gap-3 persona-items-stretch",Ye.id=`bubble-${R.id}`,Ye.setAttribute("data-message-id",R.id),Ye.setAttribute("data-persona-component-directive","true"),R.content&&R.content.trim()){let De=document.createElement("div");De.className="persona-text-sm persona-leading-relaxed persona-text-persona-primary persona-w-full",De.innerHTML=m({text:R.content,message:R,streaming:!!R.streaming,raw:R.rawContent}),Ye.appendChild(De)}Ye.appendChild(gt),ct=Ye}}if(ct||xt!=null){let gt=vo(R.id,R.role);gt.setAttribute("data-component-directive-stub","true"),gt.setAttribute("data-preserve-runtime","true"),b.appendChild(gt),xe.push({messageId:R.id,fingerprint:ut,bubble:ct});return}}}if(!ft)if(R.variant==="reasoning"&&R.reasoning){if(!ee)return;ft=ul(R,o)}else if(R.variant==="tool"&&R.toolCall){if(!ce)return;ft=gl(R,o)}else if(R.variant==="approval"&&R.approval){if(o.approval===!1)return;ft=Ua(R,o)}else{let Ze=o.layout?.messages;Ze?.renderUserMessage&&R.role==="user"?ft=Ze.renderUserMessage({message:R,config:o,streaming:!!R.streaming}):Ze?.renderAssistantMessage&&R.role==="assistant"?ft=Ze.renderAssistantMessage({message:R,config:o,streaming:!!R.streaming}):ft=pl(R,m,Ze,o.messageActions,Me,{loadingIndicatorRenderer:L,widgetConfig:o}),R.role!=="user"&&ft&&xl(ft,R,o,_)}let Be=vo(R.id,R.role);Be.appendChild(ft),kp(ho,R.id,ut,Be),b.appendChild(Be)}),ke.composerOverlay&&ke.composerOverlay.querySelectorAll("[data-persona-ask-sheet-for]").forEach(We=>{let He=We.getAttribute("data-persona-ask-sheet-for");He&&!oe.has(He)&&Jo(ke.composerOverlay,He)}),o.features?.toolCallDisplay?.grouped){let R=[],We=[];g.forEach(He=>{if(He.variant==="tool"&&He.toolCall&&ce){We.push(He);return}He.variant==="reasoning"&&!ee||(We.length>1&&R.push(We),We=[])}),We.length>1&&R.push(We),R.forEach((He,_e)=>{let St=He.map(xt=>Array.from(b.children).find(jt=>jt instanceof HTMLElement&&jt.getAttribute("data-wrapper-id")===xt.id)).filter(xt=>!!xt);if(St.length<2)return;let ut=vo(`tool-group-${_e}-${He[0].id}`,"assistant");ut.setAttribute("data-persona-tool-group-row","true");let Ut=document.createElement("div");Ut.className="persona-tool-group persona-flex persona-w-full persona-flex-col persona-gap-2",Ut.setAttribute("data-persona-tool-group","true");let ft=document.createElement("div");ft.className="persona-tool-group-summary persona-text-xs persona-text-persona-muted";let Qt=`Called ${He.length} tools`,Pt=o.toolCall?.renderGroupedSummary?.({messages:He,toolCalls:He.map(xt=>xt.toolCall).filter(xt=>!!xt),defaultSummary:Qt,config:o});Q(ft,Pt)||(ft.textContent=Qt);let Be=document.createElement("div");Be.className="persona-tool-group-stack persona-flex persona-flex-col";let Ze=o.features?.toolCallDisplay?.groupedMode==="summary";Ut.appendChild(ft),Ze||Ut.appendChild(Be),ut.appendChild(Ut),St[0].before(ut),St.forEach((xt,jt)=>{if(Ze){xt.remove();return}xt.style.setProperty("--persona-message-row-max-width","100%");let st=document.createElement("div");st.className="persona-tool-group-item persona-relative",st.setAttribute("data-persona-tool-group-item","true"),jt<St.length-1&&st.setAttribute("data-persona-tool-group-connector","true"),st.appendChild(xt),Be.appendChild(st)})})}Lp(ho,N);let en=g.some(R=>R.role==="assistant"&&R.streaming),At=g[g.length-1],Lt=At?.role==="assistant"&&!At.streaming&&At.variant!=="approval";if(mn&&g.some(R=>R.role==="user")&&!en&&!Lt){let R={config:o,streaming:!0,location:"standalone",defaultRenderer:ds},We=r.find(_e=>_e.renderLoadingIndicator),He=null;if(We?.renderLoadingIndicator&&(He=We.renderLoadingIndicator(R)),He===null&&o.loadingIndicator?.render&&(He=o.loadingIndicator.render(R)),He===null&&(He=ds()),He){let _e=document.createElement("div"),St=o.loadingIndicator?.showBubble!==!1;_e.className=St?["persona-rounded-2xl","persona-text-sm","persona-leading-relaxed","persona-shadow-sm","persona-bg-persona-surface","persona-border","persona-text-persona-primary","persona-px-5","persona-py-3"].join(" "):["persona-text-sm","persona-leading-relaxed","persona-text-persona-primary"].join(" "),_e.setAttribute("data-typing-indicator","true"),_e.style.borderColor="var(--persona-message-assistant-border, var(--persona-border, #e5e7eb))",_e.appendChild(He);let ut=vo("typing-indicator","assistant");ut.appendChild(_e),b.appendChild(ut)}}if(!mn&&g.length>0){let R=g[g.length-1],We={config:o,lastMessage:R,messageCount:g.length},He=r.find(St=>St.renderIdleIndicator),_e=null;if(He?.renderIdleIndicator&&(_e=He.renderIdleIndicator(We)),_e===null&&o.loadingIndicator?.renderIdle&&(_e=o.loadingIndicator.renderIdle(We)),_e){let St=document.createElement("div"),ut=o.loadingIndicator?.showBubble!==!1;St.className=ut?["persona-rounded-2xl","persona-text-sm","persona-leading-relaxed","persona-shadow-sm","persona-bg-persona-surface","persona-border","persona-border-persona-message-border","persona-text-persona-primary","persona-px-5","persona-py-3"].join(" "):["persona-text-sm","persona-leading-relaxed","persona-text-persona-primary"].join(" "),St.setAttribute("data-idle-indicator","true"),St.appendChild(_e);let Ut=vo("idle-indicator","assistant");Ut.appendChild(St),b.appendChild(Ut)}}if(rd(b),Sa(i,b),ki(i),ne.length>0)for(let{messageId:R,fingerprint:We,bubble:He}of ne){let _e=i.querySelector(`#wrapper-${R}`);_e&&(Hs(_e,G.get(R)??"assistant"),He!==null&&(_e.replaceChildren(He),_e.setAttribute("data-bubble-fp",We),No.set(R,We)))}if(No.size>0)for(let R of No.keys())N.has(R)||No.delete(R);if(xe.length>0)for(let{messageId:R,fingerprint:We,bubble:He}of xe){let _e=i.querySelector(`#wrapper-${R}`);_e&&(Hs(_e,G.get(R)??"assistant"),He!==null&&(_e.replaceChildren(He),_e.setAttribute("data-bubble-fp",We),yo.set(R,We)))}if(yo.size>0)for(let R of yo.keys())N.has(R)||yo.delete(R);if(tt.length>0)for(let{messageId:R,fingerprint:We,bubble:He}of tt){let _e=i.querySelector(`#wrapper-${R}`);_e&&(Hs(_e,G.get(R)??"assistant"),He!==null&&(_e.replaceChildren(He),_e.setAttribute("data-bubble-fp",We),jn.set(R,We)))}if(jn.size>0)for(let R of jn.keys())N.has(R)||jn.delete(R)},Mr=(i,g,m)=>{of(i,g,m),Kl()},Er=null,rf=()=>{if(Er)return;let i=m=>{let b=m.composedPath();b.includes(Re)||Ve&&b.includes(Ve)||dt(!1,"user")};Er=i,(t.ownerDocument??document).addEventListener("pointerdown",i,!0)},dc=()=>{if(!Er)return;(t.ownerDocument??document).removeEventListener("pointerdown",Er,!0),Er=null};ze.push(()=>dc());let kr=null,sf=()=>{if(kr)return;let i=m=>{m.key==="Escape"&&(m.isComposing||dt(!1,"user"))};kr=i,(t.ownerDocument??document).addEventListener("keydown",i,!0)},pc=()=>{if(!kr)return;(t.ownerDocument??document).removeEventListener("keydown",kr,!0),kr=null};ze.push(()=>pc());let Lr=!1,uc=new Set,af=()=>{let i=o.launcher?.composerBar?.peek?.streamAnimation;return i||o.features?.streamAnimation},_o=()=>{if(!J())return;let i=ke.peekBanner,g=ke.peekTextNode;if(!i||!g)return;if(F){i.classList.remove("persona-pill-peek--visible");return}let m=_?.getMessages()??[],b;for(let At=m.length-1;At>=0;At--){let Lt=m[At];if(Lt.role==="assistant"&&Lt.content){b=Lt;break}}if(!b){i.classList.remove("persona-pill-peek--visible");return}let A=b.content,L=!!b.streaming,Q=af(),N=ka(Q),G=N.type!=="none"?lr(N.type,Q?.plugins):null,oe=G?.isAnimating?.(b)===!0,fe=G!==null&&(L||oe);fe&&G&&!uc.has(G.name)&&(Ia(G,t),uc.add(G.name));let ne=fe&&G?.containerClass?G.containerClass:null,xe=g.dataset.personaPeekStreamClass??null;xe&&xe!==ne&&(g.classList.remove(xe),delete g.dataset.personaPeekStreamClass),ne&&xe!==ne&&(g.classList.add(ne),g.dataset.personaPeekStreamClass=ne),fe?(g.style.setProperty("--persona-stream-step",`${N.speed}ms`),g.style.setProperty("--persona-stream-duration",`${N.duration}ms`)):(g.style.removeProperty("--persona-stream-step"),g.style.removeProperty("--persona-stream-duration"));let Ue=fe?La(A,N.buffer,G,b,L):A;if(fe&&N.placeholder==="skeleton"&&L&&(!Ue||!Ue.trim())){let At=document.createElement("div"),Lt=ss();Lt.classList.add("persona-pill-peek__skeleton"),At.appendChild(Lt),Sa(g,At)}else{let At=Math.max(0,Ue.length-100),Lt=Ue.length>100?Ue.slice(-100):Ue,R=Zn(Lt);if(!fe||!G){let We=Ue.length>100?`\u2026${Lt}`:Lt;g.textContent!==We&&(g.textContent=We)}else{let We=R;(G.wrap==="char"||G.wrap==="word")&&(We=rs(R,G.wrap,`peek-${b.id}`,{skipTags:G.skipTags,startIndex:At}));let He=document.createElement("div");if(He.innerHTML=We,G.useCaret&&Lt.length>0){let _e=Pa(),St=He.querySelectorAll(".persona-stream-char, .persona-stream-word"),ut=St[St.length-1];ut?.parentNode?ut.parentNode.insertBefore(_e,ut.nextSibling):He.appendChild(_e)}Sa(g,He),G.onAfterRender?.({container:g,bubble:i,messageId:b.id,message:b,speed:N.speed,duration:N.duration})}}let en=mn||Lr;i.classList.toggle("persona-pill-peek--visible",en)};if(J()){let i=ke.peekBanner;if(i){let b=A=>{A.preventDefault(),A.stopPropagation(),dt(!0,"user")};i.addEventListener("pointerdown",b),ze.push(()=>{i.removeEventListener("pointerdown",b)})}let g=()=>{Lr||(Lr=!0,_o())},m=()=>{Lr&&(Lr=!1,_o())};me.addEventListener("pointerenter",g),me.addEventListener("pointerleave",m),ze.push(()=>{me.removeEventListener("pointerenter",g),me.removeEventListener("pointerleave",m)}),Ve&&(Ve.addEventListener("pointerenter",g),Ve.addEventListener("pointerleave",m),ze.push(()=>{Ve.removeEventListener("pointerenter",g),Ve.removeEventListener("pointerleave",m)}))}let lf=i=>{let g=o.launcher?.composerBar??{},m=g.expandedSize??"anchored",b=g.bottomOffset??"16px",A=g.collapsedMaxWidth,L=g.expandedMaxWidth??"880px",Q=g.expandedTopOffset??"5vh",N=g.modalMaxWidth??"880px",G=g.modalMaxHeight??"min(90vh, 800px)",oe="calc(100vw - 32px)",fe="var(--persona-pill-area-height, 80px)",ne=Re.style;if(ne.left="",ne.right="",ne.top="",ne.bottom="",ne.transform="",ne.width="",ne.maxWidth="",ne.height="",ne.maxHeight="",Ve){let xe=Ve.style;xe.bottom=b,xe.width=A??""}if(i&&m!=="fullscreen"){if(m==="modal"){ne.top="50%",ne.left="50%",ne.transform="translate(-50%, -50%)",ne.bottom="auto",ne.right="auto",ne.width=N,ne.maxWidth=oe,ne.maxHeight=G,ne.height=G;return}ne.left="50%",ne.transform="translateX(-50%)",ne.bottom=`calc(${b} + ${fe})`,ne.top=Q,ne.width=L,ne.maxWidth=oe}},Pr=()=>{if(!D())return;if(J()){let oe=(o.launcher?.composerBar??{}).expandedSize??"anchored",fe=F?"expanded":"collapsed";Re.dataset.state=fe,Re.dataset.expandedSize=oe,Ve&&(Ve.dataset.state=fe,Ve.dataset.expandedSize=oe),Re.style.removeProperty("display"),Re.classList.remove("persona-pointer-events-none","persona-opacity-0"),me.classList.remove("persona-scale-95","persona-opacity-0","persona-scale-100","persona-opacity-100"),lf(F),ue.style.display=F?"flex":"none",Es(),F?(rf(),sf()):(dc(),pc()),_o();return}let i=Ht(o),g=t.ownerDocument.defaultView??window,m=o.launcher?.mobileBreakpoint??640,b=o.launcher?.mobileFullscreen??!0,A=g.innerWidth<=m,L=b&&A&&M,Q=pn(o).reveal;F?(Re.style.removeProperty("display"),Re.style.display=i?"flex":"",Re.classList.remove("persona-pointer-events-none","persona-opacity-0"),me.classList.remove("persona-scale-95","persona-opacity-0"),me.classList.add("persona-scale-100","persona-opacity-100"),Bt?Bt.element.style.display="none":zt&&(zt.style.display="none")):(i?i&&(Q==="overlay"||Q==="push")&&!L?(Re.style.removeProperty("display"),Re.style.display="flex",Re.classList.remove("persona-pointer-events-none","persona-opacity-0"),me.classList.remove("persona-scale-100","persona-opacity-100","persona-scale-95","persona-opacity-0")):(Re.style.setProperty("display","none","important"),Re.classList.remove("persona-pointer-events-none","persona-opacity-0"),me.classList.remove("persona-scale-100","persona-opacity-100","persona-scale-95","persona-opacity-0")):(Re.style.display="",Re.classList.add("persona-pointer-events-none","persona-opacity-0"),me.classList.remove("persona-scale-100","persona-opacity-100"),me.classList.add("persona-scale-95","persona-opacity-0")),Bt?Bt.element.style.display=i?"none":"":zt&&(zt.style.display=i?"none":""))},dt=(i,g="user")=>{if(!D()||F===i)return;let m=F;F=i,Pr();let b=(()=>{let L=o.launcher?.sidebarMode??!1,Q=t.ownerDocument.defaultView??window,N=o.launcher?.mobileFullscreen??!0,G=o.launcher?.mobileBreakpoint??640,oe=Q.innerWidth<=G,fe=Ht(o)&&N&&oe,ne=J()&&(o.launcher?.composerBar?.expandedSize??"fullscreen")==="fullscreen";return L||N&&oe&&M||fe||ne})();if(F&&b){if(!xn){let L=t.getRootNode(),Q=L instanceof ShadowRoot?L.host:t.closest(".persona-host");Q&&(xn=sl(Q,o.launcher?.zIndex??$t))}Cn||(Cn=al(t.ownerDocument))}else F||(xn?.(),xn=null,Cn?.(),Cn=null);F&&(Wr(),lc()||(Gt()==="follow"?Gn(!0):ac()));let A={open:F,source:g,timestamp:Date.now()};F&&!m?l.emit("widget:opened",A):!F&&m&&l.emit("widget:closed",A),l.emit("widget:state",{open:F,launcherEnabled:M,voiceActive:Ke.active,streaming:_.isStreaming()})},ui=i=>{rt(i?"stop":"send"),V&&(V.disabled=i),Ls.buttons.forEach(g=>{g.disabled=i}),$.dataset.personaComposerStreaming=i?"true":"false",$.querySelectorAll("[data-persona-composer-disable-when-streaming]").forEach(g=>{(g instanceof HTMLButtonElement||g instanceof HTMLInputElement||g instanceof HTMLTextAreaElement||g instanceof HTMLSelectElement)&&(g.disabled=i)})},fi=()=>{Ke.active||ve&&ve.focus()};l.on("widget:opened",()=>{o.autoFocusInput&&setTimeout(()=>fi(),200)});let fc=()=>{O.textContent=o.copy?.welcomeTitle??"Hello \u{1F44B}",y.textContent=o.copy?.welcomeSubtitle??"Ask anything about your account or products.",ve.placeholder=o.copy?.inputPlaceholder??"How can I help...";let i=le.querySelector("[data-persona-intro-card]");if(i){let m=o.copy?.showWelcomeCard!==!1;i.style.display=m?"":"none",m?(le.classList.remove("persona-gap-3"),le.classList.add("persona-gap-6")):(le.classList.remove("persona-gap-6"),le.classList.add("persona-gap-3"))}!(o.sendButton?.useIcon??!1)&&!_?.isStreaming()&&(de.textContent=o.copy?.sendButtonLabel??"Send"),ve.style.fontFamily='var(--persona-input-font-family, var(--persona-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif))',ve.style.fontWeight="var(--persona-input-font-weight, var(--persona-font-weight, 400))"};o.clientToken&&(o={...o,getStoredSessionId:()=>{let i=c.sessionId;return typeof i=="string"?i:null},setStoredSessionId:i=>{C(g=>({...g,sessionId:i}))}});let wo=null,cf=()=>{wo==null&&(wo=setInterval(()=>{let i=be.querySelectorAll("[data-tool-elapsed]");if(i.length===0){clearInterval(wo),wo=null;return}let g=Date.now();i.forEach(m=>{let b=Number(m.getAttribute("data-tool-elapsed"));b&&(m.textContent=na(g-b))})},100))},gi=(i,g)=>{if(Object.is(i,g))return!0;if(i===null||g===null||typeof i!="object"||typeof g!="object")return!1;if(Array.isArray(i)||Array.isArray(g))return!Array.isArray(i)||!Array.isArray(g)||i.length!==g.length?!1:i.every((Q,N)=>gi(Q,g[N]));let m=i,b=g,A=Object.keys(m),L=Object.keys(b);return A.length===L.length&&A.every(Q=>Object.prototype.hasOwnProperty.call(b,Q)&&gi(m[Q],b[Q]))},gc=i=>{let{content:g,rawContent:m,llmContent:b,...A}=i;return A},mi=i=>i.role==="assistant"&&i.streaming===!0&&!i.variant&&!i.toolCall&&!i.tools&&!i.approval&&!i.reasoning&&!i.contentParts&&!i.stopReason&&!El(i),df=(i,g,m)=>{if(i.length!==g.length)return!1;let b=i[m.index],A=g[m.index];return!b||!A||b.id!==m.id||A.id!==m.id?!1:(!Object.is(b.content,A.content)||!Object.is(b.rawContent,A.rawContent)||!Object.is(b.llmContent,A.llmContent))&&mi(b)&&mi(A)&&gi(gc(b),gc(A))},mc=null,$o=null,xo=null,Ln=null,Bs=i=>{mc=i;let g,m;$o=null;for(let A=i.length-1;A>=0;A-=1){let L=i[A];if(!g&&L.role==="user"&&(g=L),!m&&L.role==="assistant"&&(m=L),!$o&&mi(L)&&($o={index:A,id:L.id}),g&&m&&$o)break}Mr(be,i,we),Zi(be,fn.artifacts,{suppressTransition:mn}),cf(),ti(i),Gn(!mn),nf(i),i.length===0&&(Tr(),Cr=!0,si=!1),!oi||Is?(oi=!0,ri=g?.id??null,ai=m?.id??null):g&&g.id!==ri?(ri=g.id,ef(g.id)):m&&m.id!==ai&&tf(),m&&(ai=m.id);let b=Ke.lastUserMessageId;g&&g.id!==b&&(Ke.lastUserMessageId=g.id,l.emit("user:message",g)),Ke.lastUserMessageWasVoice=!!g?.viaVoice,ci(i),_o()},hi=()=>{Ln!==null&&(cancelAnimationFrame(Ln),Ln=null);let i=xo;xo=null,i&&Bs(i)},hc=()=>{Ln!==null&&cancelAnimationFrame(Ln),Ln=null,xo=null},pf=i=>{let g=xo??mc;if(mn&&g&&$o&&df(g,i,$o)){xo=i,Ln===null&&(Ln=requestAnimationFrame(()=>{Ln=null;let m=xo;xo=null,m&&Bs(m)}));return}if(i.length===0){hc(),Bs(i);return}hi(),Bs(i)};_=new da(o,{onMessagesChanged(i){pf(i)},onStatusChanged(i){let g=o.statusIndicator??{};Tt(T,(b=>b==="idle"?g.idleText??It.idle:b==="connecting"?g.connectingText??It.connecting:b==="connected"?g.connectedText??It.connected:b==="error"?g.errorText??It.error:b==="paused"?g.pausedText??It.paused:b==="resuming"?g.resumingText??It.resuming:It[b])(i),g,i)},onStreamingChanged(i){i||(_?.getMessages().length===0?hc():hi()),mn=i,ui(i),_&&Mr(be,_.getMessages(),we),i||Gn(!0),Zt(),Ol(i?"Responding\u2026":"Response complete."),_o()},onVoiceStatusChanged(i){if(l.emit("voice:status",{status:i,timestamp:Date.now()}),o.voiceRecognition?.provider?.type==="runtype")switch(i){case"listening":Pn(),Uo();break;case"processing":Pn(),Cf();break;case"speaking":Pn(),Af();break;default:i==="idle"&&_.isBargeInActive()?(Pn(),Uo(),V?.setAttribute("aria-label","End voice session")):(Ke.active=!1,Pn(),kn("system"),yn());break}},onArtifactsState(i){fn=i,i.artifacts.length===0&&(Bo=!1),Zi(be,i.artifacts,{suppressTransition:mn}),En(),ci()},onReconnect(i){let{executionId:g,lastEventId:m}=i.handle;i.phase==="paused"?l.emit("stream:paused",{executionId:g,after:m}):i.phase==="resuming"?l.emit("stream:resuming",{executionId:g,after:m,attempt:i.attempt??1}):l.emit("stream:resumed",{executionId:g,after:m})}}),lt.current=_,ze.push(()=>_.cancel());let yi=null;if(_.onReadAloudChange((i,g)=>{ql=i,Vl=g,Kl();let m=i??yi;i&&(yi=i);let b=m?_.getMessages().find(A=>A.id===m)??null:null;l.emit("message:read-aloud",{messageId:m,message:b,state:g,timestamp:Date.now()}),g==="idle"&&(yi=null)}),oi=!0,o.voiceRecognition?.provider?.type==="runtype")try{_.setupVoice()}catch(i){typeof console<"u"&&console.warn("[AgentWidget] Runtype voice setup failed:",i)}o.clientToken&&_.initClientSession().catch(i=>{o.debug&&console.warn("[AgentWidget] Pre-init client session failed:",i)}),(Ae||o.onSSEEvent)&&_.setSSEEventCallback((i,g)=>{o.onSSEEvent?.(i,g),Oe?.processEvent(i,g),Ae?.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:i,timestamp:Date.now(),payload:JSON.stringify(g)})});let yc=()=>{o.resume&&typeof o.reconnectStream=="function"&&_.resumeFromHandle(o.resume)};u?u.then(i=>{if(i){if(i.metadata&&(c=kl(i.metadata),k.syncFromMetadata()),i.messages?.length){Is=!0;try{_.hydrateMessages(i.messages)}finally{Is=!1}}i.artifacts?.length&&_.hydrateArtifacts(i.artifacts,i.selectedArtifactId??null)}}).catch(i=>{typeof console<"u"&&console.error("[AgentWidget] Failed to hydrate stored state:",i)}).finally(()=>yc()):yc();let bc=()=>{!J()||F||!(o.launcher?.composerBar?.expandOnSubmit??!0)||dt(!0,"auto")},uf=(i,g)=>i?g?{refs:[...i.refs,...g.refs],finalize:async()=>{let[m,b]=await Promise.allSettled([i.finalize(),g.finalize()]),A=[];return m.status==="fulfilled"?A.push(m.value):console.warn("[Persona] a mention bundle failed to finalize; sending without it",m.reason),b.status==="fulfilled"?A.push(b.value):console.warn("[Persona] a mention bundle failed to finalize; sending without it",b.reason),ky(A)}}:i:g,ff=()=>{let g=ve.getInlineMessageFields?.();return g&&g.contentSegments.some(b=>b.kind==="mention")?g.contentSegments:void 0},Ir=!1,gf=async i=>{let g=ve.value.trim(),m=Ct?.hasAttachments()??!1,b=g?await(Jt?.takeInlineCommand(g)??Promise.resolve(null)):null;if(b?.kind==="action"){ve.value="",ve.style.height="auto",Rr(),Jt?.clear();return}let A=Jt?.collectForSubmit()??null,L=b?.kind==="server"?b.mentions:null,Q=uf(A,L),N=b?.kind==="prompt"?b.sendText:g,G=!!A&&A.refs.length>0;if(!N&&!m&&!G&&!L)return;bc();let oe;m&&(oe=[],oe.push(...Ct.getContentParts()),N&&oe.push(Zo(N)));let fe=b?.kind==="prompt"?void 0:ff();ve.value="",ve.style.height="auto",Rr(),_.sendMessage(N,{contentParts:oe,mentions:Q??void 0,contentSegments:fe,viaVoice:i?.viaVoice}),m&&Ct.clearAttachments(),A&&Jt?.clear()},bi=async i=>{if(!Ir){Ir=!0;try{await gf(i)}finally{Ir=!1}}},vc=i=>{if(i.preventDefault(),_.isStreaming()){_.cancel(),Oe?.reset(),Fe?.update();return}Ir||bi()},mf=()=>o.features?.composerHistory!==!1,vi={...nl},wi=!1,Rr=()=>{vi={...nl}},hf=()=>_.getMessages().filter(i=>i.role==="user").map(i=>i.content??"").filter(i=>i.length>0),yf=i=>{if(!ve)return;wi=!0,ve.value=i,ve.dispatchEvent(new Event("input",{bubbles:!0})),wi=!1;let g=ve.value.length;ve.setSelectionRange(g,g)},bf=i=>{wi||(i.isComposing||Jt?.handleInput(i.inputType??void 0),Rr())},vf=i=>{if(ve&&!(!i.isComposing&&Jt?.handleKeydown(i))){if(mf()&&(i.key==="ArrowUp"||i.key==="ArrowDown")&&!i.shiftKey&&!i.metaKey&&!i.ctrlKey&&!i.altKey&&!i.isComposing){let g=ve.selectionStart===0&&ve.selectionEnd===0,m=Sp({direction:i.key==="ArrowUp"?"up":"down",history:hf(),currentValue:ve.value,atStart:g,state:vi});if(vi=m.state,m.handled){i.preventDefault(),m.value!==void 0&&yf(m.value);return}}if(i.key==="Enter"&&!i.shiftKey){if(_.isStreaming()){i.preventDefault();return}if(Ir){i.preventDefault();return}Rr(),i.preventDefault(),de.click()}}},wc=i=>{i.key!=="Escape"||i.isComposing||_.isStreaming()&&i.composedPath().includes(ue)&&(_.cancel(),Oe?.reset(),Fe?.update(),Rr(),i.preventDefault(),i.stopImmediatePropagation())},wf=async i=>{if(o.attachments?.enabled!==!0||!Ct)return;let g=Sy(i.clipboardData);g.length!==0&&(i.preventDefault(),await Ct.handleFiles(g))},an=null,An=!1,zo=null,wt=null,xc=()=>typeof window>"u"?null:window.webkitSpeechRecognition||window.SpeechRecognition||null,Ds=(i="user")=>{if(An||_.isStreaming())return;let g=xc();if(!g)return;an=new g;let b=(o.voiceRecognition??{}).pauseDuration??2e3;an.continuous=!0,an.interimResults=!0,an.lang="en-US";let A=ve.value;an.onresult=L=>{let Q="",N="";for(let oe=0;oe<L.results.length;oe++){let fe=L.results[oe],ne=fe[0].transcript;fe.isFinal?Q+=ne+" ":N=ne}let G=A+Q+N;ve.value=G,zo&&clearTimeout(zo),(Q||N)&&(zo=window.setTimeout(()=>{ve.value.trim()&&an&&An&&(Qn(),bi({viaVoice:!0}))},b))},an.onerror=L=>{L.error!=="no-speech"&&Qn()},an.onend=()=>{if(An){let L=ve.value.trim();L&&L!==A.trim()&&bi({viaVoice:!0}),Qn()}};try{if(an.start(),An=!0,Ke.active=!0,i!=="system"&&(Ke.manuallyDeactivated=!1),kn(i),yn(),V){let L=o.voiceRecognition??{};wt={backgroundColor:V.style.backgroundColor,color:V.style.color,borderColor:V.style.borderColor,iconName:L.iconName??"mic",iconSize:parseFloat(L.iconSize??o.sendButton?.size??"40")||24};let Q=L.recordingBackgroundColor,N=L.recordingIconColor,G=L.recordingBorderColor;if(V.classList.add("persona-voice-recording"),V.style.backgroundColor=Q??"var(--persona-voice-recording-bg, #ef4444)",V.style.color=N??"var(--persona-voice-recording-indicator, #ffffff)",N){let oe=V.querySelector("svg");oe&&oe.setAttribute("stroke",N)}G&&(V.style.borderColor=G),V.setAttribute("aria-label","Stop voice recognition")}}catch{Qn("system")}},Qn=(i="user")=>{if(An){if(An=!1,zo&&(clearTimeout(zo),zo=null),an){try{an.stop()}catch{}an=null}if(Ke.active=!1,kn(i),yn(),V){if(V.classList.remove("persona-voice-recording"),wt){V.style.backgroundColor=wt.backgroundColor,V.style.color=wt.color,V.style.borderColor=wt.borderColor;let g=V.querySelector("svg");g&&g.setAttribute("stroke",wt.color||"currentColor"),wt=null}V.setAttribute("aria-label","Start voice recognition")}}},xf=(i,g)=>{let m=typeof window<"u"&&(typeof window.webkitSpeechRecognition<"u"||typeof window.SpeechRecognition<"u"),b=i?.provider?.type==="runtype",A=i?.provider?.type==="custom";if(!(m||b||A))return null;let Q=h("div","persona-send-button-wrapper"),N=h("button","persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer");N.type="button";let G=i?.tooltipText??"Start voice recognition";N.setAttribute("aria-label",G);let oe=i?.iconName??"mic",fe=g?.size??"40px",ne=i?.iconSize??fe,xe=parseFloat(ne)||24,Ue=i?.backgroundColor??g?.backgroundColor,pt=i?.iconColor??g?.textColor;N.style.width=ne,N.style.height=ne,N.style.minWidth=ne,N.style.minHeight=ne,N.style.fontSize="18px",N.style.lineHeight="1",pt?N.style.color=pt:N.style.color="var(--persona-text, #111827)";let en=re(oe,xe,pt||"currentColor",1.5);en?N.appendChild(en):N.textContent="\u{1F3A4}",Ue?N.style.backgroundColor=Ue:N.style.backgroundColor="",i?.borderWidth&&(N.style.borderWidth=i.borderWidth,N.style.borderStyle="solid"),i?.borderColor&&(N.style.borderColor=i.borderColor),i?.paddingX&&(N.style.paddingLeft=i.paddingX,N.style.paddingRight=i.paddingX),i?.paddingY&&(N.style.paddingTop=i.paddingY,N.style.paddingBottom=i.paddingY),Q.appendChild(N);let At=i?.showTooltip??!1;return Ft({anchor:N,trigger:Q,text:()=>N.getAttribute("aria-label")??G,enabled:At}),{micButton:N,micButtonWrapper:Q}},xi=()=>{if(!V||wt)return;let i=o.voiceRecognition??{};wt={backgroundColor:V.style.backgroundColor,color:V.style.color,borderColor:V.style.borderColor,iconName:i.iconName??"mic",iconSize:parseFloat(i.iconSize??o.sendButton?.size??"40")||24}},Ci=(i,g)=>{if(!V)return;let m=V.querySelector("svg");m&&m.remove();let b=wt?.iconSize??(parseFloat(o.voiceRecognition?.iconSize??o.sendButton?.size??"40")||24),A=re(i,b,g,1.5);A&&V.appendChild(A)},Fs=()=>{V&&V.classList.remove("persona-voice-recording","persona-voice-processing","persona-voice-speaking")},Uo=()=>{if(!V)return;xi();let i=o.voiceRecognition??{},g=i.recordingBackgroundColor,m=i.recordingIconColor,b=i.recordingBorderColor;if(Fs(),V.classList.add("persona-voice-recording"),V.style.backgroundColor=g??"var(--persona-voice-recording-bg, #ef4444)",V.style.color=m??"var(--persona-voice-recording-indicator, #ffffff)",m){let A=V.querySelector("svg");A&&A.setAttribute("stroke",m)}b&&(V.style.borderColor=b),V.setAttribute("aria-label","Stop voice recognition")},Cf=()=>{if(!V)return;xi();let i=o.voiceRecognition??{},g=_.getVoiceInterruptionMode(),m=i.processingIconName??"loader",b=i.processingIconColor??wt?.color??"",A=i.processingBackgroundColor??wt?.backgroundColor??"",L=i.processingBorderColor??wt?.borderColor??"";Fs(),V.classList.add("persona-voice-processing"),V.style.backgroundColor=A,V.style.borderColor=L;let Q=b||"currentColor";V.style.color=Q,Ci(m,Q),V.setAttribute("aria-label","Processing voice input"),g==="none"&&(V.style.cursor="default")},Af=()=>{if(!V)return;xi();let i=o.voiceRecognition??{},g=_.getVoiceInterruptionMode(),m=g==="cancel"?"square":g==="barge-in"?"mic":"volume-2",b=i.speakingIconName??m,A=i.speakingIconColor??(g==="barge-in"?i.recordingIconColor??wt?.color??"":wt?.color??""),L=i.speakingBackgroundColor??(g==="barge-in"?i.recordingBackgroundColor??"var(--persona-voice-recording-bg, #ef4444)":wt?.backgroundColor??""),Q=i.speakingBorderColor??(g==="barge-in"?i.recordingBorderColor??"":wt?.borderColor??"");Fs(),V.classList.add("persona-voice-speaking"),V.style.backgroundColor=L,V.style.borderColor=Q;let N=A||"currentColor";V.style.color=N,Ci(b,N);let G=g==="cancel"?"Stop playback and re-record":g==="barge-in"?"Speak to interrupt":"Agent is speaking";V.setAttribute("aria-label",G),g==="none"&&(V.style.cursor="default"),g==="barge-in"&&V.classList.add("persona-voice-recording")},Pn=()=>{V&&(Fs(),wt&&(V.style.backgroundColor=wt.backgroundColor??"",V.style.color=wt.color??"",V.style.borderColor=wt.borderColor??"",Ci(wt.iconName,wt.color||"currentColor"),wt=null),V.style.cursor="",V.setAttribute("aria-label","Start voice recognition"))},Ns=()=>{if(o.voiceRecognition?.provider?.type==="runtype"){let i=_.getVoiceStatus(),g=_.getVoiceInterruptionMode();if(g==="none"&&(i==="processing"||i==="speaking"))return;if(g==="cancel"&&(i==="processing"||i==="speaking")){_.stopVoicePlayback();return}if(_.isBargeInActive()){_.stopVoicePlayback(),_.deactivateBargeIn().then(()=>{Ke.active=!1,Ke.manuallyDeactivated=!0,yn(),kn("user"),Pn()});return}_.toggleVoice().then(()=>{Ke.active=_.isVoiceActive(),Ke.manuallyDeactivated=!_.isVoiceActive(),yn(),kn("user"),_.isVoiceActive()?Uo():Pn()});return}if(An){let i=ve.value.trim();Ke.manuallyDeactivated=!0,yn(),Qn("user"),i&&(ve.value="",ve.style.height="auto",_.sendMessage(i))}else Ke.manuallyDeactivated=!1,yn(),Ds("user")};$l=Ns,V&&(V.addEventListener("click",Ns),ze.push(()=>{o.voiceRecognition?.provider?.type==="runtype"?(_.isVoiceActive()&&_.toggleVoice(),Pn()):Qn("system"),V&&V.removeEventListener("click",Ns)}));let Sf=l.on("assistant:complete",()=>{ec&&(Ke.active||Ke.manuallyDeactivated||ec==="assistant"&&!Ke.lastUserMessageWasVoice||setTimeout(()=>{!Ke.active&&!Ke.manuallyDeactivated&&(o.voiceRecognition?.provider?.type==="runtype"?_.toggleVoice().then(()=>{Ke.active=_.isVoiceActive(),kn("auto"),_.isVoiceActive()&&Uo()}):Ds("auto"))},600))});ze.push(Sf);let Tf=l.on("action:resubmit",()=>{setTimeout(()=>{_&&!_.isStreaming()&&_.continueConversation()},100)});ze.push(Tf);let Cc=()=>{dt(!F,"user")},Bt=null,zt=null;if(M&&!J()){let{instance:i,element:g}=ll({config:o,plugins:r,onToggle:Cc});Bt=i,i||(zt=g)}Bt?t.appendChild(Bt.element):zt&&t.appendChild(zt),Pr(),ti(),fc(),ui(_.isStreaming()),lc()||(Gt()==="follow"?Gn(!0):ac()),Gu(),z&&(!M||J()?setTimeout(()=>fi(),0):F&&setTimeout(()=>fi(),200));let Wr=()=>{if(J()){Ho(),Pr();return}let i=Ht(o),g=o.launcher?.sidebarMode??!1,m=i||g||(o.launcher?.fullHeight??!1),b=t.ownerDocument.defaultView??window,A=o.launcher?.mobileFullscreen??!0,L=o.launcher?.mobileBreakpoint??640,Q=b.innerWidth<=L,N=A&&Q&&M;try{if(N){br(),vr=Ms();return}let G=!1;j&&(j=!1,br(),G=!0);let oe=Ms();if(!G&&oe!==vr&&(br(),G=!0),vr=oe,G&&Za(),!M&&!i){me.style.height="",me.style.width="";return}if(!g&&!i){let ne=o?.launcher?.width??o?.launcherWidth??Nn;me.style.width=ne,me.style.maxWidth=ne}if(Ts(),!m){let fe=b.innerHeight,ne=64,xe=o.launcher?.heightOffset??0,Ue=Math.max(200,fe-ne),pt=Math.min(640,Ue),tt=Math.max(200,pt-xe);me.style.height=`${tt}px`}}finally{if(Ho(),Pr(),F&&M){let oe=(t.ownerDocument.defaultView??window).innerWidth<=(o.launcher?.mobileBreakpoint??640),fe=o.launcher?.sidebarMode??!1,ne=o.launcher?.mobileFullscreen??!0,xe=Ht(o)&&ne&&oe,Ue=fe||ne&&oe&&M||xe;if(Ue&&!Cn){let pt=t.getRootNode(),tt=pt instanceof ShadowRoot?pt.host:t.closest(".persona-host");tt&&!xn&&(xn=sl(tt,o.launcher?.zIndex??$t)),Cn=al(t.ownerDocument)}else Ue||(xn?.(),xn=null,Cn?.(),Cn=null)}}};Wr();let Ac=t.ownerDocument.defaultView??window;if(Ac.addEventListener("resize",Wr),ze.push(()=>Ac.removeEventListener("resize",Wr)),typeof ResizeObserver<"u"){let i=new ResizeObserver(()=>{Ho()});i.observe($),ze.push(()=>i.disconnect())}rn=le.scrollTop;let Sc=Tn(le),Mf=()=>{let i=le.getRootNode();return(typeof i.getSelection=="function"?i.getSelection():null)??le.ownerDocument.getSelection()},Ai=()=>Pp(Mf(),le),Tc=()=>{let i=le.scrollTop,g=Tn(le),m=g<Sc;if(Sc=g,!_n()){rn=i,Zt();return}let{action:b,nextLastScrollTop:A}=Ma({following:Yt.isFollowing(),currentScrollTop:i,lastScrollTop:rn,nearBottom:ao(le,Rs),userScrollThreshold:Vu,isAutoScrolling:sn||Ps||m,pauseOnUpwardScroll:!0,pauseWhenAwayFromBottom:!1,resumeRequiresDownwardScroll:!0});if(rn=A,b==="resume"){Ai()||Kn();return}b==="pause"&&Sr()};if(le.addEventListener("scroll",Tc,{passive:!0}),ze.push(()=>le.removeEventListener("scroll",Tc)),typeof ResizeObserver<"u"){let i=new ResizeObserver(()=>{Zu(),ki(be)});i.observe(be),i.observe(le),ze.push(()=>i.disconnect())}let Mc=()=>{_n()&&Yt.isFollowing()&&Ai()&&Sr()},Ec=le.ownerDocument;Ec.addEventListener("selectionchange",Mc),ze.push(()=>{Ec.removeEventListener("selectionchange",Mc)});let Ef=new Set(["PageUp","PageDown","Home","End","ArrowUp","ArrowDown"]),kc=i=>{Dl()&&_n()&&Yt.isFollowing()&&Ef.has(i.key)&&Sr()},Lc=i=>{if(!Dl()||!_n()||!Yt.isFollowing())return;let g=i.target;g&&g.closest("a, button, [tabindex], input, textarea, select")&&Sr()};le.addEventListener("keydown",kc),le.addEventListener("focusin",Lc),ze.push(()=>{le.removeEventListener("keydown",kc),le.removeEventListener("focusin",Lc)});let Pc=i=>{if(!_n())return;let g=Ea({following:Yt.isFollowing(),deltaY:i.deltaY,nearBottom:ao(le,Rs),resumeWhenNearBottom:!0});g==="pause"?Sr():g==="resume"&&!Ai()&&Kn()};le.addEventListener("wheel",Pc,{passive:!0}),ze.push(()=>le.removeEventListener("wheel",Pc)),Et.addEventListener("click",()=>{Tr(),le.scrollTop=le.scrollHeight,rn=le.scrollTop,Kn(),Gn(!0),Zt()}),ze.push(()=>Et.remove()),ze.push(()=>{oc(),Tr()});let Ic=()=>{S&&(mo&&(S.removeEventListener("click",mo),mo=null),D()?(S.style.display="",mo=()=>{dt(!1,"user")},S.addEventListener("click",mo)):S.style.display="none")};Ic(),(()=>{let{clearChatButton:i}=ke;i&&i.addEventListener("click",()=>{_.clearMessages(),ho.clear(),Kn(),Jo(ke.composerOverlay);try{localStorage.removeItem(ur),o.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${ur}`)}catch(m){console.error("[AgentWidget] Failed to clear default localStorage:",m)}if(o.clearChatHistoryStorageKey&&o.clearChatHistoryStorageKey!==ur)try{localStorage.removeItem(o.clearChatHistoryStorageKey),o.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${o.clearChatHistoryStorageKey}`)}catch(m){console.error("[AgentWidget] Failed to clear custom localStorage:",m)}let g=new CustomEvent("persona:clear-chat",{detail:{timestamp:new Date().toISOString()}});window.dispatchEvent(g),d?.clear&&li(()=>d.clear(),"[AgentWidget] Failed to clear storage adapter:"),c={},k.syncFromMetadata(),Ae?.clear(),Oe?.reset(),Fe?.update()})})(),X&&X.addEventListener("submit",vc);let Rc=[["keydown",vf],["input",bf],["paste",wf],["focus",$u]],Wc=i=>{if(i)for(let[g,m]of Rc)i.addEventListener(g,m)},Hc=i=>{if(i)for(let[g,m]of Rc)i.removeEventListener(g,m)};Wc(ve),Jt?.onComposerSwap((i,g)=>{Hc(g),ve=i,Wc(i)});let Bc=t.ownerDocument??document;Bc.addEventListener("keydown",wc,!0);let Dc="persona-attachment-drop-active",Hr=0,Si=()=>{Hr=0,ue.classList.remove(Dc)},jo=()=>o.attachments?.enabled===!0&&Ct!==null,Fc=i=>{!qa(i.dataTransfer)||!jo()||(Hr++,Hr===1&&ue.classList.add(Dc))},Nc=i=>{!qa(i.dataTransfer)||!jo()||(Hr--,Hr<=0&&Si())},Oc=i=>{!qa(i.dataTransfer)||!jo()||(i.preventDefault(),i.dataTransfer.dropEffect="copy")},_c=i=>{if(!qa(i.dataTransfer)||!jo())return;i.preventDefault(),i.stopPropagation(),Si();let g=Array.from(i.dataTransfer.files??[]);g.length!==0&&Ct.handleFiles(g)},Xn=!0;ue.addEventListener("dragenter",Fc,Xn),ue.addEventListener("dragleave",Nc,Xn),t.addEventListener("dragover",Oc,Xn),t.addEventListener("drop",_c,Xn);let Os=t.ownerDocument,$c=i=>{jo()&&i.preventDefault()},zc=i=>{jo()&&i.preventDefault()};Os.addEventListener("dragover",$c),Os.addEventListener("drop",zc),ze.push(()=>{X&&X.removeEventListener("submit",vc),Hc(ve),Bc.removeEventListener("keydown",wc,!0),Jt?.destroy()}),ze.push(()=>{ue.removeEventListener("dragenter",Fc,Xn),ue.removeEventListener("dragleave",Nc,Xn),t.removeEventListener("dragover",Oc,Xn),t.removeEventListener("drop",_c,Xn),Os.removeEventListener("dragover",$c),Os.removeEventListener("drop",zc),Si()}),ze.push(()=>{_.cancel()}),Bt?ze.push(()=>{Bt?.destroy()}):zt&&ze.push(()=>{zt?.remove()});let kt={update(i){let g=o.toolCall,m=o.messageActions,b=o.layout?.messages,A=o.colorScheme,L=o.loadingIndicator,Q=o.iterationDisplay,N=o.features?.showReasoning,G=o.features?.showToolCalls,oe=o.features?.toolCallDisplay,fe=o.features?.reasoningDisplay,ne=o.features?.streamAnimation?.type;o=gu(o,i),Es(),Yr(t,o),gs(t,o),ms(t,o),En(),o.colorScheme!==A&&Zl();let xe=Al.getForInstance(o.plugins);r.length=0,r.push(...xe),M=o.launcher?.enabled??!0,P=o.launcher?.autoExpand??!1,ee=o.features?.showReasoning??!0,ce=o.features?.showToolCalls??!0,ae=o.features?.scrollToBottom??{};let Ue=Gt();Z=o.features?.scrollBehavior??{},Ue!==Gt()&&(Tr(),Kn()),_l(),Zt();let pt=Y;if(Y=o.features?.showEventStreamToggle??!1,Y&&!pt){if(Ae||(pe=new us(ye),Ae=new ps(Te,pe),Oe=Oe??new fs,pe.open().then(()=>Ae?.restore()).catch(()=>{}),_.setSSEEventCallback((te,qe)=>{o.onSSEEvent?.(te,qe),Oe?.processEvent(te,qe),Ae.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:te,timestamp:Date.now(),payload:JSON.stringify(qe)})})),!et&&H){let te=o.features?.eventStream?.classNames,qe="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"+(te?.toggleButton?" "+te.toggleButton:"");et=h("button",qe),et.style.width="28px",et.style.height="28px",et.style.color=Vt.actionIconColor,et.type="button",et.setAttribute("aria-label","Event Stream"),et.title="Event Stream";let mt=re("activity","18px","currentColor",1.5);mt&&et.appendChild(mt);let nt=ke.clearChatButtonWrapper,at=ke.closeButtonWrapper,Ot=nt||at;Ot&&Ot.parentNode===H?H.insertBefore(et,Ot):H.appendChild(et),et.addEventListener("click",()=>{ot?hr():Qa()})}}else!Y&&pt&&(hr(),et&&(et.remove(),et=null),Ae?.clear(),pe?.destroy(),Ae=null,pe=null,Oe?.reset(),Oe=null);if(o.launcher?.enabled===!1&&Bt&&(Bt.destroy(),Bt=null),o.launcher?.enabled===!1&&zt&&(zt.remove(),zt=null),o.launcher?.enabled!==!1&&!Bt&&!zt){let{instance:te,element:qe}=ll({config:o,plugins:r,onToggle:Cc});Bt=te,te||(zt=qe),t.appendChild(qe)}Bt&&Bt.update(o),W&&o.launcher?.title!==void 0&&(W.textContent=o.launcher.title),q&&o.launcher?.subtitle!==void 0&&(q.textContent=o.launcher.subtitle);let tt=o.layout?.header;if(tt?.layout!==U&&H){let te=tt?Ha(o,tt,{showClose:D(),onClose:()=>dt(!1,"user")}):Po({config:o,showClose:D(),onClose:()=>dt(!1,"user")});yt.replaceHeader(te),H=yt.header.element,E=yt.header.iconHolder,W=yt.header.headerTitle,q=yt.header.headerSubtitle,S=yt.header.closeButton,U=tt?.layout}else if(tt){if(E&&(E.style.display=tt.showIcon===!1?"none":""),W&&(W.style.display=tt.showTitle===!1?"none":""),q&&(q.style.display=tt.showSubtitle===!1?"none":""),S){let te=D()&&tt.showCloseButton!==!1;S.style.display=te?"":"none"}if(ke.clearChatButtonWrapper){let te=tt.showClearChat;if(te!==void 0){ke.clearChatButtonWrapper.style.display=te?"":"none";let{closeButtonWrapper:qe}=ke;qe&&!qe.classList.contains("persona-absolute")&&(te?qe.classList.remove("persona-ml-auto"):qe.classList.add("persona-ml-auto"))}}}let At=o.layout?.showHeader!==!1;H&&(H.style.display=At?"":"none");let Lt=o.layout?.showFooter!==!1;$&&($.style.display=Lt?"":"none"),Ho(),Zt(),M!==x?M?dt(P,"auto"):(F=!0,Pr()):P!==K&&dt(P,"auto"),K=P,x=M,Wr(),Ic();let He=JSON.stringify(o.toolCall)!==JSON.stringify(g),_e=JSON.stringify(o.messageActions)!==JSON.stringify(m),St=JSON.stringify(o.layout?.messages)!==JSON.stringify(b),ut=o.loadingIndicator?.render!==L?.render||o.loadingIndicator?.renderIdle!==L?.renderIdle||o.loadingIndicator?.showBubble!==L?.showBubble,Ut=o.iterationDisplay!==Q,ft=(o.features?.showReasoning??!0)!==(N??!0)||(o.features?.showToolCalls??!0)!==(G??!0)||JSON.stringify(o.features?.toolCallDisplay)!==JSON.stringify(oe)||JSON.stringify(o.features?.reasoningDisplay)!==JSON.stringify(fe);(He||_e||St||ut||Ut||ft)&&_&&(ni++,Mr(be,_.getMessages(),we));let Pt=o.features?.streamAnimation?.type;if(Pt!==ne&&Pt&&Pt!=="none"){let te=lr(Pt,o.features?.streamAnimation?.plugins);te&&Ia(te,t)}let Be=o.launcher??{},Ze=Be.headerIconHidden??!1,xt=o.layout?.header?.showIcon,jt=Ze||xt===!1,st=Be.headerIconName,ct=Be.headerIconSize??"48px";if(E){let te=ue.querySelector(".persona-border-b-persona-divider"),qe=te?.querySelector(".persona-flex-col");if(jt)E.style.display="none",te&&qe&&!te.contains(qe)&&te.insertBefore(qe,te.firstChild);else{if(E.style.display="",E.style.height=ct,E.style.width=ct,te&&qe&&(te.contains(E)?E.nextSibling!==qe&&(E.remove(),te.insertBefore(E,qe)):te.insertBefore(E,qe)),st){let nt=parseFloat(ct)||24,at=re(st,nt*.6,"currentColor",1);at?E.replaceChildren(at):E.textContent=Be.agentIconText??"\u{1F4AC}"}else if(Be.iconUrl){let nt=E.querySelector("img");if(nt)nt.src=Be.iconUrl,nt.style.height=ct,nt.style.width=ct;else{let at=document.createElement("img");at.src=Be.iconUrl,at.alt="",at.className="persona-rounded-xl persona-object-cover",at.style.height=ct,at.style.width=ct,E.replaceChildren(at)}}else{let nt=E.querySelector("svg"),at=E.querySelector("img");(nt||at)&&E.replaceChildren(),E.textContent=Be.agentIconText??"\u{1F4AC}"}let mt=E.querySelector("img");mt&&(mt.style.height=ct,mt.style.width=ct)}}let gt=o.layout?.header?.showTitle,Ye=o.layout?.header?.showSubtitle;if(W&&(W.style.display=gt===!1?"none":""),q&&(q.style.display=Ye===!1?"none":""),S){let te=D()&&o.layout?.header?.showCloseButton!==!1;S.style.display=te?"":"none";let qe=Be.closeButtonSize??"32px",mt=Be.closeButtonPlacement??"inline";S.style.height=qe,S.style.width=qe;let{closeButtonWrapper:nt}=ke,at=mt==="top-right",Ot=nt?.classList.contains("persona-absolute");if(nt&&at!==Ot)if(nt.remove(),at)nt.className="persona-absolute persona-top-4 persona-right-4 persona-z-50",ue.style.position="relative",ue.appendChild(nt);else{let Yn=Be.clearChat?.placement??"inline",Fr=Be.clearChat?.enabled??!0;nt.className=Fr&&Yn==="inline"?"":"persona-ml-auto";let Uc=ue.querySelector(".persona-border-b-persona-divider");Uc&&Uc.appendChild(nt)}if(S.style.color=Be.closeButtonColor||Vt.actionIconColor,Be.closeButtonBackgroundColor?(S.style.backgroundColor=Be.closeButtonBackgroundColor,S.classList.remove("hover:persona-bg-gray-100")):(S.style.backgroundColor="",S.classList.add("hover:persona-bg-gray-100")),Be.closeButtonBorderWidth||Be.closeButtonBorderColor){let Yn=Be.closeButtonBorderWidth||"0px",Fr=Be.closeButtonBorderColor||"transparent";S.style.border=`${Yn} solid ${Fr}`,S.classList.remove("persona-border-none")}else S.style.border="",S.classList.add("persona-border-none");Be.closeButtonBorderRadius?(S.style.borderRadius=Be.closeButtonBorderRadius,S.classList.remove("persona-rounded-full")):(S.style.borderRadius="",S.classList.add("persona-rounded-full")),Be.closeButtonPaddingX?(S.style.paddingLeft=Be.closeButtonPaddingX,S.style.paddingRight=Be.closeButtonPaddingX):(S.style.paddingLeft="",S.style.paddingRight=""),Be.closeButtonPaddingY?(S.style.paddingTop=Be.closeButtonPaddingY,S.style.paddingBottom=Be.closeButtonPaddingY):(S.style.paddingTop="",S.style.paddingBottom="");let tn=Be.closeButtonIconName??"x",bn=Be.closeButtonIconText??"\xD7";S.innerHTML="";let Dt=re(tn,"28px","currentColor",1);Dt?(Dt.style.display="block",S.appendChild(Dt)):S.textContent=bn;let _t=Be.closeButtonTooltipText??"Close chat",Rn=Be.closeButtonShowTooltip??!0;S.setAttribute("aria-label",_t),nt&&Ft({anchor:S,trigger:nt,text:()=>S?.getAttribute("aria-label")??_t,enabled:Rn})}let{clearChatButton:De,clearChatButtonWrapper:ht}=ke;if(De){let te=Be.clearChat??{},qe=te.enabled??!0,mt=o.layout?.header?.showClearChat,nt=mt!==void 0?mt:qe,at=te.placement??"inline";if(ht){ht.style.display=nt?"":"none";let{closeButtonWrapper:Ot}=ke;!J()&&Ot&&!Ot.classList.contains("persona-absolute")&&(nt?Ot.classList.remove("persona-ml-auto"):Ot.classList.add("persona-ml-auto"));let tn=at==="top-right",bn=ht.classList.contains("persona-absolute");if(!J()&&tn!==bn&&nt){if(ht.remove(),tn)ht.className="persona-absolute persona-top-4 persona-z-50",ht.style.right="48px",ue.style.position="relative",ue.appendChild(ht);else{ht.className="persona-relative persona-ml-auto persona-clear-chat-button-wrapper",ht.style.right="";let _t=ue.querySelector(".persona-border-b-persona-divider"),Rn=ke.closeButtonWrapper;_t&&Rn&&Rn.parentElement===_t?_t.insertBefore(ht,Rn):_t&&_t.appendChild(ht)}let Dt=ke.closeButtonWrapper;Dt&&!Dt.classList.contains("persona-absolute")&&(tn?Dt.classList.add("persona-ml-auto"):Dt.classList.remove("persona-ml-auto"))}}if(nt){if(!J()){let Yn=te.size??"32px";De.style.height=Yn,De.style.width=Yn}let Ot=te.iconName??"refresh-cw",tn=te.iconColor??"";De.style.color=tn||Vt.actionIconColor,De.innerHTML="";let bn=J()?"14px":"20px",Dt=re(Ot,bn,"currentColor",1);if(Dt&&(Dt.style.display="block",De.appendChild(Dt)),te.backgroundColor?(De.style.backgroundColor=te.backgroundColor,De.classList.remove("hover:persona-bg-gray-100")):(De.style.backgroundColor="",De.classList.add("hover:persona-bg-gray-100")),te.borderWidth||te.borderColor){let Yn=te.borderWidth||"0px",Fr=te.borderColor||"transparent";De.style.border=`${Yn} solid ${Fr}`,De.classList.remove("persona-border-none")}else De.style.border="",De.classList.add("persona-border-none");te.borderRadius?(De.style.borderRadius=te.borderRadius,De.classList.remove("persona-rounded-full")):(De.style.borderRadius="",De.classList.add("persona-rounded-full")),te.paddingX?(De.style.paddingLeft=te.paddingX,De.style.paddingRight=te.paddingX):(De.style.paddingLeft="",De.style.paddingRight=""),te.paddingY?(De.style.paddingTop=te.paddingY,De.style.paddingBottom=te.paddingY):(De.style.paddingTop="",De.style.paddingBottom="");let _t=te.tooltipText??"Clear chat",Rn=te.showTooltip??!0;De.setAttribute("aria-label",_t),ht&&Ft({anchor:De,trigger:ht,text:()=>De?.getAttribute("aria-label")??_t,enabled:Rn})}}let Nt=o.actionParsers&&o.actionParsers.length?o.actionParsers:[Tl],cn=o.actionHandlers&&o.actionHandlers.length?o.actionHandlers:[hs.message,hs.messageAndClick];k=Ml({parsers:Nt,handlers:cn,getSessionMetadata:v,updateSessionMetadata:C,emit:l.emit,documentRef:typeof document<"u"?document:null}),we=Su(o,k,Ce),_.updateConfig(o),Mr(be,_.getMessages(),we),ti(),fc(),ui(_.isStreaming());let Br=o.voiceRecognition?.enabled===!0,_s=typeof window<"u"&&(typeof window.webkitSpeechRecognition<"u"||typeof window.SpeechRecognition<"u"),Mt=o.voiceRecognition?.provider?.type==="runtype";if(Br&&(_s||Mt))if(!V||!$e){let te=xf(o.voiceRecognition,o.sendButton);te&&(V=te.micButton,$e=te.micButtonWrapper,je.insertBefore($e,un),V.addEventListener("click",Ns),V.disabled=_.isStreaming())}else{let te=o.voiceRecognition??{},qe=o.sendButton??{},mt=te.iconName??"mic",nt=qe.size??"40px",at=te.iconSize??nt,Ot=parseFloat(at)||24;V.style.width=at,V.style.height=at,V.style.minWidth=at,V.style.minHeight=at;let tn=te.iconColor??qe.textColor;V.innerHTML="";let bn=re(mt,Ot,tn||"currentColor",1.5);bn?V.appendChild(bn):V.textContent="\u{1F3A4}";let Dt=te.backgroundColor??qe.backgroundColor;Dt?V.style.backgroundColor=Dt:V.style.backgroundColor="",tn?V.style.color=tn:V.style.color="var(--persona-text, #111827)",te.borderWidth?(V.style.borderWidth=te.borderWidth,V.style.borderStyle="solid"):(V.style.borderWidth="",V.style.borderStyle=""),te.borderColor?V.style.borderColor=te.borderColor:V.style.borderColor="",te.paddingX?(V.style.paddingLeft=te.paddingX,V.style.paddingRight=te.paddingX):(V.style.paddingLeft="",V.style.paddingRight=""),te.paddingY?(V.style.paddingTop=te.paddingY,V.style.paddingBottom=te.paddingY):(V.style.paddingTop="",V.style.paddingBottom="");let _t=te.tooltipText??"Start voice recognition",Rn=te.showTooltip??!1;V.setAttribute("aria-label",_t),$e&&Ft({anchor:V,trigger:$e,text:()=>V?.getAttribute("aria-label")??_t,enabled:Rn}),$e.style.display="",V.disabled=_.isStreaming()}else V&&$e&&($e.style.display="none",o.voiceRecognition?.provider?.type==="runtype"?_.isVoiceActive()&&_.toggleVoice():An&&Qn());if(o.attachments?.enabled===!0){if(!Pe||!Se){let te=o.attachments??{},mt=(o.sendButton??{}).size??"40px";Xe||(Xe=h("div","persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2"),Xe.style.display="none",X.insertBefore(Xe,ve)),Le||(Le=document.createElement("input"),Le.type="file",Le.accept=(te.allowedTypes??Fn).join(","),Le.multiple=(te.maxFiles??4)>1,Le.style.display="none",Le.setAttribute("aria-label","Attach files"),X.insertBefore(Le,ve)),Pe=h("div","persona-send-button-wrapper"),Se=h("button","persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-attachment-button"),Se.type="button",Se.setAttribute("aria-label",te.buttonTooltipText??"Attach file");let nt=te.buttonIconName??"paperclip",at=mt,Ot=parseFloat(at)||40,tn=Math.round(Ot*.6);Se.style.width=at,Se.style.height=at,Se.style.minWidth=at,Se.style.minHeight=at,Se.style.fontSize="18px",Se.style.lineHeight="1";let bn=re(nt,tn,"currentColor",1.5);bn?Se.appendChild(bn):Se.textContent="\u{1F4CE}",Se.addEventListener("click",_t=>{_t.preventDefault(),Le?.click()}),Pe.appendChild(Se);let Dt=te.buttonTooltipText??"Attach file";Ft({anchor:Se,trigger:Pe,text:()=>Se?.getAttribute("aria-label")??Dt}),Ee?Ee.append(Pe):X.appendChild(Pe),!Ct&&Le&&Xe&&(Ct=Qr.fromConfig(te),Ct.setPreviewsContainer(Xe),Le.addEventListener("change",async()=>{Ct&&Le?.files&&(await Ct.handleFileSelect(Le.files),Le.value="")}))}else{Pe.style.display="";let te=o.attachments??{};Le&&(Le.accept=(te.allowedTypes??Fn).join(","),Le.multiple=(te.maxFiles??4)>1),Ct&&Ct.updateConfig({allowedTypes:te.allowedTypes,maxFileSize:te.maxFileSize,maxFiles:te.maxFiles})}if(ue.querySelector(".persona-attachment-drop-overlay")?.remove(),ue.appendChild(Tu(o.attachments?.dropOverlay)),Se){let te=o.attachments??{},qe=te.buttonTooltipText??"Attach file";Se.setAttribute("aria-label",qe),Se.textContent="";let mt=parseFloat(o.sendButton?.size??"40px")||40,nt=re(te.buttonIconName??"paperclip",Math.round(mt*.6),"currentColor",1.5);nt?Se.appendChild(nt):Se.textContent="\u{1F4CE}",Pe&&Ft({anchor:Se,trigger:Pe,text:()=>Se?.getAttribute("aria-label")??qe})}}else Pe&&(Pe.style.display="none"),Ct&&Ct.clearAttachments(),ue.querySelector(".persona-attachment-drop-overlay")?.remove();let Wt=o.sendButton??{},Dr=Wt.useIcon??!1,zs=Wt.iconText??"\u2191",qo=Wt.iconName,Us=Wt.tooltipText??"Send message",Ti=Wt.showTooltip??!1,Co=Wt.size??"40px",In=Wt.backgroundColor,Ao=Wt.textColor;if(Dr){if(de.style.width=Co,de.style.height=Co,de.style.minWidth=Co,de.style.minHeight=Co,de.style.fontSize="18px",de.style.lineHeight="1",Ao?de.style.color=Ao:de.style.color="var(--persona-button-primary-fg, #ffffff)",!_.isStreaming())if(de.innerHTML="",qo){let te=parseFloat(Co)||24,qe=Ao?.trim()||"currentColor",mt=re(qo,te,qe,2);mt?de.appendChild(mt):de.textContent=zs}else de.textContent=zs;de.className="persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer",In?(de.style.backgroundColor=In,de.classList.remove("persona-bg-persona-primary")):(de.style.backgroundColor="",de.classList.add("persona-bg-persona-primary"))}else de.textContent=o.copy?.sendButtonLabel??"Send",de.style.width="",de.style.height="",de.style.minWidth="",de.style.minHeight="",de.style.fontSize="",de.style.lineHeight="",de.className="persona-rounded-button persona-bg-persona-accent persona-px-4 persona-py-2 persona-text-sm persona-font-semibold persona-text-white disabled:persona-opacity-50 persona-cursor-pointer",In?(de.style.backgroundColor=In,de.classList.remove("persona-bg-persona-accent")):de.classList.add("persona-bg-persona-accent"),Ao?de.style.color=Ao:de.classList.add("persona-text-white");Wt.borderWidth?(de.style.borderWidth=Wt.borderWidth,de.style.borderStyle="solid"):(de.style.borderWidth="",de.style.borderStyle=""),Wt.borderColor?de.style.borderColor=Wt.borderColor:de.style.borderColor="",Wt.paddingX?(de.style.paddingLeft=Wt.paddingX,de.style.paddingRight=Wt.paddingX):(de.style.paddingLeft="",de.style.paddingRight=""),Wt.paddingY?(de.style.paddingTop=Wt.paddingY,de.style.paddingBottom=Wt.paddingY):(de.style.paddingTop="",de.style.paddingBottom=""),_.isStreaming()||de.setAttribute("aria-label",Us),un&&Ft({anchor:de,trigger:un,text:()=>de.getAttribute("aria-label")??Us,enabled:Ti});let js=o.layout?.contentMaxWidth??(J()?o.launcher?.composerBar?.contentMaxWidth??"720px":void 0);js?(be.style.maxWidth=js,be.style.marginLeft="auto",be.style.marginRight="auto",be.style.width="100%",X&&(X.style.maxWidth=js,X.style.marginLeft="auto",X.style.marginRight="auto"),bt&&(bt.style.maxWidth=js,bt.style.marginLeft="auto",bt.style.marginRight="auto")):(be.style.maxWidth="",be.style.marginLeft="",be.style.marginRight="",be.style.width="",X&&(X.style.maxWidth="",X.style.marginLeft="",X.style.marginRight=""),bt&&(bt.style.maxWidth="",bt.style.marginLeft="",bt.style.marginRight=""));let Jn=o.statusIndicator??{},kf=Jn.visible??!0;if(T.style.display=kf?"":"none",_){let te=_.getStatus();Tt(T,(mt=>mt==="idle"?Jn.idleText??It.idle:mt==="connecting"?Jn.connectingText??It.connecting:mt==="connected"?Jn.connectedText??It.connected:mt==="error"?Jn.errorText??It.error:It[mt])(te),Jn,te)}T.classList.remove("persona-text-left","persona-text-center","persona-text-right");let Lf=Jn.align==="left"?"persona-text-left":Jn.align==="center"?"persona-text-center":"persona-text-right";T.classList.add(Lf)},open(){D()&&dt(!0,"api")},close(){D()&&dt(!1,"api")},toggle(){D()&&dt(!F,"api")},reconnect(){_.reconnectNow()},clearChat(){Mn=!1,_.clearMessages(),ho.clear(),Kn();try{localStorage.removeItem(ur),o.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${ur}`)}catch(g){console.error("[AgentWidget] Failed to clear default localStorage:",g)}if(o.clearChatHistoryStorageKey&&o.clearChatHistoryStorageKey!==ur)try{localStorage.removeItem(o.clearChatHistoryStorageKey),o.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${o.clearChatHistoryStorageKey}`)}catch(g){console.error("[AgentWidget] Failed to clear custom localStorage:",g)}let i=new CustomEvent("persona:clear-chat",{detail:{timestamp:new Date().toISOString()}});window.dispatchEvent(i),d?.clear&&li(()=>d.clear(),"[AgentWidget] Failed to clear storage adapter:"),c={},k.syncFromMetadata(),Ae?.clear(),Oe?.reset(),Fe?.update()},setMessage(i){return!ve||_.isStreaming()?!1:(!F&&D()&&dt(!0,"system"),ve.value=i,ve.dispatchEvent(new Event("input",{bubbles:!0})),!0)},submitMessage(i){if(_.isStreaming())return!1;let g=i?.trim()||ve.value.trim();return g?(!F&&D()&&dt(!0,"system"),ve.value="",ve.style.height="auto",_.sendMessage(g),!0):!1},startVoiceRecognition(){return _.isStreaming()?!1:o.voiceRecognition?.provider?.type==="runtype"?(_.isVoiceActive()||(!F&&D()&&dt(!0,"system"),Ke.manuallyDeactivated=!1,yn(),_.toggleVoice().then(()=>{Ke.active=_.isVoiceActive(),kn("user"),_.isVoiceActive()&&Uo()})),!0):An?!0:xc()?(!F&&D()&&dt(!0,"system"),Ke.manuallyDeactivated=!1,yn(),Ds("user"),!0):!1},stopVoiceRecognition(){return o.voiceRecognition?.provider?.type==="runtype"?_.isVoiceActive()?(_.toggleVoice().then(()=>{Ke.active=!1,Ke.manuallyDeactivated=!0,yn(),kn("user"),Pn()}),!0):!1:An?(Ke.manuallyDeactivated=!0,yn(),Qn("user"),!0):!1},injectMessage(i){return!F&&D()&&dt(!0,"system"),_.injectMessage(i)},injectAssistantMessage(i){!F&&D()&&dt(!0,"system");let g=_.injectAssistantMessage(i);return ie&&(ie=!1,ge&&(clearTimeout(ge),ge=null),setTimeout(()=>{_&&!_.isStreaming()&&_.continueConversation()},100)),g},injectUserMessage(i){return!F&&D()&&dt(!0,"system"),_.injectUserMessage(i)},injectSystemMessage(i){return!F&&D()&&dt(!0,"system"),_.injectSystemMessage(i)},injectMessageBatch(i){return!F&&D()&&dt(!0,"system"),_.injectMessageBatch(i)},injectComponentDirective(i){return!F&&D()&&dt(!0,"system"),_.injectComponentDirective(i)},injectTestMessage(i){!F&&D()&&dt(!0,"system"),_.injectTestEvent(i)},async connectStream(i,g){return _.connectStream(i,g)},__pushEventStreamEvent(i){Ae&&(Oe?.processEvent(i.type,i.payload),Ae.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:i.type,timestamp:Date.now(),payload:JSON.stringify(i.payload)}))},showEventStream(){!Y||!Ae||Qa()},hideEventStream(){ot&&hr()},isEventStreamVisible(){return ot},showArtifacts(){Kt(o)&&(Mn=!1,Bo=!0,En(),Je?.setMobileOpen(!0))},hideArtifacts(){Kt(o)&&(Mn=!0,En())},upsertArtifact(i){return Kt(o)?(So(o.features?.artifacts,i.artifactType)==="panel"&&(Mn=!1,Bo=!0),_.upsertArtifact(i)):null},selectArtifact(i){Kt(o)&&_.selectArtifact(i)},clearArtifacts(){Kt(o)&&_.clearArtifacts()},getArtifacts(){return _?.getArtifacts()??[]},getSelectedArtifactId(){return _?.getSelectedArtifactId()??null},focusInput(){return M&&!F&&!J()||!ve?!1:(ve.focus(),!0)},async resolveApproval(i,g,m){let A=_.getMessages().find(L=>L.variant==="approval"&&L.approval?.id===i);if(!A?.approval)throw new Error(`Approval not found: ${i}`);if(A.approval.toolType==="webmcp"){_.resolveWebMcpApproval(A.id,g);return}return _.resolveApproval(A.approval,g,m)},getMessages(){return _.getMessages()},getStatus(){return _.getStatus()},getPersistentMetadata(){return{...c}},updatePersistentMetadata(i){C(i)},on(i,g){return l.on(i,g)},off(i,g){l.off(i,g)},isOpen(){return D()&&F},isVoiceActive(){return Ke.active},toggleReadAloud(i){_.toggleReadAloud(i)},stopReadAloud(){_.stopSpeaking()},getReadAloudState(i){return _.getReadAloudState(i)},onReadAloudChange(i){return _.onReadAloudChange(i)},getState(){return{open:D()&&F,launcherEnabled:M,voiceActive:Ke.active,streaming:_.isStreaming()}},showCSATFeedback(i){!F&&D()&&dt(!0,"system");let g=be.querySelector(".persona-feedback-container");g&&g.remove();let m=xu({onSubmit:async(b,A)=>{_.isClientTokenMode()&&await _.submitCSATFeedback(b,A),i?.onSubmit?.(b,A)},onDismiss:i?.onDismiss,...i});be.appendChild(m),m.scrollIntoView({behavior:"smooth",block:"end"})},showNPSFeedback(i){!F&&D()&&dt(!0,"system");let g=be.querySelector(".persona-feedback-container");g&&g.remove();let m=Cu({onSubmit:async(b,A)=>{_.isClientTokenMode()&&await _.submitNPSFeedback(b,A),i?.onSubmit?.(b,A)},onDismiss:i?.onDismiss,...i});be.appendChild(m),m.scrollIntoView({behavior:"smooth",block:"end"})},async submitCSATFeedback(i,g){return _.submitCSATFeedback(i,g)},async submitNPSFeedback(i,g){return _.submitNPSFeedback(i,g)},destroy(){hi(),wo!=null&&(clearInterval(wo),wo=null),ze.forEach(i=>i()),Re.remove(),Ve?.remove(),Bt?.destroy(),zt?.remove(),mo&&S.removeEventListener("click",mo)}};if(((n?.debugTools??!1)||!!o.debug)&&typeof window<"u"){let i=window.AgentWidgetBrowser,g={controller:kt,getMessages:kt.getMessages,getStatus:kt.getStatus,getMetadata:kt.getPersistentMetadata,updateMetadata:kt.updatePersistentMetadata,clearHistory:()=>kt.clearChat(),setVoiceActive:m=>m?kt.startVoiceRecognition():kt.stopVoiceRecognition()};window.AgentWidgetBrowser=g,ze.push(()=>{window.AgentWidgetBrowser===g&&(window.AgentWidgetBrowser=i)})}if(typeof window<"u"){let i=t.getAttribute("data-persona-instance")||t.id||"persona-"+Math.random().toString(36).slice(2,8),g=N=>{let G=N.detail;(!G?.instanceId||G.instanceId===i)&&kt.focusInput()};if(window.addEventListener("persona:focusInput",g),ze.push(()=>{window.removeEventListener("persona:focusInput",g)}),Y){let N=oe=>{let fe=oe.detail;(!fe?.instanceId||fe.instanceId===i)&&kt.showEventStream()},G=oe=>{let fe=oe.detail;(!fe?.instanceId||fe.instanceId===i)&&kt.hideEventStream()};window.addEventListener("persona:showEventStream",N),window.addEventListener("persona:hideEventStream",G),ze.push(()=>{window.removeEventListener("persona:showEventStream",N),window.removeEventListener("persona:hideEventStream",G)})}let m=N=>{let G=N.detail;(!G?.instanceId||G.instanceId===i)&&kt.showArtifacts()},b=N=>{let G=N.detail;(!G?.instanceId||G.instanceId===i)&&kt.hideArtifacts()},A=N=>{let G=N.detail;G?.instanceId&&G.instanceId!==i||G?.artifact&&kt.upsertArtifact(G.artifact)},L=N=>{let G=N.detail;G?.instanceId&&G.instanceId!==i||typeof G?.id=="string"&&kt.selectArtifact(G.id)},Q=N=>{let G=N.detail;(!G?.instanceId||G.instanceId===i)&&kt.clearArtifacts()};window.addEventListener("persona:showArtifacts",m),window.addEventListener("persona:hideArtifacts",b),window.addEventListener("persona:upsertArtifact",A),window.addEventListener("persona:selectArtifact",L),window.addEventListener("persona:clearArtifacts",Q),ze.push(()=>{window.removeEventListener("persona:showArtifacts",m),window.removeEventListener("persona:hideArtifacts",b),window.removeEventListener("persona:upsertArtifact",A),window.removeEventListener("persona:selectArtifact",L),window.removeEventListener("persona:clearArtifacts",Q)})}let ln=Ty(o.persistState);if(ln&&D()){let i=My(ln.storage),g=`${ln.keyPrefix}widget-open`,m=`${ln.keyPrefix}widget-voice`,b=`${ln.keyPrefix}widget-voice-mode`;if(i){let A=ln.persist?.openState&&i.getItem(g)==="true",L=ln.persist?.voiceState&&i.getItem(m)==="true",Q=ln.persist?.voiceState&&i.getItem(b)==="true";if(A&&setTimeout(()=>{kt.open(),setTimeout(()=>{if(L||Q)kt.startVoiceRecognition();else if(ln.persist?.focusInput){let N=t.querySelector("textarea");N&&N.focus()}},100)},0),ln.persist?.openState&&(l.on("widget:opened",()=>{i.setItem(g,"true")}),l.on("widget:closed",()=>{i.setItem(g,"false")})),ln.persist?.voiceState&&(l.on("voice:state",N=>{i.setItem(m,N.active?"true":"false")}),l.on("user:message",N=>{i.setItem(b,N.viaVoice?"true":"false")})),ln.clearOnChatClear){let N=()=>{i.removeItem(g),i.removeItem(m),i.removeItem(b)},G=()=>N();window.addEventListener("persona:clear-chat",G),ze.push(()=>{window.removeEventListener("persona:clear-chat",G)})}}}if(w&&D()&&setTimeout(()=>{kt.open()},0),_o(),!qu){let i=Vs(()=>{_&&(ni++,ho.clear(),Mr(be,_.getMessages(),we))});ze.push(i)}return kt};var Eu=(t,e)=>{let n=t.trim(),o=/^(\d+(?:\.\d+)?)px$/i.exec(n);if(o)return Math.max(0,parseFloat(o[1]));let r=/^(\d+(?:\.\d+)?)%$/i.exec(n);return r?Math.max(0,e*parseFloat(r[1])/100):420},Ly=(t,e)=>{if(e===!1){t.style.maxHeight="";return}t.style.maxHeight="100vh",t.style.maxHeight=e},Py=(t,e)=>{e===!1?(t.style.position="relative",t.style.top=""):(t.style.position="sticky",t.style.top="0")},Iy=(t,e)=>{let n=t.parentElement;if(!n)return;let o=t.ownerDocument.createElement("div");o.style.cssText="width:0;height:1px;margin:0;padding:0;border:0;visibility:hidden;",n.appendChild(o);let r=o.offsetHeight>0;o.style.height="100%";let s=o.offsetHeight>0;o.remove(),!(!r||s)&&console.warn("[AgentWidget] Docked mode: no ancestor of the dock target provides a definite height, so the dock panel cannot size to your layout."+(e.maxHeight===!1?" The viewport guard is disabled (dock.maxHeight: false), so the panel will grow with the conversation and overflow the viewport.":` Falling back to clamping the panel to ${e.maxHeight} (configurable via launcher.dock.maxHeight).`)+" To size the panel from your layout instead, give the height chain a definite height (e.g. `html, body { height: 100% }`) down to the dock target's parent.")},ku=(t,e)=>{let n=e?.launcher?.enabled??!0;t.className="persona-host",t.style.height=n?"":"100%",t.style.display=n?"":"flex",t.style.flexDirection=n?"":"column",t.style.flex=n?"":"1 1 auto",t.style.minHeight=n?"":"0",t.style.minWidth=n?"":"0"},Rl=t=>{t.style.position="",t.style.top="",t.style.bottom="",t.style.left="",t.style.right="",t.style.zIndex="",t.style.transform="",t.style.pointerEvents=""},Lu=t=>{t.style.inset="",t.style.width="",t.style.height="",t.style.maxWidth="",t.style.maxHeight="",t.style.minWidth="",Rl(t)},Ll=t=>{t.style.transition=""},Pl=t=>{t.style.display="",t.style.flexDirection="",t.style.flex="",t.style.minHeight="",t.style.minWidth="",t.style.width="",t.style.height="",t.style.alignItems="",t.style.transition="",t.style.transform="",t.style.marginLeft=""},Il=t=>{t.style.width="",t.style.maxWidth="",t.style.minWidth="",t.style.flex="1 1 auto"},Va=(t,e)=>{t.style.width="",t.style.minWidth="0",t.style.maxWidth="",t.style.boxSizing="",e.style.alignItems=""},Ry=(t,e,n,o,r)=>{r?n.parentElement!==e&&(t.replaceChildren(),e.replaceChildren(n,o),t.appendChild(e)):n.parentElement===e&&(e.replaceChildren(),t.appendChild(n),t.appendChild(o))},Wy=(t,e,n,o,r,s)=>{let a=s?e:t;r==="left"?a.firstElementChild!==o&&a.replaceChildren(o,n):a.lastElementChild!==o&&a.replaceChildren(n,o)},Hy=t=>{let e=or(t),n=e.components?.panel,o=(r,s)=>r==null||r===""?s:qt(e,r)??r;return{inset:o(n?.inset,ga),canvasBackground:o(n?.canvasBackground,ma)}},Pu=(t,e,n,o)=>{if(!e){t.style.padding="",t.style.background="",t.style.boxSizing="";return}t.style.boxSizing="border-box",t.style.padding=n,t.style.background=o},By=(t,e,n,o,r,s,a,l)=>{let p=pn(s),d=p.reveal==="push",c=l!=null,u=l?.inset??"",w=l?.canvasBackground??"";Ry(t,e,n,o,d),Wy(t,e,n,o,p.side,d),t.dataset.personaHostLayout="docked",t.dataset.personaDockSide=p.side,t.dataset.personaDockOpen=a?"true":"false",t.style.width="100%",t.style.maxWidth="100%",t.style.minWidth="0",t.style.height="100%",t.style.minHeight="0",t.style.position="relative",n.style.display="flex",n.style.flexDirection="column",n.style.minHeight="0",n.style.position="relative",r.className="persona-host",r.style.height="100%",r.style.minHeight="0",r.style.minWidth="0",r.style.display="flex",r.style.flexDirection="column",r.style.flex="1 1 auto";let f=t.ownerDocument.defaultView,v=s?.launcher?.mobileFullscreen??!0,C=s?.launcher?.mobileBreakpoint??640,I=f!=null?f.innerWidth<=C:!1;if(v&&I&&a){t.dataset.personaDockMobileFullscreen="true",t.removeAttribute("data-persona-dock-reveal"),Pl(e),Ll(o),Lu(o),Il(n),Va(r,o),Pu(o,!1,"",""),t.style.display="flex",t.style.flexDirection="column",t.style.alignItems="stretch",t.style.overflow="hidden",n.style.flex="1 1 auto",n.style.width="100%",n.style.minWidth="0",o.style.display="flex",o.style.flexDirection="column",o.style.position="fixed",o.style.inset="0",o.style.width="100%",o.style.height="100%",o.style.maxWidth="100%",o.style.minWidth="0",o.style.minHeight="0",o.style.overflow="hidden",o.style.zIndex=String(s?.launcher?.zIndex??$t),o.style.transform="none",o.style.transition="none",o.style.pointerEvents="auto",o.style.flex="none",d&&(e.style.display="flex",e.style.flexDirection="column",e.style.width="100%",e.style.height="100%",e.style.minHeight="0",e.style.minWidth="0",e.style.flex="1 1 auto",e.style.alignItems="stretch",e.style.transform="none",e.style.marginLeft="0",e.style.transition="none",n.style.flex="1 1 auto",n.style.width="100%",n.style.maxWidth="100%",n.style.minWidth="0");return}if(t.removeAttribute("data-persona-dock-mobile-fullscreen"),Lu(o),Ly(o,p.maxHeight),Pu(o,c&&a,u,w),p.reveal==="overlay"){t.style.display="flex",t.style.flexDirection="row",t.style.alignItems="stretch",t.style.overflow="hidden",t.dataset.personaDockReveal="overlay",Pl(e),Ll(o),Il(n),Va(r,o);let k=p.animate?"transform 180ms ease":"none",M=p.side==="right"?"translateX(100%)":"translateX(-100%)",P=a?"translateX(0)":M;o.style.display="flex",o.style.flexDirection="column",o.style.flex="none",o.style.position="absolute",o.style.top="0",o.style.bottom="0",o.style.width=p.width,o.style.maxWidth=p.width,o.style.minWidth=p.width,o.style.minHeight="0",o.style.overflow="hidden",o.style.transition=k,o.style.transform=P,o.style.pointerEvents=a?"auto":"none",o.style.zIndex="2",p.side==="right"?(o.style.right="0",o.style.left=""):(o.style.left="0",o.style.right="")}else if(p.reveal==="push"){t.style.display="flex",t.style.flexDirection="row",t.style.alignItems="stretch",t.style.overflow="hidden",t.dataset.personaDockReveal="push",Ll(o),Rl(o),Va(r,o);let k=Eu(p.width,t.clientWidth),M=Math.max(0,t.clientWidth),P=p.animate?"margin-left 180ms ease":"none",z=p.side==="right"?a?-k:0:a?0:-k;e.style.display="flex",e.style.flexDirection="row",e.style.flex="0 0 auto",e.style.minHeight="0",e.style.minWidth="0",e.style.alignItems="stretch",e.style.height="100%",e.style.width=`${M+k}px`,e.style.transition=P,e.style.marginLeft=`${z}px`,e.style.transform="",n.style.flex="0 0 auto",n.style.flexGrow="0",n.style.flexShrink="0",n.style.width=`${M}px`,n.style.maxWidth=`${M}px`,n.style.minWidth=`${M}px`,o.style.display="flex",o.style.flexDirection="column",o.style.flex="0 0 auto",o.style.flexShrink="0",o.style.width=p.width,o.style.minWidth=p.width,o.style.maxWidth=p.width,o.style.position="relative",o.style.top="",o.style.overflow="hidden",o.style.transition="none",o.style.pointerEvents=a?"auto":"none"}else{t.style.display="flex",t.style.flexDirection="row",t.style.alignItems="stretch",t.style.overflow="",Pl(e),Rl(o),Il(n),Va(r,o);let k=p.reveal==="emerge";k?t.dataset.personaDockReveal="emerge":t.removeAttribute("data-persona-dock-reveal");let M=a?p.width:"0px",P=p.animate?`width 180ms ease, min-width 180ms ease, max-width 180ms ease, flex-basis 180ms ease${c?", padding 180ms ease":""}`:"none",z=!a;if(o.style.display="flex",o.style.flexDirection="column",o.style.flex=`0 0 ${M}`,o.style.width=M,o.style.maxWidth=M,o.style.minWidth=M,o.style.minHeight="0",Py(o,p.maxHeight),o.style.overflow=k||z?"hidden":"visible",o.style.transition=P,k){o.style.alignItems=p.side==="right"?"flex-start":"flex-end";let K=c?`calc(${Eu(p.width,t.clientWidth)}px - (2 * ${u}))`:p.width;r.style.width=K,r.style.minWidth=K,r.style.maxWidth=K,r.style.boxSizing="border-box"}}},Dy=(t,e)=>{let n=t.ownerDocument.createElement("div");return ku(n,e),t.appendChild(n),{mode:"direct",host:n,shell:null,syncWidgetState:()=>{},updateConfig(o){ku(n,o)},destroy(){n.remove()}}},Fy=(t,e)=>{let{ownerDocument:n}=t,o=t.parentElement;if(!o)throw new Error("Docked widget target must be attached to the DOM");let r=t.tagName.toUpperCase();if(r==="BODY"||r==="HTML")throw new Error('Docked widget target must be a concrete container element, not "body" or "html"');let s=t.nextSibling,a=n.createElement("div"),l=n.createElement("div"),p=n.createElement("div"),d=n.createElement("aside"),c=n.createElement("div"),u=e?.launcher?.enabled??!0?e?.launcher?.autoExpand??!1:!0;l.dataset.personaDockRole="push-track",p.dataset.personaDockRole="content",d.dataset.personaDockRole="panel",c.dataset.personaDockRole="host",d.appendChild(c),o.insertBefore(a,t),p.appendChild(t);let w=null,f=()=>{w?.disconnect(),w=null},v=null,C=()=>{v=e?.launcher?.detachedPanel===!0?Hy(e):null};C();let I=()=>{By(a,l,p,d,c,e,u,v)},B=null,k=()=>{B?.(),B=null,!(e?.launcher?.detachedPanel!==!0||e?.colorScheme!=="auto")&&(B=ha(()=>{C(),I()}))},M=()=>{f(),pn(e).reveal==="push"&&(typeof ResizeObserver>"u"||(w=new ResizeObserver(()=>{I()}),w.observe(a)))},P=!1,z=()=>{I(),M(),u&&!P&&a.dataset.personaDockMobileFullscreen!=="true"&&(P=!0,Iy(a,pn(e)))},K=a.ownerDocument.defaultView,x=()=>{z()};return K?.addEventListener("resize",x),pn(e).reveal==="push"?(l.appendChild(p),l.appendChild(d),a.appendChild(l)):(a.appendChild(p),a.appendChild(d)),z(),k(),{mode:"docked",host:c,shell:a,syncWidgetState(U){let j=U.launcherEnabled?U.open:!0;u!==j&&(u=j,z())},updateConfig(U){e=U,(e?.launcher?.enabled??!0)===!1&&(u=!0),C(),z(),k()},destroy(){K?.removeEventListener("resize",x),B?.(),B=null,f(),o.isConnected&&(s&&s.parentNode===o?o.insertBefore(t,s):o.appendChild(t)),a.remove()}}},Iu=(t,e)=>Ht(e)?Fy(t,e):Dy(t,e);var ys={desktop:{w:1280,h:800},mobile:{w:390,h:844}},Ru=.15,Wu=1.5,Wl="persona-preview-shell-theme",Ny={load:()=>null,save:()=>{},clear:()=>{}},Oy=["How do I get started?","Pricing & plans","Talk to support"];function Hl(t){return t.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function _y(t){return t==="dark"?{pageBg:"linear-gradient(180deg, #0f172a 0%, #020617 100%)",chromeBg:"#111827",chromeBorder:"#1f2937",dot:"#475569",skeleton:"#334155",cardBg:"#1e293b",cardBorder:"rgba(148, 163, 184, 0.16)"}:{pageBg:"linear-gradient(180deg, #ffffff 0%, #f8fafc 100%)",chromeBg:"#ffffff",chromeBorder:"#e5e7eb",dot:"#cbd5e1",skeleton:"#e2e8f0",cardBg:"#e2e8f0",cardBorder:"rgba(148, 163, 184, 0.18)"}}function Hu(t){let e=_y(t);return`* { box-sizing: border-box; }
|
|
139
|
+
${wt?"background: transparent !important;":""}
|
|
140
|
+
`}if(!b&&!i){let Tt="max-height: -moz-available !important; max-height: stretch !important;",Xt=g?"":"padding-top: 1.25em !important;",$s=g?"":`z-index: ${o.launcher?.zIndex??zt} !important;`;Be.style.cssText+=Tt+Xt+$s}cn()};Es(),Yr(t,o),gs(t,o),ms(t,o),br=()=>{Es(),Yr(t,o),gs(t,o),ms(t,o),ws?t.style.setProperty("--persona-artifact-welded-outer-radius",ws):t.style.removeProperty("--persona-artifact-welded-outer-radius")};let Ue=[];Ue.push(()=>{document.removeEventListener("keydown",Xl)}),Ue.push(()=>{mr!==null&&clearTimeout(mr)});let xn=null,Cn=null;Ue.push(()=>{xn?.(),xn=null,Cn?.(),Cn=null}),yr&&Ue.push(()=>{yr?.disconnect(),yr=null}),Ue.push(()=>{xr?.(),xr=null,ei(),bt&&(bt.remove(),bt=null),Ye?.element.style.removeProperty("width"),Ye?.element.style.removeProperty("maxWidth")}),Y&&Ue.push(()=>{Qe!==null&&(cancelAnimationFrame(Qe),Qe=null),Fe?.destroy(),Fe=null,Ae?.destroy(),Ae=null,pe=null});let go=null,Zl=()=>{go&&(go(),go=null),o.colorScheme==="auto"&&(go=ha(()=>{Yr(t,o)}))};Zl(),Ue.push(()=>{go&&(go(),go=null)}),Ue.push(a);let ks=o.features?.streamAnimation;if(ks?.type&&ks.type!=="none"){let i=lr(ks.type,ks.plugins);i&&(Ia(i,t),Ue.push(()=>Bp(t)))}let Ls=eu(yt),mo=null,_,ti=i=>{if(!_)return;let g=i??_.getMessages(),m=o.features?.suggestReplies?.enabled!==!1?Sd(g):null;m?Ls.render(m,_,ve,g,o.suggestionChipsConfig,{agentPushed:!0}):g.some(b=>b.role==="user")?Ls.render([],_,ve,g):Ls.render(o.suggestionChips,_,ve,g,o.suggestionChipsConfig)},mn=!1,ho=Mp(),No=new Map,yo=new Map,jn=new Map,ni=0,qu=Hn()!==null,Yt=Ta(),rn=0,qn=null,sn=!1,Ps=!1,Vn=0,hn=null,bo=null,oi=!1,Is=!1,ri=null,Cr=!0,si=!1,ai=null,Vu=4,Rs=24,Ku=80,ii=new Map,Ge={active:!1,manuallyDeactivated:!1,lastUserMessageWasVoice:!1,lastUserMessageId:null},ec=o.voiceRecognition?.autoResume??!1,kn=i=>{l.emit("voice:state",{active:Ge.active,source:i,timestamp:Date.now()})},yn=()=>{C(i=>({...i,voiceState:{active:Ge.active,timestamp:Date.now(),manuallyDeactivated:Ge.manuallyDeactivated}}))},Gu=()=>{if(o.voiceRecognition?.enabled===!1)return;let i=kl(c.voiceState),g=!!i.active,m=Number(i.timestamp??0);Ge.manuallyDeactivated=!!i.manuallyDeactivated,g&&Date.now()-m<xy&&setTimeout(()=>{Ge.active||(Ge.manuallyDeactivated=!1,o.voiceRecognition?.provider?.type==="runtype"?_.toggleVoice().then(()=>{Ge.active=_.isVoiceActive(),kn("restore"),_.isVoiceActive()&&Uo()}):Ds("restore"))},1e3)},Qu=()=>_?Au(_.getMessages()).filter(i=>!i.__skipPersist):[],Ws=null,tc=(i,g)=>{typeof console<"u"&&console.error(i,g)},li=(i,g)=>{let m=()=>{try{let Q=i();return!Q||typeof Q.then!="function"?null:Promise.resolve(Q).catch(N=>{tc(g,N)})}catch(Q){return tc(g,Q),null}},b=Ws,A=b?b.then(()=>m()??void 0):m();if(!A)return;let L=A.finally(()=>{Ws===L&&(Ws=null)});Ws=L};function ci(i){if(!d?.save)return;let m={messages:i?Au(i):_?Qu():[],metadata:c,artifacts:fn.artifacts,selectedArtifactId:fn.selectedId};li(()=>d.save(m),"[AgentWidget] Failed to persist state:")}let Oo=null,nc=()=>Be.querySelector("#persona-scroll-container")||le,Ar=()=>{Oo!==null&&(cancelAnimationFrame(Oo),Oo=null),sn=!1},oc=()=>{qn!==null&&(cancelAnimationFrame(qn),qn=null),Ps=!1,Ar()},Xu=()=>mn&&pi()&&(Gt()!=="anchor-top"||Fl()),di=()=>{let i=co()||"Jump to latest",g=Xu();Mt.toggleAttribute("data-persona-scroll-to-bottom-streaming",g),Vn>0?(po.textContent=String(Vn),po.style.display="",Mt.setAttribute("aria-label",`${i} (${Vn} new)`)):(po.textContent="",po.style.display="none",Mt.setAttribute("aria-label",g?`${i} (response streaming below)`:i))},rc=()=>{Vn!==0&&(Vn=0,di())},pi=()=>_n()?!Yt.isFollowing():!ao(le,Rs),Zt=()=>{if(!bs()||ot){Mt.parentNode&&Mt.remove(),Mt.style.display="none";return}Mt.parentNode!==ue&&ue.appendChild(Mt),Ho();let g=Tn(le)>0&&pi();g?di():rc(),Mt.style.display=g?"":"none"},Sr=()=>{Yt.pause()&&(oc(),Zt())},Kn=()=>{Yt.resume(),rc(),Zt()},Gn=(i=!1)=>{_n()&&Yt.isFollowing()&&(!i&&!mn||(qn!==null&&(cancelAnimationFrame(qn),qn=null),Ps=!0,qn=requestAnimationFrame(()=>{qn=null,Ps=!1,Yt.isFollowing()&&Ju(nc(),i?220:140)})))},sc=(i,g,m,b=()=>!0)=>{let A=i.scrollTop,L=g(),Q=L-A;if(Ar(),Math.abs(Q)<1){sn=!0,i.scrollTop=L,rn=i.scrollTop,sn=!1;return}let N=performance.now();sn=!0;let G=fe=>1-Math.pow(1-fe,3),oe=fe=>{if(!b()){Ar();return}let ne=g();ne!==L&&(L=ne,Q=L-A);let xe=fe-N,je=Math.min(xe/m,1),dt=G(je),tt=A+Q*dt;i.scrollTop=tt,rn=i.scrollTop,je<1?Oo=requestAnimationFrame(oe):(i.scrollTop=L,rn=i.scrollTop,Oo=null,sn=!1)};Oo=requestAnimationFrame(oe)},Ju=(i,g=500)=>{let m=Tn(i)-i.scrollTop;if(Math.abs(m)<1){rn=i.scrollTop;return}if(Math.abs(m)>=Ku){Ar(),sn=!0,i.scrollTop=Tn(i),rn=i.scrollTop,sn=!1;return}sc(i,()=>Tn(i),g,()=>Yt.isFollowing())},ac=()=>{let i=nc();sn=!0,i.scrollTop=Tn(i),rn=i.scrollTop,sn=!1,Zt()},ic=i=>{let g=0,m=i;for(;m&&m!==le;)g+=m.offsetTop,m=m.offsetParent;return g},lc=()=>{if(Nu()!=="last-user-turn")return!1;let i=_?.getMessages()??[];if(i.length<2)return!1;let g=[...i].reverse().find(L=>L.role==="user");if(!g)return!1;let m=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(g.id):g.id.replace(/\\/g,"\\\\").replace(/"/g,'\\"'),b=le.querySelector(`[data-message-id="${m}"]`);if(!b)return!1;let A=Math.min(Math.max(0,ic(b)-Bl()),Tn(le));return sn=!0,le.scrollTop=A,rn=le.scrollTop,sn=!1,Gt()==="follow"&&!ao(le,Rs)&&Yt.pause(),Zt(),!0},cc=i=>{$n.style.height=`${Math.max(0,Math.round(i))}px`,hn&&(hn.spacerHeight=Math.max(0,i))},Tr=()=>{bo!==null&&(cancelAnimationFrame(bo),bo=null),Ar(),hn=null,$n.style.height="0px"},Yu=i=>{bo!==null&&cancelAnimationFrame(bo),bo=requestAnimationFrame(()=>{bo=null;let g=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(i):i.replace(/\\/g,"\\\\").replace(/"/g,'\\"'),m=le.querySelector(`[data-message-id="${g}"]`);if(!m)return;let b=ic(m),A=hn?.spacerHeight??0,L=le.scrollHeight-A,{targetScrollTop:Q,spacerHeight:N}=Ip({anchorOffsetTop:b,topOffset:Bl(),viewportHeight:le.clientHeight,contentHeight:L});hn={initialSpacerHeight:N,contentHeightAtAnchor:L,spacerHeight:N},cc(N),sc(le,()=>Q,220)})},Zu=()=>{if(_n()){if(!Yt.isFollowing()||ao(le,1))return;Gn(!mn);return}if(hn&&hn.initialSpacerHeight>0){let i=le.scrollHeight-hn.spacerHeight,g=Rp({initialSpacerHeight:hn.initialSpacerHeight,contentHeightAtAnchor:hn.contentHeightAtAnchor,currentContentHeight:i});g!==hn.spacerHeight&&cc(g)}Zt()},ef=i=>{let g=Gt();g==="follow"?(Kn(),Gn(!0)):g==="anchor-top"&&(Cr=!1,si=!0,Yu(i))},tf=()=>{if(Gt()==="anchor-top"){if(si){Cr=!1;return}Cr=!0,Tr(),Kn(),Gn(!0)}},nf=i=>{let g=new Map;i.forEach(m=>{let b=ii.get(m.id);g.set(m.id,{streaming:m.streaming,role:m.role}),!b&&m.role==="assistant"&&(l.emit("assistant:message",m),!Is&&(Gt()!=="anchor-top"||Fl())&&pi()&&(Vn+=1,di(),Zt(),Ol(Vn===1?"1 new message below.":`${Vn} new messages below.`))),m.role==="assistant"&&b?.streaming&&m.streaming===!1&&l.emit("assistant:complete",m),m.variant==="approval"&&m.approval&&(b?m.approval.status!=="pending"&&l.emit("approval:resolved",{approval:m.approval,decision:m.approval.status}):l.emit("approval:requested",{approval:m.approval,message:m}))}),ii.clear(),g.forEach((m,b)=>{ii.set(b,m)})},Hs=(i,g)=>{let m=g==="user"?"user":"assistant",b=o.layout?.messages?.[m],A=b?.width??"content",L=b?.maxWidth??(A==="full"?"100%":"85%");i.classList.add("persona-message-row"),i.classList.remove("persona-message-row-user","persona-message-row-assistant","persona-message-row-system","persona-message-width-content","persona-message-width-full"),i.classList.add(`persona-message-row-${g}`,`persona-message-width-${A}`),i.classList.toggle("persona-justify-end",g==="user"),i.setAttribute("data-message-role",g),i.setAttribute("data-message-width",A),i.style.setProperty("--persona-message-row-max-width",L)},vo=(i,g)=>{let m=document.createElement("div");return m.className="persona-flex",m.id=`wrapper-${i}`,m.setAttribute("data-wrapper-id",i),Hs(m,g),m},of=(i,g,m)=>{let b=document.createElement("div"),L=(()=>{let R=r.find(Ie=>Ie.renderLoadingIndicator);if(R?.renderLoadingIndicator)return R.renderLoadingIndicator;if(o.loadingIndicator?.render)return o.loadingIndicator.render})(),Q=(R,Ie)=>Ie==null?!1:typeof Ie=="string"?(R.textContent=Ie,!0):(R.appendChild(Ie),!0),N=new Set,G=new Map,oe=new Set,fe=r.some(R=>R.renderAskUserQuestion),ne=[],xe=[],je=o.enableComponentStreaming!==!1,dt=o.approval!==!1,tt=[];if(g.forEach(R=>{N.add(R.id),G.set(R.id,R.role);let Ie=fe&&To(R),Oe=dt&&R.variant==="approval"&&!!R.approval,Me=!Ie&&R.role==="assistant"&&!R.variant&&je&&El(R);!Oe&&jn.has(R.id)&&(i.querySelector(`#wrapper-${R.id}`)?.removeAttribute("data-preserve-runtime"),jn.delete(R.id)),!Me&&yo.has(R.id)&&(i.querySelector(`#wrapper-${R.id}`)?.removeAttribute("data-preserve-runtime"),yo.delete(R.id));let At=To(R)?`:${R.agentMetadata?.askUserQuestionAnswered?"a":"u"}:${R.agentMetadata?.askUserQuestionAnswers?Object.keys(R.agentMetadata.askUserQuestionAnswers).length:0}`:"",pt=Tp(R,ni)+At,jt=Ie||Oe||Me?null:Ep(ho,R.id,pt);if(jt){b.appendChild(jt.cloneNode(!0)),To(R)&&R.toolCall?.id&&R.agentMetadata?.awaitingLocalTool===!0&&!R.agentMetadata?.askUserQuestionAnswered&&(oe.add(R.toolCall.id),Zs(R,o,Le.composerOverlay));return}let ut=null,Qt=r.find(_e=>!!(R.variant==="reasoning"&&_e.renderReasoning||R.variant==="tool"&&_e.renderToolCall||!R.variant&&_e.renderMessage)),Lt=o.layout?.messages;if(To(R)&&R.agentMetadata?.askUserQuestionAnswered===!0){No.delete(R.id),i.querySelector(`#wrapper-${R.id}`)?.removeAttribute("data-preserve-runtime");return}if(Ni(R)&&o.features?.suggestReplies?.enabled!==!1)return;if(To(R)&&o.features?.askUserQuestion?.enabled!==!1){let _e=r.find(Ft=>typeof Ft.renderAskUserQuestion=="function");if(_e&&it.current){let Ft=No.get(R.id),Nt=Ft!==pt,wt=null;if(Nt){let{payload:Ze,complete:De}=Qo(R),mt=R.id,Ot=()=>it.current?.getMessages().find(cn=>cn.id===mt);wt=_e.renderAskUserQuestion({message:R,payload:Ze,complete:De,resolve:cn=>{let Br=Ot();Br&&it.current?.resolveAskUserQuestion(Br,cn)},dismiss:()=>{let cn=Ot();cn?.agentMetadata?.awaitingLocalTool&&(it.current?.markAskUserQuestionResolved(cn),it.current?.resolveAskUserQuestion(cn,"(dismissed)"))},config:o})}let lt=Ft!=null;if(Nt&&wt===null&&!lt){R.agentMetadata?.awaitingLocalTool===!0&&!R.agentMetadata?.askUserQuestionAnswered&&(oe.add(R.toolCall.id),Zs(R,o,Le.composerOverlay));return}let ft=vo(R.id,R.role);ft.setAttribute("data-ask-plugin-stub","true"),ft.setAttribute("data-preserve-runtime","true"),b.appendChild(ft),ne.push({messageId:R.id,fingerprint:pt,bubble:wt});return}else{R.agentMetadata?.awaitingLocalTool===!0&&!R.agentMetadata?.askUserQuestionAnswered&&(oe.add(R.toolCall.id),Zs(R,o,Le.composerOverlay));return}}else if(Oe){let _e=r.find(lt=>typeof lt.renderApproval=="function")??s,Nt=jn.get(R.id)!==pt,wt=null;if(Nt&&_e?.renderApproval){let lt=R.id,ft=(Ze,De)=>{let mt=it.current?.getMessages().find(Ot=>Ot.id===lt);mt?.approval&&(mt.approval.toolType==="webmcp"?it.current?.resolveWebMcpApproval(mt.id,Ze):it.current?.resolveApproval(mt.approval,Ze,De))};wt=_e.renderApproval({message:R,defaultRenderer:()=>Ua(R,o),config:o,approve:Ze=>ft("approved",Ze),deny:Ze=>ft("denied",Ze)})}if(Nt&&wt===null)i.querySelector(`#wrapper-${R.id}`)?.removeAttribute("data-preserve-runtime"),jn.delete(R.id),ut=Ua(R,o);else{let lt=vo(R.id,R.role);lt.setAttribute("data-approval-plugin-stub","true"),lt.setAttribute("data-preserve-runtime","true"),b.appendChild(lt),tt.push({messageId:R.id,fingerprint:pt,bubble:wt});return}}else if(Qt)if(R.variant==="reasoning"&&R.reasoning&&Qt.renderReasoning){if(!ee)return;ut=Qt.renderReasoning({message:R,defaultRenderer:()=>ul(R,o),config:o})}else if(R.variant==="tool"&&R.toolCall&&Qt.renderToolCall){if(!ce)return;ut=Qt.renderToolCall({message:R,defaultRenderer:()=>gl(R,o),config:o})}else Qt.renderMessage&&(ut=Qt.renderMessage({message:R,defaultRenderer:()=>{let _e=pl(R,m,Lt,o.messageActions,Ee,{loadingIndicatorRenderer:L,widgetConfig:o});return R.role!=="user"&&xl(_e,R,o,_),_e},config:o}));if(!ut&&Me){let _e=wu(R);if(_e){let Ft=yo.get(R.id),Nt=Ft!==pt,wt=o.wrapComponentDirectiveInBubble!==!1&&On.getOptions(_e.component)?.bubbleChrome!==!1,lt=null;if(Nt){let ft=bu(_e,{config:o,message:R,transform:m});if(ft&&_e.component==="PersonaArtifactInline"){let Ze=ft.hasAttribute("data-artifact-inline")?ft:ft.querySelector("[data-artifact-inline]"),De=Ze?.getAttribute("data-artifact-inline")??"",mt=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(De):De,Ot=De?i.querySelector(`#wrapper-${R.id}`)?.querySelector(`[data-artifact-inline="${mt}"]`)??null:null;Ze&&Ot&&Ot!==Ze&&wp(Ot)&&(Ze===ft?ft=Ot:Ze.replaceWith(Ot))}if(ft)if(wt){let Ze=document.createElement("div");if(Ze.className=["persona-message-bubble","persona-rounded-2xl","persona-bg-persona-surface","persona-border","persona-border-persona-message-border","persona-p-4"].join(" "),Ze.id=`bubble-${R.id}`,Ze.setAttribute("data-message-id",R.id),R.content&&R.content.trim()){let De=document.createElement("div");De.className="persona-mb-3 persona-text-sm persona-leading-relaxed",De.innerHTML=m({text:R.content,message:R,streaming:!!R.streaming,raw:R.rawContent}),Ze.appendChild(De)}Ze.appendChild(ft),lt=Ze}else{let Ze=document.createElement("div");if(Ze.className="persona-flex persona-flex-col persona-w-full persona-max-w-full persona-gap-3 persona-items-stretch",Ze.id=`bubble-${R.id}`,Ze.setAttribute("data-message-id",R.id),Ze.setAttribute("data-persona-component-directive","true"),R.content&&R.content.trim()){let De=document.createElement("div");De.className="persona-text-sm persona-leading-relaxed persona-text-persona-primary persona-w-full",De.innerHTML=m({text:R.content,message:R,streaming:!!R.streaming,raw:R.rawContent}),Ze.appendChild(De)}Ze.appendChild(ft),lt=Ze}}if(lt||Ft!=null){let ft=vo(R.id,R.role);ft.setAttribute("data-component-directive-stub","true"),ft.setAttribute("data-preserve-runtime","true"),b.appendChild(ft),xe.push({messageId:R.id,fingerprint:pt,bubble:lt});return}}}if(!ut)if(R.variant==="reasoning"&&R.reasoning){if(!ee)return;ut=ul(R,o)}else if(R.variant==="tool"&&R.toolCall){if(!ce)return;ut=gl(R,o)}else if(R.variant==="approval"&&R.approval){if(o.approval===!1)return;ut=Ua(R,o)}else{let _e=o.layout?.messages;_e?.renderUserMessage&&R.role==="user"?ut=_e.renderUserMessage({message:R,config:o,streaming:!!R.streaming}):_e?.renderAssistantMessage&&R.role==="assistant"?ut=_e.renderAssistantMessage({message:R,config:o,streaming:!!R.streaming}):ut=pl(R,m,_e,o.messageActions,Ee,{loadingIndicatorRenderer:L,widgetConfig:o}),R.role!=="user"&&ut&&xl(ut,R,o,_)}let Re=vo(R.id,R.role);Re.appendChild(ut),kp(ho,R.id,pt,Re),b.appendChild(Re)}),Le.composerOverlay&&Le.composerOverlay.querySelectorAll("[data-persona-ask-sheet-for]").forEach(Ie=>{let Oe=Ie.getAttribute("data-persona-ask-sheet-for");Oe&&!oe.has(Oe)&&Jo(Le.composerOverlay,Oe)}),o.features?.toolCallDisplay?.grouped){let R=[],Ie=[],Oe=o.features.toolCallDisplay.groupedMode==="summary";g.forEach(Me=>{if(Me.variant==="tool"&&Me.toolCall&&ce){Ie.push(Me);return}Me.variant==="reasoning"&&!ee||((Ie.length>1||Oe&&Ie.length>0)&&R.push(Ie),Ie=[])}),(Ie.length>1||Oe&&Ie.length>0)&&R.push(Ie),R.forEach(Me=>{let At=Me.map(_e=>Array.from(b.children).find(Ft=>Ft instanceof HTMLElement&&Ft.getAttribute("data-wrapper-id")===_e.id)).filter(_e=>!!_e);if(At.length<(Oe?1:2))return;let pt=vo(`tool-group-${Me[0].id}`,"assistant");pt.setAttribute("data-persona-tool-group-row","true");let jt=document.createElement("div");jt.className="persona-tool-group persona-flex persona-w-full persona-flex-col persona-gap-2",jt.setAttribute("data-persona-tool-group","true");let ut=document.createElement("div");ut.className="persona-tool-group-summary persona-text-xs persona-text-persona-muted",ut.id=`tool-group-summary-${Me[0].id}`;let Qt=`Called ${Me.length} ${Me.length===1?"tool":"tools"}`,Lt=o.toolCall?.renderGroupedSummary?.({messages:Me,toolCalls:Me.map(_e=>_e.toolCall).filter(_e=>!!_e),defaultSummary:Qt,config:o});Q(ut,Lt)||(ut.textContent=Qt);let Re=document.createElement("div");Re.className="persona-tool-group-stack persona-flex persona-flex-col",Re.id=`tool-group-stack-${Me[0].id}`,Re.setAttribute("data-persona-tool-group-stack","true"),jt.appendChild(ut),Oe||jt.appendChild(Re),pt.appendChild(jt),At[0].before(pt),At.forEach((_e,Ft)=>{if(Oe){_e.remove();return}_e.style.setProperty("--persona-message-row-max-width","100%");let Nt=document.createElement("div");Nt.className="persona-tool-group-item persona-relative",Nt.setAttribute("data-persona-tool-group-item","true"),Ft<At.length-1&&Nt.setAttribute("data-persona-tool-group-connector","true"),Nt.appendChild(_e),Re.appendChild(Nt)})})}Lp(ho,N);let en=g.some(R=>R.role==="assistant"&&R.streaming),Ct=g[g.length-1],kt=Ct?.role==="assistant"&&!Ct.streaming&&Ct.variant!=="approval";if(mn&&g.some(R=>R.role==="user")&&!en&&!kt){let R={config:o,streaming:!0,location:"standalone",defaultRenderer:ds},Ie=r.find(Me=>Me.renderLoadingIndicator),Oe=null;if(Ie?.renderLoadingIndicator&&(Oe=Ie.renderLoadingIndicator(R)),Oe===null&&o.loadingIndicator?.render&&(Oe=o.loadingIndicator.render(R)),Oe===null&&(Oe=ds()),Oe){let Me=document.createElement("div"),At=o.loadingIndicator?.showBubble!==!1;Me.className=At?["persona-rounded-2xl","persona-text-sm","persona-leading-relaxed","persona-shadow-sm","persona-bg-persona-surface","persona-border","persona-text-persona-primary","persona-px-5","persona-py-3"].join(" "):["persona-text-sm","persona-leading-relaxed","persona-text-persona-primary"].join(" "),Me.setAttribute("data-typing-indicator","true"),Me.style.borderColor="var(--persona-message-assistant-border, var(--persona-border, #e5e7eb))",Me.appendChild(Oe);let pt=vo("typing-indicator","assistant");pt.appendChild(Me),b.appendChild(pt)}}if(!mn&&g.length>0){let R=g[g.length-1],Ie={config:o,lastMessage:R,messageCount:g.length},Oe=r.find(At=>At.renderIdleIndicator),Me=null;if(Oe?.renderIdleIndicator&&(Me=Oe.renderIdleIndicator(Ie)),Me===null&&o.loadingIndicator?.renderIdle&&(Me=o.loadingIndicator.renderIdle(Ie)),Me){let At=document.createElement("div"),pt=o.loadingIndicator?.showBubble!==!1;At.className=pt?["persona-rounded-2xl","persona-text-sm","persona-leading-relaxed","persona-shadow-sm","persona-bg-persona-surface","persona-border","persona-border-persona-message-border","persona-text-persona-primary","persona-px-5","persona-py-3"].join(" "):["persona-text-sm","persona-leading-relaxed","persona-text-persona-primary"].join(" "),At.setAttribute("data-idle-indicator","true"),At.appendChild(Me);let jt=vo("idle-indicator","assistant");jt.appendChild(At),b.appendChild(jt)}}if(rd(b),Sa(i,b),ki(i),ne.length>0)for(let{messageId:R,fingerprint:Ie,bubble:Oe}of ne){let Me=i.querySelector(`#wrapper-${R}`);Me&&(Hs(Me,G.get(R)??"assistant"),Oe!==null&&(Me.replaceChildren(Oe),Me.setAttribute("data-bubble-fp",Ie),No.set(R,Ie)))}if(No.size>0)for(let R of No.keys())N.has(R)||No.delete(R);if(xe.length>0)for(let{messageId:R,fingerprint:Ie,bubble:Oe}of xe){let Me=i.querySelector(`#wrapper-${R}`);Me&&(Hs(Me,G.get(R)??"assistant"),Oe!==null&&(Me.replaceChildren(Oe),Me.setAttribute("data-bubble-fp",Ie),yo.set(R,Ie)))}if(yo.size>0)for(let R of yo.keys())N.has(R)||yo.delete(R);if(tt.length>0)for(let{messageId:R,fingerprint:Ie,bubble:Oe}of tt){let Me=i.querySelector(`#wrapper-${R}`);Me&&(Hs(Me,G.get(R)??"assistant"),Oe!==null&&(Me.replaceChildren(Oe),Me.setAttribute("data-bubble-fp",Ie),jn.set(R,Ie)))}if(jn.size>0)for(let R of jn.keys())N.has(R)||jn.delete(R)},Mr=(i,g,m)=>{of(i,g,m),Kl()},Er=null,rf=()=>{if(Er)return;let i=m=>{let b=m.composedPath();b.includes(Be)||Ke&&b.includes(Ke)||ct(!1,"user")};Er=i,(t.ownerDocument??document).addEventListener("pointerdown",i,!0)},dc=()=>{if(!Er)return;(t.ownerDocument??document).removeEventListener("pointerdown",Er,!0),Er=null};Ue.push(()=>dc());let kr=null,sf=()=>{if(kr)return;let i=m=>{m.key==="Escape"&&(m.isComposing||ct(!1,"user"))};kr=i,(t.ownerDocument??document).addEventListener("keydown",i,!0)},pc=()=>{if(!kr)return;(t.ownerDocument??document).removeEventListener("keydown",kr,!0),kr=null};Ue.push(()=>pc());let Lr=!1,uc=new Set,af=()=>{let i=o.launcher?.composerBar?.peek?.streamAnimation;return i||o.features?.streamAnimation},_o=()=>{if(!J())return;let i=Le.peekBanner,g=Le.peekTextNode;if(!i||!g)return;if(F){i.classList.remove("persona-pill-peek--visible");return}let m=_?.getMessages()??[],b;for(let Ct=m.length-1;Ct>=0;Ct--){let kt=m[Ct];if(kt.role==="assistant"&&kt.content){b=kt;break}}if(!b){i.classList.remove("persona-pill-peek--visible");return}let A=b.content,L=!!b.streaming,Q=af(),N=ka(Q),G=N.type!=="none"?lr(N.type,Q?.plugins):null,oe=G?.isAnimating?.(b)===!0,fe=G!==null&&(L||oe);fe&&G&&!uc.has(G.name)&&(Ia(G,t),uc.add(G.name));let ne=fe&&G?.containerClass?G.containerClass:null,xe=g.dataset.personaPeekStreamClass??null;xe&&xe!==ne&&(g.classList.remove(xe),delete g.dataset.personaPeekStreamClass),ne&&xe!==ne&&(g.classList.add(ne),g.dataset.personaPeekStreamClass=ne),fe?(g.style.setProperty("--persona-stream-step",`${N.speed}ms`),g.style.setProperty("--persona-stream-duration",`${N.duration}ms`)):(g.style.removeProperty("--persona-stream-step"),g.style.removeProperty("--persona-stream-duration"));let je=fe?La(A,N.buffer,G,b,L):A;if(fe&&N.placeholder==="skeleton"&&L&&(!je||!je.trim())){let Ct=document.createElement("div"),kt=ss();kt.classList.add("persona-pill-peek__skeleton"),Ct.appendChild(kt),Sa(g,Ct)}else{let Ct=Math.max(0,je.length-100),kt=je.length>100?je.slice(-100):je,R=Zn(kt);if(!fe||!G){let Ie=je.length>100?`\u2026${kt}`:kt;g.textContent!==Ie&&(g.textContent=Ie)}else{let Ie=R;(G.wrap==="char"||G.wrap==="word")&&(Ie=rs(R,G.wrap,`peek-${b.id}`,{skipTags:G.skipTags,startIndex:Ct}));let Oe=document.createElement("div");if(Oe.innerHTML=Ie,G.useCaret&&kt.length>0){let Me=Pa(),At=Oe.querySelectorAll(".persona-stream-char, .persona-stream-word"),pt=At[At.length-1];pt?.parentNode?pt.parentNode.insertBefore(Me,pt.nextSibling):Oe.appendChild(Me)}Sa(g,Oe),G.onAfterRender?.({container:g,bubble:i,messageId:b.id,message:b,speed:N.speed,duration:N.duration})}}let en=mn||Lr;i.classList.toggle("persona-pill-peek--visible",en)};if(J()){let i=Le.peekBanner;if(i){let b=A=>{A.preventDefault(),A.stopPropagation(),ct(!0,"user")};i.addEventListener("pointerdown",b),Ue.push(()=>{i.removeEventListener("pointerdown",b)})}let g=()=>{Lr||(Lr=!0,_o())},m=()=>{Lr&&(Lr=!1,_o())};me.addEventListener("pointerenter",g),me.addEventListener("pointerleave",m),Ue.push(()=>{me.removeEventListener("pointerenter",g),me.removeEventListener("pointerleave",m)}),Ke&&(Ke.addEventListener("pointerenter",g),Ke.addEventListener("pointerleave",m),Ue.push(()=>{Ke.removeEventListener("pointerenter",g),Ke.removeEventListener("pointerleave",m)}))}let lf=i=>{let g=o.launcher?.composerBar??{},m=g.expandedSize??"anchored",b=g.bottomOffset??"16px",A=g.collapsedMaxWidth,L=g.expandedMaxWidth??"880px",Q=g.expandedTopOffset??"5vh",N=g.modalMaxWidth??"880px",G=g.modalMaxHeight??"min(90vh, 800px)",oe="calc(100vw - 32px)",fe="var(--persona-pill-area-height, 80px)",ne=Be.style;if(ne.left="",ne.right="",ne.top="",ne.bottom="",ne.transform="",ne.width="",ne.maxWidth="",ne.height="",ne.maxHeight="",Ke){let xe=Ke.style;xe.bottom=b,xe.width=A??""}if(i&&m!=="fullscreen"){if(m==="modal"){ne.top="50%",ne.left="50%",ne.transform="translate(-50%, -50%)",ne.bottom="auto",ne.right="auto",ne.width=N,ne.maxWidth=oe,ne.maxHeight=G,ne.height=G;return}ne.left="50%",ne.transform="translateX(-50%)",ne.bottom=`calc(${b} + ${fe})`,ne.top=Q,ne.width=L,ne.maxWidth=oe}},Pr=()=>{if(!D())return;if(J()){let oe=(o.launcher?.composerBar??{}).expandedSize??"anchored",fe=F?"expanded":"collapsed";Be.dataset.state=fe,Be.dataset.expandedSize=oe,Ke&&(Ke.dataset.state=fe,Ke.dataset.expandedSize=oe),Be.style.removeProperty("display"),Be.classList.remove("persona-pointer-events-none","persona-opacity-0"),me.classList.remove("persona-scale-95","persona-opacity-0","persona-scale-100","persona-opacity-100"),lf(F),ue.style.display=F?"flex":"none",Es(),F?(rf(),sf()):(dc(),pc()),_o();return}let i=Wt(o),g=t.ownerDocument.defaultView??window,m=o.launcher?.mobileBreakpoint??640,b=o.launcher?.mobileFullscreen??!0,A=g.innerWidth<=m,L=b&&A&&M,Q=pn(o).reveal;F?(Be.style.removeProperty("display"),Be.style.display=i?"flex":"",Be.classList.remove("persona-pointer-events-none","persona-opacity-0"),me.classList.remove("persona-scale-95","persona-opacity-0"),me.classList.add("persona-scale-100","persona-opacity-100"),Ht?Ht.element.style.display="none":Ut&&(Ut.style.display="none")):(i?i&&(Q==="overlay"||Q==="push")&&!L?(Be.style.removeProperty("display"),Be.style.display="flex",Be.classList.remove("persona-pointer-events-none","persona-opacity-0"),me.classList.remove("persona-scale-100","persona-opacity-100","persona-scale-95","persona-opacity-0")):(Be.style.setProperty("display","none","important"),Be.classList.remove("persona-pointer-events-none","persona-opacity-0"),me.classList.remove("persona-scale-100","persona-opacity-100","persona-scale-95","persona-opacity-0")):(Be.style.display="",Be.classList.add("persona-pointer-events-none","persona-opacity-0"),me.classList.remove("persona-scale-100","persona-opacity-100"),me.classList.add("persona-scale-95","persona-opacity-0")),Ht?Ht.element.style.display=i?"none":"":Ut&&(Ut.style.display=i?"none":""))},ct=(i,g="user")=>{if(!D()||F===i)return;let m=F;F=i,Pr();let b=(()=>{let L=o.launcher?.sidebarMode??!1,Q=t.ownerDocument.defaultView??window,N=o.launcher?.mobileFullscreen??!0,G=o.launcher?.mobileBreakpoint??640,oe=Q.innerWidth<=G,fe=Wt(o)&&N&&oe,ne=J()&&(o.launcher?.composerBar?.expandedSize??"fullscreen")==="fullscreen";return L||N&&oe&&M||fe||ne})();if(F&&b){if(!xn){let L=t.getRootNode(),Q=L instanceof ShadowRoot?L.host:t.closest(".persona-host");Q&&(xn=sl(Q,o.launcher?.zIndex??zt))}Cn||(Cn=al(t.ownerDocument))}else F||(xn?.(),xn=null,Cn?.(),Cn=null);F&&(Wr(),lc()||(Gt()==="follow"?Gn(!0):ac()));let A={open:F,source:g,timestamp:Date.now()};F&&!m?l.emit("widget:opened",A):!F&&m&&l.emit("widget:closed",A),l.emit("widget:state",{open:F,launcherEnabled:M,voiceActive:Ge.active,streaming:_.isStreaming()})},ui=i=>{rt(i?"stop":"send"),V&&(V.disabled=i),Ls.buttons.forEach(g=>{g.disabled=i}),$.dataset.personaComposerStreaming=i?"true":"false",$.querySelectorAll("[data-persona-composer-disable-when-streaming]").forEach(g=>{(g instanceof HTMLButtonElement||g instanceof HTMLInputElement||g instanceof HTMLTextAreaElement||g instanceof HTMLSelectElement)&&(g.disabled=i)})},fi=()=>{Ge.active||ve&&ve.focus()};l.on("widget:opened",()=>{o.autoFocusInput&&setTimeout(()=>fi(),200)});let fc=()=>{O.textContent=o.copy?.welcomeTitle??"Hello \u{1F44B}",y.textContent=o.copy?.welcomeSubtitle??"Ask anything about your account or products.",ve.placeholder=o.copy?.inputPlaceholder??"How can I help...";let i=le.querySelector("[data-persona-intro-card]");if(i){let m=o.copy?.showWelcomeCard!==!1;i.style.display=m?"":"none",m?(le.classList.remove("persona-gap-3"),le.classList.add("persona-gap-6")):(le.classList.remove("persona-gap-6"),le.classList.add("persona-gap-3"))}!(o.sendButton?.useIcon??!1)&&!_?.isStreaming()&&(de.textContent=o.copy?.sendButtonLabel??"Send"),ve.style.fontFamily='var(--persona-input-font-family, var(--persona-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif))',ve.style.fontWeight="var(--persona-input-font-weight, var(--persona-font-weight, 400))"};o.clientToken&&(o={...o,getStoredSessionId:()=>{let i=c.sessionId;return typeof i=="string"?i:null},setStoredSessionId:i=>{C(g=>({...g,sessionId:i}))}});let wo=null,cf=()=>{wo==null&&(wo=setInterval(()=>{let i=be.querySelectorAll("[data-tool-elapsed]");if(i.length===0){clearInterval(wo),wo=null;return}let g=Date.now();i.forEach(m=>{let b=Number(m.getAttribute("data-tool-elapsed"));b&&(m.textContent=na(g-b))})},100))},gi=(i,g)=>{if(Object.is(i,g))return!0;if(i===null||g===null||typeof i!="object"||typeof g!="object")return!1;if(Array.isArray(i)||Array.isArray(g))return!Array.isArray(i)||!Array.isArray(g)||i.length!==g.length?!1:i.every((Q,N)=>gi(Q,g[N]));let m=i,b=g,A=Object.keys(m),L=Object.keys(b);return A.length===L.length&&A.every(Q=>Object.prototype.hasOwnProperty.call(b,Q)&&gi(m[Q],b[Q]))},gc=i=>{let{content:g,rawContent:m,llmContent:b,...A}=i;return A},mi=i=>i.role==="assistant"&&i.streaming===!0&&!i.variant&&!i.toolCall&&!i.tools&&!i.approval&&!i.reasoning&&!i.contentParts&&!i.stopReason&&!El(i),df=(i,g,m)=>{if(i.length!==g.length)return!1;let b=i[m.index],A=g[m.index];return!b||!A||b.id!==m.id||A.id!==m.id?!1:(!Object.is(b.content,A.content)||!Object.is(b.rawContent,A.rawContent)||!Object.is(b.llmContent,A.llmContent))&&mi(b)&&mi(A)&&gi(gc(b),gc(A))},mc=null,$o=null,xo=null,Ln=null,Bs=i=>{mc=i;let g,m;$o=null;for(let A=i.length-1;A>=0;A-=1){let L=i[A];if(!g&&L.role==="user"&&(g=L),!m&&L.role==="assistant"&&(m=L),!$o&&mi(L)&&($o={index:A,id:L.id}),g&&m&&$o)break}Mr(be,i,we),Zi(be,fn.artifacts,{suppressTransition:mn}),cf(),ti(i),Gn(!mn),nf(i),i.length===0&&(Tr(),Cr=!0,si=!1),!oi||Is?(oi=!0,ri=g?.id??null,ai=m?.id??null):g&&g.id!==ri?(ri=g.id,ef(g.id)):m&&m.id!==ai&&tf(),m&&(ai=m.id);let b=Ge.lastUserMessageId;g&&g.id!==b&&(Ge.lastUserMessageId=g.id,l.emit("user:message",g)),Ge.lastUserMessageWasVoice=!!g?.viaVoice,ci(i),_o()},hi=()=>{Ln!==null&&(cancelAnimationFrame(Ln),Ln=null);let i=xo;xo=null,i&&Bs(i)},hc=()=>{Ln!==null&&cancelAnimationFrame(Ln),Ln=null,xo=null},pf=i=>{let g=xo??mc;if(mn&&g&&$o&&df(g,i,$o)){xo=i,Ln===null&&(Ln=requestAnimationFrame(()=>{Ln=null;let m=xo;xo=null,m&&Bs(m)}));return}if(i.length===0){hc(),Bs(i);return}hi(),Bs(i)};_=new da(o,{onMessagesChanged(i){pf(i)},onStatusChanged(i){let g=o.statusIndicator??{};St(T,(b=>b==="idle"?g.idleText??Pt.idle:b==="connecting"?g.connectingText??Pt.connecting:b==="connected"?g.connectedText??Pt.connected:b==="error"?g.errorText??Pt.error:b==="paused"?g.pausedText??Pt.paused:b==="resuming"?g.resumingText??Pt.resuming:Pt[b])(i),g,i)},onStreamingChanged(i){i||(_?.getMessages().length===0?hc():hi()),mn=i,ui(i),_&&Mr(be,_.getMessages(),we),i||Gn(!0),Zt(),Ol(i?"Responding\u2026":"Response complete."),_o()},onVoiceStatusChanged(i){if(l.emit("voice:status",{status:i,timestamp:Date.now()}),o.voiceRecognition?.provider?.type==="runtype")switch(i){case"listening":Pn(),Uo();break;case"processing":Pn(),Cf();break;case"speaking":Pn(),Af();break;default:i==="idle"&&_.isBargeInActive()?(Pn(),Uo(),V?.setAttribute("aria-label","End voice session")):(Ge.active=!1,Pn(),kn("system"),yn());break}},onArtifactsState(i){fn=i,i.artifacts.length===0&&(Bo=!1),Zi(be,i.artifacts,{suppressTransition:mn}),En(),ci()},onReconnect(i){let{executionId:g,lastEventId:m}=i.handle;i.phase==="paused"?l.emit("stream:paused",{executionId:g,after:m}):i.phase==="resuming"?l.emit("stream:resuming",{executionId:g,after:m,attempt:i.attempt??1}):l.emit("stream:resumed",{executionId:g,after:m})}}),it.current=_,Ue.push(()=>_.cancel());let yi=null;if(_.onReadAloudChange((i,g)=>{ql=i,Vl=g,Kl();let m=i??yi;i&&(yi=i);let b=m?_.getMessages().find(A=>A.id===m)??null:null;l.emit("message:read-aloud",{messageId:m,message:b,state:g,timestamp:Date.now()}),g==="idle"&&(yi=null)}),oi=!0,o.voiceRecognition?.provider?.type==="runtype")try{_.setupVoice()}catch(i){typeof console<"u"&&console.warn("[AgentWidget] Runtype voice setup failed:",i)}o.clientToken&&_.initClientSession().catch(i=>{o.debug&&console.warn("[AgentWidget] Pre-init client session failed:",i)}),(Ae||o.onSSEEvent)&&_.setSSEEventCallback((i,g)=>{o.onSSEEvent?.(i,g),$e?.processEvent(i,g),Ae?.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:i,timestamp:Date.now(),payload:JSON.stringify(g)})});let yc=()=>{o.resume&&typeof o.reconnectStream=="function"&&_.resumeFromHandle(o.resume)};u?u.then(i=>{if(i){if(i.metadata&&(c=kl(i.metadata),k.syncFromMetadata()),i.messages?.length){Is=!0;try{_.hydrateMessages(i.messages)}finally{Is=!1}}i.artifacts?.length&&_.hydrateArtifacts(i.artifacts,i.selectedArtifactId??null)}}).catch(i=>{typeof console<"u"&&console.error("[AgentWidget] Failed to hydrate stored state:",i)}).finally(()=>yc()):yc();let bc=()=>{!J()||F||!(o.launcher?.composerBar?.expandOnSubmit??!0)||ct(!0,"auto")},uf=(i,g)=>i?g?{refs:[...i.refs,...g.refs],finalize:async()=>{let[m,b]=await Promise.allSettled([i.finalize(),g.finalize()]),A=[];return m.status==="fulfilled"?A.push(m.value):console.warn("[Persona] a mention bundle failed to finalize; sending without it",m.reason),b.status==="fulfilled"?A.push(b.value):console.warn("[Persona] a mention bundle failed to finalize; sending without it",b.reason),ky(A)}}:i:g,ff=()=>{let g=ve.getInlineMessageFields?.();return g&&g.contentSegments.some(b=>b.kind==="mention")?g.contentSegments:void 0},Ir=!1,gf=async i=>{let g=ve.value.trim(),m=xt?.hasAttachments()??!1,b=g?await(Jt?.takeInlineCommand(g)??Promise.resolve(null)):null;if(b?.kind==="action"){ve.value="",ve.style.height="auto",Rr(),Jt?.clear();return}let A=Jt?.collectForSubmit()??null,L=b?.kind==="server"?b.mentions:null,Q=uf(A,L),N=b?.kind==="prompt"?b.sendText:g,G=!!A&&A.refs.length>0;if(!N&&!m&&!G&&!L)return;bc();let oe;m&&(oe=[],oe.push(...xt.getContentParts()),N&&oe.push(Zo(N)));let fe=b?.kind==="prompt"?void 0:ff();ve.value="",ve.style.height="auto",Rr(),_.sendMessage(N,{contentParts:oe,mentions:Q??void 0,contentSegments:fe,viaVoice:i?.viaVoice}),m&&xt.clearAttachments(),A&&Jt?.clear()},bi=async i=>{if(!Ir){Ir=!0;try{await gf(i)}finally{Ir=!1}}},vc=i=>{if(i.preventDefault(),_.isStreaming()){_.cancel(),$e?.reset(),Fe?.update();return}Ir||bi()},mf=()=>o.features?.composerHistory!==!1,vi={...nl},wi=!1,Rr=()=>{vi={...nl}},hf=()=>_.getMessages().filter(i=>i.role==="user").map(i=>i.content??"").filter(i=>i.length>0),yf=i=>{if(!ve)return;wi=!0,ve.value=i,ve.dispatchEvent(new Event("input",{bubbles:!0})),wi=!1;let g=ve.value.length;ve.setSelectionRange(g,g)},bf=i=>{wi||(i.isComposing||Jt?.handleInput(i.inputType??void 0),Rr())},vf=i=>{if(ve&&!(!i.isComposing&&Jt?.handleKeydown(i))){if(mf()&&(i.key==="ArrowUp"||i.key==="ArrowDown")&&!i.shiftKey&&!i.metaKey&&!i.ctrlKey&&!i.altKey&&!i.isComposing){let g=ve.selectionStart===0&&ve.selectionEnd===0,m=Sp({direction:i.key==="ArrowUp"?"up":"down",history:hf(),currentValue:ve.value,atStart:g,state:vi});if(vi=m.state,m.handled){i.preventDefault(),m.value!==void 0&&yf(m.value);return}}if(i.key==="Enter"&&!i.shiftKey){if(_.isStreaming()){i.preventDefault();return}if(Ir){i.preventDefault();return}Rr(),i.preventDefault(),de.click()}}},wc=i=>{i.key!=="Escape"||i.isComposing||_.isStreaming()&&i.composedPath().includes(ue)&&(_.cancel(),$e?.reset(),Fe?.update(),Rr(),i.preventDefault(),i.stopImmediatePropagation())},wf=async i=>{if(o.attachments?.enabled!==!0||!xt)return;let g=Sy(i.clipboardData);g.length!==0&&(i.preventDefault(),await xt.handleFiles(g))},an=null,An=!1,zo=null,vt=null,xc=()=>typeof window>"u"?null:window.webkitSpeechRecognition||window.SpeechRecognition||null,Ds=(i="user")=>{if(An||_.isStreaming())return;let g=xc();if(!g)return;an=new g;let b=(o.voiceRecognition??{}).pauseDuration??2e3;an.continuous=!0,an.interimResults=!0,an.lang="en-US";let A=ve.value;an.onresult=L=>{let Q="",N="";for(let oe=0;oe<L.results.length;oe++){let fe=L.results[oe],ne=fe[0].transcript;fe.isFinal?Q+=ne+" ":N=ne}let G=A+Q+N;ve.value=G,zo&&clearTimeout(zo),(Q||N)&&(zo=window.setTimeout(()=>{ve.value.trim()&&an&&An&&(Qn(),bi({viaVoice:!0}))},b))},an.onerror=L=>{L.error!=="no-speech"&&Qn()},an.onend=()=>{if(An){let L=ve.value.trim();L&&L!==A.trim()&&bi({viaVoice:!0}),Qn()}};try{if(an.start(),An=!0,Ge.active=!0,i!=="system"&&(Ge.manuallyDeactivated=!1),kn(i),yn(),V){let L=o.voiceRecognition??{};vt={backgroundColor:V.style.backgroundColor,color:V.style.color,borderColor:V.style.borderColor,iconName:L.iconName??"mic",iconSize:parseFloat(L.iconSize??o.sendButton?.size??"40")||24};let Q=L.recordingBackgroundColor,N=L.recordingIconColor,G=L.recordingBorderColor;if(V.classList.add("persona-voice-recording"),V.style.backgroundColor=Q??"var(--persona-voice-recording-bg, #ef4444)",V.style.color=N??"var(--persona-voice-recording-indicator, #ffffff)",N){let oe=V.querySelector("svg");oe&&oe.setAttribute("stroke",N)}G&&(V.style.borderColor=G),V.setAttribute("aria-label","Stop voice recognition")}}catch{Qn("system")}},Qn=(i="user")=>{if(An){if(An=!1,zo&&(clearTimeout(zo),zo=null),an){try{an.stop()}catch{}an=null}if(Ge.active=!1,kn(i),yn(),V){if(V.classList.remove("persona-voice-recording"),vt){V.style.backgroundColor=vt.backgroundColor,V.style.color=vt.color,V.style.borderColor=vt.borderColor;let g=V.querySelector("svg");g&&g.setAttribute("stroke",vt.color||"currentColor"),vt=null}V.setAttribute("aria-label","Start voice recognition")}}},xf=(i,g)=>{let m=typeof window<"u"&&(typeof window.webkitSpeechRecognition<"u"||typeof window.SpeechRecognition<"u"),b=i?.provider?.type==="runtype",A=i?.provider?.type==="custom";if(!(m||b||A))return null;let Q=h("div","persona-send-button-wrapper"),N=h("button","persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer");N.type="button";let G=i?.tooltipText??"Start voice recognition";N.setAttribute("aria-label",G);let oe=i?.iconName??"mic",fe=g?.size??"40px",ne=i?.iconSize??fe,xe=parseFloat(ne)||24,je=i?.backgroundColor??g?.backgroundColor,dt=i?.iconColor??g?.textColor;N.style.width=ne,N.style.height=ne,N.style.minWidth=ne,N.style.minHeight=ne,N.style.fontSize="18px",N.style.lineHeight="1",dt?N.style.color=dt:N.style.color="var(--persona-text, #111827)";let en=re(oe,xe,dt||"currentColor",1.5);en?N.appendChild(en):N.textContent="\u{1F3A4}",je?N.style.backgroundColor=je:N.style.backgroundColor="",i?.borderWidth&&(N.style.borderWidth=i.borderWidth,N.style.borderStyle="solid"),i?.borderColor&&(N.style.borderColor=i.borderColor),i?.paddingX&&(N.style.paddingLeft=i.paddingX,N.style.paddingRight=i.paddingX),i?.paddingY&&(N.style.paddingTop=i.paddingY,N.style.paddingBottom=i.paddingY),Q.appendChild(N);let Ct=i?.showTooltip??!1;return Dt({anchor:N,trigger:Q,text:()=>N.getAttribute("aria-label")??G,enabled:Ct}),{micButton:N,micButtonWrapper:Q}},xi=()=>{if(!V||vt)return;let i=o.voiceRecognition??{};vt={backgroundColor:V.style.backgroundColor,color:V.style.color,borderColor:V.style.borderColor,iconName:i.iconName??"mic",iconSize:parseFloat(i.iconSize??o.sendButton?.size??"40")||24}},Ci=(i,g)=>{if(!V)return;let m=V.querySelector("svg");m&&m.remove();let b=vt?.iconSize??(parseFloat(o.voiceRecognition?.iconSize??o.sendButton?.size??"40")||24),A=re(i,b,g,1.5);A&&V.appendChild(A)},Fs=()=>{V&&V.classList.remove("persona-voice-recording","persona-voice-processing","persona-voice-speaking")},Uo=()=>{if(!V)return;xi();let i=o.voiceRecognition??{},g=i.recordingBackgroundColor,m=i.recordingIconColor,b=i.recordingBorderColor;if(Fs(),V.classList.add("persona-voice-recording"),V.style.backgroundColor=g??"var(--persona-voice-recording-bg, #ef4444)",V.style.color=m??"var(--persona-voice-recording-indicator, #ffffff)",m){let A=V.querySelector("svg");A&&A.setAttribute("stroke",m)}b&&(V.style.borderColor=b),V.setAttribute("aria-label","Stop voice recognition")},Cf=()=>{if(!V)return;xi();let i=o.voiceRecognition??{},g=_.getVoiceInterruptionMode(),m=i.processingIconName??"loader",b=i.processingIconColor??vt?.color??"",A=i.processingBackgroundColor??vt?.backgroundColor??"",L=i.processingBorderColor??vt?.borderColor??"";Fs(),V.classList.add("persona-voice-processing"),V.style.backgroundColor=A,V.style.borderColor=L;let Q=b||"currentColor";V.style.color=Q,Ci(m,Q),V.setAttribute("aria-label","Processing voice input"),g==="none"&&(V.style.cursor="default")},Af=()=>{if(!V)return;xi();let i=o.voiceRecognition??{},g=_.getVoiceInterruptionMode(),m=g==="cancel"?"square":g==="barge-in"?"mic":"volume-2",b=i.speakingIconName??m,A=i.speakingIconColor??(g==="barge-in"?i.recordingIconColor??vt?.color??"":vt?.color??""),L=i.speakingBackgroundColor??(g==="barge-in"?i.recordingBackgroundColor??"var(--persona-voice-recording-bg, #ef4444)":vt?.backgroundColor??""),Q=i.speakingBorderColor??(g==="barge-in"?i.recordingBorderColor??"":vt?.borderColor??"");Fs(),V.classList.add("persona-voice-speaking"),V.style.backgroundColor=L,V.style.borderColor=Q;let N=A||"currentColor";V.style.color=N,Ci(b,N);let G=g==="cancel"?"Stop playback and re-record":g==="barge-in"?"Speak to interrupt":"Agent is speaking";V.setAttribute("aria-label",G),g==="none"&&(V.style.cursor="default"),g==="barge-in"&&V.classList.add("persona-voice-recording")},Pn=()=>{V&&(Fs(),vt&&(V.style.backgroundColor=vt.backgroundColor??"",V.style.color=vt.color??"",V.style.borderColor=vt.borderColor??"",Ci(vt.iconName,vt.color||"currentColor"),vt=null),V.style.cursor="",V.setAttribute("aria-label","Start voice recognition"))},Ns=()=>{if(o.voiceRecognition?.provider?.type==="runtype"){let i=_.getVoiceStatus(),g=_.getVoiceInterruptionMode();if(g==="none"&&(i==="processing"||i==="speaking"))return;if(g==="cancel"&&(i==="processing"||i==="speaking")){_.stopVoicePlayback();return}if(_.isBargeInActive()){_.stopVoicePlayback(),_.deactivateBargeIn().then(()=>{Ge.active=!1,Ge.manuallyDeactivated=!0,yn(),kn("user"),Pn()});return}_.toggleVoice().then(()=>{Ge.active=_.isVoiceActive(),Ge.manuallyDeactivated=!_.isVoiceActive(),yn(),kn("user"),_.isVoiceActive()?Uo():Pn()});return}if(An){let i=ve.value.trim();Ge.manuallyDeactivated=!0,yn(),Qn("user"),i&&(ve.value="",ve.style.height="auto",_.sendMessage(i))}else Ge.manuallyDeactivated=!1,yn(),Ds("user")};$l=Ns,V&&(V.addEventListener("click",Ns),Ue.push(()=>{o.voiceRecognition?.provider?.type==="runtype"?(_.isVoiceActive()&&_.toggleVoice(),Pn()):Qn("system"),V&&V.removeEventListener("click",Ns)}));let Sf=l.on("assistant:complete",()=>{ec&&(Ge.active||Ge.manuallyDeactivated||ec==="assistant"&&!Ge.lastUserMessageWasVoice||setTimeout(()=>{!Ge.active&&!Ge.manuallyDeactivated&&(o.voiceRecognition?.provider?.type==="runtype"?_.toggleVoice().then(()=>{Ge.active=_.isVoiceActive(),kn("auto"),_.isVoiceActive()&&Uo()}):Ds("auto"))},600))});Ue.push(Sf);let Tf=l.on("action:resubmit",()=>{setTimeout(()=>{_&&!_.isStreaming()&&_.continueConversation()},100)});Ue.push(Tf);let Cc=()=>{ct(!F,"user")},Ht=null,Ut=null;if(M&&!J()){let{instance:i,element:g}=ll({config:o,plugins:r,onToggle:Cc});Ht=i,i||(Ut=g)}Ht?t.appendChild(Ht.element):Ut&&t.appendChild(Ut),Pr(),ti(),fc(),ui(_.isStreaming()),lc()||(Gt()==="follow"?Gn(!0):ac()),Gu(),z&&(!M||J()?setTimeout(()=>fi(),0):F&&setTimeout(()=>fi(),200));let Wr=()=>{if(J()){Ho(),Pr();return}let i=Wt(o),g=o.launcher?.sidebarMode??!1,m=i||g||(o.launcher?.fullHeight??!1),b=t.ownerDocument.defaultView??window,A=o.launcher?.mobileFullscreen??!0,L=o.launcher?.mobileBreakpoint??640,Q=b.innerWidth<=L,N=A&&Q&&M;try{if(N){br(),vr=Ms();return}let G=!1;j&&(j=!1,br(),G=!0);let oe=Ms();if(!G&&oe!==vr&&(br(),G=!0),vr=oe,G&&Za(),!M&&!i){me.style.height="",me.style.width="";return}if(!g&&!i){let ne=o?.launcher?.width??o?.launcherWidth??Nn;me.style.width=ne,me.style.maxWidth=ne}if(Ts(),!m){let fe=b.innerHeight,ne=64,xe=o.launcher?.heightOffset??0,je=Math.max(200,fe-ne),dt=Math.min(640,je),tt=Math.max(200,dt-xe);me.style.height=`${tt}px`}}finally{if(Ho(),Pr(),F&&M){let oe=(t.ownerDocument.defaultView??window).innerWidth<=(o.launcher?.mobileBreakpoint??640),fe=o.launcher?.sidebarMode??!1,ne=o.launcher?.mobileFullscreen??!0,xe=Wt(o)&&ne&&oe,je=fe||ne&&oe&&M||xe;if(je&&!Cn){let dt=t.getRootNode(),tt=dt instanceof ShadowRoot?dt.host:t.closest(".persona-host");tt&&!xn&&(xn=sl(tt,o.launcher?.zIndex??zt)),Cn=al(t.ownerDocument)}else je||(xn?.(),xn=null,Cn?.(),Cn=null)}}};Wr();let Ac=t.ownerDocument.defaultView??window;if(Ac.addEventListener("resize",Wr),Ue.push(()=>Ac.removeEventListener("resize",Wr)),typeof ResizeObserver<"u"){let i=new ResizeObserver(()=>{Ho()});i.observe($),Ue.push(()=>i.disconnect())}rn=le.scrollTop;let Sc=Tn(le),Mf=()=>{let i=le.getRootNode();return(typeof i.getSelection=="function"?i.getSelection():null)??le.ownerDocument.getSelection()},Ai=()=>Pp(Mf(),le),Tc=()=>{let i=le.scrollTop,g=Tn(le),m=g<Sc;if(Sc=g,!_n()){rn=i,Zt();return}let{action:b,nextLastScrollTop:A}=Ma({following:Yt.isFollowing(),currentScrollTop:i,lastScrollTop:rn,nearBottom:ao(le,Rs),userScrollThreshold:Vu,isAutoScrolling:sn||Ps||m,pauseOnUpwardScroll:!0,pauseWhenAwayFromBottom:!1,resumeRequiresDownwardScroll:!0});if(rn=A,b==="resume"){Ai()||Kn();return}b==="pause"&&Sr()};if(le.addEventListener("scroll",Tc,{passive:!0}),Ue.push(()=>le.removeEventListener("scroll",Tc)),typeof ResizeObserver<"u"){let i=new ResizeObserver(()=>{Zu(),ki(be)});i.observe(be),i.observe(le),Ue.push(()=>i.disconnect())}let Mc=()=>{_n()&&Yt.isFollowing()&&Ai()&&Sr()},Ec=le.ownerDocument;Ec.addEventListener("selectionchange",Mc),Ue.push(()=>{Ec.removeEventListener("selectionchange",Mc)});let Ef=new Set(["PageUp","PageDown","Home","End","ArrowUp","ArrowDown"]),kc=i=>{Dl()&&_n()&&Yt.isFollowing()&&Ef.has(i.key)&&Sr()},Lc=i=>{if(!Dl()||!_n()||!Yt.isFollowing())return;let g=i.target;g&&g.closest("a, button, [tabindex], input, textarea, select")&&Sr()};le.addEventListener("keydown",kc),le.addEventListener("focusin",Lc),Ue.push(()=>{le.removeEventListener("keydown",kc),le.removeEventListener("focusin",Lc)});let Pc=i=>{if(!_n())return;let g=Ea({following:Yt.isFollowing(),deltaY:i.deltaY,nearBottom:ao(le,Rs),resumeWhenNearBottom:!0});g==="pause"?Sr():g==="resume"&&!Ai()&&Kn()};le.addEventListener("wheel",Pc,{passive:!0}),Ue.push(()=>le.removeEventListener("wheel",Pc)),Mt.addEventListener("click",()=>{Tr(),le.scrollTop=le.scrollHeight,rn=le.scrollTop,Kn(),Gn(!0),Zt()}),Ue.push(()=>Mt.remove()),Ue.push(()=>{oc(),Tr()});let Ic=()=>{S&&(mo&&(S.removeEventListener("click",mo),mo=null),D()?(S.style.display="",mo=()=>{ct(!1,"user")},S.addEventListener("click",mo)):S.style.display="none")};Ic(),(()=>{let{clearChatButton:i}=Le;i&&i.addEventListener("click",()=>{_.clearMessages(),ho.clear(),Kn(),Jo(Le.composerOverlay);try{localStorage.removeItem(ur),o.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${ur}`)}catch(m){console.error("[AgentWidget] Failed to clear default localStorage:",m)}if(o.clearChatHistoryStorageKey&&o.clearChatHistoryStorageKey!==ur)try{localStorage.removeItem(o.clearChatHistoryStorageKey),o.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${o.clearChatHistoryStorageKey}`)}catch(m){console.error("[AgentWidget] Failed to clear custom localStorage:",m)}let g=new CustomEvent("persona:clear-chat",{detail:{timestamp:new Date().toISOString()}});window.dispatchEvent(g),d?.clear&&li(()=>d.clear(),"[AgentWidget] Failed to clear storage adapter:"),c={},k.syncFromMetadata(),Ae?.clear(),$e?.reset(),Fe?.update()})})(),X&&X.addEventListener("submit",vc);let Rc=[["keydown",vf],["input",bf],["paste",wf],["focus",$u]],Wc=i=>{if(i)for(let[g,m]of Rc)i.addEventListener(g,m)},Hc=i=>{if(i)for(let[g,m]of Rc)i.removeEventListener(g,m)};Wc(ve),Jt?.onComposerSwap((i,g)=>{Hc(g),ve=i,Wc(i)});let Bc=t.ownerDocument??document;Bc.addEventListener("keydown",wc,!0);let Dc="persona-attachment-drop-active",Hr=0,Si=()=>{Hr=0,ue.classList.remove(Dc)},jo=()=>o.attachments?.enabled===!0&&xt!==null,Fc=i=>{!qa(i.dataTransfer)||!jo()||(Hr++,Hr===1&&ue.classList.add(Dc))},Nc=i=>{!qa(i.dataTransfer)||!jo()||(Hr--,Hr<=0&&Si())},Oc=i=>{!qa(i.dataTransfer)||!jo()||(i.preventDefault(),i.dataTransfer.dropEffect="copy")},_c=i=>{if(!qa(i.dataTransfer)||!jo())return;i.preventDefault(),i.stopPropagation(),Si();let g=Array.from(i.dataTransfer.files??[]);g.length!==0&&xt.handleFiles(g)},Xn=!0;ue.addEventListener("dragenter",Fc,Xn),ue.addEventListener("dragleave",Nc,Xn),t.addEventListener("dragover",Oc,Xn),t.addEventListener("drop",_c,Xn);let Os=t.ownerDocument,$c=i=>{jo()&&i.preventDefault()},zc=i=>{jo()&&i.preventDefault()};Os.addEventListener("dragover",$c),Os.addEventListener("drop",zc),Ue.push(()=>{X&&X.removeEventListener("submit",vc),Hc(ve),Bc.removeEventListener("keydown",wc,!0),Jt?.destroy()}),Ue.push(()=>{ue.removeEventListener("dragenter",Fc,Xn),ue.removeEventListener("dragleave",Nc,Xn),t.removeEventListener("dragover",Oc,Xn),t.removeEventListener("drop",_c,Xn),Os.removeEventListener("dragover",$c),Os.removeEventListener("drop",zc),Si()}),Ue.push(()=>{_.cancel()}),Ht?Ue.push(()=>{Ht?.destroy()}):Ut&&Ue.push(()=>{Ut?.remove()});let Et={update(i){let g=o.toolCall,m=o.messageActions,b=o.layout?.messages,A=o.colorScheme,L=o.loadingIndicator,Q=o.iterationDisplay,N=o.features?.showReasoning,G=o.features?.showToolCalls,oe=o.features?.toolCallDisplay,fe=o.features?.reasoningDisplay,ne=o.features?.streamAnimation?.type;o=gu(o,i),Es(),Yr(t,o),gs(t,o),ms(t,o),En(),o.colorScheme!==A&&Zl();let xe=Al.getForInstance(o.plugins);r.length=0,r.push(...xe),M=o.launcher?.enabled??!0,P=o.launcher?.autoExpand??!1,ee=o.features?.showReasoning??!0,ce=o.features?.showToolCalls??!0,ae=o.features?.scrollToBottom??{};let je=Gt();Z=o.features?.scrollBehavior??{},je!==Gt()&&(Tr(),Kn()),_l(),Zt();let dt=Y;if(Y=o.features?.showEventStreamToggle??!1,Y&&!dt){if(Ae||(pe=new us(ye),Ae=new ps(Te,pe),$e=$e??new fs,pe.open().then(()=>Ae?.restore()).catch(()=>{}),_.setSSEEventCallback((te,Ve)=>{o.onSSEEvent?.(te,Ve),$e?.processEvent(te,Ve),Ae.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:te,timestamp:Date.now(),payload:JSON.stringify(Ve)})})),!et&&H){let te=o.features?.eventStream?.classNames,Ve="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"+(te?.toggleButton?" "+te.toggleButton:"");et=h("button",Ve),et.style.width="28px",et.style.height="28px",et.style.color=Vt.actionIconColor,et.type="button",et.setAttribute("aria-label","Event Stream"),et.title="Event Stream";let gt=re("activity","18px","currentColor",1.5);gt&&et.appendChild(gt);let nt=Le.clearChatButtonWrapper,st=Le.closeButtonWrapper,_t=nt||st;_t&&_t.parentNode===H?H.insertBefore(et,_t):H.appendChild(et),et.addEventListener("click",()=>{ot?hr():Qa()})}}else!Y&&dt&&(hr(),et&&(et.remove(),et=null),Ae?.clear(),pe?.destroy(),Ae=null,pe=null,$e?.reset(),$e=null);if(o.launcher?.enabled===!1&&Ht&&(Ht.destroy(),Ht=null),o.launcher?.enabled===!1&&Ut&&(Ut.remove(),Ut=null),o.launcher?.enabled!==!1&&!Ht&&!Ut){let{instance:te,element:Ve}=ll({config:o,plugins:r,onToggle:Cc});Ht=te,te||(Ut=Ve),t.appendChild(Ve)}Ht&&Ht.update(o),W&&o.launcher?.title!==void 0&&(W.textContent=o.launcher.title),q&&o.launcher?.subtitle!==void 0&&(q.textContent=o.launcher.subtitle);let tt=o.layout?.header;if(tt?.layout!==U&&H){let te=tt?Ha(o,tt,{showClose:D(),onClose:()=>ct(!1,"user")}):Po({config:o,showClose:D(),onClose:()=>ct(!1,"user")});ht.replaceHeader(te),H=ht.header.element,E=ht.header.iconHolder,W=ht.header.headerTitle,q=ht.header.headerSubtitle,S=ht.header.closeButton,U=tt?.layout}else if(tt){if(E&&(E.style.display=tt.showIcon===!1?"none":""),W&&(W.style.display=tt.showTitle===!1?"none":""),q&&(q.style.display=tt.showSubtitle===!1?"none":""),S){let te=D()&&tt.showCloseButton!==!1;S.style.display=te?"":"none"}if(Le.clearChatButtonWrapper){let te=tt.showClearChat;if(te!==void 0){Le.clearChatButtonWrapper.style.display=te?"":"none";let{closeButtonWrapper:Ve}=Le;Ve&&!Ve.classList.contains("persona-absolute")&&(te?Ve.classList.remove("persona-ml-auto"):Ve.classList.add("persona-ml-auto"))}}}let Ct=o.layout?.showHeader!==!1;H&&(H.style.display=Ct?"":"none");let kt=o.layout?.showFooter!==!1;$&&($.style.display=kt?"":"none"),Ho(),Zt(),M!==x?M?ct(P,"auto"):(F=!0,Pr()):P!==K&&ct(P,"auto"),K=P,x=M,Wr(),Ic();let Oe=JSON.stringify(o.toolCall)!==JSON.stringify(g),Me=JSON.stringify(o.messageActions)!==JSON.stringify(m),At=JSON.stringify(o.layout?.messages)!==JSON.stringify(b),pt=o.loadingIndicator?.render!==L?.render||o.loadingIndicator?.renderIdle!==L?.renderIdle||o.loadingIndicator?.showBubble!==L?.showBubble,jt=o.iterationDisplay!==Q,ut=(o.features?.showReasoning??!0)!==(N??!0)||(o.features?.showToolCalls??!0)!==(G??!0)||JSON.stringify(o.features?.toolCallDisplay)!==JSON.stringify(oe)||JSON.stringify(o.features?.reasoningDisplay)!==JSON.stringify(fe);(Oe||Me||At||pt||jt||ut)&&_&&(ni++,Mr(be,_.getMessages(),we));let Lt=o.features?.streamAnimation?.type;if(Lt!==ne&&Lt&&Lt!=="none"){let te=lr(Lt,o.features?.streamAnimation?.plugins);te&&Ia(te,t)}let Re=o.launcher??{},_e=Re.headerIconHidden??!1,Ft=o.layout?.header?.showIcon,Nt=_e||Ft===!1,wt=Re.headerIconName,lt=Re.headerIconSize??"48px";if(E){let te=ue.querySelector(".persona-border-b-persona-divider"),Ve=te?.querySelector(".persona-flex-col");if(Nt)E.style.display="none",te&&Ve&&!te.contains(Ve)&&te.insertBefore(Ve,te.firstChild);else{if(E.style.display="",E.style.height=lt,E.style.width=lt,te&&Ve&&(te.contains(E)?E.nextSibling!==Ve&&(E.remove(),te.insertBefore(E,Ve)):te.insertBefore(E,Ve)),wt){let nt=parseFloat(lt)||24,st=re(wt,nt*.6,"currentColor",1);st?E.replaceChildren(st):E.textContent=Re.agentIconText??"\u{1F4AC}"}else if(Re.iconUrl){let nt=E.querySelector("img");if(nt)nt.src=Re.iconUrl,nt.style.height=lt,nt.style.width=lt;else{let st=document.createElement("img");st.src=Re.iconUrl,st.alt="",st.className="persona-rounded-xl persona-object-cover",st.style.height=lt,st.style.width=lt,E.replaceChildren(st)}}else{let nt=E.querySelector("svg"),st=E.querySelector("img");(nt||st)&&E.replaceChildren(),E.textContent=Re.agentIconText??"\u{1F4AC}"}let gt=E.querySelector("img");gt&&(gt.style.height=lt,gt.style.width=lt)}}let ft=o.layout?.header?.showTitle,Ze=o.layout?.header?.showSubtitle;if(W&&(W.style.display=ft===!1?"none":""),q&&(q.style.display=Ze===!1?"none":""),S){let te=D()&&o.layout?.header?.showCloseButton!==!1;S.style.display=te?"":"none";let Ve=Re.closeButtonSize??"32px",gt=Re.closeButtonPlacement??"inline";S.style.height=Ve,S.style.width=Ve;let{closeButtonWrapper:nt}=Le,st=gt==="top-right",_t=nt?.classList.contains("persona-absolute");if(nt&&st!==_t)if(nt.remove(),st)nt.className="persona-absolute persona-top-4 persona-right-4 persona-z-50",ue.style.position="relative",ue.appendChild(nt);else{let Yn=Re.clearChat?.placement??"inline",Fr=Re.clearChat?.enabled??!0;nt.className=Fr&&Yn==="inline"?"":"persona-ml-auto";let Uc=ue.querySelector(".persona-border-b-persona-divider");Uc&&Uc.appendChild(nt)}if(S.style.color=Re.closeButtonColor||Vt.actionIconColor,Re.closeButtonBackgroundColor?(S.style.backgroundColor=Re.closeButtonBackgroundColor,S.classList.remove("hover:persona-bg-gray-100")):(S.style.backgroundColor="",S.classList.add("hover:persona-bg-gray-100")),Re.closeButtonBorderWidth||Re.closeButtonBorderColor){let Yn=Re.closeButtonBorderWidth||"0px",Fr=Re.closeButtonBorderColor||"transparent";S.style.border=`${Yn} solid ${Fr}`,S.classList.remove("persona-border-none")}else S.style.border="",S.classList.add("persona-border-none");Re.closeButtonBorderRadius?(S.style.borderRadius=Re.closeButtonBorderRadius,S.classList.remove("persona-rounded-full")):(S.style.borderRadius="",S.classList.add("persona-rounded-full")),Re.closeButtonPaddingX?(S.style.paddingLeft=Re.closeButtonPaddingX,S.style.paddingRight=Re.closeButtonPaddingX):(S.style.paddingLeft="",S.style.paddingRight=""),Re.closeButtonPaddingY?(S.style.paddingTop=Re.closeButtonPaddingY,S.style.paddingBottom=Re.closeButtonPaddingY):(S.style.paddingTop="",S.style.paddingBottom="");let tn=Re.closeButtonIconName??"x",bn=Re.closeButtonIconText??"\xD7";S.innerHTML="";let Bt=re(tn,"28px","currentColor",1);Bt?(Bt.style.display="block",S.appendChild(Bt)):S.textContent=bn;let $t=Re.closeButtonTooltipText??"Close chat",Rn=Re.closeButtonShowTooltip??!0;S.setAttribute("aria-label",$t),nt&&Dt({anchor:S,trigger:nt,text:()=>S?.getAttribute("aria-label")??$t,enabled:Rn})}let{clearChatButton:De,clearChatButtonWrapper:mt}=Le;if(De){let te=Re.clearChat??{},Ve=te.enabled??!0,gt=o.layout?.header?.showClearChat,nt=gt!==void 0?gt:Ve,st=te.placement??"inline";if(mt){mt.style.display=nt?"":"none";let{closeButtonWrapper:_t}=Le;!J()&&_t&&!_t.classList.contains("persona-absolute")&&(nt?_t.classList.remove("persona-ml-auto"):_t.classList.add("persona-ml-auto"));let tn=st==="top-right",bn=mt.classList.contains("persona-absolute");if(!J()&&tn!==bn&&nt){if(mt.remove(),tn)mt.className="persona-absolute persona-top-4 persona-z-50",mt.style.right="48px",ue.style.position="relative",ue.appendChild(mt);else{mt.className="persona-relative persona-ml-auto persona-clear-chat-button-wrapper",mt.style.right="";let $t=ue.querySelector(".persona-border-b-persona-divider"),Rn=Le.closeButtonWrapper;$t&&Rn&&Rn.parentElement===$t?$t.insertBefore(mt,Rn):$t&&$t.appendChild(mt)}let Bt=Le.closeButtonWrapper;Bt&&!Bt.classList.contains("persona-absolute")&&(tn?Bt.classList.add("persona-ml-auto"):Bt.classList.remove("persona-ml-auto"))}}if(nt){if(!J()){let Yn=te.size??"32px";De.style.height=Yn,De.style.width=Yn}let _t=te.iconName??"refresh-cw",tn=te.iconColor??"";De.style.color=tn||Vt.actionIconColor,De.innerHTML="";let bn=J()?"14px":"20px",Bt=re(_t,bn,"currentColor",1);if(Bt&&(Bt.style.display="block",De.appendChild(Bt)),te.backgroundColor?(De.style.backgroundColor=te.backgroundColor,De.classList.remove("hover:persona-bg-gray-100")):(De.style.backgroundColor="",De.classList.add("hover:persona-bg-gray-100")),te.borderWidth||te.borderColor){let Yn=te.borderWidth||"0px",Fr=te.borderColor||"transparent";De.style.border=`${Yn} solid ${Fr}`,De.classList.remove("persona-border-none")}else De.style.border="",De.classList.add("persona-border-none");te.borderRadius?(De.style.borderRadius=te.borderRadius,De.classList.remove("persona-rounded-full")):(De.style.borderRadius="",De.classList.add("persona-rounded-full")),te.paddingX?(De.style.paddingLeft=te.paddingX,De.style.paddingRight=te.paddingX):(De.style.paddingLeft="",De.style.paddingRight=""),te.paddingY?(De.style.paddingTop=te.paddingY,De.style.paddingBottom=te.paddingY):(De.style.paddingTop="",De.style.paddingBottom="");let $t=te.tooltipText??"Clear chat",Rn=te.showTooltip??!0;De.setAttribute("aria-label",$t),mt&&Dt({anchor:De,trigger:mt,text:()=>De?.getAttribute("aria-label")??$t,enabled:Rn})}}let Ot=o.actionParsers&&o.actionParsers.length?o.actionParsers:[Tl],cn=o.actionHandlers&&o.actionHandlers.length?o.actionHandlers:[hs.message,hs.messageAndClick];k=Ml({parsers:Ot,handlers:cn,getSessionMetadata:v,updateSessionMetadata:C,emit:l.emit,documentRef:typeof document<"u"?document:null}),we=Su(o,k,Ce),_.updateConfig(o),Mr(be,_.getMessages(),we),ti(),fc(),ui(_.isStreaming());let Br=o.voiceRecognition?.enabled===!0,_s=typeof window<"u"&&(typeof window.webkitSpeechRecognition<"u"||typeof window.SpeechRecognition<"u"),Tt=o.voiceRecognition?.provider?.type==="runtype";if(Br&&(_s||Tt))if(!V||!ze){let te=xf(o.voiceRecognition,o.sendButton);te&&(V=te.micButton,ze=te.micButtonWrapper,qe.insertBefore(ze,un),V.addEventListener("click",Ns),V.disabled=_.isStreaming())}else{let te=o.voiceRecognition??{},Ve=o.sendButton??{},gt=te.iconName??"mic",nt=Ve.size??"40px",st=te.iconSize??nt,_t=parseFloat(st)||24;V.style.width=st,V.style.height=st,V.style.minWidth=st,V.style.minHeight=st;let tn=te.iconColor??Ve.textColor;V.innerHTML="";let bn=re(gt,_t,tn||"currentColor",1.5);bn?V.appendChild(bn):V.textContent="\u{1F3A4}";let Bt=te.backgroundColor??Ve.backgroundColor;Bt?V.style.backgroundColor=Bt:V.style.backgroundColor="",tn?V.style.color=tn:V.style.color="var(--persona-text, #111827)",te.borderWidth?(V.style.borderWidth=te.borderWidth,V.style.borderStyle="solid"):(V.style.borderWidth="",V.style.borderStyle=""),te.borderColor?V.style.borderColor=te.borderColor:V.style.borderColor="",te.paddingX?(V.style.paddingLeft=te.paddingX,V.style.paddingRight=te.paddingX):(V.style.paddingLeft="",V.style.paddingRight=""),te.paddingY?(V.style.paddingTop=te.paddingY,V.style.paddingBottom=te.paddingY):(V.style.paddingTop="",V.style.paddingBottom="");let $t=te.tooltipText??"Start voice recognition",Rn=te.showTooltip??!1;V.setAttribute("aria-label",$t),ze&&Dt({anchor:V,trigger:ze,text:()=>V?.getAttribute("aria-label")??$t,enabled:Rn}),ze.style.display="",V.disabled=_.isStreaming()}else V&&ze&&(ze.style.display="none",o.voiceRecognition?.provider?.type==="runtype"?_.isVoiceActive()&&_.toggleVoice():An&&Qn());if(o.attachments?.enabled===!0){if(!We||!Se){let te=o.attachments??{},gt=(o.sendButton??{}).size??"40px";Je||(Je=h("div","persona-attachment-previews persona-flex persona-flex-wrap persona-gap-2 persona-mb-2"),Je.style.display="none",X.insertBefore(Je,ve)),Pe||(Pe=document.createElement("input"),Pe.type="file",Pe.accept=(te.allowedTypes??Fn).join(","),Pe.multiple=(te.maxFiles??4)>1,Pe.style.display="none",Pe.setAttribute("aria-label","Attach files"),X.insertBefore(Pe,ve)),We=h("div","persona-send-button-wrapper"),Se=h("button","persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-attachment-button"),Se.type="button",Se.setAttribute("aria-label",te.buttonTooltipText??"Attach file");let nt=te.buttonIconName??"paperclip",st=gt,_t=parseFloat(st)||40,tn=Math.round(_t*.6);Se.style.width=st,Se.style.height=st,Se.style.minWidth=st,Se.style.minHeight=st,Se.style.fontSize="18px",Se.style.lineHeight="1";let bn=re(nt,tn,"currentColor",1.5);bn?Se.appendChild(bn):Se.textContent="\u{1F4CE}",Se.addEventListener("click",$t=>{$t.preventDefault(),Pe?.click()}),We.appendChild(Se);let Bt=te.buttonTooltipText??"Attach file";Dt({anchor:Se,trigger:We,text:()=>Se?.getAttribute("aria-label")??Bt}),ke?ke.append(We):X.appendChild(We),!xt&&Pe&&Je&&(xt=Qr.fromConfig(te),xt.setPreviewsContainer(Je),Pe.addEventListener("change",async()=>{xt&&Pe?.files&&(await xt.handleFileSelect(Pe.files),Pe.value="")}))}else{We.style.display="";let te=o.attachments??{};Pe&&(Pe.accept=(te.allowedTypes??Fn).join(","),Pe.multiple=(te.maxFiles??4)>1),xt&&xt.updateConfig({allowedTypes:te.allowedTypes,maxFileSize:te.maxFileSize,maxFiles:te.maxFiles})}if(ue.querySelector(".persona-attachment-drop-overlay")?.remove(),ue.appendChild(Tu(o.attachments?.dropOverlay)),Se){let te=o.attachments??{},Ve=te.buttonTooltipText??"Attach file";Se.setAttribute("aria-label",Ve),Se.textContent="";let gt=parseFloat(o.sendButton?.size??"40px")||40,nt=re(te.buttonIconName??"paperclip",Math.round(gt*.6),"currentColor",1.5);nt?Se.appendChild(nt):Se.textContent="\u{1F4CE}",We&&Dt({anchor:Se,trigger:We,text:()=>Se?.getAttribute("aria-label")??Ve})}}else We&&(We.style.display="none"),xt&&xt.clearAttachments(),ue.querySelector(".persona-attachment-drop-overlay")?.remove();let Rt=o.sendButton??{},Dr=Rt.useIcon??!1,zs=Rt.iconText??"\u2191",qo=Rt.iconName,Us=Rt.tooltipText??"Send message",Ti=Rt.showTooltip??!1,Co=Rt.size??"40px",In=Rt.backgroundColor,Ao=Rt.textColor;if(Dr){if(de.style.width=Co,de.style.height=Co,de.style.minWidth=Co,de.style.minHeight=Co,de.style.fontSize="18px",de.style.lineHeight="1",Ao?de.style.color=Ao:de.style.color="var(--persona-button-primary-fg, #ffffff)",!_.isStreaming())if(de.innerHTML="",qo){let te=parseFloat(Co)||24,Ve=Ao?.trim()||"currentColor",gt=re(qo,te,Ve,2);gt?de.appendChild(gt):de.textContent=zs}else de.textContent=zs;de.className="persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer",In?(de.style.backgroundColor=In,de.classList.remove("persona-bg-persona-primary")):(de.style.backgroundColor="",de.classList.add("persona-bg-persona-primary"))}else de.textContent=o.copy?.sendButtonLabel??"Send",de.style.width="",de.style.height="",de.style.minWidth="",de.style.minHeight="",de.style.fontSize="",de.style.lineHeight="",de.className="persona-rounded-button persona-bg-persona-accent persona-px-4 persona-py-2 persona-text-sm persona-font-semibold persona-text-white disabled:persona-opacity-50 persona-cursor-pointer",In?(de.style.backgroundColor=In,de.classList.remove("persona-bg-persona-accent")):de.classList.add("persona-bg-persona-accent"),Ao?de.style.color=Ao:de.classList.add("persona-text-white");Rt.borderWidth?(de.style.borderWidth=Rt.borderWidth,de.style.borderStyle="solid"):(de.style.borderWidth="",de.style.borderStyle=""),Rt.borderColor?de.style.borderColor=Rt.borderColor:de.style.borderColor="",Rt.paddingX?(de.style.paddingLeft=Rt.paddingX,de.style.paddingRight=Rt.paddingX):(de.style.paddingLeft="",de.style.paddingRight=""),Rt.paddingY?(de.style.paddingTop=Rt.paddingY,de.style.paddingBottom=Rt.paddingY):(de.style.paddingTop="",de.style.paddingBottom=""),_.isStreaming()||de.setAttribute("aria-label",Us),un&&Dt({anchor:de,trigger:un,text:()=>de.getAttribute("aria-label")??Us,enabled:Ti});let js=o.layout?.contentMaxWidth??(J()?o.launcher?.composerBar?.contentMaxWidth??"720px":void 0);js?(be.style.maxWidth=js,be.style.marginLeft="auto",be.style.marginRight="auto",be.style.width="100%",X&&(X.style.maxWidth=js,X.style.marginLeft="auto",X.style.marginRight="auto"),yt&&(yt.style.maxWidth=js,yt.style.marginLeft="auto",yt.style.marginRight="auto")):(be.style.maxWidth="",be.style.marginLeft="",be.style.marginRight="",be.style.width="",X&&(X.style.maxWidth="",X.style.marginLeft="",X.style.marginRight=""),yt&&(yt.style.maxWidth="",yt.style.marginLeft="",yt.style.marginRight=""));let Jn=o.statusIndicator??{},kf=Jn.visible??!0;if(T.style.display=kf?"":"none",_){let te=_.getStatus();St(T,(gt=>gt==="idle"?Jn.idleText??Pt.idle:gt==="connecting"?Jn.connectingText??Pt.connecting:gt==="connected"?Jn.connectedText??Pt.connected:gt==="error"?Jn.errorText??Pt.error:Pt[gt])(te),Jn,te)}T.classList.remove("persona-text-left","persona-text-center","persona-text-right");let Lf=Jn.align==="left"?"persona-text-left":Jn.align==="center"?"persona-text-center":"persona-text-right";T.classList.add(Lf)},open(){D()&&ct(!0,"api")},close(){D()&&ct(!1,"api")},toggle(){D()&&ct(!F,"api")},reconnect(){_.reconnectNow()},clearChat(){Mn=!1,_.clearMessages(),ho.clear(),Kn();try{localStorage.removeItem(ur),o.debug&&console.log(`[AgentWidget] Cleared default localStorage key: ${ur}`)}catch(g){console.error("[AgentWidget] Failed to clear default localStorage:",g)}if(o.clearChatHistoryStorageKey&&o.clearChatHistoryStorageKey!==ur)try{localStorage.removeItem(o.clearChatHistoryStorageKey),o.debug&&console.log(`[AgentWidget] Cleared custom localStorage key: ${o.clearChatHistoryStorageKey}`)}catch(g){console.error("[AgentWidget] Failed to clear custom localStorage:",g)}let i=new CustomEvent("persona:clear-chat",{detail:{timestamp:new Date().toISOString()}});window.dispatchEvent(i),d?.clear&&li(()=>d.clear(),"[AgentWidget] Failed to clear storage adapter:"),c={},k.syncFromMetadata(),Ae?.clear(),$e?.reset(),Fe?.update()},setMessage(i){return!ve||_.isStreaming()?!1:(!F&&D()&&ct(!0,"system"),ve.value=i,ve.dispatchEvent(new Event("input",{bubbles:!0})),!0)},submitMessage(i){if(_.isStreaming())return!1;let g=i?.trim()||ve.value.trim();return g?(!F&&D()&&ct(!0,"system"),ve.value="",ve.style.height="auto",_.sendMessage(g),!0):!1},startVoiceRecognition(){return _.isStreaming()?!1:o.voiceRecognition?.provider?.type==="runtype"?(_.isVoiceActive()||(!F&&D()&&ct(!0,"system"),Ge.manuallyDeactivated=!1,yn(),_.toggleVoice().then(()=>{Ge.active=_.isVoiceActive(),kn("user"),_.isVoiceActive()&&Uo()})),!0):An?!0:xc()?(!F&&D()&&ct(!0,"system"),Ge.manuallyDeactivated=!1,yn(),Ds("user"),!0):!1},stopVoiceRecognition(){return o.voiceRecognition?.provider?.type==="runtype"?_.isVoiceActive()?(_.toggleVoice().then(()=>{Ge.active=!1,Ge.manuallyDeactivated=!0,yn(),kn("user"),Pn()}),!0):!1:An?(Ge.manuallyDeactivated=!0,yn(),Qn("user"),!0):!1},injectMessage(i){return!F&&D()&&ct(!0,"system"),_.injectMessage(i)},injectAssistantMessage(i){!F&&D()&&ct(!0,"system");let g=_.injectAssistantMessage(i);return ie&&(ie=!1,ge&&(clearTimeout(ge),ge=null),setTimeout(()=>{_&&!_.isStreaming()&&_.continueConversation()},100)),g},injectUserMessage(i){return!F&&D()&&ct(!0,"system"),_.injectUserMessage(i)},injectSystemMessage(i){return!F&&D()&&ct(!0,"system"),_.injectSystemMessage(i)},injectMessageBatch(i){return!F&&D()&&ct(!0,"system"),_.injectMessageBatch(i)},injectComponentDirective(i){return!F&&D()&&ct(!0,"system"),_.injectComponentDirective(i)},injectTestMessage(i){!F&&D()&&ct(!0,"system"),_.injectTestEvent(i)},async connectStream(i,g){return _.connectStream(i,g)},__pushEventStreamEvent(i){Ae&&($e?.processEvent(i.type,i.payload),Ae.push({id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:i.type,timestamp:Date.now(),payload:JSON.stringify(i.payload)}))},showEventStream(){!Y||!Ae||Qa()},hideEventStream(){ot&&hr()},isEventStreamVisible(){return ot},showArtifacts(){Kt(o)&&(Mn=!1,Bo=!0,En(),Ye?.setMobileOpen(!0))},hideArtifacts(){Kt(o)&&(Mn=!0,En())},upsertArtifact(i){return Kt(o)?(So(o.features?.artifacts,i.artifactType)==="panel"&&(Mn=!1,Bo=!0),_.upsertArtifact(i)):null},selectArtifact(i){Kt(o)&&_.selectArtifact(i)},clearArtifacts(){Kt(o)&&_.clearArtifacts()},getArtifacts(){return _?.getArtifacts()??[]},getSelectedArtifactId(){return _?.getSelectedArtifactId()??null},focusInput(){return M&&!F&&!J()||!ve?!1:(ve.focus(),!0)},async resolveApproval(i,g,m){let A=_.getMessages().find(L=>L.variant==="approval"&&L.approval?.id===i);if(!A?.approval)throw new Error(`Approval not found: ${i}`);if(A.approval.toolType==="webmcp"){_.resolveWebMcpApproval(A.id,g);return}return _.resolveApproval(A.approval,g,m)},getMessages(){return _.getMessages()},getStatus(){return _.getStatus()},getPersistentMetadata(){return{...c}},updatePersistentMetadata(i){C(i)},on(i,g){return l.on(i,g)},off(i,g){l.off(i,g)},isOpen(){return D()&&F},isVoiceActive(){return Ge.active},toggleReadAloud(i){_.toggleReadAloud(i)},stopReadAloud(){_.stopSpeaking()},getReadAloudState(i){return _.getReadAloudState(i)},onReadAloudChange(i){return _.onReadAloudChange(i)},getState(){return{open:D()&&F,launcherEnabled:M,voiceActive:Ge.active,streaming:_.isStreaming()}},showCSATFeedback(i){!F&&D()&&ct(!0,"system");let g=be.querySelector(".persona-feedback-container");g&&g.remove();let m=xu({onSubmit:async(b,A)=>{_.isClientTokenMode()&&await _.submitCSATFeedback(b,A),i?.onSubmit?.(b,A)},onDismiss:i?.onDismiss,...i});be.appendChild(m),m.scrollIntoView({behavior:"smooth",block:"end"})},showNPSFeedback(i){!F&&D()&&ct(!0,"system");let g=be.querySelector(".persona-feedback-container");g&&g.remove();let m=Cu({onSubmit:async(b,A)=>{_.isClientTokenMode()&&await _.submitNPSFeedback(b,A),i?.onSubmit?.(b,A)},onDismiss:i?.onDismiss,...i});be.appendChild(m),m.scrollIntoView({behavior:"smooth",block:"end"})},async submitCSATFeedback(i,g){return _.submitCSATFeedback(i,g)},async submitNPSFeedback(i,g){return _.submitNPSFeedback(i,g)},destroy(){hi(),wo!=null&&(clearInterval(wo),wo=null),Ue.forEach(i=>i()),Be.remove(),Ke?.remove(),Ht?.destroy(),Ut?.remove(),mo&&S.removeEventListener("click",mo)}};if(((n?.debugTools??!1)||!!o.debug)&&typeof window<"u"){let i=window.AgentWidgetBrowser,g={controller:Et,getMessages:Et.getMessages,getStatus:Et.getStatus,getMetadata:Et.getPersistentMetadata,updateMetadata:Et.updatePersistentMetadata,clearHistory:()=>Et.clearChat(),setVoiceActive:m=>m?Et.startVoiceRecognition():Et.stopVoiceRecognition()};window.AgentWidgetBrowser=g,Ue.push(()=>{window.AgentWidgetBrowser===g&&(window.AgentWidgetBrowser=i)})}if(typeof window<"u"){let i=t.getAttribute("data-persona-instance")||t.id||"persona-"+Math.random().toString(36).slice(2,8),g=N=>{let G=N.detail;(!G?.instanceId||G.instanceId===i)&&Et.focusInput()};if(window.addEventListener("persona:focusInput",g),Ue.push(()=>{window.removeEventListener("persona:focusInput",g)}),Y){let N=oe=>{let fe=oe.detail;(!fe?.instanceId||fe.instanceId===i)&&Et.showEventStream()},G=oe=>{let fe=oe.detail;(!fe?.instanceId||fe.instanceId===i)&&Et.hideEventStream()};window.addEventListener("persona:showEventStream",N),window.addEventListener("persona:hideEventStream",G),Ue.push(()=>{window.removeEventListener("persona:showEventStream",N),window.removeEventListener("persona:hideEventStream",G)})}let m=N=>{let G=N.detail;(!G?.instanceId||G.instanceId===i)&&Et.showArtifacts()},b=N=>{let G=N.detail;(!G?.instanceId||G.instanceId===i)&&Et.hideArtifacts()},A=N=>{let G=N.detail;G?.instanceId&&G.instanceId!==i||G?.artifact&&Et.upsertArtifact(G.artifact)},L=N=>{let G=N.detail;G?.instanceId&&G.instanceId!==i||typeof G?.id=="string"&&Et.selectArtifact(G.id)},Q=N=>{let G=N.detail;(!G?.instanceId||G.instanceId===i)&&Et.clearArtifacts()};window.addEventListener("persona:showArtifacts",m),window.addEventListener("persona:hideArtifacts",b),window.addEventListener("persona:upsertArtifact",A),window.addEventListener("persona:selectArtifact",L),window.addEventListener("persona:clearArtifacts",Q),Ue.push(()=>{window.removeEventListener("persona:showArtifacts",m),window.removeEventListener("persona:hideArtifacts",b),window.removeEventListener("persona:upsertArtifact",A),window.removeEventListener("persona:selectArtifact",L),window.removeEventListener("persona:clearArtifacts",Q)})}let ln=Ty(o.persistState);if(ln&&D()){let i=My(ln.storage),g=`${ln.keyPrefix}widget-open`,m=`${ln.keyPrefix}widget-voice`,b=`${ln.keyPrefix}widget-voice-mode`;if(i){let A=ln.persist?.openState&&i.getItem(g)==="true",L=ln.persist?.voiceState&&i.getItem(m)==="true",Q=ln.persist?.voiceState&&i.getItem(b)==="true";if(A&&setTimeout(()=>{Et.open(),setTimeout(()=>{if(L||Q)Et.startVoiceRecognition();else if(ln.persist?.focusInput){let N=t.querySelector("textarea");N&&N.focus()}},100)},0),ln.persist?.openState&&(l.on("widget:opened",()=>{i.setItem(g,"true")}),l.on("widget:closed",()=>{i.setItem(g,"false")})),ln.persist?.voiceState&&(l.on("voice:state",N=>{i.setItem(m,N.active?"true":"false")}),l.on("user:message",N=>{i.setItem(b,N.viaVoice?"true":"false")})),ln.clearOnChatClear){let N=()=>{i.removeItem(g),i.removeItem(m),i.removeItem(b)},G=()=>N();window.addEventListener("persona:clear-chat",G),Ue.push(()=>{window.removeEventListener("persona:clear-chat",G)})}}}if(w&&D()&&setTimeout(()=>{Et.open()},0),_o(),!qu){let i=Vs(()=>{_&&(ni++,ho.clear(),Mr(be,_.getMessages(),we))});Ue.push(i)}return Et};var Eu=(t,e)=>{let n=t.trim(),o=/^(\d+(?:\.\d+)?)px$/i.exec(n);if(o)return Math.max(0,parseFloat(o[1]));let r=/^(\d+(?:\.\d+)?)%$/i.exec(n);return r?Math.max(0,e*parseFloat(r[1])/100):420},Ly=(t,e)=>{if(e===!1){t.style.maxHeight="";return}t.style.maxHeight="100vh",t.style.maxHeight=e},Py=(t,e)=>{e===!1?(t.style.position="relative",t.style.top=""):(t.style.position="sticky",t.style.top="0")},Iy=(t,e)=>{let n=t.parentElement;if(!n)return;let o=t.ownerDocument.createElement("div");o.style.cssText="width:0;height:1px;margin:0;padding:0;border:0;visibility:hidden;",n.appendChild(o);let r=o.offsetHeight>0;o.style.height="100%";let s=o.offsetHeight>0;o.remove(),!(!r||s)&&console.warn("[AgentWidget] Docked mode: no ancestor of the dock target provides a definite height, so the dock panel cannot size to your layout."+(e.maxHeight===!1?" The viewport guard is disabled (dock.maxHeight: false), so the panel will grow with the conversation and overflow the viewport.":` Falling back to clamping the panel to ${e.maxHeight} (configurable via launcher.dock.maxHeight).`)+" To size the panel from your layout instead, give the height chain a definite height (e.g. `html, body { height: 100% }`) down to the dock target's parent.")},ku=(t,e)=>{let n=e?.launcher?.enabled??!0;t.className="persona-host",t.style.height=n?"":"100%",t.style.display=n?"":"flex",t.style.flexDirection=n?"":"column",t.style.flex=n?"":"1 1 auto",t.style.minHeight=n?"":"0",t.style.minWidth=n?"":"0"},Rl=t=>{t.style.position="",t.style.top="",t.style.bottom="",t.style.left="",t.style.right="",t.style.zIndex="",t.style.transform="",t.style.pointerEvents=""},Lu=t=>{t.style.inset="",t.style.width="",t.style.height="",t.style.maxWidth="",t.style.maxHeight="",t.style.minWidth="",Rl(t)},Ll=t=>{t.style.transition=""},Pl=t=>{t.style.display="",t.style.flexDirection="",t.style.flex="",t.style.minHeight="",t.style.minWidth="",t.style.width="",t.style.height="",t.style.alignItems="",t.style.transition="",t.style.transform="",t.style.marginLeft=""},Il=t=>{t.style.width="",t.style.maxWidth="",t.style.minWidth="",t.style.flex="1 1 auto"},Va=(t,e)=>{t.style.width="",t.style.minWidth="0",t.style.maxWidth="",t.style.boxSizing="",e.style.alignItems=""},Ry=(t,e,n,o,r)=>{r?n.parentElement!==e&&(t.replaceChildren(),e.replaceChildren(n,o),t.appendChild(e)):n.parentElement===e&&(e.replaceChildren(),t.appendChild(n),t.appendChild(o))},Wy=(t,e,n,o,r,s)=>{let a=s?e:t;r==="left"?a.firstElementChild!==o&&a.replaceChildren(o,n):a.lastElementChild!==o&&a.replaceChildren(n,o)},Hy=t=>{let e=or(t),n=e.components?.panel,o=(r,s)=>r==null||r===""?s:qt(e,r)??r;return{inset:o(n?.inset,ga),canvasBackground:o(n?.canvasBackground,ma)}},Pu=(t,e,n,o)=>{if(!e){t.style.padding="",t.style.background="",t.style.boxSizing="";return}t.style.boxSizing="border-box",t.style.padding=n,t.style.background=o},By=(t,e,n,o,r,s,a,l)=>{let p=pn(s),d=p.reveal==="push",c=l!=null,u=l?.inset??"",w=l?.canvasBackground??"";Ry(t,e,n,o,d),Wy(t,e,n,o,p.side,d),t.dataset.personaHostLayout="docked",t.dataset.personaDockSide=p.side,t.dataset.personaDockOpen=a?"true":"false",t.style.width="100%",t.style.maxWidth="100%",t.style.minWidth="0",t.style.height="100%",t.style.minHeight="0",t.style.position="relative",n.style.display="flex",n.style.flexDirection="column",n.style.minHeight="0",n.style.position="relative",r.className="persona-host",r.style.height="100%",r.style.minHeight="0",r.style.minWidth="0",r.style.display="flex",r.style.flexDirection="column",r.style.flex="1 1 auto";let f=t.ownerDocument.defaultView,v=s?.launcher?.mobileFullscreen??!0,C=s?.launcher?.mobileBreakpoint??640,I=f!=null?f.innerWidth<=C:!1;if(v&&I&&a){t.dataset.personaDockMobileFullscreen="true",t.removeAttribute("data-persona-dock-reveal"),Pl(e),Ll(o),Lu(o),Il(n),Va(r,o),Pu(o,!1,"",""),t.style.display="flex",t.style.flexDirection="column",t.style.alignItems="stretch",t.style.overflow="hidden",n.style.flex="1 1 auto",n.style.width="100%",n.style.minWidth="0",o.style.display="flex",o.style.flexDirection="column",o.style.position="fixed",o.style.inset="0",o.style.width="100%",o.style.height="100%",o.style.maxWidth="100%",o.style.minWidth="0",o.style.minHeight="0",o.style.overflow="hidden",o.style.zIndex=String(s?.launcher?.zIndex??zt),o.style.transform="none",o.style.transition="none",o.style.pointerEvents="auto",o.style.flex="none",d&&(e.style.display="flex",e.style.flexDirection="column",e.style.width="100%",e.style.height="100%",e.style.minHeight="0",e.style.minWidth="0",e.style.flex="1 1 auto",e.style.alignItems="stretch",e.style.transform="none",e.style.marginLeft="0",e.style.transition="none",n.style.flex="1 1 auto",n.style.width="100%",n.style.maxWidth="100%",n.style.minWidth="0");return}if(t.removeAttribute("data-persona-dock-mobile-fullscreen"),Lu(o),Ly(o,p.maxHeight),Pu(o,c&&a,u,w),p.reveal==="overlay"){t.style.display="flex",t.style.flexDirection="row",t.style.alignItems="stretch",t.style.overflow="hidden",t.dataset.personaDockReveal="overlay",Pl(e),Ll(o),Il(n),Va(r,o);let k=p.animate?"transform 180ms ease":"none",M=p.side==="right"?"translateX(100%)":"translateX(-100%)",P=a?"translateX(0)":M;o.style.display="flex",o.style.flexDirection="column",o.style.flex="none",o.style.position="absolute",o.style.top="0",o.style.bottom="0",o.style.width=p.width,o.style.maxWidth=p.width,o.style.minWidth=p.width,o.style.minHeight="0",o.style.overflow="hidden",o.style.transition=k,o.style.transform=P,o.style.pointerEvents=a?"auto":"none",o.style.zIndex="2",p.side==="right"?(o.style.right="0",o.style.left=""):(o.style.left="0",o.style.right="")}else if(p.reveal==="push"){t.style.display="flex",t.style.flexDirection="row",t.style.alignItems="stretch",t.style.overflow="hidden",t.dataset.personaDockReveal="push",Ll(o),Rl(o),Va(r,o);let k=Eu(p.width,t.clientWidth),M=Math.max(0,t.clientWidth),P=p.animate?"margin-left 180ms ease":"none",z=p.side==="right"?a?-k:0:a?0:-k;e.style.display="flex",e.style.flexDirection="row",e.style.flex="0 0 auto",e.style.minHeight="0",e.style.minWidth="0",e.style.alignItems="stretch",e.style.height="100%",e.style.width=`${M+k}px`,e.style.transition=P,e.style.marginLeft=`${z}px`,e.style.transform="",n.style.flex="0 0 auto",n.style.flexGrow="0",n.style.flexShrink="0",n.style.width=`${M}px`,n.style.maxWidth=`${M}px`,n.style.minWidth=`${M}px`,o.style.display="flex",o.style.flexDirection="column",o.style.flex="0 0 auto",o.style.flexShrink="0",o.style.width=p.width,o.style.minWidth=p.width,o.style.maxWidth=p.width,o.style.position="relative",o.style.top="",o.style.overflow="hidden",o.style.transition="none",o.style.pointerEvents=a?"auto":"none"}else{t.style.display="flex",t.style.flexDirection="row",t.style.alignItems="stretch",t.style.overflow="",Pl(e),Rl(o),Il(n),Va(r,o);let k=p.reveal==="emerge";k?t.dataset.personaDockReveal="emerge":t.removeAttribute("data-persona-dock-reveal");let M=a?p.width:"0px",P=p.animate?`width 180ms ease, min-width 180ms ease, max-width 180ms ease, flex-basis 180ms ease${c?", padding 180ms ease":""}`:"none",z=!a;if(o.style.display="flex",o.style.flexDirection="column",o.style.flex=`0 0 ${M}`,o.style.width=M,o.style.maxWidth=M,o.style.minWidth=M,o.style.minHeight="0",Py(o,p.maxHeight),o.style.overflow=k||z?"hidden":"visible",o.style.transition=P,k){o.style.alignItems=p.side==="right"?"flex-start":"flex-end";let K=c?`calc(${Eu(p.width,t.clientWidth)}px - (2 * ${u}))`:p.width;r.style.width=K,r.style.minWidth=K,r.style.maxWidth=K,r.style.boxSizing="border-box"}}},Dy=(t,e)=>{let n=t.ownerDocument.createElement("div");return ku(n,e),t.appendChild(n),{mode:"direct",host:n,shell:null,syncWidgetState:()=>{},updateConfig(o){ku(n,o)},destroy(){n.remove()}}},Fy=(t,e)=>{let{ownerDocument:n}=t,o=t.parentElement;if(!o)throw new Error("Docked widget target must be attached to the DOM");let r=t.tagName.toUpperCase();if(r==="BODY"||r==="HTML")throw new Error('Docked widget target must be a concrete container element, not "body" or "html"');let s=t.nextSibling,a=n.createElement("div"),l=n.createElement("div"),p=n.createElement("div"),d=n.createElement("aside"),c=n.createElement("div"),u=e?.launcher?.enabled??!0?e?.launcher?.autoExpand??!1:!0;l.dataset.personaDockRole="push-track",p.dataset.personaDockRole="content",d.dataset.personaDockRole="panel",c.dataset.personaDockRole="host",d.appendChild(c),o.insertBefore(a,t),p.appendChild(t);let w=null,f=()=>{w?.disconnect(),w=null},v=null,C=()=>{v=e?.launcher?.detachedPanel===!0?Hy(e):null};C();let I=()=>{By(a,l,p,d,c,e,u,v)},B=null,k=()=>{B?.(),B=null,!(e?.launcher?.detachedPanel!==!0||e?.colorScheme!=="auto")&&(B=ha(()=>{C(),I()}))},M=()=>{f(),pn(e).reveal==="push"&&(typeof ResizeObserver>"u"||(w=new ResizeObserver(()=>{I()}),w.observe(a)))},P=!1,z=()=>{I(),M(),u&&!P&&a.dataset.personaDockMobileFullscreen!=="true"&&(P=!0,Iy(a,pn(e)))},K=a.ownerDocument.defaultView,x=()=>{z()};return K?.addEventListener("resize",x),pn(e).reveal==="push"?(l.appendChild(p),l.appendChild(d),a.appendChild(l)):(a.appendChild(p),a.appendChild(d)),z(),k(),{mode:"docked",host:c,shell:a,syncWidgetState(U){let j=U.launcherEnabled?U.open:!0;u!==j&&(u=j,z())},updateConfig(U){e=U,(e?.launcher?.enabled??!0)===!1&&(u=!0),C(),z(),k()},destroy(){K?.removeEventListener("resize",x),B?.(),B=null,f(),o.isConnected&&(s&&s.parentNode===o?o.insertBefore(t,s):o.appendChild(t)),a.remove()}}},Iu=(t,e)=>Wt(e)?Fy(t,e):Dy(t,e);var ys={desktop:{w:1280,h:800},mobile:{w:390,h:844}},Ru=.15,Wu=1.5,Wl="persona-preview-shell-theme",Ny={load:()=>null,save:()=>{},clear:()=>{}},Oy=["How do I get started?","Pricing & plans","Talk to support"];function Hl(t){return t.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function _y(t){return t==="dark"?{pageBg:"linear-gradient(180deg, #0f172a 0%, #020617 100%)",chromeBg:"#111827",chromeBorder:"#1f2937",dot:"#475569",skeleton:"#334155",cardBg:"#1e293b",cardBorder:"rgba(148, 163, 184, 0.16)"}:{pageBg:"linear-gradient(180deg, #ffffff 0%, #f8fafc 100%)",chromeBg:"#ffffff",chromeBorder:"#e5e7eb",dot:"#cbd5e1",skeleton:"#e2e8f0",cardBg:"#e2e8f0",cardBorder:"rgba(148, 163, 184, 0.18)"}}function Hu(t){let e=_y(t);return`* { box-sizing: border-box; }
|
|
141
141
|
html, body { margin: 0; padding: 0; height: 100%; overflow: hidden; }
|
|
142
142
|
html { color-scheme: ${t}; }
|
|
143
143
|
body { font-family: system-ui, sans-serif; background: ${e.pageBg}; }
|
|
@@ -220,10 +220,10 @@ _Details: ${n.message}_`:o}var Gr=t=>({isError:!0,content:[{type:"text",text:t}]
|
|
|
220
220
|
<body>
|
|
221
221
|
${n?s:r}
|
|
222
222
|
</body>
|
|
223
|
-
</html>`}var Uy=()=>[{id:"preview-adv-1",role:"user",content:"Can you create the product and gather the docs?",createdAt:new Date(Date.now()-18e4).toISOString()},{id:"preview-adv-2",role:"assistant",content:"",createdAt:new Date(Date.now()-15e4).toISOString(),streaming:!0,variant:"reasoning",reasoning:{id:"preview-reasoning",status:"streaming",chunks:["Now let me get the Persona embed documentation and builtin tools catalog."]}},{id:"preview-adv-3",role:"assistant",content:"",createdAt:new Date(Date.now()-12e4).toISOString(),streaming:!0,variant:"tool",toolCall:{id:"preview-tool-1",name:"Load tools",status:"running",chunks:["Loaded tools, used Runtype integration"]}},{id:"preview-adv-4",role:"assistant",content:"",createdAt:new Date(Date.now()-9e4).toISOString(),streaming:!0,variant:"tool",toolCall:{id:"preview-tool-2",name:"Get platform documentation",status:"running",chunks:["Get platform documentation"]}},{id:"preview-adv-5",role:"assistant",content:"I loaded the tools and fetched the docs. Next I can assemble the product details.",createdAt:new Date(Date.now()-3e4).toISOString()}],jy=t=>!!(t?.features?.toolCallDisplay?.activePreview||t?.features?.toolCallDisplay?.grouped||t?.features?.toolCallDisplay?.collapsedMode&&t.features.toolCallDisplay.collapsedMode!=="tool-call"||t?.features?.reasoningDisplay?.activePreview);function qy(t,e,n=[]){return t==="home"?[{id:"preview-home-1",role:"assistant",content:"Hi there! How can we help today?",createdAt:new Date().toISOString()}]:t==="minimized"?[{id:"preview-min-1",role:"assistant",content:"We are here whenever you are ready.",createdAt:new Date().toISOString()}]:t==="artifact"?[{id:"preview-art-1",role:"user",content:"Can you draft a quick overview of the project?",createdAt:new Date(Date.now()-12e4).toISOString()},{id:"preview-art-2",role:"assistant",content:"Here\u2019s a project overview document for you.",createdAt:new Date(Date.now()-6e4).toISOString()}]:t==="conversation"&&jy(e)?[...Uy(),...n]:[{id:"preview-conv-1",role:"assistant",content:"Hello! How can I help you today?",createdAt:new Date(Date.now()-18e4).toISOString()},{id:"preview-conv-2",role:"user",content:"I want to customize the theme editor preview.",createdAt:new Date(Date.now()-12e4).toISOString()},{id:"preview-conv-3",role:"assistant",content:"Absolutely. Check out the [getting started guide](https://example.com) to see what\u2019s possible, then adjust colors and tokens to match your brand.",createdAt:new Date(Date.now()-6e4).toISOString()},...n]}function Vy(t,e,n=[]){let o={...t.launcher,enabled:!0,autoExpand:e!=="minimized"},r={...t,launcher:o,suggestionChips:e==="home"?t.suggestionChips?.length?t.suggestionChips:Oy:t.suggestionChips,initialMessages:qy(e,t,n),storageAdapter:Ny};return e==="artifact"&&(r.features={...r.features,artifacts:{...r.features?.artifacts,enabled:!0}}),r}function Ky(t,e){let n=t.theme?nr(t.theme,{validate:!1}):nr();return{...
|
|
223
|
+
</html>`}var Uy=()=>[{id:"preview-adv-1",role:"user",content:"Can you create the product and gather the docs?",createdAt:new Date(Date.now()-18e4).toISOString()},{id:"preview-adv-2",role:"assistant",content:"",createdAt:new Date(Date.now()-15e4).toISOString(),streaming:!0,variant:"reasoning",reasoning:{id:"preview-reasoning",status:"streaming",chunks:["Now let me get the Persona embed documentation and builtin tools catalog."]}},{id:"preview-adv-3",role:"assistant",content:"",createdAt:new Date(Date.now()-12e4).toISOString(),streaming:!0,variant:"tool",toolCall:{id:"preview-tool-1",name:"Load tools",status:"running",chunks:["Loaded tools, used Runtype integration"]}},{id:"preview-adv-4",role:"assistant",content:"",createdAt:new Date(Date.now()-9e4).toISOString(),streaming:!0,variant:"tool",toolCall:{id:"preview-tool-2",name:"Get platform documentation",status:"running",chunks:["Get platform documentation"]}},{id:"preview-adv-5",role:"assistant",content:"I loaded the tools and fetched the docs. Next I can assemble the product details.",createdAt:new Date(Date.now()-3e4).toISOString()}],jy=t=>!!(t?.features?.toolCallDisplay?.activePreview||t?.features?.toolCallDisplay?.grouped||t?.features?.toolCallDisplay?.collapsedMode&&t.features.toolCallDisplay.collapsedMode!=="tool-call"||t?.features?.reasoningDisplay?.activePreview);function qy(t,e,n=[]){return t==="home"?[{id:"preview-home-1",role:"assistant",content:"Hi there! How can we help today?",createdAt:new Date().toISOString()}]:t==="minimized"?[{id:"preview-min-1",role:"assistant",content:"We are here whenever you are ready.",createdAt:new Date().toISOString()}]:t==="artifact"?[{id:"preview-art-1",role:"user",content:"Can you draft a quick overview of the project?",createdAt:new Date(Date.now()-12e4).toISOString()},{id:"preview-art-2",role:"assistant",content:"Here\u2019s a project overview document for you.",createdAt:new Date(Date.now()-6e4).toISOString()}]:t==="conversation"&&jy(e)?[...Uy(),...n]:[{id:"preview-conv-1",role:"assistant",content:"Hello! How can I help you today?",createdAt:new Date(Date.now()-18e4).toISOString()},{id:"preview-conv-2",role:"user",content:"I want to customize the theme editor preview.",createdAt:new Date(Date.now()-12e4).toISOString()},{id:"preview-conv-3",role:"assistant",content:"Absolutely. Check out the [getting started guide](https://example.com) to see what\u2019s possible, then adjust colors and tokens to match your brand.",createdAt:new Date(Date.now()-6e4).toISOString()},...n]}function Vy(t,e,n=[]){let o={...t.launcher,enabled:!0,autoExpand:e!=="minimized"},r={...t,launcher:o,suggestionChips:e==="home"?t.suggestionChips?.length?t.suggestionChips:Oy:t.suggestionChips,initialMessages:qy(e,t,n),storageAdapter:Ny};return e==="artifact"&&(r.features={...r.features,artifacts:{...r.features?.artifacts,enabled:!0}}),r}function Ky(t,e){let n=t.theme?nr(t.theme,{validate:!1}):nr();return{...at,...t.config,theme:n,darkTheme:t.darkTheme,colorScheme:e??t.config?.colorScheme??"light"}}function fr(t,e){let n=t.scene??"conversation";return Vy(Ky(t,e),n,t.appendedMessages??[])}function Fu(t){let e=t.compareMode??"off",n=t.shellMode??"light";if(e==="themes")return[{mountId:"preview-light",label:"Light",config:fr(t,"light"),shellMode:"light"},{mountId:"preview-dark",label:"Dark",config:fr(t,"dark"),shellMode:"dark"}];if(e==="baseline"&&(t.baselineConfig||t.baselineTheme)){let o={...t,config:t.baselineConfig??t.config,theme:t.baselineTheme??t.theme,darkTheme:t.baselineDarkTheme??t.darkTheme};return[{mountId:"preview-baseline",label:"Baseline",config:fr(o,n),shellMode:n},{mountId:"preview-current",label:"Current",config:fr(t,n),shellMode:n}]}return[{mountId:"preview-current",label:"Current",config:fr(t,n),shellMode:n}]}function Gy(t,e){let n={...e},o=[],r=[],s=null,a=!1,l=1,p=1,d=0;function c(){return n.device??"desktop"}function u(){return n.zoom??l}function w(){let k=getComputedStyle(t),M=parseFloat(k.paddingLeft)+parseFloat(k.paddingRight),P=parseFloat(k.paddingTop)+parseFloat(k.paddingBottom),z=40,K=(n.compareMode??"off")!=="off",x=(t.clientWidth-M-z)/(K?2:1),U=t.clientHeight-P-z;if(x<=0||U<=0)return 1;let j=ys[c()]??ys.desktop;return Math.min(x/j.w,U/j.h,1)}function f(){l=w();let k=Math.max(Ru,Math.min(Wu,u()));p=k;let M=Array.from(t.querySelectorAll(".preview-iframe-wrapper"));for(let P of M){let z=P.dataset.device??"desktop",K=ys[z]??ys.desktop;P.style.width=`${K.w*k}px`,P.style.height=`${K.h*k}px`,z==="mobile"&&(P.style.borderRadius=`${32*k}px`);let x=P.querySelector("iframe");x&&(x.style.width=`${K.w}px`,x.style.height=`${K.h}px`,x.style.transformOrigin="top left",x.style.transition="none",x.style.transform=`scale(${k})`)}n.onScaleChange?.(k)}function v(){n.onBeforeDestroy?.();for(let k of o)k.destroy();for(let k of r)k();o=[],r=[]}function C(){return Array.from(t.querySelectorAll("iframe[data-mount-id]"))}function I(){if(a)return;v();let k=++d,M=Fu(n),P=c(),z=(n.compareMode??"off")!=="off",K=(n.scene??"conversation")==="minimized",x=n.widgetCssPath??"/widget-dist/widget.css",U=n.buildSrcdoc??Du,j=P==="mobile"?"preview-iframe-wrapper preview-iframe-wrapper-mobile":"preview-iframe-wrapper",J=we=>`<div class="${j}" data-mount-id="${we.mountId}" data-device="${P}" data-shell-mode="${we.shellMode}">
|
|
224
224
|
${z?`<div class="preview-frame-meta"><span class="preview-frame-label">${Hl(we.label)}</span></div>`:""}
|
|
225
225
|
<iframe class="preview-iframe" sandbox="allow-scripts allow-same-origin" data-mount-id="${we.mountId}"></iframe>
|
|
226
|
-
</div>`,D=z?`<div class="preview-compare-grid">${M.map(we=>`<div class="preview-compare-cell">${J(we)}</div>`).join("")}</div>`:`<div class="preview-single">${J(M[0])}</div>`;n.morphContainer?n.morphContainer(t,D):t.innerHTML=D,f();let F=C(),ie=0,ge=F.length,Ce=()=>{if(a||k!==d)return;for(let ee of F){let ce=ee.dataset.mountId;if(!ce||!ee.contentDocument)continue;let Y=M.find(pe=>pe.mountId===ce);if(!Y)continue;let ae=()=>{},Z=
|
|
226
|
+
</div>`,D=z?`<div class="preview-compare-grid">${M.map(we=>`<div class="preview-compare-cell">${J(we)}</div>`).join("")}</div>`:`<div class="preview-single">${J(M[0])}</div>`;n.morphContainer?n.morphContainer(t,D):t.innerHTML=D,f();let F=C(),ie=0,ge=F.length,Ce=()=>{if(a||k!==d)return;for(let ee of F){let ce=ee.dataset.mountId;if(!ce||!ee.contentDocument)continue;let Y=M.find(pe=>pe.mountId===ce);if(!Y)continue;let ae=()=>{},Z=Wt(Y.config),he=Z?(()=>{let pe=ee.contentDocument?.getElementById(`preview-content-${ce}`);if(!pe)return null;let Te=Iu(pe,Y.config),Ae=ee.contentDocument.createElement("div");Ae.id=ce,Ae.style.height="100%",Ae.style.display="flex",Ae.style.flexDirection="column",Ae.style.flex="1",Ae.style.minHeight="0",Te.host.appendChild(Ae);let $e=()=>Te.syncWidgetState(ye.getState()),Fe=ae;return ae=()=>{Te.destroy(),Fe()},Ae.__syncDock=$e,Ae.__hostLayout=Te,Ae})():ee.contentDocument.getElementById(ce);if(!he)continue;let ye=Mu(he,Y.config);if(o.push(ye),Z&&he.__syncDock){let pe=he.__syncDock,Te=ye.on("widget:opened",pe),Ae=ye.on("widget:closed",pe),$e=ae;ae=()=>{Te(),Ae(),$e()},pe()}r.push(ae),K&&ye.close()}if((n.scene??"conversation")==="artifact"||n.config?.features?.artifacts?.enabled)for(let ee of o)ee.upsertArtifact({id:"preview-sample",artifactType:"markdown",title:"Sample Document",content:`# Sample Artifact
|
|
227
227
|
|
|
228
228
|
This is a preview of the artifact sidebar.
|
|
229
229
|
|
|
@@ -231,4 +231,4 @@ This is a preview of the artifact sidebar.
|
|
|
231
231
|
|
|
232
232
|
- Markdown rendering
|
|
233
233
|
- Document toolbar
|
|
234
|
-
- Resizable panes`,transcript:!1});n.onAfterMount?.({iframes:F,controllers:[...o]})};for(let we of F){let ee=we.dataset.mountId;if(!ee)continue;let ce=M.find(Y=>Y.mountId===ee);ce&&(we.addEventListener("load",()=>{ie++,ie>=ge&&Ce()},{once:!0}),we.srcdoc=U(ee,ce.shellMode,
|
|
234
|
+
- Resizable panes`,transcript:!1});n.onAfterMount?.({iframes:F,controllers:[...o]})};for(let we of F){let ee=we.dataset.mountId;if(!ee)continue;let ce=M.find(Y=>Y.mountId===ee);ce&&(we.addEventListener("load",()=>{ie++,ie>=ge&&Ce()},{once:!0}),we.srcdoc=U(ee,ce.shellMode,Wt(ce.config),x))}ge===0&&Ce()}function B(){if(a)return;let k=Fu(n);if(o.length!==k.length){I();return}if(k.some(P=>{let z=t.querySelector(`.preview-iframe-wrapper[data-mount-id="${P.mountId}"]`);return!z||z.dataset.shellMode!==P.shellMode})){I();return}o.forEach((P,z)=>{P.update(k[z].config),(n.scene??"conversation")==="minimized"&&P.close()});for(let P of k){let z=t.querySelector(`iframe[data-mount-id="${P.mountId}"]`);z&&Bu(z,P.shellMode)}n.onAfterUpdate?.({iframes:C(),controllers:[...o]})}return typeof ResizeObserver<"u"&&(s=new ResizeObserver(()=>{a||f()}),s.observe(t)),I(),{update(k){if(a)return;let M=k.device!==void 0&&k.device!==n.device||k.scene!==void 0&&k.scene!==n.scene||k.compareMode!==void 0&&k.compareMode!==n.compareMode||k.widgetCssPath!==void 0&&k.widgetCssPath!==n.widgetCssPath;n={...n,...k},M?I():B()},destroy(){a||(a=!0,v(),s?.disconnect(),t.innerHTML="")},getControllers(){return[...o]},fitToContainer(){a||(n={...n,zoom:void 0},f())},getIframes(){return C()},getScale(){return p},setZoom(k){a||(n={...n,zoom:k},f())}}}export{Gy as createThemePreview};
|