@waniwani/sdk 0.11.26 → 0.11.27

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.
@@ -12,7 +12,7 @@ import{a as mr,b as hr,c as gr,d as ot,e as rt,f as $t,g as wr,h as xr,i as Lr,j
12
12
  \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function en(e,t,a,o){let r=o.schema,s=r.space==="svg"?!1:o.settings.omitOptionalTags,n=r.space==="svg"?o.settings.closeEmptyElements:o.settings.voids.includes(e.tagName.toLowerCase()),i=[],l;r.space==="html"&&e.tagName==="svg"&&(o.schema=Xt);let u=dd(o,e.properties),f=o.all(r.space==="html"&&e.tagName==="template"?e.content:e);return o.schema=r,f&&(n=!1),(u||!s||!Ys(e,t,a))&&(i.push("<",e.tagName,u?" "+u:""),n&&(r.space==="svg"||o.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!o.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&i.push(" "),i.push("/")),i.push(">")),i.push(f),!n&&(!s||!Bt(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function dd(e,t){let a=[],o=-1,r;if(t){for(r in t)if(t[r]!==null&&t[r]!==void 0){let s=fd(e,r,t[r]);s&&a.push(s)}}for(;++o<a.length;){let s=e.settings.tightAttributes?a[o].charAt(a[o].length-1):void 0;o!==a.length-1&&s!=='"'&&s!=="'"&&(a[o]+=" ")}return a.join("")}function fd(e,t,a){let o=Lr(e.schema,t),r=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,s=e.settings.allowDangerousCharacters?0:1,n=e.quote,i;if(o.overloadedBoolean&&(a===o.attribute||a==="")?a=!0:(o.boolean||o.overloadedBoolean)&&(typeof a!="string"||a===o.attribute||a==="")&&(a=!!a),a==null||a===!1||typeof a=="number"&&Number.isNaN(a))return"";let l=De(o.attribute,Object.assign({},e.settings.characterReferences,{subset:Ca.name[r][s]}));return a===!0||(a=Array.isArray(a)?(o.commaSeparated?Sr:yr)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=De(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Ca.unquoted[r][s]}))),i!==a&&(e.settings.quoteSmart&&oo(a,n)>oo(a,e.alternative)&&(n=e.alternative),i=n+De(a,Object.assign({},e.settings.characterReferences,{subset:(n==="'"?Ca.single:Ca.double)[r][s],attribute:!0}))+n),l+(i&&"="+i))}var cd=["<","&"];function Ia(e,t,a,o){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:De(e.value,Object.assign({},o.settings.characterReferences,{subset:cd}))}function tn(e,t,a,o){return o.settings.allowDangerousHtml?e.value:Ia(e,t,a,o)}function an(e,t,a,o){return o.all(e)}var on=Ir("type",{invalid:pd,unknown:md,handlers:{comment:Xs,doctype:Qs,element:en,raw:tn,root:an,text:Ia}});function pd(e){throw new Error("Expected node, not `"+e+"`")}function md(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var hd={},gd={},wd=[];function Mo(e,t){let a=t||hd,o=a.quote||'"',r=o==='"'?"'":'"';if(o!=='"'&&o!=="'")throw new Error("Invalid quote `"+o+"`, expected `'` or `\"`");return{one:xd,all:Ld,settings:{omitOptionalTags:a.omitOptionalTags||!1,allowParseErrors:a.allowParseErrors||!1,allowDangerousCharacters:a.allowDangerousCharacters||!1,quoteSmart:a.quoteSmart||!1,preferUnquoted:a.preferUnquoted||!1,tightAttributes:a.tightAttributes||!1,upperDoctype:a.upperDoctype||!1,tightDoctype:a.tightDoctype||!1,bogusComments:a.bogusComments||!1,tightCommaSeparatedLists:a.tightCommaSeparatedLists||!1,tightSelfClosing:a.tightSelfClosing||!1,collapseEmptyAttributes:a.collapseEmptyAttributes||!1,allowDangerousHtml:a.allowDangerousHtml||!1,voids:a.voids||xr,characterReferences:a.characterReferences||gd,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?Xt:Cr,quote:o,alternative:r}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function xd(e,t,a){return on(e,t,a,this)}function Ld(e){let t=[],a=e&&e.children||wd,o=-1;for(;++o<a.length;)t[o]=this.one(a[o],o,e);return t.join("")}function Sa(e,t){let a=typeof e=="string"?{}:{...e.colorReplacements},o=typeof e=="string"?e:e.name;for(let[r,s]of Object.entries(t?.colorReplacements||{}))typeof s=="string"?a[r]=s:r===o&&Object.assign(a,s);return a}function Ge(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Cd(e){return Array.isArray(e)?e:[e]}async function fn(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function _o(e){return!e||["plaintext","txt","text","plain"].includes(e)}function cn(e){return e==="ansi"||_o(e)}function No(e){return e==="none"}function pn(e){return No(e)}function mn(e,t){if(!t)return e;e.properties||={},e.properties.class||=[],typeof e.properties.class=="string"&&(e.properties.class=e.properties.class.split(/\s+/g)),Array.isArray(e.properties.class)||(e.properties.class=[]);let a=Array.isArray(t)?t:t.split(/\s+/g);for(let o of a)o&&!e.properties.class.includes(o)&&e.properties.class.push(o);return e}function Pa(e,t=!1){if(e.length===0)return[["",0]];let a=e.split(/(\r?\n)/g),o=0,r=[];for(let s=0;s<a.length;s+=2){let n=t?a[s]+(a[s+1]||""):a[s];r.push([n,o]),o+=a[s].length,o+=a[s+1]?.length||0}return r}function Id(e){let t=Pa(e,!0).map(([r])=>r);function a(r){if(r===e.length)return{line:t.length-1,character:t[t.length-1].length};let s=r,n=0;for(let i of t){if(s<i.length)break;s-=i.length,n++}return{line:n,character:s}}function o(r,s){let n=0;for(let i=0;i<r;i++)n+=t[i].length;return n+=s,n}return{lines:t,indexToPos:a,posToIndex:o}}function hn(e,t,a){let o=new Set;for(let s of e.matchAll(/:?lang=["']([^"']+)["']/g)){let n=s[1].toLowerCase().trim();n&&o.add(n)}for(let s of e.matchAll(/(?:```|~~~)([\w-]+)/g)){let n=s[1].toLowerCase().trim();n&&o.add(n)}for(let s of e.matchAll(/\\begin\{([\w-]+)\}/g)){let n=s[1].toLowerCase().trim();n&&o.add(n)}for(let s of e.matchAll(/<script\s+(?:type|lang)=["']([^"']+)["']/gi)){let n=s[1].toLowerCase().trim(),i=n.includes("/")?n.split("/").pop():n;i&&o.add(i)}if(!a)return Array.from(o);let r=a.getBundledLanguages();return Array.from(o).filter(s=>s&&r[s])}var Oo="light-dark()",Sd=["color","background-color"];function yd(e,t){let a=0,o=[];for(let r of t)r>a&&o.push({...e,content:e.content.slice(a,r),offset:e.offset+a}),a=r;return a<e.content.length&&o.push({...e,content:e.content.slice(a),offset:e.offset+a}),o}function kd(e,t){let a=Array.from(t instanceof Set?t:new Set(t)).sort((o,r)=>o-r);return a.length?e.map(o=>o.flatMap(r=>{let s=a.filter(n=>r.offset<n&&n<r.offset+r.content.length).map(n=>n-r.offset).sort((n,i)=>n-i);return s.length?yd(r,s):r})):e}function bd(e,t,a,o,r="css-vars"){let s={content:e.content,explanation:e.explanation,offset:e.offset},n=t.map(f=>ya(e.variants[f])),i=new Set(n.flatMap(f=>Object.keys(f))),l={},u=(f,d)=>{let p=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return a+t[f]+(d==="color"?"":p)};return n.forEach((f,d)=>{for(let p of i){let c=f[p]||"inherit";if(d===0&&o&&Sd.includes(p))if(o===Oo&&n.length>1){let h=t.findIndex(g=>g==="light"),C=t.findIndex(g=>g==="dark");if(h===-1||C===-1)throw new J('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let x=n[h][p]||"inherit",w=n[C][p]||"inherit";l[p]=`light-dark(${x}, ${w})`,r==="css-vars"&&(l[u(d,p)]=c)}else l[p]=c;else r==="css-vars"&&(l[u(d,p)]=c)}}),s.htmlStyle=l,s}function ya(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&de.Italic&&(t["font-style"]="italic"),e.fontStyle&de.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&de.Underline&&a.push("underline"),e.fontStyle&de.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function Bo(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var gn=new WeakMap;function Aa(e,t){gn.set(e,t)}function Et(e){return gn.get(e)}var ut=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,a){return new e(Object.fromEntries(Cd(a).map(o=>[o,ga])),t)}constructor(...t){if(t.length===2){let[a,o]=t;this.lang=o,this._stacks=a}else{let[a,o,r]=t;this.lang=o,this._stacks={[r]:a}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return Td(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Td(e){let t=[],a=new Set;function o(r){if(a.has(r))return;a.add(r);let s=r?.nameScopesList?.scopeName;s&&t.push(s),r.parent&&o(r.parent)}return o(e),t}function Pd(e,t){if(!(e instanceof ut))throw new J("Invalid grammar state");return e.getInternalStack(t)}function Ad(){let e=new WeakMap;function t(a){if(!e.has(a.meta)){let o=function(n){if(typeof n=="number"){if(n<0||n>a.source.length)throw new J(`Invalid decoration offset: ${n}. Code length: ${a.source.length}`);return{...r.indexToPos(n),offset:n}}else{let i=r.lines[n.line];if(i===void 0)throw new J(`Invalid decoration position ${JSON.stringify(n)}. Lines length: ${r.lines.length}`);let l=n.character;if(l<0&&(l=i.length+l),l<0||l>i.length)throw new J(`Invalid decoration position ${JSON.stringify(n)}. Line ${n.line} length: ${i.length}`);return{...n,character:l,offset:r.posToIndex(n.line,l)}}},r=Id(a.source),s=(a.options.decorations||[]).map(n=>({...n,start:o(n.start),end:o(n.end)}));vd(s),e.set(a.meta,{decorations:s,converter:r,source:a.source})}return e.get(a.meta)}return{name:"shiki:decorations",tokens(a){if(!this.options.decorations?.length)return;let r=t(this).decorations.flatMap(n=>[n.start.offset,n.end.offset]);return kd(a,r)},code(a){if(!this.options.decorations?.length)return;let o=t(this),r=Array.from(a.children).filter(f=>f.type==="element"&&f.tagName==="span");if(r.length!==o.converter.lines.length)throw new J(`Number of lines in code element (${r.length}) does not match the number of lines in the source (${o.converter.lines.length}). Failed to apply decorations.`);function s(f,d,p,c){let h=r[f],C="",x=-1,w=-1;if(d===0&&(x=0),p===0&&(w=0),p===Number.POSITIVE_INFINITY&&(w=h.children.length),x===-1||w===-1)for(let m=0;m<h.children.length;m++)C+=wn(h.children[m]),x===-1&&C.length===d&&(x=m+1),w===-1&&C.length===p&&(w=m+1);if(x===-1)throw new J(`Failed to find start index for decoration ${JSON.stringify(c.start)}`);if(w===-1)throw new J(`Failed to find end index for decoration ${JSON.stringify(c.end)}`);let g=h.children.slice(x,w);if(!c.alwaysWrap&&g.length===h.children.length)i(h,c,"line");else if(!c.alwaysWrap&&g.length===1&&g[0].type==="element")i(g[0],c,"token");else{let m={type:"element",tagName:"span",properties:{},children:g};i(m,c,"wrapper"),h.children.splice(x,g.length,m)}}function n(f,d){r[f]=i(r[f],d,"line")}function i(f,d,p){let c=d.properties||{},h=d.transform||(C=>C);return f.tagName=d.tagName||"span",f.properties={...f.properties,...c,class:f.properties.class},d.properties?.class&&mn(f,d.properties.class),f=h(f,p)||f,f}let l=[],u=o.decorations.sort((f,d)=>d.start.offset-f.start.offset||f.end.offset-d.end.offset);for(let f of u){let{start:d,end:p}=f;if(d.line===p.line)s(d.line,d.character,p.character,f);else if(d.line<p.line){s(d.line,d.character,Number.POSITIVE_INFINITY,f);for(let c=d.line+1;c<p.line;c++)l.unshift(()=>n(c,f));s(p.line,0,p.character,f)}}l.forEach(f=>f())}}}function vd(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new J(`Invalid decoration range: ${JSON.stringify(a.start)} - ${JSON.stringify(a.end)}`);for(let o=t+1;o<e.length;o++){let r=e[o],s=a.start.offset<=r.start.offset&&r.start.offset<a.end.offset,n=a.start.offset<r.end.offset&&r.end.offset<=a.end.offset,i=r.start.offset<=a.start.offset&&a.start.offset<r.end.offset,l=r.start.offset<a.end.offset&&a.end.offset<=r.end.offset;if(s||n||i||l){if(s&&n||i&&l||i&&a.start.offset===a.end.offset||n&&r.start.offset===r.end.offset)continue;throw new J(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(r.start)} intersect.`)}}}}function wn(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(wn).join(""):""}var Md=[Ad()];function ka(e){let t=Rd(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...Md]}function Rd(e){let t=[],a=[],o=[];for(let r of e)switch(r.enforce){case"pre":t.push(r);break;case"post":a.push(r);break;default:o.push(r)}return{pre:t,post:a,normal:o}}var Ze=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],Ro={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Fd(e,t){let a=e.indexOf("\x1B",t);if(a!==-1&&e[a+1]==="["){let o=e.indexOf("m",a);if(o!==-1)return{sequence:e.substring(a+2,o).split(";"),startPosition:a,position:o+1}}return{position:e.length}}function rn(e){let t=e.shift();if(t==="2"){let a=e.splice(0,3).map(o=>Number.parseInt(o));return a.length!==3||a.some(o=>Number.isNaN(o))?void 0:{type:"rgb",rgb:a}}else if(t==="5"){let a=e.shift();if(a)return{type:"table",index:Number(a)}}}function Bd(e){let t=[];for(;e.length>0;){let a=e.shift();if(!a)continue;let o=Number.parseInt(a);if(!Number.isNaN(o))if(o===0)t.push({type:"resetAll"});else if(o<=9)Ro[o]&&t.push({type:"setDecoration",value:Ro[o]});else if(o<=29){let r=Ro[o-20];r&&(t.push({type:"resetDecoration",value:r}),r==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(o<=37)t.push({type:"setForegroundColor",value:{type:"named",name:Ze[o-30]}});else if(o===38){let r=rn(e);r&&t.push({type:"setForegroundColor",value:r})}else if(o===39)t.push({type:"resetForegroundColor"});else if(o<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:Ze[o-40]}});else if(o===48){let r=rn(e);r&&t.push({type:"setBackgroundColor",value:r})}else o===49?t.push({type:"resetBackgroundColor"}):o===53?t.push({type:"setDecoration",value:"overline"}):o===55?t.push({type:"resetDecoration",value:"overline"}):o>=90&&o<=97?t.push({type:"setForegroundColor",value:{type:"named",name:Ze[o-90+8]}}):o>=100&&o<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:Ze[o-100+8]}})}return t}function Dd(){let e=null,t=null,a=new Set;return{parse(o){let r=[],s=0;do{let n=Fd(o,s),i=n.sequence?o.substring(s,n.startPosition):o.substring(s);if(i.length>0&&r.push({value:i,foreground:e,background:t,decorations:new Set(a)}),n.sequence){let l=Bd(n.sequence);for(let u of l)u.type==="resetAll"?(e=null,t=null,a.clear()):u.type==="resetForegroundColor"?e=null:u.type==="resetBackgroundColor"?t=null:u.type==="resetDecoration"&&a.delete(u.value);for(let u of l)u.type==="setForegroundColor"?e=u.value:u.type==="setBackgroundColor"?t=u.value:u.type==="setDecoration"&&a.add(u.value)}s=n.position}while(s<o.length);return r}}}var Ed={black:"#000000",red:"#bb0000",green:"#00bb00",yellow:"#bbbb00",blue:"#0000bb",magenta:"#ff00ff",cyan:"#00bbbb",white:"#eeeeee",brightBlack:"#555555",brightRed:"#ff5555",brightGreen:"#00ff00",brightYellow:"#ffff55",brightBlue:"#5555ff",brightMagenta:"#ff55ff",brightCyan:"#55ffff",brightWhite:"#ffffff"};function _d(e=Ed){function t(i){return e[i]}function a(i){return`#${i.map(l=>Math.max(0,Math.min(l,255)).toString(16).padStart(2,"0")).join("")}`}let o;function r(){if(o)return o;o=[];for(let u=0;u<Ze.length;u++)o.push(t(Ze[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let f=0;f<6;f++)for(let d=0;d<6;d++)o.push(a([i[u],i[f],i[d]]));let l=8;for(let u=0;u<24;u++,l+=10)o.push(a([l,l,l]));return o}function s(i){return r()[i]}function n(i){switch(i.type){case"named":return t(i.name);case"rgb":return a(i.rgb);case"table":return s(i.index)}}return{value:n}}var Nd={black:"#000000",red:"#cd3131",green:"#0DBC79",yellow:"#E5E510",blue:"#2472C8",magenta:"#BC3FBC",cyan:"#11A8CD",white:"#E5E5E5",brightBlack:"#666666",brightRed:"#F14C4C",brightGreen:"#23D18B",brightYellow:"#F5F543",brightBlue:"#3B8EEA",brightMagenta:"#D670D6",brightCyan:"#29B8DB",brightWhite:"#FFFFFF"};function Od(e,t,a){let o=Sa(e,a),r=Pa(t),s=Object.fromEntries(Ze.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,f=e.colors?.[u];return[l,f||Nd[l]]})),n=_d(s),i=Dd();return r.map(l=>i.parse(l[0]).map(u=>{let f,d;u.decorations.has("reverse")?(f=u.background?n.value(u.background):e.bg,d=u.foreground?n.value(u.foreground):e.fg):(f=u.foreground?n.value(u.foreground):e.fg,d=u.background?n.value(u.background):void 0),f=Ge(f,o),d=Ge(d,o),u.decorations.has("dim")&&(f=Ud(f));let p=de.None;return u.decorations.has("bold")&&(p|=de.Bold),u.decorations.has("italic")&&(p|=de.Italic),u.decorations.has("underline")&&(p|=de.Underline),u.decorations.has("strikethrough")&&(p|=de.Strikethrough),{content:u.value,offset:l[1],color:f,bgColor:d,fontStyle:p}}))}function Ud(e){let t=e.match(/#([0-9a-f]{3,8})/i);if(t){let o=t[1];if(o.length===8){let r=Math.round(Number.parseInt(o.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${o.slice(0,6)}${r}`}else{if(o.length===6)return`#${o}80`;if(o.length===4){let r=o[0],s=o[1],n=o[2],i=o[3],l=Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,"0");return`#${r}${r}${s}${s}${n}${n}${l}`}else if(o.length===3){let r=o[0],s=o[1],n=o[2];return`#${r}${r}${s}${s}${n}${n}80`}}}let a=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return a?`var(${a[1]}-dim)`:e}function Uo(e,t,a={}){let{theme:o=e.getLoadedThemes()[0]}=a,r=e.resolveLangAlias(a.lang||"text");if(_o(r)||No(o))return Pa(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:s,colorMap:n}=e.setTheme(o);if(r==="ansi")return Od(s,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new J(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(s.name))throw new J(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${s.name}"`)}return qd(t,i,s,n,a)}function Hd(...e){if(e.length===2)return Et(e[1]);let[t,a,o={}]=e,{lang:r="text",theme:s=t.getLoadedThemes()[0]}=o;if(_o(r)||No(s))throw new J("Plain language does not have grammar state");if(r==="ansi")throw new J("ANSI language does not have grammar state");let{theme:n,colorMap:i}=t.setTheme(s),l=t.getLanguage(r);return new ut(Ho(a,l,n,i,o).stateStack,l.name,n.name)}function qd(e,t,a,o,r){let s=Ho(e,t,a,o,r),n=new ut(s.stateStack,t.name,a.name);return Aa(s.tokens,n),s.tokens}function Ho(e,t,a,o,r){let s=Sa(a,r),{tokenizeMaxLineLength:n=0,tokenizeTimeLimit:i=500}=r,l=Pa(e),u=r.grammarState?Pd(r.grammarState,a.name)??ga:r.grammarContextCode!=null?Ho(r.grammarContextCode,t,a,o,{...r,grammarState:void 0,grammarContextCode:void 0}).stateStack:ga,f=[],d=[];for(let p=0,c=l.length;p<c;p++){let[h,C]=l[p];if(h===""){f=[],d.push([]);continue}if(n>0&&h.length>=n){f=[],d.push([{content:h,offset:C,color:"",fontStyle:0}]);continue}let x,w,g;r.includeExplanation&&(x=t.tokenizeLine(h,u,i),w=x.tokens,g=0);let m=t.tokenizeLine2(h,u,i),L=m.tokens.length/2;for(let y=0;y<L;y++){let I=m.tokens[2*y],P=y+1<L?m.tokens[2*y+2]:h.length;if(I===P)continue;let k=m.tokens[2*y+1],O=Ge(o[Je.getForeground(k)],s),v=Je.getFontStyle(k),F={content:h.substring(I,P),offset:C+I,color:O,fontStyle:v};if(r.includeExplanation){let b=[];if(r.includeExplanation!=="scopeName")for(let W of a.settings){let H;switch(typeof W.scope){case"string":H=W.scope.split(/,/).map(se=>se.trim());break;case"object":H=W.scope;break;default:continue}b.push({settings:W,selectors:H.map(se=>se.split(/ /))})}F.explanation=[];let M=0;for(;I+M<P;){let W=w[g],H=h.substring(W.startIndex,W.endIndex);M+=H.length,F.explanation.push({content:H,scopes:r.includeExplanation==="scopeName"?Gd(W.scopes):Wd(b,W.scopes)}),g+=1}}f.push(F)}d.push(f),f=[],u=m.ruleStack}return{tokens:d,stateStack:u}}function Gd(e){return e.map(t=>({scopeName:t}))}function Wd(e,t){let a=[];for(let o=0,r=t.length;o<r;o++){let s=t[o];a[o]={scopeName:s,themeMatches:jd(e,s,t.slice(0,o))}}return a}function sn(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function zd(e,t,a){if(!sn(e[e.length-1],t))return!1;let o=e.length-2,r=a.length-1;for(;o>=0&&r>=0;)sn(e[o],a[r])&&(o-=1),r-=1;return o===-1}function jd(e,t,a){let o=[];for(let{selectors:r,settings:s}of e)for(let n of r)if(zd(n,t,a)){o.push(s);break}return o}function xn(e,t,a){let o=Object.entries(a.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),r=o.map(l=>{let u=Uo(e,t,{...a,theme:l.theme}),f=Et(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:f,theme:d}}),s=Vd(...r.map(l=>l.tokens)),n=s[0].map((l,u)=>l.map((f,d)=>{let p={content:f.content,variants:{},offset:f.offset};return"includeExplanation"in a&&a.includeExplanation&&(p.explanation=f.explanation),s.forEach((c,h)=>{let{content:C,explanation:x,offset:w,...g}=c[u][d];p.variants[o[h].color]=g}),p})),i=r[0].state?new ut(Object.fromEntries(r.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),r[0].state.lang):void 0;return i&&Aa(n,i),n}function Vd(...e){let t=e.map(()=>[]),a=e.length;for(let o=0;o<e[0].length;o++){let r=e.map(l=>l[o]),s=t.map(()=>[]);t.forEach((l,u)=>l.push(s[u]));let n=r.map(()=>0),i=r.map(l=>l[0]);for(;i.every(l=>l);){let l=Math.min(...i.map(u=>u.content.length));for(let u=0;u<a;u++){let f=i[u];f.content.length===l?(s[u].push(f),n[u]+=1,i[u]=r[u][n[u]]):(s[u].push({...f,content:f.content.slice(0,l)}),i[u]={...f,content:f.content.slice(l),offset:f.offset+l})}}}return t}function ba(e,t,a){let o,r,s,n,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:f="--shiki-",colorsRendering:d="css-vars"}=a,p=Object.entries(a.themes).filter(w=>w[1]).map(w=>({color:w[0],theme:w[1]})).sort((w,g)=>w.color===u?-1:g.color===u?1:0);if(p.length===0)throw new J("`themes` option must not be empty");let c=xn(e,t,a);if(l=Et(c),u&&Oo!==u&&!p.find(w=>w.color===u))throw new J(`\`themes\` option must contain the defaultColor key \`${u}\``);let h=p.map(w=>e.getTheme(w.theme)),C=p.map(w=>w.color);s=c.map(w=>w.map(g=>bd(g,C,f,u,d))),l&&Aa(s,l);let x=p.map(w=>Sa(w.theme,a));r=nn(p,h,x,f,u,"fg",d),o=nn(p,h,x,f,u,"bg",d),n=`shiki-themes ${h.map(w=>w.name).join(" ")}`,i=u?void 0:[r,o].join(";")}else if("theme"in a){let u=Sa(a.theme,a);s=Uo(e,t,a);let f=e.getTheme(a.theme);o=Ge(f.bg,u),r=Ge(f.fg,u),n=f.name,l=Et(s)}else throw new J("Invalid options, either `theme` or `themes` must be provided");return{tokens:s,fg:r,bg:o,themeName:n,rootStyle:i,grammarState:l}}function nn(e,t,a,o,r,s,n){return e.map((i,l)=>{let u=Ge(t[l][s],a[l])||"inherit",f=`${o+i.color}${s==="bg"?"-bg":""}:${u}`;if(l===0&&r){if(r===Oo&&e.length>1){let d=e.findIndex(C=>C.color==="light"),p=e.findIndex(C=>C.color==="dark");if(d===-1||p===-1)throw new J('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let c=Ge(t[d][s],a[d])||"inherit",h=Ge(t[p][s],a[p])||"inherit";return`light-dark(${c}, ${h});${f}`}return u}return n==="css-vars"?f:null}).filter(i=>!!i).join(";")}function Ta(e,t,a,o={meta:{},options:a,codeToHast:(r,s)=>Ta(e,r,s),codeToTokens:(r,s)=>ba(e,r,s)}){let r=t;for(let h of ka(a))r=h.preprocess?.call(o,r,a)||r;let{tokens:s,fg:n,bg:i,themeName:l,rootStyle:u,grammarState:f}=ba(e,r,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:p=!1}=a;d===!0?s=Xd(s):d==="never"&&(s=Qd(s)),p&&(s=Kd(s));let c={...o,get source(){return r}};for(let h of ka(a))s=h.tokens?.call(c,s)||s;return $d(s,{...a,fg:n,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},c,f)}function $d(e,t,a,o=Et(e)){let r=ka(t),s=[],n={type:"root",children:[]},{structure:i="classic",tabindex:l="0"}=t,u={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?u.style=t.rootStyle:u.style=`background-color:${t.bg};color:${t.fg}`),l!==!1&&l!=null&&(u.tabindex=l.toString());for(let[C,x]of Object.entries(t.meta||{}))C.startsWith("_")||(u[C]=x);let f={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:s},p=[],c={...a,structure:i,addClassToHast:mn,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return n},get pre(){return f},get code(){return d},get lines(){return p}};if(e.forEach((C,x)=>{x&&(i==="inline"?n.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&s.push({type:"text",value:`
13
13
  `}));let w={type:"element",tagName:"span",properties:{class:"line"},children:[]},g=0;for(let m of C){let L={type:"element",tagName:"span",properties:{...m.htmlAttrs},children:[{type:"text",value:m.content}]},y=Bo(m.htmlStyle||ya(m));y&&(L.properties.style=y);for(let I of r)L=I?.span?.call(c,L,x+1,g,w,m)||L;i==="inline"?n.children.push(L):i==="classic"&&w.children.push(L),g+=m.content.length}if(i==="classic"){for(let m of r)w=m?.line?.call(c,w,x+1)||w;p.push(w),s.push(w)}else i==="inline"&&p.push(w)}),i==="classic"){for(let C of r)d=C?.code?.call(c,d)||d;f.children.push(d);for(let C of r)f=C?.pre?.call(c,f)||f;n.children.push(f)}else if(i==="inline"){let C=[],x={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let m of n.children)m.type==="element"&&m.tagName==="br"?(C.push(x),x={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(m.type==="element"||m.type==="text")&&x.children.push(m);C.push(x);let g={type:"element",tagName:"code",properties:{},children:C};for(let m of r)g=m?.code?.call(c,g)||g;n.children=[];for(let m=0;m<g.children.length;m++){m>0&&n.children.push({type:"element",tagName:"br",properties:{},children:[]});let L=g.children[m];L.type==="element"&&n.children.push(...L.children)}}let h=n;for(let C of r)h=C?.root?.call(c,h)||h;return o&&Aa(h,o),h}function Xd(e){return e.map(t=>{let a=[],o="",r;return t.forEach((s,n)=>{let l=!(s.fontStyle&&(s.fontStyle&de.Underline||s.fontStyle&de.Strikethrough));l&&s.content.match(/^\s+$/)&&t[n+1]?(r===void 0&&(r=s.offset),o+=s.content):o?(l?a.push({...s,offset:r,content:o+s.content}):a.push({content:o,offset:r},s),r=void 0,o=""):a.push(s)}),a})}function Qd(e){return e.map(t=>t.flatMap(a=>{if(a.content.match(/^\s+$/))return a;let o=a.content.match(/^(\s*)(.*?)(\s*)$/);if(!o)return a;let[,r,s,n]=o;if(!r&&!n)return a;let i=[{...a,offset:a.offset+r.length,content:s}];return r&&i.unshift({content:r,offset:a.offset}),n&&i.push({content:n,offset:a.offset+r.length+s.length}),i}))}function Kd(e){return e.map(t=>{let a=[];for(let o of t){if(a.length===0){a.push({...o});continue}let r=a[a.length-1],s=Bo(r.htmlStyle||ya(r)),n=Bo(o.htmlStyle||ya(o)),i=r.fontStyle&&(r.fontStyle&de.Underline||r.fontStyle&de.Strikethrough),l=o.fontStyle&&(o.fontStyle&de.Underline||o.fontStyle&de.Strikethrough);!i&&!l&&s===n?r.content+=o.content:a.push({...o})}return a})}var Jd=Mo;function Zd(e,t,a){let o={meta:{},options:a,codeToHast:(s,n)=>Ta(e,s,n),codeToTokens:(s,n)=>ba(e,s,n)},r=Jd(Ta(e,t,a,o));for(let s of ka(a))r=s.postprocess?.call(o,r,a)||r;return r}var ln={light:"#333333",dark:"#bbbbbb"},un={light:"#fffffe",dark:"#1e1e1e"},dn="__shiki_resolved";function qo(e){if(e?.[dn])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||="dark",t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:a,fg:o}=t;if(!a||!o){let i=t.settings?t.settings.find(l=>!l.name&&!l.scope):void 0;i?.settings?.foreground&&(o=i.settings.foreground),i?.settings?.background&&(a=i.settings.background),!o&&t?.colors?.["editor.foreground"]&&(o=t.colors["editor.foreground"]),!a&&t?.colors?.["editor.background"]&&(a=t.colors["editor.background"]),o||(o=t.type==="light"?ln.light:ln.dark),a||(a=t.type==="light"?un.light:un.dark),t.fg=o,t.bg=a}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let r=0,s=new Map;function n(i){if(s.has(i))return s.get(i);r+=1;let l=`#${r.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${l}`]?n(i):(s.set(i,l),l)}t.settings=t.settings.map(i=>{let l=i.settings?.foreground&&!i.settings.foreground.startsWith("#"),u=i.settings?.background&&!i.settings.background.startsWith("#");if(!l&&!u)return i;let f={...i,settings:{...i.settings}};if(l){let d=n(i.settings.foreground);t.colorReplacements[d]=i.settings.foreground,f.settings.foreground=d}if(u){let d=n(i.settings.background);t.colorReplacements[d]=i.settings.background,f.settings.background=d}return f});for(let i of Object.keys(t.colors||{}))if((i==="editor.foreground"||i==="editor.background"||i.startsWith("terminal.ansi"))&&!t.colors[i]?.startsWith("#")){let l=n(t.colors[i]);t.colorReplacements[l]=t.colors[i],t.colors[i]=l}return Object.defineProperty(t,dn,{enumerable:!1,writable:!1,value:!0}),t}async function Ln(e){return Array.from(new Set((await Promise.all(e.filter(t=>!cn(t)).map(async t=>await fn(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function Cn(e){return(await Promise.all(e.map(async a=>pn(a)?null:qo(await fn(a))))).filter(a=>!!a)}var Fo=3,Yd=!1;function ef(e,t=3){if(Fo&&!(typeof Fo=="number"&&t>Fo)){if(Yd)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var qe=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function In(e,t){if(!t)return e;if(t[e]){let a=new Set([e]);for(;t[e];){if(e=t[e],a.has(e))throw new qe(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var Do=class extends Os{constructor(t,a,o,r={}){super(t),this._resolver=t,this._themes=a,this._langs=o,this._alias=r,this._themes.map(s=>this.loadTheme(s)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(t){return typeof t=="string"?this._resolvedThemes.get(t):this.loadTheme(t)}loadTheme(t){let a=qo(t);return a.name&&(this._resolvedThemes.set(a.name,a),this._loadedThemesCache=null),a}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(t){let a=this._textmateThemeCache.get(t);a||(a=At.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=In(t,this._alias),this._resolvedGrammars.get(t)}loadLanguage(t){if(this.getGrammar(t.name))return;let a=new Set([...this._langMap.values()].filter(s=>s.embeddedLangsLazy?.includes(t.name)));this._resolver.addLanguage(t);let o={balancedBracketSelectors:t.balancedBracketSelectors||["*"],unbalancedBracketSelectors:t.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(t.scopeName,t);let r=this.loadGrammarWithConfiguration(t.scopeName,1,o);if(r.name=t.name,this._resolvedGrammars.set(t.name,r),t.aliases&&t.aliases.forEach(s=>{this._alias[s]=t.name}),this._loadedLanguagesCache=null,a.size)for(let s of a)this._resolvedGrammars.delete(s.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(s.scopeName),this._syncRegistry?._grammars?.delete(s.scopeName),this.loadLanguage(this._langMap.get(s.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(t){for(let r of t)this.resolveEmbeddedLanguages(r);let a=Array.from(this._langGraph.entries()),o=a.filter(([r,s])=>!s);if(o.length){let r=a.filter(([s,n])=>n?(n.embeddedLanguages||n.embeddedLangs)?.some(l=>o.map(([u])=>u).includes(l)):!1).filter(s=>!o.includes(s));throw new qe(`Missing languages ${o.map(([s])=>`\`${s}\``).join(", ")}, required by ${r.map(([s])=>`\`${s}\``).join(", ")}`)}for(let[r,s]of a)this._resolver.addLanguage(s);for(let[r,s]of a)this.loadLanguage(s)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(t){this._langMap.set(t.name,t),this._langGraph.set(t.name,t);let a=t.embeddedLanguages??t.embeddedLangs;if(a)for(let o of a)this._langGraph.set(o,this._langMap.get(o))}},Eo=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(t,a){this._onigLib={createOnigScanner:o=>t.createScanner(o),createOnigString:o=>t.createString(o)},a.forEach(o=>this.addLanguage(o))}get onigLib(){return this._onigLib}getLangRegistration(t){return this._langs.get(t)}loadGrammar(t){return this._scopeToLang.get(t)}addLanguage(t){this._langs.set(t.name,t),t.aliases&&t.aliases.forEach(a=>{this._langs.set(a,t)}),this._scopeToLang.set(t.scopeName,t),t.injectTo&&t.injectTo.forEach(a=>{this._injections.get(a)||this._injections.set(a,[]),this._injections.get(a).push(t.scopeName)})}getInjections(t){let a=t.split("."),o=[];for(let r=1;r<=a.length;r++){let s=a.slice(0,r).join(".");o=[...o,...this._injections.get(s)||[]]}return o}},Dt=0;function tf(e){Dt+=1,e.warnings!==!1&&Dt>=10&&Dt%10===0&&console.warn(`[Shiki] ${Dt} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new qe("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),o=(e.themes||[]).flat(1).map(qo),r=new Eo(e.engine,a),s=new Do(r,o,a,e.langAlias),n;function i(m){return In(m,e.langAlias)}function l(m){w();let L=s.getGrammar(typeof m=="string"?m:m.name);if(!L)throw new qe(`Language \`${m}\` not found, you may need to load it first`);return L}function u(m){if(m==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};w();let L=s.getTheme(m);if(!L)throw new qe(`Theme \`${m}\` not found, you may need to load it first`);return L}function f(m){w();let L=u(m);n!==m&&(s.setTheme(L),n=m);let y=s.getColorMap();return{theme:L,colorMap:y}}function d(){return w(),s.getLoadedThemes()}function p(){return w(),s.getLoadedLanguages()}function c(...m){w(),s.loadLanguages(m.flat(1))}async function h(...m){return c(await Ln(m))}function C(...m){w();for(let L of m.flat(1))s.loadTheme(L)}async function x(...m){return w(),C(await Cn(m))}function w(){if(t)throw new qe("Shiki instance has been disposed")}function g(){t||(t=!0,s.dispose(),Dt-=1)}return{setTheme:f,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:p,resolveLangAlias:i,loadLanguage:h,loadLanguageSync:c,loadTheme:x,loadThemeSync:C,dispose:g,[Symbol.dispose]:g}}async function af(e){e.engine||ef("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,o]=await Promise.all([Cn(e.themes||[]),Ln(e.langs||[]),e.engine]);return tf({...e,themes:t,langs:a,engine:o})}async function of(e){let t=await af(e);return{getLastGrammarState:(...a)=>Hd(t,...a),codeToTokensBase:(a,o)=>Uo(t,a,o),codeToTokensWithThemes:(a,o)=>xn(t,a,o),codeToTokens:(a,o)=>ba(t,a,o),codeToHast:(a,o)=>Ta(t,a,o),codeToHtml:(a,o)=>Zd(t,a,o),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function Sn(e){let t=e.langs,a=e.themes,o=e.engine;async function r(s){function n(d){if(typeof d=="string"){if(d=s.langAlias?.[d]||d,cn(d))return[];let p=t[d];if(!p)throw new J(`Language \`${d}\` is not included in this bundle. You may want to load it from external source.`);return p}return d}function i(d){if(pn(d))return"none";if(typeof d=="string"){let p=a[d];if(!p)throw new J(`Theme \`${d}\` is not included in this bundle. You may want to load it from external source.`);return p}return d}let l=(s.themes??[]).map(d=>i(d)),u=(s.langs??[]).map(d=>n(d)),f=await of({engine:s.engine??o(),...s,themes:l,langs:u});return{...f,loadLanguage(...d){return f.loadLanguage(...d.map(n))},loadTheme(...d){return f.loadTheme(...d.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return r}function rf(e){let t;async function a(o={}){if(t){let r=await t;return await Promise.all([r.loadTheme(...o.themes||[]),r.loadLanguage(...o.langs||[])]),r}else{t=e({...o,themes:[],langs:[]});let r=await t;return await Promise.all([r.loadTheme(...o.themes||[]),r.loadLanguage(...o.langs||[])]),r}}return a}function yn(e,t){let a=rf(e);async function o(r,s){let n=await a({langs:[s.lang],themes:"theme"in s?[s.theme]:Object.values(s.themes)}),i=await t?.guessEmbeddedLanguages?.(r,s.lang,n);return i&&await n.loadLanguage(...i),n}return{getSingletonHighlighter(r){return a(r)},async codeToHtml(r,s){return(await o(r,s)).codeToHtml(r,s)},async codeToHast(r,s){return(await o(r,s)).codeToHast(r,s)},async codeToTokens(r,s){return(await o(r,s)).codeToTokens(r,s)},async codeToTokensBase(r,s){return(await o(r,s)).codeToTokensBase(r,s)},async codeToTokensWithThemes(r,s){return(await o(r,s)).codeToTokensWithThemes(r,s)},async getLastGrammarState(r,s){return(await a({langs:[s.lang],themes:[s.theme]})).getLastGrammarState(r,s)}}}var Go=[{id:"abap",name:"ABAP",import:(()=>import("../abap-KGVIZMDC.js"))},{id:"actionscript-3",name:"ActionScript",import:(()=>import("../actionscript-3-2UHK5QYP.js"))},{id:"ada",name:"Ada",import:(()=>import("../ada-JKTWR5BV.js"))},{id:"angular-html",name:"Angular HTML",import:(()=>import("../angular-html-EOIKHM3D.js"))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>import("../angular-ts-A7ZNTSV6.js"))},{id:"apache",name:"Apache Conf",import:(()=>import("../apache-MPGFGQFB.js"))},{id:"apex",name:"Apex",import:(()=>import("../apex-BOAZL66Z.js"))},{id:"apl",name:"APL",import:(()=>import("../apl-QBN4KIYA.js"))},{id:"applescript",name:"AppleScript",import:(()=>import("../applescript-C4CJ3STL.js"))},{id:"ara",name:"Ara",import:(()=>import("../ara-FSFFBRSD.js"))},{id:"asciidoc",name:"AsciiDoc",aliases:["adoc"],import:(()=>import("../asciidoc-QQK2LANG.js"))},{id:"asm",name:"Assembly",import:(()=>import("../asm-X43A2VYW.js"))},{id:"astro",name:"Astro",import:(()=>import("../astro-OQUOYMBE.js"))},{id:"awk",name:"AWK",import:(()=>import("../awk-4Z3PRTF7.js"))},{id:"ballerina",name:"Ballerina",import:(()=>import("../ballerina-JCXSJ2QD.js"))},{id:"bat",name:"Batch File",aliases:["batch"],import:(()=>import("../bat-XFWR7RMZ.js"))},{id:"beancount",name:"Beancount",import:(()=>import("../beancount-7BBDB4BH.js"))},{id:"berry",name:"Berry",aliases:["be"],import:(()=>import("../berry-PQ2BEJIZ.js"))},{id:"bibtex",name:"BibTeX",import:(()=>import("../bibtex-J2PAB23I.js"))},{id:"bicep",name:"Bicep",import:(()=>import("../bicep-TNKT6R3W.js"))},{id:"blade",name:"Blade",import:(()=>import("../blade-QBDEYXMB.js"))},{id:"bsl",name:"1C (Enterprise)",aliases:["1c"],import:(()=>import("../bsl-PQW6E45S.js"))},{id:"c",name:"C",import:(()=>import("../c-PZBJFNXE.js"))},{id:"c3",name:"C3",import:(()=>import("../c3-GP7XYHE6.js"))},{id:"cadence",name:"Cadence",aliases:["cdc"],import:(()=>import("../cadence-NABGDHKY.js"))},{id:"cairo",name:"Cairo",import:(()=>import("../cairo-WQSC2GLN.js"))},{id:"clarity",name:"Clarity",import:(()=>import("../clarity-NXNSINKX.js"))},{id:"clojure",name:"Clojure",aliases:["clj"],import:(()=>import("../clojure-Y57BKRMA.js"))},{id:"cmake",name:"CMake",import:(()=>import("../cmake-LVMEA3JZ.js"))},{id:"cobol",name:"COBOL",import:(()=>import("../cobol-6DNJTKH3.js"))},{id:"codeowners",name:"CODEOWNERS",import:(()=>import("../codeowners-JYHOTXQS.js"))},{id:"codeql",name:"CodeQL",aliases:["ql"],import:(()=>import("../codeql-IWWSYR3L.js"))},{id:"coffee",name:"CoffeeScript",aliases:["coffeescript"],import:(()=>import("../coffee-NNDQ5QXC.js"))},{id:"common-lisp",name:"Common Lisp",aliases:["lisp"],import:(()=>import("../common-lisp-JKXCDYH3.js"))},{id:"coq",name:"Coq",import:(()=>import("../coq-BEHPNP64.js"))},{id:"cpp",name:"C++",aliases:["c++"],import:(()=>import("../cpp-IALOHSZA.js"))},{id:"crystal",name:"Crystal",import:(()=>import("../crystal-ZDP3FIUI.js"))},{id:"csharp",name:"C#",aliases:["c#","cs"],import:(()=>import("../csharp-ODFBXRGA.js"))},{id:"css",name:"CSS",import:(()=>import("../css-CJGL5AVH.js"))},{id:"csv",name:"CSV",import:(()=>import("../csv-LIK4TU3Z.js"))},{id:"cue",name:"CUE",import:(()=>import("../cue-UAAEAKHI.js"))},{id:"cypher",name:"Cypher",aliases:["cql"],import:(()=>import("../cypher-SZPVUQZJ.js"))},{id:"d",name:"D",import:(()=>import("../d-VSCA3XHG.js"))},{id:"dart",name:"Dart",import:(()=>import("../dart-A4PE6FIS.js"))},{id:"dax",name:"DAX",import:(()=>import("../dax-TILIKSFB.js"))},{id:"desktop",name:"Desktop",import:(()=>import("../desktop-75KK3D55.js"))},{id:"diff",name:"Diff",import:(()=>import("../diff-HOT6P45M.js"))},{id:"docker",name:"Dockerfile",aliases:["dockerfile"],import:(()=>import("../docker-FF35TY6T.js"))},{id:"dotenv",name:"dotEnv",import:(()=>import("../dotenv-FVPPHJI3.js"))},{id:"dream-maker",name:"Dream Maker",import:(()=>import("../dream-maker-SYE3ZPSJ.js"))},{id:"edge",name:"Edge",import:(()=>import("../edge-CCLQ2CKA.js"))},{id:"elixir",name:"Elixir",import:(()=>import("../elixir-F6DQGRKA.js"))},{id:"elm",name:"Elm",import:(()=>import("../elm-5QRQXDZ6.js"))},{id:"emacs-lisp",name:"Emacs Lisp",aliases:["elisp"],import:(()=>import("../emacs-lisp-NJ4S4OHV.js"))},{id:"erb",name:"ERB",import:(()=>import("../erb-HGSLHT5Y.js"))},{id:"erlang",name:"Erlang",aliases:["erl"],import:(()=>import("../erlang-APEONNZ6.js"))},{id:"fennel",name:"Fennel",import:(()=>import("../fennel-7OCMFVPS.js"))},{id:"fish",name:"Fish",import:(()=>import("../fish-BC46ME2N.js"))},{id:"fluent",name:"Fluent",aliases:["ftl"],import:(()=>import("../fluent-MXZS6EX3.js"))},{id:"fortran-fixed-form",name:"Fortran (Fixed Form)",aliases:["f","for","f77"],import:(()=>import("../fortran-fixed-form-35BC2KX6.js"))},{id:"fortran-free-form",name:"Fortran (Free Form)",aliases:["f90","f95","f03","f08","f18"],import:(()=>import("../fortran-free-form-AXRAI2HH.js"))},{id:"fsharp",name:"F#",aliases:["f#","fs"],import:(()=>import("../fsharp-JKNSQXHD.js"))},{id:"gdresource",name:"GDResource",aliases:["tscn","tres"],import:(()=>import("../gdresource-ZMKZGPZV.js"))},{id:"gdscript",name:"GDScript",aliases:["gd"],import:(()=>import("../gdscript-HNCVXEYB.js"))},{id:"gdshader",name:"GDShader",import:(()=>import("../gdshader-XAJ4QRYP.js"))},{id:"genie",name:"Genie",import:(()=>import("../genie-HEFVQZAP.js"))},{id:"gherkin",name:"Gherkin",import:(()=>import("../gherkin-OFBRDPXX.js"))},{id:"git-commit",name:"Git Commit Message",import:(()=>import("../git-commit-ZE2M3Q5H.js"))},{id:"git-rebase",name:"Git Rebase Message",import:(()=>import("../git-rebase-3N3INGLU.js"))},{id:"gleam",name:"Gleam",import:(()=>import("../gleam-NFFQFQLP.js"))},{id:"glimmer-js",name:"Glimmer JS",aliases:["gjs"],import:(()=>import("../glimmer-js-RSUW6JYN.js"))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>import("../glimmer-ts-EZGWLX5T.js"))},{id:"glsl",name:"GLSL",import:(()=>import("../glsl-VJLRYEVJ.js"))},{id:"gn",name:"GN",import:(()=>import("../gn-UH2XQWLG.js"))},{id:"gnuplot",name:"Gnuplot",import:(()=>import("../gnuplot-K6IV6NNR.js"))},{id:"go",name:"Go",import:(()=>import("../go-BDV7RR5G.js"))},{id:"graphql",name:"GraphQL",aliases:["gql"],import:(()=>import("../graphql-YEJQLMOO.js"))},{id:"groovy",name:"Groovy",import:(()=>import("../groovy-SX7K3XGL.js"))},{id:"hack",name:"Hack",import:(()=>import("../hack-3TGPQNR2.js"))},{id:"haml",name:"Ruby Haml",import:(()=>import("../haml-335RVEQR.js"))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>import("../handlebars-73IS6B2J.js"))},{id:"haskell",name:"Haskell",aliases:["hs"],import:(()=>import("../haskell-P5PTJARU.js"))},{id:"haxe",name:"Haxe",import:(()=>import("../haxe-RCPSSA3N.js"))},{id:"hcl",name:"HashiCorp HCL",import:(()=>import("../hcl-AKKZAVC2.js"))},{id:"hjson",name:"Hjson",import:(()=>import("../hjson-REXV6F6N.js"))},{id:"hlsl",name:"HLSL",import:(()=>import("../hlsl-AJ7VWOVL.js"))},{id:"html",name:"HTML",import:(()=>import("../html-654LNGWF.js"))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>import("../html-derivative-CMQ7BFDQ.js"))},{id:"http",name:"HTTP",import:(()=>import("../http-NEPTRAQZ.js"))},{id:"hurl",name:"Hurl",import:(()=>import("../hurl-V6ZX2Q3F.js"))},{id:"hxml",name:"HXML",import:(()=>import("../hxml-5BXJCAAU.js"))},{id:"hy",name:"Hy",import:(()=>import("../hy-SB4TMFE7.js"))},{id:"imba",name:"Imba",import:(()=>import("../imba-Y64MHYWP.js"))},{id:"ini",name:"INI",aliases:["properties"],import:(()=>import("../ini-J2OP4CNW.js"))},{id:"java",name:"Java",import:(()=>import("../java-MJKJ5GPP.js"))},{id:"javascript",name:"JavaScript",aliases:["js","cjs","mjs"],import:(()=>import("../javascript-IYAGHPR6.js"))},{id:"jinja",name:"Jinja",import:(()=>import("../jinja-WPD26JJ6.js"))},{id:"jison",name:"Jison",import:(()=>import("../jison-UYDZQBN5.js"))},{id:"json",name:"JSON",import:(()=>import("../json-5V4JESJO.js"))},{id:"json5",name:"JSON5",import:(()=>import("../json5-7SHUZD3R.js"))},{id:"jsonc",name:"JSON with Comments",import:(()=>import("../jsonc-X3Z34FN3.js"))},{id:"jsonl",name:"JSON Lines",import:(()=>import("../jsonl-6I3D2HM6.js"))},{id:"jsonnet",name:"Jsonnet",import:(()=>import("../jsonnet-PZEQIBYV.js"))},{id:"jssm",name:"JSSM",aliases:["fsl"],import:(()=>import("../jssm-GJJ25IKR.js"))},{id:"jsx",name:"JSX",import:(()=>import("../jsx-NI2J427C.js"))},{id:"julia",name:"Julia",aliases:["jl"],import:(()=>import("../julia-QPZ7EOS6.js"))},{id:"kdl",name:"KDL",import:(()=>import("../kdl-IA7HA2TL.js"))},{id:"kotlin",name:"Kotlin",aliases:["kt","kts"],import:(()=>import("../kotlin-CCRMGYMI.js"))},{id:"kusto",name:"Kusto",aliases:["kql"],import:(()=>import("../kusto-7DW25GYH.js"))},{id:"latex",name:"LaTeX",import:(()=>import("../latex-F2CTDTFG.js"))},{id:"lean",name:"Lean 4",aliases:["lean4"],import:(()=>import("../lean-MGJJWBTR.js"))},{id:"less",name:"Less",import:(()=>import("../less-WFSIMX5G.js"))},{id:"liquid",name:"Liquid",import:(()=>import("../liquid-7CFNUD3V.js"))},{id:"llvm",name:"LLVM IR",import:(()=>import("../llvm-CFQSEDXB.js"))},{id:"log",name:"Log file",import:(()=>import("../log-YQNML6LA.js"))},{id:"logo",name:"Logo",import:(()=>import("../logo-2PPKBL2M.js"))},{id:"lua",name:"Lua",import:(()=>import("../lua-RPAMRKNG.js"))},{id:"luau",name:"Luau",import:(()=>import("../luau-GR2DOH6N.js"))},{id:"make",name:"Makefile",aliases:["makefile"],import:(()=>import("../make-DQQEEPI4.js"))},{id:"markdown",name:"Markdown",aliases:["md"],import:(()=>import("../markdown-OC5ILZSY.js"))},{id:"marko",name:"Marko",import:(()=>import("../marko-XSB3CTWQ.js"))},{id:"matlab",name:"MATLAB",import:(()=>import("../matlab-YQY6FS4U.js"))},{id:"mdc",name:"MDC",import:(()=>import("../mdc-TEVTGSC7.js"))},{id:"mdx",name:"MDX",import:(()=>import("../mdx-ZIH2JLVR.js"))},{id:"mermaid",name:"Mermaid",aliases:["mmd"],import:(()=>import("../mermaid-WPX56SBB.js"))},{id:"mipsasm",name:"MIPS Assembly",aliases:["mips"],import:(()=>import("../mipsasm-IDXQRZ2B.js"))},{id:"mojo",name:"Mojo",import:(()=>import("../mojo-MH7EQVOK.js"))},{id:"moonbit",name:"MoonBit",aliases:["mbt","mbti"],import:(()=>import("../moonbit-5JDFTWKE.js"))},{id:"move",name:"Move",import:(()=>import("../move-RWSXKYDY.js"))},{id:"narrat",name:"Narrat Language",aliases:["nar"],import:(()=>import("../narrat-QJUEXMVV.js"))},{id:"nextflow",name:"Nextflow",aliases:["nf"],import:(()=>import("../nextflow-2EICNZA3.js"))},{id:"nginx",name:"Nginx",import:(()=>import("../nginx-RIWAEC5Z.js"))},{id:"nim",name:"Nim",import:(()=>import("../nim-JPSYX5KC.js"))},{id:"nix",name:"Nix",import:(()=>import("../nix-XCKQVWCN.js"))},{id:"nushell",name:"nushell",aliases:["nu"],import:(()=>import("../nushell-QGW7HANA.js"))},{id:"objective-c",name:"Objective-C",aliases:["objc"],import:(()=>import("../objective-c-V7KYXFHL.js"))},{id:"objective-cpp",name:"Objective-C++",import:(()=>import("../objective-cpp-NKUEWVGU.js"))},{id:"ocaml",name:"OCaml",import:(()=>import("../ocaml-QT2CZJZN.js"))},{id:"odin",name:"Odin",import:(()=>import("../odin-MVMIXBHP.js"))},{id:"openscad",name:"OpenSCAD",aliases:["scad"],import:(()=>import("../openscad-BJDUXUUZ.js"))},{id:"pascal",name:"Pascal",import:(()=>import("../pascal-HGWEFD6L.js"))},{id:"perl",name:"Perl",import:(()=>import("../perl-X4IFZB22.js"))},{id:"php",name:"PHP",import:(()=>import("../php-3V7EPUAN.js"))},{id:"pkl",name:"Pkl",import:(()=>import("../pkl-VA5ZK5DW.js"))},{id:"plsql",name:"PL/SQL",import:(()=>import("../plsql-J7A7YWFH.js"))},{id:"po",name:"Gettext PO",aliases:["pot","potx"],import:(()=>import("../po-5RDI65JX.js"))},{id:"polar",name:"Polar",import:(()=>import("../polar-VUJL2E7F.js"))},{id:"postcss",name:"PostCSS",import:(()=>import("../postcss-ESTB5G7N.js"))},{id:"powerquery",name:"PowerQuery",import:(()=>import("../powerquery-ODTEKQCW.js"))},{id:"powershell",name:"PowerShell",aliases:["ps","ps1"],import:(()=>import("../powershell-ZOYRAWBJ.js"))},{id:"prisma",name:"Prisma",import:(()=>import("../prisma-QHG2W5GE.js"))},{id:"prolog",name:"Prolog",import:(()=>import("../prolog-CSAPG5PH.js"))},{id:"proto",name:"Protocol Buffer 3",aliases:["protobuf"],import:(()=>import("../proto-WDNJBTSW.js"))},{id:"pug",name:"Pug",aliases:["jade"],import:(()=>import("../pug-P7LS6DER.js"))},{id:"puppet",name:"Puppet",import:(()=>import("../puppet-LHFWHTY3.js"))},{id:"purescript",name:"PureScript",import:(()=>import("../purescript-DUFJP4FY.js"))},{id:"python",name:"Python",aliases:["py"],import:(()=>import("../python-5ZNZSNQ2.js"))},{id:"qml",name:"QML",import:(()=>import("../qml-LTAXB6W5.js"))},{id:"qmldir",name:"QML Directory",import:(()=>import("../qmldir-7Z2ODQLM.js"))},{id:"qss",name:"Qt Style Sheets",import:(()=>import("../qss-FDFD3HQD.js"))},{id:"r",name:"R",import:(()=>import("../r-6ZOS53WN.js"))},{id:"racket",name:"Racket",import:(()=>import("../racket-7AYZPEUI.js"))},{id:"raku",name:"Raku",aliases:["perl6"],import:(()=>import("../raku-A4F6VHVG.js"))},{id:"razor",name:"ASP.NET Razor",import:(()=>import("../razor-4QOCK4UD.js"))},{id:"reg",name:"Windows Registry Script",import:(()=>import("../reg-FAPHGG66.js"))},{id:"regexp",name:"RegExp",aliases:["regex"],import:(()=>import("../regexp-5BYLYA2R.js"))},{id:"rel",name:"Rel",import:(()=>import("../rel-7DJ7HHU4.js"))},{id:"riscv",name:"RISC-V",import:(()=>import("../riscv-YIYJATFG.js"))},{id:"ron",name:"RON",import:(()=>import("../ron-HYYMCHTX.js"))},{id:"rosmsg",name:"ROS Interface",import:(()=>import("../rosmsg-FDNH6QF7.js"))},{id:"rst",name:"reStructuredText",import:(()=>import("../rst-WIWCR2KQ.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-LXZJUMFB.js"))},{id:"rust",name:"Rust",aliases:["rs"],import:(()=>import("../rust-V3GMJA2K.js"))},{id:"sas",name:"SAS",import:(()=>import("../sas-D3G4GB3X.js"))},{id:"sass",name:"Sass",import:(()=>import("../sass-JTO65AGR.js"))},{id:"scala",name:"Scala",import:(()=>import("../scala-4XQGFSVM.js"))},{id:"scheme",name:"Scheme",import:(()=>import("../scheme-CB7AC7IL.js"))},{id:"scss",name:"SCSS",import:(()=>import("../scss-6SKV4OGI.js"))},{id:"sdbl",name:"1C (Query)",aliases:["1c-query"],import:(()=>import("../sdbl-LKGZFJ46.js"))},{id:"shaderlab",name:"ShaderLab",aliases:["shader"],import:(()=>import("../shaderlab-K536DHEB.js"))},{id:"shellscript",name:"Shell",aliases:["bash","sh","shell","zsh"],import:(()=>import("../shellscript-LRNUKUSZ.js"))},{id:"shellsession",name:"Shell Session",aliases:["console"],import:(()=>import("../shellsession-IBQK7VWQ.js"))},{id:"smalltalk",name:"Smalltalk",import:(()=>import("../smalltalk-DQOSWAW7.js"))},{id:"solidity",name:"Solidity",import:(()=>import("../solidity-V2FMZEG4.js"))},{id:"soy",name:"Closure Templates",aliases:["closure-templates"],import:(()=>import("../soy-VW3CKXWF.js"))},{id:"sparql",name:"SPARQL",import:(()=>import("../sparql-L2VKP7YP.js"))},{id:"splunk",name:"Splunk Query Language",aliases:["spl"],import:(()=>import("../splunk-KDKHP7GC.js"))},{id:"sql",name:"SQL",import:(()=>import("../sql-UF27CALT.js"))},{id:"ssh-config",name:"SSH Config",import:(()=>import("../ssh-config-JC2DQ6ED.js"))},{id:"stata",name:"Stata",import:(()=>import("../stata-7PXCUY24.js"))},{id:"stylus",name:"Stylus",aliases:["styl"],import:(()=>import("../stylus-2L7N3EZD.js"))},{id:"surrealql",name:"SurrealQL",aliases:["surql"],import:(()=>import("../surrealql-ZY3E6XEL.js"))},{id:"svelte",name:"Svelte",import:(()=>import("../svelte-Q45XIK2A.js"))},{id:"swift",name:"Swift",import:(()=>import("../swift-XBH5HZSC.js"))},{id:"system-verilog",name:"SystemVerilog",import:(()=>import("../system-verilog-VRAUSZY3.js"))},{id:"systemd",name:"Systemd Units",import:(()=>import("../systemd-JOTSGJD4.js"))},{id:"talonscript",name:"TalonScript",aliases:["talon"],import:(()=>import("../talonscript-NNZRZKOU.js"))},{id:"tasl",name:"Tasl",import:(()=>import("../tasl-MBFZ4QNC.js"))},{id:"tcl",name:"Tcl",import:(()=>import("../tcl-4GEDCBVE.js"))},{id:"templ",name:"Templ",import:(()=>import("../templ-3XM7DLQ3.js"))},{id:"terraform",name:"Terraform",aliases:["tf","tfvars"],import:(()=>import("../terraform-XTHOS4UK.js"))},{id:"tex",name:"TeX",import:(()=>import("../tex-UXMN2CV7.js"))},{id:"toml",name:"TOML",import:(()=>import("../toml-J6K55ZSV.js"))},{id:"ts-tags",name:"TypeScript with Tags",aliases:["lit"],import:(()=>import("../ts-tags-7WGDLEKX.js"))},{id:"tsv",name:"TSV",import:(()=>import("../tsv-DOUJHQDQ.js"))},{id:"tsx",name:"TSX",import:(()=>import("../tsx-G5BMVRHK.js"))},{id:"turtle",name:"Turtle",import:(()=>import("../turtle-JHJ7W6U5.js"))},{id:"twig",name:"Twig",import:(()=>import("../twig-C6YWFFZU.js"))},{id:"typescript",name:"TypeScript",aliases:["ts","cts","mts"],import:(()=>import("../typescript-LMKEAHFC.js"))},{id:"typespec",name:"TypeSpec",aliases:["tsp"],import:(()=>import("../typespec-5CLTIJYY.js"))},{id:"typst",name:"Typst",aliases:["typ"],import:(()=>import("../typst-4W4Z436Z.js"))},{id:"v",name:"V",import:(()=>import("../v-Y4SBDBN7.js"))},{id:"vala",name:"Vala",import:(()=>import("../vala-UMKT2MFA.js"))},{id:"vb",name:"Visual Basic",aliases:["cmd"],import:(()=>import("../vb-DQ7A5WJU.js"))},{id:"verilog",name:"Verilog",import:(()=>import("../verilog-N6ZF7GQD.js"))},{id:"vhdl",name:"VHDL",import:(()=>import("../vhdl-BNYDT37G.js"))},{id:"viml",name:"Vim Script",aliases:["vim","vimscript"],import:(()=>import("../viml-37RMDCBC.js"))},{id:"vue",name:"Vue",import:(()=>import("../vue-O6SLORWU.js"))},{id:"vue-html",name:"Vue HTML",import:(()=>import("../vue-html-ZLTZN573.js"))},{id:"vue-vine",name:"Vue Vine",import:(()=>import("../vue-vine-6JKAZ54I.js"))},{id:"vyper",name:"Vyper",aliases:["vy"],import:(()=>import("../vyper-GVXF46KD.js"))},{id:"wasm",name:"WebAssembly",import:(()=>import("../wasm-NTB4O7GL.js"))},{id:"wenyan",name:"Wenyan",aliases:["\u6587\u8A00"],import:(()=>import("../wenyan-W7WB3BC7.js"))},{id:"wgsl",name:"WGSL",import:(()=>import("../wgsl-7GTDVXHG.js"))},{id:"wikitext",name:"Wikitext",aliases:["mediawiki","wiki"],import:(()=>import("../wikitext-ASAFPAIL.js"))},{id:"wit",name:"WebAssembly Interface Types",import:(()=>import("../wit-ZBCR6544.js"))},{id:"wolfram",name:"Wolfram",aliases:["wl"],import:(()=>import("../wolfram-SZRZOETJ.js"))},{id:"xml",name:"XML",import:(()=>import("../xml-EBTJCOTU.js"))},{id:"xsl",name:"XSL",import:(()=>import("../xsl-IBYEXWDX.js"))},{id:"yaml",name:"YAML",aliases:["yml"],import:(()=>import("../yaml-GMVQNECR.js"))},{id:"zenscript",name:"ZenScript",import:(()=>import("../zenscript-O2TZFP4A.js"))},{id:"zig",name:"Zig",import:(()=>import("../zig-ZLGM7IMN.js"))}],kn=Object.fromEntries(Go.map(e=>[e.id,e.import])),bn=Object.fromEntries(Go.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),_t={...kn,...bn};var sf=[{id:"andromeeda",displayName:"Andromeeda",type:"dark",import:(()=>import("../andromeeda-HAPOYWX3.js"))},{id:"aurora-x",displayName:"Aurora X",type:"dark",import:(()=>import("../aurora-x-R6WAWEBC.js"))},{id:"ayu-dark",displayName:"Ayu Dark",type:"dark",import:(()=>import("../ayu-dark-KMD4YO7F.js"))},{id:"ayu-light",displayName:"Ayu Light",type:"light",import:(()=>import("../ayu-light-2ATPDILG.js"))},{id:"ayu-mirage",displayName:"Ayu Mirage",type:"dark",import:(()=>import("../ayu-mirage-LJ7PG5AM.js"))},{id:"catppuccin-frappe",displayName:"Catppuccin Frapp\xE9",type:"dark",import:(()=>import("../catppuccin-frappe-Z4Y2POK6.js"))},{id:"catppuccin-latte",displayName:"Catppuccin Latte",type:"light",import:(()=>import("../catppuccin-latte-4TQUIKX4.js"))},{id:"catppuccin-macchiato",displayName:"Catppuccin Macchiato",type:"dark",import:(()=>import("../catppuccin-macchiato-B7YYPERT.js"))},{id:"catppuccin-mocha",displayName:"Catppuccin Mocha",type:"dark",import:(()=>import("../catppuccin-mocha-KX33VXKA.js"))},{id:"dark-plus",displayName:"Dark Plus",type:"dark",import:(()=>import("../dark-plus-LNHXUR7U.js"))},{id:"dracula",displayName:"Dracula Theme",type:"dark",import:(()=>import("../dracula-T2CMBBQ5.js"))},{id:"dracula-soft",displayName:"Dracula Theme Soft",type:"dark",import:(()=>import("../dracula-soft-SMFRNKX2.js"))},{id:"everforest-dark",displayName:"Everforest Dark",type:"dark",import:(()=>import("../everforest-dark-DBZHIUAO.js"))},{id:"everforest-light",displayName:"Everforest Light",type:"light",import:(()=>import("../everforest-light-TDAGYJUK.js"))},{id:"github-dark",displayName:"GitHub Dark",type:"dark",import:(()=>import("../github-dark-3E25TTAN.js"))},{id:"github-dark-default",displayName:"GitHub Dark Default",type:"dark",import:(()=>import("../github-dark-default-KCBFVSS5.js"))},{id:"github-dark-dimmed",displayName:"GitHub Dark Dimmed",type:"dark",import:(()=>import("../github-dark-dimmed-WRCBXEVS.js"))},{id:"github-dark-high-contrast",displayName:"GitHub Dark High Contrast",type:"dark",import:(()=>import("../github-dark-high-contrast-ET7SAHAV.js"))},{id:"github-light",displayName:"GitHub Light",type:"light",import:(()=>import("../github-light-6FNTZH5H.js"))},{id:"github-light-default",displayName:"GitHub Light Default",type:"light",import:(()=>import("../github-light-default-GGTAKNM7.js"))},{id:"github-light-high-contrast",displayName:"GitHub Light High Contrast",type:"light",import:(()=>import("../github-light-high-contrast-LHYKPR5E.js"))},{id:"gruvbox-dark-hard",displayName:"Gruvbox Dark Hard",type:"dark",import:(()=>import("../gruvbox-dark-hard-IQWZCHF7.js"))},{id:"gruvbox-dark-medium",displayName:"Gruvbox Dark Medium",type:"dark",import:(()=>import("../gruvbox-dark-medium-ARPWF4FS.js"))},{id:"gruvbox-dark-soft",displayName:"Gruvbox Dark Soft",type:"dark",import:(()=>import("../gruvbox-dark-soft-ODS6FPID.js"))},{id:"gruvbox-light-hard",displayName:"Gruvbox Light Hard",type:"light",import:(()=>import("../gruvbox-light-hard-KFA5YFDW.js"))},{id:"gruvbox-light-medium",displayName:"Gruvbox Light Medium",type:"light",import:(()=>import("../gruvbox-light-medium-MMET4L3Y.js"))},{id:"gruvbox-light-soft",displayName:"Gruvbox Light Soft",type:"light",import:(()=>import("../gruvbox-light-soft-DBZDERMK.js"))},{id:"horizon",displayName:"Horizon",type:"dark",import:(()=>import("../horizon-FSOMPXNP.js"))},{id:"houston",displayName:"Houston",type:"dark",import:(()=>import("../houston-FAQBCORN.js"))},{id:"kanagawa-dragon",displayName:"Kanagawa Dragon",type:"dark",import:(()=>import("../kanagawa-dragon-JNDVF5RJ.js"))},{id:"kanagawa-lotus",displayName:"Kanagawa Lotus",type:"light",import:(()=>import("../kanagawa-lotus-S7JK6TQ6.js"))},{id:"kanagawa-wave",displayName:"Kanagawa Wave",type:"dark",import:(()=>import("../kanagawa-wave-QJJIMVEV.js"))},{id:"laserwave",displayName:"LaserWave",type:"dark",import:(()=>import("../laserwave-YFP3EJVX.js"))},{id:"light-plus",displayName:"Light Plus",type:"light",import:(()=>import("../light-plus-NGDHCPUZ.js"))},{id:"material-theme",displayName:"Material Theme",type:"dark",import:(()=>import("../material-theme-H2BHKUKX.js"))},{id:"material-theme-darker",displayName:"Material Theme Darker",type:"dark",import:(()=>import("../material-theme-darker-VENCGWTB.js"))},{id:"material-theme-lighter",displayName:"Material Theme Lighter",type:"light",import:(()=>import("../material-theme-lighter-SDMLS22W.js"))},{id:"material-theme-ocean",displayName:"Material Theme Ocean",type:"dark",import:(()=>import("../material-theme-ocean-UHDBRLVF.js"))},{id:"material-theme-palenight",displayName:"Material Theme Palenight",type:"dark",import:(()=>import("../material-theme-palenight-3TB2BEET.js"))},{id:"min-dark",displayName:"Min Dark",type:"dark",import:(()=>import("../min-dark-CQ5WKNT7.js"))},{id:"min-light",displayName:"Min Light",type:"light",import:(()=>import("../min-light-LZRD4NPR.js"))},{id:"monokai",displayName:"Monokai",type:"dark",import:(()=>import("../monokai-WHRY6275.js"))},{id:"night-owl",displayName:"Night Owl",type:"dark",import:(()=>import("../night-owl-7PNEW2JB.js"))},{id:"night-owl-light",displayName:"Night Owl Light",type:"light",import:(()=>import("../night-owl-light-GJUYOOJR.js"))},{id:"nord",displayName:"Nord",type:"dark",import:(()=>import("../nord-EVGUMUX2.js"))},{id:"one-dark-pro",displayName:"One Dark Pro",type:"dark",import:(()=>import("../one-dark-pro-PMTR3SA7.js"))},{id:"one-light",displayName:"One Light",type:"light",import:(()=>import("../one-light-O7WH4N5X.js"))},{id:"plastic",displayName:"Plastic",type:"dark",import:(()=>import("../plastic-FBVUW6NJ.js"))},{id:"poimandres",displayName:"Poimandres",type:"dark",import:(()=>import("../poimandres-WBB7GZAD.js"))},{id:"red",displayName:"Red",type:"dark",import:(()=>import("../red-7KAMONOP.js"))},{id:"rose-pine",displayName:"Ros\xE9 Pine",type:"dark",import:(()=>import("../rose-pine-F2G5IHZD.js"))},{id:"rose-pine-dawn",displayName:"Ros\xE9 Pine Dawn",type:"light",import:(()=>import("../rose-pine-dawn-ALZ7XGH2.js"))},{id:"rose-pine-moon",displayName:"Ros\xE9 Pine Moon",type:"dark",import:(()=>import("../rose-pine-moon-D3K4SWUL.js"))},{id:"slack-dark",displayName:"Slack Dark",type:"dark",import:(()=>import("../slack-dark-YFPJODWS.js"))},{id:"slack-ochin",displayName:"Slack Ochin",type:"light",import:(()=>import("../slack-ochin-H67AWZOI.js"))},{id:"snazzy-light",displayName:"Snazzy Light",type:"light",import:(()=>import("../snazzy-light-OUVS63VK.js"))},{id:"solarized-dark",displayName:"Solarized Dark",type:"dark",import:(()=>import("../solarized-dark-2RCAVEXJ.js"))},{id:"solarized-light",displayName:"Solarized Light",type:"light",import:(()=>import("../solarized-light-XFSENHTC.js"))},{id:"synthwave-84",displayName:"Synthwave '84",type:"dark",import:(()=>import("../synthwave-84-5XXB3K6S.js"))},{id:"tokyo-night",displayName:"Tokyo Night",type:"dark",import:(()=>import("../tokyo-night-CHJCCBJH.js"))},{id:"vesper",displayName:"Vesper",type:"dark",import:(()=>import("../vesper-Y5GIEAN4.js"))},{id:"vitesse-black",displayName:"Vitesse Black",type:"dark",import:(()=>import("../vitesse-black-7TI33KHX.js"))},{id:"vitesse-dark",displayName:"Vitesse Dark",type:"dark",import:(()=>import("../vitesse-dark-FOB25MRB.js"))},{id:"vitesse-light",displayName:"Vitesse Light",type:"light",import:(()=>import("../vitesse-light-4WCNCTCO.js"))}],Tn=Object.fromEntries(sf.map(e=>[e.id,e.import]));var Nt=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function nf(){return 2147483648}function lf(){return typeof performance<"u"?performance.now():Date.now()}var uf=(e,t)=>e+(t-e%t)%t;async function df(e){let t,a,o={};function r(c){a=c,o.HEAPU8=new Uint8Array(c),o.HEAPU32=new Uint32Array(c)}function s(c,h,C){o.HEAPU8.copyWithin(c,h,h+C)}function n(c){try{return t.grow(c-a.byteLength+65535>>>16),r(t.buffer),1}catch{}}function i(c){let h=o.HEAPU8.length;c=c>>>0;let C=nf();if(c>C)return!1;for(let x=1;x<=4;x*=2){let w=h*(1+.2/x);w=Math.min(w,c+100663296);let g=Math.min(C,uf(Math.max(c,w),65536));if(n(g))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(c,h,C=1024){let x=h+C,w=h;for(;c[w]&&!(w>=x);)++w;if(w-h>16&&c.buffer&&l)return l.decode(c.subarray(h,w));let g="";for(;h<w;){let m=c[h++];if(!(m&128)){g+=String.fromCharCode(m);continue}let L=c[h++]&63;if((m&224)===192){g+=String.fromCharCode((m&31)<<6|L);continue}let y=c[h++]&63;if((m&240)===224?m=(m&15)<<12|L<<6|y:m=(m&7)<<18|L<<12|y<<6|c[h++]&63,m<65536)g+=String.fromCharCode(m);else{let I=m-65536;g+=String.fromCharCode(55296|I>>10,56320|I&1023)}}return g}function f(c,h){return c?u(o.HEAPU8,c,h):""}let d={emscripten_get_now:lf,emscripten_memcpy_big:s,emscripten_resize_heap:i,fd_write:()=>0};async function p(){let h=await e({env:d,wasi_snapshot_preview1:d});t=h.memory,r(t.buffer),Object.assign(o,h),o.UTF8ToString=f}return await p(),o}var ff=Object.defineProperty,cf=(e,t,a)=>t in e?ff(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ne=(e,t,a)=>cf(e,typeof t!="symbol"?t+"":t,a),ie=null;function pf(e){throw new Nt(e.UTF8ToString(e.getLastOnigError()))}var Ma=class e{constructor(t){ne(this,"utf16Length"),ne(this,"utf8Length"),ne(this,"utf16Value"),ne(this,"utf8Value"),ne(this,"utf16OffsetToUtf8"),ne(this,"utf8OffsetToUtf16");let a=t.length,o=e._utf8ByteLength(t),r=o!==a,s=r?new Uint32Array(a+1):null;r&&(s[a]=o);let n=r?new Uint32Array(o+1):null;r&&(n[o]=a);let i=new Uint8Array(o),l=0;for(let u=0;u<a;u++){let f=t.charCodeAt(u),d=f,p=!1;if(f>=55296&&f<=56319&&u+1<a){let c=t.charCodeAt(u+1);c>=56320&&c<=57343&&(d=(f-55296<<10)+65536|c-56320,p=!0)}r&&(s[u]=l,p&&(s[u+1]=l),d<=127?n[l+0]=u:d<=2047?(n[l+0]=u,n[l+1]=u):d<=65535?(n[l+0]=u,n[l+1]=u,n[l+2]=u):(n[l+0]=u,n[l+1]=u,n[l+2]=u,n[l+3]=u)),d<=127?i[l++]=d:d<=2047?(i[l++]=192|(d&1984)>>>6,i[l++]=128|(d&63)>>>0):d<=65535?(i[l++]=224|(d&61440)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0):(i[l++]=240|(d&1835008)>>>18,i[l++]=128|(d&258048)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0),p&&u++}this.utf16Length=a,this.utf8Length=o,this.utf16Value=t,this.utf8Value=i,this.utf16OffsetToUtf8=s,this.utf8OffsetToUtf16=n}static _utf8ByteLength(t){let a=0;for(let o=0,r=t.length;o<r;o++){let s=t.charCodeAt(o),n=s,i=!1;if(s>=55296&&s<=56319&&o+1<r){let l=t.charCodeAt(o+1);l>=56320&&l<=57343&&(n=(s-55296<<10)+65536|l-56320,i=!0)}n<=127?a+=1:n<=2047?a+=2:n<=65535?a+=3:a+=4,i&&o++}return a}createString(t){let a=t.omalloc(this.utf8Length);return t.HEAPU8.set(this.utf8Value,a),a}},Ra=class Re{constructor(t){if(ne(this,"id",++Re.LAST_ID),ne(this,"_onigBinding"),ne(this,"content"),ne(this,"utf16Length"),ne(this,"utf8Length"),ne(this,"utf16OffsetToUtf8"),ne(this,"utf8OffsetToUtf16"),ne(this,"ptr"),!ie)throw new Nt("Must invoke loadWasm first.");this._onigBinding=ie,this.content=t;let a=new Ma(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!Re._sharedPtrInUse?(Re._sharedPtr||(Re._sharedPtr=ie.omalloc(1e4)),Re._sharedPtrInUse=!0,ie.HEAPU8.set(a.utf8Value,Re._sharedPtr),this.ptr=Re._sharedPtr):this.ptr=a.createString(ie)}convertUtf8OffsetToUtf16(t){return this.utf8OffsetToUtf16?t<0?0:t>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[t]:t}convertUtf16OffsetToUtf8(t){return this.utf16OffsetToUtf8?t<0?0:t>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[t]:t}dispose(){this.ptr===Re._sharedPtr?Re._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};ne(Ra,"LAST_ID",0);ne(Ra,"_sharedPtr",0);ne(Ra,"_sharedPtrInUse",!1);var Pn=Ra,zo=class{constructor(t){if(ne(this,"_onigBinding"),ne(this,"_ptr"),!ie)throw new Nt("Must invoke loadWasm first.");let a=[],o=[];for(let i=0,l=t.length;i<l;i++){let u=new Ma(t[i]);a[i]=u.createString(ie),o[i]=u.utf8Length}let r=ie.omalloc(4*t.length);ie.HEAPU32.set(a,r/4);let s=ie.omalloc(4*t.length);ie.HEAPU32.set(o,s/4);let n=ie.createOnigScanner(r,s,t.length);for(let i=0,l=t.length;i<l;i++)ie.ofree(a[i]);ie.ofree(s),ie.ofree(r),n===0&&pf(ie),this._onigBinding=ie,this._ptr=n}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(t,a,o){let r=0;if(typeof o=="number"&&(r=o),typeof t=="string"){t=new Pn(t);let s=this._findNextMatchSync(t,a,!1,r);return t.dispose(),s}return this._findNextMatchSync(t,a,!1,r)}_findNextMatchSync(t,a,o,r){let s=this._onigBinding,n=s.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(a),r);if(n===0)return null;let i=s.HEAPU32,l=n/4,u=i[l++],f=i[l++],d=[];for(let p=0;p<f;p++){let c=t.convertUtf8OffsetToUtf16(i[l++]),h=t.convertUtf8OffsetToUtf16(i[l++]);d[p]={start:c,end:h,length:h-c}}return{index:u,captureIndices:d}}};function mf(e){return typeof e.instantiator=="function"}function hf(e){return typeof e.default=="function"}function gf(e){return typeof e.data<"u"}function wf(e){return typeof Response<"u"&&e instanceof Response}function xf(e){return typeof ArrayBuffer<"u"&&(e instanceof ArrayBuffer||ArrayBuffer.isView(e))||typeof Buffer<"u"&&Buffer.isBuffer?.(e)||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer||typeof Uint32Array<"u"&&e instanceof Uint32Array}var va;function Lf(e){if(va)return va;async function t(){ie=await df(async a=>{let o=e;return o=await o,typeof o=="function"&&(o=await o(a)),typeof o=="function"&&(o=await o(a)),mf(o)?o=await o.instantiator(a):hf(o)?o=await o.default(a):(gf(o)&&(o=o.data),wf(o)?typeof WebAssembly.instantiateStreaming=="function"?o=await Cf(o)(a):o=await If(o)(a):xf(o)?o=await Wo(o)(a):o instanceof WebAssembly.Module?o=await Wo(o)(a):"default"in o&&o.default instanceof WebAssembly.Module&&(o=await Wo(o.default)(a))),"instance"in o&&(o=o.instance),"exports"in o&&(o=o.exports),o})}return va=t(),va}function Wo(e){return t=>WebAssembly.instantiate(e,t)}function Cf(e){return t=>WebAssembly.instantiateStreaming(e,t)}function If(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function An(e){return e&&await Lf(e),{createScanner(t){return new zo(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new Pn(t)}}}var Fa=Sn({langs:_t,themes:Tn,engine:()=>An(import("../wasm-EOPKAILK.js"))}),{codeToHtml:Sf,codeToHast:yf,codeToTokens:kf,codeToTokensBase:bf,codeToTokensWithThemes:Tf,getSingletonHighlighter:Pf,getLastGrammarState:Af}=yn(Fa,{guessEmbeddedLanguages:hn});var vn=new Set(Object.keys(_t)),jo=new Map,Vo=new Map,dt=new Map,vf=(e,t)=>`${e}-${t[0]}-${t[1]}`,Mf=(e,t,a)=>{let o=e.slice(0,100),r=e.length>100?e.slice(-100):"";return`${t}:${a[0]}:${a[1]}:${e.length}:${o}:${r}`},Rf=(e,t)=>{let a=vf(e,t);if(jo.has(a))return jo.get(a);let o=Fa({themes:t,langs:[e]});return jo.set(a,o),o};function Ff(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(o){return vn.has(o)},getSupportedLanguages(){return Array.from(vn)},getThemes(){return a},highlight({code:o,language:r,themes:s},n){let i=Mf(o,r,s);return Vo.has(i)?Vo.get(i):(n&&(dt.has(i)||dt.set(i,new Set),dt.get(i).add(n)),Rf(r,s).then(l=>{let u=l.getLoadedLanguages().includes(r)?r:"text",f=l.codeToTokens(o,{lang:u,themes:{light:s[0],dark:s[1]}});Vo.set(i,f);let d=dt.get(i);if(d){for(let p of d)p(f);dt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),dt.delete(i)}),null)}}}var Mn=Ff();import{memo as Bf}from"react";import{jsx as Ba}from"react/jsx-runtime";var Da=({className:e,from:t,children:a,...o})=>Ba("div",{className:T("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),...o,children:Ba("div",{className:T("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),Ea=({children:e,className:t,...a})=>Ba("div",{className:T("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}),Df={cjk:cs,code:Mn},Ef={enabled:!1},_a=Bf(({className:e,linkSafety:t,...a})=>Ba(ro,{className:T("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??Ef,plugins:Df,...a}),(e,t)=>e.children===t.children);_a.displayName="MessageResponse";import{jsx as _f}from"react/jsx-runtime";function Rn({className:e,text:t,...a}){return t?_f("pre",{className:T("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}import{createContext as Nf,useCallback as Of,useContext as En,useEffect as Uf,useMemo as Xo,useRef as Hf,useState as Qo}from"react";import{Fragment as Dn,jsx as j,jsxs as Ee}from"react/jsx-runtime";function qf(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 o=Object.entries(e),r=[],s=t-2;for(let[n,i]of o){if(s<=8)break;let l=n.length>4?`${n.slice(0,4)}\u2026`:n,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 f=`${l}\u2009${u}`;r.push(f),s-=f.length+3}return`{${r.join(", ")}}`}function Gf({text:e,className:t}){let[a,o]=Qo(!1),r=Hf(null);Uf(()=>()=>{r.current&&clearTimeout(r.current)},[]);let s=Of(async n=>{n.stopPropagation();try{await navigator.clipboard.writeText(e),o(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>o(!1),2e3)}catch{}},[e]);return j(ye,{variant:"ghost",size:"sm",onClick:s,className:T("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?Ee(Dn,{children:[j(mt,{className:"ww:size-3.5"}),j("span",{children:"Copied"})]}):Ee(Dn,{children:[j(wt,{className:"ww:size-3.5"}),j("span",{children:"Copy"})]})})}function _n({data:e,label:t,className:a,...o}){let[r,s]=Qo(!1),n=Xo(()=>JSON.stringify(e,null,2),[e]),i=qf(e);return Ee("div",{className:T("ww:rounded-lg ww:bg-tool-card",a),...o,children:[Ee("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[j("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),j(Gf,{text:n})]}),Ee("button",{type:"button",onClick:()=>s(l=>!l),className:"ww:flex ww:w-full ww:items-start ww:gap-2 ww:px-3 ww:pb-3 ww:text-left",children:[j(gt,{className:T("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?j("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:j("code",{children:n})}):j("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Ko=Nf({open:!1,toggle:()=>{}});function Nn({className:e,defaultOpen:t=!1,children:a,...o}){let[r,s]=Qo(t);return j(Ko.Provider,{value:{open:r,toggle:()=>s(n=>!n)},children:j("div",{className:T("ww:mb-4 ww:w-full",e),"data-state":r?"open":"closed",...o,children:a})})}function On({className:e,title:t,state:a,...o}){let{open:r,toggle:s}=En(Ko),n=a==="input-available"||a==="input-streaming";return Ee("button",{type:"button",onClick:s,className:T("ww:flex ww:w-full ww:items-center ww:justify-between ww:gap-3 ww:py-1.5",e),"aria-expanded":r,...o,children:[Ee("div",{className:"ww:flex ww:min-w-0 ww:items-center ww:gap-2",children:[j(Oe,{className:"ww:size-4 ww:shrink-0 ww:text-muted-foreground"}),j("span",{className:"ww:truncate ww:text-sm ww:font-medium",children:t}),n&&j("span",{className:"ww:size-2 ww:shrink-0 ww:rounded-full ww:bg-primary ww:animate-pulse"})]}),j(ht,{className:T("ww:size-4 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-200",r&&"ww:rotate-180")})]})}function Un({className:e,title:t,state:a,...o}){let r=a==="input-available"||a==="input-streaming";return Ee("div",{className:T("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),...o,children:[j("span",{className:"ww:truncate",children:t}),r&&j("span",{className:"ww:size-2 ww:shrink-0 ww:rounded-full ww:bg-primary ww:animate-pulse"})]})}function Hn({className:e,children:t,...a}){let{open:o}=En(Ko);return j("div",{className:T("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",o?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:j("div",{className:"ww:min-h-0 ww:overflow-hidden",children:j("div",{className:T("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 qn({className:e,input:t,debug:a,...o}){let r=Xo(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...n}=t;return n}return t},[t,a]);return j(_n,{data:r,label:"Request",className:e,...o})}function $o(e){if(!(typeof e!="object"||e===null))return e}function Gn(e){return $o(e?.ui)}function Wn(e){return $o($o(e)?._meta)}function Fn(e){if(!e)return;let t=Gn(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 o=e["openai/outputTemplate"];if(typeof o=="string"&&o.length>0)return o}function Bn(e){return Gn(e)?.autoHeight===!0}function Na(e,t,a){if(e){let o=Fn(a?.[e]?._meta);if(o)return o}return Fn(Wn(t))}function zn(e,t,a){return e&&Bn(a?.[e]?._meta)?!0:Bn(Wn(t))}function jn({className:e,output:t,errorText:a,debug:o,...r}){let s=Xo(()=>{if(!o&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:n,...i}=t;return i}return t},[t,o]);return t||a?a?Ee("div",{className:T("ww:space-y-2",e),...r,children:[j("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:"Error"}),j("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):j(_n,{data:s,label:"Response",className:e,...r}):null}import{useCallback as Wf,useEffect as $n,useMemo as zf,useRef as ge,useState as Xn}from"react";function ft(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 Vn(e,t){return!ft(e)&&!ft(t)?null:ft(e)?ft(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}}:{}}}import{jsx as tc}from"react/jsx-runtime";var jf="/api/mcp/resource",Vf=500,$f=0,Xf=16,Qf="2026-01-26",Kf=300,Jf=3e3,Zf=3;function Yf(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function ec(e,t,a){return Na(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Jo({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:o=jf,chatSessionId:r,isDark:s=!1,className:n,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:f,onDisplayModeChange:d,isFullscreen:p=!1,toolDefinitions:c}){let h=ge(null),C=ge(t),x=ge(a),w=ge({width:0,height:0}),g=ge(null),m=ge(!1),L=ge(0),y=ge("inline"),[I,P]=Xn($f),[k,O]=Xn(void 0),v=ge(l),F=ge(u),b=ge(f),M=ge(d),W=ge(r),H=ge(c);C.current=t,x.current=a,v.current=l,F.current=u,b.current=f,M.current=d,W.current=r,H.current=c;let se=Wf(z=>i?Math.max(z+Xf,0):Math.min(Math.max(z,50),Vf),[i]),we=zf(()=>{let z=o.includes("?")?"&":"?";return`${o}${z}uri=${encodeURIComponent(e)}`},[o,e]),te=ge(s);return te.current=s,$n(()=>{if(!m.current)return;let z=h.current;z?.contentWindow&&z.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:s?"dark":"light"}},"*")},[s]),$n(()=>{let z=h.current;if(!z)return;let K=!1,B=!1,Z=null,ae=null,Ae=setTimeout(()=>{if(K||B||L.current>=Zf)return;L.current+=1;let q=new URL(z.src);q.searchParams.set("_retry",String(L.current)),z.src=q.toString()},Jf),A=q=>{z.contentWindow?.postMessage(q,"*")},U=q=>{if(K||q.source!==z.contentWindow)return;let _=q.data;if(!_||typeof _!="object"||_.jsonrpc!=="2.0")return;let $=_.method,D=_.id;if($==="ui/initialize"&&D!=null){B=!0,clearTimeout(Ae),A({jsonrpc:"2.0",id:D,result:{protocolVersion:_.params?.protocolVersion??Qf,hostInfo:{name:"WaniWani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:te.current?"dark":"light",displayMode:y.current}}});return}if($==="ui/notifications/initialized"){m.current=!0;let G=C.current,V=x.current,N=V._meta&&typeof V._meta=="object"?V._meta:null,X=Yf(W.current),oe=N&&typeof N.waniwani=="object"&&N.waniwani!==null?N.waniwani:null,Ie=oe||X?{...oe??{},...X?{sessionId:X}:{}}:void 0,_e=N||Ie?{...N??{},...Ie?{waniwani:Ie}:{}}:void 0;A({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:G}});let tt=V.content??[{type:"text",text:JSON.stringify(V)}];A({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:tt,structuredContent:V.structuredContent,_meta:_e,meta:_e}});return}if($==="ui/notifications/size-changed"){let G=_.params,V=typeof G?.height=="number"?G.height:void 0,N=typeof G?.width=="number"?G.width:void 0,X=w.current,oe=V!==void 0&&V!==X.height,Ie=N!==void 0&&N!==X.width;if(!oe&&!Ie)return;if(oe&&V!==void 0){X.height=V;let _e=se(V),tt=z.getBoundingClientRect().height;if(g.current&&(g.current.cancel(),g.current=null),P(_e),z.animate&&Math.abs(tt-_e)>2){let at=z.animate([{height:`${tt}px`},{height:`${_e}px`}],{duration:Kf,easing:"ease-out",fill:"forwards"});g.current=at,at.onfinish=()=>{g.current===at&&(at.cancel(),g.current=null)}}}Ie&&i&&N!==void 0&&(X.width=N,O(N));return}if($==="ui/open-link"&&D!=null){let G=_.params?.url;typeof G=="string"&&(v.current?v.current(G):window.open(G,"_blank","noopener,noreferrer")),A({jsonrpc:"2.0",id:D,result:{}});return}if($==="ui/message"&&D!=null){if(F.current&&_.params){let G=_.params,V=Z;if(Z=null,ae){clearTimeout(ae.timer);let N=ae.text;ae=null;let X=(G.content??[]).map(oe=>oe.text??"").join("").trim();G={...G,content:[{type:"text",text:`${X}
14
14
 
15
- ${N}`}]}}F.current({...G,...V?{modelContext:V}:{}})}A({jsonrpc:"2.0",id:D,result:{}});return}if($==="ui/update-model-context"&&D!=null){Z=Vn(Z,_.params),A({jsonrpc:"2.0",id:D,result:{}});return}if($==="tools/call"&&D!=null){let G=b.current;if(!G){A({jsonrpc:"2.0",id:D,error:{code:-32601,message:"tools/call not supported"}});return}let V=_.params?.name;G({name:V,arguments:_.params?.arguments??{}}).then(N=>{A({jsonrpc:"2.0",id:D,result:N});let X=N.content?.map(oe=>oe.text??"").join("").trim();X&&ec(V,N,H.current)&&(ae&&clearTimeout(ae.timer),ae={text:X,timer:setTimeout(()=>{if(K)return;let oe=Z;Z=null,ae=null,F.current?.({role:"user",content:[{type:"text",text:X}],...oe?{modelContext:oe}:{}})},500)})}).catch(N=>{let X=N instanceof Error?N.message:"Tool call failed";A({jsonrpc:"2.0",id:D,error:{code:-32e3,message:X}})});return}if($==="ui/request-display-mode"&&D!=null){let G=_.params?.mode,V=G==="fullscreen"||G==="inline"||G==="pip"?G:"inline";y.current=V,A({jsonrpc:"2.0",id:D,result:{mode:V}}),A({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:V}}),M.current?.(V);return}if($==="ui/resource-teardown"&&D!=null){A({jsonrpc:"2.0",id:D,result:{}});return}$==="ping"&&D!=null&&A({jsonrpc:"2.0",id:D,result:{}})};return window.addEventListener("message",U),()=>{K=!0,clearTimeout(Ae),ae&&clearTimeout(ae.timer),window.removeEventListener("message",U)}},[i,se]),tc("iframe",{ref:h,src:we,sandbox:"allow-scripts allow-forms allow-same-origin",className:T(!p&&"ww:rounded-md ww:border ww:border-border",n),style:{height:p?"100%":I,minWidth:p||!k?void 0:`min(${k}px, 100%)`,width:"100%",border:"none",colorScheme:s?"dark":"auto"},title:"MCP App"})}import{jsx as Ot,jsxs as ac}from"react/jsx-runtime";function Qn({icon:e,title:t,description:a,suggestions:o,onSuggestionSelect:r}){return ac("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&&Ot("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}),Ot("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&Ot("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),o&&o.length>0&&Ot("div",{className:"ww:mt-6 ww:w-full ww:max-w-md ww:flex ww:flex-col ww:gap-2",children:o.map((s,n)=>Ot("button",{type:"button",onClick:()=>r?.(s),className:T("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:`${n*50}ms`},children:s},s))})]})}import{Component as oc}from"react";import{jsx as Kn,jsxs as rc}from"react/jsx-runtime";var Oa=class extends oc{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[WaniWani] Widget failed to render:",t.message)}render(){return this.state.hasError?rc("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:[Kn("span",{children:"Widget failed to load"}),Kn("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}};import{Fragment as sc,jsx as re,jsxs as ct}from"react/jsx-runtime";function Jn(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function Ua({messages:e,status:t,welcomeMessage:a,welcome:o,onSuggestionSelect:r,resourceEndpoint:s,chatSessionId:n,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:f,fullscreenToolCallId:d,debug:p,showToolCalls:c=!0,toolDefinitions:h}){let C=t==="submitted"||t==="streaming",x=e[e.length-1],w=e.length>0,g=C&&(!w||x.role==="user"),m=d!=null;return ct(sc,{children:[!m&&(!w&&o?re(Qn,{...o,onSuggestionSelect:r}):a&&re(Da,{from:"assistant",children:re(Ea,{children:re(_a,{children:a})})})),e.map(L=>{let y=L.parts.filter(b=>b.type==="text"),I=L.parts.filter(b=>b.type==="reasoning"),P=L.parts.filter(b=>b.type==="file"),k=L.parts.filter(b=>"toolCallId"in b),O=L===x&&L.role==="assistant",v=y.length>0,F=m?k.some(b=>b.toolCallId===d):!1;return m&&!F?re("div",{style:{display:"none"}},L.id):ct(Da,{from:L.role,children:[!F&&I.map((b,M)=>re(Rn,{text:b.text},`reasoning-${L.id}-${M}`)),k.map(b=>{let M="output"in b?b.output:void 0,W=Na(b.toolName,M,h),H=zn(b.toolName,M,h),se=b.toolCallId===d;return ct("div",{style:se?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:[re("div",{style:se?{display:"none"}:void 0,children:c?ct(Nn,{children:[re(On,{title:b.title??Jn(b.toolName),state:b.state}),ct(Hn,{children:[re(qn,{input:b.input,debug:p}),M!==void 0&&re(jn,{output:M,errorText:"errorText"in b?b.errorText:void 0,debug:p})]})]}):re(Un,{title:b.title??Jn(b.toolName),state:b.state})}),W&&s&&M!==void 0&&re(Oa,{children:re(Jo,{isFullscreen:se,resourceUri:W,toolInput:b.input??{},toolResult:{content:M.content,structuredContent:M.structuredContent,_meta:M._meta},resourceEndpoint:s,chatSessionId:n,isDark:i,autoHeight:H,toolDefinitions:h,onFollowUp:l,onCallTool:u,onDisplayModeChange:f?we=>f(we,{toolCallId:b.toolCallId,resourceUri:W,toolInput:b.input??{},toolResult:{content:M.content,structuredContent:M.structuredContent,_meta:M._meta},autoHeight:H}):void 0})})]},b.toolCallId)}),!F&&re("div",{children:ct(Ea,{children:[P.length>0&&re(Jr,{files:P}),v?y.map((b,M)=>re(_a,{children:b.type==="text"?b.text:""},`${L.id}-${M}`)):O&&C&&re(mo,{})]})})]},L.id)}),!m&&g&&re(Da,{from:"assistant",children:re(Ea,{children:re(mo,{})})})]})}import{jsx as Zo,jsxs as lc}from"react/jsx-runtime";var nc="https://app.waniwani.ai/assets/waniwani-logo.svg",ic="https://waniwani.ai";function Ha(){return Zo("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:justify-center",children:lc("a",{href:ic,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:[Zo("span",{children:"powered by"}),Zo("img",{src:nc,alt:"WaniWani",width:72,height:10,className:"ww:h-2.5 ww:w-auto"})]})})}import{jsx as qa}from"react/jsx-runtime";function Ga({suggestions:e,isLoading:t,onSelect:a,className:o,...r}){return e.length===0&&!t?null:qa("div",{className:T("ww:px-4 ww:py-2",o),...r,children:qa("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(s=>qa("div",{className:"ww:h-7 ww:rounded-full ww:bg-accent ww:animate-pulse",style:{width:`${60+s*20}px`}},s)):e.map((s,n)=>qa("button",{type:"button",onClick:()=>a(s),className:T("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:`${n*50}ms`},children:s},s))})})}import{useEffect as uc,useRef as dc,useState as fc}from"react";import{jsx as Y,jsxs as We}from"react/jsx-runtime";var Zn=20;function cc(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 pc(){return We("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:[Y("title",{children:"New chat"}),Y("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),Y("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function mc(){return We("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:[Y("title",{children:"Thread history"}),Y("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),Y("polyline",{points:"3 4 3 9 8 9"}),Y("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),Y("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function hc(){return We("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:[Y("title",{children:"Delete thread"}),Y("polyline",{points:"3 6 5 6 21 6"}),Y("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),Y("path",{d:"M10 11v6"}),Y("path",{d:"M14 11v6"})]})}function Wa({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:o,onDeleteThread:r}){let[s,n]=fc(!1),i=dc(null);uc(()=>{if(!s)return;let f=d=>{let p=i.current;p&&(d.composedPath().includes(p)||n(!1))};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[s]);let l=e.slice(0,Zn),u=Math.max(0,e.length-Zn);return We("div",{ref:i,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[Y("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:Y(pc,{})}),Y("button",{type:"button",onClick:()=>n(f=>!f),title:"Thread history","aria-label":"Thread history","aria-expanded":s,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:Y(mc,{})}),s&&We("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:[l.length===0&&Y("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:"No previous chats yet."}),l.map(f=>{let d=f.threadId===t;return We("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:[We("button",{type:"button",onClick:()=>{o(f.threadId),n(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[Y("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),Y("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:cc(f.updatedAt)})]}),Y("button",{type:"button",onClick:p=>{p.stopPropagation(),r(f.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:Y(hc,{})})]},f.threadId)}),u>0&&We("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"]})]})]})}import{useCallback as gc,useRef as wc}from"react";function za(e){let t=wc(e);return t.current=e,gc(async a=>{let{api:o,headers:r,onCallTool:s,sessionId:n}=t.current;if(s)return s(a);let i=`${o??"/api/waniwani"}/tool`,l=typeof n=="string"&&n.trim().length>0?n.trim():void 0,u=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",...l?{"X-Session-Id":l}:{},...r},body:JSON.stringify(a)});if(!u.ok)throw new Error(`Tool call failed: ${u.status} ${u.statusText}`);return u.json()},[])}import{useChat as Dc}from"@ai-sdk/react";import{useCallback as fe,useEffect as Pe,useRef as le,useState as Ye}from"react";import{DefaultChatTransport as xc,uiMessageChunkSchema as Lc}from"ai";function Cc(e){let t=e?.cause,a=t?.issues??t?.errors;if(!Array.isArray(a))return null;let o=a.find(r=>r.code==="invalid_union");if(!o?.errors)return null;for(let r of o.errors){if(!Array.isArray(r)||r.some(i=>(i.code==="invalid_value"||i.code==="invalid_literal")&&i.path?.[0]==="type"))continue;let n=r.filter(i=>i.code==="unrecognized_keys").flatMap(i=>i.keys??[]);if(n.length>0)return n}return null}var ja=class extends xc{processResponseStream(t){let a="",o=Lc(),r=o.validate?.bind(o);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(s,n){a+=s;let i=a.split(`
15
+ ${N}`}]}}F.current({...G,...V?{modelContext:V}:{}})}A({jsonrpc:"2.0",id:D,result:{}});return}if($==="ui/update-model-context"&&D!=null){Z=Vn(Z,_.params),A({jsonrpc:"2.0",id:D,result:{}});return}if($==="tools/call"&&D!=null){let G=b.current;if(!G){A({jsonrpc:"2.0",id:D,error:{code:-32601,message:"tools/call not supported"}});return}let V=_.params?.name;G({name:V,arguments:_.params?.arguments??{}}).then(N=>{A({jsonrpc:"2.0",id:D,result:N});let X=N.content?.map(oe=>oe.text??"").join("").trim();X&&ec(V,N,H.current)&&(ae&&clearTimeout(ae.timer),ae={text:X,timer:setTimeout(()=>{if(K)return;let oe=Z;Z=null,ae=null,F.current?.({role:"user",content:[{type:"text",text:X}],...oe?{modelContext:oe}:{}})},500)})}).catch(N=>{let X=N instanceof Error?N.message:"Tool call failed";A({jsonrpc:"2.0",id:D,error:{code:-32e3,message:X}})});return}if($==="ui/request-display-mode"&&D!=null){let G=_.params?.mode,V=G==="fullscreen"||G==="inline"||G==="pip"?G:"inline";y.current=V,A({jsonrpc:"2.0",id:D,result:{mode:V}}),A({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:V}}),M.current?.(V);return}if($==="ui/resource-teardown"&&D!=null){A({jsonrpc:"2.0",id:D,result:{}});return}$==="ping"&&D!=null&&A({jsonrpc:"2.0",id:D,result:{}})};return window.addEventListener("message",U),()=>{K=!0,clearTimeout(Ae),ae&&clearTimeout(ae.timer),window.removeEventListener("message",U)}},[i,se]),tc("iframe",{ref:h,src:we,sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:T(!p&&"ww:rounded-md ww:border ww:border-border",n),style:{height:p?"100%":I,minWidth:p||!k?void 0:`min(${k}px, 100%)`,width:"100%",border:"none",colorScheme:s?"dark":"auto"},title:"MCP App"})}import{jsx as Ot,jsxs as ac}from"react/jsx-runtime";function Qn({icon:e,title:t,description:a,suggestions:o,onSuggestionSelect:r}){return ac("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&&Ot("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}),Ot("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&Ot("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),o&&o.length>0&&Ot("div",{className:"ww:mt-6 ww:w-full ww:max-w-md ww:flex ww:flex-col ww:gap-2",children:o.map((s,n)=>Ot("button",{type:"button",onClick:()=>r?.(s),className:T("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:`${n*50}ms`},children:s},s))})]})}import{Component as oc}from"react";import{jsx as Kn,jsxs as rc}from"react/jsx-runtime";var Oa=class extends oc{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[WaniWani] Widget failed to render:",t.message)}render(){return this.state.hasError?rc("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:[Kn("span",{children:"Widget failed to load"}),Kn("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}};import{Fragment as sc,jsx as re,jsxs as ct}from"react/jsx-runtime";function Jn(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function Ua({messages:e,status:t,welcomeMessage:a,welcome:o,onSuggestionSelect:r,resourceEndpoint:s,chatSessionId:n,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:f,fullscreenToolCallId:d,debug:p,showToolCalls:c=!0,toolDefinitions:h}){let C=t==="submitted"||t==="streaming",x=e[e.length-1],w=e.length>0,g=C&&(!w||x.role==="user"),m=d!=null;return ct(sc,{children:[!m&&(!w&&o?re(Qn,{...o,onSuggestionSelect:r}):a&&re(Da,{from:"assistant",children:re(Ea,{children:re(_a,{children:a})})})),e.map(L=>{let y=L.parts.filter(b=>b.type==="text"),I=L.parts.filter(b=>b.type==="reasoning"),P=L.parts.filter(b=>b.type==="file"),k=L.parts.filter(b=>"toolCallId"in b),O=L===x&&L.role==="assistant",v=y.length>0,F=m?k.some(b=>b.toolCallId===d):!1;return m&&!F?re("div",{style:{display:"none"}},L.id):ct(Da,{from:L.role,children:[!F&&I.map((b,M)=>re(Rn,{text:b.text},`reasoning-${L.id}-${M}`)),k.map(b=>{let M="output"in b?b.output:void 0,W=Na(b.toolName,M,h),H=zn(b.toolName,M,h),se=b.toolCallId===d;return ct("div",{style:se?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:[re("div",{style:se?{display:"none"}:void 0,children:c?ct(Nn,{children:[re(On,{title:b.title??Jn(b.toolName),state:b.state}),ct(Hn,{children:[re(qn,{input:b.input,debug:p}),M!==void 0&&re(jn,{output:M,errorText:"errorText"in b?b.errorText:void 0,debug:p})]})]}):re(Un,{title:b.title??Jn(b.toolName),state:b.state})}),W&&s&&M!==void 0&&re(Oa,{children:re(Jo,{isFullscreen:se,resourceUri:W,toolInput:b.input??{},toolResult:{content:M.content,structuredContent:M.structuredContent,_meta:M._meta},resourceEndpoint:s,chatSessionId:n,isDark:i,autoHeight:H,toolDefinitions:h,onFollowUp:l,onCallTool:u,onDisplayModeChange:f?we=>f(we,{toolCallId:b.toolCallId,resourceUri:W,toolInput:b.input??{},toolResult:{content:M.content,structuredContent:M.structuredContent,_meta:M._meta},autoHeight:H}):void 0})})]},b.toolCallId)}),!F&&re("div",{children:ct(Ea,{children:[P.length>0&&re(Jr,{files:P}),v?y.map((b,M)=>re(_a,{children:b.type==="text"?b.text:""},`${L.id}-${M}`)):O&&C&&re(mo,{})]})})]},L.id)}),!m&&g&&re(Da,{from:"assistant",children:re(Ea,{children:re(mo,{})})})]})}import{jsx as Zo,jsxs as lc}from"react/jsx-runtime";var nc="https://app.waniwani.ai/assets/waniwani-logo.svg",ic="https://waniwani.ai";function Ha(){return Zo("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:justify-center",children:lc("a",{href:ic,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:[Zo("span",{children:"powered by"}),Zo("img",{src:nc,alt:"WaniWani",width:72,height:10,className:"ww:h-2.5 ww:w-auto"})]})})}import{jsx as qa}from"react/jsx-runtime";function Ga({suggestions:e,isLoading:t,onSelect:a,className:o,...r}){return e.length===0&&!t?null:qa("div",{className:T("ww:px-4 ww:py-2",o),...r,children:qa("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(s=>qa("div",{className:"ww:h-7 ww:rounded-full ww:bg-accent ww:animate-pulse",style:{width:`${60+s*20}px`}},s)):e.map((s,n)=>qa("button",{type:"button",onClick:()=>a(s),className:T("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:`${n*50}ms`},children:s},s))})})}import{useEffect as uc,useRef as dc,useState as fc}from"react";import{jsx as Y,jsxs as We}from"react/jsx-runtime";var Zn=20;function cc(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 pc(){return We("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:[Y("title",{children:"New chat"}),Y("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),Y("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function mc(){return We("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:[Y("title",{children:"Thread history"}),Y("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),Y("polyline",{points:"3 4 3 9 8 9"}),Y("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),Y("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function hc(){return We("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:[Y("title",{children:"Delete thread"}),Y("polyline",{points:"3 6 5 6 21 6"}),Y("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),Y("path",{d:"M10 11v6"}),Y("path",{d:"M14 11v6"})]})}function Wa({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:o,onDeleteThread:r}){let[s,n]=fc(!1),i=dc(null);uc(()=>{if(!s)return;let f=d=>{let p=i.current;p&&(d.composedPath().includes(p)||n(!1))};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[s]);let l=e.slice(0,Zn),u=Math.max(0,e.length-Zn);return We("div",{ref:i,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[Y("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:Y(pc,{})}),Y("button",{type:"button",onClick:()=>n(f=>!f),title:"Thread history","aria-label":"Thread history","aria-expanded":s,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:Y(mc,{})}),s&&We("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:[l.length===0&&Y("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:"No previous chats yet."}),l.map(f=>{let d=f.threadId===t;return We("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:[We("button",{type:"button",onClick:()=>{o(f.threadId),n(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[Y("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),Y("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:cc(f.updatedAt)})]}),Y("button",{type:"button",onClick:p=>{p.stopPropagation(),r(f.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:Y(hc,{})})]},f.threadId)}),u>0&&We("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"]})]})]})}import{useCallback as gc,useRef as wc}from"react";function za(e){let t=wc(e);return t.current=e,gc(async a=>{let{api:o,headers:r,onCallTool:s,sessionId:n}=t.current;if(s)return s(a);let i=`${o??"/api/waniwani"}/tool`,l=typeof n=="string"&&n.trim().length>0?n.trim():void 0,u=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",...l?{"X-Session-Id":l}:{},...r},body:JSON.stringify(a)});if(!u.ok)throw new Error(`Tool call failed: ${u.status} ${u.statusText}`);return u.json()},[])}import{useChat as Dc}from"@ai-sdk/react";import{useCallback as fe,useEffect as Pe,useRef as le,useState as Ye}from"react";import{DefaultChatTransport as xc,uiMessageChunkSchema as Lc}from"ai";function Cc(e){let t=e?.cause,a=t?.issues??t?.errors;if(!Array.isArray(a))return null;let o=a.find(r=>r.code==="invalid_union");if(!o?.errors)return null;for(let r of o.errors){if(!Array.isArray(r)||r.some(i=>(i.code==="invalid_value"||i.code==="invalid_literal")&&i.path?.[0]==="type"))continue;let n=r.filter(i=>i.code==="unrecognized_keys").flatMap(i=>i.keys??[]);if(n.length>0)return n}return null}var ja=class extends xc{processResponseStream(t){let a="",o=Lc(),r=o.validate?.bind(o);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(s,n){a+=s;let i=a.split(`
16
16
  `);a=i.pop()??"";for(let l of i){let u=l.trim();if(!u.startsWith("data:"))continue;let f=u.slice(5).trim();if(f!=="[DONE]")try{let d=JSON.parse(f);if(!r){n.enqueue(d);continue}let p=await r(d);if(p.success){n.enqueue(p.value);continue}let c=Cc(p.error);if(c?.length){let h={...d};for(let x of c)delete h[x];let C=await r(h);C.success&&n.enqueue(C.value)}}catch{}}}}))}};var Ic="waniwani-memory";var Ce="threads",Va="by_memoryUserId",Sc="by_updatedAt";var ei="memoryUserId",Yn="waniwani-memory-user-id",Yo=null;function er(){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 yc(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Ce)){let a=e.createObjectStore(Ce,{keyPath:"threadId"});a.createIndex(Va,"memoryUserId",{unique:!1}),a.createIndex(Sc,"updatedAt",{unique:!1})}}async function tr(){return new Promise((e,t)=>{let a=indexedDB.open(Ic,2);a.onupgradeneeded=o=>{yc(a.result,o.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function kc(){return tr()}async function bc(e){return new Promise((t,a)=>{let s=e.transaction("ids","readonly").objectStore("ids").get(ei);s.onsuccess=()=>t(typeof s.result=="string"?s.result:null),s.onerror=()=>a(s.error)})}async function Tc(e,t){return new Promise((a,o)=>{let n=e.transaction("ids","readwrite").objectStore("ids").put(t,ei);n.onsuccess=()=>a(),n.onerror=()=>o(n.error)})}async function Pc(){if(typeof indexedDB>"u")return null;try{let e=await kc();try{let t=await bc(e);if(t)return t;let a=er();return await Tc(e,a),a}finally{e.close()}}catch{return null}}function Ac(){try{let e=localStorage.getItem(Yn);if(e)return e;let t=er();return localStorage.setItem(Yn,t),t}catch{return null}}async function ti(){let e=await Pc();if(e)return e;let t=Ac();return t||(Yo||(Yo=er()),Yo)}var ai=50,oi=1e3;function $a(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 Xa(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await tr(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function ar(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function or(e){return await Xa(async a=>{let s=a.transaction(Ce,"readonly").objectStore(Ce).index(Va),i=(await ar(s.getAll(e))??[]).filter($a);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function rr(e){return await Xa(async a=>{let r=a.transaction(Ce,"readonly").objectStore(Ce),s=await ar(r.get(e));return $a(s)?s:null})??null}async function sr(e){if(!$a(e))return;let t=e.messages.length>oi?{...e,messages:e.messages.slice(e.messages.length-oi)}:e;await Xa(async a=>{await new Promise((l,u)=>{let f=a.transaction(Ce,"readwrite");f.oncomplete=()=>l(),f.onerror=()=>u(f.error),f.onabort=()=>u(f.error),f.objectStore(Ce).put(t)});let o=a.transaction(Ce,"readwrite"),r=o.objectStore(Ce),s=r.index(Va),i=(await ar(s.getAll(t.memoryUserId))??[]).filter($a);if(i.length>ai){i.sort((u,f)=>u.updatedAt<f.updatedAt?-1:1);let l=i.slice(0,i.length-ai);for(let u of l)r.delete(u.threadId)}return await new Promise((l,u)=>{o.oncomplete=()=>l(),o.onerror=()=>u(o.error),o.onabort=()=>u(o.error)}),null})}async function ri(e){await Xa(async t=>(await new Promise((a,o)=>{let r=t.transaction(Ce,"readwrite");r.oncomplete=()=>a(),r.onerror=()=>o(r.error),r.onabort=()=>o(r.error),r.objectStore(Ce).delete(e)}),null))}async function si(e){return(await or(e))[0]?.threadId??null}function ni(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 ii="waniwani-visitor-id";function li(e,t){return e.match(t)?.[1]??null}function vc(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,o]of t){let r=li(e,o);if(r)return{name:a,version:r}}return null}function Mc(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,o]of t){let r=li(e,o);if(r)return{name:a,version:r.replace(/_/g,".")};if(a==="Linux"&&o.test(e))return{name:a,version:""}}return null}function Rc(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 Fc(e){let t=new TextEncoder().encode(e),a=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(a)).map(o=>o.toString(16).padStart(2,"0")).join("")}async function Bc(){try{let a=localStorage.getItem(ii);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 Fc(e);try{localStorage.setItem(ii,t)}catch{}return t}async function ui(){let e=navigator.userAgent,[t,a]=await Promise.all([Bc(),ti()]);return{userAgent:e,browser:vc(e),os:Mc(e),deviceType:Rc(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 Ec="x-session-id",_c=250;function di(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():yt()}function Qa(){return new Date().toISOString()}function fi(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function Nc(e,t){let a=`${e.replace(/\/$/,"")}/tools`,o=await fetch(a,{method:"GET",headers:t?{...t}:void 0});if(!o.ok)throw new Error(`[WaniWani] Failed to fetch /tools: ${o.status} ${o.statusText}`);let r=await o.json();if(!r||!Array.isArray(r.tools))return{};let s={};for(let n of r.tools)n&&typeof n.name=="string"&&(s[n.name]=n);return s}function Ka(e){let{api:t="/api/waniwani",headers:a,body:o,onMessageSent:r,onResponseReceived:s,enableThreadHistory:n=!1,activeThreadId:i,onThreadChange:l}=e,u=le(a),f=le(o),d=le(n);Pe(()=>{d.current=n},[n]);let p=le(void 0),c=le(null),[h,C]=Ye(void 0),x=le(h),[w,g]=Ye(i),m=le(w),[L,y]=Ye([]),[I,P]=Ye(!n),k=le(void 0),O=le(void 0),v=le(void 0),F=le(void 0),b=le(0),M=le(l);Pe(()=>{M.current=l},[l]);let W=fe(S=>{m.current=S,g(S),S&&M.current?.(S)},[]),H=fe(async()=>{if(!n)return;let S=c.current?.memoryUserId;if(!S)return;let R=await or(S);y(R)},[n]),se=fe(()=>x.current,[]),we=fe(S=>{let R=fi(S);R&&x.current!==R&&(x.current=R,C(R))},[]),te=fe(()=>{x.current=void 0,C(void 0)},[]);Pe(()=>{u.current=a},[a]),Pe(()=>{f.current=o},[o]),Pe(()=>{let S=!1,R=b.current;return(async()=>{try{let Se=await ui();if(S)return;c.current=Se}catch{}if(!n)return;let E=c.current?.memoryUserId;if(!E){P(!0);return}try{let Se=i??await si(E);if(S||R!==b.current)return;if(Se){let he=await rr(Se);if(S||R!==b.current)return;he&&he.memoryUserId===E&&(m.current=he.threadId,g(he.threadId),k.current=he.createdAt,O.current=he.title,he.sessionId&&(x.current=he.sessionId,C(he.sessionId)),$(he.messages))}await H()}finally{S||P(!0)}})(),()=>{S=!0}},[]);let z=le(new ja({api:t,headers:()=>({...u.current}),body:()=>{let S={...f.current??{}},R=Object.hasOwn(S,"sessionId"),E=fi(S.sessionId);if(E)we(E),S.sessionId=E;else if(R)te(),delete S.sessionId;else{let be=se();be&&(S.sessionId=be)}if(ft(p.current)&&(S.modelContext=p.current),c.current){let be=c.current;S.visitorContext={timezone:be.timezone,language:be.language,languages:be.languages,deviceType:be.deviceType,referrer:be.referrer,visitorId:be.visitorId};let Fe=typeof S.visitor=="object"&&S.visitor!==null?S.visitor:{},Ei=typeof Fe.client=="object"&&Fe.client!==null?Fe.client:{};S.visitor={...Fe,client:{...Ei,memoryUserId:be.memoryUserId}}}let Se=typeof S.extra=="object"&&S.extra!==null&&!Array.isArray(S.extra)?S.extra:void 0,he=c.current?.memoryUserId,Ne=c.current?.language,Vt={};if(he&&(Vt.memoryUserId=he),Ne&&(Vt.locale=Ne),(Object.keys(Vt).length>0||Se)&&(S.extra={...Vt,...Se??{}}),d.current)if(Object.hasOwn(S,"threadId"))typeof S.threadId=="string"&&(m.current=S.threadId);else{let Fe=m.current;Fe||(Fe=di(),k.current=Qa(),O.current=void 0,W(Fe)),S.threadId=Fe}return S},fetch:(async(S,R)=>{let E=await fetch(S,R);return p.current=void 0,we(E.headers.get(Ec)),E})})),K=le(null),B=le(null),Z=le({}),[ae,Ae]=Ye(0),A=e.skipRemoteConfig===!0,U=fe(async()=>{if(!A)try{let S=await Nc(t,u.current);Z.current=S,Ae(R=>R+1)}catch(S){console.warn("[WaniWani] Failed to fetch tool definitions:",S instanceof Error?S.message:S)}},[t,A]);Pe(()=>{U()},[U]);let{messages:q,sendMessage:_,setMessages:$,status:D}=Dc({messages:e.initialMessages,transport:z.current,onFinish({message:S}){s?.(),K.current&&(B.current=S)},onError(S){console.warn("[WaniWani] Chat error:",S.message),K.current&&(K.current.reject(S),K.current=null)}}),G=le(q);Pe(()=>{G.current=q},[q]),Pe(()=>{if(D==="ready"&&K.current&&B.current){let S=K.current,R=B.current;K.current=null,B.current=null,S.resolve(R)}},[D]);let[V,N]=Ye(""),[X,oe]=Ye([]),Ie=D==="submitted"||D==="streaming",_e=fe(S=>{oe(R=>R.filter(E=>E.id!==S))},[]),tt=Ie&&X.length>0,at=fe(S=>{let R=!!S.text?.trim(),E=!!S.files?.length;if(R||E){if(Ie){if(X.length>0)return;oe(Se=>[...Se,{id:yt(),text:S.text||"",files:S.files??[],modelContext:S.modelContext}]),N("");return}p.current=S.modelContext,_({text:S.text||"",files:S.files}),r?.(S.text||""),N("")}},[_,r,Ie,X.length]),Ai=fe(S=>new Promise((R,E)=>{K.current={resolve:R,reject:E},_({text:S}),r?.(S)}),[_,r]);Pe(()=>{if(D!=="ready"||X.length===0)return;let[S,...R]=X;oe(R),p.current=S.modelContext,_({text:S.text,files:S.files.length>0?S.files:void 0}),r?.(S.text)},[D,_,r,X]);let vi=fe(()=>{$([]),oe([]),te(),N(""),Z.current={},Ae(S=>S+1),U()},[$,te,U]),zt=fe(()=>{if(!d.current)return;let S=c.current?.memoryUserId,R=m.current,E=G.current;if(!(!S||!R||E.length===0)){if(k.current||(k.current=Qa()),!O.current){let Se=E.find(Ne=>Ne.role==="user"),he=Se?Se.parts.map(Ne=>"text"in Ne&&typeof Ne.text=="string"?Ne.text:"").join(" "):"";O.current=ni(he)}return{threadId:R,memoryUserId:S,title:O.current,messages:E,sessionId:x.current,createdAt:k.current,updatedAt:Qa()}}},[]),fr=fe(async()=>{let S=zt();S&&(await sr(S),await H())},[zt,H]);Pe(()=>{if(n&&I&&!(D==="submitted"||D==="streaming")&&q.length!==0)return v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{v.current=void 0;let S=fr().finally(()=>{F.current===S&&(F.current=void 0)});F.current=S},_c),()=>{v.current&&clearTimeout(v.current)}},[n,I,q,D,fr]);let jt=fe(()=>{let S=F.current,R=v.current,E=R?zt():void 0;return R&&(clearTimeout(R),v.current=void 0),(async()=>{S&&await S,E&&(await sr(E),await H())})()},[zt,H]),Mi=fe(()=>{b.current+=1,jt(),$([]),oe([]),te(),N("");let S=di();return k.current=Qa(),O.current=void 0,W(S),H(),S},[$,te,W,H,jt]),ao=fe(async S=>{b.current+=1;let R=b.current;if(await jt(),R!==b.current)return;let E=await rr(S);R===b.current&&E&&(W(E.threadId),k.current=E.createdAt,O.current=E.title,E.sessionId?(x.current=E.sessionId,C(E.sessionId)):te(),$(E.messages),oe([]),N(""))},[$,te,W,jt]),Ri=fe(async S=>{if(m.current===S){b.current+=1,v.current&&(clearTimeout(v.current),v.current=void 0);let R=F.current;R&&await R}await ri(S),await H(),m.current===S&&($([]),oe([]),te(),N(""),m.current=void 0,g(void 0),k.current=void 0,O.current=void 0)},[$,te,H]);Pe(()=>{n&&I&&i!==void 0&&i!==m.current&&ao(i)},[i,n,I,ao]);let Fi=fe(S=>{N(S.target.value)},[]),cr=q[q.length-1],pr=q.length>0,Bi=Ie&&(!pr||cr.role==="user"),Di=Z.current;return{messages:q,status:D,text:V,setText:N,handleSubmit:at,handleTextChange:Fi,isLoading:Ie,showLoaderBubble:Bi,lastMessage:cr,hasMessages:pr,sendMessage:_,sendMessageAndWait:Ai,reset:vi,queuedMessages:X,queueFull:tt,removeQueuedMessage:_e,sessionId:h,toolDefinitions:Di,refreshToolDefinitions:U,threads:L,activeThreadId:w,isThreadHistoryReady:I,startNewThread:Mi,switchThread:ao,deleteThread:Ri}}import{useEffect as ci,useRef as Oc,useState as Uc}from"react";var Hc={debug:!1,eval:!1};function pi(e="/api/waniwani",t,a=!1){let[o,r]=Uc(Hc),s=Oc(t);return ci(()=>{s.current=t},[t]),ci(()=>{a||(async()=>{try{let n=s.current,l=await(await fetch(`${e}/config`,{headers:n?{...n}:void 0})).json();r({debug:l.debug===!0,eval:l.eval===!0})}catch{}})()},[e,a]),o}import{useCallback as qc,useEffect as nr,useRef as Gc,useState as Wc}from"react";function zc(e){for(let t of e.parts){let a=t;if(a.type==="data"||a.type==="data-suggestions"){let o=a.data;if(o&&Array.isArray(o.suggestions))return o.suggestions}}return null}function mi(e){return typeof e=="object"&&e!==null&&"initial"in e}function Ja(e){let{messages:t,status:a,config:o}=e,r=mi(o)&&o.initial?o.initial:void 0,[s,n]=Wc(r??[]),i=Gc(a),l=o===!0||mi(o)&&o.dynamic!==!1,u=qc(()=>{n([])},[]),f=t.length>0;nr(()=>{!f&&r&&r.length>0&&n(r)},[r,f]);let d=t[t.length-1];return nr(()=>{d?.role==="user"&&u()},[d,u]),nr(()=>{let p=i.current;if(i.current=a,p==="streaming"&&a==="ready"&&l){let c=[...t].reverse().find(C=>C.role==="assistant");if(!c)return;let h=zc(c);h&&n(h)}},[a,l,t]),{suggestions:s,isLoading:!1,clear:u}}import{useEffect as jc,useRef as Vc,useState as $c}from"react";var Xc=50,Qc=30,Kc=2e3,hi=500;function Za(e,t=!0){let[a,o]=$c(""),r=Vc(void 0);return jc(()=>{if(!t){o("");return}let s=0,n=!1,i=!1,l=()=>{i||(n?(s--,o(e.slice(0,s)),s<=0?(n=!1,r.current=setTimeout(l,hi)):r.current=setTimeout(l,Qc)):(s++,o(e.slice(0,s)),s>=e.length?(n=!0,r.current=setTimeout(l,Kc)):r.current=setTimeout(l,Xc)))};return r.current=setTimeout(l,hi),()=>{i=!0,clearTimeout(r.current)}},[e,t]),a}function Ya(e,t){let a=t?.Authorization,o=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return o?`${e}/resource?token=${encodeURIComponent(o)}`:`${e}/resource`}var gi={primaryColor:"#6366f1",primaryForeground:"#1f2937",backgroundColor:"#ffffff",textColor:"#1f2937",mutedColor:"#6b7280",borderColor:"#e5e7eb",assistantBubbleColor:"#f3f4f6",userBubbleColor:"#f4f4f4",inputBackgroundColor:"#f9fafb",borderRadius:16,messageBorderRadius:12,fontFamily:"system-ui, -apple-system, 'Segoe UI', sans-serif",headerBackgroundColor:"#ffffff",headerTextColor:"#1f2937",statusColor:"#22c55e",toolCardColor:"#f4f4f5"},Jc={backgroundColor:"#212121",headerBackgroundColor:"#1e1e1e",headerTextColor:"#ececec",textColor:"#ececec",primaryForeground:"#ffffff",mutedColor:"#8e8ea0",borderColor:"#444444",assistantBubbleColor:"#2f2f2f",userBubbleColor:"#303030",inputBackgroundColor:"#2f2f2f",primaryColor:"#6366f1",statusColor:"#22c55e",toolCardColor:"#262626"},Zc={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"],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 Ut(e){return{...gi,...e}}function eo(e){let t=e.backgroundColor.replace("#",""),a=parseInt(t.substring(0,2),16),o=parseInt(t.substring(2,4),16),r=parseInt(t.substring(4,6),16);return(a*299+o*587+r*114)/1e3<128}function Ht(e){let t={};for(let[a,o]of Object.entries(Zc)){let r=e[a],s=typeof r=="number"?`${r}px`:String(r);for(let n of o)t[n]=s}return t}import{jsx as ce,jsxs as qt}from"react/jsx-runtime";var ap=Yc(function(t,a){let{theme:o,title:r="Assistant",width:s,height:n,className:i,allowAttachments:l=!1,welcomeMessage:u,welcome:f,placeholder:d="Ask me anything...",triggerEvent:p="triggerDemoRequest",api:c,debug:h,enableThreadHistory:C=!1,showToolCalls:x=!0}=t,w=c??"/api/waniwani",g=Ya(w,t.headers),m=Ut(o),L=Ht(m),y=eo(m),I=pi(w,t.headers,t.skipRemoteConfig),P=h??I.debug,k=Ka({...t,api:w}),O=za({...t,api:w,sessionId:k.sessionId}),v=Za(d,!k.text),[F,b]=xi(!1),[M,W]=xi(null),H=wi(null),se=wi(void 0),we=ir(()=>{let B=H.current;if(!B)return;B.scrollIntoView({behavior:"smooth",block:"center"});let Z=B.querySelector("textarea");Z&&setTimeout(()=>Z.focus(),300),b(!0),clearTimeout(se.current),se.current=setTimeout(()=>b(!1),2e3)},[]),te=Ja({messages:k.messages,status:k.status,config:t.suggestions}),z=ir(B=>{let Z=B.content.map(ae=>ae.text??"").join("").trim();Z&&k.handleSubmit({text:Z,files:[],modelContext:B.modelContext})},[k.handleSubmit]),K=ir(B=>{te.clear(),k.handleSubmit({text:B,files:[]})},[te.clear,k.handleSubmit]);return tp(a,()=>({sendMessage:B=>{k.handleSubmit({text:B,files:[]}),we()},sendMessageAndWait:B=>k.sendMessageAndWait(B),reset:k.reset,focus:we,get messages(){return k.messages}}),[k.handleSubmit,k.sendMessageAndWait,k.reset,k.messages,we]),ep(()=>{if(!p)return;let B=Z=>{let ae=Z.detail,Ae=typeof ae?.message=="string"?ae.message:void 0;Ae&&k.handleSubmit({text:Ae,files:[]}),we()};return window.addEventListener(p,B),()=>window.removeEventListener(p,B)},[p,k.handleSubmit,we]),qt("div",{ref:H,style:{...L,width:s,height:n},"data-waniwani-chat":"","data-waniwani-layout":"card",...y?{"data-waniwani-dark":""}:{},className:T("ww:flex ww:flex-col ww:font-[family-name:var(--ww-font)] ww:text-foreground ww:bg-background ww:rounded-[var(--ww-radius)] ww:overflow-hidden",F&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[qt("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3",style:{backgroundColor:m.headerBackgroundColor,color:m.headerTextColor},children:[ce("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:r}),ce(Kr,{messages:k.messages,evalEnabled:I.eval,api:w}),C&&ce(Wa,{threads:k.threads,activeThreadId:k.activeThreadId,onNewThread:k.startNewThread,onSelectThread:B=>{k.switchThread(B)},onDeleteThread:B=>{k.deleteThread(B)}})]}),qt(Br,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[ce(Dr,{scrollClassName:M?"ww:!relative ww:!overflow-hidden":void 0,children:ce(Ua,{messages:k.messages,status:k.status,welcomeMessage:u,welcome:f,onSuggestionSelect:K,resourceEndpoint:g,chatSessionId:k.sessionId,isDark:y,onFollowUp:z,onCallTool:O,fullscreenToolCallId:M,debug:P,showToolCalls:x,toolDefinitions:k.toolDefinitions,onWidgetDisplayModeChange:(B,Z)=>{W(B==="fullscreen"?Z.toolCallId:null)}})}),ce(Er,{})]}),ce("div",{style:M?{display:"none"}:void 0,children:ce(Ga,{suggestions:te.suggestions,isLoading:te.isLoading,onSelect:K})}),ce("div",{style:M?{display:"none"}:void 0,children:ce(aa,{queuedMessages:k.queuedMessages,onRemove:k.removeQueuedMessage})}),ce("div",{style:M?{display:"none"}:void 0,children:ce("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:qt("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[ce(Zt,{onSubmit:k.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:qt("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&ce(ta,{}),ce(Yt,{onChange:k.handleTextChange,value:k.text,placeholder:v,className:"ww:min-h-0 ww:py-1 ww:px-0"}),ce(ea,{status:k.status,disabled:k.queueFull})]})}),ce(Ha,{})]})})})]})});import{forwardRef as op,useCallback as to,useEffect as Gt,useImperativeHandle as rp,useRef as Wt,useState as Li}from"react";import{jsx as me,jsxs as et}from"react/jsx-runtime";var lr=op(function(t,a){let{theme:o,className:r,allowAttachments:s=!1,welcomeMessage:n,welcome:i,placeholder:l="Ask me anything...",triggerEvent:u="triggerDemoRequest",api:f,mcp:d,debug:p=!1,readOnly:c=!1,title:h,headerActions:C,enableThreadHistory:x=!1,showToolCalls:w=!0,initializing:g=!1}=t,m=Ut(o),L=Ht(m),y=eo(m),I=Ka({...t,api:f}),P=za({...t,api:f,sessionId:I.sessionId,onCallTool:d?.onCallTool}),k=d?.resourceEndpoint??Ya(f,t.headers),O=Za(l,!I.text),[v,F]=Li(null),b=Wt(null),M=Wt(null),W=Wt(null),H=Wt(null),[se,we]=Li(!0),te=Wt(se);te.current=se;let z=to(()=>{let A=b.current;if(!A)return;let U=A.querySelector("textarea");U&&U.focus()},[]),K=to((A="smooth")=>{let U=M.current;U&&U.scrollTo({top:U.scrollHeight,behavior:A})},[]);Gt(()=>{let A=H.current,U=M.current;if(!A||!U)return;let q=new IntersectionObserver(([_])=>we(_.isIntersecting),{root:U,rootMargin:"0px 0px 200px 0px",threshold:0});return q.observe(A),()=>q.disconnect()},[]),Gt(()=>{(I.messages[I.messages.length-1]?.role==="user"||te.current)&&K("smooth")},[I.messages.length,I.messages[I.messages.length-1]]),Gt(()=>{K("auto")},[K]),Gt(()=>{if(typeof ResizeObserver>"u")return;let A=M.current,U=W.current;if(!A&&!U)return;let q=A?.scrollHeight??0,_=A?.clientHeight??0,$=new ResizeObserver(()=>{let D=M.current;if(!D)return;let G=D.scrollTop+_>=q-5;q=D.scrollHeight,_=D.clientHeight,G&&K("auto")});return A&&$.observe(A),U&&$.observe(U),()=>$.disconnect()},[K]);let B=Ja({messages:I.messages,status:I.status,config:t.suggestions}),Z=to(A=>{let U=A.content.map(q=>q.text??"").join("").trim();U&&I.handleSubmit({text:U,files:[],modelContext:A.modelContext})},[I.handleSubmit]),ae=to(A=>{B.clear(),I.handleSubmit({text:A,files:[]})},[B.clear,I.handleSubmit]);rp(a,()=>({sendMessage:A=>{I.handleSubmit({text:A,files:[]}),z()},sendMessageAndWait:A=>I.sendMessageAndWait(A),reset:I.reset,focus:z,get messages(){return I.messages}}),[I.handleSubmit,I.sendMessageAndWait,I.reset,I.messages,z]),Gt(()=>{if(!u)return;let A=U=>{let q=U.detail,_=typeof q?.message=="string"?q.message:void 0;_&&I.handleSubmit({text:_,files:[]}),z()};return window.addEventListener(u,A),()=>window.removeEventListener(u,A)},[u,I.handleSubmit,z]);let Ae=!!(h||x||C);return et("div",{ref:b,style:{...L,maxHeight:"inherit",opacity:g?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed",...g?{"data-waniwani-initializing":""}:{},...y?{"data-waniwani-dark":""}:{},className:T("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",r),children:[Ae&&et("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3 ww:bg-background ww:border-b ww:border-border",style:{backgroundColor:m.headerBackgroundColor,color:m.headerTextColor},children:[h&&me("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:h}),!h&&me("div",{className:"ww:flex-1"}),C,x&&me(Wa,{threads:I.threads,activeThreadId:I.activeThreadId,onNewThread:I.startNewThread,onSelectThread:A=>{I.switchThread(A)},onDeleteThread:A=>{I.deleteThread(A)}})]}),et("div",{ref:M,className:T("ww:relative ww:flex-1 ww:min-h-0",v?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[et("div",{ref:W,className:T("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:[me(Ua,{messages:I.messages,status:I.status,welcomeMessage:n,welcome:i,onSuggestionSelect:ae,resourceEndpoint:k,chatSessionId:I.sessionId,isDark:y,onFollowUp:Z,onCallTool:P,fullscreenToolCallId:v,debug:p,showToolCalls:w,toolDefinitions:I.toolDefinitions,onWidgetDisplayModeChange:(A,U)=>{F(A==="fullscreen"?U.toolCallId:null)}}),me("div",{ref:H,"aria-hidden":!0,style:{height:1}})]}),!se&&!v&&me("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:me(ye,{type:"button",onClick:()=>K("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:me(ze,{className:"ww:size-4"})})})]}),!c&&et("div",{className:"ww:shrink-0 ww:bg-background",style:v?{display:"none"}:void 0,children:[me(Ga,{suggestions:B.suggestions,isLoading:B.isLoading,onSelect:ae}),me(aa,{queuedMessages:I.queuedMessages,onRemove:I.removeQueuedMessage}),me("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:et("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[me(Zt,{onSubmit:I.handleSubmit,globalDrop:s,multiple:s,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:et("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[s&&me(ta,{}),me(Yt,{onChange:I.handleTextChange,value:I.text,placeholder:O,className:"ww:min-h-0 ww:py-1 ww:px-0"}),me(ea,{status:I.status,disabled:I.queueFull})]})}),me(Ha,{})]})})]})]})});import{forwardRef as fp,useEffect as cp,useMemo as bi,useState as Ti}from"react";var sp="https://app.waniwani.ai/api/mcp/chat",np={api:sp};function ip(){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 lp(){let e=ip();if(!e)return{};let t=m=>e.getAttribute(m)??void 0,a=m=>{let L=e.getAttribute(m);if(L==null)return;let y=L.trim().toLowerCase();if(y==="true"||y==="1"||y==="")return!0;if(y==="false"||y==="0")return!1},o={},r=t("data-api");r&&(o.api=r);let s=t("data-token");s&&(o.token=s);let n=t("data-title");n&&(o.title=n);let i=t("data-welcome-message");i&&(o.welcomeMessage=i);let l=t("data-placeholder");l&&(o.placeholder=l);let u=t("data-mcp-server-url");u&&(o.mcpServerUrl=u);let f=t("data-channel-id");f&&(o.channelId=f);let d=a("data-show-tool-calls");d!==void 0&&(o.showToolCalls=d);let p=t("data-css");p&&(o.css=p);let c=t("data-suggestions");c&&(o.suggestions=c.split(",").map(m=>m.trim()).filter(Boolean));let h=a("data-enable-thread-history");h!==void 0&&(o.enableThreadHistory=h);let C=t("data-primary-color"),x=t("data-background-color"),w=t("data-text-color"),g=t("data-font-family");return(C||x||w||g)&&(o.theme={},C&&(o.theme.primaryColor=C),x&&(o.theme.backgroundColor=x),w&&(o.theme.textColor=w),g&&(o.theme.fontFamily=g)),o}function ur(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function dr(e,t,a){let o=a??lp(),r={token:"",...np,...ur(t),...ur(o),...ur(e),theme:{...t?.theme??{},...o.theme,...e?.theme}};if(!r.token)throw new Error("[WaniWani] Missing required config: `token`. Set data-token on the script tag or pass it to WaniWani.chat.init().");return r}function Ci(e){if(!(!e.theme||Object.keys(e.theme).length===0))return e.theme}import{useEffect as dC,useState as fC}from"react";var up="waniwani:config:";function Ii(e,t,a){return`${up}${e}|${t}|${a??""}`}function Si(e,t,a){if(typeof window>"u")return null;try{let o=window.sessionStorage.getItem(Ii(e,t,a));if(!o)return null;let r=JSON.parse(o);return r&&typeof r=="object"?r:null}catch{return null}}function yi(e,t,a,o){if(!(typeof window>"u"))try{window.sessionStorage.setItem(Ii(e,t,a),JSON.stringify(o))}catch{}}async function ki(e,t,a,o){try{let r=`${e.replace(/\/$/,"")}/config`,s=o?`${r}?channel=${encodeURIComponent(o)}`:r,n=await fetch(s,{method:"GET",headers:{Authorization:`Bearer ${t}`},signal:a});if(!n.ok)return{};let i=await n.json(),l=i&&typeof i=="object"&&"data"in i&&i.data?i.data:i;return l?dp(l):{}}catch{return{}}}function dp(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}import{jsx as hp}from"react/jsx-runtime";var pp=600,Pi="https://app.waniwani.ai/api/mcp/chat",mp=fp(function(t,a){let{token:o,channelId:r,className:s,overrides:n}=t,i=bi(()=>({token:o,channelId:r,api:n?.api,mcpServerUrl:n?.mcpServerUrl,title:n?.title,welcomeMessage:n?.welcomeMessage,placeholder:n?.placeholder,suggestions:n?.suggestions,enableThreadHistory:n?.enableThreadHistory,showToolCalls:n?.showToolCalls,theme:n?.theme}),[o,r,n?.api,n?.mcpServerUrl,n?.title,n?.welcomeMessage,n?.placeholder,n?.suggestions,n?.enableThreadHistory,n?.showToolCalls,n?.theme]),l=n?.api??Pi,[u,f]=Ti({}),[d,p]=Ti(!1);cp(()=>{if(!o){p(!0);return}let x=Si(l,o,r);x&&(f(x),p(!0));let w=new AbortController,g=setTimeout(()=>p(!0),pp);return ki(l,o,w.signal,r).then(m=>{w.signal.aborted||(Object.keys(m).length>0&&(yi(l,o,r,m),f(m)),p(!0))}).catch(m=>{console.error("[WaniWani] Remote config fetch failed:",m),p(!0)}).finally(()=>clearTimeout(g)),()=>{w.abort(),clearTimeout(g)}},[l,o,r]);let c=bi(()=>dr(i,u,void 0),[i,u]),h=Ci(c),C={};return c.mcpServerUrl&&(C.mcpServerUrl=c.mcpServerUrl),c.channelId&&(C.channelId=c.channelId),hp(lr,{ref:a,api:c.api??Pi,headers:{Authorization:`Bearer ${c.token}`},skipRemoteConfig:!0,body:Object.keys(C).length>0?C:void 0,theme:h,title:c.title,welcomeMessage:c.welcomeMessage,welcome:n?.welcome,placeholder:c.placeholder,suggestions:c.suggestions?{initial:c.suggestions}:void 0,enableThreadHistory:c.enableThreadHistory,showToolCalls:c.showToolCalls,allowAttachments:n?.allowAttachments,className:s,initializing:!d})});export{ap as ChatCard,lr as ChatEmbed,Jc as DARK_THEME,gi as DEFAULT_THEME,Jo as McpAppFrame,mp as WaniwaniChat,Ut as mergeTheme,Ht as themeToCSSProperties};
17
17
  /*! Bundled license information:
18
18