@waniwani/sdk 0.12.6 → 0.12.8

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.
@@ -118,7 +118,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let n="<p>An error
118
118
  `)},hy=e=>{let t=!1;for(let n of e)if(n==="\\"||n==="|"){t=!0;break}if(!t)return e;let a=[];for(let n of e)n==="\\"?a.push("\\\\"):n==="|"?a.push("\\|"):a.push(n);return a.join("")},az=e=>{let{headers:t,rows:a}=e;if(t.length===0)return"";let n=new Array(a.length+2),r=0,o=t.map(i=>hy(i));n[r]=`| ${o.join(" | ")} |`,r+=1;let l=new Array(t.length);for(let i=0;i<t.length;i+=1)l[i]="---";n[r]=`| ${l.join(" | ")} |`,r+=1;for(let i of a)if(i.length<t.length){let s=new Array(t.length);for(let u=0;u<t.length;u+=1)s[u]=u<i.length?hy(i[u]):"";n[r]=`| ${s.join(" | ")} |`,r+=1}else{let s=i.map(u=>hy(u));n[r]=`| ${s.join(" | ")} |`,r+=1}return n.join(`
119
119
  `)},nz=({children:e,className:t,onCopy:a,onError:n,timeout:r=2e3})=>{let[o,l]=(0,E.useState)(!1),[i,s]=(0,E.useState)(!1),u=(0,E.useRef)(null),c=(0,E.useRef)(0),{isAnimating:d}=(0,E.useContext)(Zt),f=async g=>{var w,C;if(typeof window>"u"||!((w=navigator?.clipboard)!=null&&w.write)){n?.(new Error("Clipboard API not available"));return}try{let y=(C=u.current)==null?void 0:C.closest('[data-streamdown="table-wrapper"]'),x=y?.querySelector("table");if(!x){n?.(new Error("Table not found"));return}let h=bA(x),v=g==="csv"?SA(h):tz(h),A=new ClipboardItem({"text/plain":new Blob([v],{type:"text/plain"}),"text/html":new Blob([x.outerHTML],{type:"text/html"})});await navigator.clipboard.write([A]),s(!0),l(!1),a?.(g),c.current=window.setTimeout(()=>s(!1),r)}catch(y){n?.(y)}};(0,E.useEffect)(()=>{let g=w=>{let C=w.composedPath();u.current&&!C.includes(u.current)&&l(!1)};return document.addEventListener("mousedown",g),()=>{document.removeEventListener("mousedown",g),window.clearTimeout(c.current)}},[]);let p=i?vy:by;return(0,T.jsxs)("div",{className:"relative",ref:u,children:[(0,T.jsx)("button",{className:J("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",t),disabled:d,onClick:()=>l(!o),title:"Copy table",type:"button",children:e??(0,T.jsx)(p,{size:14})}),o?(0,T.jsxs)("div",{className:"absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg",children:[(0,T.jsx)("button",{className:"w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40",onClick:()=>f("csv"),title:"Copy table as CSV",type:"button",children:"CSV"}),(0,T.jsx)("button",{className:"w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40",onClick:()=>f("tsv"),title:"Copy table as TSV",type:"button",children:"TSV"})]}):null]})},rz=({children:e,className:t,onDownload:a,onError:n})=>{let[r,o]=(0,E.useState)(!1),l=(0,E.useRef)(null),{isAnimating:i}=(0,E.useContext)(Zt),s=u=>{var c;try{let d=(c=l.current)==null?void 0:c.closest('[data-streamdown="table-wrapper"]'),f=d?.querySelector("table");if(!f){n?.(new Error("Table not found"));return}let p=bA(f),g=u==="csv"?SA(p):az(p);Al(`table.${u==="csv"?"csv":"md"}`,g,u==="csv"?"text/csv":"text/markdown"),o(!1),a?.(u)}catch(d){n?.(d)}};return(0,E.useEffect)(()=>{let u=c=>{let d=c.composedPath();l.current&&!d.includes(l.current)&&o(!1)};return document.addEventListener("mousedown",u),()=>{document.removeEventListener("mousedown",u)}},[]),(0,T.jsxs)("div",{className:"relative",ref:l,children:[(0,T.jsx)("button",{className:J("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",t),disabled:i,onClick:()=>o(!r),title:"Download table",type:"button",children:e??(0,T.jsx)(Md,{size:14})}),r?(0,T.jsxs)("div",{className:"absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg",children:[(0,T.jsx)("button",{className:"w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40",onClick:()=>s("csv"),title:"Download table as CSV",type:"button",children:"CSV"}),(0,T.jsx)("button",{className:"w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40",onClick:()=>s("markdown"),title:"Download table as Markdown",type:"button",children:"Markdown"})]}):null]})},oz=({children:e,className:t,showControls:a,...n})=>(0,T.jsxs)("div",{className:"my-4 flex flex-col space-y-2","data-streamdown":"table-wrapper",children:[a?(0,T.jsxs)("div",{className:"flex items-center justify-end gap-1",children:[(0,T.jsx)(nz,{}),(0,T.jsx)(rz,{})]}):null,(0,T.jsx)("div",{className:"overflow-x-auto",children:(0,T.jsx)("table",{className:J("w-full border-collapse border border-border",t),"data-streamdown":"table",...n,children:e})})]}),lz=(0,E.lazy)(()=>Promise.resolve().then(()=>(iA(),lA)).then(e=>({default:e.CodeBlock}))),iz=(0,E.lazy)(()=>Promise.resolve().then(()=>(cA(),uA)).then(e=>({default:e.Mermaid}))),sz=/language-([^\s]+)/;wy=(e,t)=>typeof e=="boolean"?e:e[t]!==!1,Td=(e,t)=>{if(typeof e=="boolean")return e;let a=e.mermaid;return a===!1?!1:a===!0||a===void 0?!0:a[t]!==!1},Cy=(0,E.memo)(({children:e,className:t,node:a,...n})=>(0,T.jsx)("ol",{className:J("list-inside list-decimal whitespace-normal [li_&]:pl-6",t),"data-streamdown":"ordered-list",...n,children:e}),(e,t)=>pt(e,t));Cy.displayName="MarkdownOl";CA=(0,E.memo)(({children:e,className:t,node:a,...n})=>(0,T.jsx)("li",{className:J("py-1 [&>p]:inline",t),"data-streamdown":"list-item",...n,children:e}),(e,t)=>e.className===t.className&&Ed(e.node,t.node));CA.displayName="MarkdownLi";IA=(0,E.memo)(({children:e,className:t,node:a,...n})=>(0,T.jsx)("ul",{className:J("list-inside list-disc whitespace-normal [li_&]:pl-6",t),"data-streamdown":"unordered-list",...n,children:e}),(e,t)=>pt(e,t));IA.displayName="MarkdownUl";LA=(0,E.memo)(({className:e,node:t,...a})=>(0,T.jsx)("hr",{className:J("my-6 border-border",e),"data-streamdown":"horizontal-rule",...a}),(e,t)=>pt(e,t));LA.displayName="MarkdownHr";kA=(0,E.memo)(({children:e,className:t,node:a,...n})=>(0,T.jsx)("span",{className:J("font-semibold",t),"data-streamdown":"strong",...n,children:e}),(e,t)=>pt(e,t));kA.displayName="MarkdownStrong";uz=({children:e,className:t,href:a,node:n,...r})=>{let{linkSafety:o}=(0,E.useContext)(Zt),[l,i]=(0,E.useState)(!1),s=a==="streamdown:incomplete-link",u=(0,E.useCallback)(async p=>{if(!(!(o!=null&&o.enabled&&a)||s)){if(p.preventDefault(),o.onLinkCheck&&await o.onLinkCheck(a)){window.open(a,"_blank","noreferrer");return}i(!0)}},[o,a,s]),c=(0,E.useCallback)(()=>{a&&window.open(a,"_blank","noreferrer")},[a]),d=(0,E.useCallback)(()=>{i(!1)},[]),f={url:a??"",isOpen:l,onClose:d,onConfirm:c};return o!=null&&o.enabled&&a?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)("button",{className:J("wrap-anywhere appearance-none text-left font-medium text-primary underline",t),"data-incomplete":s,"data-streamdown":"link",onClick:u,type:"button",children:e}),o.renderModal?o.renderModal(f):(0,T.jsx)(Z4,{...f})]}):(0,T.jsx)("a",{className:J("wrap-anywhere font-medium text-primary underline",t),"data-incomplete":s,"data-streamdown":"link",href:a,rel:"noreferrer",target:"_blank",...r,children:e})},TA=(0,E.memo)(uz,(e,t)=>pt(e,t)&&e.href===t.href);TA.displayName="MarkdownA";AA=(0,E.memo)(({children:e,className:t,node:a,...n})=>(0,T.jsx)("h1",{className:J("mt-6 mb-2 font-semibold text-3xl",t),"data-streamdown":"heading-1",...n,children:e}),(e,t)=>pt(e,t));AA.displayName="MarkdownH1";MA=(0,E.memo)(({children:e,className:t,node:a,...n})=>(0,T.jsx)("h2",{className:J("mt-6 mb-2 font-semibold text-2xl",t),"data-streamdown":"heading-2",...n,children:e}),(e,t)=>pt(e,t));MA.displayName="MarkdownH2";EA=(0,E.memo)(({children:e,className:t,node:a,...n})=>(0,T.jsx)("h3",{className:J("mt-6 mb-2 font-semibold text-xl",t),"data-streamdown":"heading-3",...n,children:e}),(e,t)=>pt(e,t));EA.displayName="MarkdownH3";RA=(0,E.memo)(({children:e,className:t,node:a,...n})=>(0,T.jsx)("h4",{className:J("mt-6 mb-2 font-semibold text-lg",t),"data-streamdown":"heading-4",...n,children:e}),(e,t)=>pt(e,t));RA.displayName="MarkdownH4";DA=(0,E.memo)(({children:e,className:t,node:a,...n})=>(0,T.jsx)("h5",{className:J("mt-6 mb-2 font-semibold text-base",t),"data-streamdown":"heading-5",...n,children:e}),(e,t)=>pt(e,t));DA.displayName="MarkdownH5";_A=(0,E.memo)(({children:e,className:t,node:a,...n})=>(0,T.jsx)("h6",{className:J("mt-6 mb-2 font-semibold text-sm",t),"data-streamdown":"heading-6",...n,children:e}),(e,t)=>pt(e,t));_A.displayName="MarkdownH6";OA=(0,E.memo)(({children:e,className:t,node:a,...n})=>{let{controls:r}=(0,E.useContext)(Zt),o=wy(r,"table");return(0,T.jsx)(oz,{className:t,showControls:o,...n,children:e})},(e,t)=>pt(e,t));OA.displayName="MarkdownTable";PA=(0,E.memo)(({children:e,className:t,node:a,...n})=>(0,T.jsx)("thead",{className:J("bg-muted/80",t),"data-streamdown":"table-header",...n,children:e}),(e,t)=>pt(e,t));PA.displayName="MarkdownThead";NA=(0,E.memo)(({children:e,className:t,node:a,...n})=>(0,T.jsx)("tbody",{className:J("divide-y divide-border bg-muted/40",t),"data-streamdown":"table-body",...n,children:e}),(e,t)=>pt(e,t));NA.displayName="MarkdownTbody";BA=(0,E.memo)(({children:e,className:t,node:a,...n})=>(0,T.jsx)("tr",{className:J("border-border border-b",t),"data-streamdown":"table-row",...n,children:e}),(e,t)=>pt(e,t));BA.displayName="MarkdownTr";UA=(0,E.memo)(({children:e,className:t,node:a,...n})=>(0,T.jsx)("th",{className:J("whitespace-nowrap px-4 py-2 text-left font-semibold text-sm",t),"data-streamdown":"table-header-cell",...n,children:e}),(e,t)=>pt(e,t));UA.displayName="MarkdownTh";zA=(0,E.memo)(({children:e,className:t,node:a,...n})=>(0,T.jsx)("td",{className:J("px-4 py-2 text-sm",t),"data-streamdown":"table-cell",...n,children:e}),(e,t)=>pt(e,t));zA.displayName="MarkdownTd";qA=(0,E.memo)(({children:e,className:t,node:a,...n})=>(0,T.jsx)("blockquote",{className:J("my-4 border-muted-foreground/30 border-l-4 pl-4 text-muted-foreground italic",t),"data-streamdown":"blockquote",...n,children:e}),(e,t)=>pt(e,t));qA.displayName="MarkdownBlockquote";FA=(0,E.memo)(({children:e,className:t,node:a,...n})=>(0,T.jsx)("sup",{className:J("text-sm",t),"data-streamdown":"superscript",...n,children:e}),(e,t)=>pt(e,t));FA.displayName="MarkdownSup";HA=(0,E.memo)(({children:e,className:t,node:a,...n})=>(0,T.jsx)("sub",{className:J("text-sm",t),"data-streamdown":"subscript",...n,children:e}),(e,t)=>pt(e,t));HA.displayName="MarkdownSub";jA=(0,E.memo)(({children:e,className:t,node:a,...n})=>{if("data-footnotes"in n){let r=l=>{var i,s;if(!(0,E.isValidElement)(l))return!1;let u=Array.isArray(l.props.children)?l.props.children:[l.props.children],c=!1,d=!1;for(let f of u)if(f){if(typeof f=="string")f.trim()!==""&&(c=!0);else if((0,E.isValidElement)(f))if(((i=f.props)==null?void 0:i["data-footnote-backref"])!==void 0)d=!0;else{let p=Array.isArray(f.props.children)?f.props.children:[f.props.children];for(let g of p){if(typeof g=="string"&&g.trim()!==""){c=!0;break}if((0,E.isValidElement)(g)&&((s=g.props)==null?void 0:s["data-footnote-backref"])===void 0){c=!0;break}}}}return d&&!c},o=Array.isArray(e)?e.map(l=>{if(!(0,E.isValidElement)(l))return l;if(l.type===Cy){let i=(Array.isArray(l.props.children)?l.props.children:[l.props.children]).filter(s=>!r(s));return i.length===0?null:{...l,props:{...l.props,children:i}}}return l}):e;return(Array.isArray(o)?o.some(l=>l!==null):o!==null)?(0,T.jsx)("section",{className:t,...n,children:o}):null}return(0,T.jsx)("section",{className:t,...n,children:e})},(e,t)=>pt(e,t));jA.displayName="MarkdownSection";cz=({node:e,className:t,children:a,...n})=>{var r,o,l;let i=((r=e?.position)==null?void 0:r.start.line)===((o=e?.position)==null?void 0:o.end.line),{mermaid:s,controls:u}=(0,E.useContext)(Zt),c=Sy();if(i)return(0,T.jsx)("code",{className:J("rounded bg-muted px-1.5 py-0.5 font-mono text-sm",t),"data-streamdown":"inline-code",...n,children:a});let d=t?.match(sz),f=(l=d?.at(1))!=null?l:"",p="";if((0,E.isValidElement)(a)&&a.props&&typeof a.props=="object"&&"children"in a.props&&typeof a.props.children=="string"?p=a.props.children:typeof a=="string"&&(p=a),f==="mermaid"&&c){let w=wy(u,"mermaid"),C=Td(u,"download"),y=Td(u,"copy"),x=Td(u,"fullscreen"),h=Td(u,"panZoom"),v=w&&(C||y||x);return(0,T.jsx)(E.Suspense,{fallback:(0,T.jsx)(mA,{}),children:(0,T.jsxs)("div",{className:J("group relative my-4 h-auto rounded-xl border p-4",t),"data-streamdown":"mermaid-block",children:[v?(0,T.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[C?(0,T.jsx)(K4,{chart:p,config:s?.config}):null,y?(0,T.jsx)(fA,{code:p}):null,x?(0,T.jsx)(ez,{chart:p,config:s?.config}):null]}):null,(0,T.jsx)(iz,{chart:p,config:s?.config,showControls:h})]})})}let g=wy(u,"code");return(0,T.jsx)(E.Suspense,{fallback:(0,T.jsx)(mA,{}),children:(0,T.jsx)(lz,{className:J("overflow-x-auto border-border border-t",t),code:p,language:f,children:g?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(V4,{code:p,language:f}),(0,T.jsx)(fA,{})]}):null})})},VA=(0,E.memo)(cz,(e,t)=>e.className===t.className&&Ed(e.node,t.node));VA.displayName="MarkdownCode";GA=(0,E.memo)(W4,(e,t)=>e.className===t.className&&Ed(e.node,t.node));GA.displayName="MarkdownImg";WA=(0,E.memo)(({children:e,className:t,node:a,...n})=>{var r,o;let l=(Array.isArray(e)?e:[e]).filter(i=>i!=null&&i!=="");if(l.length===1&&(0,E.isValidElement)(l[0])){let i=l[0].props.node,s=i?.tagName;if(s==="img")return(0,T.jsx)(T.Fragment,{children:e});if(s==="code"&&((r=i?.position)==null?void 0:r.start.line)!==((o=i?.position)==null?void 0:o.end.line))return(0,T.jsx)(T.Fragment,{children:e})}return(0,T.jsx)("p",{className:t,...n,children:e})},(e,t)=>pt(e,t));WA.displayName="MarkdownParagraph";dz={ol:Cy,li:CA,ul:IA,hr:LA,strong:kA,a:TA,h1:AA,h2:MA,h3:EA,h4:RA,h5:DA,h6:_A,table:OA,thead:PA,tbody:NA,tr:BA,th:UA,td:zA,blockquote:qA,code:VA,img:GA,pre:({children:e})=>e,sup:FA,sub:HA,p:WA,section:jA},hA=[],gA={allowDangerousHtml:!0},Ad=new WeakMap,fz=class{constructor(){this.cache=new Map,this.keyCache=new WeakMap,this.maxSize=100}generateCacheKey(e){let t=this.keyCache.get(e);if(t)return t;let a=e.rehypePlugins,n=e.remarkPlugins,r=e.remarkRehypeOptions;if(!(a||n||r)){let c="default";return this.keyCache.set(e,c),c}let o=c=>{if(!c||c.length===0)return"";let d="";for(let f=0;f<c.length;f+=1){let p=c[f];if(f>0&&(d+=","),Array.isArray(p)){let[g,w]=p;if(typeof g=="function"){let C=Ad.get(g);C||(C=g.name,Ad.set(g,C)),d+=C}else d+=String(g);d+=":",d+=JSON.stringify(w)}else if(typeof p=="function"){let g=Ad.get(p);g||(g=p.name,Ad.set(p,g)),d+=g}else d+=String(p)}return d},l=o(a),i=o(n),s=r?JSON.stringify(r):"",u=`${i}::${l}::${s}`;return this.keyCache.set(e,u),u}get(e){let t=this.generateCacheKey(e),a=this.cache.get(t);return a&&(this.cache.delete(t),this.cache.set(t,a)),a}set(e,t){let a=this.generateCacheKey(e);if(this.cache.size>=this.maxSize){let n=this.cache.keys().next().value;n&&this.cache.delete(n)}this.cache.set(a,t)}clear(){this.cache.clear()}},yA=new fz,$A=e=>{let t=pz(e),a=e.children||"";return hz(t.runSync(t.parse(a),a),e)},pz=e=>{let t=yA.get(e);if(t)return t;let a=mz(e);return yA.set(e,a),a},mz=e=>{let t=e.rehypePlugins||hA,a=e.remarkPlugins||hA,n=e.remarkRehypeOptions?{...gA,...e.remarkRehypeOptions}:gA;return ey().use(dd).use(a).use(hd,n).use(t)},hz=(e,t)=>_g(e,{Fragment:T.Fragment,components:t.components,ignoreInvalidStyle:!0,jsx:T.jsx,jsxs:T.jsxs,passKeys:!0,passNode:!0}),gz=/\[\^[^\]\s]{1,200}\](?!:)/,yz=/\[\^[^\]\s]{1,200}\]:/,xz=/<\/(\w+)>/,wz=/<(\w+)[\s>]/,gy=e=>{let t=0;for(;t<e.length&&(e[t]===" "||e[t]===" "||e[t]===`
120
120
  `||e[t]==="\r");)t+=1;return t+1<e.length&&e[t]==="$"&&e[t+1]==="$"},vz=e=>{let t=e.length-1;for(;t>=0&&(e[t]===" "||e[t]===" "||e[t]===`
121
- `||e[t]==="\r");)t-=1;return t>=1&&e[t]==="$"&&e[t-1]==="$"},yy=e=>{let t=0;for(let a=0;a<e.length-1;a+=1)e[a]==="$"&&e[a+1]==="$"&&(t+=1,a+=1);return t},XA=e=>{let t=gz.test(e),a=yz.test(e);if(t||a)return[e];let n=xa.lex(e,{gfm:!0}),r=[],o=[];for(let l of n){let i=l.raw,s=r.length;if(o.length>0){if(r[s-1]+=i,l.type==="html"){let u=i.match(xz);if(u){let c=u[1];o.at(-1)===c&&o.pop()}}continue}if(l.type==="html"&&l.block){let u=i.match(wz);if(u){let c=u[1];i.includes(`</${c}>`)||o.push(c)}}if(i.trim()==="$$"&&s>0){let u=r[s-1],c=gy(u),d=yy(u);if(c&&d%2===1){r[s-1]=u+i;continue}}if(s>0&&vz(i)){let u=r[s-1],c=gy(u),d=yy(u),f=yy(i);if(c&&d%2===1&&!gy(i)&&f===1){r[s-1]=u+i;continue}}r.push(i)}return r},ZA={raw:A0,sanitize:[Rc,{}],harden:[k0,{allowedImagePrefixes:["*"],allowedLinkPrefixes:["*"],allowedProtocols:["*"],defaultOrigin:void 0,allowDataImages:!0}]},QA={gfm:[ad,{}]},bz=Object.values(ZA),Sz=Object.values(QA),Cz={block:" \u258B",circle:" \u25CF"},Iz={shikiTheme:["github-light","github-dark"],controls:!0,isAnimating:!1,mode:"streaming",mermaid:void 0,linkSafety:{enabled:!0}},Zt=(0,E.createContext)(Iz),Iy=(0,E.memo)(({content:e,shouldParseIncompleteMarkdown:t,index:a,...n})=>(0,T.jsx)($A,{...n,children:e}),(e,t)=>{if(e.content!==t.content||e.index!==t.index)return!1;if(e.components!==t.components){let a=Object.keys(e.components||{}),n=Object.keys(t.components||{});if(a.length!==n.length||a.some(r=>{var o,l;return((o=e.components)==null?void 0:o[r])!==((l=t.components)==null?void 0:l[r])}))return!1}return!(e.rehypePlugins!==t.rehypePlugins||e.remarkPlugins!==t.remarkPlugins)});Iy.displayName="Block";Lz=["github-light","github-dark"],Rd=(0,E.memo)(({children:e,mode:t="streaming",parseIncompleteMarkdown:a=!0,components:n,rehypePlugins:r=bz,remarkPlugins:o=Sz,className:l,shikiTheme:i=Lz,mermaid:s,controls:u=!0,isAnimating:c=!1,BlockComponent:d=Iy,parseMarkdownIntoBlocksFn:f=XA,caret:p,plugins:g,remend:w,linkSafety:C={enabled:!0},...y})=>{let x=(0,E.useId)(),[h,v]=(0,E.useTransition)(),A=(0,E.useMemo)(()=>typeof e!="string"?"":t==="streaming"&&a?q1(e,w):e,[e,t,a,w]),I=(0,E.useMemo)(()=>f(A),[A,f]),[M,_]=(0,E.useState)(I);(0,E.useEffect)(()=>{t==="streaming"?v(()=>{_(I)}):_(I)},[I,t]);let P=t==="streaming"?M:I,k=(0,E.useMemo)(()=>P.map((Y,he)=>`${x}-${he}`),[P.length,x]),B=(0,E.useMemo)(()=>{var Y,he;return{shikiTheme:(he=(Y=g?.code)==null?void 0:Y.getThemes())!=null?he:i,controls:u,isAnimating:c,mode:t,mermaid:s,linkSafety:C}},[i,u,c,t,s,C,g?.code]),R=(0,E.useMemo)(()=>({...dz,...n}),[n]),U=(0,E.useMemo)(()=>{let Y=[];return g!=null&&g.cjk&&(Y=[...Y,...g.cjk.remarkPluginsBefore]),Y=[...Y,...o],g!=null&&g.cjk&&(Y=[...Y,...g.cjk.remarkPluginsAfter]),g!=null&&g.math&&(Y=[...Y,g.math.remarkPlugin]),Y},[o,g?.math,g?.cjk]),G=(0,E.useMemo)(()=>g!=null&&g.math?[...r,g.math.rehypePlugin]:r,[r,g?.math]),V=(0,E.useMemo)(()=>p&&c?{"--streamdown-caret":`"${Cz[p]}"`}:void 0,[p,c]);return t==="static"?(0,T.jsx)(xy.Provider,{value:g??null,children:(0,T.jsx)(Zt.Provider,{value:B,children:(0,T.jsx)("div",{className:J("space-y-4 whitespace-normal *:first:mt-0 *:last:mb-0",l),children:(0,T.jsx)($A,{components:R,rehypePlugins:G,remarkPlugins:U,...y,children:e})})})}):(0,T.jsx)(xy.Provider,{value:g??null,children:(0,T.jsx)(Zt.Provider,{value:B,children:(0,T.jsxs)("div",{className:J("space-y-4 whitespace-normal *:first:mt-0 *:last:mb-0",p?"*:last:after:inline *:last:after:align-baseline *:last:after:content-(--streamdown-caret)":null,l),style:V,children:[P.length===0&&p&&c&&(0,T.jsx)("span",{}),P.map((Y,he)=>(0,T.jsx)(d,{components:R,content:Y,index:he,rehypePlugins:G,remarkPlugins:U,shouldParseIncompleteMarkdown:a,...y},k[he]))]})})})},(e,t)=>e.children===t.children&&e.shikiTheme===t.shikiTheme&&e.isAnimating===t.isAnimating&&e.mode===t.mode&&e.plugins===t.plugins&&e.className===t.className&&e.linkSafety===t.linkSafety);Rd.displayName="Streamdown";kz=({children:e,className:t,minZoom:a=.5,maxZoom:n=3,zoomStep:r=.1,showControls:o=!0,initialZoom:l=1,fullscreen:i=!1})=>{let s=(0,E.useRef)(null),u=(0,E.useRef)(null),[c,d]=(0,E.useState)(l),[f,p]=(0,E.useState)({x:0,y:0}),[g,w]=(0,E.useState)(!1),[C,y]=(0,E.useState)({x:0,y:0}),[x,h]=(0,E.useState)({x:0,y:0}),v=(0,E.useCallback)(R=>{d(U=>Math.max(a,Math.min(n,U+R)))},[a,n]),A=(0,E.useCallback)(()=>{v(r)},[v,r]),I=(0,E.useCallback)(()=>{v(-r)},[v,r]),M=(0,E.useCallback)(()=>{d(l),p({x:0,y:0})},[l]),_=(0,E.useCallback)(R=>{R.preventDefault();let U=R.deltaY>0?-r:r;v(U)},[v,r]),P=(0,E.useCallback)(R=>{if(R.button!==0||R.isPrimary===!1)return;w(!0),y({x:R.clientX,y:R.clientY}),h(f);let U=R.currentTarget;U instanceof HTMLElement&&U.setPointerCapture(R.pointerId)},[f]),k=(0,E.useCallback)(R=>{if(!g)return;R.preventDefault();let U=R.clientX-C.x,G=R.clientY-C.y;p({x:x.x+U,y:x.y+G})},[g,C,x]),B=(0,E.useCallback)(R=>{w(!1);let U=R.currentTarget;U instanceof HTMLElement&&U.releasePointerCapture(R.pointerId)},[]);return(0,E.useEffect)(()=>{let R=s.current;if(R)return R.addEventListener("wheel",_,{passive:!1}),()=>{R.removeEventListener("wheel",_)}},[_]),(0,E.useEffect)(()=>{let R=u.current;if(R&&g)return document.body.style.userSelect="none",R.addEventListener("pointermove",k,{passive:!1}),R.addEventListener("pointerup",B),R.addEventListener("pointercancel",B),()=>{document.body.style.userSelect="",R.removeEventListener("pointermove",k),R.removeEventListener("pointerup",B),R.removeEventListener("pointercancel",B)}},[g,k,B]),(0,T.jsxs)("div",{className:J("relative flex flex-col",i?"h-full w-full":"min-h-28 w-full",t),ref:s,style:{cursor:g?"grabbing":"grab"},children:[o?(0,T.jsxs)("div",{className:J("absolute z-10 flex flex-col gap-1 rounded-md border border-border bg-background/90 p-1 shadow-sm backdrop-blur-sm",i?"bottom-4 left-4":"bottom-2 left-2"),children:[(0,T.jsx)("button",{className:"flex items-center justify-center rounded p-1.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",disabled:c>=n,onClick:A,title:"Zoom in",type:"button",children:(0,T.jsx)(H4,{size:16})}),(0,T.jsx)("button",{className:"flex items-center justify-center rounded p-1.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",disabled:c<=a,onClick:I,title:"Zoom out",type:"button",children:(0,T.jsx)(j4,{size:16})}),(0,T.jsx)("button",{className:"flex items-center justify-center rounded p-1.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",onClick:M,title:"Reset zoom and pan",type:"button",children:(0,T.jsx)(F4,{size:16})})]}):null,(0,T.jsx)("div",{className:J("flex-1 origin-center transition-transform duration-150 ease-out",i?"flex h-full w-full items-center justify-center":"flex w-full items-center justify-center"),onPointerDown:P,ref:u,role:"application",style:{transform:`translate(${f.x}px, ${f.y}px) scale(${c})`,transformOrigin:"center center",touchAction:"none",willChange:"transform"},children:e})]})},my=({chart:e,className:t,config:a,fullscreen:n=!1,showControls:r=!0})=>{let[o,l]=(0,E.useState)(null),[i,s]=(0,E.useState)(!1),[u,c]=(0,E.useState)(""),[d,f]=(0,E.useState)(""),[p,g]=(0,E.useState)(0),{mermaid:w}=(0,E.useContext)(Zt),C=Sy(),y=w?.errorComponent,{shouldRender:x,containerRef:h}=U4({immediate:n});if((0,E.useEffect)(()=>{if(x){if(!C){l("Mermaid plugin not available. Please add the mermaid plugin to enable diagram rendering.");return}(async()=>{try{l(null),s(!0);let A=C.getMermaid(a),I=e.split("").reduce((P,k)=>(P<<5)-P+k.charCodeAt(0)|0,0),M=`mermaid-${Math.abs(I)}-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,{svg:_}=await A.render(M,e);c(_),f(_)}catch(A){if(!(d||u)){let I=A instanceof Error?A.message:"Failed to render Mermaid chart";l(I)}}finally{s(!1)}})()}},[e,a,p,x,C]),!(x||u||d))return(0,T.jsx)("div",{className:J("my-4 min-h-[200px]",t),ref:h});if(i&&!u&&!d)return(0,T.jsx)("div",{className:J("my-4 flex justify-center p-4",t),ref:h,children:(0,T.jsxs)("div",{className:"flex items-center space-x-2 text-muted-foreground",children:[(0,T.jsx)("div",{className:"h-4 w-4 animate-spin rounded-full border-current border-b-2"}),(0,T.jsx)("span",{className:"text-sm",children:"Loading diagram..."})]})});if(o&&!u&&!d)return y?(0,T.jsx)("div",{ref:h,children:(0,T.jsx)(y,{chart:e,error:o,retry:()=>g(I=>I+1)})}):(0,T.jsxs)("div",{className:J("rounded-lg border border-red-200 bg-red-50 p-4",t),ref:h,children:[(0,T.jsxs)("p",{className:"font-mono text-red-700 text-sm",children:["Mermaid Error: ",o]}),(0,T.jsxs)("details",{className:"mt-2",children:[(0,T.jsx)("summary",{className:"cursor-pointer text-red-600 text-xs",children:"Show Code"}),(0,T.jsx)("pre",{className:"mt-2 overflow-x-auto rounded bg-red-100 p-2 text-red-800 text-xs",children:e})]})]});let v=u||d;return(0,T.jsx)("div",{className:J("size-full",t),"data-streamdown":"mermaid",ref:h,children:(0,T.jsx)(kz,{className:J(n?"size-full overflow-hidden":"my-4 overflow-hidden",t),fullscreen:n,maxZoom:3,minZoom:.5,showControls:r,zoomStep:.1,children:(0,T.jsx)("div",{"aria-label":"Mermaid chart",className:J("flex justify-center",n?"size-full items-center":null),dangerouslySetInnerHTML:{__html:v},role:"img"})})})}});var l2=zt((JJ,o2)=>{"use strict";function t6(e,t){if(typeof e!="function")throw new TypeError(`Expected the first argument to be a \`function\`, got \`${typeof e}\`.`);let a,n=0;return function(...o){clearTimeout(a);let l=Date.now(),i=l-n,s=t-i;s<=0?(n=l,e.apply(this,o)):a=setTimeout(()=>{n=Date.now(),e.apply(this,o)},s)}}o2.exports=t6});var Jy=j(Ke(),1),z2=j(jS(),1);var q_="https://app.waniwani.ai/api/mcp/chat",F_={api:q_};function H_(){if(typeof document>"u")return null;if(document.currentScript instanceof HTMLScriptElement)return document.currentScript;let e=document.querySelectorAll("script[src]");for(let t of e)if(t instanceof HTMLScriptElement&&/embed/i.test(t.src))return t;return null}function yc(){let e=H_();if(!e)return{};let t=x=>e.getAttribute(x)??void 0,a=x=>{let h=e.getAttribute(x);if(h==null)return;let v=h.trim().toLowerCase();if(v==="true"||v==="1"||v==="")return!0;if(v==="false"||v==="0")return!1},n={},r=t("data-api");r&&(n.api=r);let o=t("data-token");o&&(n.token=o);let l=t("data-title");l&&(n.title=l);let i=t("data-welcome-message");i&&(n.welcomeMessage=i);let s=t("data-placeholder");s&&(n.placeholder=s);let u=t("data-mcp-server-url");u&&(n.mcpServerUrl=u);let c=t("data-channel-id");c&&(n.channelId=c);let d=a("data-show-tool-calls");d!==void 0&&(n.showToolCalls=d);let f=t("data-css");f&&(n.css=f);let p=t("data-suggestions");p&&(n.suggestions=p.split(",").map(x=>x.trim()).filter(Boolean));let g=a("data-enable-thread-history");g!==void 0&&(n.enableThreadHistory=g);let w=a("data-hide-header");w!==void 0&&(n.hideHeader=w);let C=t("data-theme");(C==="light"||C==="dark"||C==="auto")&&(n.appearance={theme:C});let y=t("data-disclaimer");if(y!==void 0){let x=y.trim(),h=x.toLowerCase();h==="false"||h==="0"?n.disclaimer=!1:x&&(n.disclaimer=x)}return n}function Gm(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function Bi(e,t,a){let n=a??yc(),r=j_(t,n,e),o={token:"",...F_,...Gm(t),...Gm(n),...Gm(e),...r?{appearance:r}:{}};if(!o.token)throw new Error("[WaniWani] Missing required config: `token`. Set data-token on the script tag or pass it to WaniWani.chat.init().");return o}function j_(e,t,a){let n=a?.appearance?.theme??t.appearance?.theme??e?.appearance?.theme,r={...e?.appearance?.variables??{},...t.appearance?.variables??{},...a?.appearance?.variables??{}},o=Object.keys(r).length>0;if(!n&&!o)return;let l={};return n&&(l.theme=n),o&&(l.variables=r),l}var Or=j(Ke(),1);var wc=j(Ke());var xc=(...e)=>e.filter((t,a,n)=>!!t&&t.trim()!==""&&n.indexOf(t)===a).join(" ").trim();var VS=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var GS=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,n)=>n?n.toUpperCase():a.toLowerCase());var Wm=e=>{let t=GS(e);return t.charAt(0).toUpperCase()+t.slice(1)};var Ui=j(Ke());var WS={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var $S=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var XS=(0,Ui.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:n,className:r="",children:o,iconNode:l,...i},s)=>(0,Ui.createElement)("svg",{ref:s,...WS,width:t,height:t,stroke:e,strokeWidth:n?Number(a)*24/Number(t):a,className:xc("lucide",r),...!o&&!$S(i)&&{"aria-hidden":"true"},...i},[...l.map(([u,c])=>(0,Ui.createElement)(u,c)),...Array.isArray(o)?o:[o]]));var lt=(e,t)=>{let a=(0,wc.forwardRef)(({className:n,...r},o)=>(0,wc.createElement)(XS,{ref:o,iconNode:t,className:xc(`lucide-${VS(Wm(e))}`,`lucide-${e}`,n),...r}));return a.displayName=Wm(e),a};var V_=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],zi=lt("arrow-down",V_);var G_=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],qi=lt("arrow-up",G_);var W_=[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]],xr=lt("braces",W_);var $_=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Fi=lt("check",$_);var X_=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Hi=lt("chevron-down",X_);var Z_=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],ji=lt("chevron-right",Z_);var Q_=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]],Vi=lt("clipboard-copy",Q_);var K_=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]],Gi=lt("file",K_);var Y_=[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]],Wi=lt("loader",Y_);var J_=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],$i=lt("paperclip",J_);var eO=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Xi=lt("square",eO);var tO=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],ao=lt("x",tO);var Xe=j(Ke(),1);var Zi=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,a)=>(a&=63,a<36?t+=a.toString(36):a<62?t+=(a-26).toString(36).toUpperCase():a>62?t+="-":t+="_",t),"");var Ve=j(Ke(),1);$m();Zm();var aO=QS({prefix:"ww"});function K(...e){return aO(vc(e))}var e0=j(ce(),1),an=({className:e,variant:t="default",size:a="default",type:n="button",...r})=>(0,e0.jsx)("button",{type:n,className:K("ww:inline-flex ww:cursor-pointer ww:items-center ww:justify-center ww:rounded-md ww:font-medium ww:transition-colors ww:disabled:pointer-events-none ww:disabled:opacity-50",t==="default"&&"ww:bg-primary ww:text-primary-foreground ww:hover:bg-primary/90",t==="outline"&&"ww:border ww:border-border ww:bg-background ww:hover:bg-accent ww:hover:text-accent-foreground",t==="ghost"&&"ww:hover:bg-accent ww:hover:text-accent-foreground",a==="default"&&"ww:h-9 ww:px-4 ww:py-2 ww:text-sm",a==="sm"&&"ww:h-8 ww:px-3 ww:text-xs",a==="icon"&&"ww:size-9 ww:!rounded-full",a==="icon-sm"&&"ww:size-7 ww:!rounded-full",e),...r});var Wt=j(ce(),1),oO=async e=>{try{let a=await(await fetch(e)).blob();return new Promise(n=>{let r=new FileReader;r.onloadend=()=>n(r.result),r.onerror=()=>n(null),r.readAsDataURL(a)})}catch{return null}},t0=(0,Ve.createContext)(null),a0=()=>{let e=(0,Ve.useContext)(t0);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},n0=({className:e,accept:t,multiple:a,globalDrop:n,maxFiles:r,maxFileSize:o,onSubmit:l,children:i,...s})=>{let u=(0,Ve.useRef)(null),c=(0,Ve.useRef)(null),[d,f]=(0,Ve.useState)([]),p=(0,Ve.useRef)(d);(0,Ve.useEffect)(()=>{p.current=d},[d]);let g=(0,Ve.useCallback)(()=>{u.current?.click()},[]),w=(0,Ve.useCallback)(A=>{let I=[...A];if(I.length===0)return;let M=P=>o?P.size<=o:!0,_=I.filter(M);f(P=>{let k=typeof r=="number"?Math.max(0,r-P.length):void 0,B=typeof k=="number"?_.slice(0,k):_;return[...P,...B.map(R=>({filename:R.name,id:Zi(),mediaType:R.type,type:"file",url:URL.createObjectURL(R)}))]})},[r,o]),C=(0,Ve.useCallback)(A=>{f(I=>{let M=I.find(_=>_.id===A);return M?.url&&URL.revokeObjectURL(M.url),I.filter(_=>_.id!==A)})},[]),y=(0,Ve.useCallback)(()=>{f(A=>{for(let I of A)I.url&&URL.revokeObjectURL(I.url);return[]})},[]);(0,Ve.useEffect)(()=>()=>{for(let A of p.current)A.url&&URL.revokeObjectURL(A.url)},[]);let x=(0,Ve.useCallback)(A=>{A.currentTarget.files&&w(A.currentTarget.files),A.currentTarget.value=""},[w]);(0,Ve.useEffect)(()=>{if(!n)return;let A=M=>{M.dataTransfer?.types?.includes("Files")&&M.preventDefault()},I=M=>{M.dataTransfer?.types?.includes("Files")&&M.preventDefault(),M.dataTransfer?.files&&M.dataTransfer.files.length>0&&w(M.dataTransfer.files)};return document.addEventListener("dragover",A),document.addEventListener("drop",I),()=>{document.removeEventListener("dragover",A),document.removeEventListener("drop",I)}},[w,n]);let h=(0,Ve.useCallback)(async A=>{A.preventDefault();let I=A.currentTarget,_=new FormData(I).get("message")||"";I.reset();let P=await Promise.all(d.map(async({id:k,...B})=>{if(B.url?.startsWith("blob:")){let R=await oO(B.url);return{...B,url:R??B.url}}return B}));try{let k=l({files:P,text:_},A);k instanceof Promise&&await k,y()}catch{}},[d,l,y]),v=(0,Ve.useMemo)(()=>({add:w,clear:y,files:d,openFileDialog:g,remove:C}),[d,w,C,y,g]);return(0,Wt.jsxs)(t0.Provider,{value:v,children:[(0,Wt.jsx)("input",{accept:t,"aria-label":"Upload files",className:"ww:hidden",multiple:a,onChange:x,ref:u,title:"Upload files",type:"file"}),(0,Wt.jsx)("form",{className:K("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:h,ref:c,...s,children:i})]})};var r0=({onChange:e,onKeyDown:t,className:a,placeholder:n="What would you like to know?",...r})=>{let o=a0(),[l,i]=(0,Ve.useState)(!1),s=(0,Ve.useCallback)(c=>{if(t?.(c),!c.defaultPrevented){if(c.key==="Enter"){if(l||c.nativeEvent.isComposing||c.shiftKey)return;c.preventDefault();let{form:d}=c.currentTarget;if(d?.querySelector('button[type="submit"]')?.disabled)return;d?.requestSubmit()}if(c.key==="Backspace"&&c.currentTarget.value===""&&o.files.length>0){c.preventDefault();let d=o.files.at(-1);d&&o.remove(d.id)}}},[t,l,o]),u=(0,Ve.useCallback)(c=>{let d=c.clipboardData?.items;if(!d)return;let f=[];for(let p of d)if(p.kind==="file"){let g=p.getAsFile();g&&f.push(g)}f.length>0&&(c.preventDefault(),o.add(f))},[o]);return(0,Wt.jsx)("textarea",{className:K("ww:field-sizing-content ww:max-h-48 ww:min-h-0 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-2 ww:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>i(!1),onCompositionStart:()=>i(!0),onKeyDown:s,onPaste:u,placeholder:n,onChange:e,...r})},o0=({className:e,status:t,onStop:a,onClick:n,children:r,...o})=>{let l=t==="submitted"||t==="streaming",i=(0,Wt.jsx)(qi,{className:"ww:size-4"});t==="submitted"?i=(0,Wt.jsx)(Wi,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(i=(0,Wt.jsx)(Xi,{className:"ww:size-4"}));let s=(0,Ve.useCallback)(u=>{if(l&&a){u.preventDefault(),a();return}n?.(u)},[l,a,n]);return(0,Wt.jsx)(an,{"aria-label":l?"Stop":"Submit",className:K("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:s,size:"icon-sm",type:l&&a?"button":"submit",variant:"ghost",...o,children:r??i})},l0=({className:e,children:t,...a})=>{let n=a0();return n.files.length>0?(0,Wt.jsxs)(an,{className:K("ww:group ww:relative",e),onClick:()=>n.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":"Remove all attachments",...a,children:[(0,Wt.jsx)("span",{className:"ww:flex ww:size-5 ww:items-center ww:justify-center ww:rounded-full ww:bg-primary ww:text-[10px] ww:font-medium ww:text-primary-foreground ww:transition-opacity ww:group-hover:opacity-0",children:n.files.length}),(0,Wt.jsx)(ao,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):(0,Wt.jsx)(an,{className:K(e),onClick:()=>n.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??(0,Wt.jsx)($i,{className:"ww:size-4"})})};var s0=j(ce(),1),lO="can make mistakes";function i0({text:e}){return e===!1?null:(0,s0.jsx)("span",{className:"ww:text-[11px] ww:text-muted-foreground ww:opacity-70",children:e||lO})}var Sc=j(Ke(),1);var no=j(ce(),1),u0=({className:e,...t})=>(0,no.jsx)("div",{className:K("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),c0=({className:e,...t})=>(0,no.jsx)("li",{className:K("ww:group ww:flex ww:items-center ww:gap-2 ww:rounded-md ww:px-2 ww:py-1 ww:text-sm ww:transition-colors ww:hover:bg-muted",e),...t}),d0=({className:e,...t})=>(0,no.jsx)("span",{className:K("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),f0=({className:e,...t})=>(0,no.jsx)("span",{className:K("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),p0=({className:e,...t})=>(0,no.jsx)("div",{className:K("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),m0=({className:e,...t})=>(0,no.jsx)(an,{className:K("ww:size-auto ww:rounded ww:p-1 ww:text-muted-foreground ww:hover:bg-muted-foreground/10 ww:hover:text-foreground",e),size:"icon",type:"button",variant:"ghost",...t});var _a=j(ce(),1),h0=(0,Sc.memo)(({message:e,onRemove:t})=>{let a=(0,Sc.useCallback)(()=>t(e.id),[t,e.id]);return(0,_a.jsxs)(c0,{children:[(0,_a.jsx)(d0,{}),(0,_a.jsx)(f0,{children:e.text||"(attachment)"}),(0,_a.jsx)(p0,{children:(0,_a.jsx)(m0,{"aria-label":"Remove from queue",onClick:a,children:(0,_a.jsx)(ao,{className:"ww:size-3"})})})]})});h0.displayName="ChatQueueItem";function g0({queuedMessages:e,onRemove:t,className:a}){return e.length===0?null:(0,_a.jsxs)(u0,{className:K("ww:border-t ww:border-border",a),children:[(0,_a.jsxs)("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:[e.length," queued"]}),(0,_a.jsx)("ul",{children:e.map(n=>(0,_a.jsx)(h0,{message:n,onRemove:t},n.id))})]})}var wr=j(ce(),1),y0=({files:e,className:t,...a})=>e.length===0?null:(0,wr.jsx)("div",{className:K("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((n,r)=>(0,wr.jsx)(iO,{file:n},r))});function iO({file:e}){return e.mediaType?.startsWith("image/")&&e.url?(0,wr.jsx)("img",{src:e.url,alt:e.filename??"attachment",className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):(0,wr.jsxs)("span",{className:"ww:inline-flex ww:items-center ww:gap-1.5 ww:rounded ww:bg-background/20 ww:px-2 ww:py-1 ww:text-xs",children:[(0,wr.jsx)(Gi,{className:"ww:size-3 ww:shrink-0"}),(0,wr.jsx)("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??"file"})]})}var Qm=j(ce(),1),Km=({className:e,size:t=5,...a})=>(0,Qm.jsx)("div",{className:K("ww:flex ww:items-center ww:gap-1",e),...a,children:[0,1,2].map(n=>(0,Qm.jsx)("div",{className:"ww:rounded-full ww:bg-muted-foreground/60",style:{width:t,height:t,animation:"ww-pulse 1.4s ease-in-out infinite",animationDelay:`${n*.2}s`}},n))});var x0={name:"cjk-noop",type:"cjk",remarkPluginsBefore:[],remarkPluginsAfter:[],remarkPlugins:[]};var w0={name:"shiki-noop",type:"code-highlighter",supportsLanguage:()=>!1,getSupportedLanguages:()=>[],getThemes:()=>["github-light","github-dark"],highlight:()=>null};var KA=j(Ke(),1);kd();var Cs=j(ce(),1),Dd=({className:e,from:t,children:a,...n})=>(0,Cs.jsx)("div",{className:K("ww:group ww:flex ww:w-full",t==="user"?"is-user ww:ml-auto ww:max-w-[80%] ww:flex-col ww:items-end":"is-assistant ww:flex-col",e),...n,children:(0,Cs.jsx)("div",{className:K("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),_d=({children:e,className:t,...a})=>(0,Cs.jsx)("div",{className:K("ww:flex ww:w-fit ww:min-w-0 ww:max-w-full ww:flex-col ww:gap-2 ww:overflow-hidden ww:text-base","ww:group-[.is-user]:ml-auto ww:group-[.is-user]:rounded-lg ww:group-[.is-user]:bg-user-bubble ww:group-[.is-user]:px-4 ww:group-[.is-user]:py-3 ww:group-[.is-user]:text-primary-foreground","ww:group-[.is-assistant]:text-foreground",t),...a,children:e}),Tz={cjk:x0,code:w0},Az={enabled:!1},Od=(0,KA.memo)(({className:e,linkSafety:t,...a})=>(0,Cs.jsx)(Rd,{className:K("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??Az,plugins:Tz,...a}),(e,t)=>e.children===t.children);Od.displayName="MessageResponse";var JA=j(ce(),1);function YA({className:e,text:t,...a}){return t?(0,JA.jsx)("pre",{className:K("ww:mb-2 ww:overflow-x-auto ww:whitespace-pre-wrap ww:break-words ww:text-xs ww:font-mono ww:text-muted-foreground",e),...a,children:t}):null}var kt=j(Ke(),1);var de=j(ce(),1);function Mz(e,t=80){if(e==null)return String(e);if(typeof e!="object")return String(e).slice(0,t);if(Array.isArray(e))return`Array(${e.length})`;let a=JSON.stringify(e);if(a.length<=t)return a;let n=Object.entries(e),r=[],o=t-2;for(let[l,i]of n){if(o<=8)break;let s=l.length>4?`${l.slice(0,4)}\u2026`:l,u;typeof i=="string"?u=i.length>2?`'${i.slice(0,1)}\u2026`:`'${i}'`:Array.isArray(i)?u=`Array(${i.length})`:typeof i=="object"&&i!==null?u="{\u2026}":u=String(i);let c=`${s}\u2009${u}`;r.push(c),o-=c.length+3}return`{${r.join(", ")}}`}function Ez({text:e,className:t}){let[a,n]=(0,kt.useState)(!1),r=(0,kt.useRef)(null);(0,kt.useEffect)(()=>()=>{r.current&&clearTimeout(r.current)},[]);let o=(0,kt.useCallback)(async l=>{l.stopPropagation();try{await navigator.clipboard.writeText(e),n(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>n(!1),2e3)}catch{}},[e]);return(0,de.jsx)(an,{variant:"ghost",size:"sm",onClick:o,className:K("ww:h-auto ww:gap-1 ww:px-1.5 ww:py-0.5 ww:text-xs ww:text-muted-foreground ww:hover:text-foreground",t),children:a?(0,de.jsxs)(de.Fragment,{children:[(0,de.jsx)(Fi,{className:"ww:size-3.5"}),(0,de.jsx)("span",{children:"Copied"})]}):(0,de.jsxs)(de.Fragment,{children:[(0,de.jsx)(Vi,{className:"ww:size-3.5"}),(0,de.jsx)("span",{children:"Copy"})]})})}function aM({data:e,label:t,className:a,...n}){let[r,o]=(0,kt.useState)(!1),l=(0,kt.useMemo)(()=>JSON.stringify(e,null,2),[e]),i=Mz(e);return(0,de.jsxs)("div",{className:K("ww:rounded-lg ww:bg-tool-card",a),...n,children:[(0,de.jsxs)("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[(0,de.jsx)("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),(0,de.jsx)(Ez,{text:l})]}),(0,de.jsxs)("button",{type:"button",onClick:()=>o(s=>!s),className:"ww:flex ww:w-full ww:items-start ww:gap-2 ww:px-3 ww:pb-3 ww:text-left",children:[(0,de.jsx)(ji,{className:K("ww:mt-0.5 ww:size-3.5 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-150",r&&"ww:rotate-90")}),r?(0,de.jsx)("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:(0,de.jsx)("code",{children:l})}):(0,de.jsx)("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var ky=(0,kt.createContext)({open:!1,toggle:()=>{}});function nM({className:e,defaultOpen:t=!1,children:a,...n}){let[r,o]=(0,kt.useState)(t);return(0,de.jsx)(ky.Provider,{value:{open:r,toggle:()=>o(l=>!l)},children:(0,de.jsx)("div",{className:K("ww:mb-4 ww:w-full",e),"data-state":r?"open":"closed",...n,children:a})})}function rM({className:e,title:t,state:a,...n}){let{open:r,toggle:o}=(0,kt.useContext)(ky),l=a==="input-available"||a==="input-streaming";return(0,de.jsxs)("button",{type:"button",onClick:o,className:K("ww:flex ww:w-full ww:items-center ww:justify-between ww:gap-3 ww:py-1.5",e),"aria-expanded":r,...n,children:[(0,de.jsxs)("div",{className:"ww:flex ww:min-w-0 ww:items-center ww:gap-2",children:[(0,de.jsx)(xr,{className:"ww:size-4 ww:shrink-0 ww:text-muted-foreground"}),(0,de.jsx)("span",{className:"ww:truncate ww:text-sm ww:font-medium",children:t}),l&&(0,de.jsx)("span",{className:"ww:size-2 ww:shrink-0 ww:rounded-full ww:bg-primary ww:animate-pulse"})]}),(0,de.jsx)(Hi,{className:K("ww:size-4 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-200",r&&"ww:rotate-180")})]})}function oM({className:e,title:t,state:a,...n}){let r=a==="input-available"||a==="input-streaming";return(0,de.jsxs)("div",{className:K("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:py-1.5 ww:text-sm ww:text-muted-foreground ww:italic",e),...n,children:[(0,de.jsx)("span",{className:"ww:truncate",children:t}),r&&(0,de.jsx)("span",{className:"ww:size-2 ww:shrink-0 ww:rounded-full ww:bg-primary ww:animate-pulse"})]})}function lM({className:e,children:t,...a}){let{open:n}=(0,kt.useContext)(ky);return(0,de.jsx)("div",{className:K("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",n?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:(0,de.jsx)("div",{className:"ww:min-h-0 ww:overflow-hidden",children:(0,de.jsx)("div",{className:K("ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",e),...a,children:t})})})}function iM({className:e,input:t,debug:a,...n}){let r=(0,kt.useMemo)(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:o,...l}=t;return l}return t},[t,a]);return(0,de.jsx)(aM,{data:r,label:"Request",className:e,...n})}function Ly(e){if(!(typeof e!="object"||e===null))return e}function sM(e){return Ly(e?.ui)}function uM(e){return Ly(Ly(e)?._meta)}function eM(e){if(!e)return;let t=sM(e)?.resourceUri;if(typeof t=="string"&&t.length>0)return t;let a=e["ui/resourceUri"];if(typeof a=="string"&&a.length>0)return a;let n=e["openai/outputTemplate"];if(typeof n=="string"&&n.length>0)return n}function tM(e){return sM(e)?.autoHeight===!0}function Pd(e,t,a){if(e){let n=eM(a?.[e]?._meta);if(n)return n}return eM(uM(t))}function cM(e,t,a){return e&&tM(a?.[e]?._meta)?!0:tM(uM(t))}function dM({className:e,output:t,errorText:a,debug:n,...r}){let o=(0,kt.useMemo)(()=>{if(!n&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:l,...i}=t;return i}return t},[t,n]);return t||a?a?(0,de.jsxs)("div",{className:K("ww:space-y-2",e),...r,children:[(0,de.jsx)("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:"Error"}),(0,de.jsx)("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):(0,de.jsx)(aM,{data:o,label:"Response",className:e,...r}):null}var $e=j(Ke(),1);function Ml(e){if(!e)return!1;let t=Array.isArray(e.content)&&e.content.length>0,a=typeof e.structuredContent=="object"&&e.structuredContent!==null&&Object.keys(e.structuredContent).length>0;return t||a}function fM(e,t){return!Ml(e)&&!Ml(t)?null:Ml(e)?Ml(t)?{...e.content||t.content?{content:[...e.content??[],...t.content??[]]}:{},...e.structuredContent||t.structuredContent?{structuredContent:{...e.structuredContent??{},...t.structuredContent??{}}}:{}}:{...e.content?{content:[...e.content]}:{},...e.structuredContent?{structuredContent:{...e.structuredContent}}:{}}:{...t?.content?{content:[...t.content]}:{},...t?.structuredContent?{structuredContent:{...t.structuredContent}}:{}}}var mM=j(ce(),1),Rz="/api/mcp/resource",Dz=500,_z=0,Oz=16,Pz="2026-01-26",Nz=300,Bz=3e3,Uz=3;function zz(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function qz(e,t,a){return Pd(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function pM({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:n=Rz,chatSessionId:r,isDark:o=!1,className:l,autoHeight:i=!1,onOpenLink:s,onFollowUp:u,onCallTool:c,onDisplayModeChange:d,isFullscreen:f=!1,toolDefinitions:p}){let g=(0,$e.useRef)(null),w=(0,$e.useRef)(t),C=(0,$e.useRef)(a),y=(0,$e.useRef)({width:0,height:0}),x=(0,$e.useRef)(null),h=(0,$e.useRef)(!1),v=(0,$e.useRef)(0),A=(0,$e.useRef)("inline"),[I,M]=(0,$e.useState)(_z),[_,P]=(0,$e.useState)(void 0),k=(0,$e.useRef)(s),B=(0,$e.useRef)(u),R=(0,$e.useRef)(c),U=(0,$e.useRef)(d),G=(0,$e.useRef)(r),V=(0,$e.useRef)(p);w.current=t,C.current=a,k.current=s,B.current=u,R.current=c,U.current=d,G.current=r,V.current=p;let Y=(0,$e.useCallback)(Se=>i?Math.max(Se+Oz,0):Math.min(Math.max(Se,50),Dz),[i]),he=(0,$e.useMemo)(()=>{let Se=n.includes("?")?"&":"?";return`${n}${Se}uri=${encodeURIComponent(e)}`},[n,e]),Me=(0,$e.useRef)(o);return Me.current=o,(0,$e.useEffect)(()=>{if(!h.current)return;let Se=g.current;Se?.contentWindow&&Se.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:o?"dark":"light"}},"*")},[o]),(0,$e.useEffect)(()=>{let Se=g.current;if(!Se)return;let S=!1,at=!1,it=null,L=null,Ze=setTimeout(()=>{if(S||at||v.current>=Uz)return;v.current+=1;let nt=new URL(Se.src);nt.searchParams.set("_retry",String(v.current)),Se.src=nt.toString()},Bz),ke=nt=>{Se.contentWindow?.postMessage(nt,"*")},Dt=nt=>{if(S||nt.source!==Se.contentWindow)return;let re=nt.data;if(!re||typeof re!="object"||re.jsonrpc!=="2.0")return;let Be=re.method,F=re.id;if(Be==="ui/initialize"&&F!=null){at=!0,clearTimeout(Ze),ke({jsonrpc:"2.0",id:F,result:{protocolVersion:re.params?.protocolVersion??Pz,hostInfo:{name:"WaniWani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Me.current?"dark":"light",displayMode:A.current}}});return}if(Be==="ui/notifications/initialized"){h.current=!0;let $=w.current,oe=C.current,se=oe._meta&&typeof oe._meta=="object"?oe._meta:null,Ee=zz(G.current),Ue=se&&typeof se.waniwani=="object"&&se.waniwani!==null?se.waniwani:null,_t=Ue||Ee?{...Ue??{},...Ee?{sessionId:Ee}:{}}:void 0,za=se||_t?{...se??{},..._t?{waniwani:_t}:{}}:void 0;ke({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:$}});let jn=oe.content??[{type:"text",text:JSON.stringify(oe)}];ke({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:jn,structuredContent:oe.structuredContent,_meta:za,meta:za}});return}if(Be==="ui/notifications/size-changed"){let $=re.params,oe=typeof $?.height=="number"?$.height:void 0,se=typeof $?.width=="number"?$.width:void 0,Ee=y.current,Ue=oe!==void 0&&oe!==Ee.height,_t=se!==void 0&&se!==Ee.width;if(!Ue&&!_t)return;if(Ue&&oe!==void 0){Ee.height=oe;let za=Y(oe),jn=Se.getBoundingClientRect().height;if(x.current&&(x.current.cancel(),x.current=null),M(za),Se.animate&&Math.abs(jn-za)>2){let dn=Se.animate([{height:`${jn}px`},{height:`${za}px`}],{duration:Nz,easing:"ease-out",fill:"forwards"});x.current=dn,dn.onfinish=()=>{x.current===dn&&(dn.cancel(),x.current=null)}}}_t&&i&&se!==void 0&&(Ee.width=se,P(se));return}if(Be==="ui/open-link"&&F!=null){let $=re.params?.url;typeof $=="string"&&(k.current?k.current($):window.open($,"_blank","noopener,noreferrer")),ke({jsonrpc:"2.0",id:F,result:{}});return}if(Be==="ui/message"&&F!=null){if(B.current&&re.params){let $=re.params,oe=it;if(it=null,L){clearTimeout(L.timer);let se=L.text;L=null;let Ee=($.content??[]).map(Ue=>Ue.text??"").join("").trim();$={...$,content:[{type:"text",text:`${Ee}
121
+ `||e[t]==="\r");)t-=1;return t>=1&&e[t]==="$"&&e[t-1]==="$"},yy=e=>{let t=0;for(let a=0;a<e.length-1;a+=1)e[a]==="$"&&e[a+1]==="$"&&(t+=1,a+=1);return t},XA=e=>{let t=gz.test(e),a=yz.test(e);if(t||a)return[e];let n=xa.lex(e,{gfm:!0}),r=[],o=[];for(let l of n){let i=l.raw,s=r.length;if(o.length>0){if(r[s-1]+=i,l.type==="html"){let u=i.match(xz);if(u){let c=u[1];o.at(-1)===c&&o.pop()}}continue}if(l.type==="html"&&l.block){let u=i.match(wz);if(u){let c=u[1];i.includes(`</${c}>`)||o.push(c)}}if(i.trim()==="$$"&&s>0){let u=r[s-1],c=gy(u),d=yy(u);if(c&&d%2===1){r[s-1]=u+i;continue}}if(s>0&&vz(i)){let u=r[s-1],c=gy(u),d=yy(u),f=yy(i);if(c&&d%2===1&&!gy(i)&&f===1){r[s-1]=u+i;continue}}r.push(i)}return r},ZA={raw:A0,sanitize:[Rc,{}],harden:[k0,{allowedImagePrefixes:["*"],allowedLinkPrefixes:["*"],allowedProtocols:["*"],defaultOrigin:void 0,allowDataImages:!0}]},QA={gfm:[ad,{}]},bz=Object.values(ZA),Sz=Object.values(QA),Cz={block:" \u258B",circle:" \u25CF"},Iz={shikiTheme:["github-light","github-dark"],controls:!0,isAnimating:!1,mode:"streaming",mermaid:void 0,linkSafety:{enabled:!0}},Zt=(0,E.createContext)(Iz),Iy=(0,E.memo)(({content:e,shouldParseIncompleteMarkdown:t,index:a,...n})=>(0,T.jsx)($A,{...n,children:e}),(e,t)=>{if(e.content!==t.content||e.index!==t.index)return!1;if(e.components!==t.components){let a=Object.keys(e.components||{}),n=Object.keys(t.components||{});if(a.length!==n.length||a.some(r=>{var o,l;return((o=e.components)==null?void 0:o[r])!==((l=t.components)==null?void 0:l[r])}))return!1}return!(e.rehypePlugins!==t.rehypePlugins||e.remarkPlugins!==t.remarkPlugins)});Iy.displayName="Block";Lz=["github-light","github-dark"],Rd=(0,E.memo)(({children:e,mode:t="streaming",parseIncompleteMarkdown:a=!0,components:n,rehypePlugins:r=bz,remarkPlugins:o=Sz,className:l,shikiTheme:i=Lz,mermaid:s,controls:u=!0,isAnimating:c=!1,BlockComponent:d=Iy,parseMarkdownIntoBlocksFn:f=XA,caret:p,plugins:g,remend:w,linkSafety:C={enabled:!0},...y})=>{let x=(0,E.useId)(),[h,v]=(0,E.useTransition)(),A=(0,E.useMemo)(()=>typeof e!="string"?"":t==="streaming"&&a?q1(e,w):e,[e,t,a,w]),I=(0,E.useMemo)(()=>f(A),[A,f]),[M,_]=(0,E.useState)(I);(0,E.useEffect)(()=>{t==="streaming"?v(()=>{_(I)}):_(I)},[I,t]);let P=t==="streaming"?M:I,k=(0,E.useMemo)(()=>P.map((Y,he)=>`${x}-${he}`),[P.length,x]),B=(0,E.useMemo)(()=>{var Y,he;return{shikiTheme:(he=(Y=g?.code)==null?void 0:Y.getThemes())!=null?he:i,controls:u,isAnimating:c,mode:t,mermaid:s,linkSafety:C}},[i,u,c,t,s,C,g?.code]),R=(0,E.useMemo)(()=>({...dz,...n}),[n]),U=(0,E.useMemo)(()=>{let Y=[];return g!=null&&g.cjk&&(Y=[...Y,...g.cjk.remarkPluginsBefore]),Y=[...Y,...o],g!=null&&g.cjk&&(Y=[...Y,...g.cjk.remarkPluginsAfter]),g!=null&&g.math&&(Y=[...Y,g.math.remarkPlugin]),Y},[o,g?.math,g?.cjk]),G=(0,E.useMemo)(()=>g!=null&&g.math?[...r,g.math.rehypePlugin]:r,[r,g?.math]),V=(0,E.useMemo)(()=>p&&c?{"--streamdown-caret":`"${Cz[p]}"`}:void 0,[p,c]);return t==="static"?(0,T.jsx)(xy.Provider,{value:g??null,children:(0,T.jsx)(Zt.Provider,{value:B,children:(0,T.jsx)("div",{className:J("space-y-4 whitespace-normal *:first:mt-0 *:last:mb-0",l),children:(0,T.jsx)($A,{components:R,rehypePlugins:G,remarkPlugins:U,...y,children:e})})})}):(0,T.jsx)(xy.Provider,{value:g??null,children:(0,T.jsx)(Zt.Provider,{value:B,children:(0,T.jsxs)("div",{className:J("space-y-4 whitespace-normal *:first:mt-0 *:last:mb-0",p?"*:last:after:inline *:last:after:align-baseline *:last:after:content-(--streamdown-caret)":null,l),style:V,children:[P.length===0&&p&&c&&(0,T.jsx)("span",{}),P.map((Y,he)=>(0,T.jsx)(d,{components:R,content:Y,index:he,rehypePlugins:G,remarkPlugins:U,shouldParseIncompleteMarkdown:a,...y},k[he]))]})})})},(e,t)=>e.children===t.children&&e.shikiTheme===t.shikiTheme&&e.isAnimating===t.isAnimating&&e.mode===t.mode&&e.plugins===t.plugins&&e.className===t.className&&e.linkSafety===t.linkSafety);Rd.displayName="Streamdown";kz=({children:e,className:t,minZoom:a=.5,maxZoom:n=3,zoomStep:r=.1,showControls:o=!0,initialZoom:l=1,fullscreen:i=!1})=>{let s=(0,E.useRef)(null),u=(0,E.useRef)(null),[c,d]=(0,E.useState)(l),[f,p]=(0,E.useState)({x:0,y:0}),[g,w]=(0,E.useState)(!1),[C,y]=(0,E.useState)({x:0,y:0}),[x,h]=(0,E.useState)({x:0,y:0}),v=(0,E.useCallback)(R=>{d(U=>Math.max(a,Math.min(n,U+R)))},[a,n]),A=(0,E.useCallback)(()=>{v(r)},[v,r]),I=(0,E.useCallback)(()=>{v(-r)},[v,r]),M=(0,E.useCallback)(()=>{d(l),p({x:0,y:0})},[l]),_=(0,E.useCallback)(R=>{R.preventDefault();let U=R.deltaY>0?-r:r;v(U)},[v,r]),P=(0,E.useCallback)(R=>{if(R.button!==0||R.isPrimary===!1)return;w(!0),y({x:R.clientX,y:R.clientY}),h(f);let U=R.currentTarget;U instanceof HTMLElement&&U.setPointerCapture(R.pointerId)},[f]),k=(0,E.useCallback)(R=>{if(!g)return;R.preventDefault();let U=R.clientX-C.x,G=R.clientY-C.y;p({x:x.x+U,y:x.y+G})},[g,C,x]),B=(0,E.useCallback)(R=>{w(!1);let U=R.currentTarget;U instanceof HTMLElement&&U.releasePointerCapture(R.pointerId)},[]);return(0,E.useEffect)(()=>{let R=s.current;if(R)return R.addEventListener("wheel",_,{passive:!1}),()=>{R.removeEventListener("wheel",_)}},[_]),(0,E.useEffect)(()=>{let R=u.current;if(R&&g)return document.body.style.userSelect="none",R.addEventListener("pointermove",k,{passive:!1}),R.addEventListener("pointerup",B),R.addEventListener("pointercancel",B),()=>{document.body.style.userSelect="",R.removeEventListener("pointermove",k),R.removeEventListener("pointerup",B),R.removeEventListener("pointercancel",B)}},[g,k,B]),(0,T.jsxs)("div",{className:J("relative flex flex-col",i?"h-full w-full":"min-h-28 w-full",t),ref:s,style:{cursor:g?"grabbing":"grab"},children:[o?(0,T.jsxs)("div",{className:J("absolute z-10 flex flex-col gap-1 rounded-md border border-border bg-background/90 p-1 shadow-sm backdrop-blur-sm",i?"bottom-4 left-4":"bottom-2 left-2"),children:[(0,T.jsx)("button",{className:"flex items-center justify-center rounded p-1.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",disabled:c>=n,onClick:A,title:"Zoom in",type:"button",children:(0,T.jsx)(H4,{size:16})}),(0,T.jsx)("button",{className:"flex items-center justify-center rounded p-1.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",disabled:c<=a,onClick:I,title:"Zoom out",type:"button",children:(0,T.jsx)(j4,{size:16})}),(0,T.jsx)("button",{className:"flex items-center justify-center rounded p-1.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",onClick:M,title:"Reset zoom and pan",type:"button",children:(0,T.jsx)(F4,{size:16})})]}):null,(0,T.jsx)("div",{className:J("flex-1 origin-center transition-transform duration-150 ease-out",i?"flex h-full w-full items-center justify-center":"flex w-full items-center justify-center"),onPointerDown:P,ref:u,role:"application",style:{transform:`translate(${f.x}px, ${f.y}px) scale(${c})`,transformOrigin:"center center",touchAction:"none",willChange:"transform"},children:e})]})},my=({chart:e,className:t,config:a,fullscreen:n=!1,showControls:r=!0})=>{let[o,l]=(0,E.useState)(null),[i,s]=(0,E.useState)(!1),[u,c]=(0,E.useState)(""),[d,f]=(0,E.useState)(""),[p,g]=(0,E.useState)(0),{mermaid:w}=(0,E.useContext)(Zt),C=Sy(),y=w?.errorComponent,{shouldRender:x,containerRef:h}=U4({immediate:n});if((0,E.useEffect)(()=>{if(x){if(!C){l("Mermaid plugin not available. Please add the mermaid plugin to enable diagram rendering.");return}(async()=>{try{l(null),s(!0);let A=C.getMermaid(a),I=e.split("").reduce((P,k)=>(P<<5)-P+k.charCodeAt(0)|0,0),M=`mermaid-${Math.abs(I)}-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,{svg:_}=await A.render(M,e);c(_),f(_)}catch(A){if(!(d||u)){let I=A instanceof Error?A.message:"Failed to render Mermaid chart";l(I)}}finally{s(!1)}})()}},[e,a,p,x,C]),!(x||u||d))return(0,T.jsx)("div",{className:J("my-4 min-h-[200px]",t),ref:h});if(i&&!u&&!d)return(0,T.jsx)("div",{className:J("my-4 flex justify-center p-4",t),ref:h,children:(0,T.jsxs)("div",{className:"flex items-center space-x-2 text-muted-foreground",children:[(0,T.jsx)("div",{className:"h-4 w-4 animate-spin rounded-full border-current border-b-2"}),(0,T.jsx)("span",{className:"text-sm",children:"Loading diagram..."})]})});if(o&&!u&&!d)return y?(0,T.jsx)("div",{ref:h,children:(0,T.jsx)(y,{chart:e,error:o,retry:()=>g(I=>I+1)})}):(0,T.jsxs)("div",{className:J("rounded-lg border border-red-200 bg-red-50 p-4",t),ref:h,children:[(0,T.jsxs)("p",{className:"font-mono text-red-700 text-sm",children:["Mermaid Error: ",o]}),(0,T.jsxs)("details",{className:"mt-2",children:[(0,T.jsx)("summary",{className:"cursor-pointer text-red-600 text-xs",children:"Show Code"}),(0,T.jsx)("pre",{className:"mt-2 overflow-x-auto rounded bg-red-100 p-2 text-red-800 text-xs",children:e})]})]});let v=u||d;return(0,T.jsx)("div",{className:J("size-full",t),"data-streamdown":"mermaid",ref:h,children:(0,T.jsx)(kz,{className:J(n?"size-full overflow-hidden":"my-4 overflow-hidden",t),fullscreen:n,maxZoom:3,minZoom:.5,showControls:r,zoomStep:.1,children:(0,T.jsx)("div",{"aria-label":"Mermaid chart",className:J("flex justify-center",n?"size-full items-center":null),dangerouslySetInnerHTML:{__html:v},role:"img"})})})}});var l2=zt((JJ,o2)=>{"use strict";function t6(e,t){if(typeof e!="function")throw new TypeError(`Expected the first argument to be a \`function\`, got \`${typeof e}\`.`);let a,n=0;return function(...o){clearTimeout(a);let l=Date.now(),i=l-n,s=t-i;s<=0?(n=l,e.apply(this,o)):a=setTimeout(()=>{n=Date.now(),e.apply(this,o)},s)}}o2.exports=t6});var Jy=j(Ke(),1),z2=j(jS(),1);var q_="https://app.waniwani.ai/api/mcp/chat",F_={api:q_};function H_(){if(typeof document>"u")return null;if(document.currentScript instanceof HTMLScriptElement)return document.currentScript;let e=document.querySelectorAll("script[src]");for(let t of e)if(t instanceof HTMLScriptElement&&/embed/i.test(t.src))return t;return null}function yc(){let e=H_();if(!e)return{};let t=x=>e.getAttribute(x)??void 0,a=x=>{let h=e.getAttribute(x);if(h==null)return;let v=h.trim().toLowerCase();if(v==="true"||v==="1"||v==="")return!0;if(v==="false"||v==="0")return!1},n={},r=t("data-api");r&&(n.api=r);let o=t("data-token");o&&(n.token=o);let l=t("data-title");l&&(n.title=l);let i=t("data-welcome-message");i&&(n.welcomeMessage=i);let s=t("data-placeholder");s&&(n.placeholder=s);let u=t("data-mcp-server-url");u&&(n.mcpServerUrl=u);let c=t("data-channel-id");c&&(n.channelId=c);let d=a("data-show-tool-calls");d!==void 0&&(n.showToolCalls=d);let f=t("data-css");f&&(n.css=f);let p=t("data-suggestions");p&&(n.suggestions=p.split(",").map(x=>x.trim()).filter(Boolean));let g=a("data-enable-thread-history");g!==void 0&&(n.enableThreadHistory=g);let w=a("data-hide-header");w!==void 0&&(n.hideHeader=w);let C=t("data-theme");(C==="light"||C==="dark"||C==="auto")&&(n.appearance={theme:C});let y=t("data-disclaimer");if(y!==void 0){let x=y.trim(),h=x.toLowerCase();h==="false"||h==="0"?n.disclaimer=!1:x&&(n.disclaimer=x)}return n}function Gm(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function Bi(e,t,a){let n=a??yc(),r=j_(t,n,e),o={token:"",...F_,...Gm(t),...Gm(n),...Gm(e),...r?{appearance:r}:{}};if(!o.token)throw new Error("[WaniWani] Missing required config: `token`. Set data-token on the script tag or pass it to WaniWani.chat.init().");return o}function j_(e,t,a){let n=a?.appearance?.theme??t.appearance?.theme??e?.appearance?.theme,r={...e?.appearance?.variables??{},...t.appearance?.variables??{},...a?.appearance?.variables??{}},o=Object.keys(r).length>0;if(!n&&!o)return;let l={};return n&&(l.theme=n),o&&(l.variables=r),l}var Or=j(Ke(),1);var wc=j(Ke());var xc=(...e)=>e.filter((t,a,n)=>!!t&&t.trim()!==""&&n.indexOf(t)===a).join(" ").trim();var VS=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var GS=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,n)=>n?n.toUpperCase():a.toLowerCase());var Wm=e=>{let t=GS(e);return t.charAt(0).toUpperCase()+t.slice(1)};var Ui=j(Ke());var WS={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var $S=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var XS=(0,Ui.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:n,className:r="",children:o,iconNode:l,...i},s)=>(0,Ui.createElement)("svg",{ref:s,...WS,width:t,height:t,stroke:e,strokeWidth:n?Number(a)*24/Number(t):a,className:xc("lucide",r),...!o&&!$S(i)&&{"aria-hidden":"true"},...i},[...l.map(([u,c])=>(0,Ui.createElement)(u,c)),...Array.isArray(o)?o:[o]]));var lt=(e,t)=>{let a=(0,wc.forwardRef)(({className:n,...r},o)=>(0,wc.createElement)(XS,{ref:o,iconNode:t,className:xc(`lucide-${VS(Wm(e))}`,`lucide-${e}`,n),...r}));return a.displayName=Wm(e),a};var V_=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],zi=lt("arrow-down",V_);var G_=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],qi=lt("arrow-up",G_);var W_=[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]],xr=lt("braces",W_);var $_=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Fi=lt("check",$_);var X_=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Hi=lt("chevron-down",X_);var Z_=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],ji=lt("chevron-right",Z_);var Q_=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]],Vi=lt("clipboard-copy",Q_);var K_=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]],Gi=lt("file",K_);var Y_=[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]],Wi=lt("loader",Y_);var J_=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],$i=lt("paperclip",J_);var eO=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Xi=lt("square",eO);var tO=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],ao=lt("x",tO);var Xe=j(Ke(),1);var Zi=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,a)=>(a&=63,a<36?t+=a.toString(36):a<62?t+=(a-26).toString(36).toUpperCase():a>62?t+="-":t+="_",t),"");var Ve=j(Ke(),1);$m();Zm();var aO=QS({prefix:"ww"});function K(...e){return aO(vc(e))}var e0=j(ce(),1),an=({className:e,variant:t="default",size:a="default",type:n="button",...r})=>(0,e0.jsx)("button",{type:n,className:K("ww:inline-flex ww:cursor-pointer ww:items-center ww:justify-center ww:rounded-md ww:font-medium ww:transition-colors ww:disabled:pointer-events-none ww:disabled:opacity-50",t==="default"&&"ww:bg-primary ww:text-primary-foreground ww:hover:bg-primary/90",t==="outline"&&"ww:border ww:border-border ww:bg-background ww:hover:bg-accent ww:hover:text-accent-foreground",t==="ghost"&&"ww:hover:bg-accent ww:hover:text-accent-foreground",a==="default"&&"ww:h-9 ww:px-4 ww:py-2 ww:text-sm",a==="sm"&&"ww:h-8 ww:px-3 ww:text-xs",a==="icon"&&"ww:size-9 ww:!rounded-full",a==="icon-sm"&&"ww:size-7 ww:!rounded-full",e),...r});var Wt=j(ce(),1),oO=async e=>{try{let a=await(await fetch(e)).blob();return new Promise(n=>{let r=new FileReader;r.onloadend=()=>n(r.result),r.onerror=()=>n(null),r.readAsDataURL(a)})}catch{return null}},t0=(0,Ve.createContext)(null),a0=()=>{let e=(0,Ve.useContext)(t0);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},n0=({className:e,accept:t,multiple:a,globalDrop:n,maxFiles:r,maxFileSize:o,onSubmit:l,children:i,...s})=>{let u=(0,Ve.useRef)(null),c=(0,Ve.useRef)(null),[d,f]=(0,Ve.useState)([]),p=(0,Ve.useRef)(d);(0,Ve.useEffect)(()=>{p.current=d},[d]);let g=(0,Ve.useCallback)(()=>{u.current?.click()},[]),w=(0,Ve.useCallback)(A=>{let I=[...A];if(I.length===0)return;let M=P=>o?P.size<=o:!0,_=I.filter(M);f(P=>{let k=typeof r=="number"?Math.max(0,r-P.length):void 0,B=typeof k=="number"?_.slice(0,k):_;return[...P,...B.map(R=>({filename:R.name,id:Zi(),mediaType:R.type,type:"file",url:URL.createObjectURL(R)}))]})},[r,o]),C=(0,Ve.useCallback)(A=>{f(I=>{let M=I.find(_=>_.id===A);return M?.url&&URL.revokeObjectURL(M.url),I.filter(_=>_.id!==A)})},[]),y=(0,Ve.useCallback)(()=>{f(A=>{for(let I of A)I.url&&URL.revokeObjectURL(I.url);return[]})},[]);(0,Ve.useEffect)(()=>()=>{for(let A of p.current)A.url&&URL.revokeObjectURL(A.url)},[]);let x=(0,Ve.useCallback)(A=>{A.currentTarget.files&&w(A.currentTarget.files),A.currentTarget.value=""},[w]);(0,Ve.useEffect)(()=>{if(!n)return;let A=M=>{M.dataTransfer?.types?.includes("Files")&&M.preventDefault()},I=M=>{M.dataTransfer?.types?.includes("Files")&&M.preventDefault(),M.dataTransfer?.files&&M.dataTransfer.files.length>0&&w(M.dataTransfer.files)};return document.addEventListener("dragover",A),document.addEventListener("drop",I),()=>{document.removeEventListener("dragover",A),document.removeEventListener("drop",I)}},[w,n]);let h=(0,Ve.useCallback)(async A=>{A.preventDefault();let I=A.currentTarget,_=new FormData(I).get("message")||"";I.reset();let P=await Promise.all(d.map(async({id:k,...B})=>{if(B.url?.startsWith("blob:")){let R=await oO(B.url);return{...B,url:R??B.url}}return B}));try{let k=l({files:P,text:_},A);k instanceof Promise&&await k,y()}catch{}},[d,l,y]),v=(0,Ve.useMemo)(()=>({add:w,clear:y,files:d,openFileDialog:g,remove:C}),[d,w,C,y,g]);return(0,Wt.jsxs)(t0.Provider,{value:v,children:[(0,Wt.jsx)("input",{accept:t,"aria-label":"Upload files",className:"ww:hidden",multiple:a,onChange:x,ref:u,title:"Upload files",type:"file"}),(0,Wt.jsx)("form",{className:K("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:h,ref:c,...s,children:i})]})};var r0=({onChange:e,onKeyDown:t,className:a,placeholder:n="What would you like to know?",...r})=>{let o=a0(),[l,i]=(0,Ve.useState)(!1),s=(0,Ve.useCallback)(c=>{if(t?.(c),!c.defaultPrevented){if(c.key==="Enter"){if(l||c.nativeEvent.isComposing||c.shiftKey)return;c.preventDefault();let{form:d}=c.currentTarget;if(d?.querySelector('button[type="submit"]')?.disabled)return;d?.requestSubmit()}if(c.key==="Backspace"&&c.currentTarget.value===""&&o.files.length>0){c.preventDefault();let d=o.files.at(-1);d&&o.remove(d.id)}}},[t,l,o]),u=(0,Ve.useCallback)(c=>{let d=c.clipboardData?.items;if(!d)return;let f=[];for(let p of d)if(p.kind==="file"){let g=p.getAsFile();g&&f.push(g)}f.length>0&&(c.preventDefault(),o.add(f))},[o]);return(0,Wt.jsx)("textarea",{className:K("ww:field-sizing-content ww:max-h-48 ww:min-h-0 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-2 ww:text-base ww:sm:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>i(!1),onCompositionStart:()=>i(!0),onKeyDown:s,onPaste:u,placeholder:n,onChange:e,...r})},o0=({className:e,status:t,onStop:a,onClick:n,children:r,...o})=>{let l=t==="submitted"||t==="streaming",i=(0,Wt.jsx)(qi,{className:"ww:size-4"});t==="submitted"?i=(0,Wt.jsx)(Wi,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(i=(0,Wt.jsx)(Xi,{className:"ww:size-4"}));let s=(0,Ve.useCallback)(u=>{if(l&&a){u.preventDefault(),a();return}n?.(u)},[l,a,n]);return(0,Wt.jsx)(an,{"aria-label":l?"Stop":"Submit",className:K("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:s,size:"icon-sm",type:l&&a?"button":"submit",variant:"ghost",...o,children:r??i})},l0=({className:e,children:t,...a})=>{let n=a0();return n.files.length>0?(0,Wt.jsxs)(an,{className:K("ww:group ww:relative",e),onClick:()=>n.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":"Remove all attachments",...a,children:[(0,Wt.jsx)("span",{className:"ww:flex ww:size-5 ww:items-center ww:justify-center ww:rounded-full ww:bg-primary ww:text-[10px] ww:font-medium ww:text-primary-foreground ww:transition-opacity ww:group-hover:opacity-0",children:n.files.length}),(0,Wt.jsx)(ao,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):(0,Wt.jsx)(an,{className:K(e),onClick:()=>n.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??(0,Wt.jsx)($i,{className:"ww:size-4"})})};var s0=j(ce(),1),lO="can make mistakes";function i0({text:e}){return e===!1?null:(0,s0.jsx)("span",{className:"ww:text-[11px] ww:text-muted-foreground ww:opacity-70",children:e||lO})}var Sc=j(Ke(),1);var no=j(ce(),1),u0=({className:e,...t})=>(0,no.jsx)("div",{className:K("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),c0=({className:e,...t})=>(0,no.jsx)("li",{className:K("ww:group ww:flex ww:items-center ww:gap-2 ww:rounded-md ww:px-2 ww:py-1 ww:text-sm ww:transition-colors ww:hover:bg-muted",e),...t}),d0=({className:e,...t})=>(0,no.jsx)("span",{className:K("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),f0=({className:e,...t})=>(0,no.jsx)("span",{className:K("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),p0=({className:e,...t})=>(0,no.jsx)("div",{className:K("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),m0=({className:e,...t})=>(0,no.jsx)(an,{className:K("ww:size-auto ww:rounded ww:p-1 ww:text-muted-foreground ww:hover:bg-muted-foreground/10 ww:hover:text-foreground",e),size:"icon",type:"button",variant:"ghost",...t});var _a=j(ce(),1),h0=(0,Sc.memo)(({message:e,onRemove:t})=>{let a=(0,Sc.useCallback)(()=>t(e.id),[t,e.id]);return(0,_a.jsxs)(c0,{children:[(0,_a.jsx)(d0,{}),(0,_a.jsx)(f0,{children:e.text||"(attachment)"}),(0,_a.jsx)(p0,{children:(0,_a.jsx)(m0,{"aria-label":"Remove from queue",onClick:a,children:(0,_a.jsx)(ao,{className:"ww:size-3"})})})]})});h0.displayName="ChatQueueItem";function g0({queuedMessages:e,onRemove:t,className:a}){return e.length===0?null:(0,_a.jsxs)(u0,{className:K("ww:border-t ww:border-border",a),children:[(0,_a.jsxs)("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:[e.length," queued"]}),(0,_a.jsx)("ul",{children:e.map(n=>(0,_a.jsx)(h0,{message:n,onRemove:t},n.id))})]})}var wr=j(ce(),1),y0=({files:e,className:t,...a})=>e.length===0?null:(0,wr.jsx)("div",{className:K("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((n,r)=>(0,wr.jsx)(iO,{file:n},r))});function iO({file:e}){return e.mediaType?.startsWith("image/")&&e.url?(0,wr.jsx)("img",{src:e.url,alt:e.filename??"attachment",className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):(0,wr.jsxs)("span",{className:"ww:inline-flex ww:items-center ww:gap-1.5 ww:rounded ww:bg-background/20 ww:px-2 ww:py-1 ww:text-xs",children:[(0,wr.jsx)(Gi,{className:"ww:size-3 ww:shrink-0"}),(0,wr.jsx)("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??"file"})]})}var Qm=j(ce(),1),Km=({className:e,size:t=5,...a})=>(0,Qm.jsx)("div",{className:K("ww:flex ww:items-center ww:gap-1",e),...a,children:[0,1,2].map(n=>(0,Qm.jsx)("div",{className:"ww:rounded-full ww:bg-muted-foreground/60",style:{width:t,height:t,animation:"ww-pulse 1.4s ease-in-out infinite",animationDelay:`${n*.2}s`}},n))});var x0={name:"cjk-noop",type:"cjk",remarkPluginsBefore:[],remarkPluginsAfter:[],remarkPlugins:[]};var w0={name:"shiki-noop",type:"code-highlighter",supportsLanguage:()=>!1,getSupportedLanguages:()=>[],getThemes:()=>["github-light","github-dark"],highlight:()=>null};var KA=j(Ke(),1);kd();var Cs=j(ce(),1),Dd=({className:e,from:t,children:a,...n})=>(0,Cs.jsx)("div",{className:K("ww:group ww:flex ww:w-full",t==="user"?"is-user ww:ml-auto ww:max-w-[80%] ww:flex-col ww:items-end":"is-assistant ww:flex-col",e),...n,children:(0,Cs.jsx)("div",{className:K("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),_d=({children:e,className:t,...a})=>(0,Cs.jsx)("div",{className:K("ww:flex ww:w-fit ww:min-w-0 ww:max-w-full ww:flex-col ww:gap-2 ww:overflow-hidden ww:text-base","ww:group-[.is-user]:ml-auto ww:group-[.is-user]:rounded-lg ww:group-[.is-user]:bg-user-bubble ww:group-[.is-user]:px-4 ww:group-[.is-user]:py-3 ww:group-[.is-user]:text-primary-foreground","ww:group-[.is-assistant]:text-foreground",t),...a,children:e}),Tz={cjk:x0,code:w0},Az={enabled:!1},Od=(0,KA.memo)(({className:e,linkSafety:t,...a})=>(0,Cs.jsx)(Rd,{className:K("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??Az,plugins:Tz,...a}),(e,t)=>e.children===t.children);Od.displayName="MessageResponse";var JA=j(ce(),1);function YA({className:e,text:t,...a}){return t?(0,JA.jsx)("pre",{className:K("ww:mb-2 ww:overflow-x-auto ww:whitespace-pre-wrap ww:break-words ww:text-xs ww:font-mono ww:text-muted-foreground",e),...a,children:t}):null}var kt=j(Ke(),1);var de=j(ce(),1);function Mz(e,t=80){if(e==null)return String(e);if(typeof e!="object")return String(e).slice(0,t);if(Array.isArray(e))return`Array(${e.length})`;let a=JSON.stringify(e);if(a.length<=t)return a;let n=Object.entries(e),r=[],o=t-2;for(let[l,i]of n){if(o<=8)break;let s=l.length>4?`${l.slice(0,4)}\u2026`:l,u;typeof i=="string"?u=i.length>2?`'${i.slice(0,1)}\u2026`:`'${i}'`:Array.isArray(i)?u=`Array(${i.length})`:typeof i=="object"&&i!==null?u="{\u2026}":u=String(i);let c=`${s}\u2009${u}`;r.push(c),o-=c.length+3}return`{${r.join(", ")}}`}function Ez({text:e,className:t}){let[a,n]=(0,kt.useState)(!1),r=(0,kt.useRef)(null);(0,kt.useEffect)(()=>()=>{r.current&&clearTimeout(r.current)},[]);let o=(0,kt.useCallback)(async l=>{l.stopPropagation();try{await navigator.clipboard.writeText(e),n(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>n(!1),2e3)}catch{}},[e]);return(0,de.jsx)(an,{variant:"ghost",size:"sm",onClick:o,className:K("ww:h-auto ww:gap-1 ww:px-1.5 ww:py-0.5 ww:text-xs ww:text-muted-foreground ww:hover:text-foreground",t),children:a?(0,de.jsxs)(de.Fragment,{children:[(0,de.jsx)(Fi,{className:"ww:size-3.5"}),(0,de.jsx)("span",{children:"Copied"})]}):(0,de.jsxs)(de.Fragment,{children:[(0,de.jsx)(Vi,{className:"ww:size-3.5"}),(0,de.jsx)("span",{children:"Copy"})]})})}function aM({data:e,label:t,className:a,...n}){let[r,o]=(0,kt.useState)(!1),l=(0,kt.useMemo)(()=>JSON.stringify(e,null,2),[e]),i=Mz(e);return(0,de.jsxs)("div",{className:K("ww:rounded-lg ww:bg-tool-card",a),...n,children:[(0,de.jsxs)("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[(0,de.jsx)("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),(0,de.jsx)(Ez,{text:l})]}),(0,de.jsxs)("button",{type:"button",onClick:()=>o(s=>!s),className:"ww:flex ww:w-full ww:items-start ww:gap-2 ww:px-3 ww:pb-3 ww:text-left",children:[(0,de.jsx)(ji,{className:K("ww:mt-0.5 ww:size-3.5 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-150",r&&"ww:rotate-90")}),r?(0,de.jsx)("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:(0,de.jsx)("code",{children:l})}):(0,de.jsx)("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var ky=(0,kt.createContext)({open:!1,toggle:()=>{}});function nM({className:e,defaultOpen:t=!1,children:a,...n}){let[r,o]=(0,kt.useState)(t);return(0,de.jsx)(ky.Provider,{value:{open:r,toggle:()=>o(l=>!l)},children:(0,de.jsx)("div",{className:K("ww:mb-4 ww:w-full",e),"data-state":r?"open":"closed",...n,children:a})})}function rM({className:e,title:t,state:a,...n}){let{open:r,toggle:o}=(0,kt.useContext)(ky),l=a==="input-available"||a==="input-streaming";return(0,de.jsxs)("button",{type:"button",onClick:o,className:K("ww:flex ww:w-full ww:items-center ww:justify-between ww:gap-3 ww:py-1.5",e),"aria-expanded":r,...n,children:[(0,de.jsxs)("div",{className:"ww:flex ww:min-w-0 ww:items-center ww:gap-2",children:[(0,de.jsx)(xr,{className:"ww:size-4 ww:shrink-0 ww:text-muted-foreground"}),(0,de.jsx)("span",{className:"ww:truncate ww:text-sm ww:font-medium",children:t}),l&&(0,de.jsx)("span",{className:"ww:size-2 ww:shrink-0 ww:rounded-full ww:bg-primary ww:animate-pulse"})]}),(0,de.jsx)(Hi,{className:K("ww:size-4 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-200",r&&"ww:rotate-180")})]})}function oM({className:e,title:t,state:a,...n}){let r=a==="input-available"||a==="input-streaming";return(0,de.jsxs)("div",{className:K("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:py-1.5 ww:text-sm ww:text-muted-foreground ww:italic",e),...n,children:[(0,de.jsx)("span",{className:"ww:truncate",children:t}),r&&(0,de.jsx)("span",{className:"ww:size-2 ww:shrink-0 ww:rounded-full ww:bg-primary ww:animate-pulse"})]})}function lM({className:e,children:t,...a}){let{open:n}=(0,kt.useContext)(ky);return(0,de.jsx)("div",{className:K("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",n?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:(0,de.jsx)("div",{className:"ww:min-h-0 ww:overflow-hidden",children:(0,de.jsx)("div",{className:K("ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",e),...a,children:t})})})}function iM({className:e,input:t,debug:a,...n}){let r=(0,kt.useMemo)(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:o,...l}=t;return l}return t},[t,a]);return(0,de.jsx)(aM,{data:r,label:"Request",className:e,...n})}function Ly(e){if(!(typeof e!="object"||e===null))return e}function sM(e){return Ly(e?.ui)}function uM(e){return Ly(Ly(e)?._meta)}function eM(e){if(!e)return;let t=sM(e)?.resourceUri;if(typeof t=="string"&&t.length>0)return t;let a=e["ui/resourceUri"];if(typeof a=="string"&&a.length>0)return a;let n=e["openai/outputTemplate"];if(typeof n=="string"&&n.length>0)return n}function tM(e){return sM(e)?.autoHeight===!0}function Pd(e,t,a){if(e){let n=eM(a?.[e]?._meta);if(n)return n}return eM(uM(t))}function cM(e,t,a){return e&&tM(a?.[e]?._meta)?!0:tM(uM(t))}function dM({className:e,output:t,errorText:a,debug:n,...r}){let o=(0,kt.useMemo)(()=>{if(!n&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:l,...i}=t;return i}return t},[t,n]);return t||a?a?(0,de.jsxs)("div",{className:K("ww:space-y-2",e),...r,children:[(0,de.jsx)("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:"Error"}),(0,de.jsx)("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):(0,de.jsx)(aM,{data:o,label:"Response",className:e,...r}):null}var $e=j(Ke(),1);function Ml(e){if(!e)return!1;let t=Array.isArray(e.content)&&e.content.length>0,a=typeof e.structuredContent=="object"&&e.structuredContent!==null&&Object.keys(e.structuredContent).length>0;return t||a}function fM(e,t){return!Ml(e)&&!Ml(t)?null:Ml(e)?Ml(t)?{...e.content||t.content?{content:[...e.content??[],...t.content??[]]}:{},...e.structuredContent||t.structuredContent?{structuredContent:{...e.structuredContent??{},...t.structuredContent??{}}}:{}}:{...e.content?{content:[...e.content]}:{},...e.structuredContent?{structuredContent:{...e.structuredContent}}:{}}:{...t?.content?{content:[...t.content]}:{},...t?.structuredContent?{structuredContent:{...t.structuredContent}}:{}}}var mM=j(ce(),1),Rz="/api/mcp/resource",Dz=500,_z=0,Oz=16,Pz="2026-01-26",Nz=300,Bz=3e3,Uz=3;function zz(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function qz(e,t,a){return Pd(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function pM({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:n=Rz,chatSessionId:r,isDark:o=!1,className:l,autoHeight:i=!1,onOpenLink:s,onFollowUp:u,onCallTool:c,onDisplayModeChange:d,isFullscreen:f=!1,toolDefinitions:p}){let g=(0,$e.useRef)(null),w=(0,$e.useRef)(t),C=(0,$e.useRef)(a),y=(0,$e.useRef)({width:0,height:0}),x=(0,$e.useRef)(null),h=(0,$e.useRef)(!1),v=(0,$e.useRef)(0),A=(0,$e.useRef)("inline"),[I,M]=(0,$e.useState)(_z),[_,P]=(0,$e.useState)(void 0),k=(0,$e.useRef)(s),B=(0,$e.useRef)(u),R=(0,$e.useRef)(c),U=(0,$e.useRef)(d),G=(0,$e.useRef)(r),V=(0,$e.useRef)(p);w.current=t,C.current=a,k.current=s,B.current=u,R.current=c,U.current=d,G.current=r,V.current=p;let Y=(0,$e.useCallback)(Se=>i?Math.max(Se+Oz,0):Math.min(Math.max(Se,50),Dz),[i]),he=(0,$e.useMemo)(()=>{let Se=n.includes("?")?"&":"?";return`${n}${Se}uri=${encodeURIComponent(e)}`},[n,e]),Me=(0,$e.useRef)(o);return Me.current=o,(0,$e.useEffect)(()=>{if(!h.current)return;let Se=g.current;Se?.contentWindow&&Se.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:o?"dark":"light"}},"*")},[o]),(0,$e.useEffect)(()=>{let Se=g.current;if(!Se)return;let S=!1,at=!1,it=null,L=null,Ze=setTimeout(()=>{if(S||at||v.current>=Uz)return;v.current+=1;let nt=new URL(Se.src);nt.searchParams.set("_retry",String(v.current)),Se.src=nt.toString()},Bz),ke=nt=>{Se.contentWindow?.postMessage(nt,"*")},Dt=nt=>{if(S||nt.source!==Se.contentWindow)return;let re=nt.data;if(!re||typeof re!="object"||re.jsonrpc!=="2.0")return;let Be=re.method,F=re.id;if(Be==="ui/initialize"&&F!=null){at=!0,clearTimeout(Ze),ke({jsonrpc:"2.0",id:F,result:{protocolVersion:re.params?.protocolVersion??Pz,hostInfo:{name:"WaniWani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Me.current?"dark":"light",displayMode:A.current}}});return}if(Be==="ui/notifications/initialized"){h.current=!0;let $=w.current,oe=C.current,se=oe._meta&&typeof oe._meta=="object"?oe._meta:null,Ee=zz(G.current),Ue=se&&typeof se.waniwani=="object"&&se.waniwani!==null?se.waniwani:null,_t=Ue||Ee?{...Ue??{},...Ee?{sessionId:Ee}:{}}:void 0,za=se||_t?{...se??{},..._t?{waniwani:_t}:{}}:void 0;ke({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:$}});let jn=oe.content??[{type:"text",text:JSON.stringify(oe)}];ke({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:jn,structuredContent:oe.structuredContent,_meta:za,meta:za}});return}if(Be==="ui/notifications/size-changed"){let $=re.params,oe=typeof $?.height=="number"?$.height:void 0,se=typeof $?.width=="number"?$.width:void 0,Ee=y.current,Ue=oe!==void 0&&oe!==Ee.height,_t=se!==void 0&&se!==Ee.width;if(!Ue&&!_t)return;if(Ue&&oe!==void 0){Ee.height=oe;let za=Y(oe),jn=Se.getBoundingClientRect().height;if(x.current&&(x.current.cancel(),x.current=null),M(za),Se.animate&&Math.abs(jn-za)>2){let dn=Se.animate([{height:`${jn}px`},{height:`${za}px`}],{duration:Nz,easing:"ease-out",fill:"forwards"});x.current=dn,dn.onfinish=()=>{x.current===dn&&(dn.cancel(),x.current=null)}}}_t&&i&&se!==void 0&&(Ee.width=se,P(se));return}if(Be==="ui/open-link"&&F!=null){let $=re.params?.url;typeof $=="string"&&(k.current?k.current($):window.open($,"_blank","noopener,noreferrer")),ke({jsonrpc:"2.0",id:F,result:{}});return}if(Be==="ui/message"&&F!=null){if(B.current&&re.params){let $=re.params,oe=it;if(it=null,L){clearTimeout(L.timer);let se=L.text;L=null;let Ee=($.content??[]).map(Ue=>Ue.text??"").join("").trim();$={...$,content:[{type:"text",text:`${Ee}
122
122
 
123
123
  ${se}`}]}}B.current({...$,...oe?{modelContext:oe}:{}})}ke({jsonrpc:"2.0",id:F,result:{}});return}if(Be==="ui/update-model-context"&&F!=null){it=fM(it,re.params),ke({jsonrpc:"2.0",id:F,result:{}});return}if(Be==="tools/call"&&F!=null){let $=R.current;if(!$){ke({jsonrpc:"2.0",id:F,error:{code:-32601,message:"tools/call not supported"}});return}let oe=re.params?.name;$({name:oe,arguments:re.params?.arguments??{}}).then(se=>{ke({jsonrpc:"2.0",id:F,result:se});let Ee=se.content?.map(Ue=>Ue.text??"").join("").trim();Ee&&qz(oe,se,V.current)&&(L&&clearTimeout(L.timer),L={text:Ee,timer:setTimeout(()=>{if(S)return;let Ue=it;it=null,L=null,B.current?.({role:"user",content:[{type:"text",text:Ee}],...Ue?{modelContext:Ue}:{}})},500)})}).catch(se=>{let Ee=se instanceof Error?se.message:"Tool call failed";ke({jsonrpc:"2.0",id:F,error:{code:-32e3,message:Ee}})});return}if(Be==="ui/request-display-mode"&&F!=null){let $=re.params?.mode,oe=$==="fullscreen"||$==="inline"||$==="pip"?$:"inline";A.current=oe,ke({jsonrpc:"2.0",id:F,result:{mode:oe}}),ke({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:oe}}),U.current?.(oe);return}if(Be==="ui/resource-teardown"&&F!=null){ke({jsonrpc:"2.0",id:F,result:{}});return}Be==="ping"&&F!=null&&ke({jsonrpc:"2.0",id:F,result:{}})};return window.addEventListener("message",Dt),()=>{S=!0,clearTimeout(Ze),L&&clearTimeout(L.timer),window.removeEventListener("message",Dt)}},[i,Y]),(0,mM.jsx)("iframe",{ref:g,src:he,sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:K(!f&&"ww:rounded-md ww:border ww:border-border",l),style:{height:f?"100%":I,minWidth:f||!_?void 0:`min(${_}px, 100%)`,width:"100%",border:"none",colorScheme:o?"dark":"auto"},title:"MCP App"})}var Er=j(ce(),1);function hM({icon:e,title:t,description:a,suggestions:n,onSuggestionSelect:r}){return(0,Er.jsxs)("div",{className:"ww:flex ww:flex-col ww:items-center ww:justify-center ww:py-12 ww:px-6 ww:text-center ww:min-h-full",children:[e&&(0,Er.jsx)("div",{className:"ww:mb-4 ww:flex ww:items-center ww:justify-center ww:size-12 ww:rounded-xl ww:bg-foreground ww:text-background",children:e}),(0,Er.jsx)("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&(0,Er.jsx)("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),n&&n.length>0&&(0,Er.jsx)("div",{className:"ww:mt-6 ww:w-full ww:max-w-md ww:flex ww:flex-col ww:gap-2",children:n.map((o,l)=>(0,Er.jsx)("button",{type:"button",onClick:()=>r?.(o),className:K("ww:w-full ww:text-left ww:rounded-xl ww:border ww:border-border ww:bg-background ww:px-4 ww:py-3 ww:text-sm","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${l*50}ms`},children:o},o))})]})}var gM=j(Ke(),1);var Is=j(ce(),1),Nd=class extends gM.Component{constructor(){super(...arguments);Ce(this,"state",{hasError:!1})}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(a){console.warn("[WaniWani] Widget failed to render:",a.message)}render(){return this.state.hasError?(0,Is.jsxs)("div",{className:"ww:flex ww:items-center ww:justify-between ww:rounded-md ww:border ww:border-border ww:bg-muted/50 ww:px-4 ww:py-3 ww:text-sm ww:text-muted-foreground",children:[(0,Is.jsx)("span",{children:"Widget failed to load"}),(0,Is.jsx)("button",{type:"button",onClick:()=>this.setState({hasError:!1}),className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:"Retry"})]}):this.props.children}};var De=j(ce(),1);function yM(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function xM({messages:e,status:t,welcomeMessage:a,welcome:n,onSuggestionSelect:r,resourceEndpoint:o,chatSessionId:l,isDark:i,onFollowUp:s,onCallTool:u,onWidgetDisplayModeChange:c,fullscreenToolCallId:d,debug:f,showToolCalls:p=!0,toolDefinitions:g}){let w=t==="submitted"||t==="streaming",C=e[e.length-1],y=e.length>0,x=w&&(!y||C.role==="user"),h=d!=null;return(0,De.jsxs)(De.Fragment,{children:[!h&&(!y&&n?(0,De.jsx)(hM,{...n,onSuggestionSelect:r}):a&&(0,De.jsx)(Dd,{from:"assistant",children:(0,De.jsx)(_d,{children:(0,De.jsx)(Od,{children:a})})})),e.map(v=>{let A=v.parts.filter(R=>R.type==="text"),I=v.parts.filter(R=>R.type==="reasoning"),M=v.parts.filter(R=>R.type==="file"),_=v.parts.filter(R=>"toolCallId"in R),P=v===C&&v.role==="assistant",k=A.length>0,B=h?_.some(R=>R.toolCallId===d):!1;return h&&!B?(0,De.jsx)("div",{style:{display:"none"}},v.id):(0,De.jsxs)(Dd,{from:v.role,children:[!B&&I.map((R,U)=>(0,De.jsx)(YA,{text:R.text},`reasoning-${v.id}-${U}`)),_.map(R=>{let U="output"in R?R.output:void 0,G=Pd(R.toolName,U,g),V=cM(R.toolName,U,g),Y=R.toolCallId===d;return(0,De.jsxs)("div",{style:Y?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:[(0,De.jsx)("div",{style:Y?{display:"none"}:void 0,children:p?(0,De.jsxs)(nM,{children:[(0,De.jsx)(rM,{title:R.title??yM(R.toolName),state:R.state}),(0,De.jsxs)(lM,{children:[(0,De.jsx)(iM,{input:R.input,debug:f}),U!==void 0&&(0,De.jsx)(dM,{output:U,errorText:"errorText"in R?R.errorText:void 0,debug:f})]})]}):(0,De.jsx)(oM,{title:R.title??yM(R.toolName),state:R.state})}),G&&o&&U!==void 0&&(0,De.jsx)(Nd,{children:(0,De.jsx)(pM,{isFullscreen:Y,resourceUri:G,toolInput:R.input??{},toolResult:{content:U.content,structuredContent:U.structuredContent,_meta:U._meta},resourceEndpoint:o,chatSessionId:l,isDark:i,autoHeight:V,toolDefinitions:g,onFollowUp:s,onCallTool:u,onDisplayModeChange:c?he=>c(he,{toolCallId:R.toolCallId,resourceUri:G,toolInput:R.input??{},toolResult:{content:U.content,structuredContent:U.structuredContent,_meta:U._meta},autoHeight:V}):void 0})})]},R.toolCallId)}),!B&&(0,De.jsx)("div",{children:(0,De.jsxs)(_d,{children:[M.length>0&&(0,De.jsx)(y0,{files:M}),k?A.map((R,U)=>(0,De.jsx)(Od,{children:R.type==="text"?R.text:""},`${v.id}-${U}`)):P&&w&&(0,De.jsx)(Km,{})]})})]},v.id)}),!h&&x&&(0,De.jsx)(Dd,{from:"assistant",children:(0,De.jsx)(_d,{children:(0,De.jsx)(Km,{})})})]})}var Ls=j(ce(),1),Fz="https://app.waniwani.ai/assets/waniwani-logo.svg",Hz="https://waniwani.ai";function wM(){return(0,Ls.jsxs)("a",{href:Hz,target:"_blank",rel:"noopener noreferrer",className:"ww:flex ww:items-center ww:gap-1.5 ww:text-[11px] ww:text-muted-foreground ww:opacity-70 hover:ww:opacity-100 ww:transition-opacity",children:[(0,Ls.jsx)("span",{children:"AI agent powered by"}),(0,Ls.jsx)("img",{src:Fz,alt:"WaniWani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}var ks=j(ce(),1);function vM({suggestions:e,isLoading:t,onSelect:a,className:n,...r}){return e.length===0&&!t?null:(0,ks.jsx)("div",{className:K("ww:px-4 ww:py-2",n),...r,children:(0,ks.jsx)("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl ww:flex ww:flex-wrap ww:gap-2",children:t?[0,1,2].map(o=>(0,ks.jsx)("div",{className:"ww:h-7 ww:rounded-full ww:bg-accent ww:animate-pulse",style:{width:`${60+o*20}px`}},o)):e.map((o,l)=>(0,ks.jsx)("button",{type:"button",onClick:()=>a(o),className:K("ww:rounded-full ww:border ww:border-border ww:bg-background ww:px-3 ww:py-1 ww:text-xs","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${l*50}ms`},children:o},o))})})}var El=j(Ke(),1),Le=j(ce(),1),bM=20;function jz(e){let t=Date.parse(e);if(Number.isNaN(t))return"";let a=Date.now()-t;return a<6e4?"just now":a<60*6e4?`${Math.floor(a/6e4)}m ago`:a<1440*6e4?`${Math.floor(a/(60*6e4))}h ago`:`${Math.floor(a/(1440*6e4))}d ago`}function Vz(){return(0,Le.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":"New chat",children:[(0,Le.jsx)("title",{children:"New chat"}),(0,Le.jsx)("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),(0,Le.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function Gz(){return(0,Le.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":"Thread history",children:[(0,Le.jsx)("title",{children:"Thread history"}),(0,Le.jsx)("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),(0,Le.jsx)("polyline",{points:"3 4 3 9 8 9"}),(0,Le.jsx)("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),(0,Le.jsx)("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function Wz(){return(0,Le.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":"Delete thread",children:[(0,Le.jsx)("title",{children:"Delete thread"}),(0,Le.jsx)("polyline",{points:"3 6 5 6 21 6"}),(0,Le.jsx)("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),(0,Le.jsx)("path",{d:"M10 11v6"}),(0,Le.jsx)("path",{d:"M14 11v6"})]})}function SM({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:n,onDeleteThread:r}){let[o,l]=(0,El.useState)(!1),i=(0,El.useRef)(null);(0,El.useEffect)(()=>{if(!o)return;let c=d=>{let f=i.current;f&&(d.composedPath().includes(f)||l(!1))};return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[o]);let s=e.slice(0,bM),u=Math.max(0,e.length-bM);return(0,Le.jsxs)("div",{ref:i,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[(0,Le.jsx)("button",{type:"button",onClick:a,title:"New chat","aria-label":"New chat",className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:(0,Le.jsx)(Vz,{})}),(0,Le.jsx)("button",{type:"button",onClick:()=>l(c=>!c),title:"Thread history","aria-label":"Thread history","aria-expanded":o,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:(0,Le.jsx)(Gz,{})}),o&&(0,Le.jsxs)("div",{role:"menu",className:"ww:absolute ww:right-0 ww:top-full ww:mt-1 ww:w-72 ww:max-h-80 ww:overflow-y-auto ww:rounded-lg ww:border ww:border-border ww:bg-background ww:shadow-lg ww:z-50",children:[s.length===0&&(0,Le.jsx)("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:"No previous chats yet."}),s.map(c=>{let d=c.threadId===t;return(0,Le.jsxs)("div",{className:`ww:flex ww:items-center ww:gap-2 ww:px-3 ww:py-2 ww:text-xs hover:ww:bg-foreground/5 ${d?"ww:bg-foreground/5":""}`,children:[(0,Le.jsxs)("button",{type:"button",onClick:()=>{n(c.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[(0,Le.jsx)("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:c.title}),(0,Le.jsx)("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:jz(c.updatedAt)})]}),(0,Le.jsx)("button",{type:"button",onClick:f=>{f.stopPropagation(),r(c.threadId)},title:"Delete thread","aria-label":"Delete thread",className:"ww:p-1 ww:rounded ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/10 ww:transition-colors ww:cursor-pointer",children:(0,Le.jsx)(Wz,{})})]},c.threadId)}),u>0&&(0,Le.jsxs)("div",{className:"ww:px-3 ww:py-2 ww:text-[10px] ww:text-muted-foreground ww:border-t ww:border-border",children:[u," older thread",u===1?"":"s"," hidden"]})]})]})}var Bd=j(Ke(),1);function CM(e){let t=(0,Bd.useRef)(e);return t.current=e,(0,Bd.useCallback)(async a=>{let{api:n,headers:r,onCallTool:o,sessionId:l}=t.current;if(o)return o(a);let i=`${n??"/api/waniwani"}/tool`,s=typeof l=="string"&&l.trim().length>0?l.trim():void 0,u=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",...s?{"X-Session-Id":s}:{},...r},body:JSON.stringify(a)});if(!u.ok)throw new Error(`Tool call failed: ${u.status} ${u.statusText}`);return u.json()},[])}var Ua=j(Ke(),1);var YM="vercel.ai.error",$z=Symbol.for(YM),IM,LM,ve=class JM extends(LM=Error,IM=$z,LM){constructor({name:t,message:a,cause:n}){super(a),this[IM]=!0,this.name=t,this.cause=n}static isInstance(t){return JM.hasMarker(t,YM)}static hasMarker(t,a){let n=Symbol.for(a);return t!=null&&typeof t=="object"&&n in t&&typeof t[n]=="boolean"&&t[n]===!0}},eE="AI_APICallError",tE=`vercel.ai.error.${eE}`,Xz=Symbol.for(tE),kM,TM,CY=class extends(TM=ve,kM=Xz,TM){constructor({message:e,url:t,requestBodyValues:a,statusCode:n,responseHeaders:r,responseBody:o,cause:l,isRetryable:i=n!=null&&(n===408||n===409||n===429||n>=500),data:s}){super({name:eE,message:e,cause:l}),this[kM]=!0,this.url=t,this.requestBodyValues=a,this.statusCode=n,this.responseHeaders=r,this.responseBody=o,this.isRetryable=i,this.data=s}static isInstance(e){return ve.hasMarker(e,tE)}},aE="AI_EmptyResponseBodyError",nE=`vercel.ai.error.${aE}`,Zz=Symbol.for(nE),AM,MM,IY=class extends(MM=ve,AM=Zz,MM){constructor({message:e="Empty response body"}={}){super({name:aE,message:e}),this[AM]=!0}static isInstance(e){return ve.hasMarker(e,nE)}};function rE(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}var oE="AI_InvalidArgumentError",lE=`vercel.ai.error.${oE}`,Qz=Symbol.for(lE),EM,RM,iE=class extends(RM=ve,EM=Qz,RM){constructor({message:e,cause:t,argument:a}){super({name:oE,message:e,cause:t}),this[EM]=!0,this.argument=a}static isInstance(e){return ve.hasMarker(e,lE)}},sE="AI_InvalidPromptError",uE=`vercel.ai.error.${sE}`,Kz=Symbol.for(uE),DM,_M,LY=class extends(_M=ve,DM=Kz,_M){constructor({prompt:e,message:t,cause:a}){super({name:sE,message:`Invalid prompt: ${t}`,cause:a}),this[DM]=!0,this.prompt=e}static isInstance(e){return ve.hasMarker(e,uE)}},cE="AI_InvalidResponseDataError",dE=`vercel.ai.error.${cE}`,Yz=Symbol.for(dE),OM,PM,kY=class extends(PM=ve,OM=Yz,PM){constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:cE,message:t}),this[OM]=!0,this.data=e}static isInstance(e){return ve.hasMarker(e,dE)}},fE="AI_JSONParseError",pE=`vercel.ai.error.${fE}`,Jz=Symbol.for(pE),NM,BM,Ay=class extends(BM=ve,NM=Jz,BM){constructor({text:e,cause:t}){super({name:fE,message:`JSON parsing failed: Text: ${e}.
124
124
  Error message: ${rE(t)}`,cause:t}),this[NM]=!0,this.text=e}static isInstance(e){return ve.hasMarker(e,pE)}},mE="AI_LoadAPIKeyError",hE=`vercel.ai.error.${mE}`,eq=Symbol.for(hE),UM,zM,TY=class extends(zM=ve,UM=eq,zM){constructor({message:e}){super({name:mE,message:e}),this[UM]=!0}static isInstance(e){return ve.hasMarker(e,hE)}},gE="AI_LoadSettingError",yE=`vercel.ai.error.${gE}`,tq=Symbol.for(yE),qM,FM,AY=class extends(FM=ve,qM=tq,FM){constructor({message:e}){super({name:gE,message:e}),this[qM]=!0}static isInstance(e){return ve.hasMarker(e,yE)}},xE="AI_NoContentGeneratedError",wE=`vercel.ai.error.${xE}`,aq=Symbol.for(wE),HM,jM,MY=class extends(jM=ve,HM=aq,jM){constructor({message:e="No content generated."}={}){super({name:xE,message:e}),this[HM]=!0}static isInstance(e){return ve.hasMarker(e,wE)}},vE="AI_NoSuchModelError",bE=`vercel.ai.error.${vE}`,nq=Symbol.for(bE),VM,GM,EY=class extends(GM=ve,VM=nq,GM){constructor({errorName:e=vE,modelId:t,modelType:a,message:n=`No such ${a}: ${t}`}){super({name:e,message:n}),this[VM]=!0,this.modelId=t,this.modelType=a}static isInstance(e){return ve.hasMarker(e,bE)}},SE="AI_TooManyEmbeddingValuesForCallError",CE=`vercel.ai.error.${SE}`,rq=Symbol.for(CE),WM,$M,RY=class extends($M=ve,WM=rq,$M){constructor(e){super({name:SE,message:`Too many values for a single embedding call. The ${e.provider} model "${e.modelId}" can only embed up to ${e.maxEmbeddingsPerCall} values per call, but ${e.values.length} values were provided.`}),this[WM]=!0,this.provider=e.provider,this.modelId=e.modelId,this.maxEmbeddingsPerCall=e.maxEmbeddingsPerCall,this.values=e.values}static isInstance(e){return ve.hasMarker(e,CE)}},IE="AI_TypeValidationError",LE=`vercel.ai.error.${IE}`,oq=Symbol.for(LE),XM,ZM,ln=class Ty extends(ZM=ve,XM=oq,ZM){constructor({value:t,cause:a,context:n}){let r="Type validation failed";if(n?.field&&(r+=` for ${n.field}`),n?.entityName||n?.entityId){r+=" (";let o=[];n.entityName&&o.push(n.entityName),n.entityId&&o.push(`id: "${n.entityId}"`),r+=o.join(", "),r+=")"}super({name:IE,message:`${r}: Value: ${JSON.stringify(t)}.
@@ -135,7 +135,7 @@ Error message: ${rE(a)}`,cause:a}),this[XM]=!0,this.value=t,this.context=n}stati
135
135
  `)},flush(e){e.enqueue(`data: [DONE]
136
136
 
137
137
  `)}})}};var Fy=Hd(()=>As(m.union([m.strictObject({type:m.literal("text-start"),id:m.string(),providerMetadata:W.optional()}),m.strictObject({type:m.literal("text-delta"),id:m.string(),delta:m.string(),providerMetadata:W.optional()}),m.strictObject({type:m.literal("text-end"),id:m.string(),providerMetadata:W.optional()}),m.strictObject({type:m.literal("error"),errorText:m.string()}),m.strictObject({type:m.literal("tool-input-start"),toolCallId:m.string(),toolName:m.string(),providerExecuted:m.boolean().optional(),providerMetadata:W.optional(),dynamic:m.boolean().optional(),title:m.string().optional()}),m.strictObject({type:m.literal("tool-input-delta"),toolCallId:m.string(),inputTextDelta:m.string()}),m.strictObject({type:m.literal("tool-input-available"),toolCallId:m.string(),toolName:m.string(),input:m.unknown(),providerExecuted:m.boolean().optional(),providerMetadata:W.optional(),dynamic:m.boolean().optional(),title:m.string().optional()}),m.strictObject({type:m.literal("tool-input-error"),toolCallId:m.string(),toolName:m.string(),input:m.unknown(),providerExecuted:m.boolean().optional(),providerMetadata:W.optional(),dynamic:m.boolean().optional(),errorText:m.string(),title:m.string().optional()}),m.strictObject({type:m.literal("tool-approval-request"),approvalId:m.string(),toolCallId:m.string()}),m.strictObject({type:m.literal("tool-output-available"),toolCallId:m.string(),output:m.unknown(),providerExecuted:m.boolean().optional(),providerMetadata:W.optional(),dynamic:m.boolean().optional(),preliminary:m.boolean().optional()}),m.strictObject({type:m.literal("tool-output-error"),toolCallId:m.string(),errorText:m.string(),providerExecuted:m.boolean().optional(),providerMetadata:W.optional(),dynamic:m.boolean().optional()}),m.strictObject({type:m.literal("tool-output-denied"),toolCallId:m.string()}),m.strictObject({type:m.literal("reasoning-start"),id:m.string(),providerMetadata:W.optional()}),m.strictObject({type:m.literal("reasoning-delta"),id:m.string(),delta:m.string(),providerMetadata:W.optional()}),m.strictObject({type:m.literal("reasoning-end"),id:m.string(),providerMetadata:W.optional()}),m.strictObject({type:m.literal("source-url"),sourceId:m.string(),url:m.string(),title:m.string().optional(),providerMetadata:W.optional()}),m.strictObject({type:m.literal("source-document"),sourceId:m.string(),mediaType:m.string(),title:m.string(),filename:m.string().optional(),providerMetadata:W.optional()}),m.strictObject({type:m.literal("file"),url:m.string(),mediaType:m.string(),providerMetadata:W.optional()}),m.strictObject({type:m.custom(e=>typeof e=="string"&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:m.string().optional(),data:m.unknown(),transient:m.boolean().optional()}),m.strictObject({type:m.literal("start-step")}),m.strictObject({type:m.literal("finish-step")}),m.strictObject({type:m.literal("start"),messageId:m.string().optional(),messageMetadata:m.unknown().optional()}),m.strictObject({type:m.literal("finish"),finishReason:m.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:m.unknown().optional()}),m.strictObject({type:m.literal("abort"),reason:m.string().optional()}),m.strictObject({type:m.literal("message-metadata"),messageMetadata:m.unknown()})])));function jF(e){return e.type.startsWith("data-")}function qy(e){return e.type.startsWith("tool-")}function VF(e){return e.type==="dynamic-tool"}function Wd(e){return qy(e)||VF(e)}function GE(e){return e.type.split("-").slice(1).join("-")}function GF({lastMessage:e,messageId:t}){return{message:e?.role==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function WF({stream:e,messageMetadataSchema:t,dataPartSchemas:a,runUpdateMessageJob:n,onError:r,onToolCall:o,onData:l}){return e.pipeThrough(new TransformStream({async transform(i,s){await n(async({state:u,write:c})=>{var d,f,p,g;function w(h){let A=u.message.parts.filter(Wd).find(I=>I.toolCallId===h);if(A==null)throw new Dl({chunkType:"tool-invocation",chunkId:h,message:`No tool invocation found for tool call ID "${h}".`});return A}function C(h){var v;let A=u.message.parts.find(_=>qy(_)&&_.toolCallId===h.toolCallId),I=h,M=A;if(A!=null){A.state=h.state,M.input=I.input,M.output=I.output,M.errorText=I.errorText,M.rawInput=I.rawInput,M.preliminary=I.preliminary,h.title!==void 0&&(M.title=h.title),M.providerExecuted=(v=I.providerExecuted)!=null?v:A.providerExecuted;let _=I.providerMetadata;if(_!=null)if(h.state==="output-available"||h.state==="output-error"){let P=A;P.resultProviderMetadata=_}else A.callProviderMetadata=_}else u.message.parts.push({type:`tool-${h.toolName}`,toolCallId:h.toolCallId,state:h.state,title:h.title,input:I.input,output:I.output,rawInput:I.rawInput,errorText:I.errorText,providerExecuted:I.providerExecuted,preliminary:I.preliminary,...I.providerMetadata!=null&&(h.state==="output-available"||h.state==="output-error")?{resultProviderMetadata:I.providerMetadata}:{},...I.providerMetadata!=null&&!(h.state==="output-available"||h.state==="output-error")?{callProviderMetadata:I.providerMetadata}:{}})}function y(h){var v,A;let I=u.message.parts.find(P=>P.type==="dynamic-tool"&&P.toolCallId===h.toolCallId),M=h,_=I;if(I!=null){I.state=h.state,_.toolName=h.toolName,_.input=M.input,_.output=M.output,_.errorText=M.errorText,_.rawInput=(v=M.rawInput)!=null?v:_.rawInput,_.preliminary=M.preliminary,h.title!==void 0&&(_.title=h.title),_.providerExecuted=(A=M.providerExecuted)!=null?A:I.providerExecuted;let P=M.providerMetadata;if(P!=null)if(h.state==="output-available"||h.state==="output-error"){let k=I;k.resultProviderMetadata=P}else I.callProviderMetadata=P}else u.message.parts.push({type:"dynamic-tool",toolName:h.toolName,toolCallId:h.toolCallId,state:h.state,input:M.input,output:M.output,errorText:M.errorText,preliminary:M.preliminary,providerExecuted:M.providerExecuted,title:h.title,...M.providerMetadata!=null&&(h.state==="output-available"||h.state==="output-error")?{resultProviderMetadata:M.providerMetadata}:{},...M.providerMetadata!=null&&!(h.state==="output-available"||h.state==="output-error")?{callProviderMetadata:M.providerMetadata}:{}})}async function x(h){if(h!=null){let v=u.message.metadata!=null?a2(u.message.metadata,h):h;t!=null&&await Gd({value:v,schema:t,context:{field:"message.metadata",entityId:u.message.id}}),u.message.metadata=v}}switch(i.type){case"text-start":{let h={type:"text",text:"",providerMetadata:i.providerMetadata,state:"streaming"};u.activeTextParts[i.id]=h,u.message.parts.push(h),c();break}case"text-delta":{let h=u.activeTextParts[i.id];if(h==null)throw new Dl({chunkType:"text-delta",chunkId:i.id,message:`Received text-delta for missing text part with ID "${i.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});h.text+=i.delta,h.providerMetadata=(d=i.providerMetadata)!=null?d:h.providerMetadata,c();break}case"text-end":{let h=u.activeTextParts[i.id];if(h==null)throw new Dl({chunkType:"text-end",chunkId:i.id,message:`Received text-end for missing text part with ID "${i.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});h.state="done",h.providerMetadata=(f=i.providerMetadata)!=null?f:h.providerMetadata,delete u.activeTextParts[i.id],c();break}case"reasoning-start":{let h={type:"reasoning",text:"",providerMetadata:i.providerMetadata,state:"streaming"};u.activeReasoningParts[i.id]=h,u.message.parts.push(h),c();break}case"reasoning-delta":{let h=u.activeReasoningParts[i.id];if(h==null)throw new Dl({chunkType:"reasoning-delta",chunkId:i.id,message:`Received reasoning-delta for missing reasoning part with ID "${i.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});h.text+=i.delta,h.providerMetadata=(p=i.providerMetadata)!=null?p:h.providerMetadata,c();break}case"reasoning-end":{let h=u.activeReasoningParts[i.id];if(h==null)throw new Dl({chunkType:"reasoning-end",chunkId:i.id,message:`Received reasoning-end for missing reasoning part with ID "${i.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});h.providerMetadata=(g=i.providerMetadata)!=null?g:h.providerMetadata,h.state="done",delete u.activeReasoningParts[i.id],c();break}case"file":{u.message.parts.push({type:"file",mediaType:i.mediaType,url:i.url,...i.providerMetadata!=null?{providerMetadata:i.providerMetadata}:{}}),c();break}case"source-url":{u.message.parts.push({type:"source-url",sourceId:i.sourceId,url:i.url,title:i.title,providerMetadata:i.providerMetadata}),c();break}case"source-document":{u.message.parts.push({type:"source-document",sourceId:i.sourceId,mediaType:i.mediaType,title:i.title,filename:i.filename,providerMetadata:i.providerMetadata}),c();break}case"tool-input-start":{let h=u.message.parts.filter(qy);u.partialToolCalls[i.toolCallId]={text:"",toolName:i.toolName,index:h.length,dynamic:i.dynamic,title:i.title},i.dynamic?y({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-streaming",input:void 0,providerExecuted:i.providerExecuted,title:i.title,providerMetadata:i.providerMetadata}):C({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-streaming",input:void 0,providerExecuted:i.providerExecuted,title:i.title,providerMetadata:i.providerMetadata}),c();break}case"tool-input-delta":{let h=u.partialToolCalls[i.toolCallId];if(h==null)throw new Dl({chunkType:"tool-input-delta",chunkId:i.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${i.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});h.text+=i.inputTextDelta;let{value:v}=await Es(h.text);h.dynamic?y({toolCallId:i.toolCallId,toolName:h.toolName,state:"input-streaming",input:v,title:h.title}):C({toolCallId:i.toolCallId,toolName:h.toolName,state:"input-streaming",input:v,title:h.title}),c();break}case"tool-input-available":{i.dynamic?y({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-available",input:i.input,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata,title:i.title}):C({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-available",input:i.input,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata,title:i.title}),c(),o&&!i.providerExecuted&&await o({toolCall:i});break}case"tool-input-error":{let h=u.message.parts.filter(Wd).find(A=>A.toolCallId===i.toolCallId);(h!=null?h.type==="dynamic-tool":!!i.dynamic)?y({toolCallId:i.toolCallId,toolName:i.toolName,state:"output-error",input:i.input,errorText:i.errorText,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata}):C({toolCallId:i.toolCallId,toolName:i.toolName,state:"output-error",input:void 0,rawInput:i.input,errorText:i.errorText,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata}),c();break}case"tool-approval-request":{let h=w(i.toolCallId);h.state="approval-requested",h.approval={id:i.approvalId},c();break}case"tool-output-denied":{let h=w(i.toolCallId);h.state="output-denied",c();break}case"tool-output-available":{let h=w(i.toolCallId);h.type==="dynamic-tool"?y({toolCallId:i.toolCallId,toolName:h.toolName,state:"output-available",input:h.input,output:i.output,preliminary:i.preliminary,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata,title:h.title}):C({toolCallId:i.toolCallId,toolName:GE(h),state:"output-available",input:h.input,output:i.output,providerExecuted:i.providerExecuted,preliminary:i.preliminary,providerMetadata:i.providerMetadata,title:h.title}),c();break}case"tool-output-error":{let h=w(i.toolCallId);h.type==="dynamic-tool"?y({toolCallId:i.toolCallId,toolName:h.toolName,state:"output-error",input:h.input,errorText:i.errorText,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata,title:h.title}):C({toolCallId:i.toolCallId,toolName:GE(h),state:"output-error",input:h.input,rawInput:h.rawInput,errorText:i.errorText,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata,title:h.title}),c();break}case"start-step":{u.message.parts.push({type:"step-start"});break}case"finish-step":{u.activeTextParts={},u.activeReasoningParts={};break}case"start":{i.messageId!=null&&(u.message.id=i.messageId),await x(i.messageMetadata),(i.messageId!=null||i.messageMetadata!=null)&&c();break}case"finish":{i.finishReason!=null&&(u.finishReason=i.finishReason),await x(i.messageMetadata),i.messageMetadata!=null&&c();break}case"message-metadata":{await x(i.messageMetadata),i.messageMetadata!=null&&c();break}case"error":{r?.(new Error(i.errorText));break}default:if(jF(i)){if(a?.[i.type]!=null){let A=u.message.parts.findIndex(M=>"id"in M&&"data"in M&&M.id===i.id&&M.type===i.type),I=A>=0?A:u.message.parts.length;await Gd({value:i.data,schema:a[i.type],context:{field:`message.parts[${I}].data`,entityName:i.type,entityId:i.id}})}let h=i;if(h.transient){l?.(h);break}let v=h.id!=null?u.message.parts.find(A=>h.type===A.type&&h.id===A.id):void 0;v!=null?v.data=h.data:u.message.parts.push(h),l?.(h),c()}}s.enqueue(i)})}}))}async function $F({stream:e,onError:t}){let a=e.getReader();try{for(;;){let{done:n}=await a.read();if(n)break}}catch(n){t?.(n)}finally{a.releaseLock()}}var DJ=Fn({prefix:"aitxt",size:24});var PJ=Hd(()=>As(m.array(m.object({id:m.string(),role:m.enum(["system","user","assistant"]),metadata:m.unknown().optional(),parts:m.array(m.union([m.object({type:m.literal("text"),text:m.string(),state:m.enum(["streaming","done"]).optional(),providerMetadata:W.optional()}),m.object({type:m.literal("reasoning"),text:m.string(),state:m.enum(["streaming","done"]).optional(),providerMetadata:W.optional()}),m.object({type:m.literal("source-url"),sourceId:m.string(),url:m.string(),title:m.string().optional(),providerMetadata:W.optional()}),m.object({type:m.literal("source-document"),sourceId:m.string(),mediaType:m.string(),title:m.string(),filename:m.string().optional(),providerMetadata:W.optional()}),m.object({type:m.literal("file"),mediaType:m.string(),filename:m.string().optional(),url:m.string(),providerMetadata:W.optional()}),m.object({type:m.literal("step-start")}),m.object({type:m.string().startsWith("data-"),id:m.string().optional(),data:m.unknown()}),m.object({type:m.literal("dynamic-tool"),toolName:m.string(),toolCallId:m.string(),state:m.literal("input-streaming"),input:m.unknown().optional(),providerExecuted:m.boolean().optional(),callProviderMetadata:W.optional(),output:m.never().optional(),errorText:m.never().optional(),approval:m.never().optional()}),m.object({type:m.literal("dynamic-tool"),toolName:m.string(),toolCallId:m.string(),state:m.literal("input-available"),input:m.unknown(),providerExecuted:m.boolean().optional(),output:m.never().optional(),errorText:m.never().optional(),callProviderMetadata:W.optional(),approval:m.never().optional()}),m.object({type:m.literal("dynamic-tool"),toolName:m.string(),toolCallId:m.string(),state:m.literal("approval-requested"),input:m.unknown(),providerExecuted:m.boolean().optional(),output:m.never().optional(),errorText:m.never().optional(),callProviderMetadata:W.optional(),approval:m.object({id:m.string(),approved:m.never().optional(),reason:m.never().optional()})}),m.object({type:m.literal("dynamic-tool"),toolName:m.string(),toolCallId:m.string(),state:m.literal("approval-responded"),input:m.unknown(),providerExecuted:m.boolean().optional(),output:m.never().optional(),errorText:m.never().optional(),callProviderMetadata:W.optional(),approval:m.object({id:m.string(),approved:m.boolean(),reason:m.string().optional()})}),m.object({type:m.literal("dynamic-tool"),toolName:m.string(),toolCallId:m.string(),state:m.literal("output-available"),input:m.unknown(),providerExecuted:m.boolean().optional(),output:m.unknown(),errorText:m.never().optional(),callProviderMetadata:W.optional(),resultProviderMetadata:W.optional(),preliminary:m.boolean().optional(),approval:m.object({id:m.string(),approved:m.literal(!0),reason:m.string().optional()}).optional()}),m.object({type:m.literal("dynamic-tool"),toolName:m.string(),toolCallId:m.string(),state:m.literal("output-error"),input:m.unknown(),rawInput:m.unknown().optional(),providerExecuted:m.boolean().optional(),output:m.never().optional(),errorText:m.string(),callProviderMetadata:W.optional(),resultProviderMetadata:W.optional(),approval:m.object({id:m.string(),approved:m.literal(!0),reason:m.string().optional()}).optional()}),m.object({type:m.literal("dynamic-tool"),toolName:m.string(),toolCallId:m.string(),state:m.literal("output-denied"),input:m.unknown(),providerExecuted:m.boolean().optional(),output:m.never().optional(),errorText:m.never().optional(),callProviderMetadata:W.optional(),approval:m.object({id:m.string(),approved:m.literal(!1),reason:m.string().optional()})}),m.object({type:m.string().startsWith("tool-"),toolCallId:m.string(),state:m.literal("input-streaming"),providerExecuted:m.boolean().optional(),callProviderMetadata:W.optional(),input:m.unknown().optional(),output:m.never().optional(),errorText:m.never().optional(),approval:m.never().optional()}),m.object({type:m.string().startsWith("tool-"),toolCallId:m.string(),state:m.literal("input-available"),providerExecuted:m.boolean().optional(),input:m.unknown(),output:m.never().optional(),errorText:m.never().optional(),callProviderMetadata:W.optional(),approval:m.never().optional()}),m.object({type:m.string().startsWith("tool-"),toolCallId:m.string(),state:m.literal("approval-requested"),input:m.unknown(),providerExecuted:m.boolean().optional(),output:m.never().optional(),errorText:m.never().optional(),callProviderMetadata:W.optional(),approval:m.object({id:m.string(),approved:m.never().optional(),reason:m.never().optional()})}),m.object({type:m.string().startsWith("tool-"),toolCallId:m.string(),state:m.literal("approval-responded"),input:m.unknown(),providerExecuted:m.boolean().optional(),output:m.never().optional(),errorText:m.never().optional(),callProviderMetadata:W.optional(),approval:m.object({id:m.string(),approved:m.boolean(),reason:m.string().optional()})}),m.object({type:m.string().startsWith("tool-"),toolCallId:m.string(),state:m.literal("output-available"),providerExecuted:m.boolean().optional(),input:m.unknown(),output:m.unknown(),errorText:m.never().optional(),callProviderMetadata:W.optional(),resultProviderMetadata:W.optional(),preliminary:m.boolean().optional(),approval:m.object({id:m.string(),approved:m.literal(!0),reason:m.string().optional()}).optional()}),m.object({type:m.string().startsWith("tool-"),toolCallId:m.string(),state:m.literal("output-error"),providerExecuted:m.boolean().optional(),input:m.unknown(),rawInput:m.unknown().optional(),output:m.never().optional(),errorText:m.string(),callProviderMetadata:W.optional(),resultProviderMetadata:W.optional(),approval:m.object({id:m.string(),approved:m.literal(!0),reason:m.string().optional()}).optional()}),m.object({type:m.string().startsWith("tool-"),toolCallId:m.string(),state:m.literal("output-denied"),providerExecuted:m.boolean().optional(),input:m.unknown(),output:m.never().optional(),errorText:m.never().optional(),callProviderMetadata:W.optional(),approval:m.object({id:m.string(),approved:m.literal(!1),reason:m.string().optional()})})])).nonempty("Message must contain at least one part")})).nonempty("Messages array must not be empty")));var BJ=Fn({prefix:"aiobj",size:24});function n2(e){return({url:t,abortSignal:a})=>LF({url:t,maxBytes:e?.maxBytes,abortSignal:a})}var XF=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(e){return new Promise((t,a)=>{this.queue.push(async()=>{try{await e(),t()}catch(n){a(n)}}),this.processQueue()})}};var zJ=Fn({prefix:"aiobj",size:24});var qJ=n2();var ZF="AI_NoSuchProviderError",QF=`vercel.ai.error.${ZF}`,KF=Symbol.for(QF),YF;YF=KF;var FJ=n2();async function JF(e){if(e==null)return[];if(!globalThis.FileList||!(e instanceof globalThis.FileList))throw new Error("FileList is not supported in the current environment");return Promise.all(Array.from(e).map(async t=>{let{name:a,type:n}=t,r=await new Promise((o,l)=>{let i=new FileReader;i.onload=s=>{var u;o((u=s.target)==null?void 0:u.result)},i.onerror=s=>l(s),i.readAsDataURL(t)});return{type:"file",mediaType:n,filename:a,url:r}}))}var e6=class{constructor({api:e="/api/chat",credentials:t,headers:a,body:n,fetch:r,prepareSendMessagesRequest:o,prepareReconnectToStreamRequest:l}){this.api=e,this.credentials=t,this.headers=a,this.body=n,this.fetch=r,this.prepareSendMessagesRequest=o,this.prepareReconnectToStreamRequest=l}async sendMessages({abortSignal:e,...t}){var a,n,r,o,l;let i=await sn(this.body),s=await sn(this.headers),u=await sn(this.credentials),c={...Rr(s),...Rr(t.headers)},d=await((a=this.prepareSendMessagesRequest)==null?void 0:a.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...i,...t.body},headers:c,credentials:u,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId})),f=(n=d?.api)!=null?n:this.api,p=d?.headers!==void 0?Rr(d.headers):c,g=d?.body!==void 0?d.body:{...i,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId},w=(r=d?.credentials)!=null?r:u,y=await((o=this.fetch)!=null?o:globalThis.fetch)(f,{method:"POST",headers:{"Content-Type":"application/json",...p},body:JSON.stringify(g),credentials:w,signal:e});if(!y.ok)throw new Error((l=await y.text())!=null?l:"Failed to fetch the chat response.");if(!y.body)throw new Error("The response body is empty.");return this.processResponseStream(y.body)}async reconnectToStream(e){var t,a,n,r,o;let l=await sn(this.body),i=await sn(this.headers),s=await sn(this.credentials),u={...Rr(i),...Rr(e.headers)},c=await((t=this.prepareReconnectToStreamRequest)==null?void 0:t.call(this,{api:this.api,id:e.chatId,body:{...l,...e.body},headers:u,credentials:s,requestMetadata:e.metadata})),d=(a=c?.api)!=null?a:`${this.api}/${e.chatId}/stream`,f=c?.headers!==void 0?Rr(c.headers):u,p=(n=c?.credentials)!=null?n:s,w=await((r=this.fetch)!=null?r:globalThis.fetch)(d,{method:"GET",headers:f,credentials:p});if(w.status===204)return null;if(!w.ok)throw new Error((o=await w.text())!=null?o:"Failed to fetch the chat response.");if(!w.body)throw new Error("The response body is empty.");return this.processResponseStream(w.body)}},Hy=class extends e6{constructor(e={}){super(e)}processResponseStream(e){return VE({stream:e,schema:Fy}).pipeThrough(new TransformStream({async transform(t,a){if(!t.success)throw t.error;a.enqueue(t.value)}}))}},r2=class{constructor({generateId:e=UE,id:t=e(),transport:a=new Hy,messageMetadataSchema:n,dataPartSchemas:r,state:o,onError:l,onToolCall:i,onFinish:s,onData:u,sendAutomaticallyWhen:c}){this.activeResponse=void 0,this.jobExecutor=new XF,this.sendMessage=async(d,f)=>{var p,g,w,C;if(d==null){await this.makeRequest({trigger:"submit-message",messageId:(p=this.lastMessage)==null?void 0:p.id,...f});return}let y;if("text"in d||"files"in d?y={parts:[...Array.isArray(d.files)?d.files:await JF(d.files),..."text"in d&&d.text!=null?[{type:"text",text:d.text}]:[]]}:y=d,d.messageId!=null){let x=this.state.messages.findIndex(h=>h.id===d.messageId);if(x===-1)throw new Error(`message with id ${d.messageId} not found`);if(this.state.messages[x].role!=="user")throw new Error(`message with id ${d.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,x+1),this.state.replaceMessage(x,{...y,id:d.messageId,role:(g=y.role)!=null?g:"user",metadata:d.metadata})}else this.state.pushMessage({...y,id:(w=y.id)!=null?w:this.generateId(),role:(C=y.role)!=null?C:"user",metadata:d.metadata});await this.makeRequest({trigger:"submit-message",messageId:d.messageId,...f})},this.regenerate=async({messageId:d,...f}={})=>{let p=d==null?this.state.messages.length-1:this.state.messages.findIndex(g=>g.id===d);if(p===-1)throw new Error(`message ${d} not found`);this.state.messages=this.state.messages.slice(0,this.messages[p].role==="assistant"?p:p+1),await this.makeRequest({trigger:"regenerate-message",messageId:d,...f})},this.resumeStream=async(d={})=>{await this.makeRequest({trigger:"resume-stream",...d})},this.clearError=()=>{this.status==="error"&&(this.state.error=void 0,this.setStatus({status:"ready"}))},this.addToolApprovalResponse=async({id:d,approved:f,reason:p,options:g})=>this.jobExecutor.run(async()=>{let w=this.state.messages,C=w[w.length-1],y=x=>Wd(x)&&x.state==="approval-requested"&&x.approval.id===d?{...x,state:"approval-responded",approval:{id:d,approved:f,reason:p}}:x;this.state.replaceMessage(w.length-1,{...C,parts:C.parts.map(y)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(y)),this.status!=="streaming"&&this.status!=="submitted"&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(x=>{var h;x&&this.makeRequest({trigger:"submit-message",messageId:(h=this.lastMessage)==null?void 0:h.id,...g})})}),this.addToolOutput=async({state:d="output-available",toolCallId:f,output:p,errorText:g,options:w})=>this.jobExecutor.run(async()=>{let C=this.state.messages,y=C[C.length-1],x=h=>Wd(h)&&h.toolCallId===f?{...h,state:d,output:p,errorText:g}:h;this.state.replaceMessage(C.length-1,{...y,parts:y.parts.map(x)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(x)),this.status!=="streaming"&&this.status!=="submitted"&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(h=>{var v;h&&this.makeRequest({trigger:"submit-message",messageId:(v=this.lastMessage)==null?void 0:v.id,...w})})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{var d;this.status!=="streaming"&&this.status!=="submitted"||(d=this.activeResponse)!=null&&d.abortController&&this.activeResponse.abortController.abort()},this.id=t,this.transport=a,this.generateId=e,this.messageMetadataSchema=n,this.dataPartSchemas=r,this.state=o,this.onError=l,this.onToolCall=i,this.onFinish=s,this.onData=u,this.sendAutomaticallyWhen=c}get status(){return this.state.status}setStatus({status:e,error:t}){this.status!==e&&(this.state.status=e,this.state.error=t)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(e){this.state.messages=e}async shouldSendAutomatically(){if(!this.sendAutomaticallyWhen)return!1;let e=this.sendAutomaticallyWhen({messages:this.state.messages});return e&&typeof e=="object"&&"then"in e?await e:e}async makeRequest({trigger:e,metadata:t,headers:a,body:n,messageId:r}){var o,l,i;let s;if(e==="resume-stream")try{let p=await this.transport.reconnectToStream({chatId:this.id,metadata:t,headers:a,body:n});if(p==null)return;s=p}catch(p){this.onError&&p instanceof Error&&this.onError(p),this.setStatus({status:"error",error:p});return}this.setStatus({status:"submitted",error:void 0});let u=this.lastMessage,c=!1,d=!1,f=!1;try{let p={state:GF({lastMessage:this.state.snapshot(u),messageId:this.generateId()}),abortController:new AbortController};p.abortController.signal.addEventListener("abort",()=>{c=!0}),this.activeResponse=p;let g;e==="resume-stream"?g=s:g=await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:p.abortController.signal,metadata:t,headers:a,body:n,trigger:e,messageId:r});let w=C=>this.jobExecutor.run(()=>C({state:p.state,write:()=>{var y;this.setStatus({status:"streaming"}),p.state.message.id===((y=this.lastMessage)==null?void 0:y.id)?this.state.replaceMessage(this.state.messages.length-1,p.state.message):this.state.pushMessage(p.state.message)}}));await $F({stream:WF({stream:g,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:w,onError:C=>{throw C}}),onError:C=>{throw C}}),this.setStatus({status:"ready"})}catch(p){if(c||p.name==="AbortError")return c=!0,this.setStatus({status:"ready"}),null;f=!0,p instanceof TypeError&&(p.message.toLowerCase().includes("fetch")||p.message.toLowerCase().includes("network"))&&(d=!0),this.onError&&p instanceof Error&&this.onError(p),this.setStatus({status:"error",error:p})}finally{try{(l=this.onFinish)==null||l.call(this,{message:this.activeResponse.state.message,messages:this.state.messages,isAbort:c,isDisconnect:d,isError:f,finishReason:(o=this.activeResponse)==null?void 0:o.state.finishReason})}catch(p){console.error(p)}this.activeResponse=void 0}!f&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:"submit-message",messageId:(i=this.lastMessage)==null?void 0:i.id,metadata:t,headers:a,body:n})}};var u2=j(l2(),1);var Os=j(Ke(),1);var Zd=j(Ke(),1);var s2=(e,t,a)=>{if(!t.has(e))throw TypeError("Cannot "+a)},tt=(e,t,a)=>(s2(e,t,"read from private field"),a?a.call(e):t.get(e)),un=(e,t,a)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,a)},_r=(e,t,a,n)=>(s2(e,t,"write to private field"),n?n.call(e,a):t.set(e,a),a);function a6(e,t){return t!=null?(0,u2.default)(e,t):e}var Ba,$d,Xd,Rs,Ds,_s,_l,jy,Vy,n6=class{constructor(e=[]){un(this,Ba,void 0),un(this,$d,"ready"),un(this,Xd,void 0),un(this,Rs,new Set),un(this,Ds,new Set),un(this,_s,new Set),this.pushMessage=t=>{_r(this,Ba,tt(this,Ba).concat(t)),tt(this,_l).call(this)},this.popMessage=()=>{_r(this,Ba,tt(this,Ba).slice(0,-1)),tt(this,_l).call(this)},this.replaceMessage=(t,a)=>{_r(this,Ba,[...tt(this,Ba).slice(0,t),this.snapshot(a),...tt(this,Ba).slice(t+1)]),tt(this,_l).call(this)},this.snapshot=t=>structuredClone(t),this["~registerMessagesCallback"]=(t,a)=>{let n=a?a6(t,a):t;return tt(this,Rs).add(n),()=>{tt(this,Rs).delete(n)}},this["~registerStatusCallback"]=t=>(tt(this,Ds).add(t),()=>{tt(this,Ds).delete(t)}),this["~registerErrorCallback"]=t=>(tt(this,_s).add(t),()=>{tt(this,_s).delete(t)}),un(this,_l,()=>{tt(this,Rs).forEach(t=>t())}),un(this,jy,()=>{tt(this,Ds).forEach(t=>t())}),un(this,Vy,()=>{tt(this,_s).forEach(t=>t())}),_r(this,Ba,e)}get status(){return tt(this,$d)}set status(e){_r(this,$d,e),tt(this,jy).call(this)}get error(){return tt(this,Xd)}set error(e){_r(this,Xd,e),tt(this,Vy).call(this)}get messages(){return tt(this,Ba)}set messages(e){_r(this,Ba,[...e]),tt(this,_l).call(this)}};Ba=new WeakMap;$d=new WeakMap;Xd=new WeakMap;Rs=new WeakMap;Ds=new WeakMap;_s=new WeakMap;_l=new WeakMap;jy=new WeakMap;Vy=new WeakMap;var Ol,i2=class extends r2{constructor({messages:e,...t}){let a=new n6(e);super({...t,state:a}),un(this,Ol,void 0),this["~registerMessagesCallback"]=(n,r)=>tt(this,Ol)["~registerMessagesCallback"](n,r),this["~registerStatusCallback"]=n=>tt(this,Ol)["~registerStatusCallback"](n),this["~registerErrorCallback"]=n=>tt(this,Ol)["~registerErrorCallback"](n),_r(this,Ol,a)}};Ol=new WeakMap;function c2({experimental_throttle:e,resume:t=!1,...a}={}){let n=(0,Ua.useRef)("chat"in a?{}:{onToolCall:a.onToolCall,onData:a.onData,onFinish:a.onFinish,onError:a.onError,sendAutomaticallyWhen:a.sendAutomaticallyWhen});"chat"in a||(n.current={onToolCall:a.onToolCall,onData:a.onData,onFinish:a.onFinish,onError:a.onError,sendAutomaticallyWhen:a.sendAutomaticallyWhen});let r={...a,onToolCall:f=>{var p,g;return(g=(p=n.current).onToolCall)==null?void 0:g.call(p,f)},onData:f=>{var p,g;return(g=(p=n.current).onData)==null?void 0:g.call(p,f)},onFinish:f=>{var p,g;return(g=(p=n.current).onFinish)==null?void 0:g.call(p,f)},onError:f=>{var p,g;return(g=(p=n.current).onError)==null?void 0:g.call(p,f)},sendAutomaticallyWhen:f=>{var p,g,w;return(w=(g=(p=n.current).sendAutomaticallyWhen)==null?void 0:g.call(p,f))!=null?w:!1}},o=(0,Ua.useRef)("chat"in a?a.chat:new i2(r));("chat"in a&&a.chat!==o.current||"id"in a&&o.current.id!==a.id)&&(o.current="chat"in a?a.chat:new i2(r));let i=(0,Ua.useCallback)(f=>o.current["~registerMessagesCallback"](f,e),[e,o.current.id]),s=(0,Ua.useSyncExternalStore)(i,()=>o.current.messages,()=>o.current.messages),u=(0,Ua.useSyncExternalStore)(o.current["~registerStatusCallback"],()=>o.current.status,()=>o.current.status),c=(0,Ua.useSyncExternalStore)(o.current["~registerErrorCallback"],()=>o.current.error,()=>o.current.error),d=(0,Ua.useCallback)(f=>{typeof f=="function"&&(f=f(o.current.messages)),o.current.messages=f},[o]);return(0,Ua.useEffect)(()=>{t&&o.current.resumeStream()},[t,o]),{id:o.current.id,messages:s,setMessages:d,sendMessage:o.current.sendMessage,regenerate:o.current.regenerate,clearError:o.current.clearError,stop:o.current.stop,error:c,resumeStream:o.current.resumeStream,status:u,addToolResult:o.current.addToolOutput,addToolOutput:o.current.addToolOutput,addToolApprovalResponse:o.current.addToolApprovalResponse}}var X=j(Ke(),1);function r6(e){let t=e?.cause,a=t?.issues??t?.errors;if(!Array.isArray(a))return null;let n=a.find(r=>r.code==="invalid_union");if(!n?.errors)return null;for(let r of n.errors){if(!Array.isArray(r)||r.some(i=>(i.code==="invalid_value"||i.code==="invalid_literal")&&i.path?.[0]==="type"))continue;let l=r.filter(i=>i.code==="unrecognized_keys").flatMap(i=>i.keys??[]);if(l.length>0)return l}return null}var Qd=class extends Hy{processResponseStream(t){let a="",n=Fy(),r=n.validate?.bind(n);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(o,l){a+=o;let i=a.split(`
138
- `);a=i.pop()??"";for(let s of i){let u=s.trim();if(!u.startsWith("data:"))continue;let c=u.slice(5).trim();if(c!=="[DONE]")try{let d=JSON.parse(c);if(!r){l.enqueue(d);continue}let f=await r(d);if(f.success){l.enqueue(f.value);continue}let p=r6(f.error);if(p?.length){let g={...d};for(let C of p)delete g[C];let w=await r(g);w.success&&l.enqueue(w.value)}}catch{}}}}))}};var o6="waniwani-memory";var va="threads",Kd="by_memoryUserId",l6="by_updatedAt";var f2="memoryUserId",d2="waniwani-memory-user-id",Gy=null;function Wy(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function i6(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(va)){let a=e.createObjectStore(va,{keyPath:"threadId"});a.createIndex(Kd,"memoryUserId",{unique:!1}),a.createIndex(l6,"updatedAt",{unique:!1})}}async function $y(){return new Promise((e,t)=>{let a=indexedDB.open(o6,2);a.onupgradeneeded=n=>{i6(a.result,n.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function s6(){return $y()}async function u6(e){return new Promise((t,a)=>{let o=e.transaction("ids","readonly").objectStore("ids").get(f2);o.onsuccess=()=>t(typeof o.result=="string"?o.result:null),o.onerror=()=>a(o.error)})}async function c6(e,t){return new Promise((a,n)=>{let l=e.transaction("ids","readwrite").objectStore("ids").put(t,f2);l.onsuccess=()=>a(),l.onerror=()=>n(l.error)})}async function d6(){if(typeof indexedDB>"u")return null;try{let e=await s6();try{let t=await u6(e);if(t)return t;let a=Wy();return await c6(e,a),a}finally{e.close()}}catch{return null}}function f6(){try{let e=localStorage.getItem(d2);if(e)return e;let t=Wy();return localStorage.setItem(d2,t),t}catch{return null}}async function p2(){let e=await d6();if(e)return e;let t=f6();return t||(Gy||(Gy=Wy()),Gy)}var m2=50,h2=1e3;function Yd(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.threadId=="string"&&typeof t.memoryUserId=="string"&&typeof t.title=="string"&&Array.isArray(t.messages)&&typeof t.createdAt=="string"&&typeof t.updatedAt=="string"}async function Jd(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await $y(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function Xy(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function Zy(e){return await Jd(async a=>{let o=a.transaction(va,"readonly").objectStore(va).index(Kd),i=(await Xy(o.getAll(e))??[]).filter(Yd);return i.sort((s,u)=>s.updatedAt<u.updatedAt?1:-1),i})??[]}async function Qy(e){return await Jd(async a=>{let r=a.transaction(va,"readonly").objectStore(va),o=await Xy(r.get(e));return Yd(o)?o:null})??null}async function Ky(e){if(!Yd(e))return;let t=e.messages.length>h2?{...e,messages:e.messages.slice(e.messages.length-h2)}:e;await Jd(async a=>{await new Promise((s,u)=>{let c=a.transaction(va,"readwrite");c.oncomplete=()=>s(),c.onerror=()=>u(c.error),c.onabort=()=>u(c.error),c.objectStore(va).put(t)});let n=a.transaction(va,"readwrite"),r=n.objectStore(va),o=r.index(Kd),i=(await Xy(o.getAll(t.memoryUserId))??[]).filter(Yd);if(i.length>m2){i.sort((u,c)=>u.updatedAt<c.updatedAt?-1:1);let s=i.slice(0,i.length-m2);for(let u of s)r.delete(u.threadId)}return await new Promise((s,u)=>{n.oncomplete=()=>s(),n.onerror=()=>u(n.error),n.onabort=()=>u(n.error)}),null})}async function g2(e){await Jd(async t=>(await new Promise((a,n)=>{let r=t.transaction(va,"readwrite");r.oncomplete=()=>a(),r.onerror=()=>n(r.error),r.onabort=()=>n(r.error),r.objectStore(va).delete(e)}),null))}async function y2(e){return(await Zy(e))[0]?.threadId??null}function x2(e){let t=e.trim();if(!t)return`Conversation on ${new Date().toISOString().slice(0,10)}`;let a=t.split(/\r?\n/,1)[0]??t;return a.length<=60?a:`${a.slice(0,60).trimEnd()}\u2026`}var w2="waniwani-visitor-id";function v2(e,t){return e.match(t)?.[1]??null}function p6(e){let t=[["Edge",/Edg(?:e|A|iOS)?\/(\S+)/],["Opera",/(?:OPR|Opera)\/(\S+)/],["Samsung Internet",/SamsungBrowser\/(\S+)/],["Firefox",/Firefox\/(\S+)/],["Chrome",/Chrome\/(\S+)/],["Safari",/Version\/(\S+).*Safari/]];for(let[a,n]of t){let r=v2(e,n);if(r)return{name:a,version:r}}return null}function m6(e){let t=[["iOS",/(?:iPhone|iPad|iPod).+?OS (\d+[_.\d]*)/],["Android",/Android (\d+[.\d]*)/],["macOS",/Mac OS X (\d+[_.\d]*)/],["Windows",/Windows NT (\d+[.\d]*)/],["ChromeOS",/CrOS \S+ (\d+[.\d]*)/],["Linux",/Linux/]];for(let[a,n]of t){let r=v2(e,n);if(r)return{name:a,version:r.replace(/_/g,".")};if(a==="Linux"&&n.test(e))return{name:a,version:""}}return null}function h6(e){return typeof navigator<"u"&&"userAgentData"in navigator&&navigator.userAgentData?.mobile?"mobile":/iPad|tablet|PlayBook/i.test(e)?"tablet":/Mobi|Android.*Mobile|iPhone|iPod/i.test(e)?"mobile":"desktop"}async function g6(e){let t=new TextEncoder().encode(e),a=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(a)).map(n=>n.toString(16).padStart(2,"0")).join("")}async function y6(){try{let a=localStorage.getItem(w2);if(a)return a}catch{}let e=[navigator.userAgent,screen.width,screen.height,screen.colorDepth,Intl.DateTimeFormat().resolvedOptions().timeZone,navigator.language,navigator.hardwareConcurrency??"",navigator.platform??""].join("|"),t=await g6(e);try{localStorage.setItem(w2,t)}catch{}return t}async function b2(){let e=navigator.userAgent,[t,a]=await Promise.all([y6(),p2()]);return{userAgent:e,browser:p6(e),os:m6(e),deviceType:h6(e),language:navigator.language,languages:[...navigator.languages],timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,screenWidth:screen.width,screenHeight:screen.height,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,colorDepth:screen.colorDepth,devicePixelRatio:window.devicePixelRatio??1,touchSupport:"ontouchstart"in window||navigator.maxTouchPoints>0,connectionType:navigator.connection?.effectiveType??"unknown",referrer:document.referrer,visitorId:t,memoryUserId:a}}var x6="x-session-id",w6=250;function S2(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Zi()}function ef(){return new Date().toISOString()}function C2(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function v6(e,t){let a=`${e.replace(/\/$/,"")}/tools`,n=await fetch(a,{method:"GET",headers:t?{...t}:void 0});if(!n.ok)throw new Error(`[WaniWani] Failed to fetch /tools: ${n.status} ${n.statusText}`);let r=await n.json();if(!r||!Array.isArray(r.tools))return{};let o={};for(let l of r.tools)l&&typeof l.name=="string"&&(o[l.name]=l);return o}function I2(e){let{api:t="/api/waniwani",headers:a,body:n,onMessageSent:r,onResponseReceived:o,enableThreadHistory:l=!1,activeThreadId:i,onThreadChange:s}=e,u=(0,X.useRef)(a),c=(0,X.useRef)(n),d=(0,X.useRef)(l);(0,X.useEffect)(()=>{d.current=l},[l]);let f=(0,X.useRef)(void 0),p=(0,X.useRef)(null),[g,w]=(0,X.useState)(void 0),C=(0,X.useRef)(g),[y,x]=(0,X.useState)(i),h=(0,X.useRef)(y),[v,A]=(0,X.useState)([]),[I,M]=(0,X.useState)(!l),_=(0,X.useRef)(void 0),P=(0,X.useRef)(void 0),k=(0,X.useRef)(void 0),B=(0,X.useRef)(void 0),R=(0,X.useRef)(0),U=(0,X.useRef)(s);(0,X.useEffect)(()=>{U.current=s},[s]);let G=(0,X.useCallback)(N=>{h.current=N,x(N),N&&U.current?.(N)},[]),V=(0,X.useCallback)(async()=>{if(!l)return;let N=p.current?.memoryUserId;if(!N)return;let ae=await Zy(N);A(ae)},[l]),Y=(0,X.useCallback)(()=>C.current,[]),he=(0,X.useCallback)(N=>{let ae=C2(N);ae&&C.current!==ae&&(C.current=ae,w(ae))},[]),Me=(0,X.useCallback)(()=>{C.current=void 0,w(void 0)},[]);(0,X.useEffect)(()=>{u.current=a},[a]),(0,X.useEffect)(()=>{c.current=n},[n]),(0,X.useEffect)(()=>{let N=!1,ae=R.current;return(async()=>{try{let Ge=await b2();if(N)return;p.current=Ge}catch{}if(!l)return;let pe=p.current?.memoryUserId;if(!pe){M(!0);return}try{let Ge=i??await y2(pe);if(N||ae!==R.current)return;if(Ge){let st=await Qy(Ge);if(N||ae!==R.current)return;st&&st.memoryUserId===pe&&(h.current=st.threadId,x(st.threadId),_.current=st.createdAt,P.current=st.title,st.sessionId&&(C.current=st.sessionId,w(st.sessionId)),Be(st.messages))}await V()}finally{N||M(!0)}})(),()=>{N=!0}},[]);let Se=(0,X.useRef)(new Qd({api:t,headers:()=>({...u.current}),body:()=>{let N={...c.current??{}},ae=Object.hasOwn(N,"sessionId"),pe=C2(N.sessionId);if(pe)he(pe),N.sessionId=pe;else if(ae)Me(),delete N.sessionId;else{let qa=Y();qa&&(N.sessionId=qa)}if(Ml(f.current)&&(N.modelContext=f.current),p.current){let qa=p.current;N.visitorContext={timezone:qa.timezone,language:qa.language,languages:qa.languages,deviceType:qa.deviceType,referrer:qa.referrer,visitorId:qa.visitorId};let pn=typeof N.visitor=="object"&&N.visitor!==null?N.visitor:{},F2=typeof pn.client=="object"&&pn.client!==null?pn.client:{};N.visitor={...pn,client:{...F2,memoryUserId:qa.memoryUserId}}}let Ge=typeof N.extra=="object"&&N.extra!==null&&!Array.isArray(N.extra)?N.extra:void 0,st=p.current?.memoryUserId,Tt=p.current?.language,Us={};if(st&&(Us.memoryUserId=st),Tt&&(Us.locale=Tt),(Object.keys(Us).length>0||Ge)&&(N.extra={...Us,...Ge??{}}),d.current)if(Object.hasOwn(N,"threadId"))typeof N.threadId=="string"&&(h.current=N.threadId);else{let pn=h.current;pn||(pn=S2(),_.current=ef(),P.current=void 0,G(pn)),N.threadId=pn}return N},fetch:(async(N,ae)=>{let pe=await fetch(N,ae);return f.current=void 0,he(pe.headers.get(x6)),pe})})),S=(0,X.useRef)(null),at=(0,X.useRef)(null),it=(0,X.useRef)({}),[L,Ze]=(0,X.useState)(0),ke=e.skipRemoteConfig===!0,Dt=(0,X.useCallback)(async()=>{if(!ke)try{let N=await v6(t,u.current);it.current=N,Ze(ae=>ae+1)}catch(N){console.warn("[WaniWani] Failed to fetch tool definitions:",N instanceof Error?N.message:N)}},[t,ke]);(0,X.useEffect)(()=>{Dt()},[Dt]);let{messages:nt,sendMessage:re,setMessages:Be,status:F}=c2({messages:e.initialMessages,transport:Se.current,onFinish({message:N}){o?.(),S.current&&(at.current=N)},onError(N){console.warn("[WaniWani] Chat error:",N.message),S.current&&(S.current.reject(N),S.current=null)}}),$=(0,X.useRef)(nt);(0,X.useEffect)(()=>{$.current=nt},[nt]),(0,X.useEffect)(()=>{if(F==="ready"&&S.current&&at.current){let N=S.current,ae=at.current;S.current=null,at.current=null,N.resolve(ae)}},[F]);let[oe,se]=(0,X.useState)(""),[Ee,Ue]=(0,X.useState)([]),_t=F==="submitted"||F==="streaming",za=(0,X.useCallback)(N=>{Ue(ae=>ae.filter(pe=>pe.id!==N))},[]),jn=_t&&Ee.length>0,dn=(0,X.useCallback)(N=>{let ae=!!N.text?.trim(),pe=!!N.files?.length;if(ae||pe){if(_t){if(Ee.length>0)return;Ue(Ge=>[...Ge,{id:Zi(),text:N.text||"",files:N.files??[],modelContext:N.modelContext}]),se("");return}f.current=N.modelContext,re({text:N.text||"",files:N.files}),r?.(N.text||""),se("")}},[re,r,_t,Ee.length]),Ns=(0,X.useCallback)(N=>new Promise((ae,pe)=>{S.current={resolve:ae,reject:pe},re({text:N}),r?.(N)}),[re,r]);(0,X.useEffect)(()=>{if(F!=="ready"||Ee.length===0)return;let[N,...ae]=Ee;Ue(ae),f.current=N.modelContext,re({text:N.text,files:N.files.length>0?N.files:void 0}),r?.(N.text)},[F,re,r,Ee]);let nf=(0,X.useCallback)(()=>{Be([]),Ue([]),Me(),se(""),it.current={},Ze(N=>N+1),Dt()},[Be,Me,Dt]),Io=(0,X.useCallback)(()=>{if(!d.current)return;let N=p.current?.memoryUserId,ae=h.current,pe=$.current;if(!(!N||!ae||pe.length===0)){if(_.current||(_.current=ef()),!P.current){let Ge=pe.find(Tt=>Tt.role==="user"),st=Ge?Ge.parts.map(Tt=>"text"in Tt&&typeof Tt.text=="string"?Tt.text:"").join(" "):"";P.current=x2(st)}return{threadId:ae,memoryUserId:N,title:P.current,messages:pe,sessionId:C.current,createdAt:_.current,updatedAt:ef()}}},[]),Bs=(0,X.useCallback)(async()=>{let N=Io();N&&(await Ky(N),await V())},[Io,V]);(0,X.useEffect)(()=>{if(l&&I&&!(F==="submitted"||F==="streaming")&&nt.length!==0)return k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{k.current=void 0;let N=Bs().finally(()=>{B.current===N&&(B.current=void 0)});B.current=N},w6),()=>{k.current&&clearTimeout(k.current)}},[l,I,nt,F,Bs]);let Lo=(0,X.useCallback)(()=>{let N=B.current,ae=k.current,pe=ae?Io():void 0;return ae&&(clearTimeout(ae),k.current=void 0),(async()=>{N&&await N,pe&&(await Ky(pe),await V())})()},[Io,V]),rf=(0,X.useCallback)(()=>{R.current+=1,Lo(),Be([]),Ue([]),Me(),se("");let N=S2();return _.current=ef(),P.current=void 0,G(N),V(),N},[Be,Me,G,V,Lo]),D=(0,X.useCallback)(async N=>{R.current+=1;let ae=R.current;if(await Lo(),ae!==R.current)return;let pe=await Qy(N);ae===R.current&&pe&&(G(pe.threadId),_.current=pe.createdAt,P.current=pe.title,pe.sessionId?(C.current=pe.sessionId,w(pe.sessionId)):Me(),Be(pe.messages),Ue([]),se(""))},[Be,Me,G,Lo]),q=(0,X.useCallback)(async N=>{if(h.current===N){R.current+=1,k.current&&(clearTimeout(k.current),k.current=void 0);let ae=B.current;ae&&await ae}await g2(N),await V(),h.current===N&&(Be([]),Ue([]),Me(),se(""),h.current=void 0,x(void 0),_.current=void 0,P.current=void 0)},[Be,Me,V]);(0,X.useEffect)(()=>{l&&I&&i!==void 0&&i!==h.current&&D(i)},[i,l,I,D]);let te=(0,X.useCallback)(N=>{se(N.target.value)},[]),fe=nt[nt.length-1],Re=nt.length>0,la=_t&&(!Re||fe.role==="user"),fn=it.current;return{messages:nt,status:F,text:oe,setText:se,handleSubmit:dn,handleTextChange:te,isLoading:_t,showLoaderBubble:la,lastMessage:fe,hasMessages:Re,sendMessage:re,sendMessageAndWait:Ns,reset:nf,queuedMessages:Ee,queueFull:jn,removeQueuedMessage:za,sessionId:g,toolDefinitions:fn,refreshToolDefinitions:Dt,threads:v,activeThreadId:y,isThreadHistoryReady:I,startNewThread:rf,switchThread:D,deleteThread:q}}var cn=j(Ke(),1);function b6(e){for(let t of e.parts){let a=t;if(a.type==="data"||a.type==="data-suggestions"){let n=a.data;if(n&&Array.isArray(n.suggestions))return n.suggestions}}return null}function L2(e){return typeof e=="object"&&e!==null&&"initial"in e}function k2(e){let{messages:t,status:a,config:n}=e,r=L2(n)&&n.initial?n.initial:void 0,[o,l]=(0,cn.useState)(r??[]),i=(0,cn.useRef)(a),s=n===!0||L2(n)&&n.dynamic!==!1,u=(0,cn.useCallback)(()=>{l([])},[]),c=t.length>0;(0,cn.useEffect)(()=>{!c&&r&&r.length>0&&l(r)},[r,c]);let d=t[t.length-1];return(0,cn.useEffect)(()=>{d?.role==="user"&&u()},[d,u]),(0,cn.useEffect)(()=>{let f=i.current;if(i.current=a,f==="streaming"&&a==="ready"&&s){let p=[...t].reverse().find(w=>w.role==="assistant");if(!p)return;let g=b6(p);g&&l(g)}},[a,s,t]),{suggestions:o,isLoading:!1,clear:u}}var Pl=j(Ke(),1),S6=50,C6=30,I6=2e3,T2=500;function A2(e,t=!0){let[a,n]=(0,Pl.useState)(""),r=(0,Pl.useRef)(void 0);return(0,Pl.useEffect)(()=>{if(!t){n("");return}let o=0,l=!1,i=!1,s=()=>{i||(l?(o--,n(e.slice(0,o)),o<=0?(l=!1,r.current=setTimeout(s,T2)):r.current=setTimeout(s,C6)):(o++,n(e.slice(0,o)),o>=e.length?(l=!0,r.current=setTimeout(s,I6)):r.current=setTimeout(s,S6)))};return r.current=setTimeout(s,T2),()=>{i=!0,clearTimeout(r.current)}},[e,t]),a}function M2(e,t){let a=t?.Authorization,n=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return n?`${e}/resource?token=${encodeURIComponent(n)}`:`${e}/resource`}var L6={primaryColor:["--ww-primary","--ww-color-primary"],primaryForeground:["--ww-primary-fg","--ww-color-primary-foreground"],backgroundColor:["--ww-bg","--ww-color-background"],textColor:["--ww-text","--ww-color-foreground","--ww-color-accent-foreground"],mutedColor:["--ww-muted","--ww-color-muted-foreground"],borderColor:["--ww-border","--ww-color-border"],borderWidth:["--ww-border-width"],boxShadow:["--ww-shadow"],assistantBubbleColor:["--ww-assistant-bubble","--ww-color-accent"],userBubbleColor:["--ww-user-bubble"],inputBackgroundColor:["--ww-input-bg","--ww-color-input"],borderRadius:["--ww-radius"],messageBorderRadius:["--ww-msg-radius"],fontFamily:["--ww-font"],headerBackgroundColor:["--ww-header-bg"],headerTextColor:["--ww-header-text"],statusColor:["--ww-status"],toolCardColor:["--ww-tool-card","--ww-color-tool-card"]};function E2(e){let t={};for(let[a,n]of Object.entries(L6)){let r=e[a];if(r===void 0)continue;let o=typeof r=="number"?`${r}px`:String(r);for(let l of n)t[l]=o}return t}var He=j(ce(),1),R2=(0,Xe.forwardRef)(function(t,a){let{appearance:n,className:r,allowAttachments:o=!1,welcomeMessage:l,welcome:i,placeholder:s="Ask me anything...",triggerEvent:u="triggerDemoRequest",api:c,mcp:d,debug:f=!1,readOnly:p=!1,title:g,headerActions:w,hideHeader:C=!1,enableThreadHistory:y=!1,showToolCalls:x=!0,initializing:h=!1,disclaimer:v}=t,A=n?.theme,I=n?.variables,M=I?E2(I):{},[_,P]=(0,Xe.useState)(!1);(0,Xe.useEffect)(()=>{if(A!=="auto"||typeof window>"u")return;let F=window.matchMedia("(prefers-color-scheme: dark)");P(F.matches);let $=()=>P(F.matches);return F.addEventListener("change",$),()=>F.removeEventListener("change",$)},[A]);let k=A==="dark"||A==="auto"&&_,B=I2({...t,api:c}),R=CM({...t,api:c,sessionId:B.sessionId,onCallTool:d?.onCallTool}),U=d?.resourceEndpoint??M2(c,t.headers),G=A2(s,!B.text),[V,Y]=(0,Xe.useState)(null),he=(0,Xe.useRef)(null),Me=(0,Xe.useRef)(null),Se=(0,Xe.useRef)(null),S=(0,Xe.useRef)(null),[at,it]=(0,Xe.useState)(!0),L=(0,Xe.useRef)(at);L.current=at;let Ze=(0,Xe.useCallback)(()=>{let F=he.current;if(!F)return;let $=F.querySelector("textarea");$&&$.focus()},[]),ke=(0,Xe.useCallback)((F="smooth")=>{let $=Me.current;$&&$.scrollTo({top:$.scrollHeight,behavior:F})},[]);(0,Xe.useEffect)(()=>{let F=S.current,$=Me.current;if(!F||!$)return;let oe=new IntersectionObserver(([se])=>it(se.isIntersecting),{root:$,rootMargin:"0px 0px 200px 0px",threshold:0});return oe.observe(F),()=>oe.disconnect()},[]),(0,Xe.useEffect)(()=>{(B.messages[B.messages.length-1]?.role==="user"||L.current)&&ke("smooth")},[B.messages.length,B.messages[B.messages.length-1]]),(0,Xe.useEffect)(()=>{ke("auto")},[ke]),(0,Xe.useEffect)(()=>{if(typeof ResizeObserver>"u")return;let F=Me.current,$=Se.current;if(!F&&!$)return;let oe=F?.scrollHeight??0,se=F?.clientHeight??0,Ee=new ResizeObserver(()=>{let Ue=Me.current;if(!Ue)return;let _t=Ue.scrollTop+se>=oe-5;oe=Ue.scrollHeight,se=Ue.clientHeight,_t&&ke("auto")});return F&&Ee.observe(F),$&&Ee.observe($),()=>Ee.disconnect()},[ke]);let Dt=k2({messages:B.messages,status:B.status,config:t.suggestions}),nt=(0,Xe.useCallback)(F=>{let $=F.content.map(oe=>oe.text??"").join("").trim();$&&B.handleSubmit({text:$,files:[],modelContext:F.modelContext})},[B.handleSubmit]),re=(0,Xe.useCallback)(F=>{Dt.clear(),B.handleSubmit({text:F,files:[]})},[Dt.clear,B.handleSubmit]);(0,Xe.useImperativeHandle)(a,()=>({sendMessage:F=>{B.handleSubmit({text:F,files:[]}),Ze()},sendMessageAndWait:F=>B.sendMessageAndWait(F),reset:B.reset,focus:Ze,get messages(){return B.messages}}),[B.handleSubmit,B.sendMessageAndWait,B.reset,B.messages,Ze]),(0,Xe.useEffect)(()=>{if(!u)return;let F=$=>{let oe=$.detail,se=typeof oe?.message=="string"?oe.message:void 0;se&&B.handleSubmit({text:se,files:[]}),Ze()};return window.addEventListener(u,F),()=>window.removeEventListener(u,F)},[u,B.handleSubmit,Ze]);let Be=!C&&!!(g||y||w);return(0,He.jsxs)("div",{ref:he,style:{...M,maxHeight:"inherit",opacity:h?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-color-scheme":A==="auto"?"auto":void 0,...h?{"data-waniwani-initializing":""}:{},...k?{"data-waniwani-dark":""}:{},className:K("ww:relative ww:w-full ww:h-full ww:flex ww:flex-col ww:bg-background ww:text-foreground ww:font-[family-name:var(--ww-font)] ww:overflow-hidden",A==="dark"&&"dark",r),children:[Be&&(0,He.jsxs)("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3 ww:border-b ww:border-border",style:{backgroundColor:"var(--ww-color-card-header)",color:"var(--ww-color-card-header-foreground)"},children:[g&&(0,He.jsx)("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:g}),!g&&(0,He.jsx)("div",{className:"ww:flex-1"}),w,y&&(0,He.jsx)(SM,{threads:B.threads,activeThreadId:B.activeThreadId,onNewThread:B.startNewThread,onSelectThread:F=>{B.switchThread(F)},onDeleteThread:F=>{B.deleteThread(F)}})]}),(0,He.jsxs)("div",{ref:Me,className:K("ww:relative ww:flex-1 ww:min-h-0",V?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[(0,He.jsxs)("div",{ref:Se,className:K("ww:mx-auto ww:w-full ww:max-w-3xl ww:px-4 ww:py-6 ww:flex ww:flex-col ww:gap-6",V&&"ww:!py-0"),children:[(0,He.jsx)(xM,{messages:B.messages,status:B.status,welcomeMessage:l,welcome:i,onSuggestionSelect:re,resourceEndpoint:U,chatSessionId:B.sessionId,isDark:k,onFollowUp:nt,onCallTool:R,fullscreenToolCallId:V,debug:f,showToolCalls:x,toolDefinitions:B.toolDefinitions,onWidgetDisplayModeChange:(F,$)=>{Y(F==="fullscreen"?$.toolCallId:null)}}),(0,He.jsx)("div",{ref:S,"aria-hidden":!0,style:{height:1}})]}),!at&&!V&&(0,He.jsx)("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:(0,He.jsx)(an,{type:"button",onClick:()=>ke("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:(0,He.jsx)(zi,{className:"ww:size-4"})})})]}),!p&&(0,He.jsxs)("div",{className:"ww:shrink-0 ww:bg-background",style:V?{display:"none"}:void 0,children:[(0,He.jsx)(vM,{suggestions:Dt.suggestions,isLoading:Dt.isLoading,onSelect:re}),(0,He.jsx)(g0,{queuedMessages:B.queuedMessages,onRemove:B.removeQueuedMessage}),(0,He.jsx)("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:(0,He.jsxs)("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[(0,He.jsx)(n0,{onSubmit:B.handleSubmit,globalDrop:o,multiple:o,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:(0,He.jsxs)("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[o&&(0,He.jsx)(l0,{}),(0,He.jsx)(r0,{onChange:B.handleTextChange,value:B.text,placeholder:G,className:"ww:min-h-0 ww:py-1 ww:px-0"}),(0,He.jsx)(o0,{status:B.status,disabled:B.queueFull})]})}),(0,He.jsxs)("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:justify-center ww:items-center ww:gap-1.5",children:[(0,He.jsx)(wM,{}),v!==!1&&(0,He.jsx)("span",{"aria-hidden":!0,className:"ww:text-[11px] ww:text-muted-foreground ww:opacity-70",children:"\xB7"}),(0,He.jsx)(i0,{text:v})]})]})})]})]})});var Ps=j(Ke(),1);var k6="waniwani:config:";function D2(e,t,a){return`${k6}${e}|${t}|${a??""}`}function T6(e,t,a){if(typeof window>"u")return null;try{let n=window.sessionStorage.getItem(D2(e,t,a));if(!n)return null;let r=JSON.parse(n);return r&&typeof r=="object"?r:null}catch{return null}}function A6(e,t,a,n){if(!(typeof window>"u"))try{window.sessionStorage.setItem(D2(e,t,a),JSON.stringify(n))}catch{}}var M6=600;async function E6(e,t,a,n){try{let r=`${e.replace(/\/$/,"")}/config`,o=n?`${r}?channel=${encodeURIComponent(n)}`:r,l=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${t}`},signal:a});if(!l.ok)return{};let i=await l.json(),s=i&&typeof i=="object"&&"data"in i&&i.data?i.data:i;return s?R6(s):{}}catch{return{}}}function R6(e){let t={};return e.title!=null&&(t.title=e.title),e.welcomeMessage!=null&&(t.welcomeMessage=e.welcomeMessage),e.placeholder!=null&&(t.placeholder=e.placeholder),e.suggestions!=null&&e.suggestions.length>0&&(t.suggestions=e.suggestions),typeof e.enableThreadHistory=="boolean"&&(t.enableThreadHistory=e.enableThreadHistory),t}function _2(e,t,a){let[n,r]=(0,Ps.useState)(e),[o,l]=(0,Ps.useState)(!1);return(0,Ps.useEffect)(()=>{let i=e.api,s=e.token,u=e.channelId;if(!i||!s){l(!0);return}let c=T6(i,s,u);if(c)try{r(Bi(t,c,a)),l(!0)}catch{}let d=new AbortController,f=setTimeout(()=>l(!0),M6);return E6(i,s,d.signal,u).then(p=>{if(!d.signal.aborted){if(Object.keys(p).length>0){A6(i,s,u,p);try{r(Bi(t,p,a))}catch(g){console.error("[WaniWani] Failed to apply remote config:",g)}}l(!0)}}).catch(p=>{console.error("[WaniWani] Remote config fetch failed:",p),l(!0)}).finally(()=>clearTimeout(f)),()=>{d.abort(),clearTimeout(f)}},[e.api,e.token,e.channelId]),{config:n,ready:o}}var P2=j(ce(),1),O2=(0,Or.forwardRef)(function({config:t,programmatic:a,scriptConfig:n,onReady:r},o){let{config:l,ready:i}=_2(t,a,n),s=(0,Or.useRef)(null);(0,Or.useEffect)(()=>{r?.()},[]),(0,Or.useImperativeHandle)(o,()=>({get chat(){return s.current}}),[]);let u={};return l.mcpServerUrl&&(u.mcpServerUrl=l.mcpServerUrl),l.channelId&&(u.channelId=l.channelId),(0,P2.jsx)(R2,{ref:s,api:l.api??"",headers:{Authorization:`Bearer ${l.token}`},skipRemoteConfig:!0,body:Object.keys(u).length>0?u:void 0,appearance:l.appearance,title:l.title,hideHeader:l.hideHeader,welcomeMessage:l.welcomeMessage,placeholder:l.placeholder,suggestions:l.suggestions?{initial:l.suggestions}:void 0,enableThreadHistory:l.enableThreadHistory,showToolCalls:l.showToolCalls,initializing:!i})});var Yy="/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--ww-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--ww-color-blue-400:oklch(70.7% .165 254.624);--ww-spacing:.25rem;--ww-container-sm:24rem;--ww-container-md:28rem;--ww-container-3xl:48rem;--ww-text-xs:.75rem;--ww-text-xs--line-height:calc(1/.75);--ww-text-sm:.875rem;--ww-text-sm--line-height:calc(1.25/.875);--ww-text-base:1rem;--ww-text-base--line-height:calc(1.5/1);--ww-text-lg:1.125rem;--ww-text-lg--line-height:calc(1.75/1.125);--ww-font-weight-medium:500;--ww-font-weight-semibold:600;--ww-tracking-wide:.025em;--ww-tracking-wider:.05em;--ww-radius-md:.375rem;--ww-radius-lg:.5rem;--ww-radius-xl:.75rem;--ww-radius-2xl:1rem;--ww-ease-out:cubic-bezier(0,0,.2,1);--ww-animate-spin:spin 1s linear infinite;--ww-animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--ww-default-transition-duration:.15s;--ww-default-transition-timing-function:cubic-bezier(.4,0,.2,1);--ww-default-font-family:var(--ww-font-sans,system-ui,-apple-system,\"Segoe UI\",sans-serif);--ww-default-mono-font-family:var(--ww-font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--ww-default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:var(--ww-default-font-feature-settings,normal);font-variation-settings:var(--ww-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--ww-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:var(--ww-default-mono-font-feature-settings,normal);font-variation-settings:var(--ww-default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.ww\\:pointer-events-auto{pointer-events:auto}.ww\\:pointer-events-none{pointer-events:none}.ww\\:\\!relative{position:relative!important}.ww\\:absolute{position:absolute}.ww\\:relative{position:relative}.ww\\:sticky{position:sticky}.ww\\:top-full{top:100%}.ww\\:right-0{right:calc(var(--ww-spacing)*0)}.ww\\:bottom-2{bottom:calc(var(--ww-spacing)*2)}.ww\\:bottom-4{bottom:calc(var(--ww-spacing)*4)}.ww\\:left-\\[50\\%\\]{left:50%}.ww\\:z-50{z-index:50}.ww\\:mx-auto{margin-inline:auto}.ww\\:mt-0\\.5{margin-top:calc(var(--ww-spacing)*.5)}.ww\\:mt-1{margin-top:calc(var(--ww-spacing)*1)}.ww\\:mt-2{margin-top:calc(var(--ww-spacing)*2)}.ww\\:mt-6{margin-top:calc(var(--ww-spacing)*6)}.ww\\:mb-2{margin-bottom:calc(var(--ww-spacing)*2)}.ww\\:mb-4{margin-bottom:calc(var(--ww-spacing)*4)}.ww\\:ml-auto{margin-left:auto}.ww\\:line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ww\\:contents{display:contents}.ww\\:flex{display:flex}.ww\\:grid{display:grid}.ww\\:hidden{display:none}.ww\\:inline-block{display:inline-block}.ww\\:inline-flex{display:inline-flex}.ww\\:field-sizing-content{field-sizing:content}.ww\\:size-2{width:calc(var(--ww-spacing)*2);height:calc(var(--ww-spacing)*2)}.ww\\:size-3{width:calc(var(--ww-spacing)*3);height:calc(var(--ww-spacing)*3)}.ww\\:size-3\\.5{width:calc(var(--ww-spacing)*3.5);height:calc(var(--ww-spacing)*3.5)}.ww\\:size-4{width:calc(var(--ww-spacing)*4);height:calc(var(--ww-spacing)*4)}.ww\\:size-5{width:calc(var(--ww-spacing)*5);height:calc(var(--ww-spacing)*5)}.ww\\:size-7{width:calc(var(--ww-spacing)*7);height:calc(var(--ww-spacing)*7)}.ww\\:size-8{width:calc(var(--ww-spacing)*8);height:calc(var(--ww-spacing)*8)}.ww\\:size-9{width:calc(var(--ww-spacing)*9);height:calc(var(--ww-spacing)*9)}.ww\\:size-12{width:calc(var(--ww-spacing)*12);height:calc(var(--ww-spacing)*12)}.ww\\:size-auto{width:auto;height:auto}.ww\\:size-full{width:100%;height:100%}.ww\\:h-2\\.5{height:calc(var(--ww-spacing)*2.5)}.ww\\:h-7{height:calc(var(--ww-spacing)*7)}.ww\\:h-8{height:calc(var(--ww-spacing)*8)}.ww\\:h-9{height:calc(var(--ww-spacing)*9)}.ww\\:h-16{height:calc(var(--ww-spacing)*16)}.ww\\:h-auto{height:auto}.ww\\:h-full{height:100%}.ww\\:max-h-48{max-height:calc(var(--ww-spacing)*48)}.ww\\:max-h-80{max-height:calc(var(--ww-spacing)*80)}.ww\\:min-h-0{min-height:calc(var(--ww-spacing)*0)}.ww\\:min-h-full{min-height:100%}.ww\\:w-72{width:calc(var(--ww-spacing)*72)}.ww\\:w-auto{width:auto}.ww\\:w-fit{width:fit-content}.ww\\:w-full{width:100%}.ww\\:max-w-3xl{max-width:var(--ww-container-3xl)}.ww\\:max-w-24{max-width:calc(var(--ww-spacing)*24)}.ww\\:max-w-32{max-width:calc(var(--ww-spacing)*32)}.ww\\:max-w-\\[80\\%\\]{max-width:80%}.ww\\:max-w-full{max-width:100%}.ww\\:max-w-md{max-width:var(--ww-container-md)}.ww\\:max-w-sm{max-width:var(--ww-container-sm)}.ww\\:min-w-0{min-width:calc(var(--ww-spacing)*0)}.ww\\:flex-1{flex:1}.ww\\:shrink-0{flex-shrink:0}.ww\\:grow{flex-grow:1}.ww\\:translate-x-\\[-50\\%\\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.ww\\:rotate-90{rotate:90deg}.ww\\:rotate-180{rotate:180deg}.ww\\:animate-\\[ww-fade-in_0\\.2s_ease-out_both\\]{animation:.2s ease-out both ww-fade-in}.ww\\:animate-pulse{animation:var(--ww-animate-pulse)}.ww\\:animate-spin{animation:var(--ww-animate-spin)}.ww\\:cursor-pointer{cursor:pointer}.ww\\:resize-none{resize:none}.ww\\:grid-rows-\\[0fr\\]{grid-template-rows:0fr}.ww\\:grid-rows-\\[1fr\\]{grid-template-rows:1fr}.ww\\:flex-col{flex-direction:column}.ww\\:flex-wrap{flex-wrap:wrap}.ww\\:items-center{align-items:center}.ww\\:items-end{align-items:flex-end}.ww\\:items-start{align-items:flex-start}.ww\\:justify-between{justify-content:space-between}.ww\\:justify-center{justify-content:center}.ww\\:gap-1{gap:calc(var(--ww-spacing)*1)}.ww\\:gap-1\\.5{gap:calc(var(--ww-spacing)*1.5)}.ww\\:gap-2{gap:calc(var(--ww-spacing)*2)}.ww\\:gap-3{gap:calc(var(--ww-spacing)*3)}.ww\\:gap-6{gap:calc(var(--ww-spacing)*6)}:where(.ww\\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--ww-spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--ww-spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.ww\\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--ww-spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--ww-spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}.ww\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ww\\:\\!overflow-hidden{overflow:hidden!important}.ww\\:overflow-hidden{overflow:hidden}.ww\\:overflow-x-auto{overflow-x:auto}.ww\\:overflow-y-auto{overflow-y:auto}.ww\\:overflow-y-hidden{overflow-y:hidden}.ww\\:\\!rounded-full{border-radius:3.40282e38px!important}.ww\\:rounded{border-radius:var(--ww-radius,16px)}.ww\\:rounded-2xl{border-radius:var(--ww-radius-2xl)}.ww\\:rounded-\\[var\\(--ww-radius\\)\\]{border-radius:var(--ww-radius)}.ww\\:rounded-full{border-radius:3.40282e38px}.ww\\:rounded-lg{border-radius:var(--ww-radius-lg)}.ww\\:rounded-md{border-radius:var(--ww-radius-md)}.ww\\:rounded-xl{border-radius:var(--ww-radius-xl)}.ww\\:border{border-style:var(--tw-border-style);border-width:1px}.ww\\:border-0{border-style:var(--tw-border-style);border-width:0}.ww\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.ww\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.ww\\:border-border{border-color:var(--ww-color-border,#e5e7eb)}.ww\\:border-muted-foreground\\/50{border-color:var(--ww-color-muted-foreground,#6b7280)}@supports (color:color-mix(in lab, red, red)){.ww\\:border-muted-foreground\\/50{border-color:color-mix(in oklab,var(--ww-color-muted-foreground,#6b7280)50%,transparent)}}.ww\\:bg-accent{background-color:var(--ww-color-accent,#f3f4f6)}.ww\\:bg-background,.ww\\:bg-background\\/20{background-color:var(--ww-color-background,#fff)}@supports (color:color-mix(in lab, red, red)){.ww\\:bg-background\\/20{background-color:color-mix(in oklab,var(--ww-color-background,#fff)20%,transparent)}}.ww\\:bg-foreground,.ww\\:bg-foreground\\/5{background-color:var(--ww-color-foreground,#1f2937)}@supports (color:color-mix(in lab, red, red)){.ww\\:bg-foreground\\/5{background-color:color-mix(in oklab,var(--ww-color-foreground,#1f2937)5%,transparent)}}.ww\\:bg-input{background-color:var(--ww-color-input,#f9fafb)}.ww\\:bg-muted{background-color:var(--ww-color-muted,#f1f5f9)}.ww\\:bg-muted-foreground\\/60{background-color:var(--ww-color-muted-foreground,#6b7280)}@supports (color:color-mix(in lab, red, red)){.ww\\:bg-muted-foreground\\/60{background-color:color-mix(in oklab,var(--ww-color-muted-foreground,#6b7280)60%,transparent)}}.ww\\:bg-muted\\/50{background-color:var(--ww-color-muted,#f1f5f9)}@supports (color:color-mix(in lab, red, red)){.ww\\:bg-muted\\/50{background-color:color-mix(in oklab,var(--ww-color-muted,#f1f5f9)50%,transparent)}}.ww\\:bg-primary{background-color:var(--ww-color-primary,#6366f1)}.ww\\:bg-tool-card{background-color:var(--ww-color-tool-card,#f4f4f5)}.ww\\:bg-transparent{background-color:#0000}.ww\\:object-cover{object-fit:cover}.ww\\:p-1{padding:calc(var(--ww-spacing)*1)}.ww\\:p-1\\.5{padding:calc(var(--ww-spacing)*1.5)}.ww\\:p-3{padding:calc(var(--ww-spacing)*3)}.ww\\:px-0{padding-inline:calc(var(--ww-spacing)*0)}.ww\\:px-1\\.5{padding-inline:calc(var(--ww-spacing)*1.5)}.ww\\:px-2{padding-inline:calc(var(--ww-spacing)*2)}.ww\\:px-3{padding-inline:calc(var(--ww-spacing)*3)}.ww\\:px-4{padding-inline:calc(var(--ww-spacing)*4)}.ww\\:px-6{padding-inline:calc(var(--ww-spacing)*6)}.ww\\:\\!py-0{padding-block:calc(var(--ww-spacing)*0)!important}.ww\\:py-0\\.5{padding-block:calc(var(--ww-spacing)*.5)}.ww\\:py-1{padding-block:calc(var(--ww-spacing)*1)}.ww\\:py-1\\.5{padding-block:calc(var(--ww-spacing)*1.5)}.ww\\:py-2{padding-block:calc(var(--ww-spacing)*2)}.ww\\:py-2\\.5{padding-block:calc(var(--ww-spacing)*2.5)}.ww\\:py-3{padding-block:calc(var(--ww-spacing)*3)}.ww\\:py-6{padding-block:calc(var(--ww-spacing)*6)}.ww\\:py-12{padding-block:calc(var(--ww-spacing)*12)}.ww\\:pt-2{padding-top:calc(var(--ww-spacing)*2)}.ww\\:pt-2\\.5{padding-top:calc(var(--ww-spacing)*2.5)}.ww\\:pt-3{padding-top:calc(var(--ww-spacing)*3)}.ww\\:pr-3{padding-right:calc(var(--ww-spacing)*3)}.ww\\:pb-1{padding-bottom:calc(var(--ww-spacing)*1)}.ww\\:pb-1\\.5{padding-bottom:calc(var(--ww-spacing)*1.5)}.ww\\:pb-2{padding-bottom:calc(var(--ww-spacing)*2)}.ww\\:pb-3{padding-bottom:calc(var(--ww-spacing)*3)}.ww\\:pb-8{padding-bottom:calc(var(--ww-spacing)*8)}.ww\\:pl-4{padding-left:calc(var(--ww-spacing)*4)}.ww\\:text-center{text-align:center}.ww\\:text-left{text-align:left}.ww\\:font-\\[family-name\\:var\\(--ww-font\\)\\]{font-family:var(--ww-font)}.ww\\:font-mono{font-family:var(--ww-font-mono)}.ww\\:text-base{font-size:var(--ww-text-base);line-height:var(--tw-leading,var(--ww-text-base--line-height))}.ww\\:text-lg{font-size:var(--ww-text-lg);line-height:var(--tw-leading,var(--ww-text-lg--line-height))}.ww\\:text-sm{font-size:var(--ww-text-sm);line-height:var(--tw-leading,var(--ww-text-sm--line-height))}.ww\\:text-xs{font-size:var(--ww-text-xs);line-height:var(--tw-leading,var(--ww-text-xs--line-height))}.ww\\:text-\\[10px\\]{font-size:10px}.ww\\:text-\\[11px\\]{font-size:11px}.ww\\:font-medium{--tw-font-weight:var(--ww-font-weight-medium);font-weight:var(--ww-font-weight-medium)}.ww\\:font-semibold{--tw-font-weight:var(--ww-font-weight-semibold);font-weight:var(--ww-font-weight-semibold)}.ww\\:tracking-wide{--tw-tracking:var(--ww-tracking-wide);letter-spacing:var(--ww-tracking-wide)}.ww\\:tracking-wider{--tw-tracking:var(--ww-tracking-wider);letter-spacing:var(--ww-tracking-wider)}.ww\\:break-words{overflow-wrap:break-word}.ww\\:break-all{word-break:break-all}.ww\\:whitespace-pre-wrap{white-space:pre-wrap}.ww\\:text-background{color:var(--ww-color-background,#fff)}.ww\\:text-foreground,.ww\\:text-foreground\\/80{color:var(--ww-color-foreground,#1f2937)}@supports (color:color-mix(in lab, red, red)){.ww\\:text-foreground\\/80{color:color-mix(in oklab,var(--ww-color-foreground,#1f2937)80%,transparent)}}.ww\\:text-muted-foreground{color:var(--ww-color-muted-foreground,#6b7280)}.ww\\:text-primary{color:var(--ww-color-primary,#6366f1)}.ww\\:text-primary-foreground{color:var(--ww-color-primary-foreground,#1f2937)}.ww\\:uppercase{text-transform:uppercase}.ww\\:italic{font-style:italic}.ww\\:opacity-0{opacity:0}.ww\\:opacity-70{opacity:.7}.ww\\:opacity-100{opacity:1}.ww\\:shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ww\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ww\\:ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ww\\:ring-blue-400\\/70{--tw-ring-color:var(--ww-color-blue-400)}@supports (color:color-mix(in lab, red, red)){.ww\\:ring-blue-400\\/70{--tw-ring-color:color-mix(in oklab,var(--ww-color-blue-400)70%,transparent)}}.ww\\:ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.ww\\:ring-offset-background{--tw-ring-offset-color:var(--ww-color-background,#fff)}.ww\\:transition-\\[grid-template-rows\\,opacity\\]{transition-property:grid-template-rows,opacity;transition-timing-function:var(--tw-ease,var(--ww-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ww-default-transition-duration))}.ww\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--ww-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ww-default-transition-duration))}.ww\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--ww-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ww-default-transition-duration))}.ww\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--ww-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ww-default-transition-duration))}.ww\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--ww-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ww-default-transition-duration))}.ww\\:duration-150{--tw-duration:.15s;transition-duration:.15s}.ww\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.ww\\:ease-out{--tw-ease:var(--ww-ease-out);transition-timing-function:var(--ww-ease-out)}.ww\\:outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.ww\\:group-hover\\:opacity-0:is(:where(.ww\\:group):hover *){opacity:0}.ww\\:group-hover\\:opacity-100:is(:where(.ww\\:group):hover *){opacity:1}}.ww\\:group-\\[\\.is-assistant\\]\\:text-foreground:is(:where(.ww\\:group).is-assistant *){color:var(--ww-color-foreground,#1f2937)}.ww\\:group-\\[\\.is-user\\]\\:ml-auto:is(:where(.ww\\:group).is-user *){margin-left:auto}.ww\\:group-\\[\\.is-user\\]\\:rounded-lg:is(:where(.ww\\:group).is-user *){border-radius:var(--ww-radius-lg)}.ww\\:group-\\[\\.is-user\\]\\:bg-user-bubble:is(:where(.ww\\:group).is-user *){background-color:var(--ww-color-user-bubble,#f4f4f4)}.ww\\:group-\\[\\.is-user\\]\\:px-4:is(:where(.ww\\:group).is-user *){padding-inline:calc(var(--ww-spacing)*4)}.ww\\:group-\\[\\.is-user\\]\\:py-3:is(:where(.ww\\:group).is-user *){padding-block:calc(var(--ww-spacing)*3)}.ww\\:group-\\[\\.is-user\\]\\:text-primary-foreground:is(:where(.ww\\:group).is-user *){color:var(--ww-color-primary-foreground,#1f2937)}.ww\\:placeholder\\:text-muted-foreground::placeholder{color:var(--ww-color-muted-foreground,#6b7280)}@media (hover:hover){.ww\\:hover\\:border-primary\\/30:hover{border-color:var(--ww-color-primary,#6366f1)}@supports (color:color-mix(in lab, red, red)){.ww\\:hover\\:border-primary\\/30:hover{border-color:color-mix(in oklab,var(--ww-color-primary,#6366f1)30%,transparent)}}.ww\\:hover\\:bg-accent:hover{background-color:var(--ww-color-accent,#f3f4f6)}.ww\\:hover\\:bg-foreground:hover{background-color:var(--ww-color-foreground,#1f2937)}.ww\\:hover\\:bg-muted:hover{background-color:var(--ww-color-muted,#f1f5f9)}.ww\\:hover\\:bg-muted-foreground\\/10:hover{background-color:var(--ww-color-muted-foreground,#6b7280)}@supports (color:color-mix(in lab, red, red)){.ww\\:hover\\:bg-muted-foreground\\/10:hover{background-color:color-mix(in oklab,var(--ww-color-muted-foreground,#6b7280)10%,transparent)}}.ww\\:hover\\:bg-primary\\/90:hover{background-color:var(--ww-color-primary,#6366f1)}@supports (color:color-mix(in lab, red, red)){.ww\\:hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--ww-color-primary,#6366f1)90%,transparent)}}.ww\\:hover\\:text-accent-foreground:hover{color:var(--ww-color-accent-foreground,#1f2937)}.ww\\:hover\\:text-foreground:hover{color:var(--ww-color-foreground,#1f2937)}.ww\\:hover\\:underline:hover{text-decoration-line:underline}}.ww\\:disabled\\:pointer-events-none:disabled{pointer-events:none}.ww\\:disabled\\:opacity-40:disabled{opacity:.4}.ww\\:disabled\\:opacity-50:disabled{opacity:.5}.ww\\:\\[\\&\\>\\*\\:first-child\\]\\:mt-0>:first-child{margin-top:calc(var(--ww-spacing)*0)}.ww\\:\\[\\&\\>\\*\\:last-child\\]\\:mb-0>:last-child{margin-bottom:calc(var(--ww-spacing)*0)}}@keyframes ww-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes ww-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@keyframes ww-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}[data-waniwani-chat] ::-webkit-scrollbar{width:8px}[data-waniwani-chat] ::-webkit-scrollbar-track{background:0 0}[data-waniwani-chat] ::-webkit-scrollbar-thumb{background:var(--ww-color-border);border-radius:9999px}[data-waniwani-chat] ::-webkit-scrollbar-thumb:hover{background:var(--ww-color-muted-foreground)}[data-waniwani-chat] *{scrollbar-width:thin;scrollbar-color:var(--ww-color-border)transparent}[data-waniwani-chat]{--ww-color-background:var(--ww-bg,#fff);--ww-color-foreground:var(--ww-text,#1f2937);--ww-color-primary:var(--ww-primary,#6366f1);--ww-color-primary-foreground:var(--ww-primary-fg,#1f2937);--ww-color-muted-foreground:var(--ww-muted,#6b7280);--ww-color-border:var(--ww-border,#e5e7eb);--ww-color-input:var(--ww-input-bg,#f9fafb);--ww-color-accent:var(--ww-assistant-bubble,#f3f4f6);--ww-color-accent-foreground:var(--ww-text,#1f2937);--ww-color-user-bubble:var(--ww-user-bubble,#f4f4f4);--ww-color-card:var(--ww-bg,#fff);--ww-color-card-foreground:var(--ww-text,#1f2937);--ww-color-card-header:var(--ww-header-bg,#fff);--ww-color-card-header-foreground:var(--ww-header-text,#1f2937);--ww-color-status:var(--ww-status,#22c55e);--ww-color-tool-card:var(--ww-tool-card,#f4f4f5);--ww-radius:var(--ww-radius,16px);--ww-font-sans:var(--ww-font,system-ui,-apple-system,\"Segoe UI\",sans-serif);border-style:solid;border-width:var(--ww-border-width,0);border-color:var(--ww-color-border);box-shadow:var(--ww-shadow,none)}.dark [data-waniwani-chat],[data-waniwani-chat].dark{--ww-color-background:var(--ww-bg,#212121);--ww-color-foreground:var(--ww-text,#ececec);--ww-color-primary:var(--ww-primary,#6366f1);--ww-color-primary-foreground:var(--ww-primary-fg,#fff);--ww-color-muted-foreground:var(--ww-muted,#8e8ea0);--ww-color-border:var(--ww-border,#444);--ww-color-input:var(--ww-input-bg,#2f2f2f);--ww-color-accent:var(--ww-assistant-bubble,#2f2f2f);--ww-color-accent-foreground:var(--ww-text,#ececec);--ww-color-user-bubble:var(--ww-user-bubble,#303030);--ww-color-card:var(--ww-bg,#212121);--ww-color-card-foreground:var(--ww-text,#ececec);--ww-color-card-header:var(--ww-header-bg,#1e1e1e);--ww-color-card-header-foreground:var(--ww-header-text,#ececec);--ww-color-status:var(--ww-status,#22c55e);--ww-color-tool-card:var(--ww-tool-card,#262626)}@media (prefers-color-scheme:dark){[data-waniwani-chat][data-color-scheme=auto]{--ww-color-background:var(--ww-bg,#212121);--ww-color-foreground:var(--ww-text,#ececec);--ww-color-primary:var(--ww-primary,#6366f1);--ww-color-primary-foreground:var(--ww-primary-fg,#fff);--ww-color-muted-foreground:var(--ww-muted,#8e8ea0);--ww-color-border:var(--ww-border,#444);--ww-color-input:var(--ww-input-bg,#2f2f2f);--ww-color-accent:var(--ww-assistant-bubble,#2f2f2f);--ww-color-accent-foreground:var(--ww-text,#ececec);--ww-color-user-bubble:var(--ww-user-bubble,#303030);--ww-color-card:var(--ww-bg,#212121);--ww-color-card-foreground:var(--ww-text,#ececec);--ww-color-card-header:var(--ww-header-bg,#1e1e1e);--ww-color-card-header-foreground:var(--ww-header-text,#ececec);--ww-color-status:var(--ww-status,#22c55e);--ww-color-tool-card:var(--ww-tool-card,#262626)}}[data-waniwani-chat] [data-streamdown=table-wrapper]{flex-direction:column;gap:.5rem;margin-top:1rem;margin-bottom:1rem;display:flex}[data-waniwani-chat] [data-streamdown=table-wrapper]>div:first-child:has(button){justify-content:flex-end;align-items:center;gap:.25rem;display:flex}[data-waniwani-chat] [data-streamdown=table-wrapper]>div:last-child{overflow-x:auto}[data-waniwani-chat] [data-streamdown=table]{border-collapse:collapse;border:1px solid var(--ww-color-border);border-radius:.75rem;width:100%;overflow:hidden}[data-waniwani-chat] [data-streamdown=table-header]{background-color:var(--ww-color-accent)}@supports (color:color-mix(in lab, red, red)){[data-waniwani-chat] [data-streamdown=table-header]{background-color:color-mix(in srgb,var(--ww-color-accent)80%,transparent)}}[data-waniwani-chat] [data-streamdown=table-body]{background-color:var(--ww-color-accent)}@supports (color:color-mix(in lab, red, red)){[data-waniwani-chat] [data-streamdown=table-body]{background-color:color-mix(in srgb,var(--ww-color-accent)40%,transparent)}}[data-waniwani-chat] [data-streamdown=table-body]>tr+tr{border-top:1px solid var(--ww-color-border)}[data-waniwani-chat] [data-streamdown=table-row]{border-bottom:1px solid var(--ww-color-border)}[data-waniwani-chat] [data-streamdown=table-header-cell]{white-space:nowrap;text-align:left;padding:.5rem 1rem;font-size:.875rem;font-weight:600}[data-waniwani-chat] [data-streamdown=table-cell]{padding:.5rem 1rem;font-size:.875rem}[data-waniwani-chat] [data-streamdown=link]{color:var(--ww-color-primary);overflow-wrap:anywhere;cursor:pointer;font-weight:500;text-decoration:underline}[data-waniwani-chat].dark [data-streamdown=link],.dark [data-waniwani-chat] [data-streamdown=link]{color:var(--ww-color-primary)}@supports (color:color-mix(in lab, red, red)){[data-waniwani-chat].dark [data-streamdown=link],.dark [data-waniwani-chat] [data-streamdown=link]{color:color-mix(in oklab,var(--ww-color-primary)55%,white)}}@media (prefers-color-scheme:dark){[data-waniwani-chat][data-color-scheme=auto] [data-streamdown=link]{color:var(--ww-color-primary)}@supports (color:color-mix(in lab, red, red)){[data-waniwani-chat][data-color-scheme=auto] [data-streamdown=link]{color:color-mix(in oklab,var(--ww-color-primary)55%,white)}}}[data-waniwani-chat].dark [data-waniwani-logo],.dark [data-waniwani-chat] [data-waniwani-logo]{filter:invert()}@media (prefers-color-scheme:dark){[data-waniwani-chat][data-color-scheme=auto] [data-waniwani-logo]{filter:invert()}}[data-waniwani-chat] [data-streamdown=link-safety-modal]{z-index:50;background-color:var(--ww-color-background);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){[data-waniwani-chat] [data-streamdown=link-safety-modal]{background-color:color-mix(in srgb,var(--ww-color-background)50%,transparent)}}[data-waniwani-chat] [data-streamdown=link-safety-modal]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div{border:1px solid var(--ww-color-border);background-color:var(--ww-color-background);width:100%;max-width:28rem;color:var(--ww-color-foreground);border-radius:.75rem;flex-direction:column;gap:1rem;margin:0 1rem;padding:1.5rem;display:flex;position:relative;box-shadow:0 10px 25px #0000001a}[data-waniwani-chat] [data-streamdown=link-safety-modal] button{cursor:pointer}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>button:first-child{color:var(--ww-color-muted-foreground);background:0 0;border:none;border-radius:.375rem;padding:.25rem;transition:background-color .15s,color .15s;position:absolute;top:1rem;right:1rem}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>button:first-child:hover{background-color:var(--ww-color-accent);color:var(--ww-color-foreground)}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>div:first-of-type{flex-direction:column;gap:.5rem;display:flex}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>div:first-of-type>div{align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;display:flex}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>div:first-of-type>p{color:var(--ww-color-muted-foreground);font-size:.875rem}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>div:nth-child(3){word-break:break-all;background-color:var(--ww-color-accent);border-radius:.375rem;max-height:8rem;padding:.75rem;font-family:ui-monospace,monospace;font-size:.875rem;overflow-y:auto}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>div:last-child{gap:.5rem;display:flex}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>div:last-child>button{border:none;border-radius:.375rem;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s;display:flex}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>div:last-child>button:first-child{border:1px solid var(--ww-color-border);background-color:var(--ww-color-background);color:var(--ww-color-foreground)}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>div:last-child>button:first-child:hover{background-color:var(--ww-color-accent)}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>div:last-child>button:last-child{background-color:var(--ww-color-primary);color:#fff}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>div:last-child>button:last-child:hover{opacity:.9}[data-waniwani-chat] [data-streamdown=ordered-list]{white-space:normal;list-style-type:decimal;list-style-position:inside}[data-waniwani-chat] li [data-streamdown=ordered-list]{padding-left:1.5rem}[data-waniwani-chat] [data-streamdown=unordered-list]{white-space:normal;list-style-type:disc;list-style-position:inside}[data-waniwani-chat] li [data-streamdown=unordered-list]{padding-left:1.5rem}[data-waniwani-chat] [data-streamdown=list-item]{padding-top:.25rem;padding-bottom:.25rem}[data-waniwani-chat] [data-streamdown=list-item]>p{display:inline}[data-waniwani-chat] [data-streamdown=inline-code]{background-color:var(--ww-color-accent);border-radius:.25rem;padding:.125rem .375rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.875rem}[data-waniwani-chat] [data-streamdown=heading-1]{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.875rem;font-weight:600;line-height:2.25rem}[data-waniwani-chat] [data-streamdown=heading-2]{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.5rem;font-weight:600;line-height:2rem}[data-waniwani-chat] [data-streamdown=heading-3]{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.25rem;font-weight:600;line-height:1.75rem}[data-waniwani-chat] [data-streamdown=heading-4]{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.125rem;font-weight:600;line-height:1.75rem}[data-waniwani-chat] [data-streamdown=heading-5]{margin-top:1.5rem;margin-bottom:.5rem;font-size:1rem;font-weight:600;line-height:1.5rem}[data-waniwani-chat] [data-streamdown=heading-6]{margin-top:1.5rem;margin-bottom:.5rem;font-size:.875rem;font-weight:600;line-height:1.25rem}[data-waniwani-chat] [data-streamdown=blockquote]{border-left:4px solid var(--ww-color-muted-foreground);margin-top:1rem;margin-bottom:1rem}@supports (color:color-mix(in lab, red, red)){[data-waniwani-chat] [data-streamdown=blockquote]{border-left:4px solid color-mix(in srgb,var(--ww-color-muted-foreground)30%,transparent)}}[data-waniwani-chat] [data-streamdown=blockquote]{color:var(--ww-color-muted-foreground);padding-left:1rem;font-style:italic}[data-waniwani-chat] [data-streamdown=horizontal-rule]{border-color:var(--ww-color-border);margin-top:1.5rem;margin-bottom:1.5rem}[data-waniwani-chat] [data-streamdown=strong]{font-weight:600}[data-waniwani-chat] [data-streamdown=image-wrapper]{margin-top:1rem;margin-bottom:1rem;display:inline-block;position:relative}[data-waniwani-chat] [data-streamdown=image]{border-radius:.5rem;max-width:100%}[data-waniwani-chat] [data-streamdown=code-block]{border:1px solid var(--ww-color-border);border-radius:.75rem;width:100%;margin-top:1rem;margin-bottom:1rem;overflow:hidden}[data-waniwani-chat] [data-streamdown=code-block-header]{background-color:var(--ww-color-accent);justify-content:space-between;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){[data-waniwani-chat] [data-streamdown=code-block-header]{background-color:color-mix(in srgb,var(--ww-color-accent)80%,transparent)}}[data-waniwani-chat] [data-streamdown=code-block-header]{color:var(--ww-color-muted-foreground);padding:.75rem;font-size:.75rem}[data-waniwani-chat] [data-streamdown=code-block-body]{padding:1rem;font-size:.875rem;overflow-x:auto}[data-waniwani-chat] [data-streamdown=code-block-copy-button],[data-waniwani-chat] [data-streamdown=code-block-download-button]{cursor:pointer;color:var(--ww-color-muted-foreground);background:0 0;border:none;padding:.25rem;transition:color .15s}[data-waniwani-chat] [data-streamdown=code-block-copy-button]:hover,[data-waniwani-chat] [data-streamdown=code-block-download-button]:hover{color:var(--ww-color-foreground)}[data-waniwani-chat] [data-streamdown=mermaid-block]{border:1px solid var(--ww-color-border);border-radius:.75rem;height:auto;margin-top:1rem;margin-bottom:1rem;padding:1rem;position:relative}[data-waniwani-chat] [data-streamdown=mermaid]{width:100%;height:100%}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}",ba=null,tf=null,Pr=null,af=null,D6="waniwani-chat-defaults",_6="waniwani-chat-chrome",O6=":where([data-waniwani-embed]){min-height:500px;max-height:100vh;border-radius:16px;overflow:hidden}",P6=":where([data-waniwani-embed]){border-style:solid;border-width:var(--ww-border-width,0);border-color:var(--ww-border,transparent);box-shadow:var(--ww-shadow,none)}";function N2(e,t){if(typeof document>"u"||document.getElementById(e))return;let a=document.createElement("style");a.id=e,a.textContent=t,document.head.appendChild(a)}function N6(e,t){let a=t.appearance?.variables;!a||!(e instanceof HTMLElement)||(typeof a.borderWidth=="number"&&e.style.setProperty("--ww-border-width",`${a.borderWidth}px`),a.borderColor&&e.style.setProperty("--ww-border",a.borderColor),a.boxShadow&&e.style.setProperty("--ww-shadow",a.boxShadow))}function B6(e,t){if(Yy&&Yy!=="__WANIWANI_EMBED_CSS__"){let n=document.createElement("style");n.textContent=Yy,e.appendChild(n)}let a=document.createElement("style");if(a.textContent="[data-waniwani-chat]{border-width:0;box-shadow:none}",e.appendChild(a),t.css)try{let n=new URL(t.css,window.location.href);if(n.protocol==="https:"||n.protocol==="http:"){let r=document.createElement("link");r.rel="stylesheet",r.href=n.href,e.appendChild(r)}else console.warn("[WaniWani] Custom CSS URL must use http or https protocol.")}catch{console.warn("[WaniWani] Invalid custom CSS URL:",t.css)}}var B2="data-waniwani-embed";function U6(e,t,a){let n=document.querySelector(`[${B2}]`);if(!n)throw new Error(`[WaniWani] No inline mount target. Place \`<div ${B2}></div>\` in your page.`);e.appearance?.theme&&N2(D6,O6),N2(_6,P6),N6(n,e),Pr=document.createElement("div"),Pr.id="waniwani-chat-embed",Pr.style.cssText="width:100%;height:100%;max-height:inherit;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;",n.appendChild(Pr);let r=Pr,o=()=>{let u=getComputedStyle(n);if(!u.maxHeight.endsWith("px")){r.style.removeProperty("max-height");return}let c=Number.parseFloat(u.maxHeight);if(!Number.isFinite(c)){r.style.removeProperty("max-height");return}let d=c;u.boxSizing==="border-box"&&(d-=(Number.parseFloat(u.paddingTop)||0)+(Number.parseFloat(u.paddingBottom)||0)+(Number.parseFloat(u.borderTopWidth)||0)+(Number.parseFloat(u.borderBottomWidth)||0)),d>0?r.style.maxHeight=`${d}px`:r.style.removeProperty("max-height")};o(),af=new ResizeObserver(o),af.observe(n);let l=Pr.attachShadow({mode:"open"});B6(l,e);let i=document.createElement("div");i.className="ww:contents",l.appendChild(i);let s=Jy.default.createRef();return tf=z2.default.createRoot(i),tf.render(Jy.default.createElement(O2,{ref:s,config:e,programmatic:t,scriptConfig:a})),{destroy:()=>{af?.disconnect(),af=null,tf?.unmount(),tf=null,Pr?.remove(),Pr=null,ba=null},sendMessage:u=>s.current?.chat?.sendMessage(u),sendMessageAndWait:async u=>{let c=s.current?.chat;if(c)return await c.sendMessageAndWait(u)},reset:()=>s.current?.chat?.reset(),focus:()=>s.current?.chat?.focus(),getMessages:()=>s.current?.chat?.messages??[]}}function q2(e){if(ba)return console.warn("[WaniWani] Chat widget is already initialized. Call destroy() first to re-initialize."),ba;let t=yc(),a=Bi(e,void 0,t);return ba=U6(a,e,t),ba}function z6(){ba&&ba.destroy()}window.WaniWani=window.WaniWani||{};window.WaniWani.chat={init:q2,destroy:z6,sendMessage:e=>ba?.sendMessage(e),sendMessageAndWait:async e=>{if(ba)return ba.sendMessageAndWait(e)},reset:()=>ba?.reset(),focus:()=>ba?.focus(),getMessages:()=>ba?.getMessages()??[]};function U2(){if(yc().token)try{q2()}catch(t){console.error("[WaniWani] Auto-initialization failed:",t)}}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",U2):U2();})();
138
+ `);a=i.pop()??"";for(let s of i){let u=s.trim();if(!u.startsWith("data:"))continue;let c=u.slice(5).trim();if(c!=="[DONE]")try{let d=JSON.parse(c);if(!r){l.enqueue(d);continue}let f=await r(d);if(f.success){l.enqueue(f.value);continue}let p=r6(f.error);if(p?.length){let g={...d};for(let C of p)delete g[C];let w=await r(g);w.success&&l.enqueue(w.value)}}catch{}}}}))}};var o6="waniwani-memory";var va="threads",Kd="by_memoryUserId",l6="by_updatedAt";var f2="memoryUserId",d2="waniwani-memory-user-id",Gy=null;function Wy(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function i6(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(va)){let a=e.createObjectStore(va,{keyPath:"threadId"});a.createIndex(Kd,"memoryUserId",{unique:!1}),a.createIndex(l6,"updatedAt",{unique:!1})}}async function $y(){return new Promise((e,t)=>{let a=indexedDB.open(o6,2);a.onupgradeneeded=n=>{i6(a.result,n.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function s6(){return $y()}async function u6(e){return new Promise((t,a)=>{let o=e.transaction("ids","readonly").objectStore("ids").get(f2);o.onsuccess=()=>t(typeof o.result=="string"?o.result:null),o.onerror=()=>a(o.error)})}async function c6(e,t){return new Promise((a,n)=>{let l=e.transaction("ids","readwrite").objectStore("ids").put(t,f2);l.onsuccess=()=>a(),l.onerror=()=>n(l.error)})}async function d6(){if(typeof indexedDB>"u")return null;try{let e=await s6();try{let t=await u6(e);if(t)return t;let a=Wy();return await c6(e,a),a}finally{e.close()}}catch{return null}}function f6(){try{let e=localStorage.getItem(d2);if(e)return e;let t=Wy();return localStorage.setItem(d2,t),t}catch{return null}}async function p2(){let e=await d6();if(e)return e;let t=f6();return t||(Gy||(Gy=Wy()),Gy)}var m2=50,h2=1e3;function Yd(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.threadId=="string"&&typeof t.memoryUserId=="string"&&typeof t.title=="string"&&Array.isArray(t.messages)&&typeof t.createdAt=="string"&&typeof t.updatedAt=="string"}async function Jd(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await $y(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function Xy(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function Zy(e){return await Jd(async a=>{let o=a.transaction(va,"readonly").objectStore(va).index(Kd),i=(await Xy(o.getAll(e))??[]).filter(Yd);return i.sort((s,u)=>s.updatedAt<u.updatedAt?1:-1),i})??[]}async function Qy(e){return await Jd(async a=>{let r=a.transaction(va,"readonly").objectStore(va),o=await Xy(r.get(e));return Yd(o)?o:null})??null}async function Ky(e){if(!Yd(e))return;let t=e.messages.length>h2?{...e,messages:e.messages.slice(e.messages.length-h2)}:e;await Jd(async a=>{await new Promise((s,u)=>{let c=a.transaction(va,"readwrite");c.oncomplete=()=>s(),c.onerror=()=>u(c.error),c.onabort=()=>u(c.error),c.objectStore(va).put(t)});let n=a.transaction(va,"readwrite"),r=n.objectStore(va),o=r.index(Kd),i=(await Xy(o.getAll(t.memoryUserId))??[]).filter(Yd);if(i.length>m2){i.sort((u,c)=>u.updatedAt<c.updatedAt?-1:1);let s=i.slice(0,i.length-m2);for(let u of s)r.delete(u.threadId)}return await new Promise((s,u)=>{n.oncomplete=()=>s(),n.onerror=()=>u(n.error),n.onabort=()=>u(n.error)}),null})}async function g2(e){await Jd(async t=>(await new Promise((a,n)=>{let r=t.transaction(va,"readwrite");r.oncomplete=()=>a(),r.onerror=()=>n(r.error),r.onabort=()=>n(r.error),r.objectStore(va).delete(e)}),null))}async function y2(e){return(await Zy(e))[0]?.threadId??null}function x2(e){let t=e.trim();if(!t)return`Conversation on ${new Date().toISOString().slice(0,10)}`;let a=t.split(/\r?\n/,1)[0]??t;return a.length<=60?a:`${a.slice(0,60).trimEnd()}\u2026`}var w2="waniwani-visitor-id";function v2(e,t){return e.match(t)?.[1]??null}function p6(e){let t=[["Edge",/Edg(?:e|A|iOS)?\/(\S+)/],["Opera",/(?:OPR|Opera)\/(\S+)/],["Samsung Internet",/SamsungBrowser\/(\S+)/],["Firefox",/Firefox\/(\S+)/],["Chrome",/Chrome\/(\S+)/],["Safari",/Version\/(\S+).*Safari/]];for(let[a,n]of t){let r=v2(e,n);if(r)return{name:a,version:r}}return null}function m6(e){let t=[["iOS",/(?:iPhone|iPad|iPod).+?OS (\d+[_.\d]*)/],["Android",/Android (\d+[.\d]*)/],["macOS",/Mac OS X (\d+[_.\d]*)/],["Windows",/Windows NT (\d+[.\d]*)/],["ChromeOS",/CrOS \S+ (\d+[.\d]*)/],["Linux",/Linux/]];for(let[a,n]of t){let r=v2(e,n);if(r)return{name:a,version:r.replace(/_/g,".")};if(a==="Linux"&&n.test(e))return{name:a,version:""}}return null}function h6(e){return typeof navigator<"u"&&"userAgentData"in navigator&&navigator.userAgentData?.mobile?"mobile":/iPad|tablet|PlayBook/i.test(e)?"tablet":/Mobi|Android.*Mobile|iPhone|iPod/i.test(e)?"mobile":"desktop"}async function g6(e){let t=new TextEncoder().encode(e),a=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(a)).map(n=>n.toString(16).padStart(2,"0")).join("")}async function y6(){try{let a=localStorage.getItem(w2);if(a)return a}catch{}let e=[navigator.userAgent,screen.width,screen.height,screen.colorDepth,Intl.DateTimeFormat().resolvedOptions().timeZone,navigator.language,navigator.hardwareConcurrency??"",navigator.platform??""].join("|"),t=await g6(e);try{localStorage.setItem(w2,t)}catch{}return t}async function b2(){let e=navigator.userAgent,[t,a]=await Promise.all([y6(),p2()]);return{userAgent:e,browser:p6(e),os:m6(e),deviceType:h6(e),language:navigator.language,languages:[...navigator.languages],timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,screenWidth:screen.width,screenHeight:screen.height,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,colorDepth:screen.colorDepth,devicePixelRatio:window.devicePixelRatio??1,touchSupport:"ontouchstart"in window||navigator.maxTouchPoints>0,connectionType:navigator.connection?.effectiveType??"unknown",referrer:document.referrer,visitorId:t,memoryUserId:a}}var x6="x-session-id",w6=250;function S2(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Zi()}function ef(){return new Date().toISOString()}function C2(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function v6(e,t){let a=`${e.replace(/\/$/,"")}/tools`,n=await fetch(a,{method:"GET",headers:t?{...t}:void 0});if(!n.ok)throw new Error(`[WaniWani] Failed to fetch /tools: ${n.status} ${n.statusText}`);let r=await n.json();if(!r||!Array.isArray(r.tools))return{};let o={};for(let l of r.tools)l&&typeof l.name=="string"&&(o[l.name]=l);return o}function I2(e){let{api:t="/api/waniwani",headers:a,body:n,onMessageSent:r,onResponseReceived:o,enableThreadHistory:l=!1,activeThreadId:i,onThreadChange:s}=e,u=(0,X.useRef)(a),c=(0,X.useRef)(n),d=(0,X.useRef)(l);(0,X.useEffect)(()=>{d.current=l},[l]);let f=(0,X.useRef)(void 0),p=(0,X.useRef)(null),[g,w]=(0,X.useState)(void 0),C=(0,X.useRef)(g),[y,x]=(0,X.useState)(i),h=(0,X.useRef)(y),[v,A]=(0,X.useState)([]),[I,M]=(0,X.useState)(!l),_=(0,X.useRef)(void 0),P=(0,X.useRef)(void 0),k=(0,X.useRef)(void 0),B=(0,X.useRef)(void 0),R=(0,X.useRef)(0),U=(0,X.useRef)(s);(0,X.useEffect)(()=>{U.current=s},[s]);let G=(0,X.useCallback)(N=>{h.current=N,x(N),N&&U.current?.(N)},[]),V=(0,X.useCallback)(async()=>{if(!l)return;let N=p.current?.memoryUserId;if(!N)return;let ae=await Zy(N);A(ae)},[l]),Y=(0,X.useCallback)(()=>C.current,[]),he=(0,X.useCallback)(N=>{let ae=C2(N);ae&&C.current!==ae&&(C.current=ae,w(ae))},[]),Me=(0,X.useCallback)(()=>{C.current=void 0,w(void 0)},[]);(0,X.useEffect)(()=>{u.current=a},[a]),(0,X.useEffect)(()=>{c.current=n},[n]),(0,X.useEffect)(()=>{let N=!1,ae=R.current;return(async()=>{try{let Ge=await b2();if(N)return;p.current=Ge}catch{}if(!l)return;let pe=p.current?.memoryUserId;if(!pe){M(!0);return}try{let Ge=i??await y2(pe);if(N||ae!==R.current)return;if(Ge){let st=await Qy(Ge);if(N||ae!==R.current)return;st&&st.memoryUserId===pe&&(h.current=st.threadId,x(st.threadId),_.current=st.createdAt,P.current=st.title,st.sessionId&&(C.current=st.sessionId,w(st.sessionId)),Be(st.messages))}await V()}finally{N||M(!0)}})(),()=>{N=!0}},[]);let Se=(0,X.useRef)(new Qd({api:t,headers:()=>({...u.current}),body:()=>{let N={...c.current??{}},ae=Object.hasOwn(N,"sessionId"),pe=C2(N.sessionId);if(pe)he(pe),N.sessionId=pe;else if(ae)Me(),delete N.sessionId;else{let qa=Y();qa&&(N.sessionId=qa)}if(Ml(f.current)&&(N.modelContext=f.current),p.current){let qa=p.current;N.visitorContext={timezone:qa.timezone,language:qa.language,languages:qa.languages,deviceType:qa.deviceType,referrer:qa.referrer,visitorId:qa.visitorId};let pn=typeof N.visitor=="object"&&N.visitor!==null?N.visitor:{},F2=typeof pn.client=="object"&&pn.client!==null?pn.client:{};N.visitor={...pn,client:{...F2,memoryUserId:qa.memoryUserId}}}let Ge=typeof N.extra=="object"&&N.extra!==null&&!Array.isArray(N.extra)?N.extra:void 0,st=p.current?.memoryUserId,Tt=p.current?.language,Us={};if(st&&(Us.memoryUserId=st),Tt&&(Us.locale=Tt),(Object.keys(Us).length>0||Ge)&&(N.extra={...Us,...Ge??{}}),d.current)if(Object.hasOwn(N,"threadId"))typeof N.threadId=="string"&&(h.current=N.threadId);else{let pn=h.current;pn||(pn=S2(),_.current=ef(),P.current=void 0,G(pn)),N.threadId=pn}return N},fetch:(async(N,ae)=>{let pe=await fetch(N,ae);return f.current=void 0,he(pe.headers.get(x6)),pe})})),S=(0,X.useRef)(null),at=(0,X.useRef)(null),it=(0,X.useRef)({}),[L,Ze]=(0,X.useState)(0),ke=e.skipRemoteConfig===!0,Dt=(0,X.useCallback)(async()=>{if(!ke)try{let N=await v6(t,u.current);it.current=N,Ze(ae=>ae+1)}catch(N){console.warn("[WaniWani] Failed to fetch tool definitions:",N instanceof Error?N.message:N)}},[t,ke]);(0,X.useEffect)(()=>{Dt()},[Dt]);let{messages:nt,sendMessage:re,setMessages:Be,status:F}=c2({messages:e.initialMessages,transport:Se.current,onFinish({message:N}){o?.(),S.current&&(at.current=N)},onError(N){console.warn("[WaniWani] Chat error:",N.message),S.current&&(S.current.reject(N),S.current=null)}}),$=(0,X.useRef)(nt);(0,X.useEffect)(()=>{$.current=nt},[nt]),(0,X.useEffect)(()=>{if(F==="ready"&&S.current&&at.current){let N=S.current,ae=at.current;S.current=null,at.current=null,N.resolve(ae)}},[F]);let[oe,se]=(0,X.useState)(""),[Ee,Ue]=(0,X.useState)([]),_t=F==="submitted"||F==="streaming",za=(0,X.useCallback)(N=>{Ue(ae=>ae.filter(pe=>pe.id!==N))},[]),jn=_t&&Ee.length>0,dn=(0,X.useCallback)(N=>{let ae=!!N.text?.trim(),pe=!!N.files?.length;if(ae||pe){if(_t){if(Ee.length>0)return;Ue(Ge=>[...Ge,{id:Zi(),text:N.text||"",files:N.files??[],modelContext:N.modelContext}]),se("");return}f.current=N.modelContext,re({text:N.text||"",files:N.files}),r?.(N.text||""),se("")}},[re,r,_t,Ee.length]),Ns=(0,X.useCallback)(N=>new Promise((ae,pe)=>{S.current={resolve:ae,reject:pe},re({text:N}),r?.(N)}),[re,r]);(0,X.useEffect)(()=>{if(F!=="ready"||Ee.length===0)return;let[N,...ae]=Ee;Ue(ae),f.current=N.modelContext,re({text:N.text,files:N.files.length>0?N.files:void 0}),r?.(N.text)},[F,re,r,Ee]);let nf=(0,X.useCallback)(()=>{Be([]),Ue([]),Me(),se(""),it.current={},Ze(N=>N+1),Dt()},[Be,Me,Dt]),Io=(0,X.useCallback)(()=>{if(!d.current)return;let N=p.current?.memoryUserId,ae=h.current,pe=$.current;if(!(!N||!ae||pe.length===0)){if(_.current||(_.current=ef()),!P.current){let Ge=pe.find(Tt=>Tt.role==="user"),st=Ge?Ge.parts.map(Tt=>"text"in Tt&&typeof Tt.text=="string"?Tt.text:"").join(" "):"";P.current=x2(st)}return{threadId:ae,memoryUserId:N,title:P.current,messages:pe,sessionId:C.current,createdAt:_.current,updatedAt:ef()}}},[]),Bs=(0,X.useCallback)(async()=>{let N=Io();N&&(await Ky(N),await V())},[Io,V]);(0,X.useEffect)(()=>{if(l&&I&&!(F==="submitted"||F==="streaming")&&nt.length!==0)return k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{k.current=void 0;let N=Bs().finally(()=>{B.current===N&&(B.current=void 0)});B.current=N},w6),()=>{k.current&&clearTimeout(k.current)}},[l,I,nt,F,Bs]);let Lo=(0,X.useCallback)(()=>{let N=B.current,ae=k.current,pe=ae?Io():void 0;return ae&&(clearTimeout(ae),k.current=void 0),(async()=>{N&&await N,pe&&(await Ky(pe),await V())})()},[Io,V]),rf=(0,X.useCallback)(()=>{R.current+=1,Lo(),Be([]),Ue([]),Me(),se("");let N=S2();return _.current=ef(),P.current=void 0,G(N),V(),N},[Be,Me,G,V,Lo]),D=(0,X.useCallback)(async N=>{R.current+=1;let ae=R.current;if(await Lo(),ae!==R.current)return;let pe=await Qy(N);ae===R.current&&pe&&(G(pe.threadId),_.current=pe.createdAt,P.current=pe.title,pe.sessionId?(C.current=pe.sessionId,w(pe.sessionId)):Me(),Be(pe.messages),Ue([]),se(""))},[Be,Me,G,Lo]),q=(0,X.useCallback)(async N=>{if(h.current===N){R.current+=1,k.current&&(clearTimeout(k.current),k.current=void 0);let ae=B.current;ae&&await ae}await g2(N),await V(),h.current===N&&(Be([]),Ue([]),Me(),se(""),h.current=void 0,x(void 0),_.current=void 0,P.current=void 0)},[Be,Me,V]);(0,X.useEffect)(()=>{l&&I&&i!==void 0&&i!==h.current&&D(i)},[i,l,I,D]);let te=(0,X.useCallback)(N=>{se(N.target.value)},[]),fe=nt[nt.length-1],Re=nt.length>0,la=_t&&(!Re||fe.role==="user"),fn=it.current;return{messages:nt,status:F,text:oe,setText:se,handleSubmit:dn,handleTextChange:te,isLoading:_t,showLoaderBubble:la,lastMessage:fe,hasMessages:Re,sendMessage:re,sendMessageAndWait:Ns,reset:nf,queuedMessages:Ee,queueFull:jn,removeQueuedMessage:za,sessionId:g,toolDefinitions:fn,refreshToolDefinitions:Dt,threads:v,activeThreadId:y,isThreadHistoryReady:I,startNewThread:rf,switchThread:D,deleteThread:q}}var cn=j(Ke(),1);function b6(e){for(let t of e.parts){let a=t;if(a.type==="data"||a.type==="data-suggestions"){let n=a.data;if(n&&Array.isArray(n.suggestions))return n.suggestions}}return null}function L2(e){return typeof e=="object"&&e!==null&&"initial"in e}function k2(e){let{messages:t,status:a,config:n}=e,r=L2(n)&&n.initial?n.initial:void 0,[o,l]=(0,cn.useState)(r??[]),i=(0,cn.useRef)(a),s=n===!0||L2(n)&&n.dynamic!==!1,u=(0,cn.useCallback)(()=>{l([])},[]),c=t.length>0;(0,cn.useEffect)(()=>{!c&&r&&r.length>0&&l(r)},[r,c]);let d=t[t.length-1];return(0,cn.useEffect)(()=>{d?.role==="user"&&u()},[d,u]),(0,cn.useEffect)(()=>{let f=i.current;if(i.current=a,f==="streaming"&&a==="ready"&&s){let p=[...t].reverse().find(w=>w.role==="assistant");if(!p)return;let g=b6(p);g&&l(g)}},[a,s,t]),{suggestions:o,isLoading:!1,clear:u}}var Pl=j(Ke(),1),S6=50,C6=30,I6=2e3,T2=500;function A2(e,t=!0){let[a,n]=(0,Pl.useState)(""),r=(0,Pl.useRef)(void 0);return(0,Pl.useEffect)(()=>{if(!t){n("");return}let o=0,l=!1,i=!1,s=()=>{i||(l?(o--,n(e.slice(0,o)),o<=0?(l=!1,r.current=setTimeout(s,T2)):r.current=setTimeout(s,C6)):(o++,n(e.slice(0,o)),o>=e.length?(l=!0,r.current=setTimeout(s,I6)):r.current=setTimeout(s,S6)))};return r.current=setTimeout(s,T2),()=>{i=!0,clearTimeout(r.current)}},[e,t]),a}function M2(e,t){let a=t?.Authorization,n=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return n?`${e}/resource?token=${encodeURIComponent(n)}`:`${e}/resource`}var L6={primaryColor:["--ww-primary","--ww-color-primary"],primaryForeground:["--ww-primary-fg","--ww-color-primary-foreground"],backgroundColor:["--ww-bg","--ww-color-background"],textColor:["--ww-text","--ww-color-foreground","--ww-color-accent-foreground"],mutedColor:["--ww-muted","--ww-color-muted-foreground"],borderColor:["--ww-border","--ww-color-border"],borderWidth:["--ww-border-width"],boxShadow:["--ww-shadow"],assistantBubbleColor:["--ww-assistant-bubble","--ww-color-accent"],userBubbleColor:["--ww-user-bubble"],inputBackgroundColor:["--ww-input-bg","--ww-color-input"],borderRadius:["--ww-radius"],messageBorderRadius:["--ww-msg-radius"],fontFamily:["--ww-font"],headerBackgroundColor:["--ww-header-bg"],headerTextColor:["--ww-header-text"],statusColor:["--ww-status"],toolCardColor:["--ww-tool-card","--ww-color-tool-card"]};function E2(e){let t={};for(let[a,n]of Object.entries(L6)){let r=e[a];if(r===void 0)continue;let o=typeof r=="number"?`${r}px`:String(r);for(let l of n)t[l]=o}return t}var He=j(ce(),1),R2=(0,Xe.forwardRef)(function(t,a){let{appearance:n,className:r,allowAttachments:o=!1,welcomeMessage:l,welcome:i,placeholder:s="Ask me anything...",triggerEvent:u="triggerDemoRequest",api:c,mcp:d,debug:f=!1,readOnly:p=!1,title:g,headerActions:w,hideHeader:C=!1,enableThreadHistory:y=!1,showToolCalls:x=!0,initializing:h=!1,disclaimer:v}=t,A=n?.theme,I=n?.variables,M=I?E2(I):{},[_,P]=(0,Xe.useState)(!1);(0,Xe.useEffect)(()=>{if(A!=="auto"||typeof window>"u")return;let F=window.matchMedia("(prefers-color-scheme: dark)");P(F.matches);let $=()=>P(F.matches);return F.addEventListener("change",$),()=>F.removeEventListener("change",$)},[A]);let k=A==="dark"||A==="auto"&&_,B=I2({...t,api:c}),R=CM({...t,api:c,sessionId:B.sessionId,onCallTool:d?.onCallTool}),U=d?.resourceEndpoint??M2(c,t.headers),G=A2(s,!B.text),[V,Y]=(0,Xe.useState)(null),he=(0,Xe.useRef)(null),Me=(0,Xe.useRef)(null),Se=(0,Xe.useRef)(null),S=(0,Xe.useRef)(null),[at,it]=(0,Xe.useState)(!0),L=(0,Xe.useRef)(at);L.current=at;let Ze=(0,Xe.useCallback)(()=>{let F=he.current;if(!F)return;let $=F.querySelector("textarea");$&&$.focus()},[]),ke=(0,Xe.useCallback)((F="smooth")=>{let $=Me.current;$&&$.scrollTo({top:$.scrollHeight,behavior:F})},[]);(0,Xe.useEffect)(()=>{let F=S.current,$=Me.current;if(!F||!$)return;let oe=new IntersectionObserver(([se])=>it(se.isIntersecting),{root:$,rootMargin:"0px 0px 200px 0px",threshold:0});return oe.observe(F),()=>oe.disconnect()},[]),(0,Xe.useEffect)(()=>{(B.messages[B.messages.length-1]?.role==="user"||L.current)&&ke("smooth")},[B.messages.length,B.messages[B.messages.length-1]]),(0,Xe.useEffect)(()=>{ke("auto")},[ke]),(0,Xe.useEffect)(()=>{if(typeof ResizeObserver>"u")return;let F=Me.current,$=Se.current;if(!F&&!$)return;let oe=F?.scrollHeight??0,se=F?.clientHeight??0,Ee=new ResizeObserver(()=>{let Ue=Me.current;if(!Ue)return;let _t=Ue.scrollTop+se>=oe-5;oe=Ue.scrollHeight,se=Ue.clientHeight,_t&&ke("auto")});return F&&Ee.observe(F),$&&Ee.observe($),()=>Ee.disconnect()},[ke]);let Dt=k2({messages:B.messages,status:B.status,config:t.suggestions}),nt=(0,Xe.useCallback)(F=>{let $=F.content.map(oe=>oe.text??"").join("").trim();$&&B.handleSubmit({text:$,files:[],modelContext:F.modelContext})},[B.handleSubmit]),re=(0,Xe.useCallback)(F=>{Dt.clear(),B.handleSubmit({text:F,files:[]})},[Dt.clear,B.handleSubmit]);(0,Xe.useImperativeHandle)(a,()=>({sendMessage:F=>{B.handleSubmit({text:F,files:[]}),Ze()},sendMessageAndWait:F=>B.sendMessageAndWait(F),reset:B.reset,focus:Ze,get messages(){return B.messages}}),[B.handleSubmit,B.sendMessageAndWait,B.reset,B.messages,Ze]),(0,Xe.useEffect)(()=>{if(!u)return;let F=$=>{let oe=$.detail,se=typeof oe?.message=="string"?oe.message:void 0;se&&B.handleSubmit({text:se,files:[]}),Ze()};return window.addEventListener(u,F),()=>window.removeEventListener(u,F)},[u,B.handleSubmit,Ze]);let Be=!C&&!!(g||y||w);return(0,He.jsxs)("div",{ref:he,style:{...M,maxHeight:"inherit",opacity:h?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-color-scheme":A==="auto"?"auto":void 0,...h?{"data-waniwani-initializing":""}:{},...k?{"data-waniwani-dark":""}:{},className:K("ww:relative ww:w-full ww:h-full ww:flex ww:flex-col ww:bg-background ww:text-foreground ww:font-[family-name:var(--ww-font)] ww:overflow-hidden",A==="dark"&&"dark",r),children:[Be&&(0,He.jsxs)("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3 ww:border-b ww:border-border",style:{backgroundColor:"var(--ww-color-card-header)",color:"var(--ww-color-card-header-foreground)"},children:[g&&(0,He.jsx)("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:g}),!g&&(0,He.jsx)("div",{className:"ww:flex-1"}),w,y&&(0,He.jsx)(SM,{threads:B.threads,activeThreadId:B.activeThreadId,onNewThread:B.startNewThread,onSelectThread:F=>{B.switchThread(F)},onDeleteThread:F=>{B.deleteThread(F)}})]}),(0,He.jsxs)("div",{ref:Me,className:K("ww:relative ww:flex-1 ww:min-h-0",V?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[(0,He.jsxs)("div",{ref:Se,className:K("ww:mx-auto ww:w-full ww:max-w-3xl ww:px-4 ww:py-6 ww:flex ww:flex-col ww:gap-6",V&&"ww:!py-0"),children:[(0,He.jsx)(xM,{messages:B.messages,status:B.status,welcomeMessage:l,welcome:i,onSuggestionSelect:re,resourceEndpoint:U,chatSessionId:B.sessionId,isDark:k,onFollowUp:nt,onCallTool:R,fullscreenToolCallId:V,debug:f,showToolCalls:x,toolDefinitions:B.toolDefinitions,onWidgetDisplayModeChange:(F,$)=>{Y(F==="fullscreen"?$.toolCallId:null)}}),(0,He.jsx)("div",{ref:S,"aria-hidden":!0,style:{height:1}})]}),!at&&!V&&(0,He.jsx)("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:(0,He.jsx)(an,{type:"button",onClick:()=>ke("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:(0,He.jsx)(zi,{className:"ww:size-4"})})})]}),!p&&(0,He.jsxs)("div",{className:"ww:shrink-0 ww:bg-background",style:V?{display:"none"}:void 0,children:[(0,He.jsx)(vM,{suggestions:Dt.suggestions,isLoading:Dt.isLoading,onSelect:re}),(0,He.jsx)(g0,{queuedMessages:B.queuedMessages,onRemove:B.removeQueuedMessage}),(0,He.jsx)("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:(0,He.jsxs)("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[(0,He.jsx)(n0,{onSubmit:B.handleSubmit,globalDrop:o,multiple:o,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:(0,He.jsxs)("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[o&&(0,He.jsx)(l0,{}),(0,He.jsx)(r0,{onChange:B.handleTextChange,value:B.text,placeholder:G,className:"ww:min-h-0 ww:py-1 ww:px-0"}),(0,He.jsx)(o0,{status:B.status,disabled:B.queueFull})]})}),(0,He.jsxs)("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:justify-center ww:items-center ww:gap-1.5",children:[(0,He.jsx)(wM,{}),v!==!1&&(0,He.jsx)("span",{"aria-hidden":!0,className:"ww:text-[11px] ww:text-muted-foreground ww:opacity-70",children:"\xB7"}),(0,He.jsx)(i0,{text:v})]})]})})]})]})});var Ps=j(Ke(),1);var k6="waniwani:config:";function D2(e,t,a){return`${k6}${e}|${t}|${a??""}`}function T6(e,t,a){if(typeof window>"u")return null;try{let n=window.sessionStorage.getItem(D2(e,t,a));if(!n)return null;let r=JSON.parse(n);return r&&typeof r=="object"?r:null}catch{return null}}function A6(e,t,a,n){if(!(typeof window>"u"))try{window.sessionStorage.setItem(D2(e,t,a),JSON.stringify(n))}catch{}}var M6=600;async function E6(e,t,a,n){try{let r=`${e.replace(/\/$/,"")}/config`,o=n?`${r}?channel=${encodeURIComponent(n)}`:r,l=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${t}`},signal:a});if(!l.ok)return{};let i=await l.json(),s=i&&typeof i=="object"&&"data"in i&&i.data?i.data:i;return s?R6(s):{}}catch{return{}}}function R6(e){let t={};return e.title!=null&&(t.title=e.title),e.welcomeMessage!=null&&(t.welcomeMessage=e.welcomeMessage),e.placeholder!=null&&(t.placeholder=e.placeholder),e.suggestions!=null&&e.suggestions.length>0&&(t.suggestions=e.suggestions),typeof e.enableThreadHistory=="boolean"&&(t.enableThreadHistory=e.enableThreadHistory),t}function _2(e,t,a){let[n,r]=(0,Ps.useState)(e),[o,l]=(0,Ps.useState)(!1);return(0,Ps.useEffect)(()=>{let i=e.api,s=e.token,u=e.channelId;if(!i||!s){l(!0);return}let c=T6(i,s,u);if(c)try{r(Bi(t,c,a)),l(!0)}catch{}let d=new AbortController,f=setTimeout(()=>l(!0),M6);return E6(i,s,d.signal,u).then(p=>{if(!d.signal.aborted){if(Object.keys(p).length>0){A6(i,s,u,p);try{r(Bi(t,p,a))}catch(g){console.error("[WaniWani] Failed to apply remote config:",g)}}l(!0)}}).catch(p=>{console.error("[WaniWani] Remote config fetch failed:",p),l(!0)}).finally(()=>clearTimeout(f)),()=>{d.abort(),clearTimeout(f)}},[e.api,e.token,e.channelId]),{config:n,ready:o}}var P2=j(ce(),1),O2=(0,Or.forwardRef)(function({config:t,programmatic:a,scriptConfig:n,onReady:r},o){let{config:l,ready:i}=_2(t,a,n),s=(0,Or.useRef)(null);(0,Or.useEffect)(()=>{r?.()},[]),(0,Or.useImperativeHandle)(o,()=>({get chat(){return s.current}}),[]);let u={};return l.mcpServerUrl&&(u.mcpServerUrl=l.mcpServerUrl),l.channelId&&(u.channelId=l.channelId),(0,P2.jsx)(R2,{ref:s,api:l.api??"",headers:{Authorization:`Bearer ${l.token}`},skipRemoteConfig:!0,body:Object.keys(u).length>0?u:void 0,appearance:l.appearance,title:l.title,hideHeader:l.hideHeader,welcomeMessage:l.welcomeMessage,placeholder:l.placeholder,suggestions:l.suggestions?{initial:l.suggestions}:void 0,enableThreadHistory:l.enableThreadHistory,showToolCalls:l.showToolCalls,initializing:!i})});var Yy="/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--ww-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--ww-color-blue-400:oklch(70.7% .165 254.624);--ww-spacing:.25rem;--ww-container-sm:24rem;--ww-container-md:28rem;--ww-container-3xl:48rem;--ww-text-xs:.75rem;--ww-text-xs--line-height:calc(1/.75);--ww-text-sm:.875rem;--ww-text-sm--line-height:calc(1.25/.875);--ww-text-base:1rem;--ww-text-base--line-height:calc(1.5/1);--ww-text-lg:1.125rem;--ww-text-lg--line-height:calc(1.75/1.125);--ww-font-weight-medium:500;--ww-font-weight-semibold:600;--ww-tracking-wide:.025em;--ww-tracking-wider:.05em;--ww-radius-md:.375rem;--ww-radius-lg:.5rem;--ww-radius-xl:.75rem;--ww-radius-2xl:1rem;--ww-ease-out:cubic-bezier(0,0,.2,1);--ww-animate-spin:spin 1s linear infinite;--ww-animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--ww-default-transition-duration:.15s;--ww-default-transition-timing-function:cubic-bezier(.4,0,.2,1);--ww-default-font-family:var(--ww-font-sans,system-ui,-apple-system,\"Segoe UI\",sans-serif);--ww-default-mono-font-family:var(--ww-font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--ww-default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:var(--ww-default-font-feature-settings,normal);font-variation-settings:var(--ww-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--ww-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:var(--ww-default-mono-font-feature-settings,normal);font-variation-settings:var(--ww-default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.ww\\:pointer-events-auto{pointer-events:auto}.ww\\:pointer-events-none{pointer-events:none}.ww\\:\\!relative{position:relative!important}.ww\\:absolute{position:absolute}.ww\\:relative{position:relative}.ww\\:sticky{position:sticky}.ww\\:top-full{top:100%}.ww\\:right-0{right:calc(var(--ww-spacing)*0)}.ww\\:bottom-2{bottom:calc(var(--ww-spacing)*2)}.ww\\:bottom-4{bottom:calc(var(--ww-spacing)*4)}.ww\\:left-\\[50\\%\\]{left:50%}.ww\\:z-50{z-index:50}.ww\\:mx-auto{margin-inline:auto}.ww\\:mt-0\\.5{margin-top:calc(var(--ww-spacing)*.5)}.ww\\:mt-1{margin-top:calc(var(--ww-spacing)*1)}.ww\\:mt-2{margin-top:calc(var(--ww-spacing)*2)}.ww\\:mt-6{margin-top:calc(var(--ww-spacing)*6)}.ww\\:mb-2{margin-bottom:calc(var(--ww-spacing)*2)}.ww\\:mb-4{margin-bottom:calc(var(--ww-spacing)*4)}.ww\\:ml-auto{margin-left:auto}.ww\\:line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ww\\:contents{display:contents}.ww\\:flex{display:flex}.ww\\:grid{display:grid}.ww\\:hidden{display:none}.ww\\:inline-block{display:inline-block}.ww\\:inline-flex{display:inline-flex}.ww\\:field-sizing-content{field-sizing:content}.ww\\:size-2{width:calc(var(--ww-spacing)*2);height:calc(var(--ww-spacing)*2)}.ww\\:size-3{width:calc(var(--ww-spacing)*3);height:calc(var(--ww-spacing)*3)}.ww\\:size-3\\.5{width:calc(var(--ww-spacing)*3.5);height:calc(var(--ww-spacing)*3.5)}.ww\\:size-4{width:calc(var(--ww-spacing)*4);height:calc(var(--ww-spacing)*4)}.ww\\:size-5{width:calc(var(--ww-spacing)*5);height:calc(var(--ww-spacing)*5)}.ww\\:size-7{width:calc(var(--ww-spacing)*7);height:calc(var(--ww-spacing)*7)}.ww\\:size-8{width:calc(var(--ww-spacing)*8);height:calc(var(--ww-spacing)*8)}.ww\\:size-9{width:calc(var(--ww-spacing)*9);height:calc(var(--ww-spacing)*9)}.ww\\:size-12{width:calc(var(--ww-spacing)*12);height:calc(var(--ww-spacing)*12)}.ww\\:size-auto{width:auto;height:auto}.ww\\:size-full{width:100%;height:100%}.ww\\:h-2\\.5{height:calc(var(--ww-spacing)*2.5)}.ww\\:h-7{height:calc(var(--ww-spacing)*7)}.ww\\:h-8{height:calc(var(--ww-spacing)*8)}.ww\\:h-9{height:calc(var(--ww-spacing)*9)}.ww\\:h-16{height:calc(var(--ww-spacing)*16)}.ww\\:h-auto{height:auto}.ww\\:h-full{height:100%}.ww\\:max-h-48{max-height:calc(var(--ww-spacing)*48)}.ww\\:max-h-80{max-height:calc(var(--ww-spacing)*80)}.ww\\:min-h-0{min-height:calc(var(--ww-spacing)*0)}.ww\\:min-h-full{min-height:100%}.ww\\:w-72{width:calc(var(--ww-spacing)*72)}.ww\\:w-auto{width:auto}.ww\\:w-fit{width:fit-content}.ww\\:w-full{width:100%}.ww\\:max-w-3xl{max-width:var(--ww-container-3xl)}.ww\\:max-w-24{max-width:calc(var(--ww-spacing)*24)}.ww\\:max-w-32{max-width:calc(var(--ww-spacing)*32)}.ww\\:max-w-\\[80\\%\\]{max-width:80%}.ww\\:max-w-full{max-width:100%}.ww\\:max-w-md{max-width:var(--ww-container-md)}.ww\\:max-w-sm{max-width:var(--ww-container-sm)}.ww\\:min-w-0{min-width:calc(var(--ww-spacing)*0)}.ww\\:flex-1{flex:1}.ww\\:shrink-0{flex-shrink:0}.ww\\:grow{flex-grow:1}.ww\\:translate-x-\\[-50\\%\\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.ww\\:rotate-90{rotate:90deg}.ww\\:rotate-180{rotate:180deg}.ww\\:animate-\\[ww-fade-in_0\\.2s_ease-out_both\\]{animation:.2s ease-out both ww-fade-in}.ww\\:animate-pulse{animation:var(--ww-animate-pulse)}.ww\\:animate-spin{animation:var(--ww-animate-spin)}.ww\\:cursor-pointer{cursor:pointer}.ww\\:resize-none{resize:none}.ww\\:grid-rows-\\[0fr\\]{grid-template-rows:0fr}.ww\\:grid-rows-\\[1fr\\]{grid-template-rows:1fr}.ww\\:flex-col{flex-direction:column}.ww\\:flex-wrap{flex-wrap:wrap}.ww\\:items-center{align-items:center}.ww\\:items-end{align-items:flex-end}.ww\\:items-start{align-items:flex-start}.ww\\:justify-between{justify-content:space-between}.ww\\:justify-center{justify-content:center}.ww\\:gap-1{gap:calc(var(--ww-spacing)*1)}.ww\\:gap-1\\.5{gap:calc(var(--ww-spacing)*1.5)}.ww\\:gap-2{gap:calc(var(--ww-spacing)*2)}.ww\\:gap-3{gap:calc(var(--ww-spacing)*3)}.ww\\:gap-6{gap:calc(var(--ww-spacing)*6)}:where(.ww\\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--ww-spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--ww-spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.ww\\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--ww-spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--ww-spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}.ww\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ww\\:\\!overflow-hidden{overflow:hidden!important}.ww\\:overflow-hidden{overflow:hidden}.ww\\:overflow-x-auto{overflow-x:auto}.ww\\:overflow-y-auto{overflow-y:auto}.ww\\:overflow-y-hidden{overflow-y:hidden}.ww\\:\\!rounded-full{border-radius:3.40282e38px!important}.ww\\:rounded{border-radius:var(--ww-radius,16px)}.ww\\:rounded-2xl{border-radius:var(--ww-radius-2xl)}.ww\\:rounded-\\[var\\(--ww-radius\\)\\]{border-radius:var(--ww-radius)}.ww\\:rounded-full{border-radius:3.40282e38px}.ww\\:rounded-lg{border-radius:var(--ww-radius-lg)}.ww\\:rounded-md{border-radius:var(--ww-radius-md)}.ww\\:rounded-xl{border-radius:var(--ww-radius-xl)}.ww\\:border{border-style:var(--tw-border-style);border-width:1px}.ww\\:border-0{border-style:var(--tw-border-style);border-width:0}.ww\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.ww\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.ww\\:border-border{border-color:var(--ww-color-border,#e5e7eb)}.ww\\:border-muted-foreground\\/50{border-color:var(--ww-color-muted-foreground,#6b7280)}@supports (color:color-mix(in lab, red, red)){.ww\\:border-muted-foreground\\/50{border-color:color-mix(in oklab,var(--ww-color-muted-foreground,#6b7280)50%,transparent)}}.ww\\:bg-accent{background-color:var(--ww-color-accent,#f3f4f6)}.ww\\:bg-background,.ww\\:bg-background\\/20{background-color:var(--ww-color-background,#fff)}@supports (color:color-mix(in lab, red, red)){.ww\\:bg-background\\/20{background-color:color-mix(in oklab,var(--ww-color-background,#fff)20%,transparent)}}.ww\\:bg-foreground,.ww\\:bg-foreground\\/5{background-color:var(--ww-color-foreground,#1f2937)}@supports (color:color-mix(in lab, red, red)){.ww\\:bg-foreground\\/5{background-color:color-mix(in oklab,var(--ww-color-foreground,#1f2937)5%,transparent)}}.ww\\:bg-input{background-color:var(--ww-color-input,#f9fafb)}.ww\\:bg-muted{background-color:var(--ww-color-muted,#f1f5f9)}.ww\\:bg-muted-foreground\\/60{background-color:var(--ww-color-muted-foreground,#6b7280)}@supports (color:color-mix(in lab, red, red)){.ww\\:bg-muted-foreground\\/60{background-color:color-mix(in oklab,var(--ww-color-muted-foreground,#6b7280)60%,transparent)}}.ww\\:bg-muted\\/50{background-color:var(--ww-color-muted,#f1f5f9)}@supports (color:color-mix(in lab, red, red)){.ww\\:bg-muted\\/50{background-color:color-mix(in oklab,var(--ww-color-muted,#f1f5f9)50%,transparent)}}.ww\\:bg-primary{background-color:var(--ww-color-primary,#6366f1)}.ww\\:bg-tool-card{background-color:var(--ww-color-tool-card,#f4f4f5)}.ww\\:bg-transparent{background-color:#0000}.ww\\:object-cover{object-fit:cover}.ww\\:p-1{padding:calc(var(--ww-spacing)*1)}.ww\\:p-1\\.5{padding:calc(var(--ww-spacing)*1.5)}.ww\\:p-3{padding:calc(var(--ww-spacing)*3)}.ww\\:px-0{padding-inline:calc(var(--ww-spacing)*0)}.ww\\:px-1\\.5{padding-inline:calc(var(--ww-spacing)*1.5)}.ww\\:px-2{padding-inline:calc(var(--ww-spacing)*2)}.ww\\:px-3{padding-inline:calc(var(--ww-spacing)*3)}.ww\\:px-4{padding-inline:calc(var(--ww-spacing)*4)}.ww\\:px-6{padding-inline:calc(var(--ww-spacing)*6)}.ww\\:\\!py-0{padding-block:calc(var(--ww-spacing)*0)!important}.ww\\:py-0\\.5{padding-block:calc(var(--ww-spacing)*.5)}.ww\\:py-1{padding-block:calc(var(--ww-spacing)*1)}.ww\\:py-1\\.5{padding-block:calc(var(--ww-spacing)*1.5)}.ww\\:py-2{padding-block:calc(var(--ww-spacing)*2)}.ww\\:py-2\\.5{padding-block:calc(var(--ww-spacing)*2.5)}.ww\\:py-3{padding-block:calc(var(--ww-spacing)*3)}.ww\\:py-6{padding-block:calc(var(--ww-spacing)*6)}.ww\\:py-12{padding-block:calc(var(--ww-spacing)*12)}.ww\\:pt-2{padding-top:calc(var(--ww-spacing)*2)}.ww\\:pt-2\\.5{padding-top:calc(var(--ww-spacing)*2.5)}.ww\\:pt-3{padding-top:calc(var(--ww-spacing)*3)}.ww\\:pr-3{padding-right:calc(var(--ww-spacing)*3)}.ww\\:pb-1{padding-bottom:calc(var(--ww-spacing)*1)}.ww\\:pb-1\\.5{padding-bottom:calc(var(--ww-spacing)*1.5)}.ww\\:pb-2{padding-bottom:calc(var(--ww-spacing)*2)}.ww\\:pb-3{padding-bottom:calc(var(--ww-spacing)*3)}.ww\\:pb-8{padding-bottom:calc(var(--ww-spacing)*8)}.ww\\:pl-4{padding-left:calc(var(--ww-spacing)*4)}.ww\\:text-center{text-align:center}.ww\\:text-left{text-align:left}.ww\\:font-\\[family-name\\:var\\(--ww-font\\)\\]{font-family:var(--ww-font)}.ww\\:font-mono{font-family:var(--ww-font-mono)}.ww\\:text-base{font-size:var(--ww-text-base);line-height:var(--tw-leading,var(--ww-text-base--line-height))}.ww\\:text-lg{font-size:var(--ww-text-lg);line-height:var(--tw-leading,var(--ww-text-lg--line-height))}.ww\\:text-sm{font-size:var(--ww-text-sm);line-height:var(--tw-leading,var(--ww-text-sm--line-height))}.ww\\:text-xs{font-size:var(--ww-text-xs);line-height:var(--tw-leading,var(--ww-text-xs--line-height))}.ww\\:text-\\[10px\\]{font-size:10px}.ww\\:text-\\[11px\\]{font-size:11px}.ww\\:font-medium{--tw-font-weight:var(--ww-font-weight-medium);font-weight:var(--ww-font-weight-medium)}.ww\\:font-semibold{--tw-font-weight:var(--ww-font-weight-semibold);font-weight:var(--ww-font-weight-semibold)}.ww\\:tracking-wide{--tw-tracking:var(--ww-tracking-wide);letter-spacing:var(--ww-tracking-wide)}.ww\\:tracking-wider{--tw-tracking:var(--ww-tracking-wider);letter-spacing:var(--ww-tracking-wider)}.ww\\:break-words{overflow-wrap:break-word}.ww\\:break-all{word-break:break-all}.ww\\:whitespace-pre-wrap{white-space:pre-wrap}.ww\\:text-background{color:var(--ww-color-background,#fff)}.ww\\:text-foreground,.ww\\:text-foreground\\/80{color:var(--ww-color-foreground,#1f2937)}@supports (color:color-mix(in lab, red, red)){.ww\\:text-foreground\\/80{color:color-mix(in oklab,var(--ww-color-foreground,#1f2937)80%,transparent)}}.ww\\:text-muted-foreground{color:var(--ww-color-muted-foreground,#6b7280)}.ww\\:text-primary{color:var(--ww-color-primary,#6366f1)}.ww\\:text-primary-foreground{color:var(--ww-color-primary-foreground,#1f2937)}.ww\\:uppercase{text-transform:uppercase}.ww\\:italic{font-style:italic}.ww\\:opacity-0{opacity:0}.ww\\:opacity-70{opacity:.7}.ww\\:opacity-100{opacity:1}.ww\\:shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ww\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ww\\:ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ww\\:ring-blue-400\\/70{--tw-ring-color:var(--ww-color-blue-400)}@supports (color:color-mix(in lab, red, red)){.ww\\:ring-blue-400\\/70{--tw-ring-color:color-mix(in oklab,var(--ww-color-blue-400)70%,transparent)}}.ww\\:ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.ww\\:ring-offset-background{--tw-ring-offset-color:var(--ww-color-background,#fff)}.ww\\:transition-\\[grid-template-rows\\,opacity\\]{transition-property:grid-template-rows,opacity;transition-timing-function:var(--tw-ease,var(--ww-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ww-default-transition-duration))}.ww\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--ww-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ww-default-transition-duration))}.ww\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--ww-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ww-default-transition-duration))}.ww\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--ww-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ww-default-transition-duration))}.ww\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--ww-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ww-default-transition-duration))}.ww\\:duration-150{--tw-duration:.15s;transition-duration:.15s}.ww\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.ww\\:ease-out{--tw-ease:var(--ww-ease-out);transition-timing-function:var(--ww-ease-out)}.ww\\:outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.ww\\:group-hover\\:opacity-0:is(:where(.ww\\:group):hover *){opacity:0}.ww\\:group-hover\\:opacity-100:is(:where(.ww\\:group):hover *){opacity:1}}.ww\\:group-\\[\\.is-assistant\\]\\:text-foreground:is(:where(.ww\\:group).is-assistant *){color:var(--ww-color-foreground,#1f2937)}.ww\\:group-\\[\\.is-user\\]\\:ml-auto:is(:where(.ww\\:group).is-user *){margin-left:auto}.ww\\:group-\\[\\.is-user\\]\\:rounded-lg:is(:where(.ww\\:group).is-user *){border-radius:var(--ww-radius-lg)}.ww\\:group-\\[\\.is-user\\]\\:bg-user-bubble:is(:where(.ww\\:group).is-user *){background-color:var(--ww-color-user-bubble,#f4f4f4)}.ww\\:group-\\[\\.is-user\\]\\:px-4:is(:where(.ww\\:group).is-user *){padding-inline:calc(var(--ww-spacing)*4)}.ww\\:group-\\[\\.is-user\\]\\:py-3:is(:where(.ww\\:group).is-user *){padding-block:calc(var(--ww-spacing)*3)}.ww\\:group-\\[\\.is-user\\]\\:text-primary-foreground:is(:where(.ww\\:group).is-user *){color:var(--ww-color-primary-foreground,#1f2937)}.ww\\:placeholder\\:text-muted-foreground::placeholder{color:var(--ww-color-muted-foreground,#6b7280)}@media (hover:hover){.ww\\:hover\\:border-primary\\/30:hover{border-color:var(--ww-color-primary,#6366f1)}@supports (color:color-mix(in lab, red, red)){.ww\\:hover\\:border-primary\\/30:hover{border-color:color-mix(in oklab,var(--ww-color-primary,#6366f1)30%,transparent)}}.ww\\:hover\\:bg-accent:hover{background-color:var(--ww-color-accent,#f3f4f6)}.ww\\:hover\\:bg-foreground:hover{background-color:var(--ww-color-foreground,#1f2937)}.ww\\:hover\\:bg-muted:hover{background-color:var(--ww-color-muted,#f1f5f9)}.ww\\:hover\\:bg-muted-foreground\\/10:hover{background-color:var(--ww-color-muted-foreground,#6b7280)}@supports (color:color-mix(in lab, red, red)){.ww\\:hover\\:bg-muted-foreground\\/10:hover{background-color:color-mix(in oklab,var(--ww-color-muted-foreground,#6b7280)10%,transparent)}}.ww\\:hover\\:bg-primary\\/90:hover{background-color:var(--ww-color-primary,#6366f1)}@supports (color:color-mix(in lab, red, red)){.ww\\:hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--ww-color-primary,#6366f1)90%,transparent)}}.ww\\:hover\\:text-accent-foreground:hover{color:var(--ww-color-accent-foreground,#1f2937)}.ww\\:hover\\:text-foreground:hover{color:var(--ww-color-foreground,#1f2937)}.ww\\:hover\\:underline:hover{text-decoration-line:underline}}.ww\\:disabled\\:pointer-events-none:disabled{pointer-events:none}.ww\\:disabled\\:opacity-40:disabled{opacity:.4}.ww\\:disabled\\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.ww\\:sm\\:text-sm{font-size:var(--ww-text-sm);line-height:var(--tw-leading,var(--ww-text-sm--line-height))}}.ww\\:\\[\\&\\>\\*\\:first-child\\]\\:mt-0>:first-child{margin-top:calc(var(--ww-spacing)*0)}.ww\\:\\[\\&\\>\\*\\:last-child\\]\\:mb-0>:last-child{margin-bottom:calc(var(--ww-spacing)*0)}}@keyframes ww-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes ww-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@keyframes ww-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}[data-waniwani-chat] ::-webkit-scrollbar{width:8px}[data-waniwani-chat] ::-webkit-scrollbar-track{background:0 0}[data-waniwani-chat] ::-webkit-scrollbar-thumb{background:var(--ww-color-border);border-radius:9999px}[data-waniwani-chat] ::-webkit-scrollbar-thumb:hover{background:var(--ww-color-muted-foreground)}[data-waniwani-chat] *{scrollbar-width:thin;scrollbar-color:var(--ww-color-border)transparent}[data-waniwani-chat]{--ww-color-background:var(--ww-bg,#fff);--ww-color-foreground:var(--ww-text,#1f2937);--ww-color-primary:var(--ww-primary,#6366f1);--ww-color-primary-foreground:var(--ww-primary-fg,#1f2937);--ww-color-muted-foreground:var(--ww-muted,#6b7280);--ww-color-border:var(--ww-border,#e5e7eb);--ww-color-input:var(--ww-input-bg,#f9fafb);--ww-color-accent:var(--ww-assistant-bubble,#f3f4f6);--ww-color-accent-foreground:var(--ww-text,#1f2937);--ww-color-user-bubble:var(--ww-user-bubble,#f4f4f4);--ww-color-card:var(--ww-bg,#fff);--ww-color-card-foreground:var(--ww-text,#1f2937);--ww-color-card-header:var(--ww-header-bg,#fff);--ww-color-card-header-foreground:var(--ww-header-text,#1f2937);--ww-color-status:var(--ww-status,#22c55e);--ww-color-tool-card:var(--ww-tool-card,#f4f4f5);--ww-radius:var(--ww-radius,16px);--ww-font-sans:var(--ww-font,system-ui,-apple-system,\"Segoe UI\",sans-serif);border-style:solid;border-width:var(--ww-border-width,0);border-color:var(--ww-color-border);box-shadow:var(--ww-shadow,none)}.dark [data-waniwani-chat],[data-waniwani-chat].dark{--ww-color-background:var(--ww-bg,#212121);--ww-color-foreground:var(--ww-text,#ececec);--ww-color-primary:var(--ww-primary,#6366f1);--ww-color-primary-foreground:var(--ww-primary-fg,#fff);--ww-color-muted-foreground:var(--ww-muted,#8e8ea0);--ww-color-border:var(--ww-border,#444);--ww-color-input:var(--ww-input-bg,#2f2f2f);--ww-color-accent:var(--ww-assistant-bubble,#2f2f2f);--ww-color-accent-foreground:var(--ww-text,#ececec);--ww-color-user-bubble:var(--ww-user-bubble,#303030);--ww-color-card:var(--ww-bg,#212121);--ww-color-card-foreground:var(--ww-text,#ececec);--ww-color-card-header:var(--ww-header-bg,#1e1e1e);--ww-color-card-header-foreground:var(--ww-header-text,#ececec);--ww-color-status:var(--ww-status,#22c55e);--ww-color-tool-card:var(--ww-tool-card,#262626)}@media (prefers-color-scheme:dark){[data-waniwani-chat][data-color-scheme=auto]{--ww-color-background:var(--ww-bg,#212121);--ww-color-foreground:var(--ww-text,#ececec);--ww-color-primary:var(--ww-primary,#6366f1);--ww-color-primary-foreground:var(--ww-primary-fg,#fff);--ww-color-muted-foreground:var(--ww-muted,#8e8ea0);--ww-color-border:var(--ww-border,#444);--ww-color-input:var(--ww-input-bg,#2f2f2f);--ww-color-accent:var(--ww-assistant-bubble,#2f2f2f);--ww-color-accent-foreground:var(--ww-text,#ececec);--ww-color-user-bubble:var(--ww-user-bubble,#303030);--ww-color-card:var(--ww-bg,#212121);--ww-color-card-foreground:var(--ww-text,#ececec);--ww-color-card-header:var(--ww-header-bg,#1e1e1e);--ww-color-card-header-foreground:var(--ww-header-text,#ececec);--ww-color-status:var(--ww-status,#22c55e);--ww-color-tool-card:var(--ww-tool-card,#262626)}}[data-waniwani-chat] [data-streamdown=table-wrapper]{flex-direction:column;gap:.5rem;margin-top:1rem;margin-bottom:1rem;display:flex}[data-waniwani-chat] [data-streamdown=table-wrapper]>div:first-child:has(button){justify-content:flex-end;align-items:center;gap:.25rem;display:flex}[data-waniwani-chat] [data-streamdown=table-wrapper]>div:last-child{overflow-x:auto}[data-waniwani-chat] [data-streamdown=table]{border-collapse:collapse;border:1px solid var(--ww-color-border);border-radius:.75rem;width:100%;overflow:hidden}[data-waniwani-chat] [data-streamdown=table-header]{background-color:var(--ww-color-accent)}@supports (color:color-mix(in lab, red, red)){[data-waniwani-chat] [data-streamdown=table-header]{background-color:color-mix(in srgb,var(--ww-color-accent)80%,transparent)}}[data-waniwani-chat] [data-streamdown=table-body]{background-color:var(--ww-color-accent)}@supports (color:color-mix(in lab, red, red)){[data-waniwani-chat] [data-streamdown=table-body]{background-color:color-mix(in srgb,var(--ww-color-accent)40%,transparent)}}[data-waniwani-chat] [data-streamdown=table-body]>tr+tr{border-top:1px solid var(--ww-color-border)}[data-waniwani-chat] [data-streamdown=table-row]{border-bottom:1px solid var(--ww-color-border)}[data-waniwani-chat] [data-streamdown=table-header-cell]{white-space:nowrap;text-align:left;padding:.5rem 1rem;font-size:.875rem;font-weight:600}[data-waniwani-chat] [data-streamdown=table-cell]{padding:.5rem 1rem;font-size:.875rem}[data-waniwani-chat] [data-streamdown=link]{color:var(--ww-color-primary);overflow-wrap:anywhere;cursor:pointer;font-weight:500;text-decoration:underline}[data-waniwani-chat].dark [data-streamdown=link],.dark [data-waniwani-chat] [data-streamdown=link]{color:var(--ww-color-primary)}@supports (color:color-mix(in lab, red, red)){[data-waniwani-chat].dark [data-streamdown=link],.dark [data-waniwani-chat] [data-streamdown=link]{color:color-mix(in oklab,var(--ww-color-primary)55%,white)}}@media (prefers-color-scheme:dark){[data-waniwani-chat][data-color-scheme=auto] [data-streamdown=link]{color:var(--ww-color-primary)}@supports (color:color-mix(in lab, red, red)){[data-waniwani-chat][data-color-scheme=auto] [data-streamdown=link]{color:color-mix(in oklab,var(--ww-color-primary)55%,white)}}}[data-waniwani-chat].dark [data-waniwani-logo],.dark [data-waniwani-chat] [data-waniwani-logo]{filter:invert()}@media (prefers-color-scheme:dark){[data-waniwani-chat][data-color-scheme=auto] [data-waniwani-logo]{filter:invert()}}[data-waniwani-chat] [data-streamdown=link-safety-modal]{z-index:50;background-color:var(--ww-color-background);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){[data-waniwani-chat] [data-streamdown=link-safety-modal]{background-color:color-mix(in srgb,var(--ww-color-background)50%,transparent)}}[data-waniwani-chat] [data-streamdown=link-safety-modal]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div{border:1px solid var(--ww-color-border);background-color:var(--ww-color-background);width:100%;max-width:28rem;color:var(--ww-color-foreground);border-radius:.75rem;flex-direction:column;gap:1rem;margin:0 1rem;padding:1.5rem;display:flex;position:relative;box-shadow:0 10px 25px #0000001a}[data-waniwani-chat] [data-streamdown=link-safety-modal] button{cursor:pointer}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>button:first-child{color:var(--ww-color-muted-foreground);background:0 0;border:none;border-radius:.375rem;padding:.25rem;transition:background-color .15s,color .15s;position:absolute;top:1rem;right:1rem}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>button:first-child:hover{background-color:var(--ww-color-accent);color:var(--ww-color-foreground)}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>div:first-of-type{flex-direction:column;gap:.5rem;display:flex}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>div:first-of-type>div{align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;display:flex}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>div:first-of-type>p{color:var(--ww-color-muted-foreground);font-size:.875rem}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>div:nth-child(3){word-break:break-all;background-color:var(--ww-color-accent);border-radius:.375rem;max-height:8rem;padding:.75rem;font-family:ui-monospace,monospace;font-size:.875rem;overflow-y:auto}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>div:last-child{gap:.5rem;display:flex}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>div:last-child>button{border:none;border-radius:.375rem;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s;display:flex}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>div:last-child>button:first-child{border:1px solid var(--ww-color-border);background-color:var(--ww-color-background);color:var(--ww-color-foreground)}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>div:last-child>button:first-child:hover{background-color:var(--ww-color-accent)}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>div:last-child>button:last-child{background-color:var(--ww-color-primary);color:#fff}[data-waniwani-chat] [data-streamdown=link-safety-modal]>div>div:last-child>button:last-child:hover{opacity:.9}[data-waniwani-chat] [data-streamdown=ordered-list]{white-space:normal;list-style-type:decimal;list-style-position:inside}[data-waniwani-chat] li [data-streamdown=ordered-list]{padding-left:1.5rem}[data-waniwani-chat] [data-streamdown=unordered-list]{white-space:normal;list-style-type:disc;list-style-position:inside}[data-waniwani-chat] li [data-streamdown=unordered-list]{padding-left:1.5rem}[data-waniwani-chat] [data-streamdown=list-item]{padding-top:.25rem;padding-bottom:.25rem}[data-waniwani-chat] [data-streamdown=list-item]>p{display:inline}[data-waniwani-chat] [data-streamdown=inline-code]{background-color:var(--ww-color-accent);border-radius:.25rem;padding:.125rem .375rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.875rem}[data-waniwani-chat] [data-streamdown=heading-1]{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.875rem;font-weight:600;line-height:2.25rem}[data-waniwani-chat] [data-streamdown=heading-2]{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.5rem;font-weight:600;line-height:2rem}[data-waniwani-chat] [data-streamdown=heading-3]{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.25rem;font-weight:600;line-height:1.75rem}[data-waniwani-chat] [data-streamdown=heading-4]{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.125rem;font-weight:600;line-height:1.75rem}[data-waniwani-chat] [data-streamdown=heading-5]{margin-top:1.5rem;margin-bottom:.5rem;font-size:1rem;font-weight:600;line-height:1.5rem}[data-waniwani-chat] [data-streamdown=heading-6]{margin-top:1.5rem;margin-bottom:.5rem;font-size:.875rem;font-weight:600;line-height:1.25rem}[data-waniwani-chat] [data-streamdown=blockquote]{border-left:4px solid var(--ww-color-muted-foreground);margin-top:1rem;margin-bottom:1rem}@supports (color:color-mix(in lab, red, red)){[data-waniwani-chat] [data-streamdown=blockquote]{border-left:4px solid color-mix(in srgb,var(--ww-color-muted-foreground)30%,transparent)}}[data-waniwani-chat] [data-streamdown=blockquote]{color:var(--ww-color-muted-foreground);padding-left:1rem;font-style:italic}[data-waniwani-chat] [data-streamdown=horizontal-rule]{border-color:var(--ww-color-border);margin-top:1.5rem;margin-bottom:1.5rem}[data-waniwani-chat] [data-streamdown=strong]{font-weight:600}[data-waniwani-chat] [data-streamdown=image-wrapper]{margin-top:1rem;margin-bottom:1rem;display:inline-block;position:relative}[data-waniwani-chat] [data-streamdown=image]{border-radius:.5rem;max-width:100%}[data-waniwani-chat] [data-streamdown=code-block]{border:1px solid var(--ww-color-border);border-radius:.75rem;width:100%;margin-top:1rem;margin-bottom:1rem;overflow:hidden}[data-waniwani-chat] [data-streamdown=code-block-header]{background-color:var(--ww-color-accent);justify-content:space-between;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){[data-waniwani-chat] [data-streamdown=code-block-header]{background-color:color-mix(in srgb,var(--ww-color-accent)80%,transparent)}}[data-waniwani-chat] [data-streamdown=code-block-header]{color:var(--ww-color-muted-foreground);padding:.75rem;font-size:.75rem}[data-waniwani-chat] [data-streamdown=code-block-body]{padding:1rem;font-size:.875rem;overflow-x:auto}[data-waniwani-chat] [data-streamdown=code-block-copy-button],[data-waniwani-chat] [data-streamdown=code-block-download-button]{cursor:pointer;color:var(--ww-color-muted-foreground);background:0 0;border:none;padding:.25rem;transition:color .15s}[data-waniwani-chat] [data-streamdown=code-block-copy-button]:hover,[data-waniwani-chat] [data-streamdown=code-block-download-button]:hover{color:var(--ww-color-foreground)}[data-waniwani-chat] [data-streamdown=mermaid-block]{border:1px solid var(--ww-color-border);border-radius:.75rem;height:auto;margin-top:1rem;margin-bottom:1rem;padding:1rem;position:relative}[data-waniwani-chat] [data-streamdown=mermaid]{width:100%;height:100%}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}",ba=null,tf=null,Pr=null,af=null,D6="waniwani-chat-defaults",_6="waniwani-chat-chrome",O6=":where([data-waniwani-embed]){min-height:500px;max-height:100vh;border-radius:16px;overflow:hidden}",P6=":where([data-waniwani-embed]){border-style:solid;border-width:var(--ww-border-width,0);border-color:var(--ww-border,transparent);box-shadow:var(--ww-shadow,none)}";function N2(e,t){if(typeof document>"u"||document.getElementById(e))return;let a=document.createElement("style");a.id=e,a.textContent=t,document.head.appendChild(a)}function N6(e,t){let a=t.appearance?.variables;!a||!(e instanceof HTMLElement)||(typeof a.borderWidth=="number"&&e.style.setProperty("--ww-border-width",`${a.borderWidth}px`),a.borderColor&&e.style.setProperty("--ww-border",a.borderColor),a.boxShadow&&e.style.setProperty("--ww-shadow",a.boxShadow))}function B6(e,t){if(Yy&&Yy!=="__WANIWANI_EMBED_CSS__"){let n=document.createElement("style");n.textContent=Yy,e.appendChild(n)}let a=document.createElement("style");if(a.textContent="[data-waniwani-chat]{border-width:0;box-shadow:none}",e.appendChild(a),t.css)try{let n=new URL(t.css,window.location.href);if(n.protocol==="https:"||n.protocol==="http:"){let r=document.createElement("link");r.rel="stylesheet",r.href=n.href,e.appendChild(r)}else console.warn("[WaniWani] Custom CSS URL must use http or https protocol.")}catch{console.warn("[WaniWani] Invalid custom CSS URL:",t.css)}}var B2="data-waniwani-embed";function U6(e,t,a){let n=document.querySelector(`[${B2}]`);if(!n)throw new Error(`[WaniWani] No inline mount target. Place \`<div ${B2}></div>\` in your page.`);e.appearance?.theme&&N2(D6,O6),N2(_6,P6),N6(n,e),Pr=document.createElement("div"),Pr.id="waniwani-chat-embed",Pr.style.cssText="width:100%;height:100%;max-height:inherit;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;",n.appendChild(Pr);let r=Pr,o=()=>{let u=getComputedStyle(n);if(!u.maxHeight.endsWith("px")){r.style.removeProperty("max-height");return}let c=Number.parseFloat(u.maxHeight);if(!Number.isFinite(c)){r.style.removeProperty("max-height");return}let d=c;u.boxSizing==="border-box"&&(d-=(Number.parseFloat(u.paddingTop)||0)+(Number.parseFloat(u.paddingBottom)||0)+(Number.parseFloat(u.borderTopWidth)||0)+(Number.parseFloat(u.borderBottomWidth)||0)),d>0?r.style.maxHeight=`${d}px`:r.style.removeProperty("max-height")};o(),af=new ResizeObserver(o),af.observe(n);let l=Pr.attachShadow({mode:"open"});B6(l,e);let i=document.createElement("div");i.className="ww:contents",l.appendChild(i);let s=Jy.default.createRef();return tf=z2.default.createRoot(i),tf.render(Jy.default.createElement(O2,{ref:s,config:e,programmatic:t,scriptConfig:a})),{destroy:()=>{af?.disconnect(),af=null,tf?.unmount(),tf=null,Pr?.remove(),Pr=null,ba=null},sendMessage:u=>s.current?.chat?.sendMessage(u),sendMessageAndWait:async u=>{let c=s.current?.chat;if(c)return await c.sendMessageAndWait(u)},reset:()=>s.current?.chat?.reset(),focus:()=>s.current?.chat?.focus(),getMessages:()=>s.current?.chat?.messages??[]}}function q2(e){if(ba)return console.warn("[WaniWani] Chat widget is already initialized. Call destroy() first to re-initialize."),ba;let t=yc(),a=Bi(e,void 0,t);return ba=U6(a,e,t),ba}function z6(){ba&&ba.destroy()}window.WaniWani=window.WaniWani||{};window.WaniWani.chat={init:q2,destroy:z6,sendMessage:e=>ba?.sendMessage(e),sendMessageAndWait:async e=>{if(ba)return ba.sendMessageAndWait(e)},reset:()=>ba?.reset(),focus:()=>ba?.focus(),getMessages:()=>ba?.getMessages()??[]};function U2(){if(yc().token)try{q2()}catch(t){console.error("[WaniWani] Auto-initialization failed:",t)}}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",U2):U2();})();
139
139
  /*! Bundled license information:
140
140
 
141
141
  react/cjs/react.production.js: