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