@waniwani/sdk 0.5.3-beta.2 → 0.5.3-beta.3

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 Oo,b as qo,c as Ho,d as We,e as ze,f as jt,g as Uo,h as Go,i as Wo,j
12
12
  \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function Cs(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=Vt);let u=tu(o,e.properties),f=o.all(r.space==="html"&&e.tagName==="template"?e.content:e);return o.schema=r,f&&(n=!1),(u||!s||!xs(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||!Et(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function tu(e,t){let a=[],o=-1,r;if(t){for(r in t)if(t[r]!==null&&t[r]!==void 0){let s=au(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 au(e,t,a){let o=Wo(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=Ce(o.attribute,Object.assign({},e.settings.characterReferences,{subset:ha.name[r][s]}));return a===!0||(a=Array.isArray(a)?(o.commaSeparated?Vo:$o)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=Ce(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:ha.unquoted[r][s]}))),i!==a&&(e.settings.quoteSmart&&Na(a,n)>Na(a,e.alternative)&&(n=e.alternative),i=n+Ce(a,Object.assign({},e.settings.characterReferences,{subset:(n==="'"?ha.single:ha.double)[r][s],attribute:!0}))+n),l+(i&&"="+i))}var ou=["<","&"];function ga(e,t,a,o){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:Ce(e.value,Object.assign({},o.settings.characterReferences,{subset:ou}))}function Is(e,t,a,o){return o.settings.allowDangerousHtml?e.value:ga(e,t,a,o)}function Ss(e,t,a,o){return o.all(e)}var ys=jo("type",{invalid:ru,unknown:su,handlers:{comment:ms,doctype:hs,element:Cs,raw:Is,root:Ss,text:ga}});function ru(e){throw new Error("Expected node, not `"+e+"`")}function su(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var nu={},lu={},iu=[];function uo(e,t){let a=t||nu,o=a.quote||'"',r=o==='"'?"'":'"';if(o!=='"'&&o!=="'")throw new Error("Invalid quote `"+o+"`, expected `'` or `\"`");return{one:uu,all:du,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||Go,characterReferences:a.characterReferences||lu,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?Vt:zo,quote:o,alternative:r}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function uu(e,t,a){return ys(e,t,a,this)}function du(e){let t=[],a=e&&e.children||iu,o=-1;for(;++o<a.length;)t[o]=this.one(a[o],o,e);return t.join("")}function wa(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 be(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function fu(e){return Array.isArray(e)?e:[e]}async function Fs(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function go(e){return!e||["plaintext","txt","text","plain"].includes(e)}function Ms(e){return e==="ansi"||go(e)}function wo(e){return e==="none"}function Rs(e){return wo(e)}function Bs(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 Sa(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 cu(e){let t=Sa(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 Ds(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 Lo="light-dark()",pu=["color","background-color"];function mu(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 hu(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?mu(r,s):r})):e}function gu(e,t,a,o,r="css-vars"){let s={content:e.content,explanation:e.explanation,offset:e.offset},n=t.map(f=>La(e.variants[f])),i=new Set(n.flatMap(f=>Object.keys(f))),l={},u=(f,d)=>{let c=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return a+t[f]+(d==="color"?"":c)};return n.forEach((f,d)=>{for(let c of i){let p=f[c]||"inherit";if(d===0&&o&&pu.includes(c))if(o===Lo&&n.length>1){let g=t.findIndex(w=>w==="light"),S=t.findIndex(w=>w==="dark");if(g===-1||S===-1)throw new W('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let L=n[g][c]||"inherit",m=n[S][c]||"inherit";l[c]=`light-dark(${L}, ${m})`,r==="css-vars"&&(l[u(d,c)]=p)}else l[c]=p;else r==="css-vars"&&(l[u(d,c)]=p)}}),s.htmlStyle=l,s}function La(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&Y.Italic&&(t["font-style"]="italic"),e.fontStyle&Y.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&Y.Underline&&a.push("underline"),e.fontStyle&Y.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function po(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var _s=new WeakMap;function ya(e,t){_s.set(e,t)}function Ot(e){return _s.get(e)}var ot=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(fu(a).map(o=>[o,fa])),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 wu(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function wu(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 Lu(e,t){if(!(e instanceof ot))throw new W("Invalid grammar state");return e.getInternalStack(t)}function xu(){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 W(`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 W(`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 W(`Invalid decoration position ${JSON.stringify(n)}. Line ${n.line} length: ${i.length}`);return{...n,character:l,offset:r.posToIndex(n.line,l)}}},r=cu(a.source),s=(a.options.decorations||[]).map(n=>({...n,start:o(n.start),end:o(n.end)}));Cu(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 hu(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 W(`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,c,p){let g=r[f],S="",L=-1,m=-1;if(d===0&&(L=0),c===0&&(m=0),c===Number.POSITIVE_INFINITY&&(m=g.children.length),L===-1||m===-1)for(let h=0;h<g.children.length;h++)S+=Es(g.children[h]),L===-1&&S.length===d&&(L=h+1),m===-1&&S.length===c&&(m=h+1);if(L===-1)throw new W(`Failed to find start index for decoration ${JSON.stringify(p.start)}`);if(m===-1)throw new W(`Failed to find end index for decoration ${JSON.stringify(p.end)}`);let w=g.children.slice(L,m);if(!p.alwaysWrap&&w.length===g.children.length)i(g,p,"line");else if(!p.alwaysWrap&&w.length===1&&w[0].type==="element")i(w[0],p,"token");else{let h={type:"element",tagName:"span",properties:{},children:w};i(h,p,"wrapper"),g.children.splice(L,w.length,h)}}function n(f,d){r[f]=i(r[f],d,"line")}function i(f,d,c){let p=d.properties||{},g=d.transform||(S=>S);return f.tagName=d.tagName||"span",f.properties={...f.properties,...p,class:f.properties.class},d.properties?.class&&Bs(f,d.properties.class),f=g(f,c)||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:c}=f;if(d.line===c.line)s(d.line,d.character,c.character,f);else if(d.line<c.line){s(d.line,d.character,Number.POSITIVE_INFINITY,f);for(let p=d.line+1;p<c.line;p++)l.unshift(()=>n(p,f));s(c.line,0,c.character,f)}}l.forEach(f=>f())}}}function Cu(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new W(`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 W(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(r.start)} intersect.`)}}}}function Es(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(Es).join(""):""}var Iu=[xu()];function xa(e){let t=Su(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...Iu]}function Su(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 Ee=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],fo={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function yu(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 ks(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 ku(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)fo[o]&&t.push({type:"setDecoration",value:fo[o]});else if(o<=29){let r=fo[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:Ee[o-30]}});else if(o===38){let r=ks(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:Ee[o-40]}});else if(o===48){let r=ks(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:Ee[o-90+8]}}):o>=100&&o<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:Ee[o-100+8]}})}return t}function bu(){let e=null,t=null,a=new Set;return{parse(o){let r=[],s=0;do{let n=yu(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=ku(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 Pu={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 Tu(e=Pu){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<Ee.length;u++)o.push(t(Ee[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 Au={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 vu(e,t,a){let o=wa(e,a),r=Sa(t),s=Object.fromEntries(Ee.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,f=e.colors?.[u];return[l,f||Au[l]]})),n=Tu(s),i=bu();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=be(f,o),d=be(d,o),u.decorations.has("dim")&&(f=Fu(f));let c=Y.None;return u.decorations.has("bold")&&(c|=Y.Bold),u.decorations.has("italic")&&(c|=Y.Italic),u.decorations.has("underline")&&(c|=Y.Underline),u.decorations.has("strikethrough")&&(c|=Y.Strikethrough),{content:u.value,offset:l[1],color:f,bgColor:d,fontStyle:c}}))}function Fu(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 xo(e,t,a={}){let{theme:o=e.getLoadedThemes()[0]}=a,r=e.resolveLangAlias(a.lang||"text");if(go(r)||wo(o))return Sa(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:s,colorMap:n}=e.setTheme(o);if(r==="ansi")return vu(s,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new W(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(s.name))throw new W(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${s.name}"`)}return Ru(t,i,s,n,a)}function Mu(...e){if(e.length===2)return Ot(e[1]);let[t,a,o={}]=e,{lang:r="text",theme:s=t.getLoadedThemes()[0]}=o;if(go(r)||wo(s))throw new W("Plain language does not have grammar state");if(r==="ansi")throw new W("ANSI language does not have grammar state");let{theme:n,colorMap:i}=t.setTheme(s),l=t.getLanguage(r);return new ot(Co(a,l,n,i,o).stateStack,l.name,n.name)}function Ru(e,t,a,o,r){let s=Co(e,t,a,o,r),n=new ot(s.stateStack,t.name,a.name);return ya(s.tokens,n),s.tokens}function Co(e,t,a,o,r){let s=wa(a,r),{tokenizeMaxLineLength:n=0,tokenizeTimeLimit:i=500}=r,l=Sa(e),u=r.grammarState?Lu(r.grammarState,a.name)??fa:r.grammarContextCode!=null?Co(r.grammarContextCode,t,a,o,{...r,grammarState:void 0,grammarContextCode:void 0}).stateStack:fa,f=[],d=[];for(let c=0,p=l.length;c<p;c++){let[g,S]=l[c];if(g===""){f=[],d.push([]);continue}if(n>0&&g.length>=n){f=[],d.push([{content:g,offset:S,color:"",fontStyle:0}]);continue}let L,m,w;r.includeExplanation&&(L=t.tokenizeLine(g,u,i),m=L.tokens,w=0);let h=t.tokenizeLine2(g,u,i),x=h.tokens.length/2;for(let C=0;C<x;C++){let I=h.tokens[2*C],y=C+1<x?h.tokens[2*C+2]:g.length;if(I===y)continue;let k=h.tokens[2*C+1],A=be(o[_e.getForeground(k)],s),T=_e.getFontStyle(k),v={content:g.substring(I,y),offset:S+I,color:A,fontStyle:T};if(r.includeExplanation){let R=[];if(r.includeExplanation!=="scopeName")for(let j of a.settings){let H;switch(typeof j.scope){case"string":H=j.scope.split(/,/).map(ee=>ee.trim());break;case"object":H=j.scope;break;default:continue}R.push({settings:j,selectors:H.map(ee=>ee.split(/ /))})}v.explanation=[];let $=0;for(;I+$<y;){let j=m[w],H=g.substring(j.startIndex,j.endIndex);$+=H.length,v.explanation.push({content:H,scopes:r.includeExplanation==="scopeName"?Bu(j.scopes):Du(R,j.scopes)}),w+=1}}f.push(v)}d.push(f),f=[],u=h.ruleStack}return{tokens:d,stateStack:u}}function Bu(e){return e.map(t=>({scopeName:t}))}function Du(e,t){let a=[];for(let o=0,r=t.length;o<r;o++){let s=t[o];a[o]={scopeName:s,themeMatches:Eu(e,s,t.slice(0,o))}}return a}function bs(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function _u(e,t,a){if(!bs(e[e.length-1],t))return!1;let o=e.length-2,r=a.length-1;for(;o>=0&&r>=0;)bs(e[o],a[r])&&(o-=1),r-=1;return o===-1}function Eu(e,t,a){let o=[];for(let{selectors:r,settings:s}of e)for(let n of r)if(_u(n,t,a)){o.push(s);break}return o}function Ns(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=xo(e,t,{...a,theme:l.theme}),f=Ot(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:f,theme:d}}),s=Nu(...r.map(l=>l.tokens)),n=s[0].map((l,u)=>l.map((f,d)=>{let c={content:f.content,variants:{},offset:f.offset};return"includeExplanation"in a&&a.includeExplanation&&(c.explanation=f.explanation),s.forEach((p,g)=>{let{content:S,explanation:L,offset:m,...w}=p[u][d];c.variants[o[g].color]=w}),c})),i=r[0].state?new ot(Object.fromEntries(r.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),r[0].state.lang):void 0;return i&&ya(n,i),n}function Nu(...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 Ca(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,c=Object.entries(a.themes).filter(m=>m[1]).map(m=>({color:m[0],theme:m[1]})).sort((m,w)=>m.color===u?-1:w.color===u?1:0);if(c.length===0)throw new W("`themes` option must not be empty");let p=Ns(e,t,a);if(l=Ot(p),u&&Lo!==u&&!c.find(m=>m.color===u))throw new W(`\`themes\` option must contain the defaultColor key \`${u}\``);let g=c.map(m=>e.getTheme(m.theme)),S=c.map(m=>m.color);s=p.map(m=>m.map(w=>gu(w,S,f,u,d))),l&&ya(s,l);let L=c.map(m=>wa(m.theme,a));r=Ps(c,g,L,f,u,"fg",d),o=Ps(c,g,L,f,u,"bg",d),n=`shiki-themes ${g.map(m=>m.name).join(" ")}`,i=u?void 0:[r,o].join(";")}else if("theme"in a){let u=wa(a.theme,a);s=xo(e,t,a);let f=e.getTheme(a.theme);o=be(f.bg,u),r=be(f.fg,u),n=f.name,l=Ot(s)}else throw new W("Invalid options, either `theme` or `themes` must be provided");return{tokens:s,fg:r,bg:o,themeName:n,rootStyle:i,grammarState:l}}function Ps(e,t,a,o,r,s,n){return e.map((i,l)=>{let u=be(t[l][s],a[l])||"inherit",f=`${o+i.color}${s==="bg"?"-bg":""}:${u}`;if(l===0&&r){if(r===Lo&&e.length>1){let d=e.findIndex(S=>S.color==="light"),c=e.findIndex(S=>S.color==="dark");if(d===-1||c===-1)throw new W('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let p=be(t[d][s],a[d])||"inherit",g=be(t[c][s],a[c])||"inherit";return`light-dark(${p}, ${g});${f}`}return u}return n==="css-vars"?f:null}).filter(i=>!!i).join(";")}function Ia(e,t,a,o={meta:{},options:a,codeToHast:(r,s)=>Ia(e,r,s),codeToTokens:(r,s)=>Ca(e,r,s)}){let r=t;for(let g of xa(a))r=g.preprocess?.call(o,r,a)||r;let{tokens:s,fg:n,bg:i,themeName:l,rootStyle:u,grammarState:f}=Ca(e,r,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:c=!1}=a;d===!0?s=qu(s):d==="never"&&(s=Hu(s)),c&&(s=Uu(s));let p={...o,get source(){return r}};for(let g of xa(a))s=g.tokens?.call(p,s)||s;return Ou(s,{...a,fg:n,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,f)}function Ou(e,t,a,o=Ot(e)){let r=xa(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[S,L]of Object.entries(t.meta||{}))S.startsWith("_")||(u[S]=L);let f={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:s},c=[],p={...a,structure:i,addClassToHast:Bs,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 c}};if(e.forEach((S,L)=>{L&&(i==="inline"?n.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&s.push({type:"text",value:`
13
13
  `}));let m={type:"element",tagName:"span",properties:{class:"line"},children:[]},w=0;for(let h of S){let x={type:"element",tagName:"span",properties:{...h.htmlAttrs},children:[{type:"text",value:h.content}]},C=po(h.htmlStyle||La(h));C&&(x.properties.style=C);for(let I of r)x=I?.span?.call(p,x,L+1,w,m,h)||x;i==="inline"?n.children.push(x):i==="classic"&&m.children.push(x),w+=h.content.length}if(i==="classic"){for(let h of r)m=h?.line?.call(p,m,L+1)||m;c.push(m),s.push(m)}else i==="inline"&&c.push(m)}),i==="classic"){for(let S of r)d=S?.code?.call(p,d)||d;f.children.push(d);for(let S of r)f=S?.pre?.call(p,f)||f;n.children.push(f)}else if(i==="inline"){let S=[],L={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let h of n.children)h.type==="element"&&h.tagName==="br"?(S.push(L),L={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(h.type==="element"||h.type==="text")&&L.children.push(h);S.push(L);let w={type:"element",tagName:"code",properties:{},children:S};for(let h of r)w=h?.code?.call(p,w)||w;n.children=[];for(let h=0;h<w.children.length;h++){h>0&&n.children.push({type:"element",tagName:"br",properties:{},children:[]});let x=w.children[h];x.type==="element"&&n.children.push(...x.children)}}let g=n;for(let S of r)g=S?.root?.call(p,g)||g;return o&&ya(g,o),g}function qu(e){return e.map(t=>{let a=[],o="",r;return t.forEach((s,n)=>{let l=!(s.fontStyle&&(s.fontStyle&Y.Underline||s.fontStyle&Y.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 Hu(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 Uu(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=po(r.htmlStyle||La(r)),n=po(o.htmlStyle||La(o)),i=r.fontStyle&&(r.fontStyle&Y.Underline||r.fontStyle&Y.Strikethrough),l=o.fontStyle&&(o.fontStyle&Y.Underline||o.fontStyle&Y.Strikethrough);!i&&!l&&s===n?r.content+=o.content:a.push({...o})}return a})}var Gu=uo;function Wu(e,t,a){let o={meta:{},options:a,codeToHast:(s,n)=>Ia(e,s,n),codeToTokens:(s,n)=>Ca(e,s,n)},r=Gu(Ia(e,t,a,o));for(let s of xa(a))r=s.postprocess?.call(o,r,a)||r;return r}var Ts={light:"#333333",dark:"#bbbbbb"},As={light:"#fffffe",dark:"#1e1e1e"},vs="__shiki_resolved";function Io(e){if(e?.[vs])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"?Ts.light:Ts.dark),a||(a=t.type==="light"?As.light:As.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,vs,{enumerable:!1,writable:!1,value:!0}),t}async function Os(e){return Array.from(new Set((await Promise.all(e.filter(t=>!Ms(t)).map(async t=>await Fs(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function qs(e){return(await Promise.all(e.map(async a=>Rs(a)?null:Io(await Fs(a))))).filter(a=>!!a)}var co=3,zu=!1;function ju(e,t=3){if(co&&!(typeof co=="number"&&t>co)){if(zu)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var ke=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Hs(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 ke(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var mo=class extends rs{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=Io(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=Mt.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=Hs(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 ke(`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))}},ho=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}},Nt=0;function Vu(e){Nt+=1,e.warnings!==!1&&Nt>=10&&Nt%10===0&&console.warn(`[Shiki] ${Nt} 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 ke("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),o=(e.themes||[]).flat(1).map(Io),r=new ho(e.engine,a),s=new mo(r,o,a,e.langAlias),n;function i(h){return Hs(h,e.langAlias)}function l(h){m();let x=s.getGrammar(typeof h=="string"?h:h.name);if(!x)throw new ke(`Language \`${h}\` not found, you may need to load it first`);return x}function u(h){if(h==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};m();let x=s.getTheme(h);if(!x)throw new ke(`Theme \`${h}\` not found, you may need to load it first`);return x}function f(h){m();let x=u(h);n!==h&&(s.setTheme(x),n=h);let C=s.getColorMap();return{theme:x,colorMap:C}}function d(){return m(),s.getLoadedThemes()}function c(){return m(),s.getLoadedLanguages()}function p(...h){m(),s.loadLanguages(h.flat(1))}async function g(...h){return p(await Os(h))}function S(...h){m();for(let x of h.flat(1))s.loadTheme(x)}async function L(...h){return m(),S(await qs(h))}function m(){if(t)throw new ke("Shiki instance has been disposed")}function w(){t||(t=!0,s.dispose(),Nt-=1)}return{setTheme:f,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:c,resolveLangAlias:i,loadLanguage:g,loadLanguageSync:p,loadTheme:L,loadThemeSync:S,dispose:w,[Symbol.dispose]:w}}async function $u(e){e.engine||ju("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,o]=await Promise.all([qs(e.themes||[]),Os(e.langs||[]),e.engine]);return Vu({...e,themes:t,langs:a,engine:o})}async function Xu(e){let t=await $u(e);return{getLastGrammarState:(...a)=>Mu(t,...a),codeToTokensBase:(a,o)=>xo(t,a,o),codeToTokensWithThemes:(a,o)=>Ns(t,a,o),codeToTokens:(a,o)=>Ca(t,a,o),codeToHast:(a,o)=>Ia(t,a,o),codeToHtml:(a,o)=>Wu(t,a,o),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function Us(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,Ms(d))return[];let c=t[d];if(!c)throw new W(`Language \`${d}\` is not included in this bundle. You may want to load it from external source.`);return c}return d}function i(d){if(Rs(d))return"none";if(typeof d=="string"){let c=a[d];if(!c)throw new W(`Theme \`${d}\` is not included in this bundle. You may want to load it from external source.`);return c}return d}let l=(s.themes??[]).map(d=>i(d)),u=(s.langs??[]).map(d=>n(d)),f=await Xu({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 Qu(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 Gs(e,t){let a=Qu(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 So=[{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"))}],Ws=Object.fromEntries(So.map(e=>[e.id,e.import])),zs=Object.fromEntries(So.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),qt={...Ws,...zs};var Ku=[{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"))}],js=Object.fromEntries(Ku.map(e=>[e.id,e.import]));var Ht=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Ju(){return 2147483648}function Zu(){return typeof performance<"u"?performance.now():Date.now()}var Yu=(e,t)=>e+(t-e%t)%t;async function ed(e){let t,a,o={};function r(p){a=p,o.HEAPU8=new Uint8Array(p),o.HEAPU32=new Uint32Array(p)}function s(p,g,S){o.HEAPU8.copyWithin(p,g,g+S)}function n(p){try{return t.grow(p-a.byteLength+65535>>>16),r(t.buffer),1}catch{}}function i(p){let g=o.HEAPU8.length;p=p>>>0;let S=Ju();if(p>S)return!1;for(let L=1;L<=4;L*=2){let m=g*(1+.2/L);m=Math.min(m,p+100663296);let w=Math.min(S,Yu(Math.max(p,m),65536));if(n(w))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(p,g,S=1024){let L=g+S,m=g;for(;p[m]&&!(m>=L);)++m;if(m-g>16&&p.buffer&&l)return l.decode(p.subarray(g,m));let w="";for(;g<m;){let h=p[g++];if(!(h&128)){w+=String.fromCharCode(h);continue}let x=p[g++]&63;if((h&224)===192){w+=String.fromCharCode((h&31)<<6|x);continue}let C=p[g++]&63;if((h&240)===224?h=(h&15)<<12|x<<6|C:h=(h&7)<<18|x<<12|C<<6|p[g++]&63,h<65536)w+=String.fromCharCode(h);else{let I=h-65536;w+=String.fromCharCode(55296|I>>10,56320|I&1023)}}return w}function f(p,g){return p?u(o.HEAPU8,p,g):""}let d={emscripten_get_now:Zu,emscripten_memcpy_big:s,emscripten_resize_heap:i,fd_write:()=>0};async function c(){let g=await e({env:d,wasi_snapshot_preview1:d});t=g.memory,r(t.buffer),Object.assign(o,g),o.UTF8ToString=f}return await c(),o}var td=Object.defineProperty,ad=(e,t,a)=>t in e?td(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,X=(e,t,a)=>ad(e,typeof t!="symbol"?t+"":t,a),K=null;function od(e){throw new Ht(e.UTF8ToString(e.getLastOnigError()))}var ba=class e{constructor(t){X(this,"utf16Length"),X(this,"utf8Length"),X(this,"utf16Value"),X(this,"utf8Value"),X(this,"utf16OffsetToUtf8"),X(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,c=!1;if(f>=55296&&f<=56319&&u+1<a){let p=t.charCodeAt(u+1);p>=56320&&p<=57343&&(d=(f-55296<<10)+65536|p-56320,c=!0)}r&&(s[u]=l,c&&(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),c&&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}},Pa=class Le{constructor(t){if(X(this,"id",++Le.LAST_ID),X(this,"_onigBinding"),X(this,"content"),X(this,"utf16Length"),X(this,"utf8Length"),X(this,"utf16OffsetToUtf8"),X(this,"utf8OffsetToUtf16"),X(this,"ptr"),!K)throw new Ht("Must invoke loadWasm first.");this._onigBinding=K,this.content=t;let a=new ba(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!Le._sharedPtrInUse?(Le._sharedPtr||(Le._sharedPtr=K.omalloc(1e4)),Le._sharedPtrInUse=!0,K.HEAPU8.set(a.utf8Value,Le._sharedPtr),this.ptr=Le._sharedPtr):this.ptr=a.createString(K)}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===Le._sharedPtr?Le._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};X(Pa,"LAST_ID",0);X(Pa,"_sharedPtr",0);X(Pa,"_sharedPtrInUse",!1);var Vs=Pa,ko=class{constructor(t){if(X(this,"_onigBinding"),X(this,"_ptr"),!K)throw new Ht("Must invoke loadWasm first.");let a=[],o=[];for(let i=0,l=t.length;i<l;i++){let u=new ba(t[i]);a[i]=u.createString(K),o[i]=u.utf8Length}let r=K.omalloc(4*t.length);K.HEAPU32.set(a,r/4);let s=K.omalloc(4*t.length);K.HEAPU32.set(o,s/4);let n=K.createOnigScanner(r,s,t.length);for(let i=0,l=t.length;i<l;i++)K.ofree(a[i]);K.ofree(s),K.ofree(r),n===0&&od(K),this._onigBinding=K,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 Vs(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 c=0;c<f;c++){let p=t.convertUtf8OffsetToUtf16(i[l++]),g=t.convertUtf8OffsetToUtf16(i[l++]);d[c]={start:p,end:g,length:g-p}}return{index:u,captureIndices:d}}};function rd(e){return typeof e.instantiator=="function"}function sd(e){return typeof e.default=="function"}function nd(e){return typeof e.data<"u"}function ld(e){return typeof Response<"u"&&e instanceof Response}function id(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 ka;function ud(e){if(ka)return ka;async function t(){K=await ed(async a=>{let o=e;return o=await o,typeof o=="function"&&(o=await o(a)),typeof o=="function"&&(o=await o(a)),rd(o)?o=await o.instantiator(a):sd(o)?o=await o.default(a):(nd(o)&&(o=o.data),ld(o)?typeof WebAssembly.instantiateStreaming=="function"?o=await dd(o)(a):o=await fd(o)(a):id(o)?o=await yo(o)(a):o instanceof WebAssembly.Module?o=await yo(o)(a):"default"in o&&o.default instanceof WebAssembly.Module&&(o=await yo(o.default)(a))),"instance"in o&&(o=o.instance),"exports"in o&&(o=o.exports),o})}return ka=t(),ka}function yo(e){return t=>WebAssembly.instantiate(e,t)}function dd(e){return t=>WebAssembly.instantiateStreaming(e,t)}function fd(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function $s(e){return e&&await ud(e),{createScanner(t){return new ko(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new Vs(t)}}}var Ta=Us({langs:qt,themes:js,engine:()=>$s(import("../wasm-EOPKAILK.js"))}),{codeToHtml:cd,codeToHast:pd,codeToTokens:md,codeToTokensBase:hd,codeToTokensWithThemes:gd,getSingletonHighlighter:wd,getLastGrammarState:Ld}=Gs(Ta,{guessEmbeddedLanguages:Ds});var Xs=new Set(Object.keys(qt)),bo=new Map,Po=new Map,rt=new Map,xd=(e,t)=>`${e}-${t[0]}-${t[1]}`,Cd=(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}`},Id=(e,t)=>{let a=xd(e,t);if(bo.has(a))return bo.get(a);let o=Ta({themes:t,langs:[e]});return bo.set(a,o),o};function Sd(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(o){return Xs.has(o)},getSupportedLanguages(){return Array.from(Xs)},getThemes(){return a},highlight({code:o,language:r,themes:s},n){let i=Cd(o,r,s);return Po.has(i)?Po.get(i):(n&&(rt.has(i)||rt.set(i,new Set),rt.get(i).add(n)),Id(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]}});Po.set(i,f);let d=rt.get(i);if(d){for(let c of d)c(f);rt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),rt.delete(i)}),null)}}}var Qs=Sd();import{memo as yd}from"react";import{jsx as Aa}from"react/jsx-runtime";var va=({className:e,from:t,children:a,...o})=>Aa("div",{className:b("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:Aa("div",{className:b("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),Fa=({children:e,className:t,...a})=>Aa("div",{className:b("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}),kd={cjk:Rr,code:Qs},Ma=yd(({className:e,...t})=>Aa(Oa,{className:b("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),plugins:kd,...t}),(e,t)=>e.children===t.children);Ma.displayName="MessageResponse";import{jsx as bd}from"react/jsx-runtime";function Ks({className:e,text:t,...a}){return t?bd("pre",{className:b("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 Pd,useCallback as Td,useContext as Zs,useEffect as Ad,useMemo as To,useRef as vd,useState as Ao}from"react";import{Fragment as Js,jsx as q,jsxs as Pe}from"react/jsx-runtime";function Fd(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 Md({text:e,className:t}){let[a,o]=Ao(!1),r=vd(null);Ad(()=>()=>{r.current&&clearTimeout(r.current)},[]);let s=Td(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 q(he,{variant:"ghost",size:"sm",onClick:s,className:b("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?Pe(Js,{children:[q(Lt,{className:"ww:size-3.5"}),q("span",{children:"Copied"})]}):Pe(Js,{children:[q(It,{className:"ww:size-3.5"}),q("span",{children:"Copy"})]})})}function Ys({data:e,label:t,className:a,...o}){let[r,s]=Ao(!1),n=To(()=>JSON.stringify(e,null,2),[e]),i=Fd(e);return Pe("div",{className:b("ww:rounded-lg ww:bg-tool-card",a),...o,children:[Pe("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[q("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),q(Md,{text:n})]}),Pe("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:[q(Ct,{className:b("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?q("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:q("code",{children:n})}):q("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var vo=Pd({open:!1,toggle:()=>{}});function en({className:e,defaultOpen:t=!1,children:a,...o}){let[r,s]=Ao(t);return q(vo.Provider,{value:{open:r,toggle:()=>s(n=>!n)},children:q("div",{className:b("ww:mb-4 ww:w-full",e),"data-state":r?"open":"closed",...o,children:a})})}function tn({className:e,title:t,state:a,...o}){let{open:r,toggle:s}=Zs(vo),n=a==="input-available"||a==="input-streaming";return Pe("button",{type:"button",onClick:s,className:b("ww:flex ww:w-full ww:items-center ww:justify-between ww:gap-3 ww:py-1.5",e),"aria-expanded":r,...o,children:[Pe("div",{className:"ww:flex ww:min-w-0 ww:items-center ww:gap-2",children:[q(Ie,{className:"ww:size-4 ww:shrink-0 ww:text-muted-foreground"}),q("span",{className:"ww:truncate ww:text-sm ww:font-medium",children:t}),n&&q("span",{className:"ww:size-2 ww:shrink-0 ww:rounded-full ww:bg-primary ww:animate-pulse"})]}),q(xt,{className:b("ww:size-4 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-200",r&&"ww:rotate-180")})]})}function an({className:e,children:t,...a}){let{open:o}=Zs(vo);return q("div",{className:b("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:q("div",{className:"ww:min-h-0 ww:overflow-hidden",children:q("div",{className:b("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 on({className:e,input:t,debug:a,...o}){let r=To(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...n}=t;return n}return t},[t,a]);return q(Ys,{data:r,label:"Request",className:e,...o})}function rn(e){if(typeof e!="object"||e===null)return;let t=e._meta;if(typeof t!="object"||t===null)return;let a=t.ui;if(!(typeof a!="object"||a===null))return a}function sn(e){let t=rn(e)?.resourceUri;return typeof t=="string"?t:void 0}function nn(e){return rn(e)?.autoHeight===!0}function ln({className:e,output:t,errorText:a,debug:o,...r}){let s=To(()=>{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?Pe("div",{className:b("ww:space-y-2",e),...r,children:[q("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:"Error"}),q("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):q(Ys,{data:s,label:"Response",className:e,...r}):null}import{useCallback as Rd,useEffect as dn,useMemo as Bd,useRef as se,useState as fn}from"react";function st(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 un(e,t){return!st(e)&&!st(t)?null:st(e)?st(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 zd}from"react/jsx-runtime";var Dd="/api/mcp/resource",_d=500,Ed=0,Nd=16,Od="2026-01-26",qd=300,Hd=3e3,Ud=3;function Fo(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Gd(e){let t=e._meta;if(!t||typeof t!="object")return!1;if(Fo(t["openai/outputTemplate"]))return!0;let o=t.ui;return!o||typeof o!="object"?!1:!!Fo(o.resourceUri)}function Wd(e){return Gd(e)?!1:e._meta?.["waniwani/autoInjectResultText"]!==!1}function Mo({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:o=Dd,chatSessionId:r,isDark:s=!1,className:n,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:f,onDisplayModeChange:d,isFullscreen:c=!1}){let p=se(null),g=se(t),S=se(a),L=se({width:0,height:0}),m=se(null),w=se(!1),h=se(0),x=se("inline"),[C,I]=fn(Ed),[y,k]=fn(void 0),A=se(l),T=se(u),v=se(f),R=se(d),$=se(r);g.current=t,S.current=a,A.current=l,T.current=u,v.current=f,R.current=d,$.current=r;let j=Rd(U=>i?Math.max(U+Nd,0):Math.min(Math.max(U,50),_d),[i]),H=Bd(()=>`${o}?uri=${encodeURIComponent(e)}`,[o,e]),ee=se(s);return ee.current=s,dn(()=>{if(!w.current)return;let U=p.current;U?.contentWindow&&U.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:s?"dark":"light"}},"*")},[s]),dn(()=>{let U=p.current;if(!U)return;let P=!1,F=!1,M=null,B=null,E=setTimeout(()=>{if(P||F||h.current>=Ud)return;h.current+=1;let pe=new URL(U.src);pe.searchParams.set("_retry",String(h.current)),U.src=pe.toString()},Hd),N=pe=>{U.contentWindow?.postMessage(pe,"*")},Te=pe=>{if(P||pe.source!==U.contentWindow)return;let re=pe.data;if(!re||typeof re!="object"||re.jsonrpc!=="2.0")return;let me=re.method,Q=re.id;if(me==="ui/initialize"&&Q!=null){F=!0,clearTimeout(E),N({jsonrpc:"2.0",id:Q,result:{protocolVersion:re.params?.protocolVersion??Od,hostInfo:{name:"WaniWani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:ee.current?"dark":"light",displayMode:x.current}}});return}if(me==="ui/notifications/initialized"){w.current=!0;let G=g.current,D=S.current,V=D._meta&&typeof D._meta=="object"?D._meta:null,oe=Fo($.current),Ae=V&&typeof V.waniwani=="object"&&V.waniwani!==null?V.waniwani:null,Ue=Ae||oe?{...Ae??{},...oe?{sessionId:oe}:{}}:void 0,Ge=V||Ue?{...V??{},...Ue?{waniwani:Ue}:{}}:void 0;N({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:G}});let Wt=D.content??[{type:"text",text:JSON.stringify(D)}];N({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:Wt,structuredContent:D.structuredContent,_meta:Ge,meta:Ge}});return}if(me==="ui/notifications/size-changed"){let G=re.params,D=typeof G?.height=="number"?G.height:void 0,V=typeof G?.width=="number"?G.width:void 0,oe=L.current,Ae=D!==void 0&&D!==oe.height,Ue=V!==void 0&&V!==oe.width;if(!Ae&&!Ue)return;if(Ae&&D!==void 0){oe.height=D;let Ge=j(D),Wt=U.getBoundingClientRect().height;if(m.current&&(m.current.cancel(),m.current=null),I(Ge),U.animate&&Math.abs(Wt-Ge)>2){let zt=U.animate([{height:`${Wt}px`},{height:`${Ge}px`}],{duration:qd,easing:"ease-out",fill:"forwards"});m.current=zt,zt.onfinish=()=>{m.current===zt&&(zt.cancel(),m.current=null)}}}Ue&&i&&V!==void 0&&(oe.width=V,k(V));return}if(me==="ui/open-link"&&Q!=null){let G=re.params?.url;typeof G=="string"&&(A.current?A.current(G):window.open(G,"_blank","noopener,noreferrer")),N({jsonrpc:"2.0",id:Q,result:{}});return}if(me==="ui/message"&&Q!=null){if(T.current&&re.params){let G=re.params,D=M;if(M=null,B){clearTimeout(B.timer);let V=B.text;B=null;let oe=(G.content??[]).map(Ae=>Ae.text??"").join("").trim();G={...G,content:[{type:"text",text:`${oe}
14
14
 
15
- ${V}`}]}}T.current({...G,...D?{modelContext:D}:{}})}N({jsonrpc:"2.0",id:Q,result:{}});return}if(me==="ui/update-model-context"&&Q!=null){M=un(M,re.params),N({jsonrpc:"2.0",id:Q,result:{}});return}if(me==="tools/call"&&Q!=null){let G=v.current;if(!G){N({jsonrpc:"2.0",id:Q,error:{code:-32601,message:"tools/call not supported"}});return}G({name:re.params?.name,arguments:re.params?.arguments??{}}).then(D=>{N({jsonrpc:"2.0",id:Q,result:D});let V=D.content?.map(oe=>oe.text??"").join("").trim();V&&Wd(D)&&(B&&clearTimeout(B.timer),B={text:V,timer:setTimeout(()=>{if(P)return;let oe=M;M=null,B=null,T.current?.({role:"user",content:[{type:"text",text:V}],...oe?{modelContext:oe}:{}})},500)})}).catch(D=>{let V=D instanceof Error?D.message:"Tool call failed";N({jsonrpc:"2.0",id:Q,error:{code:-32e3,message:V}})});return}if(me==="ui/request-display-mode"&&Q!=null){let G=re.params?.mode,D=G==="fullscreen"||G==="inline"||G==="pip"?G:"inline";x.current=D,N({jsonrpc:"2.0",id:Q,result:{mode:D}}),N({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:D}}),R.current?.(D);return}if(me==="ui/resource-teardown"&&Q!=null){N({jsonrpc:"2.0",id:Q,result:{}});return}me==="ping"&&Q!=null&&N({jsonrpc:"2.0",id:Q,result:{}})};return window.addEventListener("message",Te),()=>{P=!0,clearTimeout(E),B&&clearTimeout(B.timer),window.removeEventListener("message",Te)}},[i,j]),zd("iframe",{ref:p,src:H,sandbox:"allow-scripts allow-forms allow-same-origin",className:b(!c&&"ww:rounded-md ww:border ww:border-border",n),style:{height:c?"100%":C,minWidth:c||!y?void 0:`min(${y}px, 100%)`,width:"100%",border:"none",colorScheme:s?"dark":"auto"},title:"MCP App"})}import{jsx as Ut,jsxs as jd}from"react/jsx-runtime";function cn({icon:e,title:t,description:a,suggestions:o,onSuggestionSelect:r}){return jd("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&&Ut("div",{className:"ww:mb-4 ww:text-foreground",children:e}),Ut("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&Ut("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),o&&o.length>0&&Ut("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)=>Ut("button",{type:"button",onClick:()=>r?.(s),className:b("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 Vd}from"react";import{jsx as pn,jsxs as $d}from"react/jsx-runtime";var Ra=class extends Vd{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[WaniWani] Widget failed to render:",t.message)}render(){return this.state.hasError?$d("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:[pn("span",{children:"Widget failed to load"}),pn("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 Qd,jsx as J,jsxs as nt}from"react/jsx-runtime";function Xd(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function lt({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:c}){let p=t==="submitted"||t==="streaming",g=e[e.length-1],S=e.length>0,L=p&&(!S||g.role==="user");return nt(Qd,{children:[!S&&o?J(cn,{...o,onSuggestionSelect:r}):a&&J(va,{from:"assistant",children:J(Fa,{children:J(Ma,{children:a})})}),e.map(m=>{let w=m.parts.filter(k=>k.type==="text"),h=m.parts.filter(k=>k.type==="reasoning"),x=m.parts.filter(k=>k.type==="file"),C=m.parts.filter(k=>"toolCallId"in k),I=m===g&&m.role==="assistant",y=w.length>0;return nt(va,{from:m.role,children:[h.map((k,A)=>J(Ks,{text:k.text},`reasoning-${m.id}-${A}`)),C.map(k=>{let A="output"in k?k.output:void 0,T=A!==void 0?sn(A):void 0,v=A!==void 0?nn(A):!1,R=k.toolCallId===d;return nt("div",{style:R?{position:"absolute",inset:0,zIndex:10}:void 0,children:[J("div",{children:nt(en,{defaultOpen:k.state==="output-available",children:[J(tn,{title:k.title??Xd(k.toolName),state:k.state}),nt(an,{children:[J(on,{input:k.input,debug:c}),A!==void 0&&J(ln,{output:A,errorText:"errorText"in k?k.errorText:void 0,debug:c})]})]})}),T&&s&&A!==void 0&&J(Ra,{children:J(Mo,{isFullscreen:R,resourceUri:T,toolInput:k.input??{},toolResult:{content:A.content,structuredContent:A.structuredContent,_meta:A._meta},resourceEndpoint:s,chatSessionId:n,isDark:i,autoHeight:v,onFollowUp:l,onCallTool:u,onDisplayModeChange:f?$=>f($,{toolCallId:k.toolCallId,resourceUri:T,toolInput:k.input??{},toolResult:{content:A.content,structuredContent:A.structuredContent,_meta:A._meta},autoHeight:v}):void 0})})]},k.toolCallId)}),J("div",{children:nt(Fa,{children:[x.length>0&&J(wr,{files:x}),y?w.map((k,A)=>J(Ma,{children:k.type==="text"?k.text:""},`${m.id}-${A}`)):I&&p&&J($a,{})]})})]},m.id)}),L&&J(va,{from:"assistant",children:J(Fa,{children:J($a,{})})})]})}import{jsx as Ba}from"react/jsx-runtime";function it({suggestions:e,isLoading:t,onSelect:a,className:o,...r}){return e.length===0&&!t?null:Ba("div",{className:b("ww:px-4 ww:py-2",o),...r,children:Ba("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=>Ba("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)=>Ba("button",{type:"button",onClick:()=>a(s),className:b("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{useCallback as Kd,useRef as Jd}from"react";function ut(e){let t=Jd(e);return t.current=e,Kd(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 of}from"@ai-sdk/react";import{DefaultChatTransport as rf}from"ai";import{useCallback as Ne,useEffect as Da,useRef as Oe,useState as Ro}from"react";var mn="waniwani-visitor-id";function hn(e,t){return e.match(t)?.[1]??null}function Zd(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=hn(e,o);if(r)return{name:a,version:r}}return null}function Yd(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=hn(e,o);if(r)return{name:a,version:r.replace(/_/g,".")};if(a==="Linux"&&o.test(e))return{name:a,version:""}}return null}function ef(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 tf(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 af(){try{let a=localStorage.getItem(mn);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 tf(e);try{localStorage.setItem(mn,t)}catch{}return t}async function gn(){let e=navigator.userAgent,t=await af();return{userAgent:e,browser:Zd(e),os:Yd(e),deviceType:ef(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}}var sf="x-session-id";function wn(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function dt(e){let{api:t="/api/waniwani",headers:a,body:o,onMessageSent:r,onResponseReceived:s}=e,n=Oe(a),i=Oe(o),l=Oe(void 0),u=Oe(null),[f,d]=Ro(void 0),c=Oe(f),p=Ne(()=>c.current,[]),g=Ne(P=>{let F=wn(P);F&&c.current!==F&&(c.current=F,d(F))},[]),S=Ne(()=>{c.current=void 0,d(void 0)},[]);Da(()=>{n.current=a},[a]),Da(()=>{i.current=o},[o]),Da(()=>{gn().then(P=>{u.current=P}).catch(()=>{})},[]);let L=Oe(new rf({api:t,headers:()=>({...n.current}),body:()=>{let P={...i.current??{}},F=Object.hasOwn(P,"sessionId"),M=wn(P.sessionId);if(M)g(M),P.sessionId=M;else if(F)S(),delete P.sessionId;else{let B=p();B&&(P.sessionId=B)}if(st(l.current)&&(P.modelContext=l.current),u.current){let B=u.current;P.visitorContext={timezone:B.timezone,language:B.language,languages:B.languages,deviceType:B.deviceType,referrer:B.referrer,visitorId:B.visitorId}}return P},fetch:async(P,F)=>{let M=await fetch(P,F);return l.current=void 0,g(M.headers.get(sf)),M}})),m=Oe(null),{messages:w,sendMessage:h,status:x}=of({transport:L.current,onFinish({message:P}){s?.(),m.current&&(m.current.resolve(P),m.current=null)},onError(P){console.warn("[WaniWani] Chat error:",P.message),m.current&&(m.current.reject(P),m.current=null)}}),[C,I]=Ro(""),[y,k]=Ro([]),A=x==="submitted"||x==="streaming",T=Ne(P=>{k(F=>F.filter(M=>M.id!==P))},[]),v=A&&y.length>0,R=Ne(P=>{let F=!!P.text?.trim(),M=!!P.files?.length;if(F||M){if(A){if(y.length>0)return;k(B=>[...B,{id:Kt(),text:P.text||"",files:P.files??[],modelContext:P.modelContext}]),I("");return}l.current=P.modelContext,h({text:P.text||"",files:P.files}),r?.(P.text||""),I("")}},[h,r,A,y.length]),$=Ne(P=>new Promise((F,M)=>{m.current={resolve:F,reject:M},h({text:P}),r?.(P)}),[h,r]);Da(()=>{if(x!=="ready"||y.length===0)return;let[P,...F]=y;k(F),l.current=P.modelContext,h({text:P.text,files:P.files.length>0?P.files:void 0}),r?.(P.text)},[x,h,r,y]);let j=Ne(P=>{I(P.target.value)},[]),H=w[w.length-1],ee=w.length>0,U=A&&(!ee||H.role==="user");return{messages:w,status:x,text:C,setText:I,handleSubmit:R,handleTextChange:j,isLoading:A,showLoaderBubble:U,lastMessage:H,hasMessages:ee,sendMessage:h,sendMessageAndWait:$,queuedMessages:y,queueFull:v,removeQueuedMessage:T,sessionId:f}}import{useEffect as nf,useState as lf}from"react";var uf={debug:!1,eval:!1};function ft(e="/api/waniwani"){let[t,a]=lf(uf);return nf(()=>{(async()=>{try{let r=await(await fetch(`${e}/config`)).json();a({debug:r.debug===!0,eval:r.eval===!0})}catch{}})()},[e]),t}import{useCallback as df,useEffect as Ln,useRef as ff,useState as cf}from"react";function pf(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 xn(e){return typeof e=="object"&&e!==null&&"initial"in e}function ct(e){let{messages:t,status:a,config:o}=e,[r,s]=cf((xn(o)&&o.initial?o.initial:[])??[]),n=ff(a),i=o===!0||xn(o)&&o.dynamic!==!1,l=df(()=>{s([])},[]),u=t[t.length-1];return Ln(()=>{u?.role==="user"&&l()},[u,l]),Ln(()=>{let f=n.current;if(n.current=a,f==="streaming"&&a==="ready"&&i){let d=[...t].reverse().find(p=>p.role==="assistant");if(!d)return;console.log("[WaniWani] Assistant parts:",d.parts);let c=pf(d);console.log("[WaniWani] Extracted suggestions:",c),c&&s(c)}},[a,i,t]),{suggestions:r,isLoading:!1,clear:l}}import{useEffect as mf,useRef as hf,useState as gf}from"react";var wf=50,Lf=30,xf=2e3,Cn=500;function pt(e,t=!0){let[a,o]=gf(""),r=hf(void 0);return mf(()=>{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,Cn)):r.current=setTimeout(l,Lf)):(s++,o(e.slice(0,s)),s>=e.length?(n=!0,r.current=setTimeout(l,xf)):r.current=setTimeout(l,wf)))};return r.current=setTimeout(l,Cn),()=>{i=!0,clearTimeout(r.current)}},[e,t]),a}var In={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"},Cf={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"},If={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 qe(e){return{...In,...e}}function mt(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 He(e){let t={};for(let[a,o]of Object.entries(If)){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 ne,jsxs as Gt}from"react/jsx-runtime";var Do=Sf(function(t,a){let{theme:o,title:r="Assistant",width:s=600,expandedWidth:n,expandedHeight:i=400,allowAttachments:l=!1,welcomeMessage:u,welcome:f,placeholder:d="Ask me anything...",triggerEvent:c="triggerDemoRequest",api:p}=t,g=n??Math.round((typeof s=="number"?s:600)*1.2),S=p??"/api/waniwani",L=`${S}/resource`,m=qe(o),w=He(m),h=mt(m),x=ft(p),C=dt(t),I=ut({...t,sessionId:C.sessionId}),y=ct({messages:C.messages,status:C.status,config:t.suggestions}),k=_a(E=>{let N=E.content.map(Te=>Te.text??"").join("").trim();N&&C.handleSubmit({text:N,files:[],modelContext:E.modelContext})},[C.handleSubmit]),A=_a(E=>{y.clear(),C.handleSubmit({text:E,files:[]})},[y.clear,C.handleSubmit]),T=pt(d,!C.text),[v,R]=Bo(!1),[$,j]=Bo(!1),[H,ee]=Bo(null),U=yn(null),P=yn(void 0),F=_a(()=>{let E=U.current;if(!E)return;E.scrollIntoView({behavior:"smooth",block:"center"});let N=E.querySelector("textarea");N&&setTimeout(()=>N.focus(),300),R(!0),j(!0),clearTimeout(P.current),P.current=setTimeout(()=>j(!1),2e3)},[]);yf(a,()=>({sendMessage:E=>{C.handleSubmit({text:E,files:[]}),F()},sendMessageAndWait:E=>C.sendMessageAndWait(E),focus:F}),[C.handleSubmit,C.sendMessageAndWait,F]),Sn(()=>{if(!c)return;let E=N=>{let Te=N.detail,pe=typeof Te?.message=="string"?Te.message:void 0;pe&&C.handleSubmit({text:pe,files:[]}),F()};return window.addEventListener(c,E),()=>window.removeEventListener(c,E)},[c,C.handleSubmit,F]);let M=v||H!==null;Sn(()=>{if(!v)return;let E=N=>{U.current&&!U.current.contains(N.target)&&R(!1)};return document.addEventListener("mousedown",E),()=>document.removeEventListener("mousedown",E)},[v]);let B=_a(()=>{R(!0)},[]);return Gt("div",{ref:U,style:{...w,width:M?g:s,transition:"width 0.4s cubic-bezier(0.16, 1, 0.3, 1)"},"data-waniwani-chat":"","data-waniwani-layout":"bar",...h?{"data-waniwani-dark":""}:{},className:"ww:flex ww:flex-col ww:font-[family-name:var(--ww-font)] ww:text-foreground",children:[Gt("div",{style:{overflow:"hidden",backgroundColor:m.backgroundColor,borderRadius:"var(--ww-radius) var(--ww-radius) 0 0",maxHeight:M?i+200:0,opacity:M?1:0,transform:M?"scaleX(1)":"scaleX(0.88)",transformOrigin:"center bottom",transition:"max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease-out, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1)"},children:[Gt("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:px-6 ww:py-3",style:{backgroundColor:m.headerBackgroundColor,color:m.headerTextColor},children:[ne("div",{className:"ww:text-sm ww:font-semibold ww:truncate",children:r}),ne(Jt,{messages:C.messages,evalEnabled:x.eval,api:S})]}),Gt(Ve,{className:b("ww:flex-1",H&&"[&>div]:ww:!overflow-hidden"),style:{height:i},children:[ne($e,{children:ne(lt,{messages:C.messages,status:C.status,welcomeMessage:u,welcome:f,onSuggestionSelect:A,resourceEndpoint:L,chatSessionId:C.sessionId,isDark:h,onFollowUp:k,onCallTool:I,fullscreenToolCallId:H,onWidgetDisplayModeChange:(E,N)=>{ee(E==="fullscreen"?N.toolCallId:null)}})}),ne(Xe,{})]}),ne("div",{style:H?{display:"none"}:void 0,children:ne(it,{suggestions:y.suggestions,isLoading:y.isLoading,onSelect:A})}),ne("div",{style:H?{display:"none"}:void 0,children:ne(tt,{queuedMessages:C.queuedMessages,onRemove:C.removeQueuedMessage})})]}),ne("div",{style:{backgroundColor:M?m.backgroundColor:"transparent",borderRadius:M?"0 0 var(--ww-radius) var(--ww-radius)":void 0,boxShadow:M?"0 8px 24px rgba(0,0,0,0.1)":"none",transition:"background-color 0.2s ease, border-radius 0.3s ease, box-shadow 0.35s ease, padding 0.3s ease",padding:M?"8px 16px 16px":"0"},children:ne(Ke,{onSubmit:C.handleSubmit,globalDrop:l,multiple:l,className:b("ww:rounded-2xl ww:border-border ww:bg-input ww:transition-all ww:duration-300",!M&&"ww:shadow-sm",$&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background"),children:Gt("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&ne(Ye,{}),ne(Je,{onChange:C.handleTextChange,value:C.text,placeholder:T,onFocus:B,className:"ww:min-h-0 ww:py-1 ww:px-0"}),ne(Ze,{status:C.status,disabled:C.queueFull})]})})})]})});import{useEffect as kf,useRef as bf,useState as ht}from"react";import{jsx as _,jsxs as le}from"react/jsx-runtime";function Pf(e){return e.parts.filter(t=>t.type==="dynamic-tool"||t.type.startsWith("tool-")).map(t=>t.toolName).filter(Boolean)}function Tf(e){return e.parts.filter(t=>t.type==="text"&&typeof t.text=="string").map(t=>t.text).join("")}function Af(e){return e.parts.filter(t=>t.type==="dynamic-tool"||t.type.startsWith("tool-")).map(t=>t.toolName).filter(Boolean)}function vf(e){return e.parts.filter(t=>t.type==="text").map(t=>t.text).join("")}function kn({pass:e}){return _("span",{className:b("ww:font-mono ww:text-[10px] ww:font-semibold ww:uppercase ww:tracking-wider ww:shrink-0",e===null&&"ww:text-muted-foreground",e===!0&&"ww:text-[#03d916]",e===!1&&"ww:text-red-500"),children:e===null?"SKIP":e?"PASS":"FAIL"})}function Ff({score:e}){let t=Math.round(e*100);return le("div",{className:"ww:space-y-1.5",children:[le("div",{className:"ww:flex ww:items-baseline ww:justify-between",children:[le("span",{className:"ww:text-xs ww:font-mono ww:font-semibold ww:text-foreground",children:[t,"%"]}),_("span",{className:"ww:text-[10px] ww:text-muted-foreground ww:uppercase ww:tracking-wider ww:font-mono",children:e===1?"ALL PASS":"ASSERTIONS"})]}),_("div",{className:"ww:h-1 ww:w-full ww:rounded-full ww:bg-border",children:_("div",{className:b("ww:h-full ww:rounded-full ww:transition-all ww:duration-500 ww:ease-out",e===1?"ww:bg-[#03d916]":e>=.5?"ww:bg-yellow-500":"ww:bg-red-500"),style:{width:`${t}%`}})})]})}function Mf({turn:e,index:t}){let[a,o]=ht(!1),r=e.expectedTools.length===0||e.expectedTools.every(n=>e.toolsCalled.includes(n)),s=e.expectedTools.length>0?r:null;return le("div",{className:b("ww:border-l-2 ww:pl-3",s===null&&"ww:border-muted-foreground/30",s===!0&&"ww:border-[#03d916]",s===!1&&"ww:border-red-500","ww:animate-[ww-fade-in_0.15s_ease-out_both]"),style:{animationDelay:`${t*60}ms`},children:[le("button",{type:"button",onClick:()=>o(n=>!n),className:"ww:w-full ww:flex ww:items-center ww:gap-2 ww:py-1.5 ww:text-left",children:[_("span",{className:b("ww:text-muted-foreground ww:text-[10px] ww:transition-transform ww:duration-150 ww:inline-block",a&&"ww:rotate-90"),children:"\u25B6"}),_("span",{className:"ww:text-xs ww:font-mono ww:text-foreground ww:truncate ww:flex-1",children:e.input}),_(kn,{pass:s})]}),_("div",{className:b("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",a?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:_("div",{className:"ww:min-h-0 ww:overflow-hidden",children:le("div",{className:"ww:pb-2 ww:pt-1 ww:space-y-1 ww:ml-4",children:[e.expectedTools.map(n=>{let i=e.toolsCalled.includes(n);return le("div",{className:"ww:flex ww:items-center ww:gap-2 ww:text-xs",children:[_(kn,{pass:i}),_("span",{className:"ww:font-mono ww:text-foreground/80",children:n}),!i&&e.toolsCalled.length>0&&le("span",{className:"ww:text-muted-foreground ww:font-mono",children:["got [",e.toolsCalled.join(", "),"]"]})]},n)}),e.expectedTools.length===0&&e.toolsCalled.length>0&&le("div",{className:"ww:text-xs ww:text-muted-foreground ww:font-mono",children:["called: ",e.toolsCalled.join(", ")]}),e.output&&_("p",{className:"ww:text-xs ww:text-muted-foreground ww:font-mono ww:line-clamp-2 ww:pt-1 ww:border-t ww:border-border/50",children:e.output})]})})})]})}function Rf({api:e,chatRef:t}){let a=e??"/api/waniwani",[o,r]=ht([]),[s,n]=ht(null),[i,l]=ht(!1),[u,f]=ht(null),[d,c]=ht(null),p=bf(null),g=ft(a);kf(()=>{g.eval&&fetch(`${a}/sessions`).then(m=>m.json()).then(m=>{r(m)}).catch(()=>{})},[a,g.eval]);async function S(m){p.current?.abort(),p.current=new AbortController,l(!0),f(null),c(null);try{let w=[],h=[];for(let I=0;I<m.messages.length;I++){let y=m.messages[I];if(y.role==="user"){let k=m.messages[I+1];h.push({user:y,assistant:k?.role==="assistant"?k:void 0})}}if(!t?.current)throw new Error("EvalPanel requires a chatRef prop pointing to the ChatCard/ChatBar");for(let{user:I,assistant:y}of h){let k=Tf(I),A=y?Pf(y):[],T=await t.current.sendMessageAndWait(k),v=Af(T),R=vf(T);w.push({input:k,toolsCalled:v,expectedTools:A,output:R})}let x=w.flatMap(I=>I.expectedTools.map(y=>I.toolsCalled.includes(y))),C=x.length>0?x.filter(Boolean).length/x.length:1;f({turns:w,score:C})}catch(w){w.name!=="AbortError"&&c(String(w))}finally{l(!1)}}if(!g.eval)return null;function L(){fetch(`${a}/sessions`).then(m=>m.json()).then(m=>{r(m)}).catch(()=>{})}return le("div",{className:"ww:flex ww:flex-col ww:h-full ww:overflow-hidden ww:text-foreground ww:border-l ww:border-border ww:pl-1 ww:min-w-[220px]",children:[le("div",{className:"ww:px-3 ww:py-2 ww:border-b ww:border-border/50 ww:flex ww:items-center ww:justify-between",children:[_("span",{className:"ww:text-[10px] ww:font-mono ww:uppercase ww:tracking-widest ww:text-muted-foreground",children:"Eval"}),_("button",{type:"button",onClick:L,className:"ww:text-muted-foreground ww:hover:text-foreground ww:transition-colors ww:cursor-pointer",title:"Reload sessions",children:le("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img",children:[_("title",{children:"Reload sessions"}),_("path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"}),_("path",{d:"M21 3v5h-5"})]})})]}),_("div",{className:"ww:flex-1 ww:overflow-y-auto ww:min-h-0",children:o.length===0?_("p",{className:"ww:text-xs ww:font-mono ww:text-muted-foreground ww:text-center ww:py-8 ww:px-4",children:"No sessions found"}):o.map(m=>_("button",{type:"button",onClick:()=>{n(m),f(null),c(null)},className:b("ww:w-full ww:text-left ww:px-3 ww:py-2 ww:text-xs ww:font-mono ww:transition-colors ww:border-l-2",s?.name===m.name?"ww:border-[#03d916] ww:bg-[#03d916]/5 ww:text-foreground":"ww:border-transparent ww:text-foreground/70 ww:hover:text-foreground ww:hover:bg-muted/30"),children:_("span",{className:"ww:block ww:truncate",children:m.name})},m.name))}),s&&le("div",{className:"ww:border-t ww:border-border/50 ww:p-3 ww:space-y-3 ww:overflow-y-auto ww:max-h-[60%]",children:[_("button",{type:"button",onClick:()=>S(s),disabled:i,className:"ww:w-full ww:py-2 ww:rounded-md ww:text-xs ww:font-mono ww:font-medium ww:bg-foreground ww:text-background ww:hover:opacity-90 ww:disabled:opacity-50 ww:transition-opacity ww:cursor-pointer",children:i?"Running...":"Run session"}),d&&_("div",{className:"ww:border-l-2 ww:border-red-500 ww:pl-3 ww:py-1",children:_("p",{className:"ww:text-xs ww:font-mono ww:text-red-500",children:d})}),u&&le("div",{className:"ww:space-y-3 ww:animate-[ww-fade-in_0.2s_ease-out_both]",children:[_(Ff,{score:u.score}),_("div",{className:"ww:space-y-1",children:u.turns.map((m,w)=>_(Mf,{turn:m,index:w},w))})]})]})]})}import{forwardRef as Bf,useCallback as _o,useEffect as Df,useImperativeHandle as _f,useRef as bn,useState as Pn}from"react";import{jsx as ae,jsxs as Ea}from"react/jsx-runtime";var Ef=Bf(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:c="triggerDemoRequest",api:p,debug:g}=t,S=p??"/api/waniwani",L=`${S}/resource`,m=qe(o),w=He(m),h=mt(m),x=ft(S),C=g??x.debug,I=dt({...t,api:S}),y=ut({...t,api:S,sessionId:I.sessionId}),k=pt(d,!I.text),[A,T]=Pn(!1),[v,R]=Pn(null),$=bn(null),j=bn(void 0),H=_o(()=>{let F=$.current;if(!F)return;F.scrollIntoView({behavior:"smooth",block:"center"});let M=F.querySelector("textarea");M&&setTimeout(()=>M.focus(),300),T(!0),clearTimeout(j.current),j.current=setTimeout(()=>T(!1),2e3)},[]),ee=ct({messages:I.messages,status:I.status,config:t.suggestions}),U=_o(F=>{let M=F.content.map(B=>B.text??"").join("").trim();M&&I.handleSubmit({text:M,files:[],modelContext:F.modelContext})},[I.handleSubmit]),P=_o(F=>{ee.clear(),I.handleSubmit({text:F,files:[]})},[ee.clear,I.handleSubmit]);return _f(a,()=>({sendMessage:F=>{I.handleSubmit({text:F,files:[]}),H()},sendMessageAndWait:F=>I.sendMessageAndWait(F),focus:H}),[I.handleSubmit,I.sendMessageAndWait,H]),Df(()=>{if(!c)return;let F=M=>{let B=M.detail,E=typeof B?.message=="string"?B.message:void 0;E&&I.handleSubmit({text:E,files:[]}),H()};return window.addEventListener(c,F),()=>window.removeEventListener(c,F)},[c,I.handleSubmit,H]),Ea("div",{ref:$,style:{...w,width:s,height:n},"data-waniwani-chat":"","data-waniwani-layout":"card",...h?{"data-waniwani-dark":""}:{},className:b("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",A&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[Ea("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:px-6 ww:py-3",style:{backgroundColor:m.headerBackgroundColor,color:m.headerTextColor},children:[ae("div",{className:"ww:text-sm ww:font-semibold ww:truncate",children:r}),ae(Jt,{messages:I.messages,evalEnabled:x.eval,api:S})]}),Ea(Ve,{className:b("ww:flex-1 ww:min-h-0 ww:bg-background",v&&"[&>div]:ww:!overflow-hidden"),children:[ae($e,{children:ae(lt,{messages:I.messages,status:I.status,welcomeMessage:u,welcome:f,onSuggestionSelect:P,resourceEndpoint:L,chatSessionId:I.sessionId,isDark:h,onFollowUp:U,onCallTool:y,fullscreenToolCallId:v,debug:C,onWidgetDisplayModeChange:(F,M)=>{R(F==="fullscreen"?M.toolCallId:null)}})}),ae(Xe,{})]}),ae("div",{style:v?{display:"none"}:void 0,children:ae(it,{suggestions:ee.suggestions,isLoading:ee.isLoading,onSelect:P})}),ae("div",{style:v?{display:"none"}:void 0,children:ae(tt,{queuedMessages:I.queuedMessages,onRemove:I.removeQueuedMessage})}),ae("div",{style:v?{display:"none"}:void 0,children:ae("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:ae("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:ae(Ke,{onSubmit:I.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:Ea("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&ae(Ye,{}),ae(Je,{onChange:I.handleTextChange,value:I.text,placeholder:k,className:"ww:min-h-0 ww:py-1 ww:px-0"}),ae(Ze,{status:I.status,disabled:I.queueFull})]})})})})})]})});import{forwardRef as Nf,useCallback as Eo,useEffect as Of,useImperativeHandle as qf,useRef as Hf,useState as Uf}from"react";import{jsx as ie,jsxs as No}from"react/jsx-runtime";var Gf=Nf(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:c=!1}=t,p=qe(o),g=He(p),S=mt(p),L=dt({...t,api:f}),m=ut({...t,api:f,sessionId:L.sessionId,onCallTool:d?.onCallTool}),w=pt(l,!L.text),[h,x]=Uf(null),C=Hf(null),I=Eo(()=>{let T=C.current;if(!T)return;let v=T.querySelector("textarea");v&&v.focus()},[]),y=ct({messages:L.messages,status:L.status,config:t.suggestions}),k=Eo(T=>{let v=T.content.map(R=>R.text??"").join("").trim();v&&L.handleSubmit({text:v,files:[],modelContext:T.modelContext})},[L.handleSubmit]),A=Eo(T=>{y.clear(),L.handleSubmit({text:T,files:[]})},[y.clear,L.handleSubmit]);return qf(a,()=>({sendMessage:T=>{L.handleSubmit({text:T,files:[]}),I()},sendMessageAndWait:T=>L.sendMessageAndWait(T),focus:I}),[L.handleSubmit,L.sendMessageAndWait,I]),Of(()=>{if(!u)return;let T=v=>{let R=v.detail,$=typeof R?.message=="string"?R.message:void 0;$&&L.handleSubmit({text:$,files:[]}),I()};return window.addEventListener(u,T),()=>window.removeEventListener(u,T)},[u,L.handleSubmit,I]),No("div",{ref:C,style:g,"data-waniwani-chat":"","data-waniwani-layout":"embed",...S?{"data-waniwani-dark":""}:{},className:b("ww:flex ww:flex-col ww:w-full ww:h-full ww:font-[family-name:var(--ww-font)] ww:text-foreground ww:bg-background ww:overflow-hidden",r),children:[No(Ve,{className:b("ww:flex-1 ww:min-h-0 ww:bg-background",h&&"[&>div]:ww:!overflow-hidden"),children:[ie($e,{children:ie(lt,{messages:L.messages,status:L.status,welcomeMessage:n,welcome:i,onSuggestionSelect:A,resourceEndpoint:d?.resourceEndpoint,chatSessionId:L.sessionId,isDark:S,onFollowUp:k,onCallTool:m,fullscreenToolCallId:h,debug:c,onWidgetDisplayModeChange:(T,v)=>{x(T==="fullscreen"?v.toolCallId:null)}})}),ie(Xe,{})]}),ie("div",{style:h?{display:"none"}:void 0,children:ie(it,{suggestions:y.suggestions,isLoading:y.isLoading,onSelect:A})}),ie("div",{style:h?{display:"none"}:void 0,children:ie(tt,{queuedMessages:L.queuedMessages,onRemove:L.removeQueuedMessage})}),ie("div",{style:h?{display:"none"}:void 0,children:ie("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:ie("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:ie(Ke,{onSubmit:L.handleSubmit,globalDrop:s,multiple:s,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:No("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[s&&ie(Ye,{}),ie(Je,{onChange:L.handleTextChange,value:L.text,placeholder:w,className:"ww:min-h-0 ww:py-1 ww:px-0"}),ie(Ze,{status:L.status,disabled:L.queueFull})]})})})})})]})});export{Do as ChatBar,Ef as ChatCard,Gf as ChatEmbed,Do as ChatWidget,Cf as DARK_THEME,In as DEFAULT_THEME,Rf as EvalPanel,Mo as McpAppFrame,qe as mergeTheme,He as themeToCSSProperties};
15
+ ${V}`}]}}T.current({...G,...D?{modelContext:D}:{}})}N({jsonrpc:"2.0",id:Q,result:{}});return}if(me==="ui/update-model-context"&&Q!=null){M=un(M,re.params),N({jsonrpc:"2.0",id:Q,result:{}});return}if(me==="tools/call"&&Q!=null){let G=v.current;if(!G){N({jsonrpc:"2.0",id:Q,error:{code:-32601,message:"tools/call not supported"}});return}G({name:re.params?.name,arguments:re.params?.arguments??{}}).then(D=>{N({jsonrpc:"2.0",id:Q,result:D});let V=D.content?.map(oe=>oe.text??"").join("").trim();V&&Wd(D)&&(B&&clearTimeout(B.timer),B={text:V,timer:setTimeout(()=>{if(P)return;let oe=M;M=null,B=null,T.current?.({role:"user",content:[{type:"text",text:V}],...oe?{modelContext:oe}:{}})},500)})}).catch(D=>{let V=D instanceof Error?D.message:"Tool call failed";N({jsonrpc:"2.0",id:Q,error:{code:-32e3,message:V}})});return}if(me==="ui/request-display-mode"&&Q!=null){let G=re.params?.mode,D=G==="fullscreen"||G==="inline"||G==="pip"?G:"inline";x.current=D,N({jsonrpc:"2.0",id:Q,result:{mode:D}}),N({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:D}}),R.current?.(D);return}if(me==="ui/resource-teardown"&&Q!=null){N({jsonrpc:"2.0",id:Q,result:{}});return}me==="ping"&&Q!=null&&N({jsonrpc:"2.0",id:Q,result:{}})};return window.addEventListener("message",Te),()=>{P=!0,clearTimeout(E),B&&clearTimeout(B.timer),window.removeEventListener("message",Te)}},[i,j]),zd("iframe",{ref:p,src:H,sandbox:"allow-scripts allow-forms allow-same-origin",className:b(!c&&"ww:rounded-md ww:border ww:border-border",n),style:{height:c?"100%":C,minWidth:c||!y?void 0:`min(${y}px, 100%)`,width:"100%",border:"none",colorScheme:s?"dark":"auto"},title:"MCP App"})}import{jsx as Ut,jsxs as jd}from"react/jsx-runtime";function cn({icon:e,title:t,description:a,suggestions:o,onSuggestionSelect:r}){return jd("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&&Ut("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}),Ut("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&Ut("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),o&&o.length>0&&Ut("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)=>Ut("button",{type:"button",onClick:()=>r?.(s),className:b("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 Vd}from"react";import{jsx as pn,jsxs as $d}from"react/jsx-runtime";var Ra=class extends Vd{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[WaniWani] Widget failed to render:",t.message)}render(){return this.state.hasError?$d("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:[pn("span",{children:"Widget failed to load"}),pn("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 Qd,jsx as J,jsxs as nt}from"react/jsx-runtime";function Xd(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function lt({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:c}){let p=t==="submitted"||t==="streaming",g=e[e.length-1],S=e.length>0,L=p&&(!S||g.role==="user");return nt(Qd,{children:[!S&&o?J(cn,{...o,onSuggestionSelect:r}):a&&J(va,{from:"assistant",children:J(Fa,{children:J(Ma,{children:a})})}),e.map(m=>{let w=m.parts.filter(k=>k.type==="text"),h=m.parts.filter(k=>k.type==="reasoning"),x=m.parts.filter(k=>k.type==="file"),C=m.parts.filter(k=>"toolCallId"in k),I=m===g&&m.role==="assistant",y=w.length>0;return nt(va,{from:m.role,children:[h.map((k,A)=>J(Ks,{text:k.text},`reasoning-${m.id}-${A}`)),C.map(k=>{let A="output"in k?k.output:void 0,T=A!==void 0?sn(A):void 0,v=A!==void 0?nn(A):!1,R=k.toolCallId===d;return nt("div",{style:R?{position:"absolute",inset:0,zIndex:10}:void 0,children:[J("div",{children:nt(en,{defaultOpen:k.state==="output-available",children:[J(tn,{title:k.title??Xd(k.toolName),state:k.state}),nt(an,{children:[J(on,{input:k.input,debug:c}),A!==void 0&&J(ln,{output:A,errorText:"errorText"in k?k.errorText:void 0,debug:c})]})]})}),T&&s&&A!==void 0&&J(Ra,{children:J(Mo,{isFullscreen:R,resourceUri:T,toolInput:k.input??{},toolResult:{content:A.content,structuredContent:A.structuredContent,_meta:A._meta},resourceEndpoint:s,chatSessionId:n,isDark:i,autoHeight:v,onFollowUp:l,onCallTool:u,onDisplayModeChange:f?$=>f($,{toolCallId:k.toolCallId,resourceUri:T,toolInput:k.input??{},toolResult:{content:A.content,structuredContent:A.structuredContent,_meta:A._meta},autoHeight:v}):void 0})})]},k.toolCallId)}),J("div",{children:nt(Fa,{children:[x.length>0&&J(wr,{files:x}),y?w.map((k,A)=>J(Ma,{children:k.type==="text"?k.text:""},`${m.id}-${A}`)):I&&p&&J($a,{})]})})]},m.id)}),L&&J(va,{from:"assistant",children:J(Fa,{children:J($a,{})})})]})}import{jsx as Ba}from"react/jsx-runtime";function it({suggestions:e,isLoading:t,onSelect:a,className:o,...r}){return e.length===0&&!t?null:Ba("div",{className:b("ww:px-4 ww:py-2",o),...r,children:Ba("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=>Ba("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)=>Ba("button",{type:"button",onClick:()=>a(s),className:b("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{useCallback as Kd,useRef as Jd}from"react";function ut(e){let t=Jd(e);return t.current=e,Kd(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 of}from"@ai-sdk/react";import{DefaultChatTransport as rf}from"ai";import{useCallback as Ne,useEffect as Da,useRef as Oe,useState as Ro}from"react";var mn="waniwani-visitor-id";function hn(e,t){return e.match(t)?.[1]??null}function Zd(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=hn(e,o);if(r)return{name:a,version:r}}return null}function Yd(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=hn(e,o);if(r)return{name:a,version:r.replace(/_/g,".")};if(a==="Linux"&&o.test(e))return{name:a,version:""}}return null}function ef(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 tf(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 af(){try{let a=localStorage.getItem(mn);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 tf(e);try{localStorage.setItem(mn,t)}catch{}return t}async function gn(){let e=navigator.userAgent,t=await af();return{userAgent:e,browser:Zd(e),os:Yd(e),deviceType:ef(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}}var sf="x-session-id";function wn(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function dt(e){let{api:t="/api/waniwani",headers:a,body:o,onMessageSent:r,onResponseReceived:s}=e,n=Oe(a),i=Oe(o),l=Oe(void 0),u=Oe(null),[f,d]=Ro(void 0),c=Oe(f),p=Ne(()=>c.current,[]),g=Ne(P=>{let F=wn(P);F&&c.current!==F&&(c.current=F,d(F))},[]),S=Ne(()=>{c.current=void 0,d(void 0)},[]);Da(()=>{n.current=a},[a]),Da(()=>{i.current=o},[o]),Da(()=>{gn().then(P=>{u.current=P}).catch(()=>{})},[]);let L=Oe(new rf({api:t,headers:()=>({...n.current}),body:()=>{let P={...i.current??{}},F=Object.hasOwn(P,"sessionId"),M=wn(P.sessionId);if(M)g(M),P.sessionId=M;else if(F)S(),delete P.sessionId;else{let B=p();B&&(P.sessionId=B)}if(st(l.current)&&(P.modelContext=l.current),u.current){let B=u.current;P.visitorContext={timezone:B.timezone,language:B.language,languages:B.languages,deviceType:B.deviceType,referrer:B.referrer,visitorId:B.visitorId}}return P},fetch:async(P,F)=>{let M=await fetch(P,F);return l.current=void 0,g(M.headers.get(sf)),M}})),m=Oe(null),{messages:w,sendMessage:h,status:x}=of({transport:L.current,onFinish({message:P}){s?.(),m.current&&(m.current.resolve(P),m.current=null)},onError(P){console.warn("[WaniWani] Chat error:",P.message),m.current&&(m.current.reject(P),m.current=null)}}),[C,I]=Ro(""),[y,k]=Ro([]),A=x==="submitted"||x==="streaming",T=Ne(P=>{k(F=>F.filter(M=>M.id!==P))},[]),v=A&&y.length>0,R=Ne(P=>{let F=!!P.text?.trim(),M=!!P.files?.length;if(F||M){if(A){if(y.length>0)return;k(B=>[...B,{id:Kt(),text:P.text||"",files:P.files??[],modelContext:P.modelContext}]),I("");return}l.current=P.modelContext,h({text:P.text||"",files:P.files}),r?.(P.text||""),I("")}},[h,r,A,y.length]),$=Ne(P=>new Promise((F,M)=>{m.current={resolve:F,reject:M},h({text:P}),r?.(P)}),[h,r]);Da(()=>{if(x!=="ready"||y.length===0)return;let[P,...F]=y;k(F),l.current=P.modelContext,h({text:P.text,files:P.files.length>0?P.files:void 0}),r?.(P.text)},[x,h,r,y]);let j=Ne(P=>{I(P.target.value)},[]),H=w[w.length-1],ee=w.length>0,U=A&&(!ee||H.role==="user");return{messages:w,status:x,text:C,setText:I,handleSubmit:R,handleTextChange:j,isLoading:A,showLoaderBubble:U,lastMessage:H,hasMessages:ee,sendMessage:h,sendMessageAndWait:$,queuedMessages:y,queueFull:v,removeQueuedMessage:T,sessionId:f}}import{useEffect as nf,useState as lf}from"react";var uf={debug:!1,eval:!1};function ft(e="/api/waniwani"){let[t,a]=lf(uf);return nf(()=>{(async()=>{try{let r=await(await fetch(`${e}/config`)).json();a({debug:r.debug===!0,eval:r.eval===!0})}catch{}})()},[e]),t}import{useCallback as df,useEffect as Ln,useRef as ff,useState as cf}from"react";function pf(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 xn(e){return typeof e=="object"&&e!==null&&"initial"in e}function ct(e){let{messages:t,status:a,config:o}=e,[r,s]=cf((xn(o)&&o.initial?o.initial:[])??[]),n=ff(a),i=o===!0||xn(o)&&o.dynamic!==!1,l=df(()=>{s([])},[]),u=t[t.length-1];return Ln(()=>{u?.role==="user"&&l()},[u,l]),Ln(()=>{let f=n.current;if(n.current=a,f==="streaming"&&a==="ready"&&i){let d=[...t].reverse().find(p=>p.role==="assistant");if(!d)return;console.log("[WaniWani] Assistant parts:",d.parts);let c=pf(d);console.log("[WaniWani] Extracted suggestions:",c),c&&s(c)}},[a,i,t]),{suggestions:r,isLoading:!1,clear:l}}import{useEffect as mf,useRef as hf,useState as gf}from"react";var wf=50,Lf=30,xf=2e3,Cn=500;function pt(e,t=!0){let[a,o]=gf(""),r=hf(void 0);return mf(()=>{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,Cn)):r.current=setTimeout(l,Lf)):(s++,o(e.slice(0,s)),s>=e.length?(n=!0,r.current=setTimeout(l,xf)):r.current=setTimeout(l,wf)))};return r.current=setTimeout(l,Cn),()=>{i=!0,clearTimeout(r.current)}},[e,t]),a}var In={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"},Cf={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"},If={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 qe(e){return{...In,...e}}function mt(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 He(e){let t={};for(let[a,o]of Object.entries(If)){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 ne,jsxs as Gt}from"react/jsx-runtime";var Do=Sf(function(t,a){let{theme:o,title:r="Assistant",width:s=600,expandedWidth:n,expandedHeight:i=400,allowAttachments:l=!1,welcomeMessage:u,welcome:f,placeholder:d="Ask me anything...",triggerEvent:c="triggerDemoRequest",api:p}=t,g=n??Math.round((typeof s=="number"?s:600)*1.2),S=p??"/api/waniwani",L=`${S}/resource`,m=qe(o),w=He(m),h=mt(m),x=ft(p),C=dt(t),I=ut({...t,sessionId:C.sessionId}),y=ct({messages:C.messages,status:C.status,config:t.suggestions}),k=_a(E=>{let N=E.content.map(Te=>Te.text??"").join("").trim();N&&C.handleSubmit({text:N,files:[],modelContext:E.modelContext})},[C.handleSubmit]),A=_a(E=>{y.clear(),C.handleSubmit({text:E,files:[]})},[y.clear,C.handleSubmit]),T=pt(d,!C.text),[v,R]=Bo(!1),[$,j]=Bo(!1),[H,ee]=Bo(null),U=yn(null),P=yn(void 0),F=_a(()=>{let E=U.current;if(!E)return;E.scrollIntoView({behavior:"smooth",block:"center"});let N=E.querySelector("textarea");N&&setTimeout(()=>N.focus(),300),R(!0),j(!0),clearTimeout(P.current),P.current=setTimeout(()=>j(!1),2e3)},[]);yf(a,()=>({sendMessage:E=>{C.handleSubmit({text:E,files:[]}),F()},sendMessageAndWait:E=>C.sendMessageAndWait(E),focus:F}),[C.handleSubmit,C.sendMessageAndWait,F]),Sn(()=>{if(!c)return;let E=N=>{let Te=N.detail,pe=typeof Te?.message=="string"?Te.message:void 0;pe&&C.handleSubmit({text:pe,files:[]}),F()};return window.addEventListener(c,E),()=>window.removeEventListener(c,E)},[c,C.handleSubmit,F]);let M=v||H!==null;Sn(()=>{if(!v)return;let E=N=>{U.current&&!U.current.contains(N.target)&&R(!1)};return document.addEventListener("mousedown",E),()=>document.removeEventListener("mousedown",E)},[v]);let B=_a(()=>{R(!0)},[]);return Gt("div",{ref:U,style:{...w,width:M?g:s,transition:"width 0.4s cubic-bezier(0.16, 1, 0.3, 1)"},"data-waniwani-chat":"","data-waniwani-layout":"bar",...h?{"data-waniwani-dark":""}:{},className:"ww:flex ww:flex-col ww:font-[family-name:var(--ww-font)] ww:text-foreground",children:[Gt("div",{style:{overflow:"hidden",backgroundColor:m.backgroundColor,borderRadius:"var(--ww-radius) var(--ww-radius) 0 0",maxHeight:M?i+200:0,opacity:M?1:0,transform:M?"scaleX(1)":"scaleX(0.88)",transformOrigin:"center bottom",transition:"max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease-out, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1)"},children:[Gt("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:px-6 ww:py-3",style:{backgroundColor:m.headerBackgroundColor,color:m.headerTextColor},children:[ne("div",{className:"ww:text-sm ww:font-semibold ww:truncate",children:r}),ne(Jt,{messages:C.messages,evalEnabled:x.eval,api:S})]}),Gt(Ve,{className:b("ww:flex-1",H&&"[&>div]:ww:!overflow-hidden"),style:{height:i},children:[ne($e,{children:ne(lt,{messages:C.messages,status:C.status,welcomeMessage:u,welcome:f,onSuggestionSelect:A,resourceEndpoint:L,chatSessionId:C.sessionId,isDark:h,onFollowUp:k,onCallTool:I,fullscreenToolCallId:H,onWidgetDisplayModeChange:(E,N)=>{ee(E==="fullscreen"?N.toolCallId:null)}})}),ne(Xe,{})]}),ne("div",{style:H?{display:"none"}:void 0,children:ne(it,{suggestions:y.suggestions,isLoading:y.isLoading,onSelect:A})}),ne("div",{style:H?{display:"none"}:void 0,children:ne(tt,{queuedMessages:C.queuedMessages,onRemove:C.removeQueuedMessage})})]}),ne("div",{style:{backgroundColor:M?m.backgroundColor:"transparent",borderRadius:M?"0 0 var(--ww-radius) var(--ww-radius)":void 0,boxShadow:M?"0 8px 24px rgba(0,0,0,0.1)":"none",transition:"background-color 0.2s ease, border-radius 0.3s ease, box-shadow 0.35s ease, padding 0.3s ease",padding:M?"8px 16px 16px":"0"},children:ne(Ke,{onSubmit:C.handleSubmit,globalDrop:l,multiple:l,className:b("ww:rounded-2xl ww:border-border ww:bg-input ww:transition-all ww:duration-300",!M&&"ww:shadow-sm",$&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background"),children:Gt("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&ne(Ye,{}),ne(Je,{onChange:C.handleTextChange,value:C.text,placeholder:T,onFocus:B,className:"ww:min-h-0 ww:py-1 ww:px-0"}),ne(Ze,{status:C.status,disabled:C.queueFull})]})})})]})});import{useEffect as kf,useRef as bf,useState as ht}from"react";import{jsx as _,jsxs as le}from"react/jsx-runtime";function Pf(e){return e.parts.filter(t=>t.type==="dynamic-tool"||t.type.startsWith("tool-")).map(t=>t.toolName).filter(Boolean)}function Tf(e){return e.parts.filter(t=>t.type==="text"&&typeof t.text=="string").map(t=>t.text).join("")}function Af(e){return e.parts.filter(t=>t.type==="dynamic-tool"||t.type.startsWith("tool-")).map(t=>t.toolName).filter(Boolean)}function vf(e){return e.parts.filter(t=>t.type==="text").map(t=>t.text).join("")}function kn({pass:e}){return _("span",{className:b("ww:font-mono ww:text-[10px] ww:font-semibold ww:uppercase ww:tracking-wider ww:shrink-0",e===null&&"ww:text-muted-foreground",e===!0&&"ww:text-[#03d916]",e===!1&&"ww:text-red-500"),children:e===null?"SKIP":e?"PASS":"FAIL"})}function Ff({score:e}){let t=Math.round(e*100);return le("div",{className:"ww:space-y-1.5",children:[le("div",{className:"ww:flex ww:items-baseline ww:justify-between",children:[le("span",{className:"ww:text-xs ww:font-mono ww:font-semibold ww:text-foreground",children:[t,"%"]}),_("span",{className:"ww:text-[10px] ww:text-muted-foreground ww:uppercase ww:tracking-wider ww:font-mono",children:e===1?"ALL PASS":"ASSERTIONS"})]}),_("div",{className:"ww:h-1 ww:w-full ww:rounded-full ww:bg-border",children:_("div",{className:b("ww:h-full ww:rounded-full ww:transition-all ww:duration-500 ww:ease-out",e===1?"ww:bg-[#03d916]":e>=.5?"ww:bg-yellow-500":"ww:bg-red-500"),style:{width:`${t}%`}})})]})}function Mf({turn:e,index:t}){let[a,o]=ht(!1),r=e.expectedTools.length===0||e.expectedTools.every(n=>e.toolsCalled.includes(n)),s=e.expectedTools.length>0?r:null;return le("div",{className:b("ww:border-l-2 ww:pl-3",s===null&&"ww:border-muted-foreground/30",s===!0&&"ww:border-[#03d916]",s===!1&&"ww:border-red-500","ww:animate-[ww-fade-in_0.15s_ease-out_both]"),style:{animationDelay:`${t*60}ms`},children:[le("button",{type:"button",onClick:()=>o(n=>!n),className:"ww:w-full ww:flex ww:items-center ww:gap-2 ww:py-1.5 ww:text-left",children:[_("span",{className:b("ww:text-muted-foreground ww:text-[10px] ww:transition-transform ww:duration-150 ww:inline-block",a&&"ww:rotate-90"),children:"\u25B6"}),_("span",{className:"ww:text-xs ww:font-mono ww:text-foreground ww:truncate ww:flex-1",children:e.input}),_(kn,{pass:s})]}),_("div",{className:b("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",a?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:_("div",{className:"ww:min-h-0 ww:overflow-hidden",children:le("div",{className:"ww:pb-2 ww:pt-1 ww:space-y-1 ww:ml-4",children:[e.expectedTools.map(n=>{let i=e.toolsCalled.includes(n);return le("div",{className:"ww:flex ww:items-center ww:gap-2 ww:text-xs",children:[_(kn,{pass:i}),_("span",{className:"ww:font-mono ww:text-foreground/80",children:n}),!i&&e.toolsCalled.length>0&&le("span",{className:"ww:text-muted-foreground ww:font-mono",children:["got [",e.toolsCalled.join(", "),"]"]})]},n)}),e.expectedTools.length===0&&e.toolsCalled.length>0&&le("div",{className:"ww:text-xs ww:text-muted-foreground ww:font-mono",children:["called: ",e.toolsCalled.join(", ")]}),e.output&&_("p",{className:"ww:text-xs ww:text-muted-foreground ww:font-mono ww:line-clamp-2 ww:pt-1 ww:border-t ww:border-border/50",children:e.output})]})})})]})}function Rf({api:e,chatRef:t}){let a=e??"/api/waniwani",[o,r]=ht([]),[s,n]=ht(null),[i,l]=ht(!1),[u,f]=ht(null),[d,c]=ht(null),p=bf(null),g=ft(a);kf(()=>{g.eval&&fetch(`${a}/sessions`).then(m=>m.json()).then(m=>{r(m)}).catch(()=>{})},[a,g.eval]);async function S(m){p.current?.abort(),p.current=new AbortController,l(!0),f(null),c(null);try{let w=[],h=[];for(let I=0;I<m.messages.length;I++){let y=m.messages[I];if(y.role==="user"){let k=m.messages[I+1];h.push({user:y,assistant:k?.role==="assistant"?k:void 0})}}if(!t?.current)throw new Error("EvalPanel requires a chatRef prop pointing to the ChatCard/ChatBar");for(let{user:I,assistant:y}of h){let k=Tf(I),A=y?Pf(y):[],T=await t.current.sendMessageAndWait(k),v=Af(T),R=vf(T);w.push({input:k,toolsCalled:v,expectedTools:A,output:R})}let x=w.flatMap(I=>I.expectedTools.map(y=>I.toolsCalled.includes(y))),C=x.length>0?x.filter(Boolean).length/x.length:1;f({turns:w,score:C})}catch(w){w.name!=="AbortError"&&c(String(w))}finally{l(!1)}}if(!g.eval)return null;function L(){fetch(`${a}/sessions`).then(m=>m.json()).then(m=>{r(m)}).catch(()=>{})}return le("div",{className:"ww:flex ww:flex-col ww:h-full ww:overflow-hidden ww:text-foreground ww:border-l ww:border-border ww:pl-1 ww:min-w-[220px]",children:[le("div",{className:"ww:px-3 ww:py-2 ww:border-b ww:border-border/50 ww:flex ww:items-center ww:justify-between",children:[_("span",{className:"ww:text-[10px] ww:font-mono ww:uppercase ww:tracking-widest ww:text-muted-foreground",children:"Eval"}),_("button",{type:"button",onClick:L,className:"ww:text-muted-foreground ww:hover:text-foreground ww:transition-colors ww:cursor-pointer",title:"Reload sessions",children:le("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img",children:[_("title",{children:"Reload sessions"}),_("path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"}),_("path",{d:"M21 3v5h-5"})]})})]}),_("div",{className:"ww:flex-1 ww:overflow-y-auto ww:min-h-0",children:o.length===0?_("p",{className:"ww:text-xs ww:font-mono ww:text-muted-foreground ww:text-center ww:py-8 ww:px-4",children:"No sessions found"}):o.map(m=>_("button",{type:"button",onClick:()=>{n(m),f(null),c(null)},className:b("ww:w-full ww:text-left ww:px-3 ww:py-2 ww:text-xs ww:font-mono ww:transition-colors ww:border-l-2",s?.name===m.name?"ww:border-[#03d916] ww:bg-[#03d916]/5 ww:text-foreground":"ww:border-transparent ww:text-foreground/70 ww:hover:text-foreground ww:hover:bg-muted/30"),children:_("span",{className:"ww:block ww:truncate",children:m.name})},m.name))}),s&&le("div",{className:"ww:border-t ww:border-border/50 ww:p-3 ww:space-y-3 ww:overflow-y-auto ww:max-h-[60%]",children:[_("button",{type:"button",onClick:()=>S(s),disabled:i,className:"ww:w-full ww:py-2 ww:rounded-md ww:text-xs ww:font-mono ww:font-medium ww:bg-foreground ww:text-background ww:hover:opacity-90 ww:disabled:opacity-50 ww:transition-opacity ww:cursor-pointer",children:i?"Running...":"Run session"}),d&&_("div",{className:"ww:border-l-2 ww:border-red-500 ww:pl-3 ww:py-1",children:_("p",{className:"ww:text-xs ww:font-mono ww:text-red-500",children:d})}),u&&le("div",{className:"ww:space-y-3 ww:animate-[ww-fade-in_0.2s_ease-out_both]",children:[_(Ff,{score:u.score}),_("div",{className:"ww:space-y-1",children:u.turns.map((m,w)=>_(Mf,{turn:m,index:w},w))})]})]})]})}import{forwardRef as Bf,useCallback as _o,useEffect as Df,useImperativeHandle as _f,useRef as bn,useState as Pn}from"react";import{jsx as ae,jsxs as Ea}from"react/jsx-runtime";var Ef=Bf(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:c="triggerDemoRequest",api:p,debug:g}=t,S=p??"/api/waniwani",L=`${S}/resource`,m=qe(o),w=He(m),h=mt(m),x=ft(S),C=g??x.debug,I=dt({...t,api:S}),y=ut({...t,api:S,sessionId:I.sessionId}),k=pt(d,!I.text),[A,T]=Pn(!1),[v,R]=Pn(null),$=bn(null),j=bn(void 0),H=_o(()=>{let F=$.current;if(!F)return;F.scrollIntoView({behavior:"smooth",block:"center"});let M=F.querySelector("textarea");M&&setTimeout(()=>M.focus(),300),T(!0),clearTimeout(j.current),j.current=setTimeout(()=>T(!1),2e3)},[]),ee=ct({messages:I.messages,status:I.status,config:t.suggestions}),U=_o(F=>{let M=F.content.map(B=>B.text??"").join("").trim();M&&I.handleSubmit({text:M,files:[],modelContext:F.modelContext})},[I.handleSubmit]),P=_o(F=>{ee.clear(),I.handleSubmit({text:F,files:[]})},[ee.clear,I.handleSubmit]);return _f(a,()=>({sendMessage:F=>{I.handleSubmit({text:F,files:[]}),H()},sendMessageAndWait:F=>I.sendMessageAndWait(F),focus:H}),[I.handleSubmit,I.sendMessageAndWait,H]),Df(()=>{if(!c)return;let F=M=>{let B=M.detail,E=typeof B?.message=="string"?B.message:void 0;E&&I.handleSubmit({text:E,files:[]}),H()};return window.addEventListener(c,F),()=>window.removeEventListener(c,F)},[c,I.handleSubmit,H]),Ea("div",{ref:$,style:{...w,width:s,height:n},"data-waniwani-chat":"","data-waniwani-layout":"card",...h?{"data-waniwani-dark":""}:{},className:b("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",A&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[Ea("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:px-6 ww:py-3",style:{backgroundColor:m.headerBackgroundColor,color:m.headerTextColor},children:[ae("div",{className:"ww:text-sm ww:font-semibold ww:truncate",children:r}),ae(Jt,{messages:I.messages,evalEnabled:x.eval,api:S})]}),Ea(Ve,{className:b("ww:flex-1 ww:min-h-0 ww:bg-background",v&&"[&>div]:ww:!overflow-hidden"),children:[ae($e,{children:ae(lt,{messages:I.messages,status:I.status,welcomeMessage:u,welcome:f,onSuggestionSelect:P,resourceEndpoint:L,chatSessionId:I.sessionId,isDark:h,onFollowUp:U,onCallTool:y,fullscreenToolCallId:v,debug:C,onWidgetDisplayModeChange:(F,M)=>{R(F==="fullscreen"?M.toolCallId:null)}})}),ae(Xe,{})]}),ae("div",{style:v?{display:"none"}:void 0,children:ae(it,{suggestions:ee.suggestions,isLoading:ee.isLoading,onSelect:P})}),ae("div",{style:v?{display:"none"}:void 0,children:ae(tt,{queuedMessages:I.queuedMessages,onRemove:I.removeQueuedMessage})}),ae("div",{style:v?{display:"none"}:void 0,children:ae("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:ae("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:ae(Ke,{onSubmit:I.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:Ea("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&ae(Ye,{}),ae(Je,{onChange:I.handleTextChange,value:I.text,placeholder:k,className:"ww:min-h-0 ww:py-1 ww:px-0"}),ae(Ze,{status:I.status,disabled:I.queueFull})]})})})})})]})});import{forwardRef as Nf,useCallback as Eo,useEffect as Of,useImperativeHandle as qf,useRef as Hf,useState as Uf}from"react";import{jsx as ie,jsxs as No}from"react/jsx-runtime";var Gf=Nf(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:c=!1}=t,p=qe(o),g=He(p),S=mt(p),L=dt({...t,api:f}),m=ut({...t,api:f,sessionId:L.sessionId,onCallTool:d?.onCallTool}),w=pt(l,!L.text),[h,x]=Uf(null),C=Hf(null),I=Eo(()=>{let T=C.current;if(!T)return;let v=T.querySelector("textarea");v&&v.focus()},[]),y=ct({messages:L.messages,status:L.status,config:t.suggestions}),k=Eo(T=>{let v=T.content.map(R=>R.text??"").join("").trim();v&&L.handleSubmit({text:v,files:[],modelContext:T.modelContext})},[L.handleSubmit]),A=Eo(T=>{y.clear(),L.handleSubmit({text:T,files:[]})},[y.clear,L.handleSubmit]);return qf(a,()=>({sendMessage:T=>{L.handleSubmit({text:T,files:[]}),I()},sendMessageAndWait:T=>L.sendMessageAndWait(T),focus:I}),[L.handleSubmit,L.sendMessageAndWait,I]),Of(()=>{if(!u)return;let T=v=>{let R=v.detail,$=typeof R?.message=="string"?R.message:void 0;$&&L.handleSubmit({text:$,files:[]}),I()};return window.addEventListener(u,T),()=>window.removeEventListener(u,T)},[u,L.handleSubmit,I]),No("div",{ref:C,style:g,"data-waniwani-chat":"","data-waniwani-layout":"embed",...S?{"data-waniwani-dark":""}:{},className:b("ww:flex ww:flex-col ww:w-full ww:h-full ww:font-[family-name:var(--ww-font)] ww:text-foreground ww:bg-background ww:overflow-hidden",r),children:[No(Ve,{className:b("ww:flex-1 ww:min-h-0 ww:bg-background",h&&"[&>div]:ww:!overflow-hidden"),children:[ie($e,{children:ie(lt,{messages:L.messages,status:L.status,welcomeMessage:n,welcome:i,onSuggestionSelect:A,resourceEndpoint:d?.resourceEndpoint,chatSessionId:L.sessionId,isDark:S,onFollowUp:k,onCallTool:m,fullscreenToolCallId:h,debug:c,onWidgetDisplayModeChange:(T,v)=>{x(T==="fullscreen"?v.toolCallId:null)}})}),ie(Xe,{})]}),ie("div",{style:h?{display:"none"}:void 0,children:ie(it,{suggestions:y.suggestions,isLoading:y.isLoading,onSelect:A})}),ie("div",{style:h?{display:"none"}:void 0,children:ie(tt,{queuedMessages:L.queuedMessages,onRemove:L.removeQueuedMessage})}),ie("div",{style:h?{display:"none"}:void 0,children:ie("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:ie("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:ie(Ke,{onSubmit:L.handleSubmit,globalDrop:s,multiple:s,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:No("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[s&&ie(Ye,{}),ie(Je,{onChange:L.handleTextChange,value:L.text,placeholder:w,className:"ww:min-h-0 ww:py-1 ww:px-0"}),ie(Ze,{status:L.status,disabled:L.queueFull})]})})})})})]})});export{Do as ChatBar,Ef as ChatCard,Gf as ChatEmbed,Do as ChatWidget,Cf as DARK_THEME,In as DEFAULT_THEME,Rf as EvalPanel,Mo as McpAppFrame,qe as mergeTheme,He as themeToCSSProperties};
16
16
  /*! Bundled license information:
17
17
 
18
18
  lucide-react/dist/esm/shared/src/utils/mergeClasses.js: